目前主流文本生成度量指标介绍


目前文本生成领域的一大瓶颈就是评价度量指标进行大的创新改变;基于预训练模型和基于seq2seq的文本生成都能生成出很少语法错误,语句流利,语义通顺的句子;但是把文本生成的结果应用于日常仍然需要加大量的规则约束;
本文介绍以下内容:

  1. 介绍了以BLEU为代表的基于统计的文本评价指标;
  2. 基于bert等预训练模型的文本评价指标。
  3. 就data to text 和image caption,进一步介绍了其特有的评价模式;

一. 计算词重叠率的统计方法

机器翻译 & 摘要 常用指标

基于词重叠率的方法是指基于词汇的级别计算模型的生成文本和人工的参考文本之间的相似性,比较经典的代表有BLEU、METEOR和ROUGE,其中BLEU和METEOR常用于机器翻译任务,ROUGE常用于自动文本摘要。
文本生成评估代码

1.BLEU(机器翻译)

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

c:机器生成的句子长度;r:是给出的参考句子长度

  • 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,… 的精确率

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

Pn=1/3 (1 + 3/5 + 1/4 ) = 37/60; 但是可以看出前面两句话还是比较接近的;

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

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 没有想象中那么强)
2.ROUGE(自动摘要)
Rouge-N

“N”指的是N-gram,其计算方式与BLEU类似,只是BLEU基于精确率,而ROUGE基于召回率。

ROUGE-N 主要统计 N-gram 上的召回率,对于 N-gram,可以计算得到 ROUGE-N 分数,计算公式如下:
在这里插入图片描述
公式的分母是统计在参考译文中 N-gram 的个数,而分子是统计参考译文与机器译文共有的 N-gram 个数。

例1.单参考句
C: a cat is on the table
S1: there is a cat on the table
上面例子的 ROUGE-1 和 ROUGE-2 分数如下:
在这里插入图片描述
例2.多参考句子
在这里插入图片描述

优点:直观,简介,能反映词序。
缺点:区分度不高,且当N>3时,ROUGE-N值通常很小。
应用场景:ROUGE-1:短摘要评估,多文档摘要(去停用词条件);ROUGE-2: 单文档摘要,多文档摘要(去停用词条件);

Rouge-L

ROUGE-L 中的 L 指最长公共子序列 (longest common subsequence, LCS),ROUGE-L 计算的时候使用了机器译文C和参考译文S的最长公共子序列;最长公共子序列不要求词的连续匹配,只要求按词的出现顺序匹配即可;
在这里插入图片描述
公式中的 RLCS 表示召回率,而 PLCS 表示精确率,FLCS 就是 ROUGE-L。一般 beta 会设置为很大的数,因此 FLCS 几乎只考虑了 RLCS (即召回率)。注意这里 beta 大,则 F 会更加关注 R。

例1:句子级别
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例2:文档摘要级别
在这里插入图片描述在这里插入图片描述

优点:不要求词的连续匹配,只要求按词的出现顺序匹配即可,能够像n-gram一样反映句子级的词序。自动匹配最长公共子序列,不需要预先定义n-gram的长度。
缺点:只计算一个最长子序列,最终的值忽略了其他备选的最长子序列及较短子序列的影响。
应用场景:单文档摘要;短摘要评估。

ROUGE-W

ROUGE-W 是 ROUGE-L 的改进版,使得连续匹配比不连续匹配赋予更大的权重
在这里插入图片描述

图中,X 是参考文摘,Y1,Y2是两个待评测文摘,明显Y1 要优于Y2 ,因为Y1 可以和参考摘要X 连续匹配,但是Rouge_L(X,Y1)=Rouge_L(X,Y2) ,针对这个问题论文作者提出了改进的方案—加权最长公共子序列(Weighted Longest Common Subsequence)。

在这里插入图片描述
在这里插入图片描述
优点:同一LCS下,对连续匹配词数多的句子赋予更高权重,比LCS区分度更高。
缺点:同ROUGE-L,只计算一个最长子序列,最终的值忽略了其他备选的最长子序列及较短子序列的影响。
应用场景:单文档摘要;短摘要评估。

ROUGE-S

ROUGE-S 也是对 N-gram 进行统计,但是其采用的 N-gram 允许"跳词 (Skip)",即跳跃二元组(skip bigram)。例如句子 “I have a cat” 的 Skip 2-gram 包括 (I, have),(I, a),(I, cat),(have, a),(have, cat),(a, cat)。
在这里插入图片描述
  其中X为参考摘要,长度为m,Y为候选摘要,长度为n。SKIP2(X,Y)表示候选摘要与参考摘要的skip-bigram匹配次数。

Skip-gram如果不限制跳跃的距离,会出现很多无意义的词对,比如“the of”、“in the”等。为了减少无意义词对的出现,可以限制最大跳跃距离Dskip,通常写ROUGE-S4表示最大跳跃距离为4,ROUGE-S9表示最大跳跃距离为9,依次类推。如果 Dskip为0,那么ROUGE-S0 = ROUGE-2。

例1.
在这里插入图片描述
在这里插入图片描述

优点:考虑了所有按词序排列的词对,比n-gram模型更深入反映句子级词序。
缺点:若不设定最大跳跃词数会出现很多无意义词对。若设定最大跳跃词数,需要指定最大跳跃词数的值。
应用场景:单文档摘要;ROUGE-S4,ROUGE-S9: 多文档摘要(去停用词条件)。

ROUGE大总结:

在这里插入图片描述

3.METEOR评估法(机器翻译、自动文摘)

参考:

  1. 万字长文梳理文本生成评价指标
  2. “重磅!” 常见的NLG评估方法大整理 !!
  3. rouge与pyrouge使用事项
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值