[DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标
5.3序列模型与注意力机制
觉得有用的话,欢迎一起讨论相互学习~Follow Me
3.6Bleu得分
在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题。 常见的解决方法是通过BLEU得分来进行判断
评价机器翻译Evaluating machine translation
Papineni K. Bleu:A Method for Automatic Evaluation of Machine Translation[J]. Proc Acl, 2002.
- 示例 法语句子 :Le chat est sur le tapis
- 人工翻译参考1 The cat is on the mat
- 人工翻译参考2 There is a cat on the mat
- 实际上两个翻译都能准确地翻译了这个法语句子,BLEU得分做的就是给定一个机器生成的翻译,这个算法能够自动地计算一个分数来评价机器翻译的好坏。如果机器翻译的语句能够与任意一个人工翻译参考相近,其就会得到很高的BLEU分数。
BLEU 代表 bilingual evalution understudy--双语评估替补 在戏剧界,替补演员通过学习资深演员以能够在适当时机替代资深演员。 BLEU 相当于请评估员人工评估机器翻译系统,BLEU得分 相当于一个候补者代替人类来评估机器翻译的每一个翻译结果。 BLEU得分 背后的理念是 观察机器生成的翻译,然后看生成的词是否至少出现在一个人工翻译参考之中 因此这些人工翻译的参考会包含在开发集或测试集中
观察输出结果的每一个词看起是否出现在人工参考中
- 衡量机器翻译输出质量的方法之一是 观察输出结果的每一个词看起是否出现在人工参考中,这被定义为机器翻译的精确度
- 机器翻译结果MT 假设机器翻译得到一个极端的解:the the the the the the the
- 这种情况下,得到了7个单词,并且这七个单词都出现在了两个参考中,因此根据定义这个输出的精确度是7/7 ,看上去这个结果十分好但是实际结果却不是这样。
所以把出现在参考中的词在MT输出的所有词中所占的比例作为精确度评估标准并不是很有用
改良后的精确度评估方法
- 机器翻译结果MT 假设机器翻译得到一个极端的解:the the the the the the the
把每个词的计分上限定位它在参考句子中出现的最多次数, 在参考一中单词 the 出现了2次,所以上限是2。参考二中,单词the只出现了1次,取参考句子中单词出现的最大值,所以单词“the”的计分上限是2 所以机器翻译结果最终的分数是 2/7
二元组BLEU得分 Bleu score on bigrams
- 考虑BLEU得分不仅只考虑单个单词,还应该考虑成对的单词(相邻的单词组)的得分
- 示例 法语句子 :Le chat est sur le tapis
- 人工翻译参考1 The cat is on the mat
- 人工翻译参考2 There is a cat on the mat
- MT机器翻译 The cat the cat on the mat
- 机器翻译中的二元组
- Count_Clip(截断计数) 定义为算法的得分上限,上限值为二元词组出现在参考1和参考2中的最大次数。
- 所以改进后的 Bleu分数 即为 Count_Clip之和除以Count之和
Bigrams Count Count_Clip the cat 2 1 cat the 1 0 cat on 1 1 on the 1 1 the mat 1 1 - 此例中 Bleu分数 为 \(\frac{4}{6}\)
N元组BLEU得分
- 一元组Bleu得分 \[P_1=\frac{\sum_{unigram\in \hat{y}}count_{clip}(unigram)}{\sum_{unigram\in \hat{y}}count(unigram)}\]
- N元组Bleu得分 \[P_n=\frac{\sum_{n-gram\in \hat{y} }count_{clip}(n-gram)}{\sum_{n-gram\in \hat{y}}count(n-gram)}\]
Bleu 得分细节
- \(P_n\) 表示n元词组这一项的BLEU得分,为了使用一个数值来评价一个机器翻译系统,需要将\(P_1,P_2,P_3,P_4...\)的数值整合进行计算。
- \[Bleu score=BPexp(\frac{1}{4}\sum^{4}_{n=1}P_n)\]
- 使用BP进行 简短惩罚(brevity penalty) ,意思是 如果机器翻译输出了一个非常简短的翻译,则其很容易得到一个高分的Bleu值(输出的大部分词可能都出现在参考之中,但是如果我不想要很简短的翻译,则需要使用到简短惩罚) ,其是一个惩罚项,能够惩罚输出了太短的 机器翻译系统
- 公式
- 即如果 机器翻译的长度 大于 人工翻译输出的长度 ,BP=1,而其他情况下 BP的定义会遵从一个式子,从而减小Bleu得分的值。
- Bleu得分 是一个 单一实数评价指标 ,其在 机器翻译 和 图片描述 中应用广泛,用以评价机器生成的语句和实际人工生成的结果是否相近。
[DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标的更多相关文章
- [DeeplearningAI笔记]序列模型3.7-3.8注意力模型
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.7注意力模型直观理解Attention model intuition 长序列问题 The problem of ...
- [DeeplearningAI笔记]序列模型3.3集束搜索
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一 ...
- [DeeplearningAI笔记]序列模型3.2有条件的语言模型与贪心搜索的不可行性
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.2选择最可能的句子 Picking the most likely sentence condition lan ...
- [DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和 ...
- [DeeplearningAI笔记]序列模型1.1-1.2序列模型及其数学符号定义
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1什么是序列模型 在进行语音识别时,给定了一个输入音频片段X,并要求输出片段对应的文字记录Y,这个例子中的输入和输出都输 ...
- [DeeplearningAI笔记]序列模型3.9-3.10语音辨识/CTC损失函数/触发字检测
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.9语音辨识 Speech recognition 问题描述 对于音频片段(audio clip)x ,y生成文本 ...
- [DeeplearningAI笔记]序列模型3.1基本的 Seq2Seq /image to Seq
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1基础模型 [1] Sutskever I, Vinyals O, Le Q V. Sequence to Se ...
- [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...
- [DeeplearningAI笔记]序列模型1.7-1.9RNN对新序列采样/GRU门控循环神经网络
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采 ...
随机推荐
- Codeforces Round #613 Div.1 D.Kingdom and its Cities 贪心+虚树
题目链接:http://codeforces.com/contest/613/problem/D 题意概述: 给出一棵树,每次询问一些点,计算最少删除几个点可以让询问的点两两不连通,无解输出-1.保证 ...
- 团队项目成员与题目(本地地铁查询app)
团队名称:Daydreaming团队成员及其特点:张运涛:能快速与团队成员中的每一位进行合作,能全面考虑遇到的问题,善于总结积累.能较好的理解老师与其他人员的想法要求.刘瑞欣:做事果断,善于领导,有想 ...
- ipv6问题
1)百度搜索:针对苹果最新审核要求为应用兼容IPv6 2) ipV6测试网址:http://test-ipv6.com/ http://ipv6.jmu.edu.cn/ http://ipv6test ...
- lintcode-442-实现 Trie
442-实现 Trie 实现一个 Trie,包含 insert, search, 和 startsWith 这三个方法. 注意事项 你可以假设所有的输入都是小写字母a-z. 样例 insert(&qu ...
- oracle和DB2的差异
1.简介 当今IT的环境正经历着剧烈的变化,依靠单一的关系型数据库管理系统(RDBMS)管理数据的公司开始逐渐减少.分析家的报告指出 ,今天超过90%的公司都拥有不只一种RDBMS.在现在紧张的经济情 ...
- 使用 python 管理 mysql 开发工具箱 - 2
这篇博文接着上篇文章<使用 python 管理 mysql 开发工具箱 - 1>,继续写下自己学习 python 管理 MySQL 中的知识记录. 一.MySQL 的读写分离 学习完 My ...
- IOC与DI(xml 配置)
Spring可以帮助我们管理软件开发过程中的对象,以及如何创建和维护对象之间的关系. Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,可以将组建的耦合度降至最低,即实现解耦 ...
- 对IT行业的看法和对软件工程的理解
现在社会上IT行业的人才需求越来越大,而作为一个学软件工程的大学生,我认为IT行业是一个前景十分强大的发展方向,而且现在的社会越来越信息化,未来的生活中,电脑肯定是不可缺少的,所以我认为IT行业这是一 ...
- 【leetcode】300.Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence. For example, ...
- Java实现的词频统计——单元测试
前言:本次测试过程中发现了几个未知字符,这里将其转化为十六进制码对其加以区分. 1)保存统计结果的Result文件中显示如图: 2)将其复制到eclipse环境下的切分方法StringTokenize ...