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)
上一篇 2025年12月14日 上午11:01
下一篇 2025年12月14日 上午11:22


相关推荐

  • 轻松解析excel文件 —-利用MFC读取excel文件

    轻松解析excel文件 —-利用MFC读取excel文件在项目中需要解析excel文件,尝试了很多办法,最后还是利用MFC自带的解析Excel类。网上的资源很多,前面添加类步骤基本差不多,都能成功,但是在自己写类进行封装的时候,抄袭现象很明显,很多错误还是接着一字不差的发上来。最后找了一个错误不是很多的,自己修改封装,先附上一个demo。(1)在Button控件下添加以下代码用于选取需要读取的文件stringpath; path=CT…

    2022年6月28日
    100
  • 硬盘MBR和GPT分区格式哪种更好? 新电脑和固态硬盘首选GPT!

    硬盘MBR和GPT分区格式哪种更好? 新电脑和固态硬盘首选GPT!

    2026年3月16日
    2
  • idea最新激活码2022【2021免费激活】

    (idea最新激活码2022)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0HKL…

    2022年3月31日
    55
  • ZW32-12型户外柱上高压真空断路器「建议收藏」

    ZW32-12型户外柱上高压真空断路器「建议收藏」本内容详细描述了ZW32-12型户外柱上高压真空断路器,包括其型号含义、使用条件、技术参数、结构特点(含断路器实物图片)、动作原理、外形及安装尺寸、安装与维护等。

    2022年10月2日
    5
  • skimage库安装

    skimage库安装skimage 是个处理图片的库啊 你平时如果没有用到过 那当你报错如下的时候 你就会想起它来了 就这样 安装库嘛 一般是在 cmd 上用下面这个命令嘛 condainstall 但是这个命令它报错嘛 这个意思就是目前找不到这个库嘛 但事实上是有这个库的 它还有一个主页 skimage 库的主页 上面写的很清楚了嘛 其实它的大名是 ski image 嘛 那就是说 命

    2026年3月20日
    3
  • python算法(1)抓交通肇事犯「建议收藏」

    python算法(1)抓交通肇事犯「建议收藏」抓交通肇事犯1.问题描述一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下了车号的一些特征。甲说:牌照的前两位数字是相同的:乙说:牌照的后两位数字是相同的,但与前两位

    2022年7月31日
    4

发表回复

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

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