Мера ROUGE
При разработке языковых моделей, решающих задачи автоматической суммаризации текстов (реферирования), возникает необходимость автоматической оценки качества сгенерированных конспектов. Для этих целей была предложена метрика ROUGE (Recall-Oriented Understudy for Gisting Evaluation, [1]).
В основе семейства метрик ROUGE лежит подсчет совпадающих фрагментов между сгенерированным текстом и эталонными конспектами, написанными людьми. Этими фрагментами могут выступать как классические n-граммы (ROUGE-N), так и наибольшие общие подпоследовательности (ROUGE-L), позволяющие находить общие структуры предложений даже при наличии пропущенных или добавленных слов. ROUGE органично учитывает, что верных вариантов сгенерированного текста может быть несколько. Поэтому она также находит широкое применение в следующих задачах:
- Генерация ответов на вопросы.
- Генерация описаний к изображениям.
- Машинный перевод (в паре с BLEU).
Недостатки метрик WER и BLEU для суммаризации
Метрика WER требует строгого совпадения сгенерированного текста с эталоном. Однако суммаризация — крайне вариативная задача. Одну и ту же статью можно сократить десятками разных способов, используя различные синонимы и меняя структуру предложений, что не будет корректно отражено в мере качества.
Метрика BLEU была создана для машинного перевода и фокусируется на точности (precision) — она проверяет долю корректно сгенерированных n-грамм среди всех предсказанных, гарантируя, что модель не сгенерировала избыточной нерелевантной информации, что логично в задаче машинного перевода, однако при суммаризации для нас важна не только точность, но и полнота (насколько полно передана информация реферируемого текста).
ROUGE-N: Оценка по n-граммам
Базовая вариация метрики, ROUGE-N, оценивает полноту совпадения n-грамм между сгенерированным текстом и эталоном.
Наиболее часто используются:
- ROUGE-1: оценивает совпадение отдельных слов (униграмм). Отвечает за проверку того, сохранила ли модель ключевые факты и термины.
- ROUGE-2: оценивает совпадение пар слов, идущих строго подряд (биграмм). Отвечает за локальную связность текста и сохранение коротких устойчивых фраз.
Формула для одного эталона
Если у нас есть один сгенерированный конспект-кандидат (candidate) и один эталонный конспект (reference summary), классическая формула полноты ROUGE-N выглядит так:
В знаменателе подсчитывается общее количество n-грамм в эталонном тексте. В числителе — число совпадений каждой n-граммы в кандидате и эталоне.
В исходной статье ROUGE-N задумывалась исключительно как метрика полноты. Однако языковые модели способны обмануть этот подход, генерируя более длинные суммаризации и, в частности, извлекая все предложения исходной статьи. В таком длинном тексте найдутся все эталонные n-граммы, и полнота составит 100%.
Поэтому полезно вычислять не только полноту, но и точность (precision), а итоговый результат сообщать в виде F1-меры:
Это гарантирует, что модель получит высокий балл только в том случае, если она извлекла большинство эталонных фактов, но при этом ее конспект остался кратким.
Расширение на несколько эталонов
Суммаризация — субъективная задача. Несколько людей-асессоров напишут разные конспекты к одной и той же статье. Поэтому в случае, когда доступно несколько эталонных суммаризаций, алгоритм ROUGE вычисляет метрику попарно между текстом-кандидатом и каждым эталоном в отдельности, а затем выбирает максимальное значение:
Таким образом, сгенерированный конспект будет считаться хорошим, если он окажется очень похожим хотя бы на одну из эталонных суммаризаций. Это эффективно решает проблему множественности подходящих решений задачи.
Оценка по всей выборке документов
В отличие от метрики BLEU, которая использует микроусреднение при оценке множества текстов, метод ROUGE применяет макроусреднение по корпусу: cначала алгоритм находит балл для каждого суммаризуемого документа, а затем усредняет эти оценки средним арифметическим.
ROUGE-L1: схожесть отдельных предложений
Недостаток меры ROUGE-N заключается в том, что она требует строгого, неразрывного совпадения пар слов.
Рассмотрим следующий пример:
Эталон:
быстро побежалГенерация:
быстро и уверенно побежалROUGE-2 зафиксирует ноль совпадений, хотя смысл передан верно!
Для решения этой проблемы была введена вариация ROUGE-L, основанная на алгоритме наибольшей общей подпоследовательности (longest common subsequence, LCS). Такая подпоследовательность не требует, чтобы слова шли строго подряд, главное — это сохранение их относительного порядка.
Примеры вычисления наибольшей общей подпоследовательности (LCS)
Пример 1: вставка новых слов
- Эталон:
кошка спит на коврике(4 слова) - Кандидат:
кошка мирно спит на большом коврике(6 слов) - LCS:
кошка спит на коврике. Длина LCS = 4. Алгоритм успешно проигнорировал вставленные слова «мирно» и «большом».
Пример 2: смена порядка слов