机器翻译(一):BLEU(bilingual evaluation understudy)
2017-10-18 23:04
701 查看
简介
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 |
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 ↩
相关文章推荐
- BLEU:Bilingual evaluation understudy
- Study Under a Word-Study Program
- 机器翻译评价指标之BLEU详细计算过程
- Think in dataset under evaluation of TensorFlow object detection API
- BLEU: a Method for Automatic Evaluation of Machine Translation
- 机器翻译评测——BLEU改进后的NIST算法
- BLEU,ROUGE,METEOR,ROUGE-浅述自然语言处理机器翻译常用评价度量
- [文献阅读] Bleu: a Method for Automatic Evaluation of Machine Translation
- 机器翻译的评价标准BLEU(Evaluation criteria for machine translation)
- 利用BLEU进行机器翻译检测(Python-NLTK-BLEU评分方法)
- monday - a study day
- 蔡琴 -《蔡琴2004 银色月光下演唱会》(Under The Moon Light)AC3 5.1CH
- My study of VC++ ( FrameWnd and toobar refered )
- Installing CS 1.1 under DNN 3.1
- Study UML with Rational Rose
- System level Programming study(1)
- .net study link
- must study and do action now!!!
- .net good study
- Different ways to install kernel hooks under Windows NT based systems