SHOEISHA iD

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

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

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

対話しながら検索できるコンシェルジェ風アプリの実装(2)
~ 推論ヒントでユーザーをナビゲート

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

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

4. テスト実行

 さて、ヒントとフォーマッタの設定が完了したので動作の確認をしてみましょう。Interaction Consoleを表示させると、ダイアログ上に新しくFormat Usingという項目が表示され、そこに登録したフォーマッタの名前"html"が表示されます。複数のフォーマッタを登録した場合はここで切り替えてそれぞれの動作をテストすることができます。

 まずは、次の操作候補が表示されるかを試します。エージェント・ネットワークをロードした直後の状態で、このエージェント・ネットワークが認識できない語彙、たとえば「こんにちは」と入力してみます。入力は理解できませんでしたが「関連性の高い情報・・・検索」と表示されこのシステムが「検索」という機能を持っているということがユーザーに通知されます。

図10 初期操作の提示ヒントの実施例
図10 初期操作の提示ヒントの実施例

 続けて「検索」と入力するとこんどは「関連性の高い情報・・・検索 レストラン」と表示されます。これはCommand「検索」ではObject「レストラン」が使用できるということを表示しています。次に「レストラン」といれると、Field「エリア」に対して定義した必須値チェックのヒントメッセージが出力されます。

図11 必須値チェックヒントの実施例
図11 必須値チェックヒントの実施例

 エリアを指定してくださいとのことなので「..赤坂」と入力します。必須値を満たしているので、サービスプロバイダでデータベース検索が実行され結果が出力されました。Display Property Fileで定義したように店名、エリア、ジャンル、星の順に一覧が出力されます。

図12 結果一覧の出力例
図12 結果一覧の出力例
検索条件のヒントの表示

 Objectレストランに結びついているエリア以外のFieldを利用可能な検索条件としてヒント出力して欲しいところですが、残念ながら今回使用したフォーマッタ「com.dejima.core.io.HTMLPresentationFormatter」ではFieldに対する操作対象の提示ヒントを表示することができません。フォーマッタを通さないXML出力の場合はFieldに対する操作対象の提示ヒントが出力されます。このヒントを表示するにはカスタムフォーマッタの開発が必要となりますが、これについてはまた別の機会に解説をしたいと思います。

5. おわりに

 Answers Anywhereの推論ヒントと出力フォーマッタでユーザーをナビゲートする機能を加えることで、自然言語入力のシステムでよく指摘される何を入力したらよいかわからないという課題を解決できることが理解していただけたのではないかと思います。

 次回はAnswers Anywhereのデータ連携機能について解説をする予定です。この機能を使うと、今はテキストファイル中に固定値として持っているエリア名やジャンルなどのマスタ系のデータを、データベースと連携して動的に参照することができるようになります。お楽しみに。

将来予定されている推論ヒントの機能拡充

 推論ヒントの機能については各エージェントの発火状況の統計を記録しておき、それを推論の重みに使うようなことも検討中です。これにより現在は全てのユーザーに同じように出力されるヒントをパーソナライズして提示することができるようになります。この機能についてはAnswers Anywhereの将来のリリースで提供を予定しています。

修正履歴

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

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

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング