6. シノニム辞書ファイルの管理方法
シノニム辞書ファイルは複数のターゲットのシノニムを定義して複数のエージェントで共有することができます。これを活用し辞書の構築の生産性やメンテナンス性を向上することができます。
小規模なエージェントネットワークの場合は、エージェントごとにシノニム辞書を定義し分散させるよりも、図8に示すように1つのエージェント・ネットワークには1つのシノニム辞書ファイルを割り当てるとよいでしょう。またエージェントのキーワードなどのターゲットにも語そのものではなくエージェント名などを使い語はすべてシノニムとします。こうすることで次のような利点が得られます。
- エージェント・ネットワークの構造と辞書が分離できるため分業開発が可能
- 語彙が各エージェントに分散せず一箇所で管理できるためメンテナンス性が良い
- 辞書ファイルの交換により語彙が一括で入れ替えられるため他国の言語に対応させるのが容易
一方で大規模な場合についてですが、その多くは図9のように小~中規模のエージェント・ネットワークが横方向に結合した場合であると考えられます。例としてはレストラン検索とホテル検索をくっつけて1つの検索アプリケーションとしたような場合が考えられます。この場合はエージェント・ネットワークの部分ごとにシノニム辞書を構築し個々の部分ごとで管理を行う方が、作業が分業しやすいなどの利点があります。メンテナンスに関しても同様に独立して実施できるため、同じターゲットがあったとしても(図9の「target3」)、そのターゲットに対する一方のシノニム修正はもう片方には影響しません(注2)。
評価版SDKで使用できるシノニム辞書の形式はファイルのみですが、データベースでシノニム辞書を管理するためのプラグインも製品のオプションとして提供しています。メンテナンスはSDKではなくWebの管理画面にて行うような方式となっています。
7. おわりに
シノニムを使うことでユーザーの自由度が増え利便性を与えられることが理解していただけたのではないかと思います。それだけでなく開発者やシステム管理者にも語彙の実装や管理という面で利用する価値がある機能であると思います。
次回は、データベースに格納された語を辞書としてエージェント・ネットワークで利用できる「データ連携機能」について紹介する予定です。既存システムのマスタデータなどをそのまま辞書として利用でき、動的な値の変更にも対応する、他の対話エンジンとは一線を画する機能です。