Skip to content

什么是数据标注?

用通俗语言介绍数据标注:它是什么、主要任务类型(分类、跨度标注、排序、自由文本),以及如何用 Potato 开展一个标注项目。

数据标注是为原始数据——文本、图像、音频、视频或模型输出——附加标签的过程,从而使数据可以被度量、比较,或用于训练和评估机器学习模型。 一个标签可以是一条推文的情感类别、句子中被高亮的人名、对聊天机器人回复的 1–5 质量评分,或照片中圈出行人的边界框。

标注有时也称为数据标记、打标签,或编码(社会科学中使用的术语)。参见维基百科上的数据标注以及相关概念带标签的训练集

它为何重要

有监督机器学习从已经带有正确答案的样例中学习。这些答案的质量为模型质量设定了上限,因此细致的标注往往是一个项目中最具杠杆效应的环节。标注也是你评估模型的方式:要判断一个 AI 系统是否正确,通常需要由人来评判它的输出。

主要的标注任务类型

大多数项目可归入少数几类。每一类都对应 Potato 中的一种或多种标注控件(参见标注方案)。

  • 分类:为整个条目选择一个或多个类别。示例:这条评论是正面、负面还是中性?参见文本分类
  • 跨度标注:标记条目内部的某个区域,例如句子中的人名或音频片段中的某一段。参见跨度标注
  • 评分与打分:把条目放到某个量表上,例如 1–5 的质量判断。参见评分量表
  • 排序与比较:对条目排序,或从两者中选出更好的一个。参见成对比较与最佳-最差量表
  • 结构化标注:将跨度连接成关系、构建共指链,或标注事件。参见关系与事件抽取
  • 自由文本:撰写解释、更正或转写。

一个最小示例

Potato 中的情感任务只需几行 YAML。annotation_schemes 块定义了标注者看到的标签:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral

这就是全部的界面定义。你提供数据,运行 potato start,标注者便可在浏览器中进行标注。

一个项目通常如何推进

  1. 定义任务。 写下问题和标签集合。
  2. 撰写指南。 给标注者规则和示例。参见撰写标注指南
  3. 试标。 标注一小批数据,发现分歧,完善指南。
  4. 带重叠地标注。 让多人标注相同的条目,以便测量一致性。
  5. 测量一致性。 参见标注者间一致性
  6. 裁定并导出。 解决分歧,并导出用于训练或分析。

延伸阅读