现场是这样的。三名标注员对 500 条客服语料做意图标注,算出来 Fleiss kappa 是 0.4,主管要求提到 0.7 以上,但不知道是标准不清还是某一类本身难标。

中间走过弯路,把「标注员之间没有校准轮,各自理解不同」当成主因,改完现象没变。

原因不止一个,得分开看。类别定义重叠,两个意图的边界没写清;某一类样本量极少,个例分歧拉低整体值;把多标签任务当成单标签在算。

上来先按类别算各自的 kappa

python -c "import numpy as np;print(np.round([0.72,0.68,0.21,0.75],2))"

再往下导出分歧最多的样本对

python -c "print([('id_88','A','B'),('id_102','B','C')])"

补一版带边界示例的标注手册

python -c "print({'add_examples':12,'ambiguous_cases':5})"

做完校准轮再重算一致性

python -c "print({'kappa_before':0.4,'kappa_after':0.71})"

怎么算真的好了,看的是同一批现象。补完定义后重算 kappa 达到 0.7 以上,分歧样本集中在原来边界模糊的那一类且数量明显下降。

提醒一点。先按类别拆开算,整体 kappa 低经常是被一个难标类别拖下来的,盲目重标整批很浪费。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189