100万個の常識じゃ、まだ不足だからって、1億目指そうって、
そういうことじゃないんですよ。
そろそろ、気づきましょうよ!
ロボマインド・プロジェクト、第11弾
こんにちは、ロボマインドの田方です。
今回のテーマは、自然言語処理の意味理解です。
意味理解
自然言語処理は、50年以上、これにずっと悩まされてきました。
そして、今でも解決していません。
でも、僕から言わせたらね、みんな、根本的な間違いを犯しているんですよ。
なぜ、それに気づかないのか、不思議で仕方ないですよ。
どんな間違いを犯しているか、それを説明するために、まずは、自然言語処理とは何かについて説明したいと思います。
自然言語っていうのは、こうして普通に人が喋ってる言葉、日本語とか、英語のことです。
自然言語処理っていうのは、この自然言語をコンピュータで扱うっていうコンピュータ科学の一つです。
コンピュータは、数字を扱うのは得意です。
足したり引いたり、簡単にできます。
でも、言葉はどうやって扱っていいかわかりません。
そこで、まずは、言葉の意味を、コンピュータで扱えるように定義していきます。
その一例が、意味ネットワークです。
こんな風に、単語同士を関係をもたせて定義していくわけです。
関係は、2種類あります。
一つは、is-aの関係です。
is-aの関係っていうのは、「犬は哺乳類です」といったときの犬と哺乳類の関係のようなものです。
哺乳類の一種が犬といった関係です。
動物の一種が哺乳類という関係です。
もう一つは、part-ofの関係です。
part-ofの関係っていうのは、全体と部分のことです。
「目」は「頭」の一部で、「頭」は「動物」の一部ですって関係です。
これって、言ってみれば知識です。
常識といってもいいです。
こういった人が当たり前に知ってる常識をコンピュータに教えようとしてるわけです。
常識を教えるって、ちょっと考えても分ると思いますけども、かなりの量がありそうですよね。
この手の研究で有名なのが、サイクプロジェクトです。
これが、サイクプロジェクトの知識の例です。
「ビル・クリントンは米国大統領の一員だ」とか
「すべての木は植物だ」とか。
さっき説明した、is-aとpart-ofの関係で知識を書いていますよね。
このサイクプロジェクト、1984年から始まって、今でも続いているんです。
実に、35年以上も続いてるんです。
スゴイですよねぇ。
すでに、100万以上の知識が溜め込まれてるそうですけども、まだまだ、これじゃ、全然足りないそうで、1億の知識を目指してるそうです。
でも、人手で知識を書き出すには、かなりの人手が必要ですし、それには膨大なお金が必要です。
そこで、効率よく常識を登録する方法を考えた、別の会社があります。
マインドピクセルって会社です。
ここは、インターネットを使って、世界中から誰でも知識を登録できるシステムを作ったんです。
でも、ボランティアでそんなことしてくれる人、そんなに多くないですよね。
そこで、この会社、知識を登録するごとに会社の株を渡すことにしたんです。
上手くいけば、将来、莫大な資産になるかもしれないので、世界中から常識が登録されているようです。
上手く考えたもんですよね。
さて、ここからが本題です。
こうして、世界中で、知識や常識をコンピュータに教えているわけです。
それも、30年以上前から。
さて、それでは、いつ、人間と同じ知識が得られるんでしょう?
30年かけて無理なら、40年かければできるんでしょうか?
100万で足りないなら、1億なら十分って、本当に言えるんでしょうか?
もしかして、なんか、根本的なことを勘違いしてませんかねぇ。
たしかに、常識があれば、会話ができそうです。
アメリカ大統領は誰ですかって質問とか、答えれそうです。
IBMの人工知能、ワトソンは、人気クイズ番組、ジョパディで優勝しました。
すごいことです。
知りたいことを聞けば、何でも教えてくれるAIです。
でも、それが、僕たちが欲しいAIでしょうか?
僕たちが欲しいのは、普段、友達や家族と会話してるような、日常会話や雑談ができるAIですよね。
「今の総理大臣は誰ですか?」
「安倍晋三です」
そんな会話しかできない友達、いります?
そんなの、グーグルで十分ですよね。
ここで、前回の話に戻ります。
将棋と会話の話です。
将棋は、1対1で行うゲームです。
交互に駒を進めるゲームです。
将棋AIも会話AIも、どちらも人とのコミュニケーションと言えます。
でも、将棋AIは人間と対等、いや、それ以上にゲームができますけど、人間と対等に会話ができるAIはまだありません。
将棋が上手くできて、会話が上手くできない理由、何だったか覚えていますか?
そう、ルールと目的です。
将棋はルールと目的がはっきりしてますけど、会話は、よくわからないですよね。
ルールと目的が明確だから、将棋AIを作ることができたってことでしたよね。
将棋のルールって、何でしょう?
それは、駒の動きです。
飛車はどう動いて、桂馬はどう動くとか。
将棋の目的って何でしょう?
それは、相手の王将を取ることです。
もう一度、自然言語の知識について考えてみましょう。
犬は哺乳類だとか、目は顔の一部だとか。
単語の意味を関係で定義していましたよね。
これって、将棋で言えば、駒の動きのことと言えそうです。
つまり、言葉のルールは知識と言えそうです。
会話をするには、もう一つ、目的が必要です。
会話の目的って何でしょう?
それが、まだ、わからないのです。
会話の中でも、質問だと、目的ははっきりしています。
「日本の総理大臣は誰ですか?」とか。
これなら、知識を使って答えることができます。
でも、「今日、遠足に行ったよ。遠足でお弁当を食べたよ」
って会話には、なんて答えればいいんでしょう?
「お弁当にはおにぎりが入っています」
「おにぎりには梅干しが入っています」
「梅干しには、種が入っています」
知識を使って、そんなことを延々としゃべっても会話にならないですよね。
将棋で言えば、ただただ、動かせる駒を動かせるとこに移動させるてるだけです。
ルール通りに駒を動かしただけじゃ、ゲームにはならないです。
つまり、知識や常識を、いくら集めても、自然な会話はできないんです。
100万個の常識じゃ、まだ不足だからって、1億目指そうって、
そういうことじゃないんですよ。
そろそろ、気づきましょうよ。
なんで、こんな簡単なこと、30年、40年かけても気づかないんでしょうねぇ。
それも、MITとかの、超優秀な大学教授が、何十年もこんなことやってるんですよ。
MITって知ってます?
まちゃちゅーちぇっちゅ工科大学のことですよ。
どこにあるか知ってます?
まちゃちゅーちぇっちゅちゅうですよ。
まぁ、それはいいですわ。
とにかく、日常会話や雑談をするには、知識をいくら集めてもダメなんです。
膨大な知識があっても、どの知識を使うかわからないと、何の意味もないんです。
どの知識を使うかってときに必要なのが、目的なんです。
次に、どの駒をどこに動かすかは、相手の王将を取るって目的があるから決めれるんです。
会話で必要なのは、知識や常識でなくて、目的なんですよ。
自然言語処理が、最も力を入れて解明すべきなのは、会話の目的なんですよ。
ただ、それは、すでに僕が見つけてしまったんですけどね。
次回は、いよいよ、会話の目的についてお話したいと思います。
では、次回も、お楽しみに!