您的位置:首页 > 编程语言 > Lua

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

2017-10-18 23:04 701 查看

简介

BLEU1(bilingual evaluation understudy)最早由IBM提出,用来评价翻译质量,该评价指标重点关注

相同文本下,机器与人翻译结果的近似程度

即机器译文与参考译文的相似程度。

算法

根据第一部分的介绍可知,BLEU可以评价机器译文与参考译文的相似度,但它是如何实现的呢?一种简单粗暴的方法是:统计同时出现在机器译文和参考译文中的词的个数,最后把匹配词的数目除以机器译文的单词数目,便是相似度。这种方法可以用如下公式表示:

P=mwt(1)

其中m表示能够在参考译文找到的机器译文词,wt表示机器译文词的总数。为了便于理解,这里简单举一个例子

机器译文thethethethethethethe
参考译文thecatisonthemat
参考译文thereisacatonthemat
根据公式(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: