ChatGPT と言語モデル

文には、表現のレベルと意味のレベルがあります。私たちが普段言葉を使っているときにこの2つレベルの違いは意識せずに自然に話をしていますが、この2つのレベルには明らかな違いがあり、かつこの2レベルは当然のことながらお互いに強く関係しています。

表現のレベルから意味のレベルを切り離すと、文としては正しい(文法的に正しいし、語の繋がりとしても違和感がない)が意味がまったく現実と異なる文を作ることができます。例えば、「2022年のプロ野球セリーグの優勝チームは西武ライオンズだ」という文は、文法的にも正しいし、野球をほとんど知らない人からすると「そうなのか」という内容で違和感はない。しかし、現実問題として、2022年時点では西武はセリーグに属していないので、意味的にはおかしな文になる。逆に、表現はおかしくても、意味は通じるという文もある。「2022年がプロ野球セリーグで優勝したのはヤクルトスワローズのチーム」は構文はオカシイけど、日本語を学習中の外国人が話したとすると意味は分かる。

2006年に亡くなったロシア語同時通訳者の米原万理さんの著書に「不実な美女か貞淑な醜女か」という意味深なタイトルの有名な本がある。この本には、同時通訳をするとき、元の言語の内容を正確に伝えた少しぎこちない通訳(=貞淑な醜女)と、元の言語の内容を多少伝えきれていなかったり変わっていても、通訳先の言語の文としては流暢で聞きやすい通訳(=不実な美人)のどちらが良いか、という究極の選択について書かれている。特に同時通訳は時間との勝負なので、限られた時間の中で、どれだけ意味的に正確でかつ通訳された文が聞き取りやすく分かりやすい通訳ができるかという勝負になる。時間が限られるので、ある程度見切りをつけて、どちらかを犠牲にしないといけなくなることもある。場合によっては、そもそも言語の違いにより、対応する表現や概念自体がずれていたり、存在しなかったりするため、正確性か流暢さのどちらかを諦める必要がある。その葛藤を本のタイトルとして適確に表したのがこの本だ。私自身は通訳はできないが、昔々ISSという通訳学校に通っていたときに同時通訳者である先生が「同業者でお客さんには通訳が分かりやすいという評判の人がいるけど、通訳が結構いい加減なのよね」と嘆いたのを聞いたのを思いだす。

前にも書いたように、ChatGPTは対話機能を大幅に強化した大規模言語モデル(LLM: Large Language Model)です。言語モデルというのは、先の例で言うと、前者のある特定の言語について「表現のレベル」で正しい文をモデル化したものです。言語モデルの研究は昔からあり、文書データを使った言語モデルの構築も以前から行われてていますが、最近発展しているLLMは、従来の言語モデルとは異なるレベルの大規模な言語データ(例えば、インタネット上のすべての文書情報)を深層学習により精密にモデル化したものであり、極端に言えば、この世で使われている表現をすべて一度は学習したような言語モデルになっている。その意味で、表現のレベルで正しい文を生成しながら、現実とそんなに乖離した表現になることはない。例えば、単語「セリーグ」の周辺に出てきやすいチーム名はセリーグのチームだし、単語「パリーグ」の周辺にはパリーグのチーム名が出やすいので、「セリーグ西武ライオンズ」という表現は語の繋がりとしての確率が低くなる。それでも、GPT-3.5の頃のChatGPTが嘘ばかり言うと話題になったのは、言語表現としては正しいが、意味的に違うことをシレっと言ってのけるからだ。「豊田工大は豊田市にある」というウソをもっともらしく生成する。学習データに「豊田工大は豊田市にあるとよく間違われる」といった文があれば、語の並びとしては生成されやすくなる。この世でデータとして使える文書に現れるすべての単語の並びを学習しているので、生成される文章はとてもきれいで分かりやすい。このこと自体画期的なことで、自然言語処理の研究者であっても、2、3年前には想像もできなかったぐらいすばらしい技術革新が起きている。しかし、現実の意味の世界から考えると正しくないことを堂々と話すGPTは「不貞な美女」ということになる。結局LLMは意味や世界知識を直接扱うことなく、対象の文書の中にじわっと含まれている意味や知識を語の並びの確率モデルとして構築しているだけなので、おのずと限界がある。Bing Chatのように、ChatGPTと検索エンジンと組み合わせるのは、GPTの弱点を補うひとつの解決法ではある。最新の検索結果をプロンプトとして言語モデルにバイアスをかけているのだろう。ただし、対処療法でしかないので本質的に世界知識を明示的にLLMに組み込んでいるということではない。