小张第一天到中餐厅实习,主厨老周没让他切菜,而是递给他一个小本子:“去后厨看大厨做一道宫保鸡丁,看完把过程写成报告。”小张发现这活儿比切菜难多了——画面会动、动作有先后、火候有轻重,他得一边看一边抓重点,最后把流动的画面整理成通顺的文字。更麻烦的是,报告写完后,老周不会凭感觉打分,而是拿出三把不同的尺子:第一把最死板,只认原词;第二把灵活些,允许换近义词;第三把最讲究,专看“大家都提到的关键点”。这个场景,正是 AI 领域“视频字幕”任务的真实写照:让模型像小张一样“看视频、写文字”,再用 BLEU、METEOR、CIDEr 这三把标准化尺子打分。接下来,我们就以小张的实习日记为主线,把这三把尺子彻底看明白。
学会视频字幕及其评测指标,是踏入多模态模型评测领域的第一块敲门砖:无论你想训练视频理解模型,还是参与基准测试对比,这套“看视频—写描述—打分数”的闭环都是绕不开的核心技能。
可视化演示
展示视频字幕生成:视频帧序列经编码器解码器生成自然语言字幕、稀疏与密集字幕粒度、BLEU/METEOR/CIDEr评测对比,通过交互理解跨模态生成。
本节配有交互动效(进入视口后自动加载,约 3KB)。
编解码:视频转文本 编码器抽取视频帧时空特征 解码器自回归生成字幕词序列 V帧 → Enc → Dec → 字幕 注意力实现跨模态交互
任务定义
小张第一天到后厨实习,主厨老周没让他切菜,而是递给他一个小本子:“去看大厨做一道宫保鸡丁,把过程写下来。”小张愣住了——切菜有刀法,颠勺有节奏,起锅有火候,这些“动起来”的画面,该怎么变成静止的文字?他意识到,自己接到的不是一个“看照片写作文”的任务,而是一个“看录像写解说”的任务。
这个任务在 AI 领域叫“视频字幕”(Video Captioning):输入一段视频,输出一句或几句自然语言描述。模型不能只看某一帧“照片”,而要理解整个视频片段里发生了什么、谁做了什么、动作顺序如何。和图像字幕相比,难点正在于“时间”——画面是动态的,动作有先后、有因果,模型必须把时间维度纳入理解。这正是视频字幕与图像字幕最本质的区别。
从形式上看,视频字幕是一种“视频到文本”的跨模态转换:视觉信息被编码成特征,再被解码成语言符号。它同时挑战模型的视觉感知能力(认出物体、动作、场景)、时序推理能力(理解动作顺序与因果)和语言生成能力(组织出通顺达意的句子)。在数学上,可以把它形式化为一个条件概率最大化问题。
老周布置的这个任务,本质上就是让小张做一次“跨模态翻译”——把后厨里流动的画面翻译成小本子上的文字。模型也一样:输入是镜头语言,输出是自然语言,中间的翻译质量,就要靠后面的三把尺子来把关。
- 输入视频 V模型要读入的是一整段视频,包含多帧画面和动作变化,而不是单张图片。
- 候选字幕 y模型从词表里选词组成的一句话,比如“一个人在厨房翻炒花生米”就是一条候选。
- 条件概率 P(y|V)给定视频后,模型给每条候选字幕打一个“像不像人话、对不对题”的概率。
- argmax 选择在所有候选中选出概率最高的一条作为最终输出,即“最合理的那个答案”。
技术流程
小张很快发现,盯着看一整道菜不现实。他给自己定了个流程:每隔几秒抬头记一笔(帧采样),把“切丁、滑油、颠勺”这些关键动作记在本子上(特征提取),再按时间顺序把动作串成故事(时序建模),最后写成通顺的报告(文本生成)。这套流程,和主流的视频字幕模型如出一辙。
第一步是帧采样:视频通常每秒 24-30 帧,模型不可能逐帧处理,常见做法是均匀抽取 N 帧(如 8 帧或 16 帧),或按内容挑出关键帧。第二步是视觉特征提取:把每帧送入卷积神经网络(如 ResNet),得到一组特征向量,相当于把每帧画面压缩成“单词”。第三步是时序建模:用 LSTM 或 Transformer 把这些特征向量按时间顺序融合,让模型理解“先切丁、再滑油、最后颠勺”这样的因果链条。
第四步是文本生成:模型像一个打字员,逐个词地吐出字幕。每吐一个词,它都要看一眼视频信息,再结合已经吐出的词,决定下一个词说什么。整句话的概率可以分解成逐词条件概率的连乘——这也解释了为什么视频字幕模型的输出往往是解码器逐词自回归生成的结果。
小张的观察流程和模型如出一辙:他不能把每一秒都记下来,只能挑关键时刻;模型也不能把每一帧都塞进记忆,只能靠特征提取压缩成要点。有了这套流程,“看视频”才真正变成了“能讲故事的素材”。
- 视频素材 V经过帧采样和特征提取后,V 在这里代表一组视觉特征向量,是模型“看”到的全部内容。
- 逐词条件概率第 t 个词的概率以它前面所有词和整段视频为条件,体现“一边看一边写”的动态过程。
- 连乘分解整句话的概率等于逐词概率的连乘,把“生成一句话”拆解成“依次吐出每个词”。
评测数据
小张写完报告,老周看了一眼说:“一份报告不算数。我让三位老师傅也各自写了一份,你对照着看看自己漏了什么。”小张这才明白,评判一份“观后感”写得好不好,不能只有一份参考答案——每个人看到的角度可能不同,多几份参考才公平。
这正是视频字幕评测数据的逻辑:每个视频都要配多条人工参考字幕。最常用的两个基准数据集是 MSVD 和 MSR-VTT。MSVD 有约 2000 段来自 YouTube 的短视频,内容以生活场景为主,每个视频配约 20 条人工参考字幕;MSR-VTT 规模更大,包含 10000 段视频,覆盖烹饪、体育、新闻等 20 类开放场景,每个视频同样配约 20 条参考。它们都有官方划分好的训练集、验证集和测试集,保证所有研究者在同一标准下比较成绩。
从数据结构上看,整个数据集就是一组“视频 + 参考字幕集合”的配对。因为同一段视频可以有无数种合法描述,多参考的设计就是为了覆盖更多说法,避免把某个人的措辞当成“唯一正确答案”。
三份老师傅的参考报告,就是小张的“标准答案库”。后面登场的三把尺子,全部建立在这个基础之上:有参考,才能谈重合、谈对齐、谈共识。
- 数据集 D整个评测库由 N 个样本组成,下标 i 用来给视频编号。
- 参考字幕集合 S_i第 i 个视频配了 M 条人工参考字幕,每条都是对同一段画面的合理说法。
- 一对多设计多参考能覆盖更多说法,避免“唯一答案”的偏颇,也让统计类指标更有意义。
BLEU指标
老周拿出第一把尺子——一把量角器式的“原词对照尺”:把小张报告里的词拆成一到四个连续词的小组(n 元组),去参考报告里找有没有一模一样的原词。“花生”和“花生米”,在它眼里算两回事;“大火翻炒”对“大火爆炒”,四个字只重了半个,它也毫不留情。
这把尺子就是 BLEU(Bilingual Evaluation Understudy),最早用于机器翻译,后来被广泛移植到图像和视频字幕评测。它衡量候选字幕中有多少 n 元组(n=1,2,3,4)与参考字幕重合。BLEU 由两个关键机制组成:一是截断匹配(Clip),防止同一个词反复出现刷高分数;二是长度惩罚(BP),防止模型靠写短句钻精确率的空子。
计算时,BLEU 先分别算出 1 到 4 元组的精确率,再取对数平均,最后乘以长度惩罚系数。任何一个层次的精确率为零,都会让整体分数归零——这正是 "dog runs" 这种太短的句子在 BLEU-4 上接近零分的原因。
小张对着尺子叹气:自己写“大火翻炒”,参考写“大火爆炒”,四个字只重了一个,BLEU 毫不留情地打了低分。这尺子公平,但确实死板——还好老周还准备了两把更聪明的尺子。
- 截断匹配候选里某个 n 元组出现的次数,不能超过它在任何一条参考里出现的最多次数,防止反复刷同一个词。
- 精确率 p_n截断后的命中数除以候选 n 元组总数,n 分别取 1、2、3、4,得到四个层次的精确率。
- 几何平均对四个精确率取对数再平均,任何一项太低都会拖低整体,鼓励“从单词到短语全面重合”。
- 长度惩罚 BP候选比参考短时,用指数 e^(1-r/c) 打折;候选足够长时 BP 恒为 1。
METEOR指标
老周拿出第二把尺子——“灵活理解尺”。它允许小张用近义词:“翻炒”对上“爆炒”算匹配;“香味”对上“香气”也算匹配;甚至“翻炒”和“翻炒着”这种词形变化,它也能认出来。只要词序别太乱,它都能在对齐的概念下给小张留足面子。
这把尺子是 METEOR。它先把候选和参考做一元组对齐——对齐分成三个等级:完全一致(exact)、词干一致(stem,如 cook 与 cooking)、同义词一致(synonym,如“炒”与“爆炒”)。基于对齐结果,分别计算精确率 P 和召回率 R,再用调和平均 F_mean 把两者综合起来。最后,METEOR 会检查匹配词在句子里的分布:如果匹配的词挤成连续的一簇,说明语序通顺;如果东一个西一个,说明词序混乱,就要按“块惩罚”扣分。
与 BLEU 只算精确率不同,METEOR 显式引入了召回率,因此更看重“该说的内容是否都说全了”。这也是它对短字幕更友好、与人工评分的相关性通常优于 BLEU 的原因。
小张把“爆炒”改成“翻炒”,METEOR 立刻给足了面子。但老周提醒他:这把尺子会迁就同义词,却不知道哪些词是“大家都看重的关键信息”——这个问题,得请第三把尺子出马。
- 对齐匹配把候选的每个词元,按完全一致、词干一致、同义词一致的优先级去参考里找伙伴,找到即算命中。
- 精确率 P 与召回率 RP 是命中数除以候选词数,R 是命中数除以参考词数;召回率让 METEOR 重视“该说的都说了”。
- 调和平均 F_mean用更偏向召回率的调和平均,避免模型只写一两个词刷高精确率。
- 块惩罚命中词若挤成簇(chunks 少)说明语序好;越分散说明语序越乱,惩罚因子越大。
CIDEr指标
第三把尺子最讲究,叫“共识重要度尺”。老周把三位老师傅的报告并排摆开:三个人都写了“颠勺”,只有一个人提了“红色围裙”。小张的报告里若写了“颠勺”,大大加分;若写了“围裙”,几乎不涨分。老周说:“写报告要抓大放小,行家都在意的要点,才是真正的得分点。”
这把尺子是 CIDEr。它给 n 元组做 TF-IDF 加权:TF(词频)衡量一个词在当前字幕里的相对出现频率,IDF(逆文档频率)衡量它在整个语料库里的稀有度。一个词若被大量参考字幕共同使用,说明它是描述这类视频的关键共识,权重就高;反之,偶发细节的权重被显著压低。最终,把候选字幕和每条参考字幕都表示成加权向量,计算余弦相似度后取平均。
研究表明,在参考字幕充足的情况下,CIDEr 与人工评分的相关性通常高于 BLEU 和 METEOR,因此许多视频字幕比赛用它作为主要排名依据。
小张恍然大悟:写报告要抓大放小,把“颠勺、滑油、花生米”这些行家都在意的要点写全,而不是堆砌小细节。CIDEr 就像老周的经验之谈——重点看共识,细节只是点缀。
- TF-IDF 加权先算词在当前字幕中的占比(TF),再乘上稀有度对数(IDF),让关键共识词浮出水面。
- 向量化把候选字幕和每条参考字幕的 n 元组加权值排成向量,等待比较。
- 余弦相似度两个向量夹角的余弦衡量“侧重是否一致”,方向一致即高相似,且不受字幕长度影响。
- 跨 n 聚合与平均对 1 到 4 元组分别算相似度并按权重相加,再对所有参考取平均,得到最终共识分。
指标综合比较
实习最后一天,老周把小张的三张评分表并排放在桌上:第一张尺子死板但速度快;第二张尺子灵活但挑剔语序;第三张尺子聪明却离不开多位老师傅的参考报告。老周说:“单独看哪张都可能看走眼,三张合起来看才稳。”
视频字幕的评测标准同样遵循这个道理。业界惯例是在同一数据集上同时报告 BLEU、METEOR、CIDEr(有时附带 ROUGE-L 等),综合判断模型好坏。BLEU 偏重词汇层的 n 元组重合,实现简单、可复现,但对同义改写几乎零容忍;METEOR 引入对齐与召回,对短字幕更友好;CIDEr 借助 TF-IDF 突出视频-文本共识,在参考字幕充足时与人工判断的一致性最高。
大量研究给出的经验法则是:以 CIDEr 作为主要排名依据,用 BLEU 和 METEOR 提供互补信息,并且所有分数必须在同一数据集、同一参考字幕集合下横向比较才有意义。近年也出现融入语义嵌入的指标(如 BERTScore),但 BLEU、METEOR、CIDEr 这三件套仍是社区公认的“标准秤”。
三把尺子各有脾气,老周从不敢只凭一把就定下小张的实习成绩。今天的评测员们也如此:多指标联合,才能给“观后感”打出一个经得起推敲的总分——这也是每一个 AI 从业者在发布模型时必须交出的答卷。
- 相关性系数 ρ用一组模型的指标分数与人工评分算相关系数,衡量自动指标在多大程度上“替人说真话”。
- 主指标选择实证研究中 CIDEr 与人工评分相关性最高,因此通常作为排名的主要依据。
- 联合报告策略主指标定排名,辅指标做交叉验证,防止单一指标被针对性刷分。
AI 应用场景
视频平台的无障碍字幕自动生成与质检
阶段:模型推理 + 自动评测
解决的问题:传统人工为视频配字幕成本高、速度慢;AI 生成初稿后,如何快速筛掉质量差的稿子成为关键。用 CIDEr 和 BLEU 对模型生成的草稿批量打分,低分稿直接退回重新生成,只有高分稿才送人工润色,能把成本降低一个数量级。
具体案例:某短视频平台为创作者提供“自动字幕”功能:模型为每段视频生成 5 条候选字幕,评测流水线用 CIDEr 排序并取最高分进入下一环节,再经 BLEU 抽样复核,最终审核通过率提升了约 40%,人工工作量减少近六成。
在线教育视频的智能检索与定位
阶段:数据处理 + 效果评估
解决的问题:海量课程视频无法靠人工逐条打标,搜索只能匹配标题。先对视频做字幕生成,把视频内容转成可检索的文本索引,再用字幕指标抽检文本质量,确保“搜得到、定得准”。
具体案例:某在线教育平台把数千小时课程视频自动转成字幕文本并建立关键词索引;字幕经 METEOR 与 CIDEr 抽样质检后,用户搜索“宫保鸡丁做法”能直接定位到对应视频片段,而不只是标题命中。
Python 演示
# -*- coding: utf-8 -*-# 视频字幕评测: 实现 BLEU / METEOR / CIDEr 三个指标的简化版打分import mathimport refrom collections import Counter def tokenize(sentence): """把句子切成词元: 英文按空格切, 中文按字切(演示用).""" sentence = sentence.lower() if re.search(r'[\u4e00-\u9fff]', sentence): return list(sentence.replace(' ', '')) return sentence.split() def ngrams(tokens, n): """生成长度为 n 的词元组列表.""" return [tuple(tokens[i:i + n]) for i in range(len(tokens) - n + 1)] def bleu(cand, refs, max_n=4): """BLEU: 截断 n-gram 精确率 + 长度惩罚.""" cand_tok = tokenize(cand) ref_tok_list = [tokenize(r) for r in refs] c = len(cand_tok) r_len = len(min(ref_tok_list, key=lambda r: abs(len(r) - c))) precisions = [] for n in range(1, max_n + 1): cand_ng = Counter(ngrams(cand_tok, n)) ref_counts = Counter() for ref_tok in ref_tok_list: ref_ng = Counter(ngrams(ref_tok, n)) for g in cand_ng: ref_counts[g] = max(ref_counts[g], ref_ng[g]) clip = sum(min(cand_ng[g], ref_counts[g]) for g in cand_ng) total = sum(cand_ng.values()) precisions.append(clip / total if total else 0.0) bp = 1.0 if c >= r_len else math.exp(1 - r_len / c) log_avg = sum(math.log(max(p, 1e-12)) for p in precisions) / max_n return bp * math.exp(log_avg) def meteor(cand, refs): """METEOR 简化版: 一元组对齐 + 调和平均 + 词序惩罚.""" cand_tok = tokenize(cand) ref_tok_list = [tokenize(r) for r in refs] best = 0.0 for ref_tok in ref_tok_list: usable = Counter(ref_tok) matched = [] for i, w in enumerate(cand_tok): if usable.get(w, 0) > 0: matched.append(i) usable[w] -= 1 if not matched: continue precision = len(matched) / len(cand_tok) recall = len(matched) / len(ref_tok) f_mean = 10 * precision * recall / (recall + 9 * precision) chunks = 1 for i in range(1, len(matched)): if matched[i] != matched[i - 1] + 1: chunks += 1 penalty = 0.5 * ((chunks / len(matched)) ** 3) best = max(best, f_mean * (1 - penalty)) return best def cidr(cand, refs): """CIDEr 简化版: TF-IDF 加权 + 余弦相似度.""" cand_tok = tokenize(cand) ref_tok_list = [tokenize(r) for r in refs] docs = ref_tok_list + [cand_tok] df = Counter() for doc in docs: grams = set(ngrams(doc, 1)) | set(ngrams(doc, 2)) for g in grams: df[g] += 1 total_docs = len(docs) def to_vector(doc): counts = Counter(ngrams(doc, 1)) + Counter(ngrams(doc, 2)) vec = {} for g, cnt in counts.items(): tf = cnt / len(doc) idf = math.log(total_docs / (1 + df[g])) vec[g] = tf * idf return vec def cosine(a, b): dot = sum(a.get(g, 0.0) * b.get(g, 0.0) for g in set(a) | set(b)) na = math.sqrt(sum(x * x for x in a.values())) nb = math.sqrt(sum(x * x for x in b.values())) return dot / (na * nb) if na and nb else 0.0 cand_vec = to_vector(cand_tok) return sum(cosine(cand_vec, to_vector(r)) for r in ref_tok_list) / len(ref_tok_list) if __name__ == '__main__': candidate = 'a man is cooking in the kitchen' references = [ 'a man is cooking food in the kitchen', 'a person prepares a meal in the kitchen' ] print('BLEU = %.4f' % bleu(candidate, references)) print('METEOR = %.4f' % meteor(candidate, references)) print('CIDEr = %.4f' % cidr(candidate, references))
def bleu(cand, refs, max_n=4):BLEU 打分入口,从 1 元组到 4 元组逐层统计重合ref_counts[g] = max(ref_counts[g], ref_ng[g])对每条参考取该 n 元组的最大计数,实现“截断匹配”的上限bp = 1.0 if c >= r_len else math.exp(1 - r_len / c)长度惩罚:候选比参考短时指数打折,堵住“写短句刷分”的漏洞def meteor(cand, refs):METEOR 打分入口,核心是逐词对齐f_mean = 10 * precision * recall / (recall + 9 * precision)调和平均,让召回率权重更高penalty = 0.5 * ((chunks / len(matched)) ** 3)词序惩罚:匹配越分散、chunks 越多,扣分越狠def cidr(cand, refs):CIDEr 打分入口,核心是 TF-IDF 加权向量idf = math.log(total_docs / (1 + df[g]))稀有度加权:几乎每篇都有的词权重被压低return dot / (na * nb) if na and nb else 0.0余弦相似度:衡量候选与某条参考的侧重方向是否一致
常见误区
误区“我以为 BLEU 像考试分数,0 到 1 之间,肯定要 0.9 以上才说明字幕写得好。看到模型只有 0.4 分,以为它翻车了。”
正解BLEU 是 n 元组重合率,不是正确率。视频字幕领域最先进的模型,BLEU 通常也只有 0.4-0.5 左右;而且分数强依赖数据集和参考字幕数量,跨数据集比较绝对值毫无意义。它像小张的三把尺子,量出的是“相对排名”,而不是百分制及格线。
为何常见:BLEU 被设计成 0 到 1 的区间,人天然会把它类比成百分制考试,从而产生“高分才合格”的错觉。
误区“BLEU 只看重合率,字数越少分母越小,命中率不就越高?那我干脆把字幕写成'做饭'两个字,肯定能刷满分。”
正解长度惩罚 BP 就是专门堵这个漏洞的:候选比参考短时,BLEU 会按指数打折。“做饭”两个字就算都命中,BP 也会把分数压到接近零。另外,4 元组的精确率需要足够长的句子才能产生,太短的字幕根本凑不出 4 元组。
为何常见:初学者只看了精确率的定义式,忽略了公式里还有一个 BP 因子——这一行恰恰是 BLEU 设计中最容易跳过的部分。
误区“既然 METEOR 也是算词对不对得上,那它跟 BLEU 应该是一个东西换了层皮吧,选一个用就行。”
正解两者差异很大。BLEU 只做“原封不动”的 n 元组重合,且不考虑召回率;METEOR 做一元组对齐,支持同义词和词干匹配,还用调和平均融合了召回率,最后加上语序惩罚。打个比方:BLEU 是死板逐字对照,METEOR 是允许换词却要求语序通顺的灵活考官。
为何常见:两者的公式里都有“匹配数除以总数”形状的项,表面相似掩盖了对齐机制与召回率这两个本质区别。
误区“CIDEr 最聪明,它分低肯定说明模型字幕写得不对,直接判错就行。”
正解CIDEr 依赖多参考和 TF-IDF 共识:如果候选字幕用了参考里少见的说法,即使内容正确,较低的共识权重也会把分数压低;参考条数少时 CIDEr 的方差还会明显变大。低分只能说明“和参考共识不一致”,不等于“语义错误”。
为何常见:把“与共识的吻合度”误解成“绝对的语义正确性”,忽略了 CIDEr 本质上是统计相关性度量,而不是语义判定器。
误区“BLEU、METEOR、CIDEr 三个分数都高,那模型肯定是满分选手,可以直接上线不用人看了。”
正解n 元组类指标本质是词汇-统计层面的近似,无法识别“主语搞错但句子通顺”这类语义错误。比如“猫追狗”写成“狗追猫”,若参考里恰好有相似短语,指标未必能扣分。所以工业落地仍需人工抽检,指标更适用于模型间排序和迭代回归监控。
为何常见:量化数字自带权威感,人们倾向用单一代数字替代复杂的人工判断,而忘记指标只是“代理评分”。
面试题
Q1. 视频字幕任务最核心的输入和输出是什么?
- A.输入单张图像,输出类别标签
- B.输入视频,输出自然语言描述← 正确答案
- C.输入音频,输出文字转写
- D.输入文本,输出视频片段
答案:B。视频字幕任务的输入是包含时间维度的视频帧序列,输出是自然语言描述,属于视频到文本的跨模态转换。B 项正确。A 是图像分类,C 是语音识别,D 是文本生成视频,均与任务定义不符。
Q2. BLEU 指标的核心思想是什么?
- A.候选与参考的 n 元组重合程度← 正确答案
- B.候选字幕单词的平均长度
- C.视频帧之间的像素差异
- D.文本嵌入向量的余弦距离
答案:A。BLEU 通过统计候选字幕与参考字幕在 1 到 4 元组上的截断重合率来打分,A 项准确描述了这一核心思想。B、C、D 分别涉及长度、像素和嵌入距离,都不是 BLEU 的机制。
Q3. BLEU 中长度惩罚 BP 的主要作用是?
- A.惩罚候选字幕中重复的单词
- B.惩罚过短造成的高虚精确率← 正确答案
- C.惩罚不含动作动词的字幕
- D.惩罚和参考完全相同的字幕
答案:B。长度惩罚 BP 在候选比参考短时按指数打折,防止模型利用高精确率钻“写短句”的漏洞,B 正确。重复刷词由截断匹配机制抑制,A 错误;C 和 D 与 BP 的作用无关。
Q4. METEOR 相比 BLEU 最主要的特点是?
- A.支持同义词与词干匹配对齐← 正确答案
- B.完全不需要参考字幕参与
- C.只统计四元组重合并集
- D.直接计算语义嵌入距离
答案:A。METEOR 的核心特征是先做一元组对齐,支持完全一致、词干一致、同义词一致三档匹配,再用调和平均融合召回率并加词序惩罚,A 正确。B 完全错误;C 是 BLEU 的一个侧面;D 属于语义嵌入类指标,不是 METEOR 的做法。
Q5. 下列哪些是视频字幕常用的评测数据集?
- A.MSVD 视频数据集← 正确答案
- B.MSR-VTT 数据集← 正确答案
- C.ImageNet 图像库
- D.COCO 图像数据集
答案:AB。MSVD 和 MSR-VTT 是视频字幕最常用的两个基准数据集,每个视频都配有多条人工参考字幕,选 A、B。ImageNet 是图像分类数据集,COCO 是图像字幕数据集,均不属于视频字幕基准。
Q6. 关于 CIDEr 指标,下列说法正确的是?
- A.它使用 TF-IDF 加权 n 元组← 正确答案
- B.共识性强的词权重更高← 正确答案
- C.分数只取决于词序
- D.与人工评分相关性弱
答案:AB。CIDEr 用 TF-IDF 给 n 元组加权,所有参考都提到的共识词权重更高,且实证中其与人工评分的相关性通常最高,A、B 正确。C 忽略了词频的关键作用;D 与实证结论恰好相反。
Q7. 候选字幕 "dog runs" 的 BLEU-4 分数接近零,最直接的原因是?
- A.参考中没有 dog 一词
- B.四元组重合无法形成匹配← 正确答案
- C.字幕没有使用标点符号
- D.模型输出的词数实在太多
答案:B。BLEU-4 要求候选与参考存在 4 元组重合,"dog runs" 只有两个词,根本无法组成任何 4 元组,p₄ = 0 使整体分数归零,B 最直接。A 会导致一元组也为零,但不是题干强调 BLEU-4 的原因;C、D 与评分机制无关。
Q8. 视频字幕与图像字幕最主要的区别是什么?
- A.视频字幕必须建模时间维度← 正确答案
- B.视频字幕不需要文本生成
- C.图像字幕不需要视觉理解
- D.视频字幕输出的是音频
答案:A。视频字幕必须建模时间维度来理解动作顺序与因果,这是它与图像字幕的本质区别,A 正确。视频字幕同样需要文本生成与视觉理解,B、C 错误;视频字幕输出的是文本而非音频,D 错误。
Q9. 视频字幕评测为什么要同时报告多个指标?
- A.各指标侧重点不同可互补← 正确答案
- B.单一指标可能被针对性刷分← 正确答案
- C.多指标一定证明字幕完美
- D.多指标可以完全替代人工评测
答案:AB。BLEU、METEOR、CIDEr 分别侧重词汇重合、灵活对齐和共识加权,联合报告可以互补;单一指标也可能被针对性优化,故选 A、B。C 夸大了多指标的作用,D 说法不成立——自动指标无法替代人工语义判断。
Q10. 关于评测数值的可比性,下列正确的是?
- A.不同数据集上的分数可直接比较
- B.分数只在同基准下才有意义← 正确答案
- C.参考字幕数量不影响指标值
- D.CIDEr 不依赖任何参考字幕
答案:B。自动指标分数只在同一数据集、同一参考字幕集合下才有可比性,B 正确。不同数据集的参考数量、内容分布差异很大,A 错误;参考字幕数量显著影响指标值,C 错误;CIDEr 恰恰是最依赖多参考的指标,D 错误。