ハルシネーションとは何か:文書AIがない値を作り出す問題の完全整理

ハルシネーション(Hallucination)とは、モデルが根拠を確認できない状況で分からないと答える代わりに、最ももっともらしい値を作り出して返す現象であり、文書処理では原本にない金額や日付が結果に現れる形で表面化します。

文書業務でハルシネーションが特に危険な理由

誤った値よりもっともらしい値のほうが危険です。

対話型AIで事実が食い違えば、利用者はおかしいと感じて確認し直します。文書処理ではそうなりません。請求書から供給者名を抽出したところ、原本にない商号がもっともらしい形で埋められて出てくれば、検収者にはその値を疑う理由が見つかりません。形式が合い、桁数が合い、文脈にも馴染むからです。

したがって文書業務では精度1%の差が処理件数1%の誤りで終わりません。月1万5千件を処理する審査業務であれば1%は150件であり、その150件は人に選り分けられないまま基幹システムへ登録されます。値が空欄であれば担当者は気づきますが、値が埋まっていれば通り抜けます。空欄を埋めようとする性質が文書AIで最も扱いにくい問題である理由がここにあります。

ハルシネーションの正確な定義:認識の誤りと何が違うのか

認識の誤りとハルシネーション、三つの軸の違い

第一に、原因が異なります。認識の誤りは原本にある文字を読み違える問題です。画がつぶれたり重なったりして別の文字として判読される場合がここに含まれます。ハルシネーションは原本に根拠がないのに値が生成される問題です。読み取りの失敗ではなく生成の過剰です。

第二に、現れ方が異なります。認識の誤りはたいてい不自然な結果を出します。存在しない単語や崩れた数字として現れるため、後処理の規則や人の検収で選り分けられます。ハルシネーションはもっともらしい結果を出します。形式の検証も通過し人の目にも自然であるため、原本と突き合わせなければ発見されません。

第三に、対応の方法が異なります。認識の誤りは画像品質の改善とモデル精度の向上で減らします。ハルシネーションは精度を上げても解決しません。確信が低いときに値を作らないよう生成そのものを統制する設計が必要です。公共行政文書90万枚から1千枚を無作為に抽出して測定した結果では、キーの認識精度が97.3%と80.4%に分かれた一方、値の認識精度は96.0%と48.7%へとはるかに大きく開きました。値を見つけられなかったときにどう振る舞うかがこの差を生みます。

二つの問題は置き換えの関係にはありません。認識精度が低ければ根拠を確認できない状況が増え、ハルシネーションの発生する余地も併せて大きくなります。認識品質の上に生成の統制を載せる順序が適切です。

ハルシネーションを統制する5つの設計要件

実運用に入る統制の5つの要件

第一に、確信が低ければ値を確定しないことです。すべての項目に必ず値を埋めるよう設計すれば、モデルは根拠がなくても何かを作り出します。値を空けて検討対象へ回す選択肢が、モデルの出力の中にある必要があります。

第二に、値ごとに原文の位置を併せて返すことです。抽出された値が原本のどの座標から出たかが併せて来れば、根拠のない値は位置を示せないためただちに露見します。検収者が疑わしい項目だけを指して確認できるようになる効果もあります。

第三に、信頼度の点数を項目単位で提供することです。文書全体に一つの点数を付ければ、どの項目を見るべきか分かりません。項目別の確信の度合いがあって初めて、基準値以下だけを検収画面に表示する運用が可能になります。

第四に、検証ルールを併走させることです。日付の前後関係、金額の合計の一致、書類間の氏名の突き合わせのように業務が求める条件は、モデルではなく規則で押さえます。複数の文書で同じ項目を突き合わせるクロス検証は、生成された値を選り分けるのに特に効果的です。

第五に、値がない状態を区別することです。実際の受付文書には判断を要する空欄が多くあります。点が二つだけ打たれたマス、白い帯で覆われたマス、印刷された単位の文字だけが残り値のない行、十四のマスがまるごと空いた表が現れます。該当なしなのか記入漏れなのかスキャンの欠損なのか文書の中に根拠がない場合があるため、こうした項目は勝手に埋めず状態を表示して引き渡す設計が必要です。

