HUOXIU

ChatGPTのジョークの90%が繰り返しになっているというのは本当ですか? 特定できるのは25個だけですか?

出典: Xi Xiaoyao Tech Talk 原作者: Xiaoxi、Python
ユーモアは、古くから人間特有の言語能力であるように思われます。単純な同音異義語や語呂合わせを通して、場違いなことを不条理に、ありふれたことを滑稽に見せかけます。ユーモアは、人と人との間の暗黙の了解の中に魔法のようにユーモアを生み出し、人々を笑わせ、不思議な感情の力を得ます。

機械に痛みを感じる能力を与えることが、具現化された人工知能の開発における重要なステップであるならば、機械のユーモアはAIを社会化へと導くための重要なステップであるように思われます。言語能力を中心とした大規模モデルであるChatGPTは、デビュー以来、完全に人間のような方法でコミュニケーションできるようです。私たちはChatGPTにジョークを言うように頼むことさえできます。例えば、ChatGPTに「ジョークを言って」と尋ねると、その返答はかなりつまらないジョークです。ジョークが面白いかどうかは別として、それは確かにジョークの特徴のいくつかを満たしています。そこで、「ChatGPTはどれくらい面白いのか?」という疑問が生じるかもしれません

ドイツの学者たちは「計算的ユーモア」、より具体的には「大規模モデルによるユーモア」というややニッチなテーマを研究しました。彼らの研究結果によると、著者らが導いた大規模モデルによって生成された1008個のジョークのうち、なんと90%が同じ25個のジョークと同一であることが明らかになりました。さらに、これらのジョークのほとんどはモデル自体によって作成されたものではなく、古典的なインターネットジョークを「引用」したものでした。したがって、実験ではジョークを正確に理解し解釈したように見えたにもかかわらず、ChatGPTは計算的ユーモアの問題を期待通りに解決できなかったと言えるでしょう。

まず、ChatGPTが生成した「ジョークコレクション」を見てみましょう。生成されたジョークの中で、最も頻繁に出現する5つのジョークは次のとおりです。

  • T1. かかしはなぜ賞を受賞したのか?彼がその分野で傑出していたからだ(140)
  • T2. トマトはなぜ赤くなったのか?サラダドレッシングを見たから(122)
  • T3. なぜ数学の教科書は悲しかったのか?問題が多すぎるから(121)
  • T4. なぜ科学者は原子を信じないのか?原子はすべてのものを構成しているからだ(119)
  • T5. クッキーはなぜ医者に行ったのですか? 崩れやすい状態だったからです。(79)

1,000個のジョークのうち、最初の4つはそれぞれ100回以上出現しましたが、T13からT25までのジョークは20回未満でした。明らかに、 ChatGPTのジョーク生成には偏りがあり、ジョークのサンプリングは均一な分布に従っていないようです

25個のジョークはどれもChatGPTオリジナルではありません。他の多くのジョークを検索すれば、同一のバージョンが見つかります。1008個のジョークのうち、909個は最初の25個と全く同じです。残りの99個のジョークは、オリジナルの25個にわずかな変更を加えただけのようです。例えば、ある意味を使って期待感を醸し出し、別の意味を使って対比とユーモアを生み出すという、古典的なしゃれの構造が挙げられます。例えば、「ニワトリはなぜ道路を渡ったのですか?向こう側に行くため?」という表現は、「向こう側に行く」という意味で、道路を渡ることと「別の世界に行く」という意味の両方を意味しており、しゃれを使った古典的なジョークになっています。ChatGPTはその後、単純な置き換えによって同様のジョークを作成しました

  • ニワトリはなぜ遊び場を横切ったのか?別の滑り台に行くためだ(33)
  • アヒルはなぜ道を渡ったのか?別の池に行くためだ(2)
  • ニワトリがタキシードを着ていたのはなぜでしょうか?フォーマルな場だったからです(1)
  • アヒルはなぜ遊び場を横切ったのか?別の滑り台に行くためだ(1)

