品質フレームワーク

アノテーション品質の測り方

品質は、手を打てる数値であるか、さもなければ意見です。このページでは、当社がどの数値を出し、どう計算し、それが何を語れて何を語れないのか、そして各バッチのQAレポートに何が入るのかを具体的に説明します。

このサイトに例として示している数値は、すべて例であると明記しています。当社は正解率の保証を公表しません。データを見る前に出した保証は約束ではなく、マーケティング上の数字だからです。

品質は検査で入れるものではなく、設計で入れるものです

最終検査の工程は、ミスなら見つけられます。曖昧さは見つけられません。そして日本語のデータセットを実際に劣化させるのは、曖昧さのほうです。ガイドラインがあるケースについて二通りの読みを許していれば、両方の読みが検査を通過し、不整合は健康診断書付きで学習データに届きます。

ですから品質を決める作業は、アノテーションより前にあります。ガイドラインを書き、パイロットで実際のエッジケースにぶつけて壊し、独立したアノテーターの判断が収束するかを計測し、収束しない箇所のガイドラインを直す。レビューは第二の防衛線であって、第一ではありません。

以下はその仕組みの全体です。公表するには居心地の悪い部分も含めています。各指標が何を捉え損ねるのか、そしてデータセットが良くないのに数値が健全に見えるのはどこか。

要点

計測する対象
アノテーター間一致率、実測のゴールドセット正解率、裁定率、ラベルドリフト。
報告の単位
バッチ単位。一つに丸めた値ではなく、ラベル別・基準別の内訳とともに報告します。
レビューの深さ
プロジェクトごとに設定します。判断を要する箇所は厚く、機械的なタスクは軽く。
判断の相違
シニアレビュアーが文書で裁定し、ガイドラインに書き戻します。
当社が行わないこと
正解率の保証を公表すること。他のプロジェクトで計測した数値を引用すること。

仕組み

継続して回る6つの段階

このループはプロジェクトの期間を通して回り続けます。最初に一度だけ行うものではありません。

  1. 01

    仕様化

    タスクが必要とするすべての判断について、実例と反例を添えてガイドラインを書きます。ここで暗黙のまま残したものは、あとで不整合になります。

  2. 02

    キャリブレーション

    アノテーターが同じキャリブレーションセットを独立にラベル付けします。乖離は、ガイドラインが曖昧な箇所を示します。直すのはアノテーターではなくガイドラインです。

  3. 03

    アノテーション

    本番作業。項目ごとにガイドラインのバージョンを記録するので、あとから特定のレコードについて問われても正確に答えられます。

  4. 04

    レビュー

    二人目のアノテーターが、タスクに見合った深さでレビューします。レビューは独自の基準を持つ別の役割であり、アノテーションを速く繰り返すことではありません。

  5. 05

    裁定

    判断の相違はシニアレビュアーに回り、解決とその理由を記録します。すべての裁定は、ガイドラインの実例になります。

  6. 06

    計測とフィードバック

    一致率、ゴールドセット正解率、ドリフトをバッチごとに算出し、過去のバッチと比較して、次のガイドライン改訂をどこに入れるかを判断します。

指標

それぞれの数値が実際に意味すること

QAレポートの数値が、当社に問い合わせなくても解釈できるように、ここで定義しています。

アノテーター間一致率
独立したアノテーターが、同じ項目に同じラベルを付ける割合。生の一致率と、偶然一致を補正した係数の両方で報告します。偏りのあるタキソノミーでは、生の一致率がほとんど情報を持たないまま優秀に見えることがあるからです。
Cohen’s κ/Krippendorff’s α
偶然一致を補正した一致係数。カテゴリカルなラベルでアノテーターが2名なら Cohen’s κ、3名以上、判定の欠損、順序尺度がある場合は Krippendorff’s α。どちらを使ったかは、暗黙にせずレポートに明記します。
ゴールドセット正解率
シニアレビュアーがアノテーションし裁定した参照セットに対する正解率。一貫性ではなく正しさを測ります。二人のアノテーターが完全に一致していて、二人とも間違っていることはあり得ますが、一致率の統計だけでは決して見えません。
裁定率
シニアレビュアーの解決を要した項目の割合。裁定率の上昇は、データが変化したか、ガイドラインに穴があることを示す最も早い兆候であることが多く、正解率より先に動きます。
ラベルドリフト
時間とともに生じる、ラベル分布やアノテーターの振る舞いの変化。長期プロジェクトは、元データが変わる、アノテーターが自信を持つようになるといった通常の理由でもドリフトします。それを本当の劣化と区別するのが、ドリフト監視です。
境界一致率
スパンのタスクで、スパンの始点と終点についてアノテーターの判断がどれだけ近いか。ラベルが一致しているかとは分けて報告します。日本語のスパンデータセットは、ラベルの一致率が優秀でも境界が使い物にならないことがあります。

品質の概況

QAダッシュボード(サンプル)

一致率

97.8%

2.1% 直近7日比

ゴールドセット正解率

98.6%

1.4% 直近7日比

レビュー件数

24826

18.7% 今週

未解決の不一致

18

12 直近7日比

ラベルドリフト(30日)

観測されたドリフト アラート閾値
0%2.5%5% Day 1Day 8Day 15Day 22Day 30

