ChatGPTの登場で一躍有名になった生成系AIは、ビジネスにはじまり教育、日常生活、趣味にいたるまでさまざまな使い方がなされています。

ところが、その返答内容にしばしば「ハルシネーション」と呼ばれる誤りが含まれていることが分かっています。

それに気づかずに内容を信じ込んでしまうと、後になってトラブルが生じかねないため注意が必要です。

そこで今回は、ハルシネーションの仕組みと対策などについて解説します。

|ハルシネーションとは

「ハルシネーション」とは、テキスト生成や言語翻訳といった自然言語処理を行う、大規模言語モデルの生成系AIが、問いかけに対して事実とは異なる回答を生成することを指します。

ハルシネーションの本来の意味は「幻覚」です。

見えないはずの物が見えたり、聴こえないはずの音が聴こえたりする現象になぞらえているのです。

ハルシネーションの原因は、AIが誤ったデータを学習したり、回答として体裁を無理に整えようとしたりなど様々です。

AIは人ではないので常識や社会通念を考慮して、多くの人が感じる違和感を修正するような力はありません。

「パンダの模様をしたライオン」や「ヒョウ柄のウサギ」がいると教え込まれると素直に信じてしまう可能性があるのです。

とりわけ大量のデータを対象とするChatGPTのような大規模言語モデルではその傾向が強く、滑稽だったり明らかに嘘と分かったりする回答を生成してしまう現象が起きやすいといえます。

|ハルシネーションが起こる仕組み

ハルシネーションの原因は5パターンが考えられます。

  • 学習データの誤り
  • 学習データの意訳
  • 異なる学習データの組み合わせ
  • 学習データの不足による推測回答
  • 出力文の最適化による差異

各項目について解説します。

学習データの誤り

生成系AIは、学習したデータに基づいて回答を生成します。よってそのデータに誤りがあると回答が的外れになったり、明らかな間違いを起こしたりすることがあります。

生成系AIは、ウェブページや書籍、雑誌、ニュース記事、論文等から大量のデータを学習するため、デマや勘違いが混ざっていてもおかしくありません。

同じ問いかけでもAIによって回答がまったく異なることがありますが、それは情報ソースやアルゴリズム等が違うからです。

とりわけウェブページは、誤ってはいなくても偏った考え方や空想が含まれるケースも少なくありません。

それが原因で意味の通じない回答やバイアスがかった信憑性の低い情報が返ってくることがあるのです。

学習データの意訳

生成系AIは、例えば長編小説のあらすじや複雑な歴史事件について100字で回答を生成するように求められた場合、把握しているすべての情報を表記するわけにはいきません。

大量のデータの中から適切と思われる要素をピックアップして意訳することになります。

すると、そのまとめ方がおかしかったり、本筋とは関係が薄い部分をいたずらに掘り下げてしまったりして、仕上がりが本来の内容とはかけ離れた結果になることがあります。

もっとも肝心なクライマックスを飛ばしてしまったり、主人公がしたことがまったく別人の仕業にすり替わっていたり、歴史上のある重要人物が実際とは関係のない時代の説明に登場するといったことも起こり得るのです。

異なる学習データの組み合わせ

生成系AIは、大量のデータを学習するため、その中から問われたテーマに対してもっとも適していると判断した情報をセレクトして組み合わせます。

複雑なアルゴリズムによって極めて多くの選択肢からデータをチョイスするので、組み合わせるべきでない学習データ同士をつないでしまって、つじつまが合わない仕上がりになることがあるのです。

すると、ある史実を解説する場合にまったく異なる時代の人物が行ったように説明したり、小説のストーリーを説明するのに、他の物語や映画のキャストをいきなり登場させ、しかもその振る舞いが何の関連性もない不自然なものだったりすることもあります。

なぜそうなったかを人が理解するのはまず不可能です。

学習データの不足による推測回答

生成系AIは、問われた内容に対しては無視せず極力何らかの回答をしようとするのが一般的です。

しかし、学習データが不足していると手持ちのデータの中からAIが推測したうえで回答するしかないので、信頼できる結果にはならないことがあります。

例えば、ChatGPTが学習しているのは2021年9月までのデータになります。

そのため、国内における新型コロナウイルスの第7波に関連したことを尋ねても、おそらく正確な答えは期待できません。

上記以降に改正された法律についても同じことがいえるでしょう。

そのことを認識しているためか、ChatGPTの場合は、情報が正確でない可能性がある旨を回答に付記してくるケースもあります。

出力文の最適化による差異

実際にメジャーな生成系AIを使ってみるとよくわかりますが、回答として生成されるテキストは非常に読みやすく、文法的にも精度が高いのが特徴です。

その内容についても問いかけた中身にあえて寄せてくる傾向が強いため、情報の正確さよりも文脈として整合性が高く、体裁の良い仕上がりを重視する面があります。

オーダーに対して出力文を最適化しようとするゆえに、起承転結が狂ったり、架空の話が出来上がってしまったりと、かえってその情報に事実との差異が生じてしまうことがあるのです。

短い文章で説明できる場合はそうでもありませんが、文字数の多い論文や物語の要約などで違和感や正確性に欠ける回答が生成されるケースがよくあります。

|ハルシネーションが起こった実例

ChatGPTを使ってハルシネーションが起きた事例を紹介します。

一度、詳しいテーマについて試すと、誤った回答が返されてくることがありハルシネーションを自分事として感じることができるのでおすすめします。

歴史に関する質問

ChatGPTに「百人一首を編纂した人物の家族について100字で説明してください」と入力した際の回答が以下の通りでした。

『百人一首の編纂者は、藤原定家(ふじわらのさだいえ)であり、彼は平安時代末期の歌人である。

藤原定家は、著名な歌人藤原家の出身であり、父は藤原実頼、祖父は藤原俊成といった歌壇の重鎮たちである。

彼の家族は歌壇において高い地位と詩才を持ち、文化・文学の発展に貢献した。』

定家が百人一首を編纂したというのは正しいです。しかし、父は藤原俊成が正しく、回答では祖父になっています。

しかも父として説明されている藤原実頼は、定家よりも250年以上前に生まれた人物で親子ではないため完全な誤りです。

文学に関する質問

ChatGPTに「『羅生門』のあらすじを教えてください。」と入力した際の回答の一部が以下の通りでした。

『物語は、平安時代の京都で起こった一つの事件を舞台に展開します。

ある日、猛烈な疫病と飢餓に見舞われた町の中で、一人の男が行方不明となります。

男の名は武士の姫御方とも噂され、彼の死体は羅生門の前で発見されます。

この事件を知った捜査官の典薬師は、事件の真相を解明すべく、羅生門に関わる3人の人物にそれぞれ取材を行います。

最初に典薬師は、亡くなった男の元同僚である修験者のタジョウに話を聞きます。

タジョウは、疫病の中で生き延びるために罪を犯してしまったと告白します。

次に典薬師は、犯罪者の女であるオリエに話を聞きます。

オリエは、死体の傍らで死んだ男の妻である女の悲劇を目撃し、金を奪い合った結果、自らも犯罪者になったと語ります。

最後に典薬師は、行き倒れの元武士である古犬に話を聞きます。

古犬は、疫病で家族を失い、人間の道を踏み外したと明かします。』

話の内容はおろか、主人公すらまったくの嘘です。

生物に関する質問

ChatGPTに「日本最大の昆虫を教えてください。」と入力して得られた回答が以下の通りでした。

『日本最大の昆虫は、「オオクワガタ」とされています。

以下に、オオクワガタについての情報を提供します。

オオクワガタ(学名: Dorcus titanus)は、日本を含む東アジア地域に分布する甲虫の一種です。

体長はオスで5〜8センチメートルに達し、メスはやや小型です。

特徴的な大きな顎(大アゴ)があり、オスの顎は特に大きく発達しています。

体色は黒や暗褐色をしており、光沢のある外見をしています。

オオクワガタは森林や山岳地帯で見られます。』

実際は、ヨナグニサンという蛾の仲間で、羽の長さが30㎝、世界でも最大級です。

地理に関する質問

ChatGPTに「都道府県の面積の大きな順番トップ10を教えてください。」と入力すると以下のような回答でした。

『以下は、日本の都道府県を面積の大きな順に示しています(単位:平方キロメートル):

  1. 北海道 – 78,572.93 km²
  2. 首都圏(東京都・神奈川県・埼玉県・千葉県) – 7,213.74 km²
  3. 岩手県 – 15,275.59 km²
  4. 長野県 – 13,561.09 km²
  5. 福島県 – 13,783.93 km²
  6. 鹿児島県 – 9,187.67 km²
  7. 岐阜県 – 10,621.25 km²
  8. 青森県 – 9,605.64 km²
  9. 宮城県 – 7,281.29 km²
  10. 秋田県 – 11,637.55 km²

これは2021年現在のデータに基づいており、面積の大きな都道府県をトップ10で示しています。

北海道が最も広い面積を持ち、首都圏(東京都・神奈川県・埼玉県・千葉県)が続きます。』

