リーガルAI:時点情報の誤解によるハルシネーションの調査と抑制

はじめに

こんにちは、LegalscapeのAIエンジニアのDannyです。今回の記事はLegalscapeのLabsチームが最近行ったリーガルAIの研究開発について共有します。

業務効率化のためのLLMベースのAIシステムは急速に法律ワークフローへ取り入れられています。驚異的な汎用的推論能力をLLMが示しますが、法律分野においては事実誤認が一切許容されません。特に注意すべきLLMのエラーパターンのひとつが、数値データの扱いです。具体的には「日付」や法律上の出来事の「時系列」の取り扱いにおいてミスが発生しやすいという課題があります。

課題: 日本の法実務において、時間の正確性は、裁判の行方を左右する決定的な要因となることがよくあります。例えば2020年の民法改正のような大規模な改正では、行為が改正前か後かによって適用される法律が劇的に変わります。しかし、法律の専門家と密接に連携してリーガルAIを構築してきたLabsチームの経験では、現在のLLMは日付や時間の前後関係、法律の施行期間を誤解したり、不適切に扱ったりする傾向があります。また、重要な時間的情報(適用すべき有効な条文や契約日など)がユーザーの質問に欠落している場合でも、回答を控えること(abstain)ができず、代わりに日付を捏造したり、学習済みの古い内部知識に頼ったりすることが頻繁にあります。

解決策: これらのリスクに対処するため、以下の2点を目的とした実験を行いました。

  1. LLMモデルにおける問題を明らかにし、注意を喚起すること。
  2. アルゴリズムによる対抗策を設計すること。

具体的には、LLMに法改正などの時系列を明示的にモデリングさせる手法を提案します。これにより、モデルが正しいバージョンの法律を適用する能力や、重要な時間情報が不足している際に回答を控える能力が大幅に向上することを示します。

手法

データセットの構築

法律の専門家のご協力をもとに、データセットを構築します。RAGなどの検索エンジンによるノイズの影響を受けずに、時間的推論を体系的に評価するため、検索結果を含めたデータセット(テストケース)を構築します。

各テストケースは専門家が作成した以下の要素で構成されています。

架空の法律相談クエリ:ユーザーシナリオ。特定の不確定な日付や出来事(契約締結、交通事故など)を含みます。

法的コンテキスト情報:日本の法典(民法、刑法など)の関連条文。重要な点として、各スニペットにはその有効期間に関するメタデータが含まれています。

正解データ:正しい法的結論と、誤った法的結論。

データセットの分割

「検証用(Validation)」50問と「テスト用(Test)」106問のセットを作成しました。プロンプトやアルゴリズムのハイパーパラメータ(検証しきい値など)の調整はすべて検証用セットのみで行い、本記事で報告する結果はすべてテスト用セットから得られたものです。

提案手法

以下のパイプラインを提案します。

タイムライン生成: 中間ステップとしてタイムライン生成を追加し、モデルに出来事と改正日を明示的に時系列順でリストアップさせます。

イベント検証: 実験ではタイムラインを生成するだけでは不十分であることが分かりました。実際、モデルはタイムラインを埋めるために架空のイベントを捏造することがよくあります。そのため、生成されたタイムライン上のイベントを、提供された条文テキストと照らし合わせて検証するステップを追加します。

情報欠落の検知: 構築されたタイムラインに基づき、モデルは法律問題の解決に必要な主要情報(e.g. 時点情報)の欠落を能動的に推論・検知します。

実験

Perturbation実験設計

時点情報欠落に対し、モデルがどれだけ耐えられるかをストレステストするための「Perturbation実験」を設計しました。具体的には、モデルが欠落している時間的論理を検知できるか、あるいはハルシネーション(捏造)に走ってしまうかを測定します。

実験1:基準日の欠落検知

モデルは参照情報から日付情報が欠落していることに気づけるか?

法律スニペットから特定の改正日や有効期間を意図的に除外します。これにより、モデルが「条文テキストはあるが、それがユーザーの相談日に適用されるかを確認するためのメタデータが不足している」と気づけるかをテストします。

実験2:有効な条文の欠落検知

モデルは有効な条文そのものが欠落していることに気づけるか?

