应该如何为 ML 文本分类准备来自多个注释器的标记数据?

数据挖掘 nlp 数据集 注解
2022-02-22 00:58:24

我的具体问题是如何汇总来自多个人工注释者的 NLP 数据——尽管与问题标题相关的一般建议值得赞赏。我在研究中看到的一个关键步骤是通过 Cohen 的 kappa 或其他一些合适的指标来评估注释者间的一致性;我还发现了各种数据集的研究报告值(例如这里),这有助于基线。

应该在每个数据点上工作多少个注释器取决于时间、人员和数据大小要求/约束​​等因素(我可能会问一个后续问题,以了解如何找到最佳n)。但是,一旦n 个注释者完成了一个数据集,如何将这n 个数据集统一为“基本事实”?我见过的几种方法使用或对我来说似乎是合理的:

  • 取所有注释者的平均值。分类问题有时很难重新表述为分级问题,尽管如果要取平均值,这似乎是必要的。

  • 在有争议的标签的数据中表达某种程度的不确定性,甚至在训练和评估中忽略它们。

  • 添加仲裁步骤以统一或丢弃有争议的标签。我不确定这是否值得注释者的时间。

  • 选择一些在冲突中获得最终决定权的“主要注释者”(可能由 IAA 分数决定)。

非常感谢上述指导/参考以及我可以采取的任何其他步骤来制作高质量的数据集。我最感兴趣的是即使在n很低的情况下也能有效地消除个体注释器偏差。

2个回答

大多数机器学习算法的设计都完全信任标签。没有标准的方法来模拟数据标签中的不确定性。因此,为不确定性创建一个项目特定的阈值以省略数据或标签。例如,受信任的分类数据标签将需要n of m集成投票。

一个主要问题是重新标记。系统往往会随着时间的推移而发展,标签的定义也会不断完善。成熟的数据标注系统有一个数据沿袭的概念——“谁在什么条件下标注了什么数据”。

Robert Munro 的“Human-in-the-Loop Machine Learning”一书更详细地介绍了这一点。

理想情况下,您需要一本《语言注释手册》,其中详细介绍了您遇到的问题。

基本思想是:

  • 创建注释指南作为培训工具,以尽可能提高注释者之间的一致性
  • 使用您的指南衡量人们之间的注释者间一致性,以了解不可约误差
  • 尽可能多地生成带注释的数据

如果您已经创建了清晰的注释指南,您应该能够聚合来自多个注释器的数据而无需额外处理;您只需要将与该组指南相关的 kappa 作为附加到训练数据的警告。