标注流程与数据格式
本节目标
把样本抽取、工具配置、独立标注、复审、裁决和发布组织成可追溯流水线,并让数据/指南/工具版本随每条标签保存。
从样本池到发布集
- 数据清洗、去重、脱敏,保留稳定
sample_id。 - 分层抽样,覆盖类别、来源、时间、长度、语言和风险场景。
- 小批试标,修订指南和工具配置。
- 标注者培训与资格样本,不暴露正式质检答案。
- 正式独立标注;关键样本安排重叠标注。
- 自动格式检查、盲复审、冲突裁决。
- 冻结版本,发布数据卡和质量报告。
最小 JSONL 记录
{"sample_id":"s-001","data_version":"v1","guideline_version":"1.2","annotator":"ann-a","label":"helpful","evidence":"回答给出可执行步骤","created_at":"2026-07-14T01:00:00Z"}不要把姓名、邮箱作为公开标注者 ID。原始样本、标注、裁决和模型预标注应分字段保存,避免覆盖历史。
输入快照、任务配置与导出不是同一个证据
标注工具里的 task ID 不是数据血缘。开始标注前,冻结一个受控的任务清单:sample_id、数据快照/内容指纹或受控 URI、source_id、access_scope、抽样批次与 data_version。标签配置也单独记录 label_config_version 或配置哈希。这样即使源 URL 后来变更、过期或被撤回,仍能解释这条标签当时依据了什么;敏感正文无需复制进公开导出。
Label Studio 等工具的导出格式并不总是携带完整 task data;使用 URL 引用时,源内容也可能根本不保存在工具中。因此发布前要把导出的 annotation、任务清单、配置快照和裁决记录做小样本往返核对,并明确哪些工件受访问控制。不能仅凭“导出了 JSON/CSV”就假定它可重放或可供训练。
标注账本中的 final_label 是带裁决来源的事实;进入评测集时应经过版本化投影,按冻结 mapping 生成评测使用的 expected_label、expected_tool、禁止动作或 rubric 维度,并保留 guideline_version → rubric_version 的对应关系。不要把 annotation 的 cannot_judge、exclude 或尚未裁决的初标直接压缩成评测正/负标签;具体评测 case 约定见离线分层评测流水线。
数据版本与划分
- 同一实体/文档的近重复样本必须放在同一训练或测试分区。
- 测试/评测样本不得进入主动学习训练池。
- 指南重大变化要升版本,并评估旧标签是否仍兼容。
- 发布集记录样本来源、许可、隐私处理、标签分布、已知局限。
工具配置不是标签定义
Label Studio 等工具负责呈现任务、控件、导入导出和协作。工具里能创建某个按钮,不代表标签已经定义清楚。先写 schema 与指南,再配置界面,并用导入/导出小样本做往返验证。
往返验证至少比较:任务 ID、原始数据引用、标签/跨度、标注者、时间、模型 prediction 与人工 annotation 是否仍分离。不同导出格式可能只含标注、不含完整任务数据,不能凭扩展名假设信息完整。
练习
扩展上面的 JSONL:加入 source_id、split、model_suggestion、reviewer_id、final_label。标出哪些字段标注者在首次判断时不应看到。
掌握检查
- 每条标签都能追溯 sample/data/guideline/tool/annotator 版本,并能定位其受控输入快照。
- 模型建议、人工初标、复审与裁决是分离字段,不覆盖历史。
- 同实体/近重复样本不会跨训练与冻结评测分区。
- 我已用小样本验证工具导入—标注—导出往返,而非假定格式无损。
下一步:质检、复审与裁决。
参考资料
资料核验日期:2026-07-22。官方导入/导出文档明确提醒:URL 引用的 task data 不一定被保存或随导出携带;项目应把受控输入快照与 annotation 导出分开验证。