跳转到内容

标注学习路径

按六种阅读顺序浏览 Potato 指南,从第一项标注研究到一致性报告、LLM 与智能体评估,以及质性编码。

这份学习路径按六个目标为 Potato 标注指南排好阅读顺序,目标从开展第一项标注研究,到评估 LLM 智能体和编码访谈。每条路线有五到八个步骤,每个步骤都会说明该指南讲了什么。

侧边栏按主题给指南分组。下面的路线则按读者最先需要什么,给一部分指南排序,同一篇指南可以出现在不止一条路线上。刚接触标注的读者从第一条路线开始,因为后面的路线都假定已经有可用的标注方案和指南。标注术语表定义了这些指南用到的术语,指南概览按主题列出了每一篇指南。

开展第一项标注研究

第一条路线带着一项研究从研究问题走到导出的标签。快速入门会安装 Potato 并运行一个情感任务,想在阅读之前先有一个能运行的服务器的读者,可以先做快速入门。

  1. 什么是数据标注? 从分类到自由文本回答,每一类标注任务都对应一个或多个 Potato 标注方案。
  2. 选择标注方案。 方案取决于研究需要哪种回答,一张决策表可以把 Potato 的标注类型缩小到少数几个合适的。
  3. 为标注设计数据格式。 每个条目都需要稳定且唯一的 ID 和待标注的内容,因为 Potato 把每条标注都关联到条目 ID。
  4. 撰写有效的标注指南。 当两名认真的标注者读到同样的规则会选出同一个标签时,指南就有效了,试标再修订的循环能帮助规则达到这一点。
  5. 你需要多少位标注者? 重叠度是在每个标签的可靠性与预算能覆盖的条目数量之间做取舍,主观任务比清晰的任务需要更高的重叠度。
  6. 黄金标准与注意力检查。 在队列中混入已知答案的条目,可以衡量每位标注者的准确率,并发现不看内容就作答的标注者。
  7. 部署标注服务器。 研究服务器需要一个公开的 HTTPS 地址、只允许本研究标注者登录的登录方式,以及重启后仍能保留的存储。在 Prolific 和 SONA 上开展众包研究介绍了付费招募。
  8. 导出标注数据用于机器学习。 Potato 既能写出 JSONL 和 CSV,也能写出 CoNLL、COCO 等训练格式,在标注之前选定格式,就确定了数据和条目 ID 该如何组织。

走完这条路线后,研究配置中会有一个标注方案、一个数据文件、一项重叠度设置和注意力检查。下面的配置标出了每个步骤加入的部分,该配置在 Potato 2.13.1 中通过 python -m potato.validate_cli --strict:

yaml
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 8

attention_checks.json 中的每条记录都需要一个 id 和一个 expected_answer。在存放配置的文件夹中运行 potato start config.yaml,服务器就会在 http://localhost:8000 启动。

衡量并报告标签质量

第二条路线把重叠的标签变成论文或数据卡可以报告的数字。这条路线假定研究中至少有部分条目由两名以上标注者标注。

  1. 标注者间一致性详解。 百分比一致率会高估可靠性,Cohen's kappa、Fleiss' kappa 和 Krippendorff's alpha 在不同的研究设计中分别校正偶然一致。
  2. 跨度与结构化输出的一致性。 跨度任务没有一组固定的条目供 kappa 计数,所以跨度一致性以成对 F1 报告,并明确说明部分重叠的处理规则。如何测量边界框上的标注者间一致性介绍了边界框。
  3. 裁定与分歧处理。 分歧可以通过多数投票、专家裁定或标注者可靠性模型来解决,选择取决于分歧是错误还是信号。
  4. 聚合众包标签。 Dawid–Skene 和 MACE 从标签矩阵估计每位标注者的可靠性,并按该估计对每位标注者的标签加权。
  5. 标注研究的统计功效与样本量。 重叠度决定每个标签有多可靠,条目数量决定观察到的差异是否大于噪声。
  6. 如何在预标注数据中区分认真复核与走过场。 有预标签时,无论标注者是在复核还是在走过场,一致性都会上升,只有工作所用的时间才能区分两者。
  7. 记录数据集与模型。 数据规格表、数据声明和模型卡会记录谁标注了数据,以及依据哪些指南。

为 NLP 标注文本

第三条路线涵盖从整篇文档标签到链接实体的文本任务。第 2 步到第 6 步环环相扣,后面每项任务都以前面几步所标出的那类跨度为基础。

  1. 文本标注。 从类别到质量评分的整篇文档标签,是自然语言处理中最常见的标注任务。
  2. 跨度标注。 跨度标出文本内被标注的一段,记录为起点、终点和标签。
  3. 命名实体识别。 NER 是带有实体类型标签集的跨度任务,标签集从标准方案裁剪到所在领域,并导出为 BIO 标记的 CoNLL。
  4. 共指消解。 共指把同一实体的所有提及归入一条链,例如"Marie Curie … she … the physicist."
  5. 关系与事件抽取。 关系用带类型的边连接两个实体跨度,事件则增加触发词以及触发词周围的角色。
  6. 实体链接。 实体链接把每个提及解析到知识库中的一个条目,例如把"Paris"解析为法国的那座城市,而不是得克萨斯州的那座。
  7. 多语言与低资源语言标注。 其他语言的标注需要母语者、能跨文化成立的类别,以及对从右到左书写和非拉丁文字的正确显示。

