アノテーション研究における統計的検出力とサンプルサイズ
結果に意味を持たせるには何件のデータが必要か、それが1件あたり何人のアノテーターかという問いとどう違うのか、そして検出力不足で主張を誇張したアノテーション・評価研究をどう避けるか。
「アノテーターは何人か」と「データは何件か」は、絶えず混同される別々の問いです。アノテーターの重複は各データのラベルがどれだけ信頼できるかを左右し、データの件数は観察された差が本物なのかノイズなのかを左右します。1件あたり5人のアノテーターがいても、その結論を支えるには小さすぎる研究はあり得ます。 本ガイドは2つ目の軸、すなわち統計的検出力を扱い、アノテーションや評価の研究がデータの裏づけを超えて主張してしまうのをどう防ぐかを解説します。
予算は1つではなく2つ
すべてのアノテーションプロジェクトは、互いに独立した2つの軸に労力を投じます。両者を別々に名づけておくと役立ちます。
- 重複(1件あたりのアノテーター数):ラベルの信頼性、つまり個々のデータのラベルが正しいという確信を買うものです。これはアノテーターは何人必要か?の主題です。
- サンプルサイズ(データの件数):統計的検出力、つまり条件・モデル・グループ間の本物の差を検出する能力を買うものです。
両者は固定された予算を奪い合いますが、解く問題は異なります。10人のアノテーターが50件をラベル付けすれば、非常に信頼できるラベルが得られますが、何かを比較するにはサンプルが小さすぎます。1人のアノテーターが5,000件をラベル付けすれば、ノイズの多いラベルながら、本物の効果を検出できるだけの件数が得られます。あなたがこれから犯そうとしているのがどちらの誤りかは、実際に問うている問いがどちらかによって決まります。
統計的検出力とは何か
統計的検出力とは、本当に存在する効果をあなたの研究が検出する確率です。検出力が低いと、モデルAが実際にモデルBより優れている場合でさえ実験はしばしばそれを示せず、さらに気づきにくい点として、それでも得られる「有意な」結果は、効果量が過大に膨らんだまぐれ当たりである可能性が高くなります。慣例では80%の検出力を目指しますが、そのためには検出する価値のある最小の差をあらかじめ決め、それを捉えられる規模に研究を設計する必要があります。
厄介な知見は、この手順がいかに頻繁に省かれているかです。Card et al. (2020)は一般的なNLPの設定にわたって検出力分析を行い、公表されている比較の多くがひどく検出力不足であることを見出しました。典型的な論文が主張する小さな差を、とりわけ人手評価において確実に検出するには、しばしば数百から数千件が必要で、研究が実際に用いる件数をはるかに上回ります。彼らの実践的な教訓は、有意性を後から逆算するのではなく、データ収集の前に検出力計算を行うことです。
有意性検定を正しく行う
十分な件数があることは必要ですが十分ではありません。検定も正しく行わなければなりません。Dror et al. (2018)はこの分野の標準的な参考文献で、その助言は具体的です。
- 検定をデータに合わせる。 NLPの指標はたいてい正規分布に従わないため、t検定が適用できると仮定するのではなく、ノンパラメトリックな選択肢、すなわちbootstrap検定や並べ替え検定に頼りましょう。
- 多重比較を補正する。 多数のモデル・指標・サブグループを検定すると偽陽性が膨らみます。多くの検定を行うときは補正しましょう(Bonferroni、あるいはより望ましくは Benjamini-Hochberg)。
- p値だけでなく、効果量と信頼区間を報告する。 件数が十分にあれば、差は統計的に有意であっても実際にはほとんど意味がないことがあります。効果量と区間は、それを気にかけるべきかどうかを読者に伝えます。
実行可能な手順
- 意味を持つ最小の差を明言する(たとえば勝率で2ポイントの差)。
- その効果について80%の検出力で検出力分析を行い、目標とする件数を求める。
- ラベルがどれだけ主観的かに基づいて、重複は別個に決める(アノテーター数のガイドを参照)。
- 収集後は、bootstrap検定または並べ替え検定を用い、比較回数について補正し、効果量を区間つきで報告する。
順序が重要です。データを見てから研究規模を決めることこそ、検出力不足の結果が発見のように装われる仕組みです。
Potato での進め方
検出力は設計上の判断であって設定キーではありませんが、分析にかけるためのきれいなデータを渡すのがPotatoの役割です。タスク割り当てで、信頼性のために重複を、サンプルサイズのためにインスタンス数を設定します。
automatic_assignment:
on: true
instance_per_annotator: 400 # sample size: items each annotator sees
labels_per_instance: 3 # overlap: reliability per item2つのつまみが独立しているのは意図的です。エクスポートは各アノテーターの個々のラベルをそのIDとタイムスタンプとともに保持します。これにより、有意性をオフラインで計算するときに、データごと・アノテーターごとのbootstrapリサンプリングが可能になります。集計結果だけでなくアノテーターごとのラベルを残しておくことが、検出力を踏まえた適切な分析を可能にします。早すぎる段階で単一のゴールドラベルへ潰してしまうと、bootstrapが必要とする分散を失います。
さらに読む
- アノテーターは何人必要か?、予算のうち信頼性の側面。
- アノテーター間一致度の解説、重複を確保したあとに信頼性を測るために。
- 生成テキストの人手評価、検出力不足の比較がとりわけ多い領域。
- 機械学習向けにアノテーションをエクスポートする、検定のためにアノテーターごとのラベルを取り出すために。