Сокращает текст, оставляя основные моменты
Описание
Модель Суммаризатор - онлайн-инструмент, который сокращает текст, оставляя основные моменты. Суммаризатор решает задачу суммирования текста и работает с последовательностями разной длины и доменов. Например, нами тестировались тексты новостей, художественной литературы, комментарии из соц сетей.
Суммаризатор был обучен с помощью ruT5 на текстах разной длины, из различных новостных источников.
Характеристики:
- Размер файлов: 2.95 GB
- Модель GPU: V 100
- Фреймворк: pytorch
- Tags: summarizer, summarization, ruT5, pytorch, natural language generation, NLP
- Формат: checkpoint
- Версия: 0.1
Работа с API (Инструкция по использованию)
Воспользуйтесь кнопкой Подключить и перейдите в swagger сервиса.
Модель умеет суммировать переданный текст. На вход подается оригинальный текст с настраиваемыми параметрами генерации, суммаризатор генерирует кандидатов, выбирает из них лучшего и возвращает финальный сокращенный текст.
Входные параметры инференса:
`text` - оригинальный текст для суммирования
`num_return_sequences` - кол-во примеров, из которых выбирается лучший финальный текст. Дефолтное значение 5.
`num_beams` - параметр генерации текста num_beams. Дефолтное значение 7.
`no_repeat_ngram_size` - параметр генерации текста no_repeat_ngram_size - все ngrams такого размера могут встречаться только один раз. Дефолтное значение 5.
`repetition_penalty` - параметр генерации текста repetition_penalty, используется в качестве штрафа за слова, которые уже были сгенерированы. Дефолтное значение 2.0.
`length_penalty` - параметр генерации текста length_penalty - экспоненциальный штраф к длине. Дефолтное значение 2.0
`top_k` - параметр top_k текста для генерации. Дефолтное значение 30
`top_p` - параметр top_p текста для генерации. Дефолтное значение 0.95
`genstrategy` - параметр переключения между стратегиями генерации (0 — для beam search, 1 — для sampling). Дефолтное значение 0
Выходные параметры инференса. Возвращается словарь со следующими полями:
`comment` - комментарий ("Ok", если суммаризация прошла успешно)
`origin` - оригинальный текст
`predictions` - сокращенный текст.
Примеры:
model.predict({"instances": [{
"text": "Так вот, запись этой песни и голос Веги были настолько чистыми, что их использовали для усовершенствования алгоритма сжатия MP3. Один из разработчиков формата MP3 брал эту песню для тестирования своего алгоритма, слушая ее снова и снова, и все лучше настраивал алгоритм для более точной передачи голоса Веги. Можно даже сказать, что в некоторой степени алгоритм MP3 специально настроен на песню «Tom’s Diner».",
"num_beams": 5,
"num_return_sequences": 3,
"length_penalty": 0.5
}]
})
Результат:
{
"comment": "Ok",
"origin": "Так вот, запись этой песни и голос Веги были настолько чистыми, что их использовали для усовершенствования алгоритма сжатия MP3. Один из разработчиков формата MP3 брал эту песню для тестирования своего алгоритма, слушая ее снова и снова, и все лучше настраивал алгоритм для более точной передачи голоса Веги. Можно даже сказать, что в некоторой степени алгоритм MP3 специально настроен на песню «Tom’s Diner».",
"predictions": "Запись этой песни и голос Веги были настолько чистыми, что их использовали для усовершенствования алгоритма сжатия MP3. Один из разработчиков формата MP3 брал эту песню для тестирования своего алгоритма, слушая ее снова и снова, и все лучше настраивал алгоритм для более точной передачи голоса Веги. Можно даже сказать, что в некоторой степени алгоритм MP3 специально настроен на песню Tom's Diner."
}
model.predict({"instances":[{
"text": "Если гриль в вашей духовке расположен внизу.",
"num_return_sequences": 2
}]
})
Результат:
{
"comment": "Your text is too short. Try again with another example.",
"origin": "Если гриль в вашей духовке расположен внизу.",
"predictions": "Если гриль в вашей духовке расположен внизу."
}
Метрики
Текущие решение было оценено автоматическими метриками и получена человеческая оценка на Толоке по каждому из доменов. Ниже представлены цифры по следующим метрикам:
Bert score
- средняя оценка по всем текстам метрики BertScore.
Mean Rouge
- средняя оценка по всем текстам метрики ROUGE(ROUGE-L).
Mean Bleu
- средняя оценка по всем текстам метрики BLEU(BLEU-1).
Grammar
- оценка пользователей Толоки, процент сгенерированных текстов без ошибок (орфография, пунктуация, согласование).
Meaning
- оценка пользователей Толоки, процент сгенерированных текстов, в которых смысл текста передан верно.
Coherent
- оценка пользователей Толоки, процент связности фактов в тексте.
Reviews
BERTscore 85.21
ROUGE-L 70.19
BLEU 37.93
Grammar 93.63
Meaning 54.18
Coherent 89.64
Literature
BERTscore 77.56
ROUGE-L 39.3
BLEU 1.77
Grammar 99.49
Meaning 78.98
Coherent 95.76
SocMedia
BERTscore 75.93
ROUGE-L 35.8
BLEU 1.58
Grammar 88.27
Meaning 34.08
Coherent 88.83
News
BERTscore 74.53
ROUGE-L 30.28
BLEU 0.51
Grammar 98.96
Meaning 54.98
Coherent 90.46
Полезные ссылки
- Статья от разработчиков сервиса о практическом применении генеративных моделей и создании "Суммаризатора"
- Статья про тестирование моделей от контент-менеджера "Меня скоро заменит AI. Почему это офигенно?"
Дисклеймер
При использовании демо суммаризатора на базе модели ruT5 Large ответы формируются на автоматической основе. ООО «Облачные технологии» не несет ответственности за точность, релевантность, корректность информации, полученной пользователем посредством данного демо.
Лицензирование
Модель ruT5 Large, на основе которой сделан сервис, и ее исходный код поставляются на основе открытой лицензии Apache 2.0