机器翻译(一):BLEU(bilingual evaluation understudy)

简介

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=wordCCount(word)

现实情况中,使用单个词衡量相似度效果往往不好,而n-gram能够有效改善上述问题。因此,对于整个测试语料,n-gram相似度的计算公式如下

pn=CCandidatesngramCCountclip(ngram)CCandidatesngramCCount(ngram)

得到上述结果后,可以使用“几何平均值”来衡量整个机器译文的质量,BLEU正是这么计算的。另外,由于上述n-gram相似度倾向于给短文本很高的分数(在上述例子中,若机器译文的结果是”the cat”,上述n-gram相似度是 p1=12+12=1 ),BLEU还加入了brevity penalty(BP)来平衡这种倾向。综上所述,BLEU的计算公式如下所示

BLEU=BPexp(n=1Nwnlogpn)(2)

其中
BP=1if c>re1r/c if cr

c 表示机器译文的长度, r 表示有效参考译文的长度。BLEU的知识就介绍到这里,更加详细些的内容可以参考《BLEU: a Method for Automatic Evaluation of Machine Translation》


  1. BLEU: a Method for Automatic Evaluation of Machine Translation ↩

你可能感兴趣的:(nlp)