论文地址
ACL-2002
一、摘要
对机器翻译的人工评估是高代价且无法复用的。该文提出了一种自动评估机器翻译,且独立于语言的方法,方法和人工评估是高度正相关的。每次运行只有少量的边缘代价。
二、介绍
1、Rationale
MT的人工评估通常考虑很多方面:adequacy、fidelity、fluency。
评估成为MT发展的瓶颈,目标:quick、language-independent,and correlates highly with human evaluation。
2、Viewpoint
目标:The closer a machine translation is to a professional human translation
思路:按某种手段,量化机器翻译与其最接近的一个或多个参考人工翻译结果的距离
拆分2个要素:
A)一个量化“翻译距离”的度量方法
B)一个包含高质量人工翻译结果的语料集合
对于A,在语音识别邻域,比较成功的指标是文字错误率(word error rate);文中对齐修改,适应多reference翻译并且允许合法的word的选择和排序。
IDEA:weighted average of variable length phrase matches against the reference translations。加权平均的变长词组匹配。从这个角度出发,根据不同的权重计算模式,衍生出了一个系列的量化方法。
三、The Baseline BLEU Metric
一般的,一个给定源语句,会有很多perfect翻译结果,区别于文字选择or文字顺序。
通过比较候选结果与参考结果的N-gram 匹配个数,就可以简单对候选结果进行rank。
BLEU实现的首要任务是比较候选翻译结果的N-gram与参考结果的N-gram匹配的个数。这些匹配是位置独立的position-independent,匹配个数越多,说明候选翻译越好。为了简单,本文首先集中考虑unigram的匹配。
1、Modified n-gram precision
简单的:
precision=match words(unigrams) in any reference / total words in candidate
But:MT系统能够过度的生成一些看事合理reasonable但是实际不合适的Word,而按照上述方法往往会得到高准确率high-precision,例如example 2:
Candidate: the the the the the the the.
Reference 1: The cat is on the mat.
Reference 2: There is a cat on the mat.
按上述简单方法计算准确率是7/7
因此,需要modified unigram precision(思路:在reference中剔除已经匹配过的word),按如下步骤
A)计算word在任何一个参考翻译结果中出现的最大次数Max_Ref_Count
B)修正分子:clipped Count = min(Count, Max_Ref_Count)
C)计算modified unigram precision = Sum(clipped Count)/ total candidate words
于是:the modified unigram precision in Example 2 is 2/7
modified n-gram precision捕获了2方面指标:adequacy 和 fluency
adequacy:候选与参考中相同的words(1-grams)
fluency:the longer n-gram matches
1)Modified n-gram precision on blocks of text
如何在多语句的测试集合上,计算修正的N-gram准确率?尽管典型的对MT系统的衡量是在整个语料的文档集合上,但我们基础的衡量单元是句子。
一个源语句可能会被翻译成很多的目标语句,这种情况我们视目标语句为一个句子。
A)首先逐句计算n-gram匹配个数
B)之后累加所有的clipped count 并且除以在测试语料中候选N-gram的总数
Precision_N = {∑c in candidate∑n-gram in c (clipped-Count(n-gram) ) }/{∑c` in candidate∑n-gram` in c` (clipped-Count(n-gram`) ) }
注:BLEU成功的关键原因是所有系统都被统一看待,并且考虑不同风格的多个人工翻译结果,会消除不同系统间比较时因为个别语句翻译风格不一致导致的不公平打分。
2)Ranking systems using only modified n-gram precision
从实验结果看,任何一个修正的n-gram 打分是可以区别好(人工)和不好(机器)翻译结果的,尤其是4-gram的区分度最高。
但更高的目标是要区分翻译质量没那么明显的翻译结果,甚至可以区分不同质量的人工翻译结果。
继续试验:
H1:母语非source和target 语言的人工翻译
H2:母语是target语言的人工翻译
S1~3:3个商业翻译系统的翻译结果
reference:2个专业的人工翻译
结论:在1-4 gram上,都显示相同的precision排序结果 H2>H1>S3>S2>S1,值得注意的是,这个排序和人工的判断是一致的。至此,任何一个层级修正的n-gram看起来都是一个鲁棒的量化标准。
3)Combining The modified n-gram precisions
modified n-gram的准确率随着n的增大指数性衰减,一个合理的加权平均的方法需要考虑这个指数衰减的问题。
BLEU采用具有归一化系数的平均对数,等价于使用修正的n-gram 准确率的几何平均数(geometric mean)。注:几何平均数的缺点在于当一个size上的准确率为0时,整体也为0,过于严格;优点是相比于算数平均数,可以导致对人工评估的更好的拟合。经过试验,最大N取4会得到与人工评估最好的相关性。
2、Sentence length
一个好的量化方法需要保证翻译结果不过长同时也不能过短。虽然modified n-gram在一定程度上保证了这点:惩罚在reference中没出现的词,惩罚候选中出现次数超出在reference中次数的词。但是modified n-gram对于过短的翻译结果往往会给出过高的打分。
1)The trouble with recall
传统上,precision会同时伴随着recall指标,来克服这种长度相关的问题。然而,因为BLEU采用多个(Multiple)reference translation,对应于同样一个源语句时,每个结果都存在不同的word选择。并且,一个好的候选翻译结果只会采用(recall)其中一个可能的选择,而不是全部。实际上,recall所有的选择还会导致一个不好的翻译结果,例子如Example 4。因此简单的在所有reference words集合上计算recall不是一个好方法。当然,可以引入同义词,在语义上而不仅是在word层面计算recall。但是考虑到reference翻译结果在长度、Word顺序和语法上都存在变化,这样的计算会变的很复杂。
2)Sentence brevity penalty
候选翻译结果长度超出reference结果的情况已经被modified n-gram方法惩罚过了,没必要再惩罚一遍。于是,该文引入了一个额外的简短惩罚因子(brevity penalty factor)。通过这个因子,得分高的候选翻译结果,必须同时在长度、词语选择、词语顺序同时匹配reference结果。
文章希望当候选结果长度和任一一个reference 结果长度相等时,brevity penalty的值是1.0。注意,最接近closest的reference语句长度被称为最佳匹配长度“best match length”(BML
同时,如果逐句的计算简短惩罚,短句子在长度上偏离样本太多会被惩罚的过于严格。因此,需要在整个语料上计算简短惩罚,允许在长度分布上的一些自由度。
A)在测试语料上,将每个候选语句的最佳匹配长度累加得到有效的reference长度 r=∑BML for each candidate sentence
B)简短惩罚采用以r/c为指数衰减,c是候选翻译语料的全部长度
3)BLEU details
测试语料的modified precision的几何平均数,乘以一个指数的简短惩罚因子。目前大小写转换是子啊计算准确率前唯一一个归一化动作。
BP(brevity penalty)= e^(1-r/c) if c≤r,otherwise 1。c是候选翻译结果的总长度,r是有效reference长度(候选翻译每个sentence的最佳匹配长度之和)
BLEU = BP * e^(∑ 1toN Wn*logPn),后者实际是一个加权的几何平均数。
对上述取Log
Log BLEU = min(1-r/c,0) + ∑ Wn*logPn
在该文的baseline中,取N=4,Wn=1/N
四、The BLEU Evaluation
BLEU打分的取值范围[0,1]。除非翻译结果与某个reference结果完全一致,否则很难获得1分,因此,往往人工翻译结果也不一定是1分。
值得注意的是:每个源语句对应的reference结果越多,BLEU的得分也会越高。因此在比较不同翻译结果好坏时,要确保在相同的reference translation个数的语料集合上。
How many reference translation do we need?
实验结果:a big test corpus with a single reference translation 是合适的选择