Skip to content

スパンアノテーションによる幻覚(ハルシネーション)の検出

Potato でスパンアノテーションと MQM 方式の誤りラベル付けを使い、モデル出力の幻覚や事実誤りを見つけてラベル付けする方法。

幻覚(ハルシネーション)とは、モデルが入力にも事実にも裏付けられないまま自信ありげに述べる言明のことです。これを捉える最も有用な方法は、誤っている箇所の語句をそのままハイライトし、何がおかしいのかをラベル付けすること、つまりモデル出力に対するスパンアノテーションのタスクです。 スパン単位のラベルは、「この回答は間違い」という単一のフラグよりはるかに具体的で、次の手を打ちやすくなります。

背景については幻覚(人工知能)を参照してください。

なぜ回答全体ではなくスパンに印を付けるのか

回答全体に「不忠実」というラベルを付けても、何かが間違っていることしかわかりません。スパンなら、何がどこで間違っているかがわかります。スパンのデータがあれば、種類ごとの誤り率を測り、パターンを見つけ、的を絞った訓練データを作れます。これは機械翻訳評価における標準的な誤りスパンの枠組みである MQM(Multidimensional Quality Metrics)を踏襲したものです。

誤りスパンアノテーションの設定

yaml
annotation_schemes:
  - annotation_type: span
    name: errors
    description: "Highlight each problematic span and label the error type."
    labels: [unsupported_claim, factual_error, contradiction, fabricated_citation]
    label_colors:
      unsupported_claim: "#f59e0b"
      factual_error: "#ef4444"
      contradiction: "#8b5cf6"
      fabricated_citation: "#ec4899"
  - annotation_type: radio
    name: severity
    description: "How serious is the worst error?"
    labels: [Minor, Major, Critical]

MQM と同じように深刻度の判定を加えておくと、些細なミスと危険な捏造に異なる重みを付けられます。

誤りの種類を定義する

  • 裏付けのない主張:出典に支持されていない(RAG のケース)。
  • 事実誤り:確立した事実と矛盾する。
  • 自己矛盾:同じ出力の中の先行部分と食い違う。
  • 捏造された引用:存在しない、または主張どおりのことを述べていない参照。

アノテーションガイドラインの書き方に従い、種類は少なく保ち、それぞれに一行の定義と例を付けてください。

品質上の留意点

  • アノテーターに出典資料を渡すこと。出典なしに「裏付けがない」は定義できません。
  • 境界のルールが重要です。スパンは文全体を覆うのか、それとも誤った節だけを覆うのか。一度きちんと決めておきます。
  • 忠実性は境界事例では主観的です。重複アノテーションを集め、一致度を追跡してください。

さらに読む