跳转到内容
原创教程公开来源整理

两份 CSV 分类结果怎么对比:按 ID 检查标签变化

对齐两份列名不同的 CSV,逐条核对变化、缺失和新增 ID。

适用场景分类规则修改后,用稳定 ID 找出变化、缺失和新增行

来源 · JevLog 原创Some code10 分钟

分类规则改了以后,先按稳定 ID 对比两份 CSV,找出标签变化、新版缺失和新版新增。本练习提供两份列名不同的虚构结果,预期输出可以逐行核对,无需写代码或调用模型。

作者:JevLog 编辑部 · 2026-10-02 更新。数据为合成样例;差异检查不计算准确率,也不替你批准规则上线。

打开分类结果对比器 · 下载旧结果 before.csv · 下载新结果 after-renamed.csv · 下载预期差异 JSON

对比两次分类结果,将变化、新增和缺失项分开复核。AI 概念插画。

保留两次运行的输入范围、规则版本、模型标识和时间。若同时换了样本范围与分类规则,不能把全部差异归因到模型。需要稳定且唯一的业务 ID;排序后的行号不适合做跨运行关联。

文件 ID 列 标签列 数据
旧结果 id label 1→Billing,2→Technical,3→Other
新结果 record_id category 1→Billing,2→Other,4→Shipping

列名可以不同,只要 ID 代表同一类记录,两个标签字段含义可比较。跨系统的订单 ID 与工单 ID 即使数值相同也不能直接匹配。

点击工具上的“载入虚构样例”,或分别选择两个下载文件。旧文件选择 id、label,新文件选择 record_id、category,然后运行。每个文件最多 5 MB,只在浏览器中处理。

摘要应为 标签变化 1、新版缺失 1、新版新增 1、未变化 1。页面与下载报告只列三条差异,未变化的 ID 1 只计入摘要。

ID 旧标签 新标签 变化类型
2 Technical Other 标签变化
3 Other 空 新版缺失
4 空 Shipping 新版新增

旧记录数 = 未变化 1 + 变化 1 + 缺失 1 = 3;新记录数 = 未变化 1 + 变化 1 + 新增 1 = 3。两份文件各三行,不等于比较了同一批三条记录:共同 ID 只有 1 和 2。

ID 2 要回看原文、标注规范与人工参考标签,判断 Technical→Other 是否合理。ID 3 先查过滤条件、请求失败或导出范围;ID 4 先查输入批次是不是变了。缺失与新增不是分类对错,不能直接塞进准确率公式。

下载 diff-report.csv 或 diff-report.json。报告包含 ID、旧标签、新标签和变化类型;不包含原始正文、规则版本或人工参考答案。另存一份运行说明,并按 ID 找回原文。

可以用以下交接字段记录人工判断:id, old_rule_version, new_rule_version, reference_label, reviewer_decision, reason, reviewed_at。这是你另行维护的交接表,不是工具自动生成或保存的功能。

将不确定的变化交给人检查,再用没有参与调参的标注样本检查错误与业务代价。若已有归一化分数,可以继续用 人工复核队列工具 整理待核对项;其 流程教程 说明如何保留人工结论。

为什么重复 ID 或空 ID 会阻止比较?

Section titled “为什么重复 ID 或空 ID 会阻止比较?”

同一 ID 对应多行时,工具无法确定该和哪行比较;空 ID 也无法可靠关联。先用 CSV 预检器 找输入问题,再在源系统核对。工具不会默认取第一条或按行号硬凑。

标签大小写或空格会被当成变化吗?

Section titled “标签大小写或空格会被当成变化吗?”

会。当前逻辑先去掉 ID 两侧空白,再按 ID 匹配;标签按原始字符串比较,所以 Billing、billing、Billing 不相同。若业务规定它们等价,请先按一份明确的映射规则归一化,并保留映射版本。

不是。“新版缺失”表示新文件里没有这个 ID;新文件仍有 ID 但标签为空,是标签内容发生变化或保持为空。工具不证明空标签有效,建议在复核流程中处理缺标签。

差异为零、刷新页面分别意味着什么?

Section titled “差异为零、刷新页面分别意味着什么?”

零差异只说明所选标签字段在这批稳定 ID 上相同,不说明两个运行都正确。页面不持久化结果;刷新前下载报告,刷新后重新选择两份文件和列。

本地检查仅比较已存在的标签,不请求 Jev,不计算带参考答案的评测指标。预期 JSON 使用当前工具逻辑生成,可与浏览器下载结果逐条核对。