Skip to content

アノテーター間一致度の解説

アノテーター間一致度の実践ガイド。単純一致率、Cohen の κ と Fleiss の κ、Krippendorff の α、それぞれの使い分け、そして Potato での報告方法を解説します。

アノテーター間一致度(IAA)は、独立したアノテーターが同じラベルを付ける頻度を測る指標です。アノテーションのタスクが明確に定義され、得られたラベルが信頼できることを示す標準的な証拠になります。 一致度が低い場合、たいていはガイドラインが曖昧なのであって、アノテーターが不注意なわけではありません。

この話題の総称は評価者間信頼性です。Potato は管理ダッシュボードで一致度をリアルタイムに計算します。品質管理を参照してください。

単純一致率だけでは不十分な理由

最も単純な指標は単純一致率で、アノテーターが同一のラベルを付けた項目の割合です。問題は、一致の一部が偶然に起こることです。2 人のアノテーターがどちらも 90% の確率で「ポジティブ」を選ぶ場合、ランダムに付けたとしてもほとんどの場合で一致してしまいます。偶然を補正した指標はこの問題を解決します。

偶然補正された係数は次の形をとります。

text
        P_observed − P_expected
  κ =  ─────────────────────────
            1 − P_expected

ここで P_observed は実際の一致率、P_expected は偶然によって期待される一致率です。値が 1 なら完全一致、0 なら偶然と同水準です。

実際に使う 3 つ

  • Cohen の κ:アノテーター 2 人、カテゴリラベル。ペアでの定番の選択肢です。
  • Fleiss の κ:アノテーターが 3 人以上、カテゴリラベルで、項目ごとに異なる評価者が判定し得る場合。
  • Krippendorff の α:最も汎用的な選択肢。アノテーターが何人でも対応でき、欠損データを扱え、名義・順序・間隔・比率の各尺度に対応します。Potato が既定で報告するのはこれです。

単純なカテゴリのペアには κ を、アノテーターが多い、重なりが不完全、あるいはラベルが順序付き・連続値(「1 つずれ」が「4 つずれ」より軽く扱われるべき場合)には Krippendorff の α を使ってください。

数値の解釈

普遍的なしきい値はありませんが、α/κ についてよく使われる大まかな目安は次のとおりです。

  • 0.80 以上:そのまま信頼してよい水準。
  • 0.67〜0.80:暫定的な結論には使えるが、不一致を調べること。
  • 0.67 未満:ラベルを信頼する前にガイドラインを見直すこと。

これらは合否の判定基準ではなく、調査を促すための目安として扱ってください。どの項目とどのラベルが不一致を引き起こしているかを必ず確認します。

Potato での測定方法

アノテーターに共有サブセットを重複して付けてもらい、一致度レポートを有効にします。

yaml
agreement_metrics:
  enabled: true
  # Krippendorff's alpha is reported in the admin dashboard.

スパン(span)や構造化タスクでは、関心のある粒度(厳密なスパン一致か、重なりか)で一致度を測ってください。文書レベルの指標は境界の不一致を覆い隠してしまうためです。

一致度が低いとき

  1. 不一致の項目を読む。ガイドラインが曖昧なのか、項目そのものが本当に難しいのか。
  2. 定義を厳密にし、難しいケースを例として加える。アノテーションガイドラインの書き方を参照。
  3. 再度パイロットを実施する。本質的に主観的なタスクで一致度が低いままなら、唯一の答えを強いるのではなく、不一致そのものを記録することを検討します。

さらに読む