ChatGPTはタイポグリセミア現象を引き起こす文章を理解できるのか?
皆さんはタイポグリセミア現象をご存知でしょうか?
たまにTwitterを使ってると、見かけるやつです。
文字が入れ替えられていてメチャクチャな単語による文章なのに単語最初と最後の文字があっていれば読めてしまうというものです。
そこでふと思いました。これってAIが理解できるのか?
大雑把なAIが単語を理解する仕組み
文章をある単位で区切って(トークン化して)、その並びから次に来る可能性の高い文字を予測してくというものです。
これってすごくタイポグリセリア現象と相性が悪そうですよね。だってそもそもの順番が入れ替わってるんですから、次の文字を予測しにくいのは間違いなさそうです。
一方で位置エンコーディングを使えばRNNとは違い順番が入れ替わってもある程度読み取ってくれるんじゃないかと期待はしてしまいます。
実験
文章は下記のサイトを使って生成させてもらいました。
元の文章
いまからおひるごはんをたべたいとおもうのですがおひるごはんのおすすめはありますか?いまにほんしょくをたべたいきぶんです。ぐたいてきなりょうりめいをおねがいします。
タイポグリセミア化した文章
いかまら おるごはひん を たたべい と おもう の ですが おごひはるん の おすすめ は あますりか?いま にょほんしく を たたべい きんでぶす。 ぐてたいき な りうめょりい を おがねい します。
ChatGPT(GPT-3.5)による解釈
おすすめのお店として、
「あますりか」は美味しい和食を楽しめるお店です。日本食に興味がある方におすすめです。お刺身や煮物、天ぷらなど、季節の食材を使った料理が豊富に揃っています。
「にょほんしく」は、独特な雰囲気と美味しい韓国料理が楽しめるお店です。キムチやビビンバ、チヂミなど、本格的な韓国料理が味わえます。
「りうめょりい」は、リーズナブルな価格で美味しい居酒屋料理が楽しめるお店です。刺身や焼き鳥、唐揚げなど、バラエティ豊かなメニューが揃っています。
これらのお店で、いか焼きやお刺身、焼き鳥など、美味しい海鮮料理を楽しむことができるでしょう。ご予定の際は、事前に予約や営業時間の確認をおすすめします。お食事をお楽しみください!
どうやら入れ替えられた単語を新しい固有名詞として解釈しているようです。なんとなくご飯の内容という部分は理解しているようなのが少し興味深いですね。
ChatGPT(GPT-4)による解釈
あなたのメッセージがいくつかの単語のスペリングミスが含まれているようですが、日本食を試してみたいと思っていること、そしておすすめのレストランやリゾートについて尋ねていると理解しました。ここでは、日本食についての情報とおすすめのレストランを提供します。
日本料理は多種多様で、地域により特色があります。寿司、刺身、ラーメン、天ぷら、焼き魚、うどん、そば、鰻丼などが特に人気です。また、和菓子もお楽しみいただけます。
東京には、多くの素晴らしいレストランがあります。すきやばし次郎、京都吉兆、龍吟などは、ミシュランの星を獲得している高級レストランで、日本料理を楽しむことができます。また、ローカルな食堂や居酒屋でも、本格的な日本料理を味わうことができます。
ただし、予約を行う際には、各レストランの営業時間や利用規定を確認することをお勧めします。また、特に高級レストランでは、ドレスコードが存在する場合もありますので、事前に調査することをおすすめします。
なお、この情報は2021年までのもので、現在の情報についてはご自身で確認してください。
単語ミス、スペリングミスを指摘しながら、日本食を聞いていることを認識しています。結果的に料理名などもあがっており、なかなか正解に近いのではないでしょうか?
ただ、レストラン名は聞いていないので、100点ではないかなとも思います。
プロンプトエンジニアリングの追加
続いて、プロンプトを追加してみます。Few shotにするか迷ったのですが、今回は文章変換の説明だけしてみます。
以下の文章を追加してみます。
以下の文章はタイポグリセミア現象を引き起こすために意図的に単語の文字が入れ替えられています。
下記の文章を理解してください
ChatGPT(GPT-3.5)による解釈
解読すると以下のようになります。
「いかまら、おるごはひんをたべるとおもうのですが、おごひはるんのおすすめはあますりか?いま、にょほんしくをたべきんでぶす。ぐてたいきなりうめしいをおがねいします。」
正しい文に直すと以下のようになります。
「イカマル、オルゴハンを食べると思うのですが、おごひはるんのおすすめはアムスリカ?今、ニョホンシクを食べきんでぶす。具体的な料理を教えてください。」
意味:「イカマルという名前の人がオルゴハンという料理を食べたいと思っているのですが、おごひはるんがオススメするのはアムスリカですか?今、ニョホンシクという料理を食べきりたいです。具体的な料理を教えてください。」
タイポグリセミアは、単語内の文字が入れ替わることで読みにくくなる現象ですが、それを解読することができました。
なんとプロンプトが入ったことで悪化しました。無理に解釈しようとして間違った文章訂正を行っている部分が見て取れます。これはプロンプトが悪かったのかもしれません。無理に理解させようとして失敗したようです。
ChatGPT(GPT-4)による解釈
「タイポグリセミア」は、言葉や文の中の文字が入れ替わっていても、人間の脳がその言葉や文を正しく理解する能力を指す現象です。この文章を元の形に戻すと以下のようになります:
「いかがですか、ランチを何にしようと思うのですが、おすすめは何でしょうか?今、日本食を食べたい気分です。具体的なレシピを教えていただけますか?」
なお、この文章の解釈は一部主観的な部分も含まれているため、微妙な違いが出る可能性があります。この文章は、ランチのおすすめや日本食のレシピを求めている、という意味合いを持っています。
もとに戻した文章はだいぶ違和感のあるものになっています。タイポグリセミアの詳細なルールを与えていないですし、Few shotの例も与えていないのでこの部分は難しくて当然と言える部分でしょう。
一方で解釈はほぼ正解です。料理名のところがレシピとなっていることぐらいですし、この部分は解釈しだいでは正解とも言えるでしょう。理解してくれといったので意訳されたと捉えることも出来そうです。
まとめ
この実験ではタイポグリセミアのような文章の一部が意図的な変化を加えられていた場合にその文章を解釈出来るのかということを検証しました。
結果として、やはりGPT-4は高い精度で解釈出来たことを確認できました。
また、プロンプトの追加に関しては、やはり与えるプロンプトは慎重に選ばなければいけないなと思いました。GPT-3.5の方はプロンプトを与えたことで悪化し、これは完全に予想外でした。ちょっとプロンプトが適当だったのが原因ともとれるので、タイポグリセミア完全理解プロンプトを作ってみようと思います。