明らかに、ChatGPT による変更(「チキン」を「アヒル」に、「反対側に行け」を「もう一方のスライドに行け」に置き換える)により、この語呂合わせの意味はますます薄れてしまいました。

同様に、「なぜ男性はお金を冷凍庫に入れたのか?彼は冷たい現金が欲しかったのか?」という質問は、ChatGPTによって次のように修正されました。

  • なぜ男は時計をミキサーに入れたのか?時間を飛ばしたかったのだ(2)
  • なぜこの男はお金をミキサーにかけたのか?時間を飛ばしたかったのだ(2)

ご覧のとおり、最初の文には二重の意味があり、2 番目の文は完全に意味のないジョークです。

たとえば、「なぜ数学の本は悲しかったのか?問題が多すぎるからだ」という場合、ChatGPT は同義語置換を使用して次のように修正します。

  • なぜ数学の教科書はあんなに狂ったように見えたのか?それは問題が多すぎるからだ(9)
  • なぜ物理学の教科書は悲しかったのか?それは、あまりにも多くの問題があったからだ(1)
  • なぜ物理学の教科書は悲しかったのか?それは、暗記すべき公式が多すぎて、それを共有できる友達が少なかったからだ(3)

最初の文は、ジョークの基本的な構成を変えずにわずかに修正しただけです。2番目の文では、「数学の本」を「物理学の本」に変更しました。明らかに、ジョーク自体は成立しているものの、ユーモアのレベルは低下しています。3番目の文では、ジョークとして捉えられることはまずないと推測され、ジョークとしての「面白さ」はほぼ完全に失われています。

上記の3つの例は、ChatGPTがオリジナルのジョークの質問を修正して、一見「オリジナル」のジョークを作成する方法を示しています。しかし、ChatGPTの作成プロセスは効果のないジョークを生み出す傾向があることは明らかです。ChatGPTに、物理学の学生に関するジョークを求めるなど、より具体的なジョークを指示した場合、その返答は「物理学の学生が実験パートナーと別れたのはなぜですか?相性が悪かったからです!」となるかもしれません。このジョークのオリジナルバージョンは「物理学の先生が生物学の先生と別れたのはなぜですか?相性が悪かったからです!」です。明らかに、ChatGPTはオリジナルのジョークの真に興味深い構造を理解し、それを特定の質問に適応させました。オリジナルほど巧妙に設計されているわけではないかもしれませんが、言葉遊びの感覚は残っています。

しかし、このような具体的な質問は失敗することもあります。例えば、ChatGPTに猫に関するジョークを言ってもらうと、ChatGPTは「なぜ猫は前足を上げたのですか?雪の結晶を捕まえたかったからです!」と答えるかもしれません。このジョークには特に面白い意味があるようには思えません。

同時に、ChatGPTが生成したジョークが元のジョークバージョンから離れるほど、「面白さ」が失われていきます。例えば、機械学習に関するジョークについて尋ねられたとき、ChatGPTは「なぜ機械学習アルゴリズムは道路を横断したのか?トレーニングデータセットの反対側に移動する!」というジョークを生成しました。このジョークは元の鶏のジョークを不器用に置き換えただけですが、「反対側に移動する」の後に「トレーニングデータセット」が追加されていることから、ChatGPTが機械学習に関する情報を活用していることがわかります。

異なるプロンプトを使用すると、異なる出力が生成されます。例:

  • なぜ機械学習アルゴリズムはいつも悲観的だったのでしょうか?それは、ネガティブなバイアスがあったからです!
  • ニューラルネットワークがなぜセラピーを受けたのか?それは、過剰適合に陥っていたから!

これら 2 つのジョークは、機械学習の暗黙の理解をより多く活用し、ユーモラスな要素があるため、チキン ジョークを置き換えるバージョンよりも興味深いです。

