Бесплатные модели для резюмирования текста: шансы есть, но… (часть 3)

Завершаю исследование моделей для резюмирования текстов, начатое ранее. В этой части мы посмотрим на что способны модели, использующие экстрактивный подход. Например, как справляются с задачей резюмирования текстов алгоритмы из одной из лучших реализаций такого подхода – библиотеки sumy? В предыдущих частях мы посмотрели как решают эту задачу некоторые специализированные модели и универсальные большие языковые модели. Резюмирование текстов sumy рассмотрено с позиций любопытного и активного пользователя, стремящегося применить современные достижения ИТ в своей повседневной практике. Как все мои другие исследования, настоящий материал имеет отношение к базам данных и нейронным сетям.

Технология резюмирования текстов sumy
Оглавление

Введение
Выбор моделей для оценки
Тексты для резюмирования
Программное обеспечение для экспериментов
Результаты резюмирования стихотворения А.А. Блока
Результаты резюмирования описания приложения Текстоматика
Обсуждение
Заключение

Введение

Напомню, что целью этого исследования является попытка дать сравнительную оценку возможностям бесплатных open source моделей для суммаризации или резюмирования текстов. При этом анализ результатов должен быть основан на пользовательских субъективных оценках. В этой части исследования для сравнения приводятся результаты работы экстрактивных алгоритмов библиотеки sumy. Напомню, что экстрактивный подход заключается в извлечении из исходного текста наиболее «значимых» информационных блоков. В качестве блока могут выступать отдельные абзацы, предложения или ключевые слова. Методы данного подхода характеризует наличие оценочной функции важности информационного блока. Ранжируя эти блоки по степени важности и выбирая ранее заданное их число, мы формируем итоговое резюме текста. Подробности можно посмотреть здесь.

Выбор моделей для оценки

Для оценки качества резюме отобраны модели (алгоритмы), стандартные для библиотеки sumy:

МодельОписание
LuhnАлгоритм, основанный на предположении, что наиболее важными предложениями являются те, в которых наиболее значимые или ключевые слова. Ключевые слова – это те, которые чаще всего встречаются в тексте, исключая стоп-слова.
Latent Semantic Analysis, LSAЛатентный семантический анализ основан на разложении матрицы по сингулярным значениям (SVD). Он преобразует данные текста в пространство меньшей размерности и представляет предложения в виде сингулярных векторов, величина которых интерпретируется как его значимость.
LexRankАлгоритм ранжирования на основе графа предложений текста. Использует косинусное сходство между двумя предложениями. В результате строит взвешенный граф всех предложений текста. Основан на алгоритме HITS.
TextRankАлгоритм ранжирования на основе графа предложений текста. Рекурсивно вычисляет значимость предложений по связям с другими предложениями. Основан на алгоритме PageRank.
KL DivergenceПри использовании KL-дивергенции (расстояния) вычисляется и минимизируется разница между двумя распределениями вероятностей n-грамм в словаре исходного текста и словаре текста резюме.

Подробности см. здесь.

Тексты для резюмирования

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

Программное обеспечение для экспериментов

Для проведения экспериментов использовался модуль на Python, разработанный мной. Состоит из:

  • Управляющей части: задание параметров, чтение текстов для резюмирования, последовательный запуск соответствующих компонентов каждой модели.
  • Функциональной части, основной фрагмент которой см. ниже.
Код генерации резюме различными алгоритмами sumy
...
from sumy.parsers.plaintext import PlaintextParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.text_rank import TextRankSummarizer
from sumy.summarizers.lex_rank import LexRankSummarizer
from sumy.summarizers.lsa import LsaSummarizer
from sumy.summarizers.kl import KLSummarizer
from sumy.summarizers.luhn import LuhnSummarizer
from sumy.nlp.stemmers import Stemmer
import nltk
from nltk.corpus import stopwords      
text = ...
parser = PlaintextParser.from_string(text, Tokenizer(options['lang']))
stemmer = Stemmer(options['lang'])
summarizers = {'TextRank': TextRankSummarizer(stemmer), 'LexRank': LexRankSummarizer(stemmer), 'LSA': LsaSummarizer(stemmer), 'KLDivergence': KLSummarizer(stemmer), 'Luhn': LuhnSummarizer(stemmer)}
summarizer = summarizers[options['alg']]
summarizer.stop_words = frozenset(stopwords.words(options['lang']))
summarizer = summarizer(parser.document, options['sents'])
summary=""
for sentence in summarizers[options['alg']](parser.document, options['sents']):
    summary += str(sentence) + ' '
return summary    
Результаты резюмирования стихотворения А.А. Блока

