第122回 「風が吹けば桶屋が儲かる」をAIは理解できるか 後編


ロボマインド・プロジェクト、第122弾!
こんにちは、ロボマインドの田方です。

たしか、中学校のときやったと思います。
バスで遠足に行ったんですよ。
窓から外みてたら、桶屋を見つけたんですよ。
なんかね、ショーウィンドウがあって、そこに、いろんな大きさの桶を飾ってるんですよ。

わぁ、あれ見て!
桶屋や。

あれで、儲かるんかなぁ。
風吹いてへんから、誰も買いに来てへんなぁ。

そんなこと、みんなでワイワイ言うてたんですけどね。
人生で、桶屋を見たのは、後にも先にも、それ一回きりでしたわ。

前回、第121回「『風が吹けば桶屋が儲かる』をAIで理解させる」の続きです。
やりたいのは、AIで理屈を理解させることです。
ところが、これが、意外と厄介でしたよね。
理屈の理解って、あぁすればこうなるって原因結果を並べて繋げていけばいいわけやないんですよ。

原因結果ってね、文で説明できるっわけじゃないんですよ。
なにをせなアカンかっていうと、その原因結果が属する世界で定義する必要があるんですよ。

たとえば、前回は、風が吹いたら、砂が目に入るってとこを解説しました。

砂が舞うとか、砂が目に入るってことを理解するには、3次元世界の振る舞いを再現する必要があるんです。
そのために、3次元のシミュレーションができるゲームエンジンを使って理解しました。

こうやって、風が吹いて、失明して、三味線弾きが増えるとこまで、前回、説明しました。
次は、三味線弾きが増えると、猫が減るってとこです。
ここ、ネコ好きとしては、いろいろ、思うとこはあるんですけど、そこは置いときます。

まず、三味線を思い浮かべます。
これは、3Dオブジェクトで三味線を生成するわけです。
3Dオブジェクトはパーツで構成されてます。
棹とか胴とかバチとかです。
各パーツには色とか材料のプロパティが設定されてます。

意味を理解するっていうのは、文で表現されているものを、頭の中で組み立てて、それがちゃんと繋がれば理解できたと言えるわけです。
繋がらなければ、意味が分からないとなるわけです。

それでは、三味線と猫が繋がるかやってみましょう。
三味線のパーツを辿って、そのプロパティを順番に検索していくんです。
すると、材料に猫の皮ってのが見つかりました。
これで、三味線と猫が繋がりましたよね。

次は、三味線弾きが増えると、なぜ、猫が減るかって理屈の理解です。
猫の皮が必要ってことは、猫が一匹亡くなったってことです。
だから、猫の数が減るわけです。

これ、人間にとったら当たり前ですけど、これをコンピュータにこれを理解させるにはどうすればいいでしょう?

まず、猫の皮と、猫が死ぬという出来事を結び付ける必要があります。
そのためには、動物は死ぬということを理解できてないといけないです。
さて、これをどう理解させましょう。

まずは、生物は状態が変化するという知識を持たせておきます。
動物なら、赤ちゃんで生まれて、成長して大人になって、年とって死ぬとかです。
生物は時間に沿って変化するってことです。
これは、頭のなかに、時間軸って基本構造があるとも言えます。

もう一つ必要な基本構造は、概念ツリーです。
第98回「ロボマインド・プロジェクト 敗北」でも説明しましたけど、あらゆる単語は概念ツリーで管理します。

例えば、猫は生物概念以下となります。

次に、皮は、「材料・原料」概念以下となっていて、それは「無生物」概念以下となっています。

ここから、猫は生物で、皮は無生物と分かります。
生物は、生きてる状態と死んでる状態がありましたよね。
概念ツリーから皮は無生物となるので、死んでる状態と言えます。

