METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments

METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments

原文地址

时间:2005

Intro

对于机器翻译(Machine Translation,MT)的结果,相比人工度量,使用自动度量更块、简单、便捷,本文提出了自动度量METEOR,它解决了IBM的BLEU的缺点,BLEU仅仅度量了不同句子中相同的词,而METEOR可以度量同形词(比如有相同词根)、同义词

METEOR

BLEU的缺点

BLEU的核心是n-gram precision:匹配的n-gram在生成的文本中出现的比例。但BLEU没有衡量recall,因为评估一个candidate和一个集合的reference时,recall的定义是模糊的,相比一对一评估而言,为了弥补这个问题,BLEU使用了Brevity Penalty来惩罚过短的句子,BLEU有以下几个缺点:

  • 没有衡量Recall
  • 衡量高阶n-gram,BLEU通过衡量高阶n-gram来间接度量翻译的语法,我们认为有更好的直接度量
  • 无法精确匹配tanslation和reference,BLEU中n-gram的匹配方式无法做到精确匹配,尤其是对一些常见的功能词
  • N-gram的几何平均,导致只要有一个n-gram得分为0,结果就为0???

METEOR

METEOR就是为了解决BLEU的一些问题,它通过计算精确的word-to-word匹配来度量一个翻译,如果reference多于一个,那么它将计算每个的匹配结果并返回最高的一个。

给定一对待匹配的文本,METEOR首先对齐两个字符串,我们定义一个映射来对其unigrams,使得每个unigrams与另一个字符串中的0或1个unigram对齐,对齐通过一系列步骤完成,每个步骤包括两个阶段

第一个阶段,通过额外的module列出所有可能的unigram映射,比如,对于词’computer’,在candidate中出现了一次,而在reference中出现了两次,则列出两个可能的unigram映射,一个是candidate中的’computer’映射到reference中的第一个computer,另一个则是映射到第二个computer。不同的module的匹配准则不一样,exact module匹配完全相同的unigram,porter stem module匹配两个同词根的unigram,WN synonymy module匹配两个同义的unigram

第二阶段中,选择这些unigram mapping的最大的子集使得满足之前的条件(即每个unigram有1个或0的对应),如果多于一个子集满足了这个条件,METEOR选择有最少unigram mapping crosse的那个,mapping crosses定义为,将两句话写成两行,然后将mapping连起来,每个交叉的位置就是一个mapping cross

每个阶段仅仅map那些在前一阶段没有匹配的unigram,第一阶段先进行exact mapping,第二阶段进行porter stem mapping,最后进行WN synonymy mapping。

得到最后的映射后,就可以计算METEOR得分了,首先计算unigram precision,它是匹配的unigrams对数占candidate中unigram的比例,再计算unigram recall,它是匹配的unigrams对数占reference中的unigram的比例,然后计算Fmean,它将更多的权值放在Recall上
F m e a n = 10 P R R + 9 P Fmean = \dfrac{10PR}{R+9P} Fmean=R+9P10PR

这里的precision,recall,fmean都只考虑了unigram匹配,为了考虑更长的匹配,METEOR计算给定aligment的penalty。首先,所有candidate中映射到reference中的unigram被分组为尽可能少的chunks中,使得在candidate中的每个毗邻的chunk在reference中也毗邻,这样,n-gram越长,则chunk就越少,极端情况下就是只有1个chunk,另一个极端就是没有bigram匹配,则就会有很多chunk,惩罚的表达式为
P e n a l t y = 0.5 ∗ ( # c h u n k s # u n i g r a m s _ m a t c h e d ) 3 Penalty = 0.5*(\dfrac{\#chunks}{\#unigrams\_matched})^3 Penalty=0.5(#unigrams_matched#chunks)3
比如,对于

  • candidate:the president spoke to the audience
  • reference:the president then spoke to the audience
    这就有两个chunk,”the president“和”spoke to the audience“,

随着chunk增加,penalty增加到最高0.5,随着chunks降低到1,penalty就会下降,它的下界由匹配的unigram决定。

最后METEOR score的计算公式为
S c o r e = F m e a n ∗ ( 1 − P e n a l t y ) Score=Fmean*(1-Penalty) Score=Fmean(1Penalty)
如果没有bigram或者更长的匹配,Fmean会被削减最多50%,METEOR对于一组reference,计算candidate和其中每个的得分,最后选择其中最大的那个,对于整个系统的评估,METEOR计算累积precision,recall和penalty,然后再将他们结合为最终评分

Evaluation

Data

阿拉伯语-英文
中文-英文

结果

在这里插入图片描述
后文比较了METEOR得分与人类评分的相关性,这里从略

Future Work

  • 训练Penalty和score的参数
  • 增加semantic relatedness mapping模式
  • 更充分地利用多个reference的度量结果,本文仅仅选择了最好的
  • 区别对待按照不同mapping方式map的unigram,本文对所有mapping结果一视同仁

结论

本文提出了一种自动度量nlg结果的度量METEOR,它的提出是为了解决BLEU存在的一些问题,按照之前的描述,这些问题分别是:

  • 没有考虑recall,METEOR通过candidate和reference的一对一匹配规避了多reference下recall计算的问题,从而可以计算recall
  • 高阶n-gram仅仅是间接度量,容易被通用词(组)影响,METEOR使用chunk的数量来确定的n-gram匹配,无需指定n的具体值,METEOR的chunk某种程度上对一句话进行了不同n-gram匹配的融合,且可以对任意n实现匹配,从而有很高的灵活性,同时,unigram一对一的关系避免了常用词组在BLEU中多次参与匹配的问题
  • 词的匹配是简单暴力的直接匹配,METEOR对unigram采用三个阶段的匹配步骤,从完全匹配到词根匹配再到词义匹配,避免了BLEU中在语义上不同源的常见词多次匹配成功造成的影响
  • 貌似不存在的几何平均问题???

简单来说就是匹配+计算PRF+综合penalty

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值