Информативное руководство по резюмированию текста в обработке естественного языка.

В этом учебном пособии дается краткий обзор автоматического суммирования текста как контролируемой задачи НЛП, а также подробно рассматривается метрика, используемая для количественной оценки производительности суммирования.
В эпоху информационного взрыва профессионалы могут потреблять много текста на работе или в повседневной жизни, как правило, в виде отчетов, статей или научных работ. Часто эти тексты содержат детали или уточнения некоторых центральных тем или идей. Однако в этом изобилии текстовых документов иногда нам нужно либо уловить суть определенных документов, либо найти контент, относящийся к основной идее. Сравнимой аналогией может быть беглый просмотр заголовков газеты, хотя название статьи, как однострочник, не является лучшей формой резюме.
Опять же, здесь могут вмешаться машинное обучение и искусственный интеллект, поскольку автоматическое суммирование текста служит важной областью в задаче обработки естественного языка (NLP).
1. Два типа суммирования текста
Обучение автоматическому реферированию текста обычно представляет собой контролируемый процесс обучения, в котором целью для каждого фрагмента текста является соответствующее золотое аннотированное резюме (резюме, управляемое человеком-экспертом). С другой стороны, сводки или прогнозы, созданные моделью после обучения, бывают двух типов:
1.1 Абстрактное обобщение
Резюме — это суть текстового отрывка, который полностью перефразирован, иногда со словами и содержанием, которые могут отсутствовать в исходном отрывке. Таким образом, абстрактное обобщение является сложной задачей и может привести к созданию сводок, которые грамматически или логически непоследовательны. Как правило, для достижения надежных результатов требуется современная архитектура преобразователя.
1.2 Извлекательное обобщение
Извлекающие рефераты, как следует из названия, содержат формулировки и фразы, извлеченные из отрывка исходного текста. Хотя существуют различные методы извлечения, наиболее распространенным и простым является простое извлечение предложений в правильном порядке из отрывка текста. Как правило, первые несколько предложений имеют большее значение для смысла отрывка и часто извлекаются, хотя могут быть извлечены и более поздние предложения отрывка.
Стоит отметить, что в исследовательском сообществе золотые аннотированные резюме обычно носят абстрактный характер, поскольку текстовые отрывки часто перефразируются людьми в резюме. Таким образом, контролируемый процесс обучения абстрактному обобщению прост, поскольку цель четко определена. Но для экстрактивного обобщения по предложениям иногда предпринимается дополнительный шаг.
На основе золотых аннотированных резюме и их количества предложений извлекается соответствующее подмножество предложений из исходного текстового отрывка с наибольшей схожестью. Степень сходства измеряется метрикой, называемой оценка ROUGE, которую мы обсудим позже. Эти извлеченные наборы предложений, основанные на абстрактных резюме с золотыми аннотациями, известны в исследовательском сообществе как резюме оракула. Затем контролируемый процесс обучения экстрактивному обобщению основывается на помеченных предложениях сводок оракула. Наконец, производительность любой модели извлечения — это относительное сравнение оценки ROUGE сгенерированных сводок извлечения и сводок оракула.
P.S. Процесс получения глобального оптимального набора предложений (с максимальной оценкой ROUGE) иногда требует значительных вычислительных ресурсов из-за количества перестановок и обычно аппроксимируется определенными алгоритмами, такими как жадный подход, представленный в статье 2016 года SummaRuNNer: A Рекуррентная модель последовательности на основе нейронной сети для извлечения суммированных документов.
2. Модели суммирования — дополнительная литература
Архитектуры моделей суммирования обычно более сложны и запутаны, поэтому мы не будем обсуждать их в этом простом руководстве. Однако в следующих абзацах мы представим некоторые исследовательские работы и соответствующий им репозиторий кода для дальнейшего чтения и доработки.
До эпохи Трансформеров, представленной в статье 2017 года Внимание — это все, что вам нужно, модели НЛП, управляемые LSTM с механизмом внимания или без него, были менее мощными. Таким образом, модели экстрактивного суммирования оказались более эффективными. Одна из таких моделей выглядит следующим образом:
Нейалсум
- Описание: модель экстрактивного суммирования на основе модели кодировщика-декодера LSTM с вниманием
- Статья 2016 г.: Нейронное обобщение путем извлечения предложений и слов
- Репозиторий кода: https://github.com/cheng6076/NeuralSum
После эпохи трансформеров, особенно с появлением архитектур BERT (статья 2018 г., BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding). Таким образом, производительность как абстрактного суммирования, так и экстрактивного суммирования стала надежной. Вот несколько моделей:
BertSum (BertExt и BertAbs)
- Описание: BERT-подобная архитектура для абстрактного и экстрактивного суммирования.
- Статья 2019 г.: Обобщение текста с помощью предварительно обученных кодировщиков
- Репозиторий кода: https://github.com/nlpyang/PreSumm
ПЕГАС
- Описание: модели кодера-декодера на основе преобразователя с самоконтролируемой целью для абстрактного суммирования.
- Статья 2019 г.: ПЕГАС: предварительная подготовка с извлеченными предложениями-пробелами для абстрактного обобщения
- Репозиторий кода: https://github.com/google-research/pegasus
3. Введение в оценку ROUGE
Затем мы переходим к метрикам оценки, которые сравнивают близость сводок, сгенерированных моделью, с сводками с золотыми аннотациями. Следует отметить, что шкала ROUGE стала стандартной мерой оценки для задач обобщения в исследовательском сообществе. ROUGE расшифровывается как Recall-Oriented Understudy for Gisting Evaluation и представлен в документе ROUGE: Пакет для автоматической оценки резюме. Хотя ROUGE ориентирован на отзыв, как следует из названия, по сути, он учитывает как отзыв, так и точность между кандидатом (сгенерированным моделью или прогнозируемым) и эталонным (с золотыми аннотациями или целевой) сводки. Кроме того, шкалы ROUGE подразделяются на шкалы ROUGE-1, ROUGE-2 и ROUGE-L. Например, рассмотрим следующий отрывок:
John loves data science. He studies data science concepts day and night, forgetting to eat at times.
С справочным резюме:
John really loves data science.
И резюме кандидата (рассмотрим экстрактивный случай):
John loves data science.
РУЖ-1
ROUGE-1 Precision и Recall сравнивают сходство униграмммеждуэталонной и кандидатной сводками. Под униграммами мы просто подразумеваем, что каждый токен сравнения представляет собой отдельное слово. Например, мы можем выразить униграммы «Джон любит науку о данных» в виде списка токенов Python:
['John','loves','data','science']
Под отзывом мы просто подразумеваем долю слов в сводке ссылок, отраженную в сводке-кандидате.
Под точностью мы подразумеваем долю слов, предложенных в сводке-кандидате, которые фактически появляются в сводке ссылок.
Например:
Reference Tokens: ['John','really','loves','data','science'](n_r=5) Candidate Tokens: ['John','loves','data','science'] (n_can=4) Captured Tokens: ['John','loves','data','science'] (n_cap=4) Rouge-1 Recall = n_cap/n_r = 4/5 Rouge-1 Precision = n_cap/n_can = 4/4
Таким образом, мы можем видеть, что отзыв вознаграждает за количество слов, которые точно предсказаны резюме кандидата, тогда как точность наказывает за ненужную многословность слов, появляющихся в резюме кандидата. Одним из примеров плохой точности может быть следующее резюме кандидата:
John really really really loves data science. (n_can=7)
В этом случае захватываются все эталонные токены, и, следовательно, он должен иметь идеальный показатель отзыва. Однако из-за того, что он слишком многословен, его точность Rouge-1 составляет всего 5/7.
РУЖ-2
ROUGE-2 Precision and Recall сравнивает сходство биграмммеждуэталонной и кандидатной сводками. Под биграммами мы подразумеваем, что каждый токен сравнения представляет собой 2 последовательных слова из эталонного и кандидатного резюме. Например, биграммы «Джон любит науку о данных» могут быть выражены в виде следующих токенов:
['John loves','loves data','data science']
Таким образом, Recall и Precision можно рассчитать:
Reference Tokens: ['John really','really loves','loves data','data science'](n_r=4) Candidate Tokens: ['John loves','loves data','data science'] (n_can=3) Captured Tokens: ['loves data','data science'] (n_cap=2) Rouge-2 Recall = n_cap/n_r = 2/4 Rouge-2 Precision = n_cap/n_can = 2/3
РУЖ-Л
ROUGE-L Precision and Recall измеряет самую длинную общую подпоследовательность (LCS) слов между эталонным и кандидатным резюме. Под LCS мы подразумеваем токены слов, которые последовательны, но не обязательно подряд. Чтобы понять это, давайте посмотрим на запутанный пример со справочной информацией:
John really loves data science very much and studies it a lot.
И резюме кандидата (слова, выделенные курсивом, обозначают LCS):
John very much loves data science and enjoys it a lot.
Ссылка, кандидат и захваченные токены с сопутствующими Precision и Recall выглядят следующим образом:
Reference Tokens: ['John','really','loves','data','science','very','much','and','studies','it','a','lot'](n_r=12) Candidate Tokens: ['John','very','much','loves','data','science','and','enjoys','it','a','lot'] (n_can=11) Captured Tokens: ['John','loves','data','science','and','it','a','lot'] (n_cap=8) Rouge-2 Recall = n_cap/n_r = 8/12 Rouge-2 Precision = n_cap/n_can = 8/11
Вместе ROUGE-1, ROUGE-2 и ROUGE-L Precision/Recall дают хорошее представление о том, насколько хорошо сгенерированные моделью сводки представляют сводки с золотыми аннотациями. Чтобы сделать оценки еще более краткими, обычно для всех оценок ROUGE рассчитываются оценки F1, которые представляют собой среднее гармоническое между Precision и Recall.

Кроме того, эти оценки ROUGE можно легко рассчитать с помощью пакета Python. В терминале или командной строке:
pip install rouge
4. Заключительные мысли
Спасибо за прочтение! Я надеюсь, что эта статья была информативной о том, как обычно работает автоматическое суммирование текста. Обобщение — захватывающая область исследований НЛП со многими потенциальными последующими приложениями, такими как автоматическая генерация заголовков, сводка отчетов и т. д., а также может приносить коммерческую ценность. Для проведения экспериментов одно интересное веб-приложение для обобщения фрагмента текста можно увидеть здесь:
Я бы писал о других темах НЛП. В следующих связанных статьях я буду обсуждать другие задачи НЛП, такие как разрешение кореферентности (то есть кластеризация словесных сущностей, которые корреферируют друг с другом в отрывке). Будьте начеку!
Ваше здоровье! _/\_
P.S. Я также рассмотрел несколько других тем НЛП. Если вам интересно, ознакомьтесь с некоторыми из моих статей ниже:
P.S. Если вы хотите ускорить свое обучение науке о данных, есть очень полезная статья о формировании хороших привычек к обучению:
Спасибо за чтение! Если вам понравился контент, загляните в другие мои статьи на Medium и подпишитесь на меня в LinkedIn.
Поддержите меня! — Если вы не подписаны на Medium и вам нравится мой контент, подумайте о том, чтобы поддержать меня, присоединившись к Medium по моей реферальной ссылке. ».