Entailment Acc 是什么?蕴含准确率该怎么看
Entailment Acc(蕴含准确率)指的是在自然语言推理或事实一致性判断中,模型对“蕴含”这一类样本判断正确的比例。打个比方:质检员检查一批货,这个指标只统计“合格品”那一堆里他放行对了多少件,不合格品他挑得准不准,这个数字管不到。
它是怎么回事
先说背景。自然语言推理(NLI,也叫识别文本蕴含 RTE)给模型两段话,一段叫前提,一段叫假设,让模型判断三选一:蕴含(前提成立,假设必然成立)、矛盾、中立(无法判断)。比如前提是“一只猫坐在沙发上”,假设是“沙发上有动物”,这是蕴含。再看 SNLI 论文里的一组:前提说一个男人在检查某个东亚国家的制服,假设说“这个男人在睡觉”,标签是矛盾。
Entailment Acc 的算法很直接:把标准答案是“蕴含”的样本挑出来,数模型答对了多少,再除以这些样本的总数。一篇评测语音模型语义推理的论文(Afrispeech Semantics)就把它写成 EACC,并和中立准确率 NACC、矛盾准确率 CACC 放在一起报告,用来看模型是偏爱说“蕴含”,还是过度拒绝。
另一种用法在事实一致性检测里。HyperAI 的百科条目把它描述为:用 NLI 模型判断生成内容能否被原文蕴含,以此衡量事实一致,结果常用百分比或 0 到 1 的分数表示。这两种用法我都见到了,说明这个名字没有一个全行业统一的定义,读论文时得看它自己怎么写。
从哪来的
蕴含判断的任务比这个指标老得多,早期主要靠 RTE 系列评测。2015 年,斯坦福的 Bowman、Angeli、Potts 和 Manning 在 EMNLP 上发布 SNLI 语料库,一共 57 万对人工写的英文句子,标注为蕴含、矛盾、中立三类,规模比此前同类资源大了两个数量级。有了大规模标注,神经网络才第一次在这类任务上有了像样的成绩。
到了大模型时代,用途变了。2022 年 Laban 等人在 TACL 发表 SummaC,指出此前 NLI 在摘要幻觉检测上表现不好,原因之一是粒度不匹配:NLI 数据集是句子对,而要检查的是整篇文档。他们的做法是把文档和摘要都拆成句子,两两过一遍 NLI 模型,再汇总分数。蕴含判断从此成了查“模型有没有瞎编”的常用工具。
现在在哪用
一类是各种 NLI 评测,包括文本、语音等模态,报告整体准确率的同时再拆出分类别准确率。另一类是幻觉检测和事实核查流程。比如微软研究院的 Claimify(ACL 2025,Metropolitansky 与 Larson)把“蕴含”列为评价声明提取质量的三个维度之一,意思是:原文若为真,提取出的声明也应为真。论文里 Claimify 的蕴含比例是 99%,这个判断是让大模型靠提示词完成的,严格说是蕴含比例,和 NLI 分类器上的 Entailment Acc 不是同一件事。
至于 Claude、GPT、Gemini、Qwen、DeepSeek 这些模型,我没见到哪家把它当作发布页的主打成绩。它更多出现在评测论文、RAG 回答核查和摘要质检的流水线里,属于“拿来检查模型”的尺子。
容易混的地方
第一,它不是整体准确率。Keras 官方的 SNLI 示例里训练指标 acc 是三个类别合在一起算的,Entailment Acc 只看蕴含那一类。数学上它就是蕴含类的召回率,所以单独看这个数有陷阱:一个不管什么输入都回答“蕴含”的模型,这一项能拿 100%。
第二,它也不是平衡准确率。SummaC 论文报告的 74.4% 是平衡准确率,衡量的是一致与不一致两类样本的综合表现,两者不能互相比。
第三,“被原文蕴含”不等于“在现实中为真”。摘要或 RAG 回答被检索到的文档蕴含,只说明它忠于这份文档,文档本身错了,它照样会通过。
我们 AI主线 的建议是:看到这个数先问两件事,分母是什么样本,同一张表里有没有中立和矛盾的准确率。自己做核查流程时,别把整篇回答直接丢给 NLI 模型,参考 SummaC 的思路按句拆开,再留意句子对的数量是文档句数乘以摘要句数,文档一长,成本涨得很快。