1.概念
BLEU(bilingual evaluation understudy)在这篇论文中被提出BLEU: a Method for Automatic Evaluation of Machine Translation
BLEU是一种衡量机器翻译质量的评价标准。一种基于精确度的相似性度量方法,先看一下面的句子:
2.例子:n-gram在机器翻译译文和标准答案中出现次数不一致
机器翻译的句子:The the the the the the the.
标准的答案1:The cat is on the mat
标准的答案2:There is a cat on the mat
按照accuracy的计算方法:
P=
其中m:机器翻译的句子中的单词在标准答案中的个数;w:机器翻译句子中单词的个数。机器翻译的每一个词语都在标准的答案中,accuracy=1,但是很明显这没有任何意义。
这里要解决的问题在于:机器翻译出的句子中同一个单词的出现个数>标准答案中同一个单词出现的个数
,怎么办?
Note:如果机器翻译出的句子某个单词个数>答案中的,取答案中出现的次数
如果机器翻译出的句子中某个单词个数<答案中的,取翻译出该单词的个数
3.例子:机器翻译译文长度太短
机器翻译的句子:The cat
标准的答案1:The cat is on the mat
标准的答案2:There is a cat on the mat
计算一下accuracy:
the和cat都在答案中出现,而且翻译的句子长度为2,因此accuracy为100%,又是100%的准确率…,但是这个翻译也是很差啊,那么这个又是什么问题呢?
刚刚只考虑到了准确率,召回率呢?
1-gram(unigram)召回率:R=
2-gram召回率:
综合召回率和准确率就不行了,一般来说,参考答案10个词语,翻译出来的结果也应该接近10个左右,
BLEU基于此进行修改…
4.BLEU公式
n-gram:句子中连续的n个单词,长度为18的句子有18个1-gram(unigram),17个2-gram
将机器翻译的句子表示为
n-grams表示n个单词长度的词组集合,令
比如这样的一句话,”I come from china”,
第1个2-gram为:I come
第2个2-gram为:come from
第3个2-gram为:from china
-
hk(ci) 表示wk 翻译选译文ci 中出现的次数 -
hk(sij) 表示wk 在标准答案sij 中出现的次数
BLEU则按下式计算
- m表示有m个标准答案
maxi∈mhk(sij) 表示某n-gram在多条标准答案中出现最多的次数∑i∑kmin(hk(ci),maxj∈mhk(sij)) 表示取n-gram在翻译译文和标准答案中出现的最小次数,即对应的第一个问题- 分母表示机器翻译译文中所有n-gram的总和
该公式解决了第一个问题,因此在机器翻译语句输出较短的句子表现更好,此时需要对该公式进行进一步的修改,即长度的惩罚因子(Brevity Penalty)
- 其中
lc 表示机器翻译译文ci 的长度 -
ls 表示标准答案sij 的有效长度,当存在多个参考译文时,选取和翻译译文最接近的长度
BLEU是一个n-grams的加权几何平均,按照下面的公式进行计算:
一般来说,N可以取4,
这就是BLEU-4,本质上BLEU是一个n-grams精确度的加权几何平均,最后的结果是机器翻译的译文中n-gram正确匹配次数与其中所有n-gram出现的次数的比值
容易理解1-gram、2-gram确保翻译的充分性,相关性,是不是该翻译的都翻译了,没有遗漏的
3-gram, 4-gram确保了翻译的流畅性、