先用确定性解析,再处理疑难项
Deterministic Parse with Uncertain-Case Escalation
先运行普通解析器,仅把结构不确定的记录交给模型判断。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
把格式稳定的试题文本转成结构化数据。教学输入Q1含题干、A/B/C选项及答案B;Q2含相同字段但没有答案。要保留可确定的提取结果,不能让模型凭常识替原文补答案。
具体做法
定义题号、题干、选项和答案的解析语法及校验规则;先用确定性解析器提取,保留原文与定位。将缺字段、格式异常及无法归属的文本列为疑难项,避免解析器静默丢掉整条题目。仅把相关原文和问题原因交给模型审查;区分提取与作答。模型结果仍过相同结构校验和原文核对,无证据的答案保持缺失。
反例
将Q1与缺答案的Q2全部交给模型,返回每题完整JSON,必须填上答案;接受它补出的内容。
改进写法
先按已知语法解析Q1、Q2并保留原文。Q1答案B可直接提取;Q2以missing_answer升级审查,模型只判断原文是否漏提,不替试题作答。修复后重新校验;原文无答案则保留缺失并报告需补充来源。
为什么这样改
稳定结构适合重复执行的解析器,模型只处理有限歧义。相同的验收门禁防止模型通道成为放宽规则的捷径;保留原文也能识别解析器未识别的题目。
如何验证
教学输出:Q1被接受且answer=B,Q2进入疑难队列并保持answer缺失。加入题号分隔异常的Q3,应报告未解析片段而不是消失。核对输入题数、接受数与待处理数,检查每个接受字段在原文中的依据。
适用边界
启发式分数不是校准后的正确概率。格式变化时需更新解析器;自由散文未必适合固定语法。模型和模式校验都可能接受错误含义,仍需原文或人工核对。冻结来源中的成功率与模型成本不可推作本任务表现。