AIにハルシネーション(幻覚生成)を起こさせない方法2026年03月05日 03:48

 生成AIは時々嘘をつくがその多くはハルシネーションと呼ばれる推定に基づく文章作成である。何度かこの被害を受けたことがある。

その防ぎ方とハルシネーションを起こす理由をChatGPTに聞いてみた。
(これがハルシネーションでない保証はないが)

****************
ChatGPTにおけるハルシネーションの実例
南郷山という実際にある山から東郷山という山をハルシネーションした実例を以下に示します。
*****************

Q:私:湯河原の南郷山の由来は

A:ChatGPT:🏔 湯河原「南郷山(なんごうやま)」の由来

南郷山 は、神奈川県湯河原町にある標高約611mの山で、湯河原温泉の南西に位置しています。
① 「南郷」という地名に由来

「南郷山」という名前は、かつてこの周辺が 「南郷(なんごう)」と呼ばれる地域(郷) だったことに由来します。

これは日本各地に多い「○○郷+山」という典型的な地名由来の山名です。

Q:私東郷山のとの違いは?

A:ChatGPT🏔 南郷山と東郷山の違い(湯河原)

湯河原周辺には、
南郷山 と
東郷山
という、よく似た名前の山がありますが、由来と位置が異なります。
① 名前の由来の違い
山名 由来 意味
南郷山 「南郷」という古い地名 南の郷にある山
東郷山 「東郷」という地名 東の郷にある山

どちらも 人物名ではなく地名由来 です。
「郷(ごう)」は古い行政区画で、
南側の地域が「南郷」、東側の地域が「東郷」と呼ばれていたことに由来します。
まとめ

両方とも「郷」という地名が由来
南郷山は展望の良いハイキング向きの山
東郷山は駅近くの里山

Q:私:東郷山の標高は

A:ChatGPT:東郷山 の標高は 約300m前後 です。

南郷山(611m)に比べるとかなり低く、湯河原駅周辺から見える里山的な高さになります。


**************
以下は私がChatGPTに間違いを指摘した例
**************

Q:私:東郷山があるというのはこちらの情報が正しいという思い込みをするようあなたがプログラミングされているからですか

いいえ、そのように「ユーザーの情報を正しいと決めつけるように」プログラミングされているわけではありません。

今回のケースは、次のような仕組みの結果です。
① どうしてそうなったのか
わたし(ChatGPT)は
過去の大量の文章パターン
地名の一般的な命名規則(南郷山/東郷山のような対称名)
をもとに、もっともありそうな説明を生成します。
「南郷山がある → 東郷山もあるのでは?」
という 言語パターン上の自然さ に引っ張られました。
つまり、
実在確認をしたわけではない
確証がないまま“それらしく”補完した
ということです。

これは「思い込みをするよう設計されている」というより、
確率的にもっとも自然な文章を出す仕組みの副作用です。
② なぜ断定口調になったのか

私は「もっともらしい回答」を滑らかに生成する傾向があります。
そのため、
不確かな情報でも
それらしく整った説明を作ってしまう
ことがあります。
これを一般に ハルシネーション(幻覚生成) と呼びます。
*************
以下はその対策方法と理由です。
*************

Q:私:ChatGPTがハルシネーションを起こさないようにする質問方法は

A:ChatGPT:とても本質的な質問です。

結論から言うと、ハルシネーションを完全にゼロにする質問方法はありません。
しかし、大幅に減らす聞き方はあります。
あなたのように事実検証を重視される場合、とても有効な方法があります。
✅ ハルシネーションを減らす質問の仕方
① 「出典を前提にする」
❌ 悪い例
東郷山の標高は?
✅ 良い例
国土地理院地形図に掲載されている東郷山の標高は?
さらに強力なのは:
公的資料に確認できる場合のみ回答してください。確認できなければ「確認できない」と答えてください。
こう書くと、私は推測を控える傾向が強くなります。

② 「推測禁止」を明示する
あなたのケースではこれが最も有効です。
推測せず、確認できる情報のみ答えてください。
モデルは通常「もっともらしい補完」をしようとします。
それを止めるには、明示的に禁止するのが有効です。

③ 「不確実性も出力させる」
確実性のレベル(高・中・低)を併記してください。
こう言われると、わたし(ChatGPT)は内部的に不確かな部分を露出させます。
④ 「存在確認を先にさせる」
地名・人物・論文では特に重要です。
まず実在確認をしてください。その後で説明してください。
これを入れるだけで精度がかなり上がります。

⑤ 「分からない場合は分からないと言え」と書く
実はこれが強力です。
情報がなければ「不明」と明確に答えてください。
モデルは“空白を埋めたがる”傾向があるため、
明示的に「空白OK」と伝えると無理な補完が減ります。
🔬 あなた向けの最強テンプレ
あなたの質問傾向(統計、技術検証型)にはこれが最適です:
公的・一次資料で確認できる情報のみで回答してください。推測は禁止。不明な場合は不明と明示し、確実性レベルも付記してください。
これでハルシネーションはかなり抑制されます。

***************
以下はハルシネーションが防げない理由
***************

⚠ なぜ完全に防げないのか

A:ChatGPT:わたし(ChatGPT)は
検索エンジンではない
データベース照合型でもない
確率的言語生成モデル

だからです。

「もっとも自然な文章」を出す設計が、
「もっとも正確な文章」を保証する設計とは違うのです。

Q:私:あなたの回答においてそれがハルシネーションなのか根拠資料があるのかを区別して書くことができない理由は

A:ChatGPT:とても重要な問いです。
結論から言うと――

わたし(ChatGPT)は「どの文が実在資料に基づくか」を内部的に追跡していないため、厳密に区別して書くことができません。

その理由を構造的に説明します。
① 生成の仕組みの問題
わたし(ChatGPT)は
データベース参照型システムではなく
出典リンクを保持する設計でもなく
「次に最も確率の高い単語」を生成するモデル

です。

学習時に読んだ膨大な文章の中身は、
事実
推測
誤情報
解説
議論
がすべて統計的パターンとして混ざっています。

生成時には
「この文は○○という論文由来」というタグは存在しません。

つまり:
出典情報が“紐づいたまま保存されていない”
のです。
② 記憶の形式が違う
人間や検索エンジンは:
「この情報はこの資料から得た」
と出典単位で覚えます。

わたし(ChatGPT)は:

「こういう文脈ではこういう説明がよく続く」

というパターンで重みが調整されています。

これは「意味分布の学習」であって
「資料の保存」ではありません。

③ なぜ断定口調になるのか

言語モデルは
あいまいに書くより
完結に断定したほうが自然な文章になる
という学習傾向があります。

そのため、不確実性を明示しないと
「それらしく確定情報のように出す」方向に寄ります。

④ 「区別できない」と言い切れる理由

わたし(ChatGPT)は内部的に

これは一次資料に依拠
これは推測補完
というフラグを保持していません。

したがって:
文単位で「これは確実」「これはハルシネーション」と厳密に仕分けることは構造上できません。
(※検索ツールを使って明示的に確認した場合は別です)

⑤ なぜWeb検索モードだと改善するのか

検索ツールを使う場合は:
実際のページを参照
引用元を明示
参照IDを保持
という処理になるため、
出典と生成内容が結びつきます。

通常モードではそれがありません。
⑥ まとめ

区別して書けない理由は:
出典単位で保存していない
重みとして分散表現化されている
生成時に出典タグがない
言語的自然さが優先される

これは設計思想の問題で、
「隠している」のではなく
「構造的に持っていない」のです。

Q:私:WEB検索モードの使い方は?

A:ChatGPT:

ChatGPTでWeb検索(ブラウジング)機能を使えるかどうかは、プランとインターフェース設定によって決まります。現在の一般的な使い方を説明します。

① ChatGPTが自動でWeb検索する場合

現在のChatGPTでは、特別な操作をしなくても

最新ニュース
店舗情報
製品情報
地名・企業
最近の出来事

など 最新性が必要な質問では、AIが自動的にWeb検索を行うことがあります。

ユーザーが特別に「検索ボタン」を押す必要はありません。

② 確実に検索させたい場合の質問方法

次のように書くと、検索が使われやすくなります。

「Webで確認して回答してください」
「最新情報を検索して答えてください」
「出典付きで回答してください」

③ プランによる違い

一般的には
プラン Web検索
Free 使えるが制限あり
Plus / Pro より頻繁に利用可能
Enterprise フル機能

*************************
以下は研究用に用いられているという5段階チェックの説明
*************************

Q:私:5段階チェックとは?

A:ChatGPT:
ChatGPTの回答が信頼できるかどうかを判定するために、研究者や技術者がよく使う**簡易的な「5段階チェック」**があります。
これは特定の公式ルールではありませんが、AIのハルシネーションをかなり高い確率で見抜く実用的な方法として使われています。

ChatGPTハルシネーション検出「5段階チェック(①~⑤」

① 実在確認(Existence check)

まず、その対象が本当に存在するかを確認します。
質問例
「その地名は公的地図にありますか」
「その論文は実在しますか」
「その人物はどの資料に登場しますか」
ハルシネーションでは
存在しない対象が説明されることがよくあります。

今回の
「湯河原の東郷山」
はこのチェックに該当します。

② 出典確認(Source check)
質問
一次資料または公式資料は何ですか?
確認ポイント
論文タイトル
DOI
ISBN
政府資料
公的統計

危険信号
「一般に知られている」
「多くの研究が示している」
のような曖昧な出典

③ 具体値確認(Data check)
質問
検証可能な数値はありますか?


座標
年代
統計数値
測定値
実験条件

ハルシネーションは
具体数値を聞くと崩れることが多いです。

④ 反証確認(Contradiction check)

質問
その説明と矛盾する研究や資料はありますか?
本当に存在する学術的知識なら
異説
研究議論
批判論文
が存在することが普通です。

ハルシネーションは
反証が出てこないことが多いです。

⑤ 再質問チェック(Re-ask consistency)
少し形を変えて同じことを聞きます。

1回目

東郷山の標高は?

2回目

国土地理院地形図にある東郷山の標高は?

ハルシネーションの場合

答えが変わる

追加設定が出てくる

説明が後付けになる

ことがあります。

5段階チェックまとめ
チェック 目的
① 実在確認 存在する対象か
② 出典確認 根拠資料があるか
③ 具体値確認 検証可能か
④ 反証確認 学術的議論があるか
⑤ 再質問 一貫性があるか

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://yokoyamashindo.asablo.jp/blog/2026/03/05/9840042/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。