来源

像seq2seq这样的模型,输入一个序列,输出一个序列,它的评分不像文本分类那样仅仅通过label是否一样来判断算出得分。比如机器翻译,它既要考虑语义,还要考虑语序。所以,在2002年一位国外的大牛(是的,没错基本木有中国人。。)Papineni et.al. 提出了Bleu方法,在Bleu:A method for automatic evaluation of machine translation中。

Bleu维基百科:BLEU (Bilingual Evaluation Understudy) is an algorithm for evaluating the quality of text which has been machine-translated from one natural language to another.

简单理解就是评价机器翻译的一个标准算法,但是Bleu也不仅仅局限于机器翻译,在文本摘要等应用也可以有同样的作用。

原理

举个例子:

第一句是法语,需要把它翻译成英语;下面两个Reference句子是标准答案的参考(下面告诉你这个怎么用),最后一句就是机器翻译的句子。(举这个特例例子是也是因为会感受到机器学习评价算法的不断优化过程)

首先从一开始的Precision精确度说起:

Precision:就是看机器翻译的句子里的一个一个单词是不是在Reference中出现过,出现的话分子加1,其中该句子的长度值为分母,其实也就是计算该句子的出现的词在已给答案中出现的概率,这个很明显是7/7=1

但是,很明显这个方法是不合理的,比如在Reference中出现过一次的词就不能再参与计数了。随后,为了提出更加完善的方法,有人提出了modified recision 翻译为“修正的精确度”。

modified recision 还以这个为例:

其中设count为机器翻译的句子的词在本句子中出现的词数,count_clip为该句子中的词在Reference中对应的词出现的词数(如果两个都有,则选取最大的)评分为count_clip / count

现在我匹配 the,其中Reference1的the个数为2大于Reference2的the个数1,则the这个词的就选取值最大的Reference,即count_clip=2。因为这个句子就这一个词,count=7所以,评分为2/7。

上述可以说在unigram上,也就是一个词一个词,现在来说说Bleu在bigram上的计算:

bigram就是两个词作为一个大词(也就是一个串),这里为:

这个也很明显,结果为:

所以评分为:4/6

像这样,我们能推出n-gram的评分值为:

其中Candidate就是机器翻译出来的句子,即候选句子的意思。

很明显,如果一个机器翻译出来的句子和答案一样,那么它的P1,P2,。。。Pn都会为1.0。但是我们一般不会把n设为该句子的长度,根据前辈和论文中经常用到的值,我们得出P4是最合适的。也就是到4-gram就可以了。

但是想想为什么要用到n-gram呢?我觉得是这样的:

P1,也就是用unigram计算句子的词的精确度,用Pn,n>1的ngram来计算句子的流畅度!

现在我们来说另一个问题:

因为我们要把P1-4都要用起来,一起来评价,最好merge到一起,用一个值来表示。但是怎么merge到一起呢?大牛们说了:

merge到一起就该想到万能的一个数:e

对,就是这样(大牛们具体是这么做的):

首先将他们取和在平均(以n=4为例):

然后在乘一个值BP brevity penalty 目的是为了对短句子的惩罚:

大结局:

其中 =1/n, n一般为4

ok,就这样吧。如果有疑问,欢迎提出来,我们一起探讨!!

参考资料:

一种机器翻译的评价准则—Bleu

http://blog.csdn.net/qq_21190081/article/details/53115580

Andrew课程

以上图片来自于以上两种资料


更多精彩内容,请关注 深度学习自然语言处理 公众号,就是下方啦!跟随小博主,每天进步一丢丢!哈哈!