Условие для длины текста резюме: 3 предложения.

Luhn

Резюме

О доблестях, о подвигах, о славе Я забывал на горестной земле, Когда твое лицо в простой оправе Перед мной сияло на столе. Ты в синий плащ печально завернулась, В сырую ночь ты из дому ушла. Не знаю, где приют твоей гордыне Ты, милая, ты, нежная, нашла… Я крепко сплю, мне снится плащ твой синий, В котором ты в сырую ночь ушла…

Latent Semantic Analysis, LSA

Резюме

О доблестях, о подвигах, о славе Я забывал на горестной земле, Когда твое лицо в простой оправе Перед мной сияло на столе. Летели дни, крутясь проклятым роем… Вино и страсть терзали жизнь мою… И вспомнил я тебя пред аналоем, И звал тебя, как молодость свою… Твое лицо в его простой оправе Своей рукой убрал я со стола.

LexRank

Резюме

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

TextRank

Резюме

О доблестях, о подвигах, о славе Я забывал на горестной земле, Когда твое лицо в простой оправе Перед мной сияло на столе. Летели дни, крутясь проклятым роем… Вино и страсть терзали жизнь мою… И вспомнил я тебя пред аналоем, И звал тебя, как молодость свою… Не знаю, где приют твоей гордыне Ты, милая, ты, нежная, нашла… Я крепко сплю, мне снится плащ твой синий, В котором ты в сырую ночь ушла…

KL Divergence

Резюме

Но час настал, и ты ушла из дому. Ты в синий плащ печально завернулась, В сырую ночь ты из дому ушла. Не знаю, где приют твоей гордыне Ты, милая, ты, нежная, нашла… Я крепко сплю, мне снится плащ твой синий, В котором ты в сырую ночь ушла…

Результаты резюмирования описания приложения Текстоматика

Условие для длины текста резюме: 8 предложений.

Luhn

Резюме

Например, установить, что: – объем документа превышает допустимый; – документ содержит большое количество ошибок; – содержание документа не соответствует заголовку; – текст труден для понимания; – не содержит необходимые разделы или не оформлен в соответствии с требуемым стандартом; – и так далее. Вот несколько примеров: – текст документа будет понятен специалисту на 65%; – текст документа совпадает по смыслу с текстом документа другого автора на 92%; – грамотность текста документа 15%.

Эксперт – Выполняет содержательную проверку текстовых документов, подлежащих экспертизе (соответствие содержания документа цели его подготовки, логическая завершенность, новизна и/или востребованность описанных объектов, уникальность текста и т.п.) – Выполняет формальную проверку текстовых документов, подлежащих экспертизе (корректность структуры, состав реквизитов, размер документа и т.п.) – Формирует и обосновывает итоговую оценку экспертизы документов в своем заключении. Исследователь, автор научных работ – Оценивает соответствие своих текстов (научных статей, отчетов, книг, эссе, докладов, обзоров и т.п.) установленным формальным и содержательным требованиям. Аспирант и магистрант – Оценивает соответствие своих текстов (научных статей, разделов диссертации и диссертации в целом, докладов, обзоров и т.п.) установленным формальным и содержательным требованиям. Студент университета или колледжа – Проверяет тексты своих рефератов, отчетов по лабораторным работам, контрольных, курсовых, дипломных и других письменных работ на соответствие требованиям.

Модель оценки документов нужна для того, чтобы определить: – Что мы будем оценивать, то есть задать характеристики текста, интересующие нас в данном случае. Формируется отчет о результатах оценки документа по каждому показателю и документа в целом.

Latent Semantic Analysis, LSA

Резюме

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

LexRank

Резюме

Приложение Текстоматика предназначено для интеллектуальной оценки структуры и содержания текстовых документов. Вот несколько примеров: – текст документа будет понятен специалисту на 65%; – текст документа совпадает по смыслу с текстом документа другого автора на 92%; – грамотность текста документа 15%. Ученик школы – Проверяет тексты своих письменных работ на соответствие требованиям. Например, так можно вычислить показатель удобочитаемости текста или степени соответствия текста заданной структуре. Примеры: соответствие содержания документа его заголовку, похожесть текста документа на тексты других документов. – Оценка текста. Выполняется анализ документа по каждому показателю, заданному в модели оценки. Формируется отчет о результатах оценки документа по каждому показателю и документа в целом.

TextRank

Резюме

