Перейти к основному содержимому

Мера 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: оценивает совпадение пар слов, идущих строго подряд (биграмм). Отвечает за локальную связность текста и сохранение коротких устойчивых фраз.

Формула для одного эталона

Если у нас есть один сгенерированный конспект-кандидат cc (candidate) и один эталонный конспект rr (reference summary), классическая формула полноты ROUGE-N выглядит так:

ROUGE-NRecall=n-gramrmin{Countc(n-gram);Countr(n-gram)}n-gramrCountr(n-gram)\text{ROUGE-N}_{\text{Recall}} = \frac{\sum_{\text{n-gram} \in r} \min\{\text{Count}_{c}(\text{n-gram}); \text{Count}_{r}(\text{n-gram}) \}}{\sum_{\text{n-gram} \in r} \text{Count}_r(\text{n-gram})}

В знаменателе подсчитывается общее количество n-грамм в эталонном тексте. В числителе — число совпадений каждой n-граммы в кандидате и эталоне.

Проблема переизбыточной генерации и переход к F1-мере

В исходной статье ROUGE-N задумывалась исключительно как метрика полноты. Однако языковые модели способны обмануть этот подход, генерируя более длинные суммаризации и, в частности, извлекая все предложения исходной статьи. В таком длинном тексте найдутся все эталонные n-граммы, и полнота составит 100%.

Поэтому полезно вычислять не только полноту, но и точность (precision), а итоговый результат сообщать в виде F1-меры:

ROUGE-NPrecision=n-gramrmin{Countc(n-gram);Countr(n-gram)}n-gramcCountc(n-gram)\text{ROUGE-N}_{\text{Precision}} = \frac{\sum_{\text{n-gram} \in r} \min\{\text{Count}_{c}(\text{n-gram}); \text{Count}_{r}(\text{n-gram}) \}}{\sum_{\text{n-gram} \in c} \text{Count}_c(\text{n-gram})}F1=2RecallPrecisionRecall+PrecisionF_1 = \frac{2 \cdot \text{Recall} \cdot \text{Precision}}{\text{Recall} + \text{Precision}}

Это гарантирует, что модель получит высокий балл только в том случае, если она извлекла большинство эталонных фактов, но при этом ее конспект остался кратким.

Расширение на несколько эталонов

Суммаризация — субъективная задача. Несколько людей-асессоров напишут разные конспекты к одной и той же статье. Поэтому в случае, когда доступно несколько эталонных суммаризаций, алгоритм ROUGE вычисляет метрику попарно между текстом-кандидатом cc и каждым эталоном rir_i в отдельности, а затем выбирает максимальное значение:

ROUGE-Nmulti=maxiROUGE-N(ri,c)\text{ROUGE-N}_{\text{multi}} = \max_i \text{ROUGE-N}(r_i, c)

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

Оценка по всей выборке документов

В отличие от метрики BLEU, которая использует микроусреднение при оценке множества текстов, метод ROUGE применяет макроусреднение по корпусу: cначала алгоритм находит балл для каждого суммаризуемого документа, а затем усредняет эти оценки средним арифметическим.

ROUGE-L1: схожесть отдельных предложений

Недостаток меры ROUGE-N заключается в том, что она требует строгого, неразрывного совпадения пар слов.

Рассмотрим следующий пример:

  • Эталон: быстро побежал

  • Генерация: быстро и уверенно побежал

ROUGE-2 зафиксирует ноль совпадений, хотя смысл передан верно!

Для решения этой проблемы была введена вариация ROUGE-L, основанная на алгоритме наибольшей общей подпоследовательности (longest common subsequence, LCS). Такая подпоследовательность не требует, чтобы слова шли строго подряд, главное — это сохранение их относительного порядка.

Примеры вычисления наибольшей общей подпоследовательности (LCS)

Пример 1: вставка новых слов

  • Эталон: кошка спит на коврике (4 слова)
  • Кандидат: кошка мирно спит на большом коврике (6 слов)
  • LCS: кошка спит на коврике. Длина LCS = 4. Алгоритм успешно проигнорировал вставленные слова «мирно» и «большом».

Пример 2: смена порядка слов

  • Эталон: он быстро побежал домой
  • Кандидат: он побежал домой быстро
  • Подпоследовательность не может «возвращаться назад». Общей подпоследовательностью могут быть либо он побежал домой (длина 3), либо он быстро (длина 2). Максимальная длина LCS = 3.

Алгоритм ROUGE-L1 применяется для сравнения двух предложений референса (rr) и генерации (cc).

Введём обозначения:

  • LCS(r,c)|LCS(r, c)| - длина наибольшей общей подпоследовательности rr и cc.

  • r,c|r|,|c| - длина референса и генерации в словах.

В алгоритме ROUGE-L вычисляются полнота, точность и итоговая F1-мера:

Полнота (recall):

