AI-сервис
Суммаризатор

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

Лицензия
Apache 2.0
Размер файлов
2.95 GB
Версия
0.1
Сценарии использования
Запросы к API
Категории
summarizersummarizationruT5PyTorchNatural Language GenerationNLP
Разработчик
SberDevices
ОписаниеХарактеристики

Описание

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

Суммаризатор был обучен с помощью 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

Apache 2.0

Основные
Размер файлов2.95
Версия0.1