SHOEISHA iD

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

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

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

高速、小容量の自然言語解析で直感的な
対話型インターフェースを実現する「Answers Anywhere」

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

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

 「Answers Anywhere」は、自然言語で入力されたユーザーの指示から意図を汲み取り、対話をしながら機器操作やデータ検索をするシステムを構築するためのミドルウェアです。本稿では、Answers Anywhereの概要から導入方法、Answers Anywhereを使って何ができるのか、について紹介します。

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

1. Answers Anywhereとは

 「Answers Anywhere」は、自然言語で入力されたユーザーの指示から意図を汲み取り、対話をしながら機器操作やデータ検索をするシステムを構築するためのミドルウェアです。

 分かりやすいイメージとしては(かなり誇張表現ですが)アプリケーションを「2001年宇宙の旅」のHAL9000やスタートレックのコンピューターのように操作できるようにするものと言えるでしょう。映画の中でシステムは知的にふるまい音声対話によりユーザーの指示に答えながらユーザーを支援していました(HAL9000は最後暴走してしまいましたが……)。現状のAnswers Anywhereでは、映画中のシステムのように音声入力まで含めた機能は実現してはいないのですが、ユーザーから文章として受け取った指示を意味解釈し、アプリケーションの操作やデータ抽出を対話的に行うことができます。

 具体的な例としてAnswers Anywhereを洋服の注文処理をするアプリケーションに適用した例を紹介します(図1)。このアプリケーションではユーザーがシステムと対話しながら商品を検索し注文をすることができます。

リスト1:対話の例
ユーザー「シャツはありますか?」
システム「シャツは全部で10アイテムあります」【「シャツ」を認識し商品検索】
ユーザー「緑色で小さいサイズ」
システム「色がグリーン、Sサイズのシャツを検索しました」【条件を追加して商品絞込】
ユーザー「もう少し大きいものは?」
システム「色がグリーン、Mサイズのシャツを検索しました」【SサイズをMサイズに変更】
ユーザー「これを発注します」
システム「いくつ発注しますか?」【数量が指定されていないので対話で情報収集】
ユーザー「2着」
システム「製品番号xxxを2着発注しました」【注文処理完了】
図1 Answers Anywhereを使い自然言語で洋服の注文をするアプリケーション
図1 Answers Anywhereを使い自然言語で洋服の注文をするアプリケーション

 自然言語の意味解釈をするエンジンと言うと、大きな日本語辞書と複雑な文法規則を備えたシステムを思い浮かべる読者の方もいらっしゃるかと思います。しかし、Answers Anywhereではエージェント・ネットワークという独自の技術により高速、小容量、言語依存度が低いエンジンとなっていることが特徴です。エージェント・ネットワークはターゲットとするアプリケーションの機能やデータを構成する要素を記述した概念モデルです。対象ドメインを特化し分散解析することでこの特徴を実現しています。

 自然言語で記述されたユーザーの指示が与えられると、エージェント・ネットワークは概念モデルに従い、指示をアプリケーションが認識できる形、API呼び出しやSQL文に変換します。エージェント・ネットワークが人の指示を機械の伝えるために翻訳をするというわけです。

 エージェント・ネットワークはユーザーの意図が認識できない場合も、持っている概念でできる限りの認識を行おうとし不明点をユーザーに尋ねるような対話を自動生成します。不明な箇所がなくなり解釈結果が決定すると、エージェント・ネットワークはアプリケーションに翻訳された指示を伝えて処理が行われます。

図2 Answers Anywhereの動作概要図:アプリからの入力をI/Oで受け取る。その後、文章解析し対話要素(文脈追跡、推論ヒント)を生成。それをもとにデータソースを操作してユーザーに結果と対話内容を返す。
図2 Answers Anywhereの動作概要図:アプリからの入力をI/Oで受け取る。その後、文章解析し対話要素(文脈追跡、推論ヒント)を生成。それをもとにデータソースを操作してユーザーに結果と対話内容を返す。

 『WEB+DB PRESS Vol.30』(技術評論社)に「Answers Anywhereを使ってみよう!-自然言語対話エンジンで実現する使いやすいインターフェイス」という記事があるので、こちらも参照してください。

次のページ
2. Answers Anywhereを動かしてみよう

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

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

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4076 2009/07/03 14:01

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング