product
iconAI-сервис
Рерайтер PRO

Платная версия общедоменного рерайтера

Лицензия
Apache 2.0
Размер файлов
8 GB
Версия
1.0
Категории
рерайтпарафразNLPruT5pytorchrewriternaturallanguagegenerationstyle-transfer
Разработчик
SberDevices, AGI NLP
Контакты
gpt3support@sber.ru
Описание

Возможности

Рерайтер PRO переписывает текст другими словами, сохраняя смысл исходного текста. В отличие от более простых моделей перефразирования, Рерайтер PRO решает эту задачу на уровне текста целиком, а не отдельными предложениями, и может работать с текстами произвольной длины.

Рерайтер PRO обучен на основе генеративной модели ruT5-large и представляет собой не одну модель, а целый комплекс систем, позволяющий значительно повысить качество генерации и привносящий ряд новых возможностей. Для обучения использовались как готовые открытые наборы данных (отфильтрованные TaPaCo, ParaPhraser Plus), так и данные, специально собранные semi-supervised методами, из разговорных текстов, отзывов, художественной литературы, научных публикаций и т.д.

Преимущества новой версии

Качество генерации

Генеративные модели в общем случае склонны к искажению фактов, дегенерации и галлюцинациям. В отличии от предыдущих версий, Рерайтер PRO содержит многоуровневую логику для улучшения качества итогового текста:

  • Генерация кандидатов. На первом этапе модель генерирует не один, а сразу несколько возможных вариантов перефразирования. Мы значительно расширили наборы обучающих данных, включив в них тексты из таких доменов как: научный, юридический, технический, публицистический, рекламный, художественный, разговорный. Таким образом, Рерайтер PRO теперь знаком с особенностями стилистики и со специальной терминологией во всех этих областях.
  • Проверка фактов. После чего дополнительная модель проверки фактов позволяет обнаружить варианты, в которых есть логические несоответствия, и не предлагать их пользователю.
  • Ранжирование кандидатов. На третьем этапе отфильтрованный список кандидатов с помощью еще одной модели сортируется по качеству текста. Пользователю предлагается вариант, признанный по итогу лучшим. Сортировку по качеству можно производить одним из двух методов на выбор: BertScore (по умолчанию) или DepthScore.

Новые возможности

  • Style-transfer. Новая, дискриминативная, модель GeDi, включенная в Рерайтер PRO позволяет при перефразировании дополнительно изменять тон текста в сторону более позитивного или более негативного. Степень этих изменений можно регулировать с помощью отдельного параметра.
  • Batch-обработка. Позволяет ускорить преобразование большого количества текстов за счет подачи их в API пакетами по несколько штук и параллельной обработки на GPU.
  • Уровень перефразирования. Позволяет выбрать, трансформировать текст целиком или отдельными предложениями. В первом случае модель получает больше свободы в обращении с текстом, и может выдавать более разнообразные варианты. Во втором остается ближе к исходному тексту.
  • Расширенное управление генерацией. В версии Рерайтер PRO предоставлен прямой доступ к генеративной модели и к большому количеству параметров генерации, сходных с теми, которые доступны в интерфейсе HuggingFace.

Статьи и выступления

Примеры работы

Обычный рерайт

 

На входеОперацияНа выходе
Глава МИД Австралии не видит в России и Китае военной угрозы для страны.REWRITE (уровень предложения)Глава МИД Австралии заявил, что Россия и Китай не представляют собой военной угрозы для страны.
В российском «Университете 20.35» тестируют систему поиска наилучшего места работы. Так пишут «Известия». Алгоритм предложит интересные и высокооплачиваемые вакансии, отсортировав данные рынка труда и наложив их на личные особенности человека. Что учитывает сервис? Привычки и ценности тестируемого, его нормы морали и этики. А также «универсальные компетенции», пример которых привёл Андрей Комиссаров, разработчик.REWRITE (уровень текста)В российском Университете 20.35» тестируют систему поиска лучших мест работы. Это пишет газета Известия. Алгоритм предложит интересные и высокооплачиваемые вакансии, отсортировав данные рынка труда и наложив их на личные качества человека. Что учитывает сервис? Привычки и ценности тестируемого, его нормы морали и этики, а также универсальные компетенции, пример которых приводит Андрей Комиссаров, разработчик.

Рерайт с переносом стиля

 

На входеОперацияНа выходе
Вещь нормальная, швы крепкие, бусины не отрываются, ткань одна понравилась, другая показалась менее надежной, зато размер точь-в-точь как указан в таблице.POSITIVEОтличная вещь, швы крепкие, бусинки не отрываются, ткань одна понравилась, а другая — менее крепкая, зато размер точно как указано в таблице.
Произошла не очень хорошая ситуация: мои документы потерялись, и мне пришлось заново подавать их в университет.NEGATIVEПроизошла ужаснейшая история, когда мои документы не были приняты в университет.

Метрики

Смысл и оригинальность полученного текста

Качество работы моделей проверяют и сравнивают с помощью автоматических метрик. Такая проверка выполняется на тестовом сете: отдельно собранном наборе данных, репрезентативном для разных доменов и длин текстов, который модели не видели в процессе обучения.  

