BLEU score - 机器翻译的衡量标准
BLEU(bilingual evaluation understudy) 被用来衡量双语翻译片段的翻译质量。
他的评价标准也很简单,机器翻译的的结果越接近exprerts的翻译结果,那么机器翻译的效果越好。
BLEU 分数是一个综合分数,机器翻译的段落得到的分数越高,则说明该机器翻译的效果越好。
在BLEU metric中占主要影响的有两个部分:1. n-gram的准确性;2. Brevity Penalty
我们在做BLEU分数计算的时候,需要准备的是待测的机器翻译的语句 $ S$, 以及一系列由expert(专业人士)翻译的语句 ${ S_1, S_2, …S_n}$.
N-gram的准确性
一个好的机器翻译的句子将会和expert翻译的句子之间有很多重合的部分。
通常情况下,如果我们只计算机器翻译句子 $S$ 的precision,即对于 $S$ 中存在的 n-gram的片段,需要看它是否存在于expert翻译的那些句子中。所以按照precision的公式,我们得到的准确率是,对于机器翻译的句子,在expert翻译的句子中出现的单词的个数比该句中总共的单词数。但是这种计算方法存在一些问题,比如说机器翻译的句子是七个同样的常用冠词 the, 这个冠词也在expert翻译的句子中出现。如果按照之前计算precision的方法,那么我们这里得到的precision 将是1. 但很明显,这句机器翻译的话是不正确的。因此,我将会将N-gram precision稍作修改。
这里做出的调整就是,对于在 $S$ 中存在的 n-gram的片段而言,我们会将它的数量clip到reference中出现的最大次数。
对于例子而言,也就是说,在the作为uni-gram时,我们计算它的准确的次数由7次(7个the都在expert翻译句中出现)改变为 2次(expert翻译句中,一句话最多出现两次the),有一些recall 的感觉。
这里做出的clip长度的修改,就叫做modified n-gram precision. 在BLEU metric中,用logrithm average来统计不同n的情况下,平均准确度为
这里的 $w_n$ 表示的是各项的权重,此处的 $w_n = \frac{1}{N}$
Brevity Penalty
另一个存在于机器翻译句中的问题是,翻译的句子是否包含了原句中所有的信息。若翻译的信息不完整,我们也能得到很高的modified precision的值。
所以在平均precision的基础上,我们会再加上长度的penalty,即,
这里的 $c$ 用来表示机器翻译的句子的长度,$r$ 表示expert翻译的句子的长度。
最终 BLEU 的表示方式为:
BLEU的分数处于 0 - 1 之间。