什么是数据标注?
用通俗语言介绍数据标注:它是什么、主要任务类型(分类、跨度标注、排序、自由文本),以及如何用 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,标注者便可在浏览器中进行标注。
一个项目通常如何推进
- 定义任务。 写下问题和标签集合。
- 撰写指南。 给标注者规则和示例。参见撰写标注指南。
- 试标。 标注一小批数据,发现分歧,完善指南。
- 带重叠地标注。 让多人标注相同的条目,以便测量一致性。
- 测量一致性。 参见标注者间一致性。
- 裁定并导出。 解决分歧,并导出用于训练或分析。