Скорее всего, уже всем известна задача резюмирования/суммаризации/обобщения/summarization/т.д. текстов, а как её решать — тем более. Вопрос крайне актуальный и люди, занимающиеся NLP, уже тысячу и один раз слышали все тонкости и крайности этой темы. Данная статья направлена на краткий обзор существующих подходов и их сравнения. Анализ проводился на статьях, вышедшие за последние пару лет.
Определение
Резюмирование текста — это процесс создания краткого, беглого и, что наиболее важно, точного резюме соответственно более длинного текстового документа. Основная идея автоматического резюмирования текста заключается в том, чтобы иметь возможность найти из всего набора короткую подгруппу наиболее важной информации и представить ее в удобочитаемом формате. По мере роста текстовых данных в Интернете методы автоматического суммирования текста могут оказаться очень полезными, поскольку за короткое время можно прочитать больше полезной информации.
Оценка качества
Для суммирования одной из самых часто используемых метрик — это оценка ROUGE (сокращение от Recall‑Oriented Understudy for Gisting Evaluation). Основная идея этой метрики заключается в сравнении сгенерированного резюме с набором референсных резюме, которые обычно создаются людьми.
Например, мы хотим сравнить следующие два резюме:
Сгенерированное резюме: «Мне абсолютно понравилось читать „Войну и Мир“.
Золотой стандарт: «Мне понравилось читать „Войну и Мир“.
Один из способов сравнения может быть подсчет количества перекрывающихся (общих) слов, которое в этом случае составляет 6. Однако это немного грубо, поэтому вместо этого ROUGE основан на вычислении оценок точности и полноты для перекрытия.
Для ROUGE, полнота измеряет, насколько сгенерированное резюме соответствует референсу. Если мы просто сравниваем слова, полноту можно рассчитать по следующей формуле:
Полнота = Количество Перекрывающихся Слов / Общее количество слов в референсе
Для нашего простого примера выше эта формула дает идеальную полноту 6/6 = 1; т.е. все слова в референсе были сгенерированы моделью. Это может показаться замечательным, но что если сгенерированное резюме было бы «Мне действительно, действительно понравилось читать „Войну и Мир“ всю ночь». Это также дало бы идеальную полноту, но, возможно, это худшее резюме, так как оно слишком длинное. Чтобы справиться с этими сценариями, мы также вычисляем точность, которая в контексте ROUGE измеряет, насколько сгенерированное резюме было релевантным:
Точность = Количеств перекрывающихся слов / Общее количество слов в сгенерированном резюме
Применяя это к нашему длинному резюме, мы получаем точность 6/10 = 0.6, что значительно хуже, чем точность 6/7 = 0.86, полученная нашим более коротким резюме. На практике обычно вычисляются как точность, так и полнота, а затем сообщается F1-мера (гармоническое среднее точности и полноты).
Существует несколько видом оценки ROUGE. Ниже приведены наиболее популярные ее разновидности.
ROUGE-N: Эта метрика считает, сколько слов из вашего резюме встречается в референсном резюме.
ROUGE-1 считает, сколько отдельных слов из вашего резюме встречается в референсном резюме.
ROUGE-2 считает, сколько пар слов из вашего резюме встречается в референсном резюме.
ROUGE-L: Эта метрика считает, сколько слов в вашем резюме образуют самую длинную общую последовательность слов в референсном резюме. Это позволяет оценить, насколько ваше резюме похоже на референсное.
ROUGE-W: Эта метрика похожа на ROUGE-L, но она учитывает также порядок слов в предложении. Это означает, что она более чувствительна к тому, какие слова идут друг за другом.
ROUGE-S: Эта метрика считает, сколько пар слов в вашем резюме и референсном резюме идут друг за другом в одном и том же порядке. Это помогает оценить, насколько ваше резюме похоже на референсное.
ROUGE-SU: Эта метрика похожа на ROUGE-S, но она также считает, сколько слов из вашего резюме встречается в референсном резюме. Это помогает оценить, насколько ваше резюме похоже на референсное, но учитывает также и отдельные слова.
Рассмотрим еще один пример, а именно как считается метрика ROUGE-2. У нас есть: ответ модели и 3 референса. В каждом референсе мы находим пары слов, которые встречаются в сгенерированном ответе. В первом референсе у нас 4 такие пары: «water spinach», «spinach is», «is a» и «in tropical». А всего пар слов в первом ответе 9. Аналогично делаем для каждого референса. И по формуле получаем, что ROUGE-2 = 0.46.
Типы Суммаризаций
В зависимости от типа ввода
Обобщение одного документа: В данном случае входные данные поступают из одного документа.
Обобщение нескольких документов: входные данные собираются из нескольких документов и могут быть длинными. Обобщение нескольких документов может быть сложной задачей, поскольку оно требует способности понимать взаимосвязь между несколькими источниками текста и синтезировать эту информацию.
В зависимости от типа вывода/на основе результатов
Извлечение: суммирование на основе извлечения извлекает и объединяет подмножество слов, которые представляют наиболее важные моменты документа.
Абстрактное: в отличие от экстрактивного суммирования, абстрактное резюмирование не просто выбирает фразы из исходного текста. Вместо этого он использует такие методы, как генерация естественного языка (NLG), чтобы составить резюме, которое является уникальным представлением исходного текста. Он понимает смысл и контекст текста, а затем генерирует резюме. Оно требует более глубокого понимания содержания и умения генерировать новый текст, не меняя смысла исходной информации.
На основе цели
Общее: дает обзор основных моментов или идей в конкретном тексте без каких-либо предположений о содержании. Этот метод просто сжимает или резюмирует исходный текст и рассматривает все входные данные как однородные. Используется чаще всего.
На основе запроса: создание резюме, которое отвечает на конкретные вопросы естественного языка о конкретном тексте. Это метод, аналогичный тому, который используется для генерации результатов поиска в популярных поисковых системах, таких как Google и Bing. Каждый раз, когда вы вводите вопрос в поисковой системе, такой как Google, она возвращает набор веб-сайтов или статей, которые отвечают на ваш вопрос. Результаты поиска обычно содержат краткое изложение статьи, которая непосредственно отвечает на ваш вопрос или имеет отношение к тому, что вы ищете.
По конкретной области: использует знания, специфичные для предметной области, для создания резюме, адаптированного к предметной области исходного текста. Например, модели машинного обучения можно обучать с использованием медицинской терминологии, чтобы они могли генерировать более точные сводки текстов и документов в этой конкретной области. В большинстве случаев методы обобщения по конкретной предметной области используются для обобщения юридических документов, технических отчетов и других специализированных текстов.
Остановимся подробнее на типе, основанном на выходном результате (by output type), то есть рассмотрим извлекающий и абстрактные типы суммаризаций.
Хотя абстрактное суммирование текста более привлекательно и эффективно, чем экстрактивное суммирование, оно более сложное. Это связано с тем, что абстрактное суммирование требует более глубокого понимания содержания и умения генерировать новое уникальное резюме без изменения смысла и структуры исходного текста. Кроме того, алгоритмы, необходимые для этого метода, как правило, сложнее обучать и создавать, поскольку им нужны огромные объемы данных.
Извлекающее резюмирование. Методы
Подходы | Описание | Плюсы | Минусы |
Fuzzy Logic | Выбирают признаки предложений, такие как длина предложения или частота слов, и используют их для вычисления оценки важности. Каждому предложению присваивается оценка, которая отражает его важность в контексте всего текста. | Нечеткая логика совместима с реальным миром, который не является двухзначным (0 и 1) миром. Она обрабатывает неопределенности во входных данных. | Избыточность выбранных предложений, поэтому требуется техника удаления избыточности на этапе постобработки для улучшения качества. |
LSA | Использует сингулярное разложение, чтобы представить текст в виде матрицы. Затем находит скрытые семантические структуры в тексте, позволяя выявлять смысловые соответствия между словами и предложениями. | Не зависит от языка, и генерирует семантически связанные предложения. | Сгенерированная резюме зависит от качества семантического представления входного текста. Вычисление SVD занимает много времени. |
Graph Based | Использует граф, где вершины - это предложения, а ребра - это общие слова между предложениями. Каждое предложение получает ранг, и алгоритмы ранжирования используются для оценки и поиска в документах. | Улучшает связность и обнаруживает избыточную информацию. Не зависит от языка и области знаний. | Не учитывает важность слов в документе. Графы, представляющие предложения как мешок слов и использующие меру сходства, могут не распознать семантически эквивалентные предложения. |
Discourse Based | Использует связь и отношения между предложениями для создания резюме. Он использует различные ресурсы: электронные словари, дерево тегов и WordNet для лексического анализа. | Улучшает качество за счет учета связи между предложениями. Не зависит от языка. Использует разные ресурсы для лексического анализа. | Требует специфических наборов данных для обучения. Сложнее использовать на больших объемах текста. Создает избыточные предложения. |
Statistical based | По математическим и лингвистическим признакам определяют наиболее важные предложения: встречаются чаще всего, или находятся в самом начале текста. Затем им присваивается балл | Требует меньше вычислительной мощности и памяти. Не требует сложной лингвистической обработки. Не зависит от языка | Некоторые важные предложения могут быть исключены, так как их оценка ниже. Могут быть включены похожие предложения |
Machine Learning | Использует множество подходов или техник, таких как SVM, k-NN, случайный лес, наивный байесовский классификатор, скрытые марковские модели (HMM), регрессия и генетические алгоритмы (GA) и т.д | Относительно простые регрессионные модели могут достигать лучших результатов, чем классификаторы. | Подход машинного обучения работает в терминах "мешка слов", что требует больше времени из-за большого количества признаков и меньшего объема памяти. Требуется огромный обучающий корпус. Избыточность предложений. Высокая вычислительная сложность. |
Neural Network | Методы, основанные на глубоком обучении, используются для суммаризации текста, где документ рассматривается как набор предложений, а предложение - как набор слов. Они пытаются максимизировать функцию, которая определяется как отрицательная сумма расстояний до ближайших соседей на распределениях вложений слов в документе. Это позволяет определить более сложные значения на уровне документа, чем на уровне предложения. Для суммаризации одного документа используется алгоритм обучения с подкреплением и модель RNN сети encoder-decoder. | Сеть может быть обучена на основе человеческого стиля. Набор функций может быть изменен в соответствии с требованиями пользователя. | Высокая вычислительная сложность. Обучение занимает много времени. NN требует множества уровней для получения релевантного резюме. Есть ограничения памяти. |
Cluster Based | Предложения группируются в кластеры на основе их семантической схожести. Предложения в кластере оцениваются на основе их близости к центроиду кластера, и наиболее близкие к нему предложения выбираются для включения в резюме | Не включает повторяющиеся предложений в резюме. Подходит для мультидокументного суммаризирования, потому что группирует разные предложения о той же теме в документах | Требуется предварительная установка количества кластеров. Высоко оцененные предложения могут быть похожими. Некоторые предложения могут выражать более одной темы. |
Optimization Based | Превращают задачу суммирования текста в задачу выбора оптимального набора предложений. Они используют алгоритмы оптимизации: генетические алгоритмы, алгоритмы муравьиные колонии, чтобы найти лучший набор предложений для суммирования. Они позволяют учесть несколько критериев, таких как охват содержания, уменьшение избыточности и согласованность. | Использование генетических алгоритмов для нахождения оптимальных весов. | Высокое время вычислений и затраты. Необходимо определить количество итераций для алгоритмов оптимизации. |
Сравнение методов
Одни из самых стабильных и с хорошими результатами являются методы, основанные на графах и статистические методы. Они хорошо дополняют методы машинного обучения и нейронные сети. Также эти два метода хорошо работают самостоятельно, и в паре.
В использовании статей на разных языках многие предыдущие исследователи использовали методы глубокого обучения с TF-IDF, graph-based, PageRank и методы Seq2seq. Что касается точности, методы машинного обучения с точностью Rouge 1 = 87.5% достигаются путем объединения методов MINTS и Lexrank. В методах глубокого обучения наивысшие результаты точности достигаются при комбинировании методов LSTM и GRU с точностью Rouge для LSTM 98.68% и для GRU 98.40%.
Многие предыдущие исследователи решали проблемы, используя методы глубокого обучения. Однако есть и те, кто делает это с помощью методов машинного обучения. Методы глубокого обучения, использовавшиеся предыдущими исследователями, в основном использовались для обработки данных из нескольких документов, а методы машинного обучения — для обработки отдельных документов.
Абстрактное резюмирование
Абстрактная суммаризация требует более глубокого анализа входного текста. Абстрактные текстовые суммаризаторы генерируют сводку, понимая основные концепции во входномдокументе с помощью методов обработки естественного языка, затем перефразируют текст, чтобы выразить эти концепции в меньшем количестве слов и использовать понятный язык. Этот подход не копирует предложения из исходного текста для генерации сводки, а требует способности создавать новые предложения. Рисунок показывает этапы работы асбтрактного резюмирования. Он состоит из предварительной обработки, постобработки и задач обработки, которые включают: 1) создание внутреннего семантического представления, и 2) создание сводки с использованием методов генерации естественного языка для создания сводки, близкой к сводкам, сгенерированным человеком.
Методы абстрактной ATS можно разделить на три категории: 1) структурные: с использованием предопределенных структур (например, графов, деревьев, правил, шаблонов и онтологий), 2) семантические: с использованием семантического представления текста и систем генерации естественного языка (например, на основе информационных элементов, предикатных аргументов и семантических графов), и 3) методы на основе глубокого обучения. Структурные методы определяют наиболее важные данные во входном тексте, а затем используют графы, деревья, правила, шаблоны или онтологии для создания абстрактных сводок. Семантические методы создают семантическое представление входного текста, используя информационные элементы, предикатные аргументы или семантические графы, а затем используют систему генерации естественного языка для создания абстрактных сводок.
Абстрактное резюмирования. Методы
Подход | Описание | Плюсы | Минусы |
Структурный подход | |||
Graph Based | Каждый узел представляет собой слово, а информация о позиции связана с узлами. Направленные ребра представляют структуру предложений. Выбрать несколько лучших оставшихся путей в качестве созданного резюме, количество путей для выбора контролируется параметром, который представляет размер резюме. | Применим к любой области и не требует вмешательства человеческих экспертов. Новое предложение создается путем связывания всех слов в пути графа слов | Графы слов не отражают смысл слова/фразы. Разнообразные слова/фразы, относящиеся к одной и той же теме, представлены как разные узлы, поэтому предложения, состоящие из этих узлов, не могут быть объединены |
Tree Based | Эти методы идентифицируют похожие предложения, которые разделяют взаимную информацию, а затем накапливают эти предложения, чтобы произвести абстрактное резюме. Для построения окончательных резюме выполняются некоторые задачи по обработке деревьев, такие как обрезка, преобразование деревьев в строки и т. д. | Имеют улучшенное качество при использовании языковых генераторов, потому что они производят менее избыточные резюме | Не может выявить отношения между предложениями без обнаружения общих фраз между этими предложениями. Не учитывает контекст, поэтому пропускает многие значимые фразы в тексте. Сосредоточен на синтаксисе больше, чем на семантике |
Rule Based | Эти методы требуют определения правил и категорий для обнаружения важных концепций во входном тексте, а затем использования этих концепций для создания резюме. | Высокая плотность информации. Возможность расширения сложности и разнообразия схем | Подготовка правил - это трудоемкий и утомительный процесс, потому что правила создаются вручную. |
Template Based | Для некоторых областей (например, резюме встречи), у резюме есть общие структуры предложений, которые можно определить как шаблоны. | Производит информативные и последовательные резюме и может использоваться для суммирования нескольких документов | Правила извлечения и лингвистические шаблоны создаются вручную. Похожая информация не может быть обработана. Похожесть и различия между документами не учитываются |
Ontology Based | Многие документы связаны с определенными областями, и каждая область имеет свою собственную структуру информации, которая может быть представлена словарем знаний, таким как онтология. Основная идея заключается в том, чтобы получить правильную информацию из входного текста для формирования абстрактного резюме с использованием онтологии. | Он сосредотачивается на документах, связанных с определенной областью. Он обеспечивает когерентные резюме и легко справляется с неопределенностями в тексте | Для этого требуется хорошая онтология, но подготовка этой онтологии является очень трудоемким процессом, поскольку для построения онтологии области требуются специалисты в области. Он не может быть обобщен на другие области. |
Lead and Body Phrase Methods | Здесь используется техника вставки и замены важных фраз, содержащих информацию, в начальном предложении текста, которые называются триггерами. Создание грамматически правильных предложений с использованием этого метода все еще является проблемой. | Они хороши для семантических коррекций вводного предложения. | Методы вводной и основной фразы создают избыточные, менее грамматически правильные и иногда неполные резюме. Ошибка в синтаксическом анализе приводит к неправильной замене фраз, что приводит к неправильным резюме. |
Гибридное резюмирование
Гибридный подход объединяет как абстрактивные, так и экстрактивные подходы. Типичная архитектура: 1) Предварительная обработка, 2) извлечение предложений (экстрактивная фаза ETS): извлечение ключевых предложений из исходного текста 3) генерация сводки (абстрактивная фаза ETS): генерация окончательной абстрактивной сводки путем применения абстрактивных методов и техник к извлеченным предложениям из первой фазы, и 4) Постобработка.
Сравнение подходов
Подход | Описание | Плюсы | Минусы |
Извлекающий | Извлекает наиболее важные предложения/слова/фразы из исходного текста | Высокая точность, быстрота | Ограничено информацией, присутствующей в исходном тексте. Может не передавать смысл так же, как другие методы.Избыточность в предложениях. |
Абстрактный | Генерирует новые фразы и предложения, передающие наиболее важную информацию из исходного текста. | Может лучше передать смысл. Может обрабатывать более сложные тексты. Более читабельный. | Может иметь более высокий уровень ошибок и может быть не таким точным, как извлекающий метод. |
Гибридный | Сначала экстрактивная фаза ATS: извлечение ключевых предложений из входного текста. Затем абстрактивная фаза ATS: генерация окончательного резюме путем применения абстрактивных методов и техник | Комбинирование преимуществ обоих подходов. Улучшается качество резюмирования | Генерация менее качественного абстрактивного резюме, чем чистый абстрактивный подход, потому что сгенерированное резюме зависит от извлечений, а не от исходного текста. |
Популярные решения
Алгоритмы
PageRank — это алгоритм поиска Google, который ранжирует веб‑сайты на страницах результатов поиска. Значимость страниц веб‑сайта можно оценить с помощью PageRank. Следя за количеством и качеством ссылок, указывающих на страницу, PageRank разрабатывает приближение к значимости этой страницы. Основное предположение состоит в том, что веб‑сайты с большим авторитетом более вероятно получают ссылки от других веб‑сайтов.Когда пользователь нажимает на ссылку, алгоритм PageRank создает вероятностное распределение, показывающее вероятность того, что он попадет на определенную страницу. PageRank.
TextRank, сравним с алгоритмом PageRank от Google. Он помогает ранжировать фразы, автоматически создавать текстовые суммарии и извлекать ключевые слова. Во многих отношениях алгоритм TextRank и алгоритм PageRank похожи.
В отличие от PageRank, который работает с веб‑страницами, TextRank использует предложения. Алгоритм PageRank определяет вероятность перехода на веб‑страницу, в то время как алгоритм TextRank сравнивает сходство любых двух предложений. Матрица, используемая для подхода PageRank, такая же квадратная матрица, которую использует подход TextRank для хранения оценок сходства.
Чтобы найти релевантные ключевые слова, алгоритм textrank создает словесную сеть. Эта сеть создается путем просмотра того, какие слова следуют друг за другом. Связь устанавливается между двумя словами, если они следуют друг за другом. Ссылка получает больший вес, если эти два слова чаще встречаются в тексте рядом друг с другом.
Поверх полученной сети применяется алгоритм Pagerank для определения важности каждого слова. Верхняя 1/3 всех этих слов сохраняется и считается релевантной. После этого создается таблица ключевых слов путем объединения релевантных слов, если они следуют друг за другом в тексте.
Метод суммирования нескольких документов, называемый SumBasic, определяет частотное распределение слов во всех документах. Чтобы создать точную и точную сумму, алгоритм приоритизирует часто встречающиеся слова в документе перед менее часто встречающимися словами. Следуя за образцом слов каждого предложения, он вычисляет среднюю вероятность каждого предложения. Затем он выбирает наивысшее ранжирование предложение, содержащее наиболее часто встречающееся слово, пока не будет достигнута желаемая длина суммы.
SumBasic сначала вычисляет вероятность каждого слова содержания (т. е. глаголов, существительных, прилагательных и чисел), просто подсчитывая его частоту в наборе документов. Каждое предложение оценивается как среднее вероятностей слов в нем. Затем резюме генерируется с помощью простого алгоритма жадного поиска: он итеративно выбирает предложение с самым высоким значением слова‑содержания, разрывая связи, используя средний балл предложений. Это продолжается до тех пор, пока не будет достигнута максимальная длина сводки. Чтобы не выбирать одно и то же или похожее предложение несколько раз, SumBasic обновляет вероятности слов в выбранном предложении, возводя их в квадрат, моделируя вероятность того, что слово встречается в резюме дважды.
Библиотеки Python
1. NLTK
Natural Language Toolkit (NLTK) — это популярная библиотека Python для обработки естественного языка с множеством алгоритмов для работы с текстом. Для использования NLTK в задаче суммаризации текста, можно токенизировать предложения и затем применить алгоритмы tf‑idf для присвоения весов предложениям. Предложения с наибольшими оценками могут быть использованы в качестве резюме.
2. Gensim
Gensim — это пакет Python, который зависит от NumPy и SciPy. Он не требует хранения всего набора данных для обучения в оперативной памяти, что делает его идеальным для больших наборов данных. Gensim имеет реализации методов Латентного Семантического Анализа (LSA) и Латентного Распределения Дирихле (LDA), а также возможность создавать запросы на схожесть. Для метода суммаризации текста Gensim использует алгоритм TextRank.
3. Sumy
Sumy — это пакет Python, который автоматически суммирует текстовые документы и HTML‑страницы. Он использует алгоритмы LEX‑RANK и LUHN.
LEX‑RANK использует графовый подход к вычислению важности фраз для автоматической суммаризации текста. Он ищет похожие предложения и отмечает их как очень важные.
LUHN основывает свой эвристический метод суммаризации текста на частоте встречаемости наиболее важных фраз.
4. SpaCy
SpaCy — это еще один популярный пакет Python, который имеет модели CNN для маркировки частей речи, синтаксического анализа, категоризации текста и распознавания именованных сущностей, которые могут быть объединены для создания метода суммаризации текста.
Современное состояние
Конкретные улучшения были внесены в архитектуру coder-decoder, например, добавление механизма внимания — одной из ключевых идей за трансформерными моделями, которые были расширены для решения задач ATS. Трансформеры, настроенные на задачу ATS, показали высококачественные резюме, такие как PEGASUS, BART и T5, среди других.
Основная идея T5 (Text-to-Text Transfer Transformer) заключается в том, чтобы рассматривать все задачи обработки естественного языка как проблемы text2text, где вводится текст, а возвращается прогноз текста. Это позволяет использовать одну и ту же модель, гиперпараметры и функцию потерь для различных задач обработки естественного языка. Самое важное, что следует помнить о T5, это то, что модель предварительно обучается на огромном объеме неразмеченных данных, а затем настраивается на размеченных данных для конкретной задачи (например, суммирование, классификация, QA и т. д.). В подходе text2textприсутствуют как кодировщик, так и декодировщик.
Оценка человеком показывает, насколько близко модель подошла к человеческой производительности. С 2019 года, когда были представлены PEGASUS, T5 и BART, были сделаны дальнейшие улучшения, но большинство из них используют эти модели как строительные блоки. На данный момент автоматические абстрактные системы суммирования могут генерировать результаты, близкие к человеческим резюме, причем в статье о PEGASUS упоминается, что эксперты-оценщики не всегда предпочитают резюме, созданные человеком, резюме, созданные машиной.
Литература
Recent Trends for Text Summarization in Scientific Documents / 2023 IEEE // A. A. Sukmandhani, Y. Arifin
Automatic text summarization: A comprehensive survey / 2021 Expert Systems with Applications // Wafaa S. El-Kassas, Cherif R. Salama, Ahmed A. Rafea, Hoda K. Mohamed
State-of-the-art approach to extractive text summarization: a comprehensive review / 2023 Multimedia Tools and Applications // Avaneesh Kumar Yadav, Ranvijay, Rama Shankar Yadav & Ashish Kumar Maurya
Abstractive summarization: An overview of the state of the art / 2019 Expert Systems with Applications // Som Gupta, S. K Gupta,
A survey on abstractive text summarization / 2016 IEEE // N. Moratanch; S. Chitrakala