Что такое BLEU, ROUGE и METEOR?

BLEU, ROUGE и METEOR — это автоматические метрики оценки качества сгенерированного текста (например, в задачах машинного перевода, автоматической генерации текста, реферирования). Все они сравнивают сгенерированный моделью текст (candidate) с эталонным/человеческим текстом (reference). Эти метрики не оценивают смысл или логичность напрямую, но позволяют количественно оценить степень совпадения между текстами.

BLEU (Bilingual Evaluation Understudy)

Разработана для оценки машинного перевода. Это одна из первых и наиболее популярных метрик.

Основные идеи:

  • Сравниваются n-граммы (n-grams) между сгенерированным текстом и эталоном.

  • Считается доля совпавших n-грамм: от uni- до 4-грамм.

  • Используется модифицированная прецизионная метрика: учитываются повторения в candidate, но не более количества повторений в reference.

  • Применяется brevity penalty — штраф за слишком короткий перевод.

Формула (упрощённо):

BLEU=BP⋅exp⁡(∑n=1Nwn⋅log⁡pn)BLEU = BP \cdot \exp\left( \sum_{n=1}^{N} w_n \cdot \log p_n \right)

где:

  • pnp_n — модифицированная n-граммная прецизия,

  • wnw_n — веса (обычно равномерные),

  • BPBP — brevity penalty: exp⁡(1−rc)\exp(1 - \frac{r}{c}), если c<rc < r, иначе 1 (где cc — длина candidate, rr — длина reference).

Пример:

Candidate: the cat is on the mat
Reference: there is a cat on the mat

Совпавшие 1-граммы: the, cat, on, the, mat
Итог: BLEU ≈ 0.68 (в зависимости от длины и совпадений)

Особенности:

  • Хорошо работает при наличии нескольких референсов.

  • Плохо учитывает синонимы, перефразировки и порядок слов.

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)

Разработана для оценки автоматического реферирования, но также применяется в других задачах генерации текста.

Основные варианты ROUGE:

  • ROUGE-N — основана на n-граммных совпадениях (по сути, recall для n-грамм):
    ROUGE-N=∑совпавших n-грамм∑n-грамм в referenceROUGE\text{-}N = \frac{\sum \text{совпавших n-грамм}}{\sum \text{n-грамм в reference}}
  • ROUGE-L — использует длину наибольшей общей подпоследовательности (LCS) между candidate и reference.

  • ROUGE-W — взвешивает совпадения LCS, учитывая непрерывность.

  • ROUGE-S — skip-биграммы: пары слов, встречающиеся в том же порядке, но не обязательно подряд.

Отличия от BLEU:

  • BLEU — precision-ориентированный, ROUGE — recall-ориентированный.

  • ROUGE лучше подходит для задач, где важно, чтобы генерация покрывала как можно больше важных слов из reference (например, summarization).

METEOR (Metric for Evaluation of Translation with Explicit ORdering)

Предложена для устранения недостатков BLEU. Учитывает точные совпадения, синонимы, словоформы и порядок слов. Разработана в Carnegie Mellon University.

Этапы оценки:

  1. Точное совпадение слов между candidate и reference.

  2. Лемматизация и стемминг: сопоставление схожих слов (например, "run" и "running").

  3. Синонимы: используется WordNet для нахождения синонимов.

  4. Выравнивание: строится оптимальное выравнивание совпавших слов.

  5. **Оценка precision, recall и penalty за несогласованность порядка слов.
    **

Основная формула:

Fmean=10⋅P⋅RR+9⋅PF_{mean} = \frac{10 \cdot P \cdot R}{R + 9 \cdot P} METEOR=Fmean⋅(1−Penalty)METEOR = F_{mean} \cdot (1 - Penalty)

где:

  • PP — precision,

  • RR — recall,

  • Penalty — штраф за "chunk fragmentation" (нарушение порядка слов).

Преимущества:

  • Более чувствительна к качеству перевода.

  • Лучше учитывает перефразировки.

  • Более коррелирует с оценками человека, чем BLEU.

Сравнение BLEU, ROUGE и METEOR

Метрика Основа Ориентация Учитывает порядок? Синонимы/Леммы Подходит для
BLEU n-граммы Precision Частично (через n-граммы) Нет Машинный перевод
--- --- --- --- --- ---
ROUGE n-граммы, LCS Recall Да (в ROUGE-L) Нет Реферирование, генерация
--- --- --- --- --- ---
METEOR Сопоставление слов F-measure Да (через penalty) Да Перевод, обобщение
--- --- --- --- --- ---

Примеры использования

  • Машинный перевод:

    • BLEU и METEOR — основные метрики. BLEU популярнее, но METEOR более чувствительна.
  • Автоматическое реферирование:

    • ROUGE-L и ROUGE-2 — де-факто стандарты.
  • Диалоговые системы и генерация ответа:

    • METEOR и ROUGE — чаще BLEU, так как могут лучше обрабатывать разнообразие формулировок.
  • Текстовые генеративные модели (GPT, T5 и др.):

    • METEOR и ROUGE применяются в валидации; BLEU — редко из-за слабой чувствительности к семантической вариации.

Примеры реализации

С использованием HuggingFace Datasets:

from datasets import load_metric
metric = load_metric("bleu")
metric.compute(predictions=\[\["the", "cat", "is", "on", "the", "mat"\]\],
references=\[\[\["there", "is", "a", "cat", "on", "the", "mat"\]\]\])
Для ROUGE:
metric = load_metric("rouge")
metric.compute(predictions=\["The cat is on the mat."\],
references=\["There is a cat on the mat."\])

Для METEOR:

metric = load_metric("meteor")
metric.compute(predictions=\["the cat is on the mat"\],
references=\["there is a cat on the mat"\])

Каждая из метрик имеет свои слабые и сильные стороны, и часто в практике используется сразу несколько для комплексной оценки качества модели генерации.