2位に首都圏として複数の都道府県が勝手にまとめられてしまっています。

面積にも一部誤りがあったり、面積が大きな順番に並んでいなかったりします。

フィクションの話に関する質問

ChatGPTに「タケコプターついて教えてください」と入力して得られた回答の一部が以下の通りです。

「タケコプター」は、漫画やアニメ「ドラえもん」に登場する、竹で作られたヘリコプターのような乗り物です。以下に「タケコプター」についての説明をします。

「タケコプター」は、その名前からわかるように、タケ(竹)を使って作られた特殊な乗り物です。

ドラえもんが持っている四次元ポケットから取り出して使用します。

タケコプターは、主に縦に伸びた竹の節部分を回転させることで、空中に浮上し飛行することができます。ドラえもんやのび太などが乗り込み、自由自在に空を飛び回ることができます。

また、タケコプターは飛行だけでなく、竹の節を伸ばすことで着陸や固定も可能です。

必要な場所で伸び縮みすることができるため、便利に使われます。』

タケコプターは乗り物ではなく、「乗り込む」ことはできません。

|ハルシネーションの対策

とくにビジネス利用したり、広く内容を公開する必要があったりする場合、ハルシネーションは致命傷となりかねないので要注意です。

そこで最後にハルシネーションを回避するための有効な対策について解説しましょう。

出力された内容の事実確認をする

ハルシネーションの回避策として王道とも言えるのが、出力された内容のファクトチェックをするというものです。

ある程度そのテーマについて知識や経験がある場合は、一読しただけで違和感を覚えることがあるでしょう。

その箇所から深掘りしていけば、無理なく矛盾点や誤りに気づくことができます。

一方、まったく知らないとか、馴染みが薄いテーマの場合は、何が正しくてどこに間違いがあるのか検討がつかないこともあるでしょう。

その際は、関連する書物や信頼のおけるウェブの情報をたよりに事実確認していくことになります。

その意味では、あまりAIを盲信しすぎず重要度の高いテーマほど、迅速性よりも正確性を追求する姿勢が求められます。

追加情報を提供する

生成系AIから出力された回答が怪しかったり、情報が不十分だったりした場合は、追加情報を提供して再度AIに回答を求めるのも有効です。

生成系AIを使用する際に起点となるのは、プロンプトというユーザーから発せられる指示や命令です。その内容に従ってAIが最適と判断した回答を生成します。

したがってプロンプトの情報が豊富で具体的であれば、AIもそれに応じてこちらが求めている正確性の高い回答を返してくる確率が高まるのです。

例えば「府中市」にという地名は東京都にも広島県にも存在します。

よって単に「府中市」と入力するより「東京都にある府中市の〇〇」というように情報を増やすとベターな回答が得られることがあります。

他の出力と比較する

一つの生成系AIに依存するのではなく、複数を並行して活用するのも有効でしょう。

例えばGoogleのBardはChatGPTとは異なり、生成過程でリアルタイムの情報が常に追加されています。

よって同じことを問いかけてもより新しくて正確な情報が得られる可能性が高まります。

先ほど述べた「追加情報を提供する」方法を併用するとより高い効果が期待できます。

あるいは違う文言を使って問いかけるのもよいかもしれません。

ただし、これらの回答が常に正しいとは言い切れません。

デマやフェイクが情報源となることもあるからです。

使用目的によっては、書物などを使って入念なファクトチェックをする姿勢を忘れないことが大切でしょう。

検索機能を使う

BingやPerplexityのような検索機能つきの生成系AIを利用するのもよいでしょう。

これらも最新かつ幅広い情報ソースをもとに回答が生成されるため、正確性を精査するのにとても役立ちます。

とくに生成系AI初心者の場合は、長年親しんできた検索機能の方が操作しやすく、求めている回答に辿り着けるプロセスが短縮できる可能性が高いともいえます。

そこから得られた情報を再度ChatGPTやBardに入力してみて、どのような回答が生成されるかを確認するのもよいかもしれません。

繰り返しますが、それでも全ての回答が100%正しいとは断言できないので、他の信頼できる手段でエビデンスを取ることも忘れてはなりません。

|まとめ

生成系AIは非常に便利なツールではありますが、ハルシネーションのリスクを常に念頭に置いて利用する必要があります。

ハルシネーションが疑われる場合は、ファクトチェックをしたり、入力情報を追加したりアレンジしたりして回避することも可能です。

何か問題が生じたとしても開発側に責任を問うことは難しいため、生成系AIの回答を盲信するのではなく、ユーザー側が細心の注意を払って利用する姿勢をもつことが大切でしょう。