Метрики оценки в обработке естественного языка — BLEU

В этой серии статей мы собираемся обсудить метрики оценки, характерные для вариантов использования в области обработки естественного языка. Наиболее распространенными задачами в НЛП являются автоматическое обобщение, ответы на вопросы, машинный перевод. Целью этих показателей является определение качества прогнозируемого текста с учетом входного текста. Прогнозируемый текст называется кандидатом, а возможные правильные или целевые тексты называются ссылками.
Эти показатели основаны на некоторых основных показателях, таких как отзыв, точность и F1-Score. Если вы не знакомы с этими показателями, ознакомьтесь с этой статьей, посвященной им: отзыв, точность, F1-Score . Концепция n-грамм также важна для расчета и понимания этих показателей.
Приведенные ниже метрики обычно используются для машинного перевода или автоматического суммирования, но их можно применять и к любой другой задаче, связанной с парами входного и целевого текста. Наряду с оценкой моделей эти показатели также можно использовать для настройки гиперпараметров моделей машинного обучения. В первом посте мы обсудим метрику BLEU, которая часто используется для оценки машинного перевода.
Двуязычный дублер оценки (BLEU)
Оценка BLEU измеряет качество прогнозируемого текста, называемого кандидатом, по сравнению с набором ссылок. Для одного кандидата в задачах «От последовательности к последовательности» может быть более одной правильной/эталонной ссылки. Следовательно, важно тщательно выбирать ссылки и включать все возможные ссылки. Оценка BLEU — это мера, основанная на точности, и она варьируется от 0 до 1. Чем ближе значение к 1, тем лучше прогноз. Невозможно достичь значения 1, и обычно значение выше 0,3 считается хорошим результатом.
В следующем разделе мы видим расчет BLEU для одного предсказанного предложения для иллюстрации, за которым следует расчет корпуса.
Точность
Если мы вспомним (каламбур не предназначен) определение точности из нашего предыдущего поста, это True Positives/(True Positives + False Positives). В этом контексте Истинные Положительные результаты — это все совпадающие n-граммы между кандидатом и эталоном. Ложные срабатывания здесь можно рассматривать как n-граммы, которые появляются в кандидате, но отсутствуют в эталоне. Это означает, что точность можно получить, разделив количество совпадающих n-грамм на общее количество n-грамм в кандидате.
Reference: "Transformers make everything quick and efficient"
Candidate: "Transformers Transformers Transformers Transformers"
Модифицированная точность (MP)
Для расчета модифицированной точности количество n-грамм усекается на основе максимального количества раз, когда он появляется в ссылках. В приведенной ниже формуле он обозначается как Max_Ref_Count.

В нашем примере из предыдущего раздела Трансформеры появляются только один раз в ссылках и 4 раза в кандидатах. min (4, 1), и измененная точность теперь составляет 1/4 = 0,25. Это значение ниже и, следовательно, дает нам лучшую оценку качества прогноза.
В качестве обобщения формула для MP приведена ниже. Для всех кандидатов в корпусе подсчитывается и суммируется количество совпавших n-грамм со ссылками. Это делится на сумму количества всех n-грамм в ссылках.

Штраф за краткость (BP)
Иногда для более длинных предложений кандидаты могут быть очень маленькими и отсутствовать важная информация относительно ссылки. Рассмотрим пример ниже:
Reference: "Transformers make everything quick and efficient through
parallel computation of self-attention heads"
Candidate: "Transformers make everything quick and efficient"
Введите, Штраф за краткость (BP). Этот термин используется для наказания слишком коротких прогнозов по сравнению со ссылками. Это 1, если длина кандидата больше эталонной длины. Если длина кандидата меньше эталона, подразумевается, что r/c > 1, (1 — (r/c)) меньше и имеет место экспоненциальный спад.
Среднее геометрическое всех измененных значений точности до N вычисляется и умножается на BP, чтобы получить окончательный балл BLEU. Здесь N — порядок n-грамм, который следует использовать для расчета. Как правило, это 4, т. е. для расчета учитываются уни-, би-, три- и тетраграммы. Они взвешиваются с помощью весов, обозначенных w_1, w_2,…, которые в сумме дают 1 на основе N. Для N = 4 они равны w_1 = w_2 = w_3 = w_4 = 1/4.

