机器翻译质量评测算法-BLEU
机器翻译领域常使用BLEU对翻译质量进行测试评测。我们可以先看wiki上对BLEU的定义。
为什么要用BLEU?
现实中很多时候我们需要用人工来评价翻译结果的,但这种方式非常慢,并且成本非常高,因为你需要请足够专业的翻译人员才能给出相对靠谱的翻译评估结果,一般这种人工评价都偏主观,并且非常依赖专业水平和经验。为了解决这一问题,机器翻译领域的研究人员就发明了一些自动评价指标比如BLEU,METEOR和NIST等,在这些自动评价指标当中,BLEU是目前最接近人类评分的。
BLEU的原理是什么?
BLEU作为评价翻译的质量的指标,包含下面几个概念:
- N-gram
- 惩罚因子
- Bleu
N-gram
N-gram是一种统计语言模型,该模型可以将一句话表示n个连续的单词序列,利用上下文中相邻词间的搭配信息,计算出句子的概率,从而判断一句话是否通顺。BLEU也是采用了N-gram的匹配规则,通过它能够算出比较译文和参考译文之间n组词的相似的一个占比。
这里举一个例子:
原文: 猫坐在垫子上
机器翻译:The cat sat on the mat.
人工翻译:The cat is on the mat.
1-gram
可以看到机器翻译6个词,有5个词命中参考以为,那么它的匹配度为 5/6。
2-gram
3-gram
3元词组的匹配度是1/4。
4-gram
4元词组的匹配情况就没有了。
经过上面的举例你应该很清楚n-gram是怎么计算了吧。一般情况1-gram可以代表原文有多少词被单独翻译出来,可以反映译文的充分性,2-gram以上可以反映译文的流畅性,它的值越高说明可读性越好。这两个指标是能够跟人工评价对标的。
但是它存在一些特殊情况,通过n-gram是没办法反映译文的正确性的,例如:
原文:猫坐在垫子上
机器译文: the the the the the the the.
参考译文:The cat is on the mat.
如果计算1-gram的话,你会发现所有the都匹配上了,匹配度是7/7
,这个肯定不能反映充分性的,怎么办?
BLEU修正了这个算法,提出取机器翻译译文N-gram的出现次数和参考译文中N-gram最大出现次数中的最小值的算法,具体如下:
所以上面修正后的结果应该是count = 7,Max_ref_Count = 2,取它们之间的最小值为2,那么修正后的1-gram的匹配度应该为2/7
。
其中,上面部分表示取n-gram在翻译译文和参考译文中出现的最小次数,比如上面的1-gram出现的最小次数是2.
下面部分表示取n-gram在翻译译文中出现次数,比如上面的1-gram出现的次数是7.
机器译文:The cat
参考译文:The cat is on the mat.
如果出现这种短句子,你会发现计算n-gram的精度会得很高分,很显然这次的得分为1,但实际上它的得分应该是比较低的。针对翻译译文长度比参考译文要短的情况,就需要一个惩罚的机制去控制。
惩罚因子:
这里的c是机器译文的词数,r是参考译文的词数,
这样的话我们重新算精度就应该是:
BP = e^(1- 6 / 2) = 7.38905609893065
Bleu算法
经过上面的各种改进,BLEU最终的计算公式如下:
其实,括号里面的部分,就是一些数学运算,它的作用就是让各阶n-gram取权重服从均匀分布,就是说不管是1-gram、2-gram、3-gram还是4-gram它们的作用都是同等重要的。由于随着n-gram的增大,总体的精度得分是呈指数下降的,所以一般N-gram最多取到4-gram。
这里给一个例子,如何具体计算
机器翻译:The cat sat on the mat.
人工翻译:The cat is on the mat.
第一步:计算各阶n-gram的精度
P1 = 5 / 6 = 0.833333333333333
P2 = 3 / 5 = 0.6
P3 = 1 / 4 = 0.25
P4 = 0 / 3 = 0
第二步:加权求和
取权重:Wn = 1 / 4 = 0.25
加权求和:
第三步:求BP
机器翻译长度 = 参考译文长度,所以:
BP = 1
最后求BLEU
写程序的时候,不用费那么大的劲去实现上面的算法,现成的工具就可以用:
from nltk.translate.bleu_score import sentence_bleu reference = [['The', 'cat', 'is', 'on', 'the', 'mat']] candidate = ['The', 'cat', 'sat', 'on', 'the', 'mat'] score = sentence_bleu(reference, candidate) print(score) # 输出结果:0.5946035575013605
BLEU的优缺点?
优点:方便、快速,结果比较接近人类评分。
缺点:
- 不考虑语言表达(语法)上的准确性;
- 测评精度会受常用词的干扰;
- 短译句的测评精度有时会较高;
- 没有考虑同义词或相似表达的情况,可能会导致合理翻译被否定;
BLEU本身就不追求百分之百的准确性,也不可能做到百分之百,它的目标只是给出一个快且不差的自动评估解决方案。
最后
BLEU原理其实并不是很复杂,更多是基于n-gram基础上的优化,写这篇文章的目的也是想梳理清楚BLEU能够解决的问题,还有不能解决的问题,这对自己后续思考如何通过其他手段去更好地提高翻译评估的能力有一定的启发作用。翻译质量评估本身就是MT领域的热门课题,如果我们能够找到一个比BLEU更好的,这将会产生很大的价值。
转载于:https://www.cnblogs.com/chenyusheng0803/p/10554378.html
机器翻译质量评测算法-BLEU相关推荐
- 机器翻译评测方法——BLEU
机器翻译评测方法--BLEU BLEU(Bilingual Evaluation understudy)方法由IBM提出,这种方法认为如果熟译系统魏译文越接近人工翻翻译结果,那么它的翻译质量越高.所以 ...
- CEV模型与质量甜点算法设计
本文来自 Juphoon CTO/VP 钱晓炯在LiveVideoStack 线上交流分享,并由LiveVideoStack整理而成.分享中钱老师介绍了实时视频通信质量评价相关探索实践以及如何根据质量 ...
- AAAI2023 | 基于课程学习的机器翻译质量评估去噪预训练
每天给你送来NLP技术干货! 来自:南大NLP 点击这里进群->加入NLP交流群 01 研究动机 机器翻译质量评估(Quality Estimation, QE)任务指在没有参考译文的情况下,仅 ...
- 讯飞机器翻译质量评估挑战赛Baseline(PaddlePaddle)
赛题简介 比赛地址:点击直达 举办方:科大讯飞股份有限公司 任务类型:质量评估(QE).自然语言回归 赛事背景 机器翻译质量评估(QE)指在没有人工翻译参考下对机器翻译系统译文进行自动打分.一方面,Q ...
- 机器翻译的评价标准BLEU(Evaluation criteria for machine translation)
1.概念 BLEU(bilingual evaluation understudy)在这篇论文中被提出BLEU: a Method for Automatic Evaluation of Machin ...
- 激光雷达点云质量评测趋势开启,国内首家专业测试实验室来了
不久前,全国首家车载激光雷达测试联合实验室在上海正式揭牌,拉开了车载激光雷达量产点云质量测评的序幕. 这是目前国内第一家专项提供激光雷达点云质量测评的测试实验室,由上海机动车检测认证技术研究中心有限公 ...
- 百度视频质量评测的实践之路
视频编解码技术日新月异,新的编解码技术赋予视频业务新的应用场景和新的用户视听体验.同时,视频作为带宽消耗大户,如何在视听体验和视频带宽之间取得最优的平衡是一个永恒的话题.视频质量评测主要用来回答:体验 ...
- 云计算公网质量评测方法和最佳实践
简介:云计算的公网质量评测作为企业上云选型的关键流程已经变得越来越重要,但当前业界并没有一套完整的云计算公网质量的评测方法和原则的指导. 本文对国内和海外的云计算公网质量评测方法做了较深入的分析,并提 ...
- 图像主观质量评价 评分_视频质量评价算法 之 客观评价的性能指标
前言乱语 说完数据集,先给大家结个尾吧(误) 视频质量评估(VQA)第二期 来介绍几个 评价视频质量评价算法的性能评估指标 我发4,没有在套娃...... 简易小目录 SROCC(Spearman r ...
最新文章
- 2018年GPS定位器会发生什么样变化?
- Shell 变量的作用域
- 使用jsp和tld实现javaweb开发
- 在 Windows 窗体 DataGridView 单元格中承载控件
- Apache Rewrite 规则详解
- CSS中的三种样式来源:创作人员、读者和用户代理
- 详解Spring框架的AOP机制
- Hough 圆变换----Matlab实现
- 运维linux脚本实例,Shell脚本使用示例
- 【Computer Organization笔记22】虚拟存储器:段式存储,页式存储
- C++ 需要返回值的函数却没有返回值的情况 单例模式
- 虚机使用技巧几则(经验交流)
- orcad导出BOM
- matlab无法复制图形到剪切板,cad图纸无法复制到剪贴板如何解决
- printf()输出格式大全(附 - 示例代码)
- 算法(一)时间复杂度
- 网站服务器配置在哪里设置,web服务器配置参数 web服务器建立网站具体步骤
- vs2010调试c语言找不到exe文件夹,vs上调试和直接运行exe不同
- 如何使用Nacos实现配置热更新
- 华为的全闪存存储之路