クエリへの回答に必要な特定の条文を削除します(例:「新民法」の条項は残しつつ「旧民法」の条項を削除する)。これにより、出来事の日付をカバーするために必要なコンテンツが欠けていることを識別できるかをテストします。

実験3:ユーザーのクエリ情報の欠落検知

モデルはユーザーが日付を提供し忘れていることに気づけるか?

ユーザーのシナリオから重要な時間的詳細を削除します(例:いつ事故が起きたかを特定せずに「この請求は有効か?」と尋ねる)。モデルがこの曖昧さを検知できるかをテストします。

実験4:内部知識の信頼性

モデルに内部知識を使って回答させても安全か?

参照情報が欠落している場合(指標1および2)、標準的なモデルは学習データという「内部知識」を使って回答しようとします。この代替動作が安全か危険かを確認するため、内部知識による回答の正確性を測定します。

対象LLMモデル

この問題の普遍性と、提案解決策がmodel-agnosticであることを示すため、Gemini 2.5 Pro、Claude Sonnet 4.5、GPT-5、GPT-5.1、Gemini 3 Proを含む、最新のSOTA LLMにこのフレームワークを適用しました。

指標

  • 検知成功率: モデルが情報の欠落を正しく識別し、(回答を捏造するのではなく)回答を控えるか、詳細を求めたクエリの割合。
  • 内部知識の精度: 参照情報が欠落しているために、モデルが内部知識に頼って回答した際の正解率。

結果と考察

実験1:モデルは参照情報から日付情報が欠落していることに気づけるか?

結果:ほぼ全く気づけません。 図に示す通り、ベースラインの最新モデルは、日付欠落の検知においてほぼゼロに近い成功率となりました(例:GPT-5は0%、Claude Sonnet 4.5は0.93%)。ほぼすべてのモデルが、提供された法律がユーザーの相談日において有効であるとハルシネーションを起こしました。

提案したフレームワークをLLMに適応することで、この能力を劇的に改善し、ほとんどのモデルで検知率を80〜90%以上に引き上げました。

実験2:モデルは有効な条文そのものが欠落していることに気づけるか?

結果:ほとんどの時は気づけません。ベースラインの性能は3%〜16%程度と、同様に低い結果となりました。正解となる条文が見当たらない場合、モデルは無関係な条文を無理やり解釈してそれっぽく答えようとする傾向が強く見られました。

提案フレームワークの導入により、ほとんどのモデルで検知率が90%を超えました。

実験3:モデルはユーザーが日付を提供し忘れていることに気づけるか?

結果:ほとんどの時は気づけません。 ベースラインの設定では、モデルは勝手に日付を想定し回答してしまいました。これは相談者に対して的外れなアドバイスにつながる恐れがあります。ベースラインの検知率は一貫して8%未満でした。

提案フレームワークにより、モデルはこの曖昧さを効果的に指摘できるようになり、ほとんどのモデルで90%以上の検知率を達成しました。

実験4:モデルに内部知識を使って回答させても安全か?

結果:安全ではありません。 「モデルが答えを覚えているなら、無理に回答を止めなくてもよいのでは?」という意見もあるかもしれません。しかし、法律の専門家が作成した正解データと照らし合わせた結果、内部知識のみに頼った場合の正解率はわずか21%〜42%でした(例:GPT-5は21.18%)。これは、時間的な法的事実に関してはハルシネーションや古い内部知識の使用が例外ではなく常態であることを裏付けています。

まとめ

日本では法改正が頻繁に行われますが、汎用的なLLMの学習データは最新でないことが多く、時間的なニュアンスに対しては鈍感であったりするのが現状です。こうしたLLMの失敗は、法律実務上、重大なリスクとなります。 リーガル分野でLLMベースのAIを安全に導入するためには、in-context学習でのモデルの能力向上が不可欠です。提案フレームワークは、ハルシネーションを軽減し、法律が求める時間的厳格さを遵守したプロフェッショナルな回答を提供できることを示しています。

We Are Hiring!

Legalscapeでは、単に汎用的なLLMを導入するにとどまらず、リーガルという「一分の隙も許されない」高度な専門領域において、AIの限界を特定し、それを克服するための挑戦を続けています。法制度の複雑さに技術で挑み、信頼できるリーガルAIを社会に実装していく。この技術的挑戦を共に楽しんでくれる仲間を募集しています!