さっき説明しましたけど、生物は時間軸に沿って変化して、最後は死んだ状態となります。
これらから、猫の皮が存在するということは、生きてた猫が死んだと推測できるわけです。
これだけの知識があって、ようやく、三味線と猫の死が結びつきました。

さて次は、比例の法則です。
目が見えない人がふえると、三味線弾きが増えるとか、
三味線弾きが増えると、猫が減るとかです。
この理屈を理解していきましょう。

第108回「なぜ、人は、効かないとわかってるのに、猫除けのペットボトルを置き続けるのか?」でも説明しました。
ここで話したのは、人間の推論とか、考え方の癖でした。
科学的とか数学的に正しかどうかじゃなくて、人の思考のパターンの話です。

そのうちの一つとして属性比例の法則ってのがあります。
その物のある属性が大きくなれば、別の属性も大きくなるって法則です。
物体があって、大きさが大きくなれば、重さも大きくなるとかです。
絶対正しいとは限りませんが、まぁ、そうだろうってことです。

今回も、これに当てはめていきましょう。
三味線弾きって職業の属性として、目が見えない人が多いとあるとします。
属性比例の法則から、目が見えない人が増えると、三味線弾きが増えるとなるわけです。

三味線弾きは三味線を持ってます。
これも、属性比例の法則から、三味線弾きが増えると、三味線が増えるとなります。

さらに、さっき説明しましたけど、三味線が存在するということは、猫が死んだということです。
だから、三味線の数が増えると、猫の数が減るとなるわけです。
これで、猫の数が減るとこまで意味理解できました。

次は、ネズミです。
猫が捕まえるの意味を理解します。

動く生き物がいるとします。
これを前状態とします。
次に、その生き物がいなくなることを後状態とします。
この前状態から後状態の変化のことを、「捕まえる」の意味とします。

ネズミは動く生き物の下位概念なので、「ネズミを捕まえる」は正しい文です。
ネズミを捕まえると、ネズミがいなくなります。

猫はネズミを捕まえます。
属性比例の法則から、猫が増えると、ネズミが減ります。
逆に、猫が減ると、ネズミが増えます。
これで、ネズミが増えるとこまで意味理解できました。

あと少しです。
次は、ネズミが桶をかじるです。
これは、ネズミの特性として、「[具体]をかじる」と登録しておきます。
あらゆる単語は概念ツリーで管理されています。
単語のすぐ下の概念は、「具体」と「抽象」です。
抽象は、「美しい」とか「歩く」といった言葉です。
具体というのは、要するに、手で触れるもの全部ってことです。
具体の下位概念に、「桶」もあるので、「桶をかじる」は、正しい文です。

次は、「かじる」の意味です。
かじるの意味には、削るとか、穴をあけるとか、いろいろ意味が考えられます。
でも、一番重要なのは、いいことなのか、悪いことなのかです。
かじった対象物がプラスになるのかマイナスになるかです。
「かじる」は、明らかに対象物がマイナスになりますよね。

プラスになるのか、マイナスになるのか。
これに対応させることが、意味理解の最も基本です。

さて、ネズミにかじられることで桶がマイナスとなりました。
損傷したわけです。

人間の損傷は病気やケガです。
病気やケガの場合、やるべきことは治療です。

物の損傷の場合、やるべきことは修理や買い替えです。
これを登録しておくわけです。
すると、桶をかじられると桶を買い替えるとなります。

次は、物を買うと、その物を売った店が儲かると登録しておきます。
これで、桶屋が儲かるとなるわけです。

長かったですねぇ。
これで、風が吹いたら桶屋が儲かるが、全て繋がりました。

これが理屈を理解するということです。
人間なら、すぐに理解できることでも、これだけの処理が必要なわけです。
これが、自然言語処理の本当の意味理解です。
そして、これをやってるのが、ロボマインド・プロジェクトです。
良かったらチャンネル登録お願いします。
また、この動画が面白ければ高評価ボタンもお願いします。
それでは、次回も、お楽しみに!