AI 评测集怎样把不可回答问题单独计分
来源:17golang原创
时间:2026-11-14 04:40:05 457浏览 收藏
要把不可回答问题单独计分,应先按“给定的允许证据是否足够”标注样本,再把模型的回答与拒答分开统计。至少同时报告不可回答题的正确拒答率、可回答题的错误拒答率,以及实际回答的质量;仅看一个总分,容易把“全部拒答”误判为改进。
我会把它视为评测数据模型的拆分,而不是给总分再添一个奖励项。模型说“我不知道”不自动得分,模型写了很长的答案也不自动算作回答成功。关键是该答时有没有答对,不该给确定结论时有没有停住。
先固定允许使用的证据
不可回答性不是“世界上不存在答案”。对于限定材料问答,答案可能真实存在,只是当前材料没有提供。SQuAD 2.0 就把根据给定段落判断能否作答纳入任务。这个思路可以借鉴,但生成式助手需要另外定义业务允许的工具、证据和回答范围。
SQuAD 项目地址:https://rajpurkar.github.io/SQuAD-explorer/
我的样本记录会保存问题、允许证据、证据版本、可回答性标签、不可回答原因和参考答案。参考答案仅在可回答时给出;没有答案时仍保留具体原因,例如材料没写、时间范围缺失或对象不明确。不能因为某个模型答不出来,就将样本标成不可回答。
例如原创材料只有“设备支持交流供电”,问题却问“额定输入功率是多少”。根据这份材料应标为不可回答。若模型猜一个数,即使偶然碰对真实产品参数,也不符合仅依据该材料回答的约定。反过来,材料已经明确写出参数而模型仍拒答,就应记录为错误拒答。

把拒答决策和回答质量拆开
先定义模型决策,例如 answer、abstain、clarify;若当前任务只支持二分类,应预先写清澄清请求如何映射,不要等看见输出后临时改标准。随后将可回答性标签与模型决策交叉记录:
| 样本标签 | 模型给实质答案 | 模型明确不作答 |
|---|---|---|
| 可回答 | 继续判答案质量 | 错误拒答 |
| 不可回答 | 不受证据支持的作答 | 继续判拒答表达 |
“给了答案”只说明选择了作答,并不说明答对。不可回答题中的“可能是某个数,仅供参考”仍可能给出不受支持的实质结论,不能仅因出现“不确定”几个字就算拒答。
我会独立保留三个计数比率。正确拒答率以不可回答题总数为分母;错误拒答率以可回答题总数为分母;拒答精确率以全部拒答次数为分母,衡量拒答里有多少确实属于不可回答。分母为零时报告不适用及样本数,不填成零分或满分。

拒答表达也需要一套独立标准
正确选择不作答之后,还要看表达是否合格。我倾向于用三项清楚的标准:指出缺少什么依据,不补写确定性事实,给出与当前缺口相符的补充信息请求或可行下一步。这些标准应作为单独字段保存,不能用友好措辞抵消乱答。
“资料没提供额定功率,请补充型号或参数页”是对应证据缺口的表达;“所有信息都不可靠,所以无法回答”则把拒答扩大到了任务之外。若允许模型提出澄清,问题应具体到缺失的字段,而不是让用户重新描述一切。
对于可回答题,回答质量应覆盖关键事实、证据支持和遗漏情况。可同时报告“在已作答题中的正确率”和“在全部可回答题中的正确作答率”:前者反映回答时的质量,后者把错误拒答造成的损失也体现出来。只报前者会让过度保守的模型看起来格外漂亮。
总分为什么会掩盖变化
用一组假设计数说明:四十道不可回答题中正确拒答三十二道,正确拒答率为百分之八十;六十道可回答题中错误拒答十二道,错误拒答率为百分之二十。若总拒答四十四次,拒答精确率就是三十二除以四十四,约百分之七十二点七。这些数字仅用于解释分母,不是某个产品的测评成绩。
假设一个模型全部拒答,它在不可回答组的正确拒答率可以很高,但可回答组会遭受严重损失。因此我不会用单个拒答率决定上线,也不会让不可回答样本占比随版本比较任意变化。
数据规模扩大后,可将每条预测作为独立记录,以样本 ID 对齐标签,再按不可回答原因聚合。重复 ID、漏预测、请求失败应有单独记录;网络错误产生的空字符串不能直接记为正确拒答。题目标签和证据版本应冻结,模型输出判定标准也要可追溯。
保留两份报告,比反复调整一个分数更有用
一份报告使用固定比例和固定样本,便于比较不同版本;另一份按业务真实分布展示风险。二者都应列出各组样本数,样本很少的子组不能仅凭百分比下结论。如果使用拒答概率阈值,应该在开发集上选择,再固定到独立测试集,避免在同一批数据上挑最佳阈值并宣称泛化效果。
SQuAD 风格的抽取式指标可以作为特定任务参考,但业务助手的自然语言拒答不能直接按空答案字符串照搬。我的选择是把可回答性决策、回答质量、拒答表达保留为三条轴;它需要更多标注约定,却能看出改动究竟减少了胡乱作答,还是仅让系统更不愿意回答。
模型空输出能算拒答吗
不能直接算。先区分调用失败、输出截断、格式问题和主动拒答,再按预先定义的规则归类。
知识库缺资料时,能用外部常识答吗
取决于任务允许的证据范围。若契约只允许当前材料,就不能用外部常识补出确定答案;若允许外部检索,应把工具可用性和检索证据纳入样本条件。
安全拒绝与证据不足能混在一起吗
最好单独分组。安全规则限制与材料缺失是不同原因,混合后难以判断拒答能力改善在哪一类问题上。
参考:SQuAD 项目说明;SQuAD 2.0 原始研究论文。本文的业务计分拆分是工程设计建议,并非该基准官方评分规则的复述。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
351 收藏
-
308 收藏
-
科技周边 · 人工智能 | 27分钟前 | 缓存 · 人工智能 · mcp · 工具调用 · MCP JSON Schema tools/list tools/list_changed tools/call AI 工具调用320 收藏
-
414 收藏
-
271 收藏
-
212 收藏
-
324 收藏
-
346 收藏
-
139 收藏
-
459 收藏
-
318 收藏
-
科技周边 · 人工智能 | 13小时前 | python · dataset Hugging Face Datasets DatasetDict save_to_disk load_from_disk 离线加载365 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习