Мера BLEU
Мера BLEU (bilingual evaluation understudy, [1]) была предложена для оценки качества генерации языковыми моделями при осуществлении машинного перевода с одного языка на другой.
В целом, при оценке качества машинного перевода эксперты обычно учитывают следующие аспекты:
-
Адекватность (adequacy) — насколько полно и без искажений передан общий смысл.
-
Точность (fidelity) — насколько точно перевод соответствует исходным деталям оригинала.
-
Плавность (fluency) — насколько перевод звучит грамматически корректно и естественно.
Ручная оценка обходится крайне дорого и занимает месяцы работы. Для автоматизации этого процесса была разработана метрика BLEU, которая измеряет качество перевода путем оценки лексического совпадения сгенерированного текста с одним или несколькими эталонными переводами (референсами), созданными профессиональными переводчиками.
Разумно сравнивать не с одним, а с несколькими эталонами, поскольку одно предложение допускает много разных вариантов корректного перевода.
За счёт способности меры BLEU учитывать сходство генерации с несколькими возможными эталонами, эта мера также акт ивно используется для оценки генерации текстов и в других задачах:
-
Генерация текстовых описаний к изображениям (image captioning).
-
Суммаризация текстов (text summarization).
-
Парафразирование предложения с сохранением смысла (paraphrasing).
Модифицированная 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-грамма генерации встречается в каком-либо одном из эталонных переводов. Затем количество совпадений этой n-граммы в тексте-кандидате ограничивается сверху данным значением.
Формула модифицированной точности применяется сразу для всего набора предложений (оцениваемого текстового корпуса), а не для одного отдельного предложения, и выглядит следующим образом:
Здесь используются следующие обозначения:
- — множество всех сгенерированных предложений-переводов в оцениваемом текстовом корпусе.
- — отдельное предложение-кандидат из этого множества.
- — количество фактических вхождений конкретной n-граммы в перевод-кандидат .
- — максимальное количество раз, которое данная n-грамма встречается в каком-либо одном из эталонных переводов для текущего кандидата .
Пример расчета модифицированной точности для униграмм
Вычислим модифицированную точность для униграмм (отдельных слов) для следующего примера.
Кандидат: the cat the cat on the mat
Референс 1: the cat is on the mat
Референс 2: there is a cat on the mat
Текст-кандидат состоит из 7 слов. Подсчитаем частоту появления каждой униграммы в кандидате и найдем ограничение по эталонам:
- Униграмма
the:- Встречается в кандидате 3 раза.
- Максимум в референсах: 2 раза (в референсе 1).
- Засчитано совпадений: .
- Униграмма
cat:- Встречается в кандидате 2 раза.
- Максимум в референсах: 1 раз (есть в обоих референсах по одному разу).
- Засчитано совпадений: .
- Униграмма
on:- Встречается в кандидате 1 раз.
- Максимум в референсах: 1 раз.
- Засчитано совпадений: .
- Униграмма
mat:- Встречается в кандидате 1 раз.
- Максимум в референсах: 1 раз.
- Засчитано совпадений: .
Итого, сумма засчитанных совпадений (числитель формулы) составляет . Общее количество униграмм в кандидате (знаменатель формулы) составляет . Модифицированная точность униграмм равняется .
Аналогично производится расчёт для биграмм и -грамм более высокого порядка.
Объединение модифицированных точностей
Чтобы оценить качество перевода всесторонне, алгоритм BLEU вычисляет модифицированную точность не только для отдельных слов (униграмм), но и для биграмм, триграмм и 4-грамм (до ).
С увеличением длины n-граммы вероятность ее точного совпадения с эталоном быстро убывает (примерно экспоненциально). Если бы мы пытались усреднять эти величины, итоговое значение почти полностью определялось бы униграммами, а вклад более длинных фраз терялся бы на фоне математической погрешности.
Поэтому при агрегации используется не арифметическое, а геометрическое усреднение:
При таком усреднении n-граммы для каждого будут существенно влиять на итоговый показатель качества.
Если модель генерирует текст, в котором нет, например, ни одной правильной 4-граммы, то . В результате итоговый балл становится равен нулю, даже если отдельные слова и фразы были переведены отлично.
Для решения этой проблемы на практике применяется сглаживание, при котором прибавляют небольшую положительную константу к числителю и знаменателю при подсчете модифицированной точности , .
Штраф за краткость
Модифицированная n-граммная точность успешно решает проблему чрезмерно длинных переводов: лишние n-граммы генерации не найдут аналогов в эталонах, что снизит меру качества.
Однако возникает обратная проблема: метод уязвим перед слишком короткими переводами.
Рассмотрим следующий пример:
Эталон:
The cat is lying on the beautiful matГенерация модели:
The cat. Униграммная точность кандидата равняется 2/2, биграммная точность равняется 1/1. Получаем 100% значение критерия, несмотря на потерю большей части текста!
Для решения этой проблемы вводится штраф за краткость (sentence brevity penalty, BP). Этот множитель искусственно занижает итоговую оценку, если сгенерированный перевод оказался короче эталонного:
Здесь
-
— суммарная длина всех предложений-кандидатов в корпусе.
-
— суммарная эффективная референсная длина (сумма длин тех эталонных предложений, которые ближе всего по количеству слов к соответствующим кандидатам).
Если перевод длиннее эталона, штраф не накладывается (это оштрафуется на этапе расчёта модифицированной точности, поскольку не все n-граммы найдут соответствия в эталонах). А вот чем сильнее перевод укорочен по сравнению с эталоном, тем ниже значение множителя и итоговое значение критерия.
Итоговая формула BLEU
Итоговая метрика BLEU вычисляется как произведение штрафа за краткость и среднего геометрического модифицированных n-граммных точностей:
Обратим ещё раз внимание, что для получения объективной оценки качества работы модели метрика BLEU должна вычисляться не для каждого предложения по отдельности с последующим арифметическим усреднением, а сразу для всего тестового корпуса переводов (см. формулу для выше). Этот подход называется микроусреднением. Так сделано специально, чтобы не позволять очень коротким предложениям вносить непропорционально большой вклад в итоговую оценку. Вклад в меру качества при микроусреднении распределяется пропорционально не целым предложениям, а пропорционально отдельным словам текста.
Представленная мера BLEU покрывает основные требования к хорошему переводу:
- Униграммная точность оценивает наличие правильных слов, отвечая за адекватность перевода.
- Точность старших n-грамм (биграмм, триграмм и 4-грамм) вознаграждает правильный порядок слов, отвечая за плавность и естественность звучания.
- Штраф за краткость гарантирует, что модель не отбросила часть оригинального текста, сохраняя точность (fidelity) оригинального содержания.