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\frac{m}{w}=\frac{7}{7}=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

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

4.BLEU公式

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

Si=si1,...sim

S_i={s_{i1},...s_{im}}
n-grams表示n个单词长度的词组集合,令 wkw_k第k个n-gram
比如这样的一句话,”I come from china”,
第1个2-gram为:I come
第2个2-gram为:come from
第3个2-gram为:from china

  • hk(ci)h_k(c_i)表示wkw_k翻译选译文cic_i中出现的次数
  • hk(sij)h_k(s_{ij})表示wkw_k在标准答案sijs_{ij}中出现的次数

BLEU则按下式计算

Pn=∑i∑kmin(hk(ci),maxj∈mhk(sij))∑i∑kmin(hk(ci))

P_n=\frac{\sum_i\sum_k min(h_k(c_i),max_{j\in m}h_k(s_{ij}))}{\sum_i\sum_k min(h_k(c_i))}
- m表示有m个标准答案

  • maxi∈mhk(sij)max_{i\in m}h_k(s_{ij})表示某n-gram在多条标准答案中出现最多的次数

  • ∑i∑kmin(hk(ci),maxj∈mhk(sij))\sum_i\sum_k min(h_k(c_i),max_{j\in m} h_k(s_{ij}))表示取n-gram在翻译译文和标准答案中出现的最小次数,即对应的第一个问题

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

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

BP=⎧⎩⎨⎪⎪1e1−lslcififlc>lslc<=ls

BP= \begin{cases} 1&if& l_c>ls\\\\ e^{1-\frac{l_s}{l_c}}& if& l_c

  • 其中lcl_c表示机器翻译译文cic_i的长度
  • lsl_s表示标准答案sijs_{ij}的有效长度,当存在多个参考译文时,选取和翻译译文最接近的长度

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

BLEU=BP×exp(∑n=1NlogPn)

BLEU=BP \times exp(\sum_{n=1}^{N}logP_n)
一般来说,N可以取4, wn=1nw_n=\frac{1}{n}

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

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

  1. 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结

    <Gradient-guided Loss Masking for Neural Machine Translation>https://arxiv.org/pdf/2102.13549. ...

  2. 文档级机器翻译综述:A Survey on Document-level Machine Translation: Methods and Evaluation

    文档级机器翻译综述:A Survey on Document-level Machine Translation: Methods and Evaluation author:Sameen Maruf ...

  3. 机器翻译质量评测算法-BLEU

    机器翻译领域常使用BLEU对翻译质量进行测试评测.我们可以先看wiki上对BLEU的定义. BLEU (Bilingual Evaluation Understudy) is an algorithm ...

  4. 商用计算机可信系统,可信计算机系统安全评价标准.ppt

    可信计算机系统安全评价标准 安全操作系统 可信计算机系统安全评价标准 第一个计算机安全评价标准 TCSEC(Trusted Computer System Evaluation Criteria),即 ...

  5. 实在智能参与中文自然语言理解评价标准体系(CLUE)阶段性进展回顾

    「实在智能」简介 「实在智能」(杭州实在智能科技有限公司)是一家人工智能科技公司,聚焦大规模复杂问题的智能决策领域,通过AI+RPA技术打造广泛应用于各行业的 智能软件机器人,即"数字员工& ...

  6. 机器学习(二十三)——Beam Search, NLP机器翻译常用评价度量, 模型驱动 vs 数据驱动

    https://antkillerfarm.github.io/ Beam Search Beam Search(集束搜索)是一种启发式图搜索算法,通常用在图的解空间比较大的情况下,为了减少搜索所占用 ...

  7. 文本检测与识别评价标准

    多种文本检测算法性能对比及算法介绍 (https://blog.csdn.net/qq_39707285/article/details/108754444) 本文介绍文本检测和文本识别的Evalua ...

  8. 百度燎原计划2018强势回归 开放深度学习工程师评价标准

    人工智能时代风口在燃烧,百度希望让每个人都能用上AI.4月20日,百度"燎原计划2018"暨百度AI开发者实战营第二季强势回归,首站北京即放送三大满足各类开发者需求的"超 ...

  9. 记录一下增加标定评价标准的过程

    我建立标定评价标准的思路是 :标定完成之后,点击图像中的某个点(这个点我们知道它的世界坐标),用程序算出这个点标定矫正之后的世界坐标,和真实的世界坐标相比,这个差值用于衡量标定结果是否准确. 如何让点 ...

最新文章

  1. [转]mysql性能的检查和调优方法
  2. python 有效的字母异位词
  3. 换个角度入门 K8s
  4. 如何使用计算机改进生产线,第四章 计算机生产管理.doc
  5. 2021.9.23模拟
  6. 太棒了!PyTorch 1.7发布,支持CUDA 11、Windows分布式训练
  7. 计算机英语讲课笔记02
  8. 利用mysql数据库中_利用mysql和mysqli取得mysql的所有数据库和库中的所有表
  9. Windows 帐号管理相关操作
  10. mysql的简单实用_MySQL的简单实用 手把手教学
  11. dedecms有缩略图则显示缩略图,没有则显示随机缩略图
  12. java设置user.dir_使用java系统属性user.dir读取配置文件
  13. 国产手机下乡难以撼动山寨手机农村市场
  14. html 磁贴自动布局,也来“玩”MetroUI之磁贴(一)_html/css_WEB-ITnose
  15. [计算机基础]浮点数在计算机中的表示
  16. Qt:QPushButton 单击、双击响应区分
  17. android N 移除 webview
  18. 用python画卡通图_需要用Python和OpenCV制作一张卡通漫画版的图片
  19. Android 三种拨号方式(kotlin)
  20. 数据库开发与设计规范

热门文章

  1. Tableau基础 Tableau 数据集的使用
  2. 一位小公司CTO的成长历程
  3. php解决中文乱码,PHP中文乱码的常见解决方法总结
  4. chinaren同学录的字数倒记数
  5. Java Beans 是什么?
  6. 海康、大华IP摄像机RTSP地址及格式详解
  7. python识别人脸多种属性_9种人脸情绪识别、22类人脸属性、 15类皮肤质量识别,竹间智能要让情感机器人更理解人...
  8. 微信公众号自定义功能页开发流程
  9. 北京金普蝶:让客户满意就是最好的营销!
  10. Games101,作业7(多线程提速)