Rlcs=LCS(r,c)rR_{lcs} = \frac{|LCS(r, c)|}{|r|}

Точность (precision):

Plcs=LCS(r,c)cP_{lcs} = \frac{|LCS(r, c)|}{|c|}

F1-мера (гармоническое среднее точности и полноты):

F1=2RlcsPlcsRlcs+PlcsF_1 = \frac{2 \cdot R_{lcs} \cdot P_{lcs}}{R_{lcs} + P_{lcs}}
Более общий случай

Для неравномерного учета полноты и точности можно использовать метрику FβF_\beta. Формула имеет вид:

Fβ=(1+β2)RlcsPlcsRlcs+β2PlcsF_\beta = \frac{(1 + \beta^2) R_{lcs} \cdot P_{lcs}}{R_{lcs} + \beta^2 P_{lcs}}

При β>1\beta > 1 метрика отдает больший приоритет полноте (обоснуйте!), а при β<1\beta < 1 — точности. В стандартной реализации F1-меры β=1\beta = 1.

ROUGE-Lsum: схожесть суммаризаций

При сравнении длинных суммаризаций мера ROUGE-L1 станет чувствительна к порядку предложений. Если языковая модель перечислила все правильные факты из эталона, но изменила порядок предложений и абзацев, ROUGE-L1 задетектирует лишь частичное совпадение!

Чтобы решить эту проблему, вычисляется ROUGE-Lsum (известная также как ROUGE-L).

Алгоритм ищет LCS-строку между каждым предложением эталона riRr_i\in R и всем текстом-кандидатом CC. Далее считается объединение всех LCS-строк и длина этого объединения, которая будет уже инвариантна к порядку предложений.

Затем эти уникальные совпадения суммируются по всем предложениям эталона:

Rlcs=i=1uLCS(ri,C)RR_{lcs} = \frac{\sum_{i=1}^u |\cup LCS(r_i, C)|}{|R|} Plcs=i=1uLCS(ri,C)CP_{lcs} = \frac{\sum_{i=1}^u | \cup LCS(r_i, C)|}{|C|}

Здесь R,C|R|,|C| - длины генерации и эталона в словах.

Итоговым значением качества выступает F1F_1-мера (в общем случае FβF_\beta):

F1=2RlcsPlcsRlcs+PlcsF_1 = \frac{2 \cdot R_{lcs} \cdot P_{lcs}}{R_{lcs} + P_{lcs}}
Пример расчета полноты в ROUGE-Lsum.

Пусть эталонный конспект состоит из двух предложений: r1r_1: Вчера выпал пушистый снег. (4 слова) r2r_2: Дети слепили снеговика. (3 слова)

Модель сгенерировала текст-кандидат с измененным порядком фактов, при этом разбив первое предложение: c1c_1: Дети вышли и слепили снеговика. c2c_2: Вчера выпал снег. c3c_3: Он был очень пушистый.

Вычисление LCS\cup\: LCS: Для эталона r1r_1 слова Вчера выпал снег найдутся в c2c_2, а слово пушистый найдется в c3c_3. Оператор объединения объединит эти находки. Итог: 44 уникальных слова найдены. Для эталона r2r_2 слова Дети слепили снеговика найдутся в c1c_1. Итог: 33 слова найдены.

Сумма совпадений: 4+3=74 + 3 = 7, общее количество слов в эталоне тоже 77, поэтому полнота ROUGE-Lsum составит 7/7=1.07 / 7 = 1.0.

Классический ROUGE-L (в виде единой строки) не смог бы получить такой балл из-за другого порядка предложений (снеговик оказался раньше снега). Таким образом, ROUGE-Lsum решает проблему инвариантности к порядку предложений.

Редко используемые вариации ROUGE

  • ROUGE-W (Weighted LCS). Классический ROUGE-L оценивает только общее количество совпавших слов, не учитывая, идут ли они подряд или разбросаны по тексту. ROUGE-W вводит нелинейную весовую функцию, начисляющую больше баллов за непрерывные блоки слов.
  • ROUGE-S (Skip-bigram). Оценивает совпадение пар слов, между которыми может находиться любое количество других слов.
    • ROUGE-S можно считать с ограничением, в котором максимальная дистанция между словами биграммы лимитируется (например, не более 4 слов). Это предотвращает связывание логически независимых слов из разных концов текста.
  • ROUGE-SU (Skip-bigram + Unigram) совмещает ROUGE-S и совпадения по отдельным словам (униграммам).

Эти меры не так популярны в связи со сложностью расчётов и меньшей прозрачностью, поскольку они содержат гиперпараметры, которые можно по-разному специфицировать.

Самыми популярными мерами являются ROUGE-1, ROUGE-2, ROUGE-L1 и ROUGE-Lsum.

Литература

  1. Lin C. Y. Rouge: A package for automatic evaluation of summaries. – Text summarization branches out. – 2004.