[画像のクリックで拡大表示]

 アイエニウェア・ソリューションズは2005年9月12日,自然言語によるソフトウェア操作を可能にするJavaのミドルウェア「Answers Anywhere 4.0」の出荷を開始した。ユーザーが入力した自然言語を解析して求める操作を実行したり,操作履歴などを基にユーザーの現在の状況を推測して関連情報を提示する。

 「ソフトウェアは多機能化が進んでいるが,ユーザーの使い勝手はそれに応じて低下する傾向がある」(Answers Anywhereの開発を統括する米iAnywhere Solutions社のBabak Hodjat技術担当シニア・ディレクタ)。例えばメニューの階層が深くなったり,「アプリケーション間でデータの共有ができていないため,同じデータを何度も入力しなければならない」(Hodjat氏)。レストランを探す場合にも,店舗情報,地図情報,電車の経路案内などさまざまなアプリケーションにアクセスし,レストラン名や住所など,同じ情報を何度も入力する必要がある。

 この問題を解決するため,Answers Anywhereはユーザーとアプリケーションを仲介する。自然言語によるユーザーからの入力文から,ユーザーが求める情報を推測して提示する。例えば「A社への経路」と入力されると,A社の企業情報や,地図情報を表示する。関連情報として,アドレス帳に登録してあるA社の社員の情報を表示することも可能。また過去にユーザーが入力した情報の履歴を用いて,自動的に情報を補完する機能も備える。A社への経路を調べたあとに飛行機の検索をしようとすると,検索対象の地域を入力する欄に,A社がある都道府県名を自動的に入力するといった機能である。

 こうした機能は,エージェント技術に基づいて実現している。エージェントとは自律的に振る舞うオブジェクトで,複数のエージェントが協調しあって一つの処理を実現するのが特徴である。Answers Anywhereでは,ユーザーが入力する文の構成要素をそれぞれエージェントとして定義しておく(写真)。例えば目的地への経路探索を実現するには,「目的地」「経路」などのエージェントを用意する。また各エージェントには,呼び出すべきアプリケーションのAPIや,参照先のデータベース情報などを持たせる。ユーザーから入力があると,文の各要素に一致するエージェントがそれぞれの処理を実行する。「A社への経路」という入力文があった場合は,「目的地」エージェントがデータベースを参照してA社の情報を取得し,「経路」エージェントが経路検索のAPIを呼び出す,という具合だ。全体を統括するエージェントがこうした実行結果をとりまとめ,ユーザーへの応答を生成する。

 J2SE(Java2 Platform,Standard Edition)1.4に対応している。価格は,エージェントの作成や管理,テストなど5種類の開発ツールを含んだ開発環境が150万円。Webアプリケーションとして稼働させる場合は,1ユーザー当たり1万5000円のライセンス料が必要。また問い合わせに応じて,J2ME(Java2 Platform,Micro Edition)対応の携帯端末向けアプリケーション開発環境も提供している。携帯端末でも快適に動作させるためメモリー使用量の削減を図っている。35個のエージェントを定義した場合で,実行時のメモリー使用容量は885Kバイト程度だという。