标注一致性计算

在统计学中,标注一致性(Inter-annotation agreement, IAA)用于评价独立观察者之间对同一现象进行评估时的一致程度。因此,本文讨论最多的是多位标注员对相同数据进行标注时的一致性评估方法。

一、Kappa统计量

评估一致性最简单且直观的方法是统计标注一致的样本占所有标注样本的百分比。既然如此简单,为什么要引入Kappa?是因为Kappa考虑了随机因素导致的一致性。

Kappa是用来描述定性(分类)任务中标注一致性的统计量,记为\kappa

\kappa = 1-\frac{1-p_o}{1-p_e}=\frac{p_o-p_e}{1-p_e}

其中,p_o代表观察到的标注员之间的一致性,p_e代表基于假设的、由随机因素导致的一致性。

通过观察上式可以发现,当p_o=1时,\kappa =1表明标注结果完全一致。

当标注结果由随机性主导时,p_o=p_e,\kappa =0表明标注结果完全没有一致性。

以下介绍Kappa变体。

1. Cohen's Kappa

Cohen's Kappa只能用来评估两位标注员之间的一致性,适用于分类任务。

p_o是标注一致的样本占所有标注样本的百分比。随机一致性p_e如下式所示计算,其中k为类别的数量。

p_e = \sum_{k} p_{\widetilde{k12}}=\sum_{k}p_{\widetilde{k1}}p_{\widetilde{k2}}=\sum_{k}\frac{n_{k1}}{N}\frac{n_k2}{N}

p_{\widetilde{k12}}代表估计标注员1和2把同一条数据归为第k个类的概率。

基于独立假设,即两个标注员的标注是独立且互不影响,那么有p_{\widetilde{k12}}=p_{\widetilde{k1}}p_{\widetilde{k2}},p_{\widetilde{k1}}=\frac{n_{k1}}{N}通过N条数据中标注员1标注k的数量n_{k1}来评估。

\kappa 大于等于0.8表示已经取得相当满意的一致程度;

\kappa小于0.4表示一致程度不够理想。

Cohen's Kappa存在一个明显的问题:如果两位标注员的一致性p_o相同,那么他们标注的标签分布越趋于一致,\kappa理应越高。然而事实并非如此,这会导致更高的随机一致性p_e,从而使得\kappa下降。

2. Scott's Pi

Scott's Pi相对于Cohen's Kappa采用不同策略计算随机性p_e。即通过标签的联合边缘分布来估计随机一致性,也可以说scott's Pi是算数平均值的平方,而Cohen's Kappa是几何平均值的平方。

p_e = \sum_{k} (\frac{n_{k1}+n_{k2}}{N})^2

Scott's Pi也只能评估两位标注员之间的一致性,无法拓展到多位标注员。

3. Fleiss' Kappa

Fleiss' Kappa在Scott's Pi上进行泛化,使其能对任意固定数量的标注员评估一致性。 假设有N条数据进行多分类任务,每条数据杯标注了n次,k为类别数量。标注数据的索引为i=1,2,...,N,类别的索引为j=1,2,...,k,那么令n_{ij}表示将第i条数据被标注为类别j的次数。

随机一致性p_e的评估方法与Scott's Pi相同,p_j是类别j的联合边缘分布:

p_j = \frac{1}{Nn} \sum_{i=1}^{N} n_{ij}

p_e = \sum_{j=1}^{k} p_{j}^2

标注一致性p_o是每条数据的一致性p_i的均值:

p_i = \frac{1}{n(n-1)}\sum_{j=1}^{k}n_{ij}(n_{ij}-1)

p_o = \frac{1}{N} \sum_{i=1}^{N} p_i 

本部分参考:如何评价数据标注中的一致性?以信息抽取为例,浅谈Fleiss' Kappa - 知乎

二、Jaccard相似系数

Jaccard相似系数用于比较有限样本集之间的相似性与差异性。

Jaccard系数值越大,样本相似度越高。

两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,即:

J(A,B)=\frac{|A\cap B|}{|A\cup B|}

当集合A、B都为空时,J(A,B)定义为1。

三、F-measure

F-measure是Precsion和Recall的加权调和平均。

F=\frac{(\alpha ^2+1)P*R}{\alpha^2(P+R)}

其中,当\alpha =1时,则F-score即为F1.

### 标注一致性验证的方法 标注一致性验证的核心在于解决两个主要问题:一是如何识别数据子集中存在的标签不一致现象;二是如何确认经过修正后的标签已恢复到应有的水平[^1]。这通常涉及多个维度的分析和技术手段。 #### 数据标注质量的重要性 数据标注的质量直接影响机器学习模型的表现,因此其重要性不容忽视。评估数据标注质量的主要指标包括准确性、一致性和效率。其中,“一致性”指的是不同标注人员对于同一样本给出的结果是否相同或接近[^2]。如果存在显著差异,则可能表明某些部分需要重新审查或者改进流程设计。 #### 手动对比法 一种基础但有效的方式就是通过人工逐条比对来自多位参与者的工作成果来进行初步筛查。比如,在语音转文字任务里,可以选取一小段音频文件让至少两位独立工作者分别完成听写作业后再加以对照找出分歧之处[^4]。 #### 自动化检测技术 为了提高效率并减少人为错误率,还可以采用自动化软件解决方案实现大规模批量处理功能。例如Label Studio就提供了这样的服务——允许用户依据实际应用场景灵活定制交互界面布局样式的同时还嵌入了一些专门用于保障最终产品质量的功能模块,像交叉检验机制能够帮助发现潜在矛盾点从而进一步提升整体可信度等级[^3]。 此外还有其他类似的开源框架可供选择,它们各自具备独特的优势特点满足特定类型的项目需求: - **Prodigy**: Prodigy 是另一个流行的Python库,专注于自然语言处理领域内的训练集创建工作流管理方面表现出色; - **SuperAnnotate**: SuperAnnotate 则更侧重计算机视觉方向上的图像/视频片段分割标记等功能支持; 以上提到的各种工具都可以不同程度上辅助研究人员开展针对各类复杂场景下的高质量数据准备活动,并且大多数都包含了内置算法用来自动计算Kappa系数之类的统计量作为评价标准之一以便快速定位那些可能存在争议的地方进而采取相应措施予以改善优化直至达到预期目标为止。 ```python from sklearn.metrics import cohen_kappa_score # 假设我们有两个列表代表不同的标注者的分类结果 labels_a = ['cat', 'dog', 'rabbit'] labels_b = ['cat', 'wolf', 'fox'] kappa_value = cohen_kappa_score(labels_a, labels_b) print(f"Cohen's Kappa Score: {kappa_value}") ``` 上述代码展示了利用Scikit-Learn库中的`cohen_kappa_score()`函数轻松获取两组离散型变量之间关联程度的一个量化数值的例子。这种方法非常适合应用于二元或多类别预测情境下测量观察者间协议水平的情况之下。 ### 结论 综上所述,无论是依靠传统的人工核查还是借助现代智能化平台的帮助都能有效地促进整个数据预处理阶段朝着更加规范化标准化迈进的步伐加快进程缩短周期降低成本增强效果等方面发挥积极作用贡献价值所在意义非凡值得推广普及应用实践探索研究深入挖掘潜力无限前景广阔未来可期!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值