第3回 AIは、人が話す言葉をどのように理解するか

人の話す言葉というのは、とても不思議なもので、たいていの言葉は誰かがいつのまにか言い始めて、いつのまにかみんなが真似をするようになって普及する。毎年のように現れては消える新語も、誰が言い出したのかわからないことが多い。つい最近生まれた言葉でさえ、誰が言い出したのかわからないというのは凄いことだ。

ちなみに幸いなことに、本連載のテーマである「人工知能」という言葉に関しては出自がハッキリしている。ときは1956年。場所はアメリカ合衆国、ニューハンプシャー州のダートマス大学だ。
第2回「人工知能が描く絵を見れば、今の彼らになにができるかわかる」を読む

1ヵ月にも及んだ会議

ちょうど今から61年前の7月から8月にかけて、1ヵ月にも及ぶ壮大なブレインストーミングが行われた。

この会議の主催者はダートマス大学に在籍していたジョン・マッカーシー。彼は人工知能(Artificial Intelligence)という言葉を公に最初に使った人物であり、後に人工知能研究に盛んに使われることになるLISP言語の生みの親でもある。また、彼が提唱したタイムシェアリングシステム(1台のコンピューターシステムを複数のユーザーが同時に使用できるようにするシステム)は、現在、クラウドコンピューティングという形で今も我々の生活を支えている。

人工知能という言葉のコンセプトそのものはマッカーシーだけでなく、情報理論の大家クロード・シャノン、IBMの汎用コンピュータ開発者、ネイサン・ロチェスター、そしてニューラルネットワークの基礎理論をまとめたマービン・ミンスキーらとの共創から生まれたという。

AI研究の2つの方向性

この頃から既に人工知能研究には2つの方向性が与えられていた。ひとつは生物の神経細胞をシミュレーションして知能を追い求めるニューラルネットワークであり、これは現在のディープラーニングの直系の先祖と言える。もうひとつは、知識を体系化し、推論すれば人間と同等以上の知性に到達できるとする知識ベース処理である。

知識ベース処理の扱う範囲は非常に広いが、とりわけ人間が生まれた時から自然に身につけて話す言語(自然言語)をAIがどのように理解するか、いわゆる自然言語処理という分野は初期のAIの方向性を明確にする上で重要なものとなった。

知識ベース処理の最も原始的かつ実用的な形は現在は単純なゲームとして親しまれている。アキネイターは、単純な質問を繰り返して、本来人間が与えていない答えを導き出すゲームだ。このゲームではプレイヤーはまず有名な人物またはキャラクターを頭に思い描き、それから「ランプの魔人」の質問に順番に答えていく。

ランプの魔人の質問はこんな感じだ。

魔人 「女性?」
私  「はい」
魔人 「実際に存在する?」
私  「はい」
魔人 「日本のテレビCMに出ましたか?」
私  「はい」
魔人 「ドラマでキスをしましたか?」
私  「はい」
魔人 「アダ名で呼ばれていますか?」
私  「いいえ」
魔人 「くちびるに特徴がありますか?」
私  「はい」
魔人 「校閲ガールに出演していましたか?」
私  「はい」
魔人 「あなたが思い浮かべているのは石原さとみです」

見事、私が思い描いた石原さとみを当てられてしまった。
このランプの魔人の受け答えは、まさしく知識ベース処理の成果である。

膨大な可能性の中からできるだけ少ない質問数で可能性の枝を絞り込み、正解にたどり着く。専門用語ではこうした方法を後ろ向き推論と呼ぶ。

ちなみにクイズで人間に勝ったIBMのワトソンも原理的には同じ仕組みだ。
知識ベース処理は、こうした遊びだけでなく、たとえば病院の問診や企業のサポートなどにも使うことができる。

一大ブームの後にぶちあたった壁

こうした知識を体系化し、目的の知識に素早く到達するためのシステムをエキスパートシステムと呼び、80年代には一大ブームを巻き起こした。

しかしすぐにエキスパートシステムは行き詰まってしまう。知識ベース処理の壁にぶち当たったのだ。

