项目地址:http://www.cs.cmu.edu/~alavie/METEOR/

代码地址(非官方实现,实现的是项目地址中的1.5版本):https://github.com/tylin/coco-caption

项目由CMU提供,项目地址包含了代码和最新版本以及之前老版本的meteor评价算法。

下面记录一下最初版也就是《The Meteor Metri for Automatic Evaluation of Machine Translation》的计算思路。

首先说明一下常用的BLEU的缺点,BLEU评价方法的缺点有如下几点:

  1. 没有采用recall指标,虽然引入了brevity penalty因子来约束生成句子的长度,但是还是没法弥补缺失recall的缺陷
  2. 使用高阶的n元组(即采用较大的n)来判断句子的语法和流畅性。文章猜想,只要采用合适的匹配方式,只使用unigram也可以很好的体现句子语法和流畅性。
  3. 采用n元组的几何平均数来计算。几何平均数中只要有一个值为0,那么结果就为0,所以这种计算方式不太可靠。

文章从常用的BLEU评价指标入手,解决BLEU的缺点。

一、Meteor的单词匹配规则

文章简单的将hypothesis和reference translation进行单词与单词之间的匹配,如果reference存在多个,那么就取匹配结果最好的那个。

对于Meteor的匹配,文章有下面几个规则说明:

1. 如果单词与单词完全相同,那么两个单词就是匹配上了
2. 如果两个单词的词根(即不包含时态和单复数情况)相同,那么两个单词就算匹配上了
3. 如果两个单词是同义词(对于英语来说,同义词有WordNet提供),那么两个单词就算匹配上了

匹配过程中,一个单词最多与另一个单词匹配,不能同时匹配两个单词。如果匹配过程中存在多种匹配结果,那么选择匹配图中交叉数较少的那个。拿wiki上的例子来说,如下图所示:

可以看出结果是选择交叉数较小的那个,即上面那个匹配结果。

由于匹配与否有三个规则来判断,且匹配过程中已匹配的单词不能与其他单词进行匹配,所以匹配规则的执行是有顺序的,文章就是采用上述的1,2,3的顺序执行的,即先匹配完全相同的单词,然后是词根相同的,最后是同义词。

二、Meteor的计算方式

定义m为hypothesis和reference匹配到的总对数,hypothesis的长度为t,reference的长度为r,那么准确率计算方式为 P = m / t P=m/t P=m/t,召回率计算方式为 R = m / r R=m/r R=m/r,F值的计算方式为 F m e a n = P ⋅ R α ⋅ P + ( 1 − α ) ⋅ R F_{mean}=\frac{P\cdot R}{\alpha\cdot P +(1-\alpha)\cdot R} Fmean​=α⋅P+(1−α)⋅RP⋅R​。

上式中只利用了单词之间的匹配,为了考虑到词与词之间的顺序,文章引入了fragmentation penalty。如果两句子中,互相匹配的单词都是相邻的,那么它们就定义为同一块(chunk),计算总的块的个数ch。将frag定义为 f r a g = c h / m frag=ch/m frag=ch/m。那么fragmentation penalty定义为 P e n = γ ⋅ f r a g β Pen=\gamma\cdot frag^\beta Pen=γ⋅fragβ。

值 γ \gamma γ为惩罚的力度,是一个超参数,取值范围为 0 ≤ γ ≤ 1 0\leq \gamma\leq 1 0≤γ≤1。 β \beta β也是一个超参数。

最终的Meteor计算方式为:

s c o r e = ( 1 − P e n ) ⋅ F m e a n score=(1-Pen)\cdot F_{mean} score=(1−Pen)⋅Fmean​

wiki列举了几个计算的例子,如下图所示

对于一个数据集的Meteor的计算,上述的 m 、 t 、 r 、 c h m、t、r、ch m、t、r、ch是从所有的测试数据统计得到的。

Image captioning评价方法之Meteor相关推荐

  1. Image captioning评价方法之ROUGE-L

    文章地址:ROUGE: A Package for Automatic Evaluation of Summaries 代码地址(非官方):https://github.com/tylin/coco- ...

  2. Image captioning评价方法之BLEU (bilingual evaluation understudy)

    文章地址:BLEU: a Method for Automatic Evaluation of Machine Translation 代码地址(非官方):https://github.com/tyl ...

  3. MPB:东林牛犇组玉米根系简化细菌群落的定量与其生物防治效果的评价方法(视频)...

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  4. 音视频技术:视频质量评价方法简介

    视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直缺少一种统一且准确的评估标准,其二是影响视频质量的因素过多,且包含很多主观因素,难以客观.定量地评价.经过这么多年的研究,已经诞生了非 ...

  5. 音视频技术:视频质量评价方法简介 1

    视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直缺少一种统一且准确的评估标准,其二是影响视频质量的因素过多,且包含很多主观因素,难以客观.定量地评价.经过这么多年的研究,已经诞生了非 ...

  6. 机器学习第10天:模型评价方法及代码实现

    文章目录 一.分类评价指标 1.精确率(Precision) 2.召回率(Recall) 3.准确率(Accuracy) 4.F1_score 二.回归评价指标 1.平方根误差(RMSE) 2.均方误 ...

  7. 模式识别的评价方法:ROC曲线, DET曲线, FPPW, FPPI

    转载自:http://blog.csdn.net/pb09013037/article/details/48949037 因个人在做模式识别相关的工作,模式识别算法最终的性能评价是关键.但苦于网上很难 ...

  8. 视频质量评价方法简介

    周鑫 2017年毕业于浙江大学,读研期间主要进行视频编码相关研究,目前在通信与视频部门进行转码引擎相关研发. 作者简介 ●●● 引言 视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直 ...

  9. 直播 | 清华大学关健:利用自监督学习的开放端故事生成评价方法

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

最新文章

  1. 我在清华当工程师的日子
  2. 使用ffmpeg裁剪和合并视频
  3. unity 删除子节点_【Unity文档】Realtime GI介绍(一)
  4. PPT 2016 后台播放功能
  5. Teach Yourself Java 2 in 21 Days 书中样例代码实践
  6. 安装一直初始化_3D max 软件安装问题大全
  7. python插件化设计_python - 插件化编程
  8. EnableDebugPriv;
  9. XOR 异或加密简介
  10. 动辄几个亿的东半球最强饭局:大佬们都吃了啥?
  11. 企业邮箱能设置个人昵称吗,如何设置?
  12. 遗传算法 matlab 详解,遗传算法的Matlab实现讲解
  13. 有什么软件可以免费下载歌曲?99%不知道这3款软件!
  14. 51单片机实战教程之C语言基础(十 Keil C51函数库)
  15. Spark stand a lone 模式
  16. 【NDN转发】Community Aware Content Retrieval in Disruption Tolerant Networks 全文翻译
  17. RASNet视频目标跟踪论文笔记
  18. 通达oa显示服务器错误,服务器监控
  19. 关于如何用WORD实现图片转文字
  20. Java实现中国象棋(联机版)

热门文章

  1. KVM虚拟化--virt-manager
  2. xp打开html页面不正常显示,xp系统htm.html文件显示无效图标的处理
  3. tddl+diamond(二)
  4. 尚硅谷Java数据结构与算法——054 冒泡排序
  5. 289页初中级前端题助你拿下Offer
  6. cpu服务器内存条和主板组装,HP Gen8服务器更换CPU及添加内存
  7. centos7上搭建php服务器环境
  8. No Persistence provider for EntityManager named JPA
  9. 什么是FreeMaker?
  10. 做一个记事闹铃的软件笔记