人工無脳は考える | 掲示板 | 資料 | アーカイブ

世界を知覚する人工知能

Next Session:社会の中の人工無脳

マイクロワールドは積み木の世界11T. Winograd, "Procedures as a Representation for Data in a Computer Program for Understanding Natural Language", J. Cognitive Psychology 3[1] 1972に代表されるようなシステムで、人工知能が全てを把握できる程度に単純化された世界を提供することで三次元的なさまざまな推論を実際に行わせてみようとする試みである。Terry WinogradらのSHRDLU の例では床といくつかの積み木だけが存在する空間において、崩れないような積み木の組み方を人工知能に考えさせるというものであった。この考え方のポイントは二つあって、ひとつは現実世界があまりにも複雑過ぎて人工知能の認知が追いつかないことから、それを逆にとって単純世界を用意するという考えと、我々が現実世界で積み木遊びをしているときにも心の中には同様の単純化されたマイクロワールドが作られ、そこで推論した結果に基づいて行動しているはずだという考えである。いずれにしても我々の脳は外からくる情報をすばやくふるいにかけて重要な部分だけに注目するという優れた機能があって、それをプログラム化するのが極めて困難であるということであるが、視点を変えてみるとこれまでは人工知能を現実世界に放り込むための努力が脈々と続けられてきたわけであるがマイクロワールドの考え方を進めれば逆にマイクロワールドに人間を放り込むことによって人工知能と対等の立場にたつことができるのではないだろうかということが考えられる。サイバーパンク系SFなどで好んで取り上げられる電脳空間などはそうしたものの一種といえるだろう。

我々がチャットする場合もチャットそのものは端末の前に貼り付いていて周りの環境などあまり関係ないようにも思われるが、チャットの中で展開される会話は今日あった出来事などユーザの世界を記述する作業であり、世界を切り離してしまうと何も語れなくなると思われる。それが慢性的に人工無脳にも生じている問題で、要するに人工無脳は生活していないのでしゃべるネタもないわけである。Brooksは「人工知能には身体感覚が必要だ」と語ったが、これもその一端かもしれない。

舞台装置つき人工無脳

人工無脳が生活するために、マイクロワールドを人工無脳向けにアレンジしてみよう。ひとつの例としてNoelの会話システム22Noelでは自室で机に座っているキャラクタがTV電話を前にしているという設定で、PCの画面にはキャラクタのバストショットと会話の状態が表示されている。そこで選択肢型の会話ができるのアプローチは極めて興味深いが、ここではもう少しユーザを人工無脳側に引き込むために、TVのトークショーや映画のメタファーでアクター(人工無脳)+セット(環境)と、それを訪れた訪問者(ユーザ)という構成を、以下では中庭とその管理人を例に考えてみよう。

最も単純化されたセットは一区画の中庭である。人工無脳は中庭においてある植物や置物の管理をして生活しており、ユーザは中庭を訪れた客人である。中庭には天候の変化や季節の変化があり、ユーザがいないときにはたぶん人工無脳は草木に水をやったり掃除をしたり読書をしたりしているのであろう。そしてユーザがくると人工無脳はそれらの仕事を打ち切ってもてなしてくれる。もてなしている間であっても急に雨が降ってこれば人工無脳は片付けをしたり傘を出したりするのだろう。時には体調を崩して寝込んでいたり、花の種を買いに外出しているかもしれない。人工無脳は当然植物に関する知識を豊富に持っており、そういった話に興味を示す。さて、このようにさまざまな要因が複雑に絡むシステムをうまいこと作るにはサブサンプションを参考にするのが手ごろであろう。以下に処理の流れを示す。
Fig. 1. 行動のカスケード
この図ではひとつの四角が処理の単位となっており、左上から右下に向かって処理が進められる。四角の下から線が出ている場合は現在のモジュールで特にすることがなければ上流から受け取ったメッセージを下流に流すことを意味し、右から線が出ている場合はそれより下流の処理をしないことを意味する。

