机器翻译质量评测算法-BLEU

本文介绍机器翻译领域针对质量自动评测的方法-BLEU,让你理解为什么BLEU能够作为翻译质量评估的一种指标,它的原理是什么,怎么使用的,它能解决什么问题,它不能解决什么问题。

什么是BLEU?

BLEU (Bilingual Evaluation Understudy) is an algorithm for evaluating the quality of text which has been machine-translated from one natural language to another. Quality is considered to be the correspondence between a machine’s output and that of a human: “the closer a machine translation is to a professional human translation, the better it is” – this is the central idea behind BLEU. BLEU was one of the first metrics to achieve a high correlation with human judgements of quality, and remains one of the most popular automated and inexpensive metric. — *

解释一下,首先bleu是一种文本评估算法,它是用来评估机器翻译跟专业人工翻译之间的对应关系,核心思想就是机器翻译越接近专业人工翻译,质量就越好,经过bleu算法得出的分数可以作为机器翻译质量的其中一个指标。

为什么要用BLEU?

现实中很多时候我们需要用人工来评价翻译结果的,但这种方式非常慢,并且成本非常高,因为你需要请足够专业的翻译人员才能给出相对靠谱的翻译评估结果,一般这种人工评价都偏主观,并且非常依赖专业水平和经验。

为了解决这一问题,机器翻译领域的研究人员就发明了一些自动评价指标比如BLEU,METEOR和NIST等,在这些自动评价指标当中,BLEU是目前最接近人类评分的。

METEOR和NIST评价指标,笔者还未做深入研究,有机会会针对这几个指标做个对比。

BLEU的原理是什么?

为什么BLEU能作为机器翻译的一个评估指标,还是得看看它的原理是什么。

接下来我们逐个这几个概念:

N-gram
惩罚因子
Bleu算法
N-gram

N-gram是一种统计语言模型,该模型可以将一句话表示n个连续的单词序列,利用上下文中相邻词间的搭配信息,计算出句子的概率,从而判断一句话是否通顺。

BLEU也是采用了N-gram的匹配规则,通过它能够算出比较译文和参考译文之间n组词的相似的一个占比。

例子:

原文: 猫坐在垫子上
机器翻译:The cat sat on the mat.
人工翻译:The cat is on the mat.

我们分别看下1-4 gram的匹配情况:
1-gram
机器翻译质量评测算法-BLEU
可以看到机器翻译6个词,有5个词命中参考以为,那么它的匹配度为 5/6。
2-gram
机器翻译质量评测算法-BLEU
2元词组的匹配度则是 3/5。

3-gram
3元词组的匹配度是1/4。

4-gram
4元词组的匹配情况就没有了。
经过上面的举例你应该很清楚n-gram是怎么计算了吧。一般情况1-gram可以代表原文有多少词被单独翻译出来,可以反映译文的充分性,2-gram以上可以反映译文的流畅性,它的值越高说明可读性越好。这两个指标是能够跟人工评价对标的。

但是它存在一些特殊情况,通过n-gram是没办法反映译文的正确性的,例如:
机器翻译质量评测算法-BLEU
如果计算1-gram的话,你会发现所有the都匹配上了,匹配度是7/7,这个肯定不能反映充分性的,怎么办?

BLEU修正了这个算法,提出取机器翻译译文N-gram的出现次数和参考译文中N-gram最大出现次数中的最小值的算法,具体如下:
机器翻译质量评测算法-BLEU
所以上面修正后的结果应该是count = 7,Max_ref_Count = 2,取它们之间的最小值为2,那么修正后的1-gram的匹配度应该为2/7。

是时候拿出论文中的计算各阶N-gram的精度计算公式:
机器翻译质量评测算法-BLEU
一眼看过去是不是觉得很高大上,看不懂了有木有,解释一下吧:
机器翻译质量评测算法-BLEU
机器翻译质量评测算法-BLEU
如果出现这种短句子,你会发现计算n-gram的精度会得很高分,很显然这次的得分为1,但实际上它的得分应该是比较低的。针对翻译译文长度比参考译文要短的情况,就需要一个惩罚的机制去控制。

惩罚因子
机器翻译质量评测算法-BLEU
机器翻译质量评测算法-BLEU