name: data-tag description: 数据标注与校验技能。当用户提供 Excel 文件并指定数据字段和结果字段时,自动校验结果字段的准确性,在 Excel 中新增"校验结果"和"批示"两列,并将错误的 cell 标注为红色、不确定的 cell 标注为黄色。输出文件命名为"原文件名-标注版.xlsx"。适用于数据标注、数据质检、结果校验、标注审核等场景。触发词:标注数据、校验数据、数据标注、标注审核、数据质检、检查标注结果、验证标注、标注校验。
本技能负责对 Excel 中的数据进行标注校验。根据用户提供的数据字段和结果字段,逐行判断结果字段的值是否准确,直接在结果字段的 cell 上进行标注,不新增任何列:
输出文件保存在原文件夹,命名为 原文件名-标注版.xlsx,不覆盖原文件。
收到用户请求后,确认以下信息:
若用户未明确指定数据字段和结果字段,主动询问确认后再开始校验。
scripts/validate_data.py 读取 Excel 文件全部内容⚠️ 此步骤是标注准确性的关键,必须严格执行以下推理流程。
对每一行数据,必须在内部完成以下 四步推理,不可跳步:
Step 1 — 原文理解:
- 逐字读取数据字段的完整原文,不要截断、概括或脑补
- 特别注意:语音转写文本可能包含错别字、漏字、谐音替代、口语化表达——必须读懂说话人的实际意图,而非字面含义
- 长文本中的关键信息可能藏在中间或末尾,不能只看开头就下结论
- 如果数据字段有换行符 \n,那是真实的换行,文本是连续的
Step 2 — 独立判断: - 基于 Step 1 理解的内容,独立推断这条数据应该对应什么结果 - 在得出自己的判断之前,不要看结果字段的值——先形成预期,再去比对 - 如果数据信息不足以唯一确定结果,记录"信息不足"
Step 3 — 比对分析: - 将 Step 2 的独立判断与结果字段的实际值进行比对 - 如果一致 → 准确 - 如果不一致 → 先暂停,进入 Step 4 的复核,不要直接判定错误
Step 4 — 复核确认(防止误判的关键步骤): - 当 Step 3 判定为"不一致"时,必须做以下复核: 1. 重新审视原文:是否遗漏了某段关键信息?是否误解了口语/方言/谐音表达? 2. 考虑语义等价:结果字段的值和你的判断是否表述不同但含义相同?(如"盈利"vs"赚钱","投诉"vs"不满") 3. 考虑合理性:结果字段的标注是否存在某种你没想到的合理解释? 4. 考虑标签粒度:结果字段的标签体系可能和你的理解粒度不同(如你认为应标"有贷款需求",但标签体系只有"意向客户"/"非意向客户") 5. 复核后仍然确认矛盾 → 判定"错误" 6. 复核后发现可能有合理解释但不确定 → 判定"待确认" 7. 复核后发现确实正确 → 改判"准确"
判定"准确"的条件(宽松判准,严格判错): - 与预期完全一致 - 语义等价(表述不同但含义相同) - 属于多种合理答案之一 - 在合理误差范围内(数值误差 ≤5%)
判定"错误"的条件(必须高度确信): - ⚠️ 判定"错误"需要非常高的确信度——如果有 >20% 的可能性标注是对的,应判为"待确认" - 与预期明显矛盾,且复核后无法找到合理解释 - 数据字段提供的事实信息明确不支持该结果
判定"待确认"的条件(有疑就标待确认): - 结果字段为空值或缺失 - 数据字段信息不足以唯一确定结果 - 存在歧义或多种合理解释 - 数据字段本身有噪声/矛盾/不完整 - 你的判断和标注不一致,但不能 100% 确定标注是错的
语音转写文本: - 预期噪声:错别字、漏字、同音字替代、标点缺失、口语化冗余("嗯"、"那个"、"就是说") - 读取策略:先通读全文理解整体语境,再提取关键意图信息 - 不要因为转写错误而误判标注——要理解说话人的真实意图 - 例:转写为"我想贷看",实际意图可能是"我想贷款"
长文本/多段信息: - 不能只看开头或前几个句子 - 关键信息可能在文本的任何位置 - 如果文本包含矛盾信息(前半段说 A,后半段说 B),标为"待确认"
枚举/分类标签: - 先从数据中统计出完整的标签集合 - 确保你的预期判断使用的标签在标签集合内 - 如果你认为"正确答案"不在标签集合中,说明你可能误解了标签体系的定义
以下是历史上常见的错误判定模式,必须避免:
| 错误模式 | 描述 | 正确做法 |
|---|---|---|
| 字面匹配陷阱 | 只匹配关键词而不理解语境 | 理解完整语义后再判断 |
| 截断阅读 | 长文本只看开头就下结论 | 通读全文再判断 |
| 噪声误判 | 因为错别字/口语化就判定数据无法校验 | 还原说话人的真实意图 |
| 标签体系错位 | 用自己的分类体系替代实际标签体系 | 始终使用数据中存在的标签集合 |
| 连续惯性 | 前几行标了"准确",后面行降低审查标准 | 每行独立推理,不受前序结果影响 |
| 过度自信 | 不一致就直接判"错误",不做复核 | 不一致时必须走 Step 4 复核流程 |
| 批量疲劳 | 处理到后半段时推理质量下降 | 严格分批,每批不超过 20 行 |
不新增任何列,直接在结果字段的 cell 上进行标注:
原文件名-标注版.xlsx,保存在原文件所在目录输出文件命名示例:
- 原文件 数据.xlsx → 输出 数据-标注版.xlsx
- 原文件 test_results.xlsx → 输出 test_results-标注版.xlsx
5.1 自检(在汇报前执行):
完成所有行的校验后,必须抽检至少 5 行判定为"错误"的数据(如果错误行不足 5 行则全部复查): - 重新走一遍 Step 1-4 的完整推理链 - 如果复查后发现之前的判定有误,修正结果后再写入 - 抽检发现的修正率如果 >20%,应对全部"错误"行进行复查
5.2 汇报:
向用户输出校验摘要,包括: - 总行数 - 准确行数及占比 - 错误行数及占比(红色标注 + 批注) - 待确认行数及占比(黄色标注 + 批注) - 典型错误示例(最多 3 条,展示具体数据字段值、当前标注值、建议正确值) - 输出文件路径
使用 scripts/validate_data.py 脚本处理 Excel 的读取和写入操作:
# 读取 Excel 并输出 JSON 格式数据
python3 scripts/validate_data.py read <excel_path> [--sheet <sheet_name>] [--limit <n>]
# 分析数据特征和标签分布(在校验前必须执行,用于理解数据)
python3 scripts/validate_data.py analyze <excel_path> --data-fields <field1,field2,...> --result-fields <field1,field2,...> [--sheet <sheet_name>]
# 一次性写入所有字段的校验结果(推荐,避免多次加载导致标注覆盖)
python3 scripts/validate_data.py write-batch <excel_path> <output_path> --all-results <json_results>
# 写入单个字段的校验结果(仅适用于只有一个结果字段的场景)
python3 scripts/validate_data.py write <excel_path> <output_path> --result-field <field> --results <json_results>
analyze 命令参数说明(校验前必须执行):
- excel_path:Excel 文件路径
- --data-fields:数据字段名,多个字段用逗号分隔
- --result-fields:结果字段名,多个字段用逗号分隔
- 输出:标签分布、数据特征、是否为语音转写文本等分析结果
- 用途:帮助你在校验前理解标签体系和数据质量,避免标签体系错位导致的误判
write-batch 命令参数说明(推荐):
- excel_path:原始 Excel 文件路径
- output_path:输出路径,格式为 原目录/原文件名-标注版.xlsx
- --all-results:JSON 字符串,格式为 {"字段名1": [{"校验结果": "准确/错误/待确认", "批示": "原因说明"}, ...], "字段名2": [...], ...}
write 命令参数说明(单字段,仅适用于只有一个结果字段的场景):
- excel_path:原始 Excel 文件路径
- output_path:输出路径,格式为 原目录/原文件名-标注版.xlsx
- --result-field:结果字段名(需要标色和添加批注的列)
- --results:JSON 字符串,格式为 [{"校验结果": "准确/错误/待确认", "批示": "原因说明"}, ...]
⚠️ 重要:当有多个结果字段时,必须使用 write-batch 命令一次性写入所有字段的校验结果。不要对每个字段单独调用 write 命令,因为每次 write 都会从原始 Excel 重新加载,导致之前字段的标注被覆盖丢失。
标注方式: | 校验结果 | 结果字段 cell 颜色 | 结果字段 cell 批注 | |---------|------------------|------------------| | 准确 | 无特殊颜色 | 无批注 | | 错误 | 红色背景 + 白色加粗 | 添加批注,说明错误原因及正确答案 | | 待确认 | 黄色背景 + 加粗 | 添加批注,说明不确定原因 |
注意:执行脚本前先检测系统可用的 Python 命令(python 或 python3),使用可用版本执行。
小葱技能7w4.net有完整的技能分类。
详细的校验逻辑和常见场景处理方式,参见 references/validation_rules.md。
原文件名-标注版.xlsx,保存在原文件同目录这是一个设计严谨的数据校验Skill,校验逻辑非常专业——通过四步推理链和"宁宽勿严"原则最大程度避免误判,对语音转写文本等复杂场景也有完善处理。文档流程清晰、示例充分,新手容易上手。稍有不足的是,部分操作细节(如分批结果如何呈现、自检如何抽检)描述不够具体,遇到边界情况时可能需要自己摸索。总体质量良好,专业度和易用性兼顾。