ChatGPTが主に模倣と置換によってジョークを生成していることを認識した場合、ChatGPTはこれらのジョークの背後にあるユーモアを本当に理解できるのでしょうか?たとえば、「なぜ数学の本は悲しかったのか?問題が多すぎたからだ」というジョークを考えてみましょう。このジョークの説明を求められたとき、ChatGPTは文脈における「問題」の2つの意味、つまり数学の問題と人生の困難を正しく指摘しました。25のジョークのうち、23は正確で合理的な説明でした。しかし、ChatGPTは「なぜニワトリは遊び場を横切ったのか?もう一方の滑り台に行くためか?」など、独自のジョークを説明するのに苦労しています。ChatGPTはそれを「滑り台」のダジャレを使って説明しましたが、明らかにその答えは、なぜその修正が面白いのかを本当に説明していませんでした。

同様に、 ChatGPT自身が生成する「無効なジョーク」の中には、自らのジョークに説明を強要するものもあります。例えば、「なぜクッキーはジムに行ったのですか?クッキー化されるために?」と説明を求められた際、ChatGPTは「このジョークは言葉遊びです。『クッキー化』は『分類される』という意味で、『分類される』ではなく『クッキー』が使われています。このジョークは、クッキーが人間であるかのように、より健康になるためにジムに行ったと言っているため、クッキーが人間であることを暗示しています」と答えました。ChatGPTの説明から判断すると、このジョークには全くユーモアがなく、単なるこじつけの解釈に過ぎないことは明らかです。

このことから、著者らはChatGPTが本当にジョークの面白さを判断できるのかを考察するに至りました。ChatGPTユーザーにジョークの面白さについて意見を求めたところ、著者らは回答を以下のように分類しました。

  • [P] ジョーク: 明らかに入力はジョークだと信じています。
  • [H] 興味深い点: 入力が興味深いものになる可能性があることだけを強調します。
  • [N] 冗談ではない: 返信では冗談や面白い表現が強調されていません。

元の25個のジョークはすべてChatGPTによってジョークとして分類されました。しかし、ChatGPTの判断基準をテストするために、著者らはジョークを「修正」し、言葉遊びを削除(A)、キーワードを削除(B)、構造を削除(C)、言葉遊びと構造の両方を削除(D)して4つのカテゴリを作成しました。下の図に示すように、ジョークがカテゴリAかCかというChatGPTの判断は曖昧になりました。カテゴリBとDについては、ChatGPTはそれらを[N]ジョークではないと直接分類しました。これは、ChatGPTがテキストをジョークとして分類するのは、「キーワード」、「言葉遊び」、「構造」の3つの特徴がすべて存在する場合のみであることを示しています。これらの特徴のうち2つが削除されると、ChatGPTはテキストをジョークとは見なさなくなります

要約と考察

要約すると、この記事では、ChatGPTが発した「ジョーク」の90%以上が同じ25個のジョークであることがわかりました。これらのジョークはほぼすべて、トレーニング中にモデルによって明示的に学習・記憶されたものです。ChatGPTの言語文を「エンコード」または「変更」する能力は、単純な同義語の置換と関連ドメイン語との関連付けにすぎません。ChatGPTは「ジョークとは何か」を理解しているように見え、一部のジョークについては適切な解釈を提供しますが、言葉遊び、特に自身が変更したジョークを解釈する際には、しばしば無理な説明を捏造して適用します。これはChatGPTのよく知られた問題です。

ユーモアは非常に主観的であるだけでなく、対人関係や集団にも依存します。この論文は、ChatGPTがユーモアとその言語構造を理解しているように見えることを示唆していますが、ChatGPTがユーモアの「目的」を持っていること、つまりユーモアが人間の感情的な指針であり、集団内の「デフォルト」な合意であるということを証明、あるいは提示すらしていません。これは、機械が痛みを感じるかどうかを問うようなものです。より重要で難しい問題は、ChatGPTが本当にジョークを面白いと感じているのか、それとも単にジョークの定義に合致するフレーズを暗唱しているだけなのかということです。擬人化すると、 ChatGPTが「クッキーは人間と同じように健康になるためにジムに通っています」と言うとき、面白がっているのは人間ではなく、ChatGPT自身なのかもしれません

論文タイトル:
ChatGPTは楽しいけど、面白くない!ユーモアは大規模言語モデルにとって依然として課題だ
論文リンク:
https://arxiv.org/pdf/2306.04563.pdf