SPICE是一种文本生成的评价方法. SPICE 使用基于图的语义表示来编码 caption 中的 objects, attributes 和 relationships。首先,它将待评价的captions和参考captions通过一种名为概率上下文无关文法(Probabilistic Context-Free Grammar, PCFG)依赖解析器(dependency parser)解析成句法的依赖关系树(syntactic dependencies trees),然后利用基于规则的方法把dependencies tree映射成场景图。具体地,生成依赖关系树之后,通过3个后处理步骤(分别用于简化定量修饰符、解析代词和处理复数名词),然后根据九种简单的语言规则对生成的树结构进行解析,以提取对象、关系和属性,它们共同构成场景图。最后计算待评价的 caption 中 objects, attributes 和 relationships 的 F-score 值。

假设ccc是一条待评价标注,称为候选标注,sss是一条参考标注。上图中左下角是5条参考标注。通过候选标注生成场景图记为G(c)G(c)G(c),所有的参考标注sss组成参考标注集合SSS,通过SSS生成的场景图记为G(S)G(S)G(S)。T(⋅)T(\cdot)T(⋅) 表示将一个场景图转换成一系列元组(tuple)的集合。
其中G(c)=<O(c),E(c),K(c)>G(c)=\quad<O(c),E(c),K(c)>G(c)=<O(c),E(c),K(c)>元组的形式为T(G(c))⇔O(c)∪E(c)∪K(c)T(G(c))\hArr O(c)\cup E(c)\cup K(c)T(G(c))⇔O(c)∪E(c)∪K(c)
O(c)⊆CO(c)\sube CO(c)⊆C其中CCC是所有object classes的集合,E(c)⊆O(c)∗R∗O(c)E(c)\sube O(c) \ast R \ast O(c)E(c)⊆O(c)∗R∗O(c),表示物体间的关系,K(c)⊆O(c)∗AK(c)\sube O(c)\ast AK(c)⊆O(c)∗A表示物体的属性。
计算公式如下:
P(c,S)=∣T(G(c)⨂T(G(S))∣∣T(G(c))∣P(c,S)=\dfrac{|T(G(c)\bigotimes T(G(S))|}{|T(G(c))|}P(c,S)=∣T(G(c))∣∣T(G(c)⨂T(G(S))∣​
R(c,S)=∣T(G(c)⨂T(G(S))∣∣T(G(S))∣R(c,S)=\dfrac{|T(G(c)\bigotimes T(G(S))|}{|T(G(S))|}R(c,S)=∣T(G(S))∣∣T(G(c)⨂T(G(S))∣​
SPICE(c,S)=F1(c,S)=2⋅P(c,S)⋅R(c,S)P(c,S)+R(c,S)SPICE(c,S)=F_1(c,S)=\dfrac{2\cdot P(c,S)\cdot R(c,S)}{P(c,S)+R(c,S)}SPICE(c,S)=F1​(c,S)=P(c,S)+R(c,S)2⋅P(c,S)⋅R(c,S)​
⨂\bigotimes⨂运算类似于交集,与交集不同的地方在于它不是严格匹配,而是类似于METEOR中的匹配。最后是依据F-score的高低来判断生成的文本的质量。

扩展

METEOR方法
METEOR=(1−pen)⋅FmeansMETEOR = (1-pen)\cdot F_{means}METEOR=(1−pen)⋅Fmeans​
Fmeans=PRαP+(1−α)RF_{means}=\dfrac{PR}{\alpha P+(1-\alpha)R}Fmeans​=αP+(1−α)RPR​
P=mcP = \dfrac{m}{c}P=cm​ R=mrR=\dfrac{m}{r}R=rm​

α\alphaα是可调控参数,mmm是候选标注中能够被匹配的一元组的数量,ccc为候选标注的长度,rrr是参考标注的长度。penpenpen是惩罚因子,惩罚的是候选标注中的词序与参考标注中的词序不同,具体计算方法为:
pen=#chunksmpen=\dfrac{ \#chunks}{m}pen=m#chunks​
mmm依旧是候选翻译中能够被匹配的一元组的数量,其中#chunks\#chunks#chunks指chunk的数量,chunk就是既在候选翻译中相邻又在参考翻译中相邻的被匹配的一元组聚集而成的单位。如以下例子:
Candidate: the president spoke to the audience.
Reference: the president then spoke to the audience.

reference中的6个unigram都可以被匹配,但是其在reference中匹配的对象,却只有"the president" 和 "spoke to the audience"这两个字符串是相邻的,而这两个字符串就是两个chunk。

[1]Schuster, S., Krishna, R., Chang, A., Fei-Fei, L., Manning, C.D.: Generating semantically precise scene graphs from textual descriptions for improved image retrieval. In: EMNLP 4th Workshop on Vision and Language. (2015)
[2]Klein, D., Manning, C.D.: Accurate unlexicalized parsing. In: ACL. (2003)

从文本生成场景图(1)——SPICE:Semantic Propositional Image Caption Evaluation相关推荐

  1. <文本,场景图>解析实践

    目录 简介 解析结果分析 简介 使用链接中的代码进行"文本-场景图"解析. 解析结果分析 Sentence: the beautiful girls likes dog. (此句子 ...

  2. 肝了1W字!文本生成评价指标的进化与推翻

    一只小狐狸带你解锁 炼丹术&NLP 秘籍 作者:林镇坤(中山大学研一,对文本生成和猫感兴趣) 前言 文本生成目前的一大瓶颈是如何客观,准确的评价机器生成文本的质量.一个好的评价指标(或者设置合 ...

  3. 最全面的文本生成评价指标大盘点

    点击下面卡片,关注我呀,每天给你送来AI技术干货! 来自:NLP情报局 文本生成是自然语言处理最基础的任务之一,应用广泛,包括闲聊.写诗.作曲.讲故事等等,如图是清华大学"九歌"机 ...

  4. 文本生成客观评价指标总结(附Pytorch代码实现)

    前言:最近在做文本生成的工作,调研发现针对不同的文本生成场景(机器翻译.对话生成.图像描述.data-to-text 等),客观评价指标也不尽相同.虽然网络上已经有很多关于文本生成评价指标的文章,本博 ...

  5. 文本生成评价指标串串烧

    1. 前言 ​ 语言与图像,作为当前AI领域的两大热门方向,吸引了无数研究人员的目光.相比于图像,语言有简单易得,数据易于收取,存储空间低等优点,不过,由于语言本身的特性,他还有时序复杂,句式多变等缺 ...

  6. 哈工大SCIR | 场景图生成简述

    原创作者:梁家锋 郑子豪 王禹鑫 孙一恒 刘铭 出处:哈工大SCIR 进NLP群->加入NLP交流群 1 引言 场景图是一种结构表示,它将图片中的对象表示为节点,并将它们的关系表示为边.最近,场 ...

  7. CVPR 2019 | 基于场景图信息的图像描述生成方法

    在image captioning任务中,常规的encoder-decoder框架都是利用检测网络,如CNN提取特征,然后直接送到decoder端进行解码生成句子.文章<Auto-Encodin ...

  8. 基于结构化数据的文本生成:非严格对齐生成任务及动态轻量的GCN生成模型

    作者|邴立东.程丽颖.付子豪.张琰等 单位|阿里巴巴达摩院.香港中文大学等 摘要 基于结构化数据生成文本(data-to-text)的任务旨在生成人类可读的文本来直观地描述给定的结构化数据.然而,目前 ...

  9. 今日头条李磊等最新论文:用于文本生成的核化贝叶斯Softmax

    译者 | Raku 出品 | AI科技大本营(ID:rgznai100) 摘要 用于文本生成的神经模型需要在解码阶段具有适当词嵌入的softmax层,大多数现有方法采用每个单词单点嵌入的方式,但是一个 ...

  10. 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集

    2017中国计算机大会(CNCC2017)于10月26日在福州海峡国际会展中心开幕,大会为期3天. 而就在今天上午,李飞飞.沈向洋.汤道生.马维英等重磅大咖纷纷登台演讲. 据悉,斯坦福大学人工智能实验 ...

最新文章

  1. liunx 下dhcp中继及服务器配置
  2. 损失函数-经验风险最小化-结构风险最小化
  3. 2021 The 4th International Conference on Information and Computer Technologies Certificate
  4. Android Service与Runnable整合并用
  5. linux 忘记密码(以centos6为例)
  6. 【机器视觉】 dev_map_var算子
  7. linux终端提示符含义,Linux:终端提示符 (prompt) 不如期生效原因
  8. oracle升级后出现 ora-02055,分布式更新失败 0ra-02055错误 请各位指点(在线等待)...
  9. SpringBoot Redis缓存 @Cacheable、@CacheEvict、@CachePut
  10. linux基础教程 05,Linux应用基础教程-CH05磁盘分区和LVM
  11. vue和aspx判断加页面传值.txt
  12. IDEA快捷键整理(最详细的)
  13. 最全面的PS快捷键使用指南
  14. 固定资产管理系统php源码,固定资产管理系统源代码
  15. 一套数据中心弱电系统安全运维服务方案,完整版素材!
  16. win10动态桌面软件
  17. 基于OpenCV实现视频的循环播放
  18. Ural 2037. Richness of binary words (打表+构造)
  19. 2021杭州社保说明
  20. oracle %date 0 10%,oracle database 10.2.0.5.0升级到10.2.0.5.22方法(for windows)

热门文章

  1. Transformer入门教程(八)时间维度
  2. 修马达的php源码,无刷电机控制基本原理(示例代码)
  3. STM32移植U8g2图形库——玩转OLED显示
  4. 电脑html接口是什么意思,笔记本电脑这个接口是什么|笔记本电脑常见接口介绍...
  5. Promise详尽指南
  6. Xilinx FPGA MIPI 接口简单说明
  7. qq邮箱怎么发送html文件在哪里,QQ邮箱怎么发送文件夹
  8. Shim、Polyfill
  9. 感慨一下中年人的焦虑
  10. iBeacon距离测量误差有多大