简介
BLEU1(bilingual evaluation understudy)最早由IBM提出,用来评价翻译质量,该评价指标重点关注
相同文本下,机器与人翻译结果的近似程度
即机器译文与参考译文的相似程度。
算法
根据第一部分的介绍可知,BLEU可以评价机器译文与参考译文的相似度,但它是如何实现的呢?一种简单粗暴的方法是:统计同时出现在机器译文和参考译文中的词的个数,最后把匹配词的数目除以机器译文的单词数目,便是相似度。这种方法可以用如下公式表示:
P=mwt(1)
其中 m 表示能够在参考译文找到的机器译文词, wt 表示机器译文词的总数。为了便于理解,这里简单举一个例子
机器译文 | the | the | the | the | the | the | the |
---|---|---|---|---|---|---|---|
参考译文 | the | cat | is | on | the | mat | |
参考译文 | there | is | a | cat | on | the | mat |
根据公式 (1) 可知,此时相似度为
P=77=1
此时相似度无法反应真实的翻译效果。显然, m 的计算方式是导致相似度失真的重要因素。为此,引入一种新的计算方式:
Countclip(word)=min{Count(word), MaxRefCount(word)}
其中 Count(word) 表示词在机器译文中的出现次数, MaxRefCount(word) 是该词在参考译文中出现的最大次数。对应上面的例子,“the”在参考译文一中出现了两次,在参考译文二中出现了一次,那么 Countclip(word)=2 ,进而
P=Countclip(word)wt=27
根据上述定义, wt 的计算公式如下所示
wt=∑word∈CCount(word)
现实情况中,使用单个词衡量相似度效果往往不好,而n-gram能够有效改善上述问题。因此,对于整个测试语料,n-gram相似度的计算公式如下
pn=∑C∈Candidates∑n−gram∈CCountclip(n−gram)∑C′∈Candidates∑n−gram′∈C′Count(n−gram′)
得到上述结果后,可以使用“几何平均值”来衡量整个机器译文的质量,BLEU正是这么计算的。另外,由于上述n-gram相似度倾向于给短文本很高的分数(在上述例子中,若机器译文的结果是”the cat”,上述n-gram相似度是 p1=12+12=1 ),BLEU还加入了brevity penalty(BP)来平衡这种倾向。综上所述,BLEU的计算公式如下所示
BLEU=BP∙exp(∑n=1Nwnlogpn)(2)
其中
BP=⎧⎩⎨1if c>re1−r/c if c≤r
c 表示机器译文的长度, r 表示有效参考译文的长度。BLEU的知识就介绍到这里,更加详细些的内容可以参考《BLEU: a Method for Automatic Evaluation of Machine Translation》
- BLEU: a Method for Automatic Evaluation of Machine Translation ↩