自然言語で命令してデスクトップアプリケーションを動かすプログラムを、人工知能インタフェースと呼ぶ。このテストレベルの「Newt On」がすでにMac OS X上で動作している。すべてAppleScriptで組まれたプログラムである。
本物の、チューリングテストにパスするような人工知能を指向しているわけではない。むしろ、そんなものを目指してもしょうがないと考えている。「すぐに役立つ道具」を指向した方が現実的というのが基本的な考えだ。
人工知能なんか役に立たないと考えている人間の作るソフトが「人工知能インタフェース」と名乗っているのだから、皮肉なものである。
むしろ、ステレオタイプな古典SF的な人工知能の有り様を実現する、という意味において「人工知能インタフェース」という言葉を用いている。厳密にいえば「昔みんなが夢見ていた古典的なSFチックな人工知能風インタフェース」というところか。
Newt Onに話を戻そう。
Newt Onは、「来週の水曜日に会議を予約」「田中さんの自宅の電話番号を検索」など所定のフォーマットの命令に対して反応し、デスクトップアプリケーションをコントロールするして結果を返してくれるようになった。簡単なフォーマットの命令であれば解釈して実行できるわけである。
だが、これをさらに高度化するためにはどうしたらよいか? 簡単でない命令や、フォーマットに合わないパターンの命令が来たらどう対処するのか。
この問いに対する初期の取り組みは、ひたすら「倒れないためにどうするか?」という方向を目指していた。ここで言う「倒れる」とは、不慣れなユーザーが会話を成立させられない状態に陥ることを指す。
そこで提唱されたのが「対話」の概念である。不明な点についてはユーザーに質問させることで補うという技術だ。
ただ、対話は高度な会話制御が必要であり、倒れないために用意した道具自体が不十分で、よけいに「倒れる」可能性を増す原因になってしまう。プログラム自体も複雑になり、あまり正しいアプローチとは言えないように感じられてきた。
実際、この方向に注力してはドツボに陥ることが、さまざまなテストやシミュレーションで明らかになってきた。
そこで、「倒れる」ことを前提としたシステムとして機能デザインを行ってはどうかということを考えた。えてしてユーザーは間違った会話や身勝手な会話を行うものであり、フォーマットどおりに命令を入力してもらえるケースの方が少ない、という前提で……つまり「倒れる」ことを前提として作ったほうがシンプルかつ実用的な道具が作れるのでは? と思うにいたったのだ。
これには、参考になる有名な話がある。
二足歩行ロボットが重心移動を伴う動歩行を実現できるようになったきっかけは、ソフトウェア制御の方針を「倒れないようにする」から「積極的に身を投げ出して倒れるようにする」に変更したことによるものだった、と聞く。その話をテレビで聞いた研究者が、さっそく同じようにソフトを組み替えたところ、続々と2足歩行(動歩行)を行えるロボットが登場したとされる。
よく理解できる話だ。
当初のNewt Onは、すべて文字チャット形式で、文字によるコミュニケーションですべてが完結するよう指向していた。これは、将来的にすべてのオペレーションを、キーボード入力のみならず音声認識で行うことを念頭に置いていたからだ。文字端末ライクな操作性にこだわっていた、ともいえる。
しかし、本当に文字端末ライクなインタフェースが、Newt Onのあり方として正しいものなのか? 人工知能インタフェースに最適なインタフェースとは何なのか? いや、ここで問うべきは文字入力タイプのNewt Onに最適なインタフェースとは何なのか?
それを明確にするためには、その反対に、音声認識による最適なユーザーインタフェースとはどうあるべきか、が明らかにできるとよい。
音声認識インタフェースにおいては、一字一句間違えずにコマンド入力を行わせるというのは、音声認識の精度が向上したとしても、あまり現実的ではないだろう。
音声認識では、ある程度の単語のかたまりを箇条書き形式で入力した方が実用的ではないかという仮説を立て、それを実際に試作することで実証した。
よほど音声認識の精度が上がれば別だが、それはまだしばらく先のことだろう。
この日本語ボイスコントローラ「ことだま」の開発を通じて、Newt Onでは「すべてを文字(音声)のやりとりだけで実現」しなくてもよい、という「割り切り」を行えるようになった。
ユーザーが間違いを起こしにくい、あるいは間違いを起こした際のフォローを確実に行えるような方向でGUIエレメントの手助けを借りればよい。
その結果、Newt Onのベースデザインは、初期の「単なるターミナル型」のものから、よりツールらしいものへと移行。Mac OS Xらしくドロワーなどの部品も積極的に用いるよう方針転換がなされた。
遠回りをしてきてはいるが、着実に前に進んでいるつもりだ。