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 は最初に 1 つを選ばせるのではなく、複数の係数を同時に報告します。カテゴリカルなスキームには単純一致率、Cohen の κ、Fleiss の κ、名義 α が並べて示され、順序のあるスキームには線形重み付き κ、二次重み付き κ、Spearman の ρ、順序 α が示されます。バージョン 2.9 より前は、語のラベルを付けたリッカート尺度の順序 α が語のラベルをアルファベット順に並べていたため、実質的には名義 α になっていました。以前のバージョンで語のラベル付き尺度の順序一致度を報告していた場合は、再計算してください。バージョン 2.10.1 までの順序 α は、不一致を順位の単純な差で重み付けしていました。これは Krippendorff の順序メトリックではありません。2.10.2 からは計算ツールの順序 α と一致するので、以前のバージョンで報告した順序 α は再計算してください。ブラウザ上の一致度計算ツールでラベルの表を確かめることもできます。このツールは名義・順序・間隔の α と、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)や構造化タスクでは、関心のある粒度で一致度を測ってください。文書レベルの指標は境界の不一致を覆い隠してしまうためです。Potato は span スキームについて、トークン単位の κ、完全一致と部分一致のスパン F1、文字単位のラベルに対する Krippendorff の α、Mathet の γ の簡略版を報告します。これにより、ラベルについての不一致と、スパンがどこから始まるかについての不一致を切り分けられます。

一致度が低いとき

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

よくある質問

以下の質問では、Krippendorff の α の値の範囲、その計算方法、アノテーターが 2 人だけの場合の一致度を扱います。

Krippendorff の α は -1 より小さくなりますか?

なりません。α はアノテーター間の不一致が偶然から予想される水準を上回ると 0 を下回り、-1 に近づきますが -1 には達しません。2 人のアノテーターが N 個の項目すべてで不一致となり、2 つのラベルを同じ頻度で使った場合、α はちょうど -1 + 1/N になり、5 項目なら -0.8、20 項目なら -0.95 です。Krippendorff (2011) は信頼性にとって意味のある範囲を 0 から 1 とし、0 未満の値は系統的な不一致か標本誤差によるものとしています。はっきり負になった α は、アノテーターが尺度を逆向きに読んでいるといった系統的な不一致を示しており、数値を報告するのではなくガイドラインを見直す必要があります。

Krippendorff の α はどうやって計算しますか?

α は 1 から、観測された不一致と偶然によって期待される不一致の比を引いた値です。観測された不一致は同じ項目に付けられたラベルのペアから求め、期待される不一致は研究内のすべてのラベルから取り出したペアから求めます。このとき距離の尺度(名義、順序、間隔、比率)が、それぞれの食い違いをどの程度数えるかを決めます。Potato は min_overlap 人のアノテーターが同じ項目にラベルを付けた時点で、管理ダッシュボードでアノテーションスキームごとに α を計算します。一致度計算ツールは、ラベルの表からブラウザ上で名義・順序・間隔の α を計算します。

アノテーターが 2 人だけでもアノテーター間一致度は計算できますか?

できます。Cohen の κ はカテゴリラベルを付けるちょうど 2 人のアノテーター向けに設計されており、Krippendorff の α は 2 人でも 3 人以上でも使えます。どちらの係数も、2 人のアノテーターが同じ項目に独立してラベルを付けている必要があります。項目数が少ないと推定値が不安定になるため、係数と一緒に項目数も報告してください。

さらに読む