标注学习路径
按六种阅读顺序浏览 Potato 指南,从第一项标注研究到一致性报告、LLM 与智能体评估,以及质性编码。
这份学习路径按六个目标为 Potato 标注指南排好阅读顺序,目标从开展第一项标注研究,到评估 LLM 智能体和编码访谈。每条路线有五到八个步骤,每个步骤都会说明该指南讲了什么。
侧边栏按主题给指南分组。下面的路线则按读者最先需要什么,给一部分指南排序,同一篇指南可以出现在不止一条路线上。刚接触标注的读者从第一条路线开始,因为后面的路线都假定已经有可用的标注方案和指南。标注术语表定义了这些指南用到的术语,指南概览按主题列出了每一篇指南。
开展第一项标注研究
第一条路线带着一项研究从研究问题走到导出的标签。快速入门会安装 Potato 并运行一个情感任务,想在阅读之前先有一个能运行的服务器的读者,可以先做快速入门。
- 什么是数据标注? 从分类到自由文本回答,每一类标注任务都对应一个或多个 Potato 标注方案。
- 选择标注方案。 方案取决于研究需要哪种回答,一张决策表可以把 Potato 的标注类型缩小到少数几个合适的。
- 为标注设计数据格式。 每个条目都需要稳定且唯一的 ID 和待标注的内容,因为 Potato 把每条标注都关联到条目 ID。
- 撰写有效的标注指南。 当两名认真的标注者读到同样的规则会选出同一个标签时,指南就有效了,试标再修订的循环能帮助规则达到这一点。
- 你需要多少位标注者? 重叠度是在每个标签的可靠性与预算能覆盖的条目数量之间做取舍,主观任务比清晰的任务需要更高的重叠度。
- 黄金标准与注意力检查。 在队列中混入已知答案的条目,可以衡量每位标注者的准确率,并发现不看内容就作答的标注者。
- 部署标注服务器。 研究服务器需要一个公开的 HTTPS 地址、只允许本研究标注者登录的登录方式,以及重启后仍能保留的存储。在 Prolific 和 SONA 上开展众包研究介绍了付费招募。
- 导出标注数据用于机器学习。 Potato 既能写出 JSONL 和 CSV,也能写出 CoNLL、COCO 等训练格式,在标注之前选定格式,就确定了数据和条目 ID 该如何组织。
走完这条路线后,研究配置中会有一个标注方案、一个数据文件、一项重叠度设置和注意力检查。下面的配置标出了每个步骤加入的部分,该配置在 Potato 2.13.1 中通过 python -m potato.validate_cli --strict:
annotation_task_name: "Review Sentiment"
task_dir: "."
data_files:
- "data/reviews.jsonl" # step 3: one item per line
item_properties:
id_key: id
text_key: text
annotation_schemes: # step 2: one category per review
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels: [Positive, Negative, Mixed, Neutral]
num_annotators_per_item: 3 # step 5: three labels per item
attention_checks: # step 6: one check per 25 items
enabled: true
items_file: "data/attention_checks.json"
frequency: 25
output_annotation_dir: "annotation_output/"
export_annotation_format: "jsonl" # step 8attention_checks.json 中的每条记录都需要一个 id 和一个 expected_answer。在存放配置的文件夹中运行 potato start config.yaml,服务器就会在 http://localhost:8000 启动。
衡量并报告标签质量
第二条路线把重叠的标签变成论文或数据卡可以报告的数字。这条路线假定研究中至少有部分条目由两名以上标注者标注。
- 标注者间一致性详解。 百分比一致率会高估可靠性,Cohen's kappa、Fleiss' kappa 和 Krippendorff's alpha 在不同的研究设计中分别校正偶然一致。
- 跨度与结构化输出的一致性。 跨度任务没有一组固定的条目供 kappa 计数,所以跨度一致性以成对 F1 报告,并明确说明部分重叠的处理规则。如何测量边界框上的标注者间一致性介绍了边界框。
- 裁定与分歧处理。 分歧可以通过多数投票、专家裁定或标注者可靠性模型来解决,选择取决于分歧是错误还是信号。
- 聚合众包标签。 Dawid–Skene 和 MACE 从标签矩阵估计每位标注者的可靠性,并按该估计对每位标注者的标签加权。
- 标注研究的统计功效与样本量。 重叠度决定每个标签有多可靠,条目数量决定观察到的差异是否大于噪声。
- 如何在预标注数据中区分认真复核与走过场。 有预标签时,无论标注者是在复核还是在走过场,一致性都会上升,只有工作所用的时间才能区分两者。
- 记录数据集与模型。 数据规格表、数据声明和模型卡会记录谁标注了数据,以及依据哪些指南。
为 NLP 标注文本
第三条路线涵盖从整篇文档标签到链接实体的文本任务。第 2 步到第 6 步环环相扣,后面每项任务都以前面几步所标出的那类跨度为基础。
- 文本标注。 从类别到质量评分的整篇文档标签,是自然语言处理中最常见的标注任务。
- 跨度标注。 跨度标出文本内被标注的一段,记录为起点、终点和标签。
- 命名实体识别。 NER 是带有实体类型标签集的跨度任务,标签集从标准方案裁剪到所在领域,并导出为 BIO 标记的 CoNLL。
- 共指消解。 共指把同一实体的所有提及归入一条链,例如"Marie Curie … she … the physicist."
- 关系与事件抽取。 关系用带类型的边连接两个实体跨度,事件则增加触发词以及触发词周围的角色。
- 实体链接。 实体链接把每个提及解析到知识库中的一个条目,例如把"Paris"解析为法国的那座城市,而不是得克萨斯州的那座。
- 多语言与低资源语言标注。 其他语言的标注需要母语者、能跨文化成立的类别,以及对从右到左书写和非拉丁文字的正确显示。
标注图像、视频和音频
第四条路线从静态图像走向基于时间的媒体,最后是模型预标注。框和掩码的一致性排在视频之前,因为形状的边界规则决定了空间标签上的大部分分歧。
- 如何用 Potato 标注图片。 图像标签从每张图一个类别,到边界框、多边形和关键点,合适的层级取决于要训练的模型需要什么。
- 如何标注图像分割掩码。 掩码上的分歧大多来自边界规则,例如阴影是否属于该物体,而不是来自绘图工具。
- 如何测量边界框上的标注者间一致性。 即使标注者从未看过图像,平均 IoU 在大而居中的物体上也会偏高,所以边界框一致性需要做偶然校正。
- 视频标注。 一段视频可以整体标注、切分成时间区间,或逐帧标注。
- 如何标注视频目标跟踪。 跟踪是跨帧标注同一个物体,模型辅助传播会把第一帧的掩码沿着视频向前延续。
- 音频标注。 同一个波形显示可以用于片段标签、时间对齐的事件、转写和说话人相关工作。
- 如何标注 Whisper 转写文本。 Whisper 的
.json输出保留了带时间的片段,Potato 可以直接读取一个装有这些输出文件的文件夹,无需转换。 - 用 LLM 与视觉模型做 AI 自动预标注。 视觉或语言模型提出标签供标注者核实,核对一个质量好的提议比从头标注更省时间。
第 8 步使用在别处训练的模型。模型辅助标注则改用研究自己的标签来训练模型,模型训练部分记录了适用于框、轮廓、音频片段和转写稿的训练器。
评估 LLM 与智能体
第五条路线从判断单个输出开始,以复核生产环境中的轨迹结束。第 1 步到第 4 步适用于任何生成文本,第 5 步到第 8 步则加入了智能体的执行路径。
- 生成文本的人工评估。 BLEU、ROUGE 等自动指标与质量的相关性较弱,人工评估要靠定义每个标准并报告足以重复实验的细节来赢得信任。
- 基于评分量表的 LLM 评估。 评分标准把一个整体质量判断拆成多个计分的标准,并显示答案在哪个标准上不合格。
- 模型两两对比。 在大量提示词上进行一对一的判断,比绝对分数更可靠地为模型排序,Bradley–Terry 或 Elo 拟合则把胜负转化为排名。
- 如何衡量 LLM 评审者与人类标注者之间的一致性。 当评审者与人的 kappa 接近人与人之间的 kappa 时,这个评审者的表现就与另一位标注者差不多。
- 如何评估 AI 智能体。 智能体评估既判断最终答案,也判断执行路径,从推理步骤到工具调用和动作。
- 标注智能体轨迹。 轨迹标签把对整次运行的判断,与每个出错步骤的错误类别和严重程度结合起来。
- 过程奖励模型与步骤级标注。 过程奖励模型为每个推理步骤打分,训练 PRM 需要说明每个步骤是否正确的步骤级标签。
- LLM 与智能体轨迹的人工审核队列。 审核队列把来自 Langfuse、webhook 或导出文件的轨迹交给多名评审者,并把合并后的答案作为分数写回追踪工具。
质性编码
第六条路线沿着访谈数据,从录音走到可靠性统计量。QDA 模式介绍了这条路线用到的 Potato 功能。
- 为质性编码准备访谈转录稿。 录音经过五个步骤变成已编码的摘录,从带说话人标签的转录,到编码和导出,团队在载入之前要去掉姓名和其他标识信息。
- 为质性研究编制码本。 每个代码都有定义、适用与不适用的规则以及示例,码本的每次修订也都有编号。
- 质性研究中的编码者间信度。 系数取决于编码设计,而反思性主题分析主张根本不报告系数。
- Potato 中的定量内容分析:码本与 Krippendorff's alpha。 内容分析依据固定变量对单位进行编码,并在双重编码的样本上为每个变量报告 Krippendorff's alpha。
- 如何在质性编码中使用 LLM 并加以报告。 模型可以建议代码、为可靠性样本编码,或先给语料编码,每种角色都要求报告模型与人工编码者的一致性。
- 定性数据分析软件对比。 NVivo、ATLAS.ti、MAXQDA、Taguette、QualCoder 和 Potato 在价格和对团队编码的支持上各不相同。Potato 通过 REFI-QDA 文件与付费程序交换项目。
延伸阅读
- 标注术语表,提供每条路线中所用术语的定义
- 指南概览,按主题列出每一篇指南
- 快速入门,几分钟内得到一个运行中的 Potato 服务器
- 用编程智能体快速入门,向编程智能体描述研究并得到一份配置
- 案例展示,提供可直接运行的设计,作为各条路线的起点