BLEU计算

BLEU计算BLEU 就是用来衡量机器翻译文本与参考文本之间的相似程度的指标 取值范围在 0 1 取值越靠近 1 表示机器翻译结果越好 最初的 BLEU 最初的 BLEU 计算特别简单 通常的讲 当我们自己计算两个文本之间的相似程度的时候 我们会考虑单词的频率 最早的 BLEU 就是采用了这种思想 计算方法是 使用一个累加器表示 candidate 中的词在 referencedoc 中出现的次数 从 can

BLEU 就是用来衡量机器翻译文本与参考文本之间的相似程度的指标,取值范围在0-1, 取值越靠近1表示机器翻译结果越好。

最初的BLEU

BLEU计算
根据这个例子和上述的算法, 可以很容易的计算当前文本的precision. 整个candidate doc 的单词长度为7, 而且每一个单词都在reference doc里面出现过, 所以此时累加值为7, 因此准去度为: 

P=7/7=1

但是实际上这个翻译非常不理想, 这也是最初的BLEU评估指标不完善的地方, 当遇到出现较多常见词汇时, 翻译质量不高的译文还能够得到较高的precision, 因此也诞生了后续的改良型BLEU计算指标的算法.

改良型BLEU(n-gram)

改良型BLEU. 上面提到的计算BLEU的方法是以单个词为基准进行计算. 改良型的BLEU引入将多个词组合在一起形成一个gram的思想, 比如最初版的Bleu的计算可以看做一个单词构成的gram(这是一种特殊情况), 这种特殊组合被叫做uni-gram, 两个单词的组合叫做bi-gram 以此类推. 因此就可以构成1个单词长度到n个单词长度的多种单词组合(每一种单词长度可能存在不同的组合). 每一种长度的gram都可以计算出一个相应的precision PnPn. 对于该种长度gram 的precision我们还需要把它们整合起来, 一般使用加权集合平均的方法将nn个计算出的precision整合成一个precision. 因此BLEU指标. 公式的推导过程如下: 


BLEU计算

短译句的惩罚因子

上面的算法已经足够可以有效的翻译评估了,然而N-gram的匹配度可能会随着句子长度的变短而变好,因此会存在这样一个问题:一个翻译引擎只翻译出了句子中部分句子且翻译的比较准确,那么它的匹配度依然会很高。为了避免这种评分的偏向性,BLEU在最后的评分结果中引入了长度惩罚因子(Brevity Penalty)。

shortsentence

BLEU计算

对于n-gram:

  • 对candidate和references分别分词(n-gram分词)
  • 统计candidate和references中每个word的出现频次
  • 对于candidate中的每个word,它的出现频次不能大于references中最大出现频次
    这一步是为了整治形如the the the the the这样的candidate,因为the在candidate中出现次数太多了,导致分值为1。为了限制这种不正常的candidate,使用正常的references加以约束。
  • candidate中每个word的出现频次之和除以总的word数,即为得分score
  • score乘以句子长度惩罚因子即为最终的bleu分数
    这一步是为了整治短句子,比如candidate只有一个词:the,并且the在references中出现过,这就导致得分为1。也就是说,有些人因为怕说错而保持沉默。

    BLEU 

      BLEU计算

      BLEU的原型系统采用的是均匀加权,即Wn=1/N 。N的上限取值为4,即最多只统计4-gram的精度。


      由于各N-gram统计量的精度随着阶数的升高而呈指数形式递减,所以为了平衡各阶统计量的作用,对其采用几何平均形式求平均值然后加权,再乘以长度惩罚因子,得到最后的评价公式:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231421.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QListWidget的QSS用法「建议收藏」

    QListWidget的QSS用法「建议收藏」本文完全是转载如下网址博客内容,如有侵权,请及时通知,博主会删除。原文地址:https://blog.csdn.net/u011125673/article/details/51753997QListWidget和QTableWidget的使用和属性,QTableWidget和QListWidget样式表的设置,滚动条的样式设置一、QListWidget的使用//一、QListWidgetli…

    2022年6月5日
    317
  • datatables pagehelper分页问题

    datatables pagehelper分页问题

    2021年5月12日
    120
  • 时间协议ntp服务器,时间服务器NTP搭建及NTP协议简介

    NTP协议简介目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。NTP(NetworkTimeProtocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。NTP可以通过原子钟、天文台、卫星等渠道获得精准时间,然后再按照NTP服务器等级进行传播。NTP的网络结构是分层管理的类树…

    2022年4月7日
    74
  • strtok函数的基本使用

    strtok函数的基本使用strtok 函数的基本使用 strtok 函数的函数原型

    2025年8月20日
    3
  • 从零开始学python微课视频版-从零开始学Python(微课视频版)

    从零开始学python微课视频版-从零开始学Python(微课视频版)基本信息书名:从零开始学Python(微课视频版):89.80元作者:何明编著著出版社:中国水利水电出版社出版日期:2020_04_01ISBN:9787517083818字数:644000页码:390版次:1装帧:平装开本:16开商品重量:编辑推荐这是一本针对零基础的读者设计的Python程序设计的入门教程、视频教程。该书以基础知识、实例和实战案例相结合的形式全面详尽地介绍了Python编程…

    2022年6月3日
    43
  • MySQL索引原理及BTree(B-/+Tree)结构详解「建议收藏」

    MySQL索引原理及BTree(B-/+Tree)结构详解「建议收藏」目录摘要数据结构及算法基础索引的本质B-Tree和B+TreeB-TreeB+Tree带有顺序访问指针的B+Tree为什么使用B-Tree(B+Tree)主存存取原理磁盘存取原理局部性原理与磁盘预读B-/+Tree索引的性能分析MySQL索引实现MyISAM索引实现InnoDB索引实现索引使用策略及优化示例数据库最左前缀原理与…

    2022年6月24日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号