标注者间一致性详解
一份关于标注者间一致性的实用指南,涵盖百分比一致率、Cohen kappa、Fleiss kappa 与 Krippendorff alpha,说明何时使用各项指标,以及 Potato 如何报告它们。
标注者间一致性(IAA)衡量独立标注者给出相同标签的频率。它是证明标注任务定义清晰、所得标签可信的标准证据。 一致性偏低通常说明标注指南不够清晰,而非标注者粗心。
这一主题的总称是评分者间信度。Potato 会在管理后台中实时计算一致性,参见质量控制。
为什么原始百分比一致率还不够
最简单的指标是百分比一致率:标注者给出完全相同标签的条目所占比例。问题在于,部分一致是偶然发生的。如果两位标注者都有 90% 的概率选择"正面",那么即便随机标注,他们大多数时候也会一致。经过偶然性校正的指标能解决这一问题。
经过偶然性校正的系数具有如下形式:
text
P_observed − P_expected
κ = ─────────────────────────
1 − P_expected
其中 P_observed 是实际一致率,P_expected 是偶然情况下预期的一致率。取值为 1 表示完全一致,0 表示与随机水平相当。
你真正会用到的三种指标
- Cohen kappa:两位标注者、分类标签。成对标注的经典选择。
- Fleiss kappa:多于两位标注者、分类标签,且不同条目可能由不同评分者判定。
- Krippendorff alpha:最通用的选择。它适用于任意数量的标注者,能处理缺失数据,并支持名义、有序、等距和等比数据。这是 Potato 默认报告的指标。
成对的简单分类任务用 kappa;当标注者较多、重叠不完整,或标签为有序/连续值(此时"相差一级"应比"相差四级"扣分更少)时,则选用 Krippendorff alpha。
如何解读这个数值
并不存在通用的判定阈值,但对于 alpha/kappa,常见的粗略参考是:
- ≥ 0.80:足以信赖。
- 0.67–0.80:可用于得出初步结论,但需排查分歧。
- < 0.67:在信任这些标签之前,先重新审视标注指南。
把这些数值当作进一步排查的提示,而非"通过/不通过"的硬性门槛。务必查看是哪些条目和哪些标签导致了分歧。
在 Potato 中进行测量
让标注者在一个共享子集上重叠标注,然后启用一致性报告:
yaml
agreement_metrics:
enabled: true
# Krippendorff's alpha is reported in the admin dashboard.对于跨度(span)和结构化任务,应在你关心的层级上测量一致性(精确跨度匹配还是重叠匹配),因为文档级指标会掩盖边界上的分歧。
当一致性偏低时
- 阅读存在分歧的条目:是标注指南含糊,还是条目本身确实困难?
- 收紧定义,并把疑难案例作为示例补充进去。参见撰写标注指南。
- 重新试标。如果在真正主观的任务上一致性仍然偏低,可考虑直接记录分歧本身,而不是强求唯一答案。