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 の α を使ってください。

3 人のアノテーターなら Fleiss の κ と Krippendorff の α のどちらを使うか

3 人全員がすべての項目にラベルを付けていて、ラベルが順序のないカテゴリなら、どちらの係数でも筋が通ります。ラベルが欠けている項目が 1 つでもある場合や、ラベルに順序がある場合は、Krippendorff の α を使ってください。

両者は前提が異なります。

  • 欠けたラベル。 Fleiss の κ は、すべての項目で評定数が同じであることを前提とします。3 人のうち 1 人がある項目を飛ばしていたら、その項目を除外しなければなりません。Krippendorff の α は得られた評定をすべて使います。
  • 測定水準。 Fleiss の κ はラベルを順序のないものとして扱うため、1~5 の尺度では 4 対 5 も 1 対 5 と同じ不一致として数えます。Krippendorff の α は距離の尺度(名義、順序、間隔、比率)を取り、近い差は小さな不一致として採点します。
  • 小さな標本。 Krippendorff の α には小標本の補正が含まれるため、数十項目程度の試行では、データがどちらにも合う場合でも両者の値が離れることがあります。

欠損のない名義データで項目数が十分なら、両者はたいてい近い値になります。自分の分野で慣例となっている方を報告し、論文では係数と尺度を明記してください。「一致度は 0.72 だった」の意味は、どちらを使ったかで変わるからです。

Potato は Krippendorff の α を報告します。バージョン 2.9 より前は、語のラベルを付けたリッカート尺度の順序 α が語のラベルをアルファベット順に並べていたため、実質的には名義 α になっていました。以前のバージョンで語のラベル付き尺度の順序一致度を報告していた場合は、アップグレード後に再計算してください。ブラウザ上の一致度計算ツールでラベルの表を確かめることもできます。名義・順序・間隔の α と、Cohen の κ、Fleiss の κ を計算します。

数値の解釈

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

  • 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. 再度パイロットを実施する。本質的に主観的なタスクで一致度が低いままなら、唯一の答えを強いるのではなく、不一致そのものを記録することを検討します。

さらに読む