その壁とは、知識を体系立てて入力する手間がとんでもなく膨大であるということだ。タレントを当てるくらいならまだたやすいが、病気の問診の知識も日々進化しているので新しい知見を知識ベースに反映するのに何ヵ月も何年もかかってしまったらたまらない、というわけだ。

エキスパートシステムは図らずも知識ベース処理の限界を露呈し、これが第二次人工知能ブームが終焉を迎えるきっかけになった。

しかし人工知能の研究者たちは諦めなかった。知識ベースを作る手間が膨大なのであれば、知識ベースを作る作業そのものを機械にやらせれば良い。人間のように思考する機械を作ろうとする人工知能研究者ならば当然その結論に到達する。

知識は本や論文の形であちらこちらにあるではないか。ではそれを機械が読むことができれば、自動的に知識ベースが構築できるはずだ。

第二次人工知能ブームの終焉以降、人工知能研究者の大半が自然言語処理へ向かう動機はこんなものだったかもしれない。

今も全世界の人工知能研究者の大半は、この自然言語処理に何らかの形で関与していると考えられる。

自然言語処理がすべてを解決してくれる?

自然言語処理というと言葉は難しいがやっていることはそう難しいことではない。まず、自然言語を品詞に分解し、分解した品詞同士の関係性を類推して構文木を構築する(構文木とは、いわゆるツリー構造のこと)。

これを構文解析という。品詞がスペースで分解される欧文と違い、日本語や中国語はまず品詞に分解する必要があり、これを形態素解析と言う。

自然言語から正しい構文木が構築できれば、「AはBである」「BはCである」「ゆえにAはCである」という三段論法も使えるし、構文木を利用すればある言語を他の言語に翻訳することも可能だ。これは自然言語から機械が意味を読み取れているんだから、機械は自然言語を理解していると言えるかもしれない。

なるほど、確かに理にかなってるように思える。

しかし自然言語は、構文木さえ正しければ正しい理解が得られる、というほど単純なものではない。以下の2つの英文を見てみよう。

We gave the monkeys the bananas because they were hungry.
(猿が腹を空かせていたので、バナナを与えた。)

We gave the monkeys the bananas because they were over-ripe.
(バナナは熟れ過ぎていたので、猿に与えた。)

※「https://ja.wikipedia.org/wiki/自然言語処理」より引用

この2つの英文は、構文木上は全く差異がないが、1つ目の文の代名詞theyは猿であり、2つ目の文の代名詞theyはバナナである。

theyがバナナであるか猿であるか決めているのは最後の単語(hugryまたはover-ripe)だが、このtheyを正しく解釈するためにはお腹を空かせるのはバナナと猿ならどちらかというと猿のほうであり、熟れ過ぎるのは猿というよりはバナナである、という人間なら常識としてもっている知識が必要になる。

人間は完璧ではないのだから

文章から知識を覚えさせようと思ったのに、文章だけからは学び取ることができない知識をどうやってAIに教えればいいというのか。

これが従来からの自然言語処理の目下の限界であると言われている。ここで自然言語処理に関する研究は一度停滞してしまったのだ。

ここまで説明してきた自然言語処理の問題点は一体なんだろう?
それは完璧すぎるということだ。

知識ベースにしろ、構文解析にしろ、ここまでの人工知能は全て完璧な知識や完璧な文章というものがあるという前提で設計されている。

しかし実際には文法上は正しくても意味としては間違っていたり、時には矛盾したり、ミスタイプしたりすることもある。そもそも人間は完璧ではないし、実際の自然言語は完璧とは程遠いのだ。

それでは現代の人工知能研究者はどうやってこの壁を乗り越えたのだろうか?
続きは次回お話しよう。

<今回のまとめ>
●「人工知能」という言葉が生まれたのは61年前
●人工知能研究には「ニューラルネットワーク」と「知識ベース処理」の2つの方向性がある
●知識ベース処理は、自然言語処理とともに研究が進められてきたが、限界が出てきた