标注图像、视频和音频

第四条路线从静态图像走向基于时间的媒体,最后是模型预标注。框和掩码的一致性排在视频之前,因为形状的边界规则决定了空间标签上的大部分分歧。

  1. 如何用 Potato 标注图片。 图像标签从每张图一个类别,到边界框、多边形和关键点,合适的层级取决于要训练的模型需要什么。
  2. 如何标注图像分割掩码。 掩码上的分歧大多来自边界规则,例如阴影是否属于该物体,而不是来自绘图工具。
  3. 如何测量边界框上的标注者间一致性。 即使标注者从未看过图像,平均 IoU 在大而居中的物体上也会偏高,所以边界框一致性需要做偶然校正。
  4. 视频标注。 一段视频可以整体标注、切分成时间区间,或逐帧标注。
  5. 如何标注视频目标跟踪。 跟踪是跨帧标注同一个物体,模型辅助传播会把第一帧的掩码沿着视频向前延续。
  6. 音频标注。 同一个波形显示可以用于片段标签、时间对齐的事件、转写和说话人相关工作。
  7. 如何标注 Whisper 转写文本。 Whisper 的 .json 输出保留了带时间的片段,Potato 可以直接读取一个装有这些输出文件的文件夹,无需转换。
  8. 用 LLM 与视觉模型做 AI 自动预标注。 视觉或语言模型提出标签供标注者核实,核对一个质量好的提议比从头标注更省时间。

第 8 步使用在别处训练的模型。模型辅助标注则改用研究自己的标签来训练模型,模型训练部分记录了适用于框、轮廓、音频片段和转写稿的训练器。

评估 LLM 与智能体

第五条路线从判断单个输出开始,以复核生产环境中的轨迹结束。第 1 步到第 4 步适用于任何生成文本,第 5 步到第 8 步则加入了智能体的执行路径。

  1. 生成文本的人工评估。 BLEU、ROUGE 等自动指标与质量的相关性较弱,人工评估要靠定义每个标准并报告足以重复实验的细节来赢得信任。
  2. 基于评分量表的 LLM 评估。 评分标准把一个整体质量判断拆成多个计分的标准,并显示答案在哪个标准上不合格。
  3. 模型两两对比。 在大量提示词上进行一对一的判断,比绝对分数更可靠地为模型排序,Bradley–Terry 或 Elo 拟合则把胜负转化为排名。
  4. 如何衡量 LLM 评审者与人类标注者之间的一致性。 当评审者与人的 kappa 接近人与人之间的 kappa 时,这个评审者的表现就与另一位标注者差不多。
  5. 如何评估 AI 智能体。 智能体评估既判断最终答案,也判断执行路径,从推理步骤到工具调用和动作。
  6. 标注智能体轨迹。 轨迹标签把对整次运行的判断,与每个出错步骤的错误类别和严重程度结合起来。
  7. 过程奖励模型与步骤级标注。 过程奖励模型为每个推理步骤打分,训练 PRM 需要说明每个步骤是否正确的步骤级标签。
  8. LLM 与智能体轨迹的人工审核队列。 审核队列把来自 Langfuse、webhook 或导出文件的轨迹交给多名评审者,并把合并后的答案作为分数写回追踪工具。

质性编码

第六条路线沿着访谈数据,从录音走到可靠性统计量。QDA 模式介绍了这条路线用到的 Potato 功能。

  1. 为质性编码准备访谈转录稿。 录音经过五个步骤变成已编码的摘录,从带说话人标签的转录,到编码和导出,团队在载入之前要去掉姓名和其他标识信息。
  2. 为质性研究编制码本。 每个代码都有定义、适用与不适用的规则以及示例,码本的每次修订也都有编号。
  3. 质性研究中的编码者间信度。 系数取决于编码设计,而反思性主题分析主张根本不报告系数。
  4. Potato 中的定量内容分析:码本与 Krippendorff's alpha。 内容分析依据固定变量对单位进行编码,并在双重编码的样本上为每个变量报告 Krippendorff's alpha。
  5. 如何在质性编码中使用 LLM 并加以报告。 模型可以建议代码、为可靠性样本编码,或先给语料编码,每种角色都要求报告模型与人工编码者的一致性。
  6. 定性数据分析软件对比。 NVivo、ATLAS.ti、MAXQDA、Taguette、QualCoder 和 Potato 在价格和对团队编码的支持上各不相同。Potato 通过 REFI-QDA 文件与付费程序交换项目。

延伸阅读