Bleu:此'蓝'非彼蓝相关推荐

  1. Windows由于在创建转储期间出错,创建转储文件失败导致的蓝底白字蓝屏重启,最全细解决方案

    problem 1.蓝底白字蓝屏重启 2.系统日志发现转储文件失败 3.最近换过固态硬盘(图文无关) Analyse 1.什么是转储文件 可能是虚拟内存,也可能是崩溃时的Debug信息.. 2.怎么创 ...

  2. 千锋和蓝欧html5,蓝鸥零基础学习HTML5第六讲 CSS的常见样式

    CSS的常见样式 1.css文本样式的设置 html> Document div { font-size:160px; font-family: "sans-Serif"; ...

  3. java蓝光_蓝光文件解析

    随着网络带宽.硬盘容量.屏幕分辨率等基础条件的提升,人们观影的要求也从标清.高清一路上升到4K.UHD. 蓝光影碟(BD Disc)是DVD的升级版,可以作为超高清影片的载体. 由于一些大家都懂的原因 ...

  4. 台式计算机蓝屏代码08e,Windows8.1开机蓝屏提示蓝屏代码0x000008e怎么修复?

    Windows8.1兼容性问题一直被用户所诟病,很多时候Windows8.1蓝屏也是由于兼容性引起,比如蓝屏代码0x000008e错误的蓝屏就是由于硬件兼容性错误导致的,下面我们来看下Windows8 ...

  5. 华为服务器系统蓝屏,服务器主机蓝屏

    服务器主机蓝屏 内容精选 换一换 云服务器创建后区域固定,不能将云服务器转移到另一个区域,也不能将云服务器转移到另一个帐号.您可以通过镜像迁移方式实现云服务器的跨帐号跨区域迁移.服务器迁移的常见场景与 ...

  6. vscode win10笔记本 蓝屏_win10蓝屏错误代码大全详解

    在使用Win10系统的过程中,有时会遇到蓝屏问题,蓝屏是Windows专有的一种错误, 蓝屏是操作系统为了保护硬件而产生的蓝屏,但蓝屏代码有上百种,一般由于遇到软件冲突.系统文件出错,驱动不兼容,硬件 ...

  7. 联想服务器系统蓝屏,联想电脑蓝屏并提示“STOP:0X0000007B的原因分析和解决方法...

    ‍ 电脑系统出现蓝屏,是常见的电脑故障之一,通常会提示一个错误代码,蓝屏死机并提示"STOP:0X0000007B"的错误,通常是硬盘的存储控制器驱动加载错误导致的.下面以联想电脑 ...

  8. 红蓝对抗-红蓝对抗经验总结

    红蓝对抗经验总结 文章目录 红蓝对抗经验总结 前言 红蓝对抗思路 公司敏感信息网上收集 资产梳理 只给出了公司名字 查找该公司有关的所有主域名 收集所有主域名的所有子域名 通过IP查找该公司的网段 给 ...

  9. 关于ps图标上传到蓝湖,蓝湖下载svg格式图标空白解决办法

    平常我们从阿里矢量图或者其他矢量图下载下来的图标放到ps以后,都会自动栅格化或者生成智能对象, 但是这并不是我们想要的,我们明明下载的矢量图,为啥就变成智能对象或者栅格化了呢?因为ps不支持处理矢量图 ...

  10. php工程导致系统蓝屏,经常蓝屏是什么原因

    经常蓝屏的原因:1.错误安装或更新显卡驱动后导致电脑蓝屏:2.超频过度是导致蓝屏:3.安装的软件存在不兼容:4.电脑内部硬件温度过高:5.内存条接触不良或内存损坏. 错误更新显卡驱动 错误安装或更新显 ...

最新文章

  1. 低成本运行 Spark 数据计算
  2. 概率假设密度滤波 matlab,高斯混合概率假设密度滤波器
  3. 积跬步以至千里_《荀子》名句76则:不积跬步,无以至千里;不积小流,无以成江海...
  4. 【洛谷P4707】重返现世【扩展Min-Max容斥】【dp】
  5. Magento: 获取产品评论 get all reviews with review summary
  6. 程序员50题(JS版本)(二)
  7. ATK插件化开发:AtkPlug,AtkSocket
  8. 『Delphi』File not found的解决办法
  9. Proteus 8.9下载安装指南
  10. EJB开发web service
  11. 网站压力测试工具,不用安装,在线进行【强烈推荐】
  12. 3PAR存储双活LUN扩容方法
  13. Android 自定义动态Drawable实现动态指针时钟功能
  14. 关于胶囊检测的思考-代码实现
  15. StringBuffer的常用方法
  16. python连接MySQL数据库的示例代码
  17. 存储术语中的LUN概念
  18. 小象学院之python实例
  19. ATI X200驱动安装
  20. 与OneNote 2007共享OneNote 2010笔记本

热门文章

  1. 设计模式09-组合模式
  2. XNA 三维入门讲解
  3. 关于nginx性能优化CPU参数worker_cpu_affinity使用说明
  4. DMA驱动开发(6,参考资料)有用链接
  5. java day06【类与对象、封装、构造方法】
  6. Python生态工具、文本处理和系统管理(虚拟)
  7. SqlServer转换为Mysql(mss2sql)
  8. rabbitmq 消息持久化
  9. 分治算法——在真币中找出伪币
  10. 黑马程序员——java基础---IO(input output)流字符流