Поиск
Суммаризатор-image

Суммаризатор

Сокращает текст, оставляя основные моменты

Лицензия

Apache 2.0

Размер файлов

2.95 GB

Версия

0.1

Описание

Модель Суммаризатор - онлайн-инструмент, который сокращает текст, оставляя основные моменты. Инструмент работает с последовательностями разной длины и доменов. Например, нами тестировались тексты новостей, художественной литературы, комментарии из соц сетей.

Суммаризатор был обучен с помощью ruT5-large на текстах разной длины из различных новостных источников.

Характеристики:

  • Размер файлов: 6,5 GB
  • Модель GPU: V 100
  • Фреймворк: pytorch
  • Tags: summarizer, summarization, ruT5, pytorch, natural language generation, NLP
  • Формат: checkpoint
  • Версия: 0.2

Ограничения

Модель корректно обрабатывает тексты с длиной менее 20 тысяч символов.

Возможные решения для больших текстов - бить на куски поменьше либо в генерации уменьшить параметр num_beams (при режиме beamsearch) или num_return_sequences (при режиме sampling).

Работа с API (Инструкция по использованию)

Воспользуйтесь кнопкой Подключить и перейдите в swagger сервиса.

Модель умеет сокращать переданный текст. На вход подается оригинальный текст с настраиваемыми параметрами генерации статья о том, как задавать параметры, суммаризатор генерирует кандидатов, выбирает из них лучшего и возвращает финальный сокращенный текст.

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

`text` - оригинальный текст для суммирования.
`num_return_sequences` - кол-во примеров, из которых выбирается лучший финальный текст. Дефолтное значение 6.
`num_beams` - параметр генерации текста num_beams. Дефолтное значение 5.
`no_repeat_ngram_size` - параметр генерации текста no_repeat_ngram_size - все ngrams такого размера могут встречаться только один раз. Дефолтное значение 3.
`repetition_penalty` - параметр генерации текста repetition_penalty, используется в качестве штрафа за слова, которые уже были сгенерированы. Дефолтное значение 2.0.
`length_penalty` - параметр генерации текста length_penalty - экспоненциальный штраф к длине.  Дефолтное значение 2.0.

`top_k`- параметр top_k текста для генерации. Дефолтное значение 50.
`top_p` - параметр top_p текста для генерации. Дефолтное значение 0.9.
`temperature` - параметр temperature текста для генерации. Дефолтное значение 0.95.

`genstrategy` - параметр переключения между стратегиями генерации (“beamsearch” или “sampling”). Дефолтное значение beamsearch.

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

`comment` - комментарий ("Ok", если суммаризация прошла успешно, иначе - текст ошибки)

`origin` - оригинальный текст

`predictions` - варианты сокращенного текста

`prediction_best` - лучший вариант сокращенного текста по метрике bertscore.

Примеры:

model.predict({"instances": [{
	"text": "Так вот, запись этой песни и голос Веги были настолько чистыми, что их использовали для усовершенствования алгоритма сжатия MP3. Один из разработчиков формата MP3 брал эту песню для тестирования своего алгоритма, слушая ее снова и снова, и все лучше настраивал алгоритм для более точной передачи голоса Веги. Можно даже сказать, что в некоторой степени алгоритм MP3 специально настроен на песню «Tom’s Diner».",
	"num_beams": 5,
	"length_penalty": 1.0
	}]
})

Результат:
{
  "comment": "Ok",
  "origin": "Так вот, запись этой песни и голос Веги были настолько чистыми, что их использовали для усовершенствования алгоритма сжатия MP3. Один из разработчиков формата MP3 брал эту песню для тестирования своего алгоритма, слушая ее снова и снова, и все лучше настраивал алгоритм для более точной передачи голоса Веги. Можно даже сказать, что в некоторой степени алгоритм MP3 специально настроен на песню «Tom’s Diner».",
  "predictions": ['«Tom s Diner» — одна из самых чистых песен в истории MP3.',
   '«Tom s Diner» — одна из самых чистых песен в истории сжатия MP3.'],
  "prediction_best": {'bertscore': '«Tom s Diner» — одна из самых чистых песен в истории MP3.'}
}
model.predict({"instances":[{
	"text": "Если гриль в вашей духовке расположен внизу.",
	"num_return_sequences": 2
	}]
})

Результат:
{
  "comment": "Ваш текст слишком короткий!",
  "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

Обратная связь

Круглосуточная поддержка по телефону 8 800 444-24-99, почте support@cloud.ru и в Telegram