机器翻译的评价标准BLEU(Evaluation criteria for machine translation)

版权声明:博客仅供参考,有什么意见,请在下方留言,转载时请附上链接,谢谢! https://blog.csdn.net/u010105243/article/details/78137897

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= mw=77=1
其中m:机器翻译的句子中的单词在标准答案中的个数;w:机器翻译句子中单词的个数。机器翻译的每一个词语都在标准的答案中,accuracy=1,但是很明显这没有任何意义。
这里要解决的问题在于:机器翻译出的句子中同一个单词的出现个数>标准答案中同一个单词出现的个数,怎么办?

Note:如果机器翻译出的句子某个单词个数>答案中的,取答案中出现的次数
如果机器翻译出的句子中某个单词个数<答案中的,取翻译出该单词的个数

3.例子:机器翻译译文长度太短

机器翻译的句子:The cat
标准的答案1:The cat is on the mat
标准的答案2:There is a cat on the mat
计算一下accuracy:

P=22=1

the和cat都在答案中出现,而且翻译的句子长度为2,因此accuracy为100%,又是100%的准确率…,但是这个翻译也是很差啊,那么这个又是什么问题呢?
刚刚只考虑到了准确率,召回率呢?
1-gram(unigram)召回率:R= 27
2-gram召回率: R=36
综合召回率和准确率就不行了,一般来说,参考答案10个词语,翻译出来的结果也应该接近10个左右,
BLEU基于此进行修改…

4.BLEU公式

n-gram:句子中连续的n个单词,长度为18的句子有18个1-gram(unigram),17个2-gram
将机器翻译的句子表示为 ci ,标准答案表示为

Si=si1,...sim

n-grams表示n个单词长度的词组集合,令 wk 第k个n-gram
比如这样的一句话,”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则按下式计算

Pn=ikmin(hk(ci),maxjmhk(sij))ikmin(hk(ci))

- m表示有m个标准答案

  • maximhk(sij) 表示某n-gram在多条标准答案中出现最多的次数

  • ikmin(hk(ci),maxjmhk(sij)) 表示取n-gram在翻译译文和标准答案中出现的最小次数,即对应的第一个问题

  • 分母表示机器翻译译文中所有n-gram的总和

该公式解决了第一个问题,因此在机器翻译语句输出较短的句子表现更好,此时需要对该公式进行进一步的修改,即长度的惩罚因子(Brevity Penalty)

BP=1e1lslcififlc>lslc<=ls

  • 其中 lc 表示机器翻译译文 ci 的长度
  • ls 表示标准答案 sij 的有效长度,当存在多个参考译文时,选取和翻译译文最接近的长度

BLEU是一个n-grams的加权几何平均,按照下面的公式进行计算:

BLEU=BP×exp(n=1NlogPn)

一般来说,N可以取4, wn=1n

这就是BLEU-4,本质上BLEU是一个n-grams精确度的加权几何平均,最后的结果是机器翻译的译文中n-gram正确匹配次数与其中所有n-gram出现的次数的比值
容易理解1-gram、2-gram确保翻译的充分性,相关性,是不是该翻译的都翻译了,没有遗漏的
3-gram, 4-gram确保了翻译的流畅性、

猜你喜欢

转载自blog.csdn.net/u010105243/article/details/78137897