1.3 エージェント指向開発による対話型ユーザ・インタフェースの構築
前節において、対話フローによらない自由な発話を許すために、エージェント・ネットワークを使うと説明しましたが、エージェント・ネットワークとはどんなものなのでしょうか。ここまでは文字による説明がずっと続いてきたので、本節ではエージェント・ネットワークの実際の動きを見ながら、話を進めていくことにしましょう。次に挙げるのが、エアコンとテレビを操作するためのエージェント・ネットワークネットワークです。
そもそも「エージェント」とはどんなものであるのかの定義をまだしていないのですが、当分の間、上図の赤や緑色の丸いもの一つ一つがエージェントであると考えてください。この丸と丸との間が矢印で示される線で結ばれていることから、このような構造をエージェント・ネットワークと呼んでいます。各エージェントが担っている役割は、エージェントの右上に書かれたエージェント名によって示されています。
さて、上掲のエージェント・ネットワークですが、「スイッチ入れて」という発話に反応した直後であることを示しています。「スイッチ入れて」という発話は音声によるものであれば、本当に「スイッチ入れて」と発話したというケースも考えられますし、明示的に「テレビのスイッチ入れて」と発話したものの、文頭が認識できずに結果として「スイッチ入れて」だけが認識されたというケースも考えられます。
発話中に含まれる「スイッチ」には電源エージェントが、「入れて」にはオンエージェントが反応しており、それぞれ緑色になっています。一方、電源エージェントから上位のエージェントに向かおうとすると、エアコン経由のルートとテレビ経由のルートの2つが存在しています。このように2つのルートが存在してしまうということは、テレビの電源を入れるべきなのか、エアコンの電源を入れるべきなのかを一意に決定できない、別の言い方をすればユーザに聞くしか解決方法がない、ということになります。
そこで、システムからの問い(テレビの電源をオンにしますか、それともエアコンですか?)に対して、「テレビ」と答えた場合、エージェント・ネットワーク中の各エージェントは次図に挙げるような色に変わります。また、最初から明示的に「テレビの電源をオンにして」のような発話をした場合にも、同様の反応を示します。
ここで、エアコンエージェントの左半分が緑色、右半分が赤色をしていることに気づかれたかも知れません。前述のように電源エージェント経由で上位のエージェントに向かう場合、エアコン経由のルートも考えられるという意味で、ユーザの発話解釈に参与はしたものの、ユーザが明示的にテレビと言っているために、解釈において負けてしまった結果、半分緑半分赤で表示されています。このように、エージェント・ネットワークを使った開発では、何らかの発話を入力し、視覚的に各エージェントの反応を確認しながら、楽しく開発を進めていくことが可能です。
次に、単に「温度を」と発話した場合にはどうなるでしょうか。テレビには温度調節機能は存在しないので(この事実は温度エージェントとテレビエージェントの間に線が結ばれていないことによって示されています)、テレビかエアコンかという上位方向へのあいまい性は存在していません。一方、温度の下位には上げるエージェント、下げるエージェント、指定温度エージェントが接続されています。ここではどれもが指定されていない(かつ、明示的に「温度」と言われた場合、何らかの指定が必要)ということであれば、下位のエージェントのいずれの条件が満たされるべきなのか、簡単にいうと「温度は何度にいたしましょう? 温度を上げましょうか、下げましょうか」といった質問をユーザに尋ねればよいことになります。
Answers Anywhereが自然言語解析を行う、ということでこのエージェント・ネットワークを見ると「構文解析木ですか?」という質問をされる方がいらっしゃいますが、ここまでの説明で大まかなところは理解していただいたように、エージェント・ネットワークとは世の中の有り様(テレビとはどんなものなのか、エアコンとはどんなものなのか)を定義したものであり、かつ不明瞭な点がある時にユーザに対して質問をする(対話を生成する)ための定義でもあることがわかります。
次回は、実際に簡単なエージェント・ネットワークを作成しながら、本節での説明を技術的に再検証していくことにしましょう。
1.4 Answers Anywhere SDKのインストール
本節では、次回以降で使用するAnswers Anywhere SDKのインストール方法について説明します。
動作環境
Answers AnywhereはJava SE上で動作するライブラリとして提供されており、SDKもJava SE上で動作します。Answers Anywhere SDKのインストールには、以下に挙げるスペックのデスクトップ、またはノートPCが必要です。
- CPU: PentiumⅢ 750MHz(1.5GHz以上推奨)
- メモリ: 512MBytes(1GBytes以上推奨)
- ハードディスク: Cドライブに200MBytes以上の空き容量)
- OS: Microsoft Windows 2000/XP
入手方法
Answers Anywhere SDKの期間限定評価版は、アイエニウェア・ソリューションズ株式会社のWebサイトからダウンロードできます。セットアップファイル「setup_4.5.0_135.exe」を入手したら、以下の手順に従ってインストールを行います。
インストール方法
- セットアップファイルをダブルクリックします。
- インストーラの初期画面が表示されるので、[次へ]をクリックします。
- 「使用条件の条項に同意します」を選択し、[次へ]をクリックします。
- Answers Anywhereをインストールするディレクトリを指定します。特に問題がなければ、そのまま[次へ]をクリックします。
- インストール・タイプは「標準」を選択し、[次へ]をクリックします。
- これでインストールの準備が整いました。あとは[インストール]をクリックすると、ファイルのコピーが開始されます。
- ファイルのコピーが終了すると、ライセンスキーの入力画面が表示されます。Company Nameの欄に会社名または所属組織名を、アルファベットまたは記号を使って入力します。また、License Keyの欄にはアイエニウェア・ソリューションズより発行された評価用のライセンスキーを入力し、[次へ]をクリックします。
- 次に[終了]ボタンをクリックして、インストールを終了します。
- 最後に、[スタート]メニュ-[すべてのプログラム]-[Answers Anywhere Platform 4.5.0]-[Agent Network Development Environment]の順に選択し、Answers AnywhereのIDEが起動することを確認します。
次回は、実際の開発手順について説明していきます。