ハルシネーション統制の実際の適用方法

抽出基準に例外処理を併せて書きます

プロジェクト初期に作る項目定義書には、何を抽出するかだけでなく、いつ抽出しないかを併せて記す必要があります。署名または捺印のように印刷された案内文は値ではなく記入欄の表示であるため抽出対象から外すべきであり、受け付けた申請書は返却されないといった案内文も同様です。この区別が定義されていなければ、モデルは印刷された文字を入力値と取り違えます。

あるカード金融機関の自動化でも、案内文と実際の入力値を区別する文書理解が中核的な課題として扱われました。何を取り出すかよりも何を取り出さないかが結果の品質を左右する場合が少なくありません。

性格の異なる二つの技術で二重に検証します

一つの方式だけで判定すれば、その方式が取りこぼす地点がそのまま通過します。そこで実務では性格の異なる二つの技術を重ねて置きます。

一つはテキストと構造を認識する側です。文字が実際にその場所にあったか、表のどのセルから出たかを確認します。もう一つは文脈と業務上の意味を理解する側です。その値が当該項目として筋が通るか、文書全体の文脈と矛盾しないかを見ます。

二つの判定が食い違うか、定められた形式を外れた結果は自動的に分離します。根拠の不足した値が後続システムにそのまま反映されないよう防ぐ装置であり、この構造を3 Zero AI Worker戦略ではZero Hallucinationと呼びます。

検収画面を統制装置として使います

生成の統制はモデルの中だけで行われるものではありません。抽出結果を検収画面に表示しつつ信頼度の低い項目だけを強調し、各値をクリックすると原本の該当位置が表示される構成を備えれば、検収時間が大きく減ります。

ここに文書種別ごとの抽出項目とスキーマを管理する画面を併せて置けば、新しい様式が届いたときに抽出基準を修正して対応できます。基準をバージョンとして残し、同じ文書で以前のバージョンと比較する手続を設ければ、変更が性能を下げたかどうかを確認できます。

国内環境におけるハルシネーション統制

韓国の文書には値を誤って作り出しやすい条件がいくつかあります。

まず数字の表記です。千の位の区切りにピリオドを用いた文書をそのまま読めば、二千万ウォンが二十ウォンになります。先頭が同じで真ん中の一桁だけが異なる二つの金額が、当初申告と更正請求の項目として並ぶ様式もあります。こうした文書では桁数の検証と項目経路の確認を規則として併走させる必要があります。

次に項目番号の表記です。事業目的が十一個あってすべて1番から始まる登記様式が実際に存在します。項目が十一個なのか一つが反復されているのかを判断する必要があり、根拠なく番号を振り直せば原本にない構造が作られます。

最後に文書の状態です。何度も再送されたファクスでは異なる日付の表記が一行に重なり、受付日を定める根拠が文書の中にない場合が生じます。こうした項目は値を作らず判断不能として引き渡すことが正しい処理です。

よくあるご質問

部分的にはそうです。認識精度が高ければ根拠を確認できない状況は減りますが、値を見つけられなかったときにどう振る舞うかは別の設計上の問題です。

実データを用いたPDF文書10万件の検証で0.3%未満が確認された事例があります。文書の種類と項目の定義によって変わるため、自社文書で測定されるほうが正確です。

値と併せて返される原文の位置と信頼度で判別します。位置を提示できない項目や確信の低い項目を検収対象として分離する方式が実務で用いられます。

勝手に埋めず状態を表示して引き渡します。該当なしなのか記入漏れなのか判断する根拠が文書の中にない場合があるため、この判断は業務ルールとして定めておくほうが適切です。

業務が求める条件までです。日付の順序や金額の合計、書類間の氏名の突き合わせのように人が確認していた項目を規則へ移せば、生成の誤りの大半が選り分けられます。

効果が大きくなります。一つの文書で作られた値は他の文書の同じ項目と食い違うため、クロス検証の段階で不一致として露見します。

関連用語