Модель метрикаbleurouge-1rouge-2rouge-lbertscorelabse_scoremeteorchrf
Рерайтер PRO с ранжировщиком DepthScore15.040.3930.170.3360.8050.8620.3946
Рерайтер PRO с ранжировщиком BertScore14.60.390.140.3350.8040.860.3845.45
Рерайтер PRO без проверки фактов и ранжирования12.90.3540.150.3120.780.830.3442.7
Рерайтер Free11.30.330.130.2820.7770.8170.32641.09

Скорость работы

Усредненная скорость обработки 1000 символов при разных конфигурациях, в секундах. Без применения пакетной обработки (batching).

Задача / ранжировщикBertScoreDepthScore
Текст целиком2.3 сек20 сек
По предложениям5 сек-

Максимальный размер запроса

Суммарное ограничение длины одного запроса в символах. При использовании пакетной обработки (batching), оно делится на все строки в запросе.

Задача ранжировщикBertScoreDepthScore
Обычный рерайт30.000 симв.10.000 симв.
Рерайт с переносом стиля~300 симв.-

Инструкция по использованию

Endpoint для обычного рерайта — predict

Входные параметры:

`text` - оригинальный текст для переписывания (обязательный параметр)
 
`gen_mode` - выбор режима генерации (по умолчанию `best`)
          `best` - обрабатывать текст целиком. использовать проверку
          фактов, ранжирование, а также параметры генерации, подобранные
          разработчиками. для изменения доступны только параметры
          сэмплирования. 

          `sentences` - обрабатывать текст отдельными предложениями.
          использовать проверку фактов, ранжирование и параметры генерации,
          подобранные разработчиками. из параметров генерации доступны для
          изменения только параметры сэмплирования. выбор ранжировщика
          не доступен, применяется BertScore. 

          `user` - отключить проверку фактов и ранжирование. можно
          произвольно установить любые параметры генерации.

`scorer` - выбор ранжировщика (только для режима `best`)
          `bertscore` - BertScore (более быстрый, по умолчанию)
          `depth` - DepthScore

дополнительные параметры генерации
(стандартные для huggingface):

`num_return_sequences` - количество генераций, из которых
          выбирается лучший рерайт (по умолчанию 5)
`do_sample` - использование сэмплинга (по умолчанию sampling)
`temperature` - температура сэмплирования (по умолчанию 0.95)
`top_k` - top_k для сэмплирования (по умолчанию 50)
`top_p` - top_p для сэмплирования (по умолчанию 0.90)
`num_beams` - количество лучей для beam search (по умолчанию 5)
`no_repeat_ngram_size` - размер ngrams, которые не должны
          встречаться больше одного раза при генерации (по умолчанию 2)
`repetition_penalty` - штраф за повторные реплики (по умолчанию 1.5)

Пример запроса:

{
  "instances": [{"text": text, "gen_mode": "best"}]
}

Пример ответа:

{'comment': ['Фильтры пройдены.'], 'origin': ['привет, скажи гороскоп для девы'], 'prediction_best': ['Привет, скажи гороскоп для девы.'], 'predictions_all': [['Привет, скажи гороскоп для девушки.', 'Привет, скажи гороскоп для девы.', 'Привет, привет, скажи гороскоп для девы.']]}

Для объединения нескольких запросов в пакет (batching):

{"instances":
    [{"text": "....", "top_p": 0.7}, {"text": ... }, {"text": ...}]
}

`text` - оригинальный текст для переписывания, должен содержаться
в каждом элементе запроса.

Параметры генерации можно указать только в первом элементе запроса,
они будут также применены и ко всем последующим элементам.

Формат ответа при пакетном запросе:

`origin` - List[str] оригинальные тексты
`predictions_all` - List[List[str]] массив всех перефразированных текстов
`prediction_best` - List[str] лучшие варианты генерации

Endpoint **для рерайта с переносом стиля — explain

Входные параметры:

{"instances":
    [{"text": "....", "gedi_logit_coef": 10, "style": "negative"}]
}

`text` - оригинальный текст для переписывания
`gedi_logit_coef` - сила изменения стиля: от 0 (без изменений)
	до 20 (сильное изменение). По умолчанию 10.
`style` - Выбор стиля: `positive`, `negative`. По умолчанию `positive`.
`top_p_gedi` - top_p параметр для стилевого трансфера. По умолчанию 0.8
`top_k_gedi` - top_k параметр для стилевого трансфера. По умолчанию 50
`temperature_gedi` - температура для стилевого трансфера. По умолчанию 0.95

В ответ возвращается словарь со следующими полями:

`origin` - оригинальный текст
`predictions_all` - все удачные перефразированные варианты
`prediction_best` – лучший сгенерированный вариант в режиме `best`

Обратите внимание:

💡 Рерайт с изменением стиля работает на уровне предложений, не текстов. Проверка фактов не используется. Доступен только ранжировщик BertScore. Батчинг не предусмотрен, обработка только по одному тексту.

Условия лицензирования

Базовая модель ruT5-large, на основе которой сделан сервис, и её исходный код поставляются по открытой лицензии Apache 2.0. Рерайтер PRO является проприетарной разработкой, для его использования необходимо заключить договор с ML Space / SberCloud.

Контактная информация

По вопросам, связанным с работой и применением модели можно обращаться к менеджеру продукта: Павел Лебедев PIgLebedev@sberbank.ru