おバカAI仕様3 笑いをコンピュータで計算する
「前回」は、言葉のポテンシャルエネルギーについて説明しました。
笑いには、ポテンシャルエネルギーが高い言葉が必要という話でした。
プログラムで笑える文を生成するには、この言葉のポテンシャルエネルギーを計算する必要があります。
そこで今回は、コンピュータで計算できるようにポテンシャルエネルギーを定義し、前回の例文のポテンシャルエネルギーを計算してみます。
「前回」、ポテンシャルエネルギーの高い言葉の説明として、価値が低いとか、見下す存在の二つを例に挙げました。
これらを、ポテンシャルエネルギーのベクトルと呼ぶことにします。
それでは、ポテンシャルエネルギーのベクトルをコンピュータでいかにして計算するかについて説明します。
まずは、今、出てきた二つのベクトルです。
1.価値が高い → 価値が低い
「→」の向きは、「低ポテンシャルエネルギー → 高ポテンシャルエネルギー」となります。
「ダイヤモンド」より「葉っぱ」の方が、金銭的価値が低いので、ポテンシャルエネルギーは高くなります。
ほとんどの物の価値は、お金に換算できるので、データベースに価値や金額を設定することで、ポテンシャルエネルギーを計算することが可能となります。
2.憧れの存在 → 見下される存在
これは、「頭のいい人 → 頭の悪い人」、「かっこいい人 → かっこ悪い人」、「品のある人 → 品のない人」といったベクトルになります。
これは、なんとなくわかりますよね。
人間の価値について、職業、地位、容姿などの価値を設定することで、ある程度ポテンシャルエネルギーを計算することができます。
次に、これ以外の重要なベクトルについて説明していきます。
3.抽象 → 具体
抽象的な言葉より、具体的な言葉の方がポテンシャルエネルギーが高くなります。
「魚類 → ほっけ」、「食品 → ほっけ」となります。
「お父さんが、食品を持って迎えに来た」では、あまり面白くありません。
オチは、具体性の高い言葉のほうが面白くなります。
これは、概念ツリーを使えば計算可能です。
概念ツリーは、「言葉の意味をどう定義するか」で説明しましたが、単語を上位概念から下位概念にツリーで管理します。
「料理」の下位概念に「麺類」があり、「麺類」に属する単語として「ラーメン」があるといった風に管理します。
下位概念に属する単語の方がポテンシャルエネルギーが高いと計算できます。
4.身体に近い → 身体から遠い
最後は、身体の距離に関するベクトルです。
ちょっとわかりにくいですが、これが一番重要です。
いくつか、例を見ていきましょう。
「上着 → 下着」
上着より、下着の方が身体に物理的に近いので、ポテンシャルエネルギーが高くなるということです。
身体距離ベクトルを使った笑いで一番わかりやすいのが下ネタです。
子供は、「うんこ」や「パンツ」と言うだけで、キャッキャッと喜びます。
これは、「身体に近い言葉はポテンシャルエネルギーが高い」で説明できます。
「勉強する → 食べる」
「食べる」の方が、身体に近いので、勉強するよりポテンシャルエネルギーが高くなります。
「校長先生が、校長室で、教育の勉強をしていた」より、「校長先生が、校長室で、つけ麺を食べていた」の方が話として面白いのは、「勉強する」より「食べる」の方が身体に近いからです。
「前回」のおやじギャクの例でいえば、「アルミ缶の上にあるミカン」の「ミカン」より、「こんばんわき毛」の「わき毛」の方が、身体に近いので、ポテンシャルエネルギーが高いといえます。
身体への近さは、Has-aツリーで計算できます。
「言葉の意味をどう定義するか」で説明しましたが、Has-aツリーは、「『自動車』は『タイヤ』を持つ」といった風に、「〇が△を持つ」といった形式でデータを管理します。
人間の身体のHas-aツリーを使えば、身体への近さを計算することができます。
5.漢字 → カタカナ → ひらがな
そのほかの細かいベクトルとして、文字種が考えられます。
「漢字」や「カタカナ」に比べて、「ひらがな」のほうがポテンシャルエネルギーが高くなります。
音の響きとか、感覚的な細かいベクトルは、その他にも様々存在すると思いますが、ここでは、文字種だけ挙げておきます。
さて、以上のベクトルからポテンシャルエネルギーを計算すると、「ほっけ」のポテンシャルエネルギーがいかに高いかがわかります。
「ほっけ」は高級魚ではないので、金額的な「価値」は低く、ポテンシャルエネルギーは高くなります。
「食品」や「魚」といった抽象的な言葉ではなく、具体的な魚の名前なので、ポテンシャルエネルギーが高くなります。
「食べ物」に関することで、「政治」や「スポーツ」といった言葉より身体に近い言葉なので、ポテンシャルエネルギーが高くなります。
「ひらがな」で表記されるので、「鮭」や「ブラックバス」よりポテンシャルエネルギーが高くなります。
このようにして、複数のベクトルから「ほっけ」のポテンシャルエネルギーを計算するとかなり高くなります。
言葉をベクトルに分解することによって、コンピュータでポテンシャルエネルギーが計算できるのです。
それにしても、「ほっけ」がこれほどすごい魚だったとは、思ってもみなかったですよねぇ。
次回は、「笑い」と「物語」について説明します。