BLEU1-2, DISTINCT1,Perplexity(描述句子本身像不像一句人话,不跟标签比对)

343 篇文章 9 订阅
133 篇文章 9 订阅

BLEU
BLEU (Bilingual Evaluation Understudy,双语评估辅助工具)可以说是所有评价指标的鼻祖,它的核心思想是比较候选译文和参考译文里的 n-gram 的重合程度,重合程度越高就认为译文质量越高。unigram用于衡量单词翻译的准确性,高阶n-gram用于衡量句子翻译的流畅性。 实践中,通常是取N=1~4,然后对进行加权平均。
在这里插入图片描述

BLEU 需要计算译文 1-gram,2-gram,…,N-gram 的精确率,一般 N 设置为 4 即可,公式中的 Pn 指 n-gram 的精确率。
Wn 指 n-gram 的权重,一般设为均匀权重,即对于任意 n 都有 Wn = 1/N。
BP 是惩罚因子,如果译文的长度小于最短的参考译文,则 BP 小于 1。
BLEU 的 1-gram 精确率表示译文忠于原文的程度,而其他 n-gram 表示翻译的流畅程度。
不过BLEU对词重复和短句有着非常不好的表现,所以改进的BLEU分别使用 改进的多元精度(n-gram precision) 和短句惩罚因子进行了优化。

改进的多元精度(n-gram precision)
假设机器翻译的译文C和一个参考翻译S1如下:

C: a cat is on the table
S1: there is a cat on the table
则可以计算出 1-gram,2-gram,… 的精确率(参考文献里写的是准确率(accuracy),我理解是写错了,此处应该是精确率(precision))

p1 计算 a cat is on the table 分别都在参考翻译S1中 所以 p1 = 1

p2 (a, cat)在, (cat is) 没在, (is on) 没在, (on the) 在, (the table)在 所以p2 = 3/5

p3 (a cat is)不在, (cat is on)不在, (is on the)不在, (on the table)在 所以 p3 = 1/4

依次类推(上面的在或者不在, 说的都是当前词组有没有在参考翻译中)。直接这样算, 会存在很大的问题. 例如:

C: there there there there there
S1: there is a cat on the table
这时候机器翻译的结果明显是不正确的,但是其 1-gram 的 Precision 为1,因此 BLEU 一般会使用修正的方法。给定参考译文S1,S2, …,Sm,可以计算C里面 n 元组的 Precision,计算公式如下:

在这里插入图片描述

针对上面的例子 p1 = 1/5 (因为there在C和S1中都出现了 我们按最少的次数来)

惩罚因子
上面介绍了 BLEU 计算 n-gram 精确率的方法, 但是仍然存在一些问题,当机器翻译的长度比较短时,BLEU 得分也会比较高,但是这个翻译是会损失很多信息的,例如:

C: a cat
S1: there is a cat on the table
因此需要在 BLEU 分数乘上惩罚因子

在这里插入图片描述

优点
它的易于计算且速度快,特别是与人工翻译模型的输出对比;
它应用范围广泛,这可以让你很轻松将模型与相同任务的基准作对比。
缺点
它不考虑语义,句子结构
不能很好地处理形态丰富的语句(BLEU原文建议大家配备4条翻译参考译文)
BLEU 指标偏向于较短的翻译结果(brevity penalty 没有想象中那么强)

Distinct
在某些生成场景中(对话,广告文案)等,还需要追求文本的多样性。李纪为的《A diversity-promoting objective function for neural conversation models》提出了Distinct指标,后续也被许多人采用。

Distinct的定义如下:
在这里插入图片描述

Count(unique ngram)表示回复中不重复的ngram数量,Count(word)表示回复中ngram词语的总数量。

Distinct-n越大表示生成的多样性越高。

一、语言模型
本文尽量通俗解释一下困惑度的概念。既然题目中写了是用来评价语言模型的好坏,那么首先来看一下语言模型:

忆臻:深入浅出讲解语言模型

zhuanlan.zhihu.com
图标
简单地说,语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率?

那么如何计算一个句子的概率呢?给定句子(词语序列)
在这里插入图片描述

它的概率可以表示为:
在这里插入图片描述

也就是说在给定一句话的前k个词,我们希望语言模型可以预测第k+1个词是什么,即给出一个第k+1个词可能出现的概率的分布p(xk+1|x1x2…xk)。

那么如何学习到一个语言模型呢,这里不详细叙述,可以参考:

忆臻:深入浅出讲解语言模型

zhuanlan.zhihu.com
图标
二、如何评价一个语言模型好坏
在得到不同的语言模型(一元语言模型、二元语言模型…)的时候,我们如何判断一个语言模型是否好还是坏,一般有两种方法:

1、一种方法将其应用到具体的问题当中,比如机器翻译、speech recognition、spelling corrector等。然后看这个语言模型在这些任务中的表现(extrinsic evaluation,or in-vivo evaluation)。但是,这种方法一方面难以操作,另一方面可能非常耗时,可能跑一个evaluation需要大量时间,费时难操作。

2、针对第一种方法的缺点,大家想是否可以根据与语言模型自身的一些特性,来设计一种简单易行,而又行之有效的评测指标。于是,人们就发明了perplexity这个指标。

困惑度(perplexity)的基本思想是:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,公式如下:

[公式]
在这里插入图片描述

由公式可知,句子概率越大,语言模型越好,迷惑度越小。

下面是一些 ngra­m 模型经 训练文本后在测试集上的困惑度值:
在这里插入图片描述

可以看到,之前我们学习的 trigram 模型经训练后,困惑度由955跌减至74,这是十分可观的结果。

这节的核心就是句子概率越大,语言模型越好,迷惑度越小。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值