登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  科技周边 >  人工智能

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 原始研究论文。本文的业务计分拆分是工程设计建议,并非该基准官方评分规则的复述。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>