SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

自然言語対話エンジン「Answers Anywhere」で実現する使いやすいUI(AD)

シノニム(同義語)機能でユーザーに柔軟な検索システムを提供する

自然言語対話エンジン「Answers Anywhere」で実現する使いやすいUI 第5回

  • X ポスト
  • このエントリーをはてなブックマークに追加

6. シノニム辞書ファイルの管理方法

 シノニム辞書ファイルは複数のターゲットのシノニムを定義して複数のエージェントで共有することができます。これを活用し辞書の構築の生産性やメンテナンス性を向上することができます。

 小規模なエージェントネットワークの場合は、エージェントごとにシノニム辞書を定義し分散させるよりも、図8に示すように1つのエージェント・ネットワークには1つのシノニム辞書ファイルを割り当てるとよいでしょう。またエージェントのキーワードなどのターゲットにも語そのものではなくエージェント名などを使い語はすべてシノニムとします。こうすることで次のような利点が得られます。

  • エージェント・ネットワークの構造と辞書が分離できるため分業開発が可能
  • 語彙が各エージェントに分散せず一箇所で管理できるためメンテナンス性が良い
  • 辞書ファイルの交換により語彙が一括で入れ替えられるため他国の言語に対応させるのが容易
図8 各エージェントのシノニムを1つの辞書で管理
図8 各エージェントのシノニムを1つの辞書で管理

 一方で大規模な場合についてですが、その多くは図9のように小~中規模のエージェント・ネットワークが横方向に結合した場合であると考えられます。例としてはレストラン検索とホテル検索をくっつけて1つの検索アプリケーションとしたような場合が考えられます。この場合はエージェント・ネットワークの部分ごとにシノニム辞書を構築し個々の部分ごとで管理を行う方が、作業が分業しやすいなどの利点があります。メンテナンスに関しても同様に独立して実施できるため、同じターゲットがあったとしても(図9の「target3」)、そのターゲットに対する一方のシノニム修正はもう片方には影響しません(注2)。

図9 部分ネットワークごとにシノニム辞書を管理
図9 部分ネットワークごとにシノニム辞書を管理
注2

 評価版SDKで使用できるシノニム辞書の形式はファイルのみですが、データベースでシノニム辞書を管理するためのプラグインも製品のオプションとして提供しています。メンテナンスはSDKではなくWebの管理画面にて行うような方式となっています。

7. おわりに

 シノニムを使うことでユーザーの自由度が増え利便性を与えられることが理解していただけたのではないかと思います。それだけでなく開発者やシステム管理者にも語彙の実装や管理という面で利用する価値がある機能であると思います。

 次回は、データベースに格納された語を辞書としてエージェント・ネットワークで利用できる「データ連携機能」について紹介する予定です。既存システムのマスタデータなどをそのまま辞書として利用でき、動的な値の変更にも対応する、他の対話エンジンとは一線を画する機能です。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
自然言語対話エンジン「Answers Anywhere」で実現する使いやすいUI連載記事一覧

もっと読む

この記事の著者

アイエニウエアソリューションズ株式会社 伊藤 純一(イトウ ジュンイチ)

アイエニウェア・ソリューションズ株式会社 シニアエンジニア。8ビットの時代からコンピュータに触りはじめBASIC、アセンブラ、C言語などを独習。サンマイクロシステムズ入社の年にJavaが発表され、そこでJavaによる金融系、官公庁系のシステム開発を中心に手がける。その後外資系ベンチャーのデジマ・ジャ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5130 2010/04/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング