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

Мера BLEU

Мера BLEU (bilingual evaluation understudy, [1]) была предложена для оценки качества генерации языковыми моделями при осуществлении машинного перевода с одного языка на другой.

В целом, при оценке качества машинного перевода эксперты обычно учитывают следующие аспекты:

  • Адекватность (adequacy) — насколько полно и без искажений передан изначальный смысл).

  • Точность (fidelity) — насколько строго перевод следует исходному содержанию и деталям оригинала)

  • Плавность (fluency) — насколько грамматически корректно и естественно звучит текст.

Ручная оценка обходится крайне дорого и занимает месяцы работы. Для автоматизации этого процесса была разработана метрика BLEU, которая измеряет качество перевода путем оценки лексического совпадения сгенерированного текста с одним или несколькими эталонными переводами (референсами), созданными профессиональными переводчиками.

Разумно сравнивать не с одним, а с несколькими эталонами, поскольку одно предложение допускает много разных вариантов корректного перевода.

Модифицированная n-граммная точность

Расчёт BLEU основан на расчёте доли N-грамм генерации, которые при этом встретились и в эталонах. Поэтому BLEU называют мерой, ориентированной на точность (precision oriented measure). Однако использование классической формулы точности сталкивается с серьезной уязвимостью: модель может чрезмерно генерировать слова, которые формально присутствуют в эталоне, но их повторение лишает текст смысла.

Например, если эталонный перевод звучит как the cat is on the mat, а модель сгенерировала текст-кандидат the the the the the the the, обычная точность совпадения слов (униграмм) составит идеальные 100%, поскольку каждое слово the из кандидата действительно есть в эталоне.

Для решения этой проблемы в BLEU предложено использовать модифицированную n-граммную точность (modified n-gram precision).

Алгоритм вычисляет максимальное количество раз, которое каждая отдельная n-грамма генерации встречается в каком-либо одном из эталонных переводов (MaxRefCount(n-gram))\text{MaxRefCount}(\text{n-gram}))). Затем количество совпадений этой n-граммы в тексте-кандидате ограничивается сверху данным значением.

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

pn=CCandidatesn-gramCmin(CountC(n-gram),MaxRefCount(n-gram))CCandidatesn-gramCCountC(n-gram)p_n = \frac{\sum_{C \in \text{Candidates}} \sum_{\text{n-gram} \in C} \min(\text{Count}_{C}(\text{n-gram}), \text{MaxRefCount}(\text{n-gram}))}{\sum_{C \in \text{Candidates}} \sum_{\text{n-gram} \in C} \text{Count}_{C}(\text{n-gram})}

Здесь используются следующие обозначения:

  • Candidates\text{Candidates} — множество всех сгенерированных предложений-переводов в оцениваемом текстовом корпусе.
  • CC — отдельное предложение-кандидат из этого множества.
  • CountC(n-gram)\text{Count}_{C}(\text{n-gram}) — количество фактических вхождений конкретной n-граммы в перевод-кандидат CC.
  • MaxRefCount(n-gram)\text{MaxRefCount}(\text{n-gram}) — максимальное количество раз, которое данная n-грамма встречается в каком-либо одном из эталонных переводов для текущего кандидата CC.
Пример расчета модифицированной точности для униграмм

Рассмотрим короткий текст-кандидат и два эталонных перевода к нему. Вычислим модифицированную точность для униграмм (отдельных слов).

Кандидат: the cat the cat on the mat

Референс 1: the cat is on the mat Референс 2: there is a cat on the mat

Текст-кандидат состоит из 7 слов. Подсчитаем частоту появления каждой униграммы в кандидате и найдем ограничение MaxRefCount\text{MaxRefCount} по эталонам:

  1. Униграмма the:
    • Встречается в кандидате 3 раза.
    • Максимум в референсах: 2 раза (в референсе 1).
    • Засчитано совпадений: min(3,2)=2\min(3, 2) = 2.
  2. Униграмма cat:
    • Встречается в кандидате 2 раза.
    • Максимум в референсах: 1 раз (есть в обоих референсах по одному разу).
    • Засчитано совпадений: min(2,1)=1\min(2, 1) = 1.
  3. Униграмма on:
    • Встречается в кандидате 1 раз.
    • Максимум в референсах: 1 раз.
    • Засчитано совпадений: min(1,1)=1\min(1, 1) = 1.
  4. Униграмма mat:
    • Встречается в кандидате 1 раз.
    • Максимум в референсах: 1 раз.
    • Засчитано совпадений: min(1,1)=1\min(1, 1) = 1.

Итого, сумма засчитанных совпадений (числитель формулы) составляет 2+1+1+1=52 + 1 + 1 + 1 = 5. Общее количество униграмм в кандидате (знаменатель формулы) составляет 77. Модифицированная точность униграмм p1p_1 равняется 5/75/7.

Аналогично производится расчёт для биграмм и nn-грамм более высокого порядка.

Объединение модифицированных точностей

Чтобы оценить качество перевода всесторонне, алгоритм BLEU вычисляет модифицированную точность не только для отдельных слов (униграмм), но и для биграмм, триграмм и 4-грамм (до N=4N=4).

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

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

exp(1Nn=1Nlnpn)=(n=1Npn)1N\exp \left( \frac{1}{N} \sum_{n=1}^N \ln p_n \right) = \left( \prod_{n=1}^N p_n \right)^{\frac{1}{N}}

При таком типе усреднения итоговая мера будет мала даже если модель плохо работает на n-граммах только одного типа.

Устойчивость к отсутствию n-грамм высокого порядка

Если модель генерирует текст, в котором нет, например, ни одной правильной 4-граммы, то p4=0p_4 = 0. В результате итоговый балл становится равен нулю, даже если отдельные слова и фразы были переведены блестяще.

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

Штраф за краткость

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

Однако возникает обратная проблема: метод уязвим перед слишком короткими переводами.

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

Эталон: The cat is lying on the beautiful mat

Генерация модели: The cat. Униграммная точность кандидата равняется 2/2, биграммная точность равняется 1/1. Получаем 100% значение критерия, несмотря на потерю большей части смысла текста!

Для решения этой проблемы вводится штраф за краткость (sentence brevity penalty, BP). Этот множитель искусственно занижает итоговую оценку, если сгенерированный перевод оказался короче эталонного:

BP={1,если c>rexp(1r/c),если cr\text{BP} = \begin{cases} 1, & \text{если } c > r \\ \exp(1 - r/c), & \text{если } c \le r \end{cases}

Здесь

  • cc — суммарная длина всех предложений-кандидатов в корпусе.

  • rr — суммарная эффективная референсная длина (сумма длин тех эталонных предложений, которые ближе всего по количеству слов к соответствующим кандидатам).

Если перевод длиннее эталона, штраф не накладывается (это оштрафуется на этапе расчёта модифицированной точности, поскольку не все n-граммы найдут соответствия в эталонах). А вот чем сильнее перевод укорочен по сравнению с эталоном, тем ниже значение множителя BPBP и итоговое значение критерия.

Итоговая формула BLEU

Итоговая метрика BLEU вычисляется как произведение штрафа за краткость и среднего геометрического модифицированных n-граммных точностей:

BLEU=BPexp(n=1Nwnlnpn)\text{BLEU} = \text{BP} \cdot \exp \left( \sum_{n=1}^N w_n \ln p_n \right)

Обратим ещё раз внимание, что для получения объективной оценки качества работы модели метрика BLEU должна вычисляться не для каждого предложения по отдельности с последующим арифметическим усреднением, а сразу для всего тестового корпуса переводов. Этот подход называется микроусреднением.

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

В конечном итоге, итоговая метрика BLEU элегантно покрывает требования к хорошему переводу, о которых мы говорили в начале:

  • Униграммная точность оценивает наличие правильных слов, отвечая за адекватность перевода.
  • Точность старших n-грамм (биграмм, триграмм и 4-грамм) вознаграждает правильный порядок слов, отвечая за плавность и естественность звучания.
  • Штраф за краткость гарантирует, что модель не отбросила часть оригинального текста, сохраняя точность (fidelity) оригинального содержания.

Литература

  1. Papineni K., Roukos S., Ward T., Zhu W. J. BLEU: a method for automatic evaluation of machine translation. – Proceedings of the 40th annual meeting of the Association for Computational Linguistics. – 2002.