[環境]は天候や日照などに関するメッセージを、[ユーザ]はユーザの発言内容をメッセージとして下流に流す。環境メッセージは通常ユーザの発言よりも優先して下流に流される。入力段で生成されたメッセージは出力段が受け取る。[外出]は何らかの理由で人工無脳がセット内にいないとき、下流の動作を抑制する。[病気]と[発話]は水遣りや模様替えと同時に行われてもおかしくないので右から出る線は書かれていない。お客がいるときには最低限人工無脳は[接待]を行ない、ユーザの近くに来たりお茶を持ってきたりしてくれる。ユーザがいないときにはそれより下流の[読書]や[休憩]など待機動作をしている場合がある。

それぞれをもう少し詳しく考えてみよう。例えば[水遣り]には乾燥度のカウンターがあり、水遣りに処理が回ってくるたびにカウンターをインクリメントする。カウンターの値が閾値を超えると水遣り動作を行なってカウンターの値をいくらか減らす。上流から降雨メッセージが流れてきたときはカウンターをリセットする。といった具合である。[模様替え]は過去の模様替えからの経過時間が閾値を越えたとき、またはユーザの要求があったときに模様替えを行う。ここで模様替えをしている最中でも乾燥が進めば水遣りが優先的に動作し、そのあいだ模様替え動作(および下流の動作)は抑制されている。

ここでは中庭を例に用いたが、これ以外に古本屋や古道具屋と店員、受付ブースと受付嬢、天文台と観測員、博物館と学芸員、エキセントリック気味に手術室と医者など人と情景につながりがあるものは容易にモデルを想像できるだろう。なお、出力段で生成された状況の変化はグラフィックで反映することも可能であるが、テキストでその様子を描写するのも小説やTRPGのようで面白い。

環境によるそのほかの効用

人工無脳に環境を用意してやることで、ユーザをこちらの世界に引き込むこと以外にどんな効果があるだろうか。まず人工無脳の職業が明確になるため、職業に関する専門知識をとりあえず持たせられる。中庭には植物がたくさんあり、中庭を訪れたユーザはその様子を見て行動するのだから、植物がらみの話題が多くなる傾向はあるだろう。我々でも動物園へ行けば動物の話をし、植物園へ行けば植物の話をするものである。したがって辞書に書き込むせりふを特化させることが容易になり、辞書の作成も楽になると考えられる。次にある程度実用的な意味を人工無脳にもたせることができる。植物であれば今の季節にもうすぐ咲く花を教えてくれたり、本屋であれば今日発売される雑誌を教えてくれたり、人工無脳製作者が自分のサイトで取り上げている趣味的なトピックを提供してくれたりできるだろう。さらにしゃべる以外の人工無脳の生活に触れることができる。これは環境つきデスクトップマスコットなどではいくつも実装された例があり、キャラクタに親近感を持たせる助けとなるだろう。

だが人工無脳に世界を用意してやることの本当の意味は「動機付け」にあると思われる。人工無脳は何をしたいのか?それについて考えられたことはほとんどなく、したがって人工無脳の会話に関するモデルもユーザの入力に対してどう反応するかにしか注目していない。ヒト対ヒトでこのような会話が行われるのは受け付け案内のような業務に限定され、雑談に向かないことは明らかである。形態素解析と構文解析で例え文の意味がわかったとしても、人工無脳にとって、人工無脳の目的にとってそれがどのような意味をなすのか評価できなければ、何を基準に答えを生成するのかという問題に答えられない。これは通訳者を例にすればわかりやすい。TVで見られる同時通訳者は、ある意味中国語の部屋33ある中国語文字列が与えられたとき、どんな文字列を返すか書かれたマニュアルを使って返事を生成するオペレータを考える。部屋の外から観察すればオペレータが中国語を理解していなくても、外見上それは中国語を理解しているように見えるのオペレータである。送られてくる英語の文書をパースし、意味を理解して、その結果として日本語、すなわち内部的に理解可能な表現を生成する。しかし通訳者自身はその中身を評価しないため、返事を考えてくれるコメンテータがいなければ会話にはならないのである。コメンテータに必要なのはなぜ、または何を聞きたいのかという動機だろう。そして動機はそのコメンテータを取り巻く世界が彼に不足と充足を与えなければ生じない。その意味で環境を融合させた人工無脳は極めて単純ではあるものの不足を感じ、目的を持つことができる。

Next Session:社会の中の人工無脳