NLP机器翻译任务中,如何用Bleu score评价翻译质量(学习心得)

机器翻译的一大难题是,一句法语句子,可以有多种英文翻译,这些翻译都是非常好的
那怎么去评估一个机器翻译系统的质量是不是好呢?
这不像图像识别,只有一个正确答案

通常我们有 BLEU score(Bilingual Evaluation Understudy 双语评估替补) 来解决

  • 在戏曲界,understudy 指的是候补演员

在这里插入图片描述

假设我们拿到一句法语
同时得到几个人类翻译的结果(都是对的,也都很准确)

Bleu score 所做的,给定一个机器生成的翻译,自动计算一个分数,衡量机器翻译的好坏
下意识我们认为,只要机器翻译和其中任何一个人类翻译很接近,那就应该得到一个高的 Bleu score
Bleu score 来源于 Kishore Papineni, Salim Roukos, Todd Ward, Wei-Jing Zhu 发表的一篇非常有影响力的论文(读起来不费劲,老师建议可以读一下)

我们要做的是,看机器翻译 MT 的结果中,有多少词在人类的翻译参考中出现

  1. 一种方法叫做 Precision(精确度):看机器翻译的每一个词,有没有在翻译参考中出现。在上面的案例中,虽然全是 the 是一个非常糟糕的翻译结果,但是 Precision = 7/7 = 1(感觉这种衡量方法不靠谱)
  2. 改良后叫做 Modified precision:我们会设定最高权重上限,比如第一句翻译参考中,the 出现了 2 次;第二句中, the 出现了 1 次,那权重上限就是 2。这样 Modified precision = 2/7

在这里插入图片描述

在 Bleu score 中,我们不仅关注 单词,还关注词组(其实就是相邻的词对 bigrams)

  1. 这个例子中,一共有 5 种 bigrams 的组合
  2. 分别数一下出现的次数
  3. 分别数一下在翻译参考中出现的次数
  4. 最终 modified bigram precision = 4/6

在这里插入图片描述

可以将其公式化
这里的 P1 下标 1 表示的是 一元词组
推广到 n 元词组

如果机器翻译的结果和参考翻译中的某一句完全相同,那么 P1 = P2 = … = Pn = 1
也有可能通过某种组合各个参考翻译得到结果为 1

在这里插入图片描述

最终,我们把以上结合起来,获得最后的 Bleu score
即求所有 P 值的平均,然后取个 e 指数
然后在前面加上一个 BP 参数(brevity penalty 简短惩罚)

  • BP 的作用在于,如果输出一个非常短的句子,那很容易得到 Bleu score 的高分,所以我们要防止这个情况的出现
  • BP 在机器翻译长度大于人类翻译长度的时候取值为 1,否则产生惩罚
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值