Для приведенного выше примера предложения мы видим, что BP рассчитывается как exp(1 — (reference_length/translation_length)) = exp(1 — (6/12)) = 0,37. Это значение, умноженное на MP (1, поскольку мы используем только униграммы), дает гораздо более низкий показатель BLEU, равный 0,37 вместо 1, что объясняет отсутствующие n-граммы.
В этом посте мы использовали униграммы для простоты вычислений. Однако их часто недостаточно для оценки кандидатов, поскольку здесь игнорируется порядок слов. Например, кандидат «Эффективные трансформеры делают быстрые прогнозы» меняет смысл предложения, но дает высокий балл MP (0,6), поскольку в справочнике есть совпадающие слова. Чтобы этого избежать, баллы лучше оценивать 2–4 граммами.
Корпус СИНИЙ
Для простоты понимания до сих пор мы использовали одну текстовую пару, но оценка BLEU обычно рассчитывается для всего корпуса с одной или несколькими ссылками для каждого кандидата.
Давайте теперь рассчитаем оценку BLEU для приведенного ниже корпуса. Предположим, что кандидаты являются результатами системы перевода.
import evaluate
bleu = evaluate.load('bleu')
predictions = ["Transformers Transformers are fast plus efficient",
"Good Morning", "I am waiting for new Transformers"]
references = [
["HuggingFace Transformers are quick, efficient and awesome",
"Transformers are awesome because they are fast to execute"],
["Good Morning Transformers", "Morning Transformers"],
["People are eagerly waiting for new Transformer models",
"People are very excited about new Transformers"]
]
results = bleu.compute(predictions=predictions, references=references,
max_order = 2)
print(results)
{'bleu': 0.5037930378757725,
'precisions': [0.7142857142857143, 0.5454545454545454],
'brevity_penalty': 0.8071177470053892, 'length_ratio': 0.8235294117647058,
'translation_length': 14, 'reference_length': 17}
Точно так же вычислите измененную точность с биграммами, которая является вторым значением в массиве точности в выходных данных.
Веса здесь равны w_1, w_2 равны 1/2, поскольку максимальный порядок равен всего 2. Затем среднее геометрическое значений точности умножается на BP, чтобы получить окончательный результат. Для расчета BP общая длина кандидата равна 14(c), а эффективная эталонная длина равна 17(r). Эффективная длина ссылки рассчитывается путем суммирования n-грамм в ссылках, которые находятся ближе к кандидату. Здесь для Reference — 1 выбрано первое предложение с 8 токенами, Reference-2 и 3 имеют 2 и 7 токенов во вторых предложениях.
Окончательный расчет BLEU,
Total MP = (0.7142857142857143)^0.5 * (0.5454545454545454)^0.5
Total MP = 0.6241878
Since c < r,
BP = exp(1 - (17/14)) = 0.8071177
BLEU = BP * Total MP = 0.8071177 * 0.6241878 = 0.503793
Rounded BLEU score = 0.5
- Оценка BLEU легко рассчитывается и широко используется.
- Было замечено, что оценка BLEU имеет высокую корреляцию с человеческим суждением о качестве прогноза.
- Синонимы n-грамм не рассматриваются до тех пор, пока они не присутствуют в качестве одной из ссылок. Это связано с тем, что значение n-грамм не принимается во внимание. Например, фразы «Трансформеры быстрые и эффективные» и «Трансформеры работают быстро» имеют одинаковое значение, но оценка BLEU-1 составляет всего 0,2.
- Проблему порядка слов нельзя решить, используя только n-граммы более высокого порядка. Например, кандидат «Трансформеры быстрые и эффективные» со ссылкой «Трансформеры быстрые и эффективные» дает высокий балл BLEU-2 (0,87), но перевод нельзя считать правильным.
- Оценка BLEU сильно различается в зависимости от таких факторов, как количество ссылок, методы нормализации и токенизации и т. д. По этой причине их трудно использовать для сравнения наборов данных, в которых используются разные методы.
использованная литература
Я студент магистра наук о данных @ TU Dortmund. Не стесняйтесь связаться со мной в LinkedIn для получения любых отзывов о моих сообщениях или любого профессионального общения.