“重磅!” 常见的NLG评估方法大整理 !!

来源:AINLPer微信公众号(点击了解一下吧
编辑: ShuYini
校稿: ShuYini
时间: 2020-1-3

引言

    如何判定训练出来的模型好与坏呢?关键是要有一个比较好的模型评估方法,那么今天作者就给大家汇总一下自然语言生成(NLG)中经常见到的无监督自评估方法(BLEU、METEOR、ROUGE、CIDEr)(含评估代码)。

BLEU评估法(机器翻译)

    Bleu 全称为 Bilingual Evaluation Understudy(双语评估研究) ,意为双语评估替换,是衡量一个有多个正确输出结果的模型的精确度的评估指标。
    BLEU的设计思想与评判机器翻译好坏的思想是一致的:机器翻译结果越接近专业人工翻译的结果,则越好。BLEU算法实际上在做的事:判断两个句子的相似程度。我想知道一个句子翻译前后的表示是否意思一致,显然没法直接比较,那我就拿这个句子的标准人工翻译与我的机器翻译的结果作比较,如果它们是很相似的,说明我的翻译很成功。因此,BLUE去做判断:一句机器翻译的话与其相对应的几个参考翻译作比较,算出一个综合分数。这个分数越高说明机器翻译得越好。
    举个例子:下面拿中英机器翻译做例子:
    中文:垫上有一只老鼠。
    参考翻译1:The cat is on the mat.
    参考翻译1:There is a cat on the mat.
    MT(机器翻译):the cat the cat on the mat.
    bleu的得分有一元组二元组三元组等等,这里做了1-3元组的例子,如下:
    下面先计算BELU一元组得分,即先把MT输出的句子拆分成the,cat,on,mat,频数分别为3,2,1,1:    上面的Count(clip) 叫截取计数,是取每个单词在所有参考翻译句子中,出现最多的次数,the在参考翻译1中出现2次,在参考翻译2中出现1次,所以the的Count(clip)取最大值就是2,剩下的单词依次类推。
    所以BELU的一元组上的得分为:
p1 = Count(clip)/Count=(2+1+1+1)/(3+2+1+1) =5/7
    下面再计算BELU的二元组得分:
    参考翻译1:The cat is on the mat.
    参考翻译1:There is a cat on the mat.
    MT(机器翻译):the cat the cat on the mat.
所以bleu的二元组的得分为:p2 = Count(clip)/Count=(1+0+1+1+1)/(2+1+1+1+1) =4/6=2/3
    同理BELU的三元组得分:
    参考翻译1:The cat is on the mat.
    参考翻译1:There is a cat on the mat.
    MT(机器翻译):the cat the cat on the mat.     所以bleu的三元组的得分为:p3 = Count(clip)/Count= 2/5;最后加所有元组的bleu得分都加起来然后取平均数得:
    bleu(avg) = (p1+p2+p3)/3 = (5/7+2/3+2/5)/3 = 0.594
    最后再乘上一个“简短惩罚” BP(brevity penalty),即最后的bleu得分为:Bleu(total)=BP * bleu(avg)。
    这里为什么要乘以BP:
    如果MT输出了一个非常短的翻译,那么会更容易得到一个高精度的bleu,因为输出的大部分词都会出现在参考翻译中,所有我们并不想要特别短的翻译结果,所有加入BP这么一个调整因子:
    上式中,r为参考翻译的句子长度,c为MT的输出句子长度,若c<=r ,则 0<exp(1-r/c)<=1,得分bleu(avg)就会乘以小于1的系数 ,从而被“惩罚”。
那么最后:Bleu(total)=BP*bleu(avg)

ROUGE评估法(自动摘要)

    Rouge(recall-oriented understanding for gisting evaluation)是评估自动文摘以及机器翻译的一组指标。论文链接地址:http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=368956B77243860A93FC0E3726EE7919?doi=10.1.1.111.9426&rep=rep1&type=pdf
    该方法的主要是思想是:由多个专家分别生成人工摘要,构成标准摘要集。将系统生成的自动摘要与人工生成的标准摘要相对比,通过统计二者之间重叠的基本单元(n元语法、词序列和词对)的数目,来评价摘要的质量。通过多专家人工摘要的对比,提高评价系统的稳定性和健壮性。该方法现在已经成为摘要评价技术的通用标准之一。关于该算法演变评价标准有:Rouge-N、Rouge-L、Rouge-S、Rouge-W、Rouge-SU。

Rouge-N

    其中,n表示n-gram的长度,{Reference Summaries}表示参考摘要,即事先获得的标准摘要, C o u n t m a t c h ( g r a m n ) Count_match(gram_n) Countmatch(gramn)表示候选摘要和参考摘要中同时出现n-gram的个数, C o u n t ( g r a m n ) Count(gram_n) Count(gramn)则表示参考摘要中出现的n-gram个数。不难看出,ROUGE公式是由召回率的计算公式演变而来的,分子可以看作“检出的相关文档数目”,即系统生成摘要与标准摘要相匹配的N-gram个数,分母可以看作“相关文档数目”,即标准摘要中所有的N-gram个数。具体计算方式具体如下:    通过上面可以看到其实ROUGE-N 和 BLEU 几乎一模一样,区别是 BLEU 只计算准确率,而 ROUGE 只计算召回率。
    优点: 直观,简介,能反映词序。
    缺点: 区分度不高,且当N>3时,ROUGE-N值通常很小。
    应用场景: ROUGE-1:短摘要评估,多文档摘要(去停用词条件);ROUGE-2: 单文档摘要,多文档摘要(去停用词条件);

Rouge-L

    子序列:一个给定序列的子序列就是该给定序列中去掉零个或者多个元素。
    公共子序列:给定两个序列X和Y,如果Z既是X的一个子序列又是Y的一个子序列,则序列Z是X和Y的一个公共子序列。
    LCS(最长公共子序列):给定两个序列X和Y,使得公共子序列长度最大的序列是X和Y的最长公共子序列。其计算公式为:
     其中X为参考摘要,长度为mY为候选摘要,长度为n,用F值来衡量摘要XY的相似度,在DUC测评中,由于 β → + ∞ \beta\rightarrow+\infty β+,,所以只考虑 R l c s R_{lcs} Rlcs。具体计算例子如下:    优点: 不要求词的连续匹配,只要求按词的出现顺序匹配即可,能够像n-gram一样反映句子级的词序。自动匹配最长公共子序列,不需要预先定义n-gram的长度。
    缺点: 只计算一个最长子序列,最终的值忽略了其他备选的最长子序列及较短子序列的影响。
    应用场景: 单文档摘要;短摘要评估。
    将LCS应用到摘要级数相时,对参考摘要中的每一个句子 r i r_i ri与候选摘要中的所有句子比对,以union LCS作为摘要句 r i r_i ri的匹配结果。计算公式:    其中R为参考摘要,包含u个句子,m个词,C为候选摘要,包含v个句子,n个词,长度为n L C S U ( r i , C ) LCS_U(r_i,C) LCSU(ri,C) 是句子r_i和候选摘要C的union LCS。

Rouge-W

    为使连续匹配比不连续匹配赋予更大的权重,公式描述如下:
f ( x + y ) > f ( x ) + f ( y ) f(x+y)>f(x)+f(y) f(x+y)>f(x)+f(y)    例如 f ( k ) = k α , α > 1 f(k)=k^{\alpha}, \alpha > 1 f(k)=kα,α>1,同时为了归一化最终的Rouge-W的值,通常选择函数与反函数具有相似形式的函数。例如: f ( k ) = k 2 , f − 1 = k 1 / 2 f(k)=k^2,f^{-1}=k^{1/2} f(k)=k2,f1=k1/2,具体计算公式如下所示:    举个例子如下:    优点: 同一LCS下,对连续匹配词数多的句子赋予更高权重,比LCS区分度更高。
    缺点: 同ROUGE-L,只计算一个最长子序列,最终的值忽略了其他备选的最长子序列及较短子序列的影响。
    应用场景: 单文档摘要;短摘要评估。

Rouge-S

    Skip-Bigram是按句子顺序中的任何成对词语。计算公式如下:     其中X为参考摘要,长度为m,Y为候选摘要,长度为n。SKIP2(X,Y)表示候选摘要与参考摘要的skip-bigram匹配次数。
    Skip-gram如果不限制跳跃的距离,会出现很多无意义的词对,比如“the of”、“in the”等。为了减少无意义词对的出现,可以限制最大跳跃距离 d s k i p d_{skip} dskip,通常写ROUGE-S4表示最大跳跃距离为4,ROUGE-S9表示最大跳跃距离为9,依次类推。如果 d s k i p d_{skip} dskip为0,那么ROUGE-S0 = ROUGE-2。举个例子如下:    优点: 考虑了所有按词序排列的词对,比n-gram模型更深入反映句子级词序。
    缺点: 若不设定最大跳跃词数会出现很多无意义词对。若设定最大跳跃词数,需要指定最大跳跃词数的值。
    应用场景: 单文档摘要;ROUGE-S4,ROUGE-S9: 多文档摘要(去停用词条件)。

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

    2004年,卡内基梅隆大学的Lavir提出评价指标中召回率的意义,基于此研究,Banerjee和Lavie(Banerjee and Lavie, 2005)发明了基于单精度的加权调和平均数和单字召回率的METEOR度量方法,目的是解决BLEU标准中的一些固有缺陷。论文链接地址:http://www.cs.cmu.edu/~alavie/METEOR/pdf/Banerjee-Lavie-2005-METEOR.pdf
    METEOR扩展了BLEU有关“共现”的概念,提出了三个统计共现次数的模块:一是“绝对”模块(“exact” module),即统计待测译文与参考译文中绝对一致单词的共现次数;二是“波特词干”模块(porter stem module),即基于波特词干算法计算待测译文与参考译文中词干相同的词语“变体”的共现次数,如happy和happiness将在此模块中被认定为共现词;三是“WN同义词”模块(WN synonymy module),即基于WordNet词典匹配待测译文与参考译文中的同义词,计入共现次数,如sunlight与sunshine。
     同时METEOR将词序纳入评估范畴,设立基于词序变化的罚分机制,当待测译文词序与参考译文不同时,进行适当的罚分。最终基于共现次数计算准确率、召回率与F值,并考虑罚分最终得到待测译文的METEOR值。
    该算法首先计算 unigram 情况下的准确率P和召回率R(计算方式与BLEU、ROUGE类似),得到调和均值F值:
F = ( α 2 + 1 ) P R + α P F=\frac{(\alpha^2+1)P}{R+\alpha P} F=R+αP(α2+1)P    看到这可能还没有什么特别的。Meteor的特别之处在于,它不希望生成很“碎”的译文:比如参考译文是“A B C D”,模型给出的译文是“B A D C”,虽然每个unigram都对应上了,但是会受到很严重的惩罚。惩罚因子的计算方式为: P e n a l t y = γ ( # c h u n k s # u n i g r a m s _ m a t c h e d ) θ Penalty=\gamma (\frac{\#chunks}{\#unigrams\_matched})^{\theta} Penalty=γ(#unigrams_matched#chunks)θ    上式中的 # c h u n k s \#chunks #chunks 表示匹配上的语块个数,如果模型生成的译文很碎的话,语块个数会非常多; # u n i g r a m s _ m a t c h e d \#unigrams\_matched #unigrams_matched 表示匹配上的unigram个数。所以最终的评分为:
M e t e o r = ( 1 − P e n a l t y ) ⋅ F Meteor=(1-Penalty)\cdot F Meteor=(1Penalty)F    用于机器翻译评测时,通常取 α = 3 \alpha=3 α=3 γ = 0.5 \gamma=0.5 γ=0.5 θ = 3 \theta=3 θ=3
    自从2004年以来,该团队也在不断的对METEOR评估方法进行优化,具体可见:http://www.cs.cmu.edu/~alavie/METEOR/index.html

CIDEr评价方法

    CIDEr(Consensuus-based Image Description Evaluation)评价标准是Vedantm在2015年计算机视觉与模式识别大会上提出来的针对图像摘要问题的度量标准。论文链接地址为:https://arxiv.org/pdf/1411.5726.pdf
    研究者认为过去的多种评价方法和人类评价具有较强的相关性,但是无法统一到一个度量标准来评价与人的相似性(human-like),为了解决这个问题,从而评价计算机自动生成的句子到底有多像人工书写的,Vedantam等人提出了基于共识的评价标准(consensus-based protocol),其基本工作原理就是通过度量带测评语句与其他大部分人工描述句之间的相似性来评价相似性。研究者证明CIDEr在与人工共识的匹配度上要好于前述其它评价指标。
    CIDEr首先将n-grams在参考句子中的出现频率编码进来,n-gram在数据集所有图片中经常出现的图片的权重应该减少,因为其包含的信息量更少,该权重研究者通过TF-IDF计算每个n-gram的权重。将句子用n-gram表示成向量形式,每个参考句和待评测句之间通过计算TF-IDF项链的余玄距离来度量其相似性。

参考文献

[1] https://blog.csdn.net/qq_31584157/article/details/77709454
[2] https://blog.csdn.net/CharlesOyfz/article/details/90668423
[3] https://blog.csdn.net/qq_25222361/article/details/78694617
[4]https://blog.csdn.net/lcj369387335/article/details/69845385

更多自然语言处理、pytorch相关知识,还请关注 AINLPer 公众号,极品干货即刻送达。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里零售通如意POS S1是一款由阿里巴巴推出的智能收银机,作为小店的"大脑",它能够为小店提供更加便捷、高效的收银服务。 首先,如意POS S1采用了先进的人工智能技术。通过与阿里巴巴的大数据平台连接,它可以准确地识别商品信息,实现自动识别、结算和统计功能。无论是快速扫描条形码还是人工输入商品信息,都能够快速记录和结算,避免了繁琐的手工操作。 其次,如意POS S1拥有丰富的功能扩展。它支持支付宝、微信支付等多种支付方式,能够满足顾客的多样化支付需求。同时,它还可以通过连接蓝牙打印机、电子秤、扫码枪等外部设备,实现更多个性化的需求,提升小店的运营效率。 此外,如意POS S1还具备强大的数据分析和管理功能。它能够实时监控库存情况,提醒小店及时进货,避免断货情况的发生。同时,它还能根据销售数据进行分析,为小店提供经营建议,帮助小店主了解销售情况和市场趋势,做出更加明智的经营决策。 总的来说,阿里零售通如意POS S1的重磅上线为小店带来了新的智能化解决方案。它通过人工智能、丰富的功能扩展和数据分析,实现了小店收银、支付和管理的一体化,为小店提供了更便捷、高效、智能的运营管理工具。小店可以通过使用如意POS S1,提升服务质量,提高销售额,并更好地适应市场竞争的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值