Например, установить, что: – объем документа превышает допустимый; – документ содержит большое количество ошибок; – содержание документа не соответствует заголовку; – текст труден для понимания; – не содержит необходимые разделы или не оформлен в соответствии с требуемым стандартом; – и так далее. В приложении Текстоматика оценка текста производится по этим и другим показателям, но более конкретно. Вот несколько примеров: – текст документа будет понятен специалисту на 65%; – текст документа совпадает по смыслу с текстом документа другого автора на 92%; – грамотность текста документа 15%.

Эксперт – Выполняет содержательную проверку текстовых документов, подлежащих экспертизе (соответствие содержания документа цели его подготовки, логическая завершенность, новизна и/или востребованность описанных объектов, уникальность текста и т.п.) – Выполняет формальную проверку текстовых документов, подлежащих экспертизе (корректность структуры, состав реквизитов, размер документа и т.п.) – Формирует и обосновывает итоговую оценку экспертизы документов в своем заключении. Исследователь, автор научных работ – Оценивает соответствие своих текстов (научных статей, отчетов, книг, эссе, докладов, обзоров и т.п.) установленным формальным и содержательным требованиям. Аспирант и магистрант – Оценивает соответствие своих текстов (научных статей, разделов диссертации и диссертации в целом, докладов, обзоров и т.п.) установленным формальным и содержательным требованиям. Примеры: соответствие содержания документа его заголовку, похожесть текста документа на тексты других документов. Формируется отчет о результатах оценки документа по каждому показателю и документа в целом.

KL Divergence

Резюме

– Формирует и обосновывает итоговую оценку отрецензированного материала в рецензии (отзыве). Эксперт – Выполняет содержательную проверку текстовых документов, подлежащих экспертизе (соответствие содержания документа цели его подготовки, логическая завершенность, новизна и/или востребованность описанных объектов, уникальность текста и т.п.) – Выполняет формальную проверку текстовых документов, подлежащих экспертизе (корректность структуры, состав реквизитов, размер документа и т.п.) – Формирует и обосновывает итоговую оценку экспертизы документов в своем заключении. Аспирант и магистрант – Оценивает соответствие своих текстов (научных статей, разделов диссертации и диссертации в целом, докладов, обзоров и т.п.) установленным формальным и содержательным требованиям. Ученик школы – Проверяет тексты своих письменных работ на соответствие требованиям. В этом случае используются модели и методы искусственного интеллекта (такие как нейронные сети) и машинное обучение. Примеры: соответствие содержания документа его заголовку, похожесть текста документа на тексты других документов. Примеры: удобочитаемость текста, смысловая нагрузка текста. Отчет сохраняется в базе данных и может быть распечатан.

Обсуждение

По А.А. Блоку:

  • В целом все алгоритмы справились с задачей примерно одинаково. Суть произведения передана, в заданный размер уложились.
  • Но LSA и TextRank указали на причину расставания главного героя и его возлюбленной. Другие три модели просто констатировали факт расставания.
  • Мои оценки моделей: LSA – 5, TextRank – 5, Luhn – 4, LexRank – 4, KL Divergence – 4. Согласны? Пишите в комментариях свои оценки.

По описанию Текстоматики:

  • Лучшим резюме с моей точки зрения выглядит текст от LexRank. Текст резюме логичен, последователен. Хотя пример с учеником школы выпадает из общей логики, но в цело резюме приемлемо. Описаны назначение приложения, есть информация о показателях и модели оценки, процессе оценивания и его результатах.
  • Большая часть резюме от Luhn включает действия разных категорий пользователей с текстами. Также есть сведения о назначении модели оценки и окончательных результатах оценивания.
  • LSA создал резюме, в котором упоминается важность профессиональной экспертизе текстовых документов. Также отмечается сложность задачи оценивания текстов и большое количество показателей. Описывается назначение модели оценки. Но резюме отличается неконкретным содержанием.
  • Резюме TextRank содержит описание назначение приложения Текстоматика, некоторые оценочные показатели, результаты оценивания. Но перегружено примерами работы с текстами разных категорий пользователей.
  • Алгоритм KL Divergence создал резюме, состоящее в основном из примеров работы с текстами разных категорий пользователей. Хотя есть примеры показателей и описание результатов оценки.
  • Мои оценки моделей: LSA – 2, TextRank – 2, Luhn – 3, LexRank – 4, KL Divergence – 2. Согласны? Пишите в комментариях свои оценки.
Заключение
  • Все алгоритмы sumy при генерации резюме из художественного произведения (стихотворения) справились с этой задачей не хуже, чем специализированные нейросети, созданные специально для суммаризации текстов.
  • Генерация резюме технического текста (описание приложения) была выполнена хуже, формально. Внутренняя логика текста учитывалась слабо. Полученные резюме уступают тем, что созданы моделями, рассмотренными ранее в предыдущих частях этого исследования.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *