Video Caption / 视频字幕:常用指标(BELU-4,ROUGE-L,METEOR,CIDEr,SPICE)和数据集总结

     本文作为入门Video Caption / 视频字幕 的随笔记录,用于查漏补缺和回顾,难免有疏漏和不足指出,烦请指出!

一、指标

   Video Caption / 视频字幕常用的标准指标有四种:BLEU-1[1],BLEU-2[1],BLEU-3[1],BLEU-4[1],ROUGE-L[2],METEOR[3],CIDEr[4],SPICE[5],这些指标在论文中又分别可能会记为B@1,B@2,B@3,B@4,R,M,C,S。

1.1、BLEU-n  

           BLEU,全称为Bilingual Evaluation Understudy,中文意思是双语评估替补,用于机器翻译任务的评价。BLEU的总体思想就是准确率。

           假如给定标准译文reference,神经网络生成的句子是candidate,句子长度为n,candidate中有m个单词出现在reference,m/n就是bleu的1-gram的计算公式3。根据n-gram可以划分成多种评价指标。常见的指标有BLEU-1、BLEU-2、BLEU-3、BLEU-4四种,其中n-gram指的是连续的单词个数为n。

  例:

     【candinate】:the cat sat on the mat

     【reference】:the cat is on the mat

      计算n-gram的BLEU-n(reference中在candidate中出现的gram个数占reference总gram个数的比值):

      BLEU-1 = 5/6 = 0.83333

      BLEU-2 = 3/5 =0.6

      BLEU-3 =1/4 = 0.25

      BLEU-4 = 0/3 = 0  

       BLEU-1衡量的是单词级别的准确性,更高阶的bleu可以衡量句子的流畅性。 如果两个句子完美匹配 (perfect match), 那么BLEU是1.0, 反之, 如果两个句子完美不匹配 (perfect mismatch), 那么BLEU为0.04。

1.2、ROUGE-L

        ROUGE-L是一种用于评估自然语言处理任务的指标,特别是在机器翻译和自动文摘中。ROUGE-L的"L"代表"Longest Common Subsequence",即最长公共子序列。

         ROUGE-L的计算利用了最长公共子序列(区别于最长公共子串,这个是连续的,子序列不一定连续,但是二者都是有词的顺序的)。

        具体来说,ROUGE-L的计算公式可以表示为:

        

        其中,X表示标准答案,Y表示生成答案。m表示X的长度,n表示Y的长度。LCS (X,Y) 表示X和Y的最长公共子序列,β是一个超参数。 ROUGE-L指标主要关注机器生成的摘要或翻译中是否捕捉到了参考摘要或翻译的信息,着重于涵盖参考摘要或翻译的内容和信息的完整性。因此,可用来衡量生成结果和标准结果之间的匹配程度。 

例:

参考句子:我喜欢吃苹果。

候选句子:我喜欢苹果。

首先,我们需要找到这两个句子的最长公共子序列。在这个例子中,最长公共子序列是"我喜欢苹果",长度为5。

然后,我们可以计算ROUGE-L的recall和precision:

最后,我们可以计算F-measure。假设我们选择β=1,那么F-measure为:

所以,这个候选句子的ROUGE-L得分是0.91。这意味着候选句子与参考句子的匹配程度很高

1.3、METEOR

        METEOR,全称为Metric for Evaluation of Translation with Explicit ORdering,中文意思是具有明确排序的翻译评估指标。METEOR的定义和概念主要基于单词级别的准确率和召回率,以及对词序的惩罚,来计算候选文本和参考文本之间的相似度。

        METEOR的特点是它不仅考虑了单词的精确匹配,还考虑了词干、同义词和其他语言变体的匹配。它还使用了一个调和平均数来平衡准确率和召回率,以及一个罚分因子来惩罚不流畅或不连贯的文本。它可用来衡量生成结果和标准结果之间的匹配程度。

        METEOR的计算公式如下:

        其中,Pen是罚分因子,Fmean​是准确率和召回率的调和平均数。假设m为候选译文和参考译文匹配到的总对数​ ,候选译文的长度为t,参考译文的长度为r。准确率P和召回率R的计算方式为: ​

        调和平均数Fmean​的计算方式为:

        其中,α是一个权重参数。

        Pen为惩罚因子,惩罚的是候选翻译中的词序与参考翻译中的词序不同,具体计算方法为:

        #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。

例:

参考句子:我喜欢吃苹果。

候选句子:我喜欢苹果。

首先,我们需要找到这两个句子的最长公共子序列。在这个例子中,最长公共子序列是"我喜欢苹果",长度为5。

然后,计算准确率和召回率:

计算调和平均数Fmean​:

最后,我们需要计算罚分因子Pen。在这个例子中,由于候选句子和参考句子的词序一致,所以罚分因子Pen为0。所以,这个候选句子的METEOR得分是:

1.4、CIDEr

        CIDEr是一种用于评价图像描述 (image caption) 任务的评价指标,它是基于BLEU和向量空间模型的结合。它的主要思想是,将每个句子看成一个文档,利用TF-IDF来给不同长度的n-gram赋予不同的权重,然后计算候选句子和参考句子的n-gram的余弦相似度,再取平均得到最终的评分。 CIDEr还引入了高斯惩罚和长度惩罚来避免不常见单词重复很多次或者生成过短或过长的句子而得到更高的分数,得到了CIDEr-D。

        其中,TF-IDF即词频-逆文档频率(Term Frequency-Inverse Document Frequency),是一种用于信息检索与数据挖掘的常用加权技术。它的主要作用是挖掘文章中的关键词,并给每个词分配一个权重,反映该词对文章主题的重要程度。

公式如下:

        定义参考句子为,候选句子为,n-gram记为在参考句子中出现的次数用表示,在候选句子中出现的次数用表示。首先计算TF-IDE,对每一个n-gram进行加权:

        其中,Ω 是所有 n-gram 的词汇表,I 是数据集中所有图像的集合。第一项衡量了每个 n-gram的 TF(词频),第二项使用其 IDF(逆文档频率)衡量了的稀有性。直观地说,TF 对在描述图像的参考句子中频繁出现的 n-gram 赋予了更高的权重,而 IDF 则降低了在数据集中所有图像中常见的 n-gram 的权重。IDF 通过折扣(discounting)可能视觉上不那么有信息量的流行词来提供了一个词汇显著性的度量。IDF 是使用数据集中图像的数量 |I| 除以出现在其任何参考句子中的图像数量的对数来计算的。

        CIDErn 分数是通过计算候选句子和参考句子之间的平均余弦相似度来计算 n-gram 的长度为 n 的分数,这考虑到了精确度和召回率:

        其中, 是由所有长度为 n 的 n-gram 对应的形成的向量, 是向量 的大小。 同理。我们使用更高阶(更长)的 n-gram 来捕捉语法属性以及更丰富的语义。我们将不同长度的 n-gram 的分数组合如下:

论文中认为, 的效果最好, N = 4。

        CIDEr的优点是,它可以捕捉到不同长度的n-gram之间的匹配,而且可以通过TF-IDF权重来区分不同n-gram的重要性,它不是像BLEU那样只计算准确率,而是计算余弦相似度。它也可以看作是对BLEU的一种改进和扩展,有效地衡量候选描述与参考描述之间的语义一致性。CIDEr的缺点是,它需要一个大规模的图像描述语料库来计算TF-IDF权重,而且它不能考虑到句子的语法和结构。

1.5、SPICE

        在图像描述生成任务中,SPICE(Semantic Propositional Image Caption Evaluation)是一种评价方法。它的主要思想是将图像描述转换为一种基于图的语义表示,然后比较这些表示来评估描述的质量。

SPICE使用如下步骤来评估一个描述:

        1.语义解析:首先,SPICE将描述转换为一种基于图的语义表示,称为场景图 (scene graph)。场景图编码了描述中的对象 (objects),属性 (attributes),和关系 (relationships)。

        使用the Stanford Scene Graph Parser将caption转换为一个依赖树结构,然后利用九个简单的语言规则将树结构转换为一个scene graph。左边为一幅图和它对于的一些描述,右边为描述生成场景图。红色表示目标集合C,绿色表示属性集合A,蓝色表示关系集合R。公式如下表示:

其中,是描述c中提到的对象集合,是表示对象之间关系集合, 是与对象关联的属性集合。

        2.元组生成:然后,SPICE将场景图转换为一个元组集合 (tuple set)。每个元组都是一个语义命题,可以是一个对象,一个对象和属性的对,或者两个对象和它们之间关系的三元组.。我们定义了一个函数T,它可以从场景图获得元组。

        如上图中元组表示为:

        3.匹配和评分:最后,SPICE计算生成的描述和参考描述之间的元组集合的F1分数(利用准确率 P, 召回率 R)。这个分数反映了生成的描述在语义层面上与参考描述的相似度.

        对于匹配的元组,我们采用了METEOR [3]的WordNet同义词匹配方法,即如果元组的词形还原形式相等——允许具有不同词形变化的词进行匹配——或者如果它们在同一个WordNet同义词集中,那么就认为这些元组是匹配的。

        这种方法允许我们在更细粒度上评估图像描述的质量,包括对象识别,属性识别,以及对象之间关系的识别。因此,SPICE提供了一种更全面和详细的方式来评估图像描述生成任务的性能。

本文于2023.9.21写毕,数据集部分见专栏更新,预计于2023.9.23日前完成。

——————————————————————————————————————————

参考文献:

【1】Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th annual meeting of the Association for Computational Linguistics. 311–318.

【2】Chin-Yew Lin. 2004. Rouge: A package for automatic evaluation of summaries.
In Text summarization branches out. 74–81.

【3】Satanjeev Banerjee and Alon Lavie. 2005. METEOR: An automatic metric for
MT evaluation with improved correlation with human judgments. In Proceedings of the acl workshop on intrinsic and extrinsic evaluation measures for machine
translation and/or summarization. 65–72

【4】Ramakrishna Vedantam, C Lawrence Zitnick, and Devi Parikh. 2015. Cider:
Consensus-based image description evaluation. In Proceedings of the IEEE conference on computer vision and pattern recognition. 4566–4575.

【5】Peter Anderson, Basura Fernando, Mark Johnson, and Stephen Gould. 2016.
Spice: Semantic propositional image caption evaluation. In European conference
on computer vision. Springer, 382–398.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144662.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 11g RAC部署笔记

搭了三次才搭好,要记录一下。 1. Oracle 11g RAC部署的相关步骤以及需要的包,可以参考这里。 Oracle 11g RAC部署_12006142的技术博客_51CTO博客Oracle 11g RAC部署,Oracle11gRAC部署操作环境:CentOS7.4Oracle11.2.0.4一、主机网…

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 C: 班级活动

[蓝桥杯 2023 国 B] 班级活动 【问题描述】 小明的老师准备组织一次班级活动。班上一共有 n n n 名( n n n 为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 n n …

(三)Python变量类型和运算符

所有的编程语言都支持变量,Python 也不例外。变量是编程的起点,程序需要将数据存储到变量中。 变量在 Python 内部是有类型的,比如 int、float 等,但是我们在编程时无需关注变量类型,所有的变量都无需提前声明&#x…

腾讯云cvm云硬盘扩容

过去一直记得腾讯云的系统盘扩容,关于系统盘的扩容直接点资源调整-云硬盘扩容 系统盘扩容后就可以直接使用的? 但是现在操作了发现vda 200G 但是现在vda1不能自动扩容了? 腾讯云cvm云硬盘扩容 先看一眼官方文档吧:在线扩展系统盘分区及文…

Unity如何生成随机数(设置种子)

文章目录 随机类整数二维向量三维向量种子其他文章 随机类 我们可以使用Random类来生成一些随机数 Random类是用于生成随机数的类之一。它可以用于生成不同类型的随机数,如整数、浮点数和向量。 整数 我们可以使用Random.Range来生成指定范围内的随机整数或浮点数…

22 mysql range 查询

前言 这里主要是 探究一下 explain $sql 中各个 type 诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断 这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录 以及 相关的差异 此系列文章建议从 mysql const 查询 开始看 测试表结构…

Spring Boot:利用JPA进行数据库的增改

目录 JPA介绍Service接口Service和Autowired示例代码 Dao数据库操作层Repository示例代码 控制器文件示例代码-增加增加成功示例代码-修改修改成功 JPA介绍 JPA(Javaa Persistence API)一种用于持久化 Java 对象到关系型数据库的标准规范。它提供了一种统一的方式来…

Linux 压缩和解压

1、tar命令(复杂) 使用tar命令均可以进行压缩和解压缩的操作 语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N -c,创建压缩文件,用于压缩模式 -v,显示压缩、解压过程,用于查看进度 -x&am…

自动化测试工具之Selenium IDE录制教程

一、下载Selenium IDE 下载传送带:Selenium IDE Open source record and playback test automation for the web 这里Darren洋以firefox火狐浏览器为例,将以上下载url直接在firefox浏览器中打开,点击对应下载按钮后,就会进入添加…

ESP32IDF出现Syntax Warning in cmake code at column 47报错

前言 (1)ESP32的资料还是挺难找的,遇到bug处理起来挺折磨人的。今天分享一个我遇到的bug,以及处理思路。 报错日志 (1)前天在些博客的时候,做测试发现了一个奇怪的bug,报错日志如下。…

源码:TMS FlexCel Studio for .NET 7.19

TMS FlexCel Studio for .NET 是100% 托管代码 Excel 文件操作引擎以及 Excel 和 PDF 报告生成,适用于 .NET、Xamarin.iOS、Xamarin.Android、Xamarin.Mac、Windows Phone 和 Windows Store 功能概述 使用 FlexCel Studio for .NET 创建可动态快速读写 Excel 文件的…

Vue封装全局SVG组件

1.SVG图标配置 1.安装插件 npm install vite-plugin-svg-icons -D 2.Vite.config.ts中配置 import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export default () > {return {plugins: [createSvgIconsPlugin({// Specify the icon fo…

小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务

小米作为全球知名的科技巨头公司,已经在数百款产品中广泛应用了 AI 技术,这些产品包括手机、电视、智能音箱、儿童手表和翻译机等。这些 AI 应用主要都是通过小米的深度学习训练平台完成的。 在训练平台的存储方案中,小米曾尝试了多种不同的…

【Python基础】常用模块学习:sys|os|pytest

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

java 阿里云上传照片

获取对象 Resourceprivate ALiYunConfig aLiYunConfig;代码配置类 import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;/*** 描述:** author zhaofeng* date 2023-09-05*/ D…

科技云报道:大模型的阴面:无法忽视的安全隐忧

科技云报道原创。 在AI大模型的身上,竟也出现了“to be or not to be”问题。 争议是伴随着大模型的能力惊艳四座而来的,争议的核心问题在于安全。安全有两个方面,一个是大模型带来的对人类伦理的思考,一个是大模型本身带来的隐…

Python 小爬虫入门 -- 爬取专栏文章标题保存到 CSV 文件中

爬取专栏文章标题保存到 CSV 文件中目标分析网页代码及理解代码段一代码段二成果展示爬取专栏文章标题保存到 CSV 文件中 目标 从一个网页上抓取数据,并保存到一个 CSV 文件中。 具体是爬取 微机系统与接口上机实验_TD PITE型 专栏里的所有 文章标题 并 保存到 csv 文件 中…

libopenssl 实现私钥加密公钥解密

在需要验证可信来源时,需要用到签名验签。因此,需要使用私钥加密,公钥解密,取得被加密的信息。这就会使用到私钥加密,公钥解密的场景了。 参考: https://github.com/openssl/openssl/issues/20493 https:/…

FastAPI Python照片打马赛克API

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、FastAPI是什么?二、使用步骤1.安装FastAPI及Uvicorn2.编写马赛克核心代码3.编写照片上传接口4.编写马赛克处理接口 三、测试总结 前言 现代社会…

【数据结构初阶】六、线性表中的队列(链式结构实现队列)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【数据结构初阶】五、线性表中的栈(顺序表实现栈)_高高的胖子的博客-CSDN博客 1 . 队列(Queue) 队列的概念和结构: 队列…