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

В этом учебном пособии дается краткий обзор автоматического суммирования текста как контролируемой задачи НЛП, а также подробно рассматривается метрика, используемая для количественной оценки производительности суммирования.

В эпоху информационного взрыва профессионалы могут потреблять много текста на работе или в повседневной жизни, как правило, в виде отчетов, статей или научных работ. Часто эти тексты содержат детали или уточнения некоторых центральных тем или идей. Однако в этом изобилии текстовых документов иногда нам нужно либо уловить суть определенных документов, либо найти контент, относящийся к основной идее. Сравнимой аналогией может быть беглый просмотр заголовков газеты, хотя название статьи, как однострочник, не является лучшей формой резюме.

Опять же, здесь могут вмешаться машинное обучение и искусственный интеллект, поскольку автоматическое суммирование текста служит важной областью в задаче обработки естественного языка (NLP).

1. Два типа суммирования текста

Обучение автоматическому реферированию текста обычно представляет собой контролируемый процесс обучения, в котором целью для каждого фрагмента текста является соответствующее золотое аннотированное резюме (резюме, управляемое человеком-экспертом). С другой стороны, сводки или прогнозы, созданные моделью после обучения, бывают двух типов:

1.1 Абстрактное обобщение

Резюме — это суть текстового отрывка, который полностью перефразирован, иногда со словами и содержанием, которые могут отсутствовать в исходном отрывке. Таким образом, абстрактное обобщение является сложной задачей и может привести к созданию сводок, которые грамматически или логически непоследовательны. Как правило, для достижения надежных результатов требуется современная архитектура преобразователя.

1.2 Извлекательное обобщение

Извлекающие рефераты, как следует из названия, содержат формулировки и фразы, извлеченные из отрывка исходного текста. Хотя существуют различные методы извлечения, наиболее распространенным и простым является простое извлечение предложений в правильном порядке из отрывка текста. Как правило, первые несколько предложений имеют большее значение для смысла отрывка и часто извлекаются, хотя могут быть извлечены и более поздние предложения отрывка.

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

На основе золотых аннотированных резюме и их количества предложений извлекается соответствующее подмножество предложений из исходного текстового отрывка с наибольшей схожестью. Степень сходства измеряется метрикой, называемой оценка ROUGE, которую мы обсудим позже. Эти извлеченные наборы предложений, основанные на абстрактных резюме с золотыми аннотациями, известны в исследовательском сообществе как резюме оракула. Затем контролируемый процесс обучения экстрактивному обобщению основывается на помеченных предложениях сводок оракула. Наконец, производительность любой модели извлечения — это относительное сравнение оценки ROUGE сгенерированных сводок извлечения и сводок оракула.

P.S. Процесс получения глобального оптимального набора предложений (с максимальной оценкой ROUGE) иногда требует значительных вычислительных ресурсов из-за количества перестановок и обычно аппроксимируется определенными алгоритмами, такими как жадный подход, представленный в статье 2016 года SummaRuNNer: A Рекуррентная модель последовательности на основе нейронной сети для извлечения суммированных документов.

2. Модели суммирования — дополнительная литература

Архитектуры моделей суммирования обычно более сложны и запутаны, поэтому мы не будем обсуждать их в этом простом руководстве. Однако в следующих абзацах мы представим некоторые исследовательские работы и соответствующий им репозиторий кода для дальнейшего чтения и доработки.

До эпохи Трансформеров, представленной в статье 2017 года Внимание — это все, что вам нужно, модели НЛП, управляемые LSTM с механизмом внимания или без него, были менее мощными. Таким образом, модели экстрактивного суммирования оказались более эффективными. Одна из таких моделей выглядит следующим образом:

Нейалсум

После эпохи трансформеров, особенно с появлением архитектур BERT (статья 2018 г., BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding). Таким образом, производительность как абстрактного суммирования, так и экстрактивного суммирования стала надежной. Вот несколько моделей:

BertSum (BertExt и BertAbs)

ПЕГАС

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 по моей реферальной ссылке. ».