品質サマリー

  • ガイドライン遵守
  • レビュアーのキャリブレーション
  • 外れ値のモニタリング
  • ドリフト検知

インターフェースのイメージです。表示している数値は、品質をどのようにモニタリングしているかを説明するためのサンプルデータであり、実績として報告するものではありません。

レビュー

バッチのどれだけをレビューするか

レビューの深さはプロジェクトの設定であり、お客様と合意して契約に明記します。厚ければ良いというものではありません。機械的なタスクを最大の深さでレビューすることは、判断が要らない場所に予算を使うことです。

レビュー構成の例。実際の深さは、要件定義の段階で合意します。
レビューの深さ主な用途内容
抜き取りレビュー一致率が安定している大量の機械的タスク定めた割合の項目をレビューし、不合格が出れば対象を広げる
全件の二次レビュー判断を要するラベル付けと、日本語のスパン作業の大半すべての項目を二人目のアノテーターがレビューする
ブラインドの二重アノテーション評価セット、ベンチマーク、ゴールドセット二人が独立に作業し、相違はすべて裁定する
専門家レビュー規制のある分野と、専門的な判断ドメイン専門家がレビューし、争点のある項目には理由を記述する

エラー分類体系

失敗に名前を付ける

名前のある欠陥は、数えられ、傾向が追え、直せます。ひとまとめの「エラー」件数では、何を変えればよいかがわかりません。

ガイドラインの欠落

そのケースをガイドラインが扱っていない。直すのは項目ではなくガイドラインです。そうしなければ、同じケースが再発します。

ガイドラインの誤適用

ガイドラインは扱っているのに、アノテーターがルールを誤って適用した。フィードバックで直し、再発する場合はより明確な実例を追加します。

境界の誤り

ラベルは正しく、スパンが正しくない。境界のルールとトークナイズが相互作用する、日本語のスパン作業に固有の誤りです。

文体・ニュアンスの誤り

言語的には正しく、社会的に誤っている。丁寧さの水準が違う、あるいは拒否がやわらかすぎて拒否として読めない。

事実の誤り

検証可能な主張、名前の読み、数値が誤っている。打ち手がキャリブレーションではなく検証である点で、判断の誤りと区別します。

元データの欠陥

項目そのものが使えない。聞き取れない音声、判読できないスキャン、曖昧なプロンプトなど。フラグを立てて返し、もっともらしい推測で埋めることはしません。

報告

各バッチに添えるもの

レポートは、当社が同席しなくてもお客様がそのバッチを監査できるように設計しています。

  • ラベル別または基準別の一致率。使用した係数を明記します。
  • そのバッチのゴールドセット正解率と、過去バッチに対する推移。
  • 裁定率。裁定ログと、各解決の理由の記録を添えます。
  • 欠陥件数を一つの合計ではなく、上記の分類体系ごとの内訳で示します。
  • そのバッチがアノテーションされたガイドラインのバージョンと、前バージョンからの変更履歴。
  • 元データの欠陥としてフラグを立てた項目。黙って落とさず、一覧にして示します。

よくあるご質問

品質の測定について

これらの数値が何を証明し、何を証明しないかについてのご質問。

当社は正解率の保証を公表していませんし、どのベンダーのものであれ、そうした保証は慎重に見るべきだと考えています。到達可能な正解率は、タスク、タキソノミー、元データの質、そしてそのドメインが本来的にどれだけの曖昧さを含むかによって変わり、いずれもパイロットの前にはわかりません。当社がお約束するのは測定方法です。どの指標を、どう計算し、どの頻度で報告し、バッチが基準に届かなかったときに何をするか。お客様のデータでパイロットを行ったあとであれば、現実的な目標について話せます。そのときには、話す材料が実際に存在するからです。

サンプルデータです。インターフェースが何を報告し、指標が動くとどう見えるかを示すために存在しており、まさにそのためにバッジと注記を見える形で添えています。顧客プロジェクトの結果ではありませんし、そのように提示することもありません。

それだけでは言えません。一致率が測るのは一貫性であって、正しさではありません。同じ誤解を共有しているアノテーターどうしは、完全に一致します。また、偏りのあるタキソノミーでは値が膨らみます。だからこそ生の一致率と並べて偶然一致を補正した係数を報告し、正しさに対する独立したチェックとして、シニアレビュアーが裁定したゴールドセットを置いています。

納品しません。失敗の内容に応じて、対象を絞った再アノテーション、ガイドラインの改訂と該当項目の再作業、あるいは原因が上流にある場合、たとえばタキソノミーが曖昧である、元データがそのタスクを支えられないといった場合には、お客様へのエスカレーションを行います。お客様のモデルに触れた瞬間に崩れる数値を期日どおりに出すより、説明とともに遅れて納品するほうを選びます。

はい、それは妥当なご要望です。ガイドラインとそのバージョン履歴をご確認いただけますし、サンプルを取って独立に採点し、当社の報告値と突き合わせていただけます。お客様が並行してQAを回している場合、両者の乖離は争う対象ではなく、調べる価値のある発見として扱います。

品質

お客様自身のデータでの数値を、ご依頼ください。

パイロットからは、実際の一致率、実際のエラー内訳、そしてタキソノミーのどの部分が量を増やしても持ちこたえるかについての率直な見解が得られます。

データをご共有いただく前にNDAを締結します。パイロットの要件定義は無料です。