我的小型文档证据模型在40条观测里,有36条和参考标签一致。算下来是90%。
然后我去看了混淆矩阵。它漏掉了唯一一条被标注为“已记录证据”的样本。
这个错误对目标工作流的影响,比那个90%的头条数字要大得多。我在做的是一个助手,帮人在文档里定位和核对证据。如果它只会复现占绝对多数的“未找到”状态,却漏掉唯一一个正例,那就没法说明这个助手是有用的。
这是一次本地原型验证,用的是它自己的训练观测数据,对照的是AI生成的参考标签。它不是独立测试,不是对候选人能力的衡量,也不能作为招聘结果改善的证据。这些限定条件,直接改变了这个分数的含义。
这次练习让我把“目标定义”当成了系统设计的一部分。
模型到底被要求预测什么?
这个原型给文档的四个维度各分配一个文档状态。四个可能的状态是:已记录证据、未找到、明确缺失、模糊。
每个状态都需要精确解释。“未找到”描述的是现有文档和流程呈现出来的结果,它不能证明一个人缺乏某项技能。文档可能漏掉这个人知道的东西,抽取可能失败,相关段落可能用了意料之外的措辞。
“已记录”同样需要小心。一句话提到某个工具,不等于描述了已完成的工作。有学习意愿,和有练习证据,是两回事。互相冲突的段落可能需要人工复核,而不是强行打上正或负的标签。
这一轮的参考标签来自AI,没有新的独立人工标注。和它们一致,衡量的是对这些参考标签的复现程度。如果不说明目标就把它叫“准确率”,会引来比实验本身支持的宽泛得多的解读。
把类别支持度放在聚合数字旁边
这40条观测来自10份文档,每份文档4个维度。它们的参考分布极不均衡:
- 模型复现了全部33条“未找到”参考
- 复现了6条“模糊”参考中的3条
- 剩下3条“模糊”观测,以及那唯一1条“已记录证据”观测,都被预测成了“未找到”
这些结果解释了36/40的一致性从哪来,也说明了为什么这个分数会掩盖我真正想考察的那项能力的失败。
没有“明确缺失”的参考样本。一种报告惯例可以把这一类放进四分类的宏平均F1计算里,但它的数值贡献并不会变成在该状态上被测量到的性能。这个类别没有评估支持。
我希望一份报告能让“没有支持的能力”变得可见。读者应该能区分“方法在这些样本上失败了”和“这个数据集没有测试这项能力”。
40行不等于40份独立文档
同一份文档里的4个维度共享文本、格式、抽取质量和来源上下文。这就在观测之间制造了相关性。
把它描述成40个独立案例是误导。随机切分行、让同一份文档的维度同时出现在训练和评估两边,同样有风险。模型可能在两边遇到大量相同的底层输入。
未来做文档级评估,我会在划分数据集之前先按来源文档分组。关系紧密的版本和重复文档也要同样处理。划分单元应该反映信息可能如何跨越边界,而不是哪个单元让表格最好切。
这一次运行还有一个更简单的限制:全部40条观测都是训练观测。它展示了技术上的学习,也暴露了错误。它没有测量在未见文档上的表现。
保留基线,然后问它测的是什么
更早的一次独立基准测试,在一个冻结的文档划分上,把TF-IDF逻辑回归基线和一个小型PyTorch模型做了对比。它的标签来自一套词汇规则,不是独立观测到的结果。
在同一个划分上跑五个额外随机种子,基线的测试宏平均F1稳定在约0.902。神经网络模型则在约0.576到0.902之间波动。
这是个有用的诊断。在那个设置下基线是稳定的,而神经网络模型对初始化和优化表现出明显的敏感性。只报告神经网络最好的那次运行,会把这个敏感性藏起来。
但基线也和标注规则共享词汇。高分可能反映的是成功复现了这个代理指标,它并不能确立运营决策的质量。
重复随机种子考察的是单一变异来源。它们不会产生新的独立文档,不会修复一个薄弱的目标,也不会让一个已经被检查过的测试集重新变新鲜。我把这些历史结果和那40条观测的原型分开存放,因为它们回答的是不同的问题。
更多样本可能引入另一个任务
下一个数据问题是语义兼容性。一个更大的合成语料用了8项分级标准和0到4的等级。文档原型用的是4个维度和4种证据状态。
这是不同的目标。把它们的行拼在一起,并不会让它们变得等价。
看一段完全虚构的文本:
“我通过教程探索了一款视频剪辑工具,希望将来在团队项目里使用它。”
一个生成的评分规则可能因为接触过该工具而给出低等级。一条文档规则可能把这段话归类为“完成剪辑工作的证据不足”。两种标签都不会自动指定一个运营决策。
这个映射需要明确定义、经过复核的示例,以及原始目标的记录。模糊或不兼容的案例应该保持可见。分数阈值不能替代“这个标签到底是什么意思”的决定。
后来的一次本地实验保留了合成语料自己的8项标准目标,而不是悄悄把它转换成早先的四状态任务。这守住了一条重要边界:合成任务上的结果,就仍然是那个任务上的结果。
没见过的标识符里可能还是熟悉的语言
合成数据让构造覆盖面和对比样本更容易,也让走捷径更容易重复。
两份文档可以有不同的标识符、名称、章节顺序和细微措辞变化,却保留同一个底层短语模板。即使训练和测试样本在语言上仍然非常相似,精确重复检查也可能通过。
在我检查的语料里,变体复用了短语基底,再加上了框架性表述。这是去调查模板重叠的理由,不是“所有结果都无效”或“所有泄漏都已清除”的证据。
要做更强的评估,我会追踪模板家族,检查跨划分的相似度,并保留真正不同的证据表述。我还会检查长度、章节结构或风格线索是否泄露了生成的标签。一条没见过的记录,只有在它测试了预期难度的意义上才有用。
评估模型真正要帮助的工作流
产品问题是:这个建议能不能帮复核者找到并评估证据。
下一个有用的对比是“文档加搜索”对“文档加搜索加模型建议”。它需要独立复核过的参考、正例和模糊样本、缺失证据案例,以及对抽取失败的明确处理。
我会测量漏掉的证据、误导性建议、纠正、弃答和复核工作量。模型建议和检索到的段落应该保持可分别检查:搜索结果不会自动成为神经网络输出的解释。
参考复核也应该避免先展示模型建议。否则评估会继承模型的框架。分歧需要解决,或者记录为待定状态,而不是编造一个共识。
那项研究还没有完成。它是判断有用性所需要的下一个证据,而不是对现有训练分数的又一次解读。
我现在放在分数之前的问题
在比较方法之前,我会先写下来:
- 参考标签是什么意思,由谁或什么产生?
- 哪些类别和运营失败有实际支持?
- 独立单元是什么:一行、一份文档,还是一个来源家族?
- 评估集是否已经影响了设计决策?
- 新标签和现有任务兼容吗?
- 哪个工作流结果能证明加入这个模型是合理的?
那个90%的头条数字有用,是因为检查它改变了我的下一步。在声称有用性之前,这个系统需要更好的参考覆盖,以及一次独立的工作流对比。
你当前评估里的那个目标,实际代表的到底是什么?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.