add dataset
This commit is contained in:
@@ -39,6 +39,7 @@ class ParaphraseGenerator:
|
||||
f'Перефразируй следующий текст, сохранив все именованные сущности "{', '.join(entity for entity in entities)}" в точности такими же, как в оригинале. '
|
||||
'Не изменяй эти фрагменты текста, не заменяй их синонимами, не переставляй слова внутри них. '
|
||||
'Можешь изменять грамматическую структуру предложения, порядок слов, использовать синонимы для'
|
||||
f'остальных частей текста, но именованные сущности должны остаться неизменными. Исходный текст: "{srcText}"'
|
||||
f'остальных частей текста, но именованные сущности должны остаться неизменными.'
|
||||
f'Исходный текст: "{srcText}". Выводи только сгенерированный текст.'
|
||||
)
|
||||
return self.generateByPrompt(prompt)
|
||||
|
||||
@@ -56,14 +56,13 @@ def validator(srcText, paraphrase, srcEntities, paraEntities):
|
||||
"""
|
||||
ce = compare_entities(srcEntities, paraEntities)
|
||||
if ce[0]:
|
||||
print(f'ПАРАФРАЗИРОВАННЫЕ СУЩНОСТИ ~> {paraEntities}')
|
||||
return paraphrase # если всё нормально, возвращаем текст в неизменном виде
|
||||
|
||||
print(f'Произошла потеря сущностей!')
|
||||
print(f'Исходные сущности: {srcEntities}')
|
||||
print(f'Сгенерируемые сущности: {paraEntities}')
|
||||
print(f'Потеря сущностей: {ce[1]}')
|
||||
# даём 5 попыток на восстановление
|
||||
for i in range(5):
|
||||
print(f'ПОТЕРЯННЫЕ СУЩНОСТИ ~> {ce[1]}')
|
||||
print(f'ПОПЫТКА ВОССТАНОВЛЕНИЯ ~> {i+1}')
|
||||
regen_prompt = (
|
||||
f'При перефразировании текста "{srcText}" из списка элементов "{', '.join(entity for entity in srcEntities)}"'
|
||||
f'были утеряны или изменены следующие важные элементы: "{', '.join(e for e in ce[1])}". '
|
||||
@@ -72,14 +71,7 @@ def validator(srcText, paraphrase, srcEntities, paraEntities):
|
||||
newParaphrase = pg.generateByPrompt(regen_prompt)
|
||||
paraEntities = ner.extract_entities(newParaphrase)
|
||||
ce = compare_entities(srcEntities, paraEntities)
|
||||
print(f'Попытка восстановления: {i+1}')
|
||||
print(f'Исходные сущности: {srcEntities}')
|
||||
print(f'Сгенерируемые сущности: {paraEntities}')
|
||||
print(f'Потеря сущностей: {ce[1]}')
|
||||
if (ce[0]): # если сравнение дало True, выходим из цикла
|
||||
print(f'ПАРАФРАЗИРОВАННЫЕ СУЩНОСТИ ~> {paraEntities}')
|
||||
return newParaphrase
|
||||
return None
|
||||
|
||||
# a = set(['a','b', 'c', 'd'])
|
||||
# b = set(['a','b'])
|
||||
# validator('123', '123', a, b)
|
||||
|
||||
Reference in New Issue
Block a user