(57)【要約】【課題】本発明の目的は、複数のエージェント（外部装置）とやり取りを行う際に、ユーザが行うインタラクションを軽減し、ユーザの利便性の良好な音声対話装置を提供することである。【解決手段】ユーザからの音声情報を入力する手段（２０１）と、音声言語解析用辞書を記憶する手段（２０５）と、前記音声言語解析用辞書を用いて前記ユーザからの音声情報を解析することによって、前記ユーザの要求を抽出する手段（２０３）と、抽出した前記ユーザの要求を満たす外部装置との間で、前記ユーザの要求およびその応答結果の授受を制御する制御手段（２０７）と、前記応答結果をユーザに出力する出力手段（２０２）と、を備える音声対話装置。【選択図】図２
2008090545.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの音声情報を入力する手段と、
音声言語解析用辞書を記憶する手段と、
前記音声言語解析用辞書を用いて前記ユーザからの音声情報を解析することによって、前記ユーザの要求を抽出する手段と、
抽出した前記ユーザの要求を満たす外部装置との間で、前記ユーザの要求およびその応答結果の授受を制御する制御手段と、
前記応答結果をユーザに出力する出力手段と、を備える音声対話装置。
【請求項２】
前記制御手段は、前記ユーザの要求を満たす外部エージェントを複数見つけた場合、前記抽出したユーザの要求を当該複数の外部エージェント全てに渡すことを特徴とする請求項１記載の音声対話装置。
【請求項３】
前記制御手段は、抽出した前記ユーザの要求を渡した複数の外部エージェントからの応答を比較判断し、
前記出力手段は、前記比較判断した結果を出力することを特徴とする請求項２記載の音声対話装置。
【請求項４】
ユーザからの音声情報を入力し、
音声言語解析用辞書を用いて前記ユーザからの音声情報を解析することによって、前記ユーザの要求を抽出し、
抽出した前記ユーザの要求を満たす外部装置との間で、前記ユーザの要求およびその応答結果の授受を制御し、
前記応答結果をユーザに出力する音声対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声情報を用いて様々なサービスを利用する場合に有効な音声対話装置および音声対話方法に関する。
【背景技術】
【０００２】
インターネットの普及によりコンピュータを始めとするデジタル機器から種々のサービスを利用する機会が増えて来た。ほとんどのサービスはWWWなどのGUIインタフェースを介して利用されているが、利用するサービスの種類、複雑さの増加や複数のサービスの融合利用などにより、コンピュータやインターネットに不慣れなユーザは十分に活用できないという問題が生じている。
【０００３】
また、利用可能なサービスの広がりとともに、例えばTVを見ている時にネットサービスを利用するなどコンピュータ以外のデジタル機器を通してサービス利用を行いたいという要望も増加している。こうした要望に応える手法として、GUI型のインタフェースの代わりに音声対話インタフェースを利用するという技術開発が行われている。
【０００４】
音声対話インタフェースでは、デジタル機器側にユーザからの音声言語入力を受け、ユーザに対して音声言語で応答するプログラム（対話エージェント）を用意し、音声言語対話によりユーザは所望のサービスを受けることができる。音声対話型のインタフェースは、基本的に入力が音声であるという簡便さの特徴に加えて、対話エージェント側のインテリジェンスが高くなることで、種々の質問を受け付けたり、思いついた事柄から情報を伝えたり、言わなくとも推定できる情報を自動的に補完してくれたりすることが可能となり、自由度の高いインタフェースであるという特徴を有する。
【０００５】
音声対話インタフェースを様々なサービス（あるいは機器利用）に利用する場合には、１つの対話エージェントとのみ対話するのではなく、それぞれサービスに応じて用意されたエージェントを利用することが、ユーザ側の認知上からも、また、エージェントを用意する手間からも有効である。例えば、特許文献１では、セクレタリエージェントとして機能するユーザインタフェースとネットワークを介して利用可能なコンサルタントエージェントを用意し、ネットワーク上に別途用意された個人情報サーバの情報に基づいてセクレタリエージェントが適切なコンサルタントエージェントを呼び出し、呼び出されたコンサルタントエージェントがユーザに対してサービスを提供するという構成をとっている。
【特許文献１】特開２００５−４４２９２公報（第７〜９頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、音声対話インタフェースの持つ自由度の高さは、種々のサービス利用においてサービス内容や操作方法に熟知していないユーザにとって、サービスを受ける上での大きな支援になるが、一般に対話のやり取りには一定の手間と時間が必要であり、このトレードオフにより音声対話インタフェースの有用性が大きく左右される。このため、不必要な対話のやり取りを極力少なくすることが音声対話IFにとって非常に重要な課題となっている。特に、複数の音声対話エージェントを相手に音声対話を進める場合には、それぞれのエージェントに対する情報伝達などにより、ユーザとエージェント間のインタラクションが増加し、ユーザにとって本質的に不必要な対話のやり取りが増大するという問題が生じやすい。
【０００７】
特許文献１では、セクレタリエージェントとして機能するユーザインタフェースとネットワークを介して利用可能なコンサルタントエージェント（外部装置）を用意し、ネットワーク上に別途用意された個人情報サーバの情報に基づいてセクレタリエージェントが適切なコンサルタントエージェントを呼び出し、呼び出されたコンサルタントエージェントがユーザに対してサービスを提供するという構成をとっている。個人情報サーバには、ユーザのIDや個人情報などのユーザ特定情報と、医療・資産・嗜好・サイズといった開示可能なユーザ特性情報が蓄積されており、セクレタリエージェントは、これら情報に基づいたりユーザに問い合わせたりして、コンサルタントエージェントを呼び出す。また、この際、セクレタリエージェントが、コンサルタントエージェントが必要とする個人情報サーバ上の情報を提供することにより、ユーザがコンサルタントエージェントに音声対話により提供する手間を省いている。
【０００８】
しかしながら、この方式では、あらかじめ用意された役割別の複数のエージェントを用意し、セクレタリエージェント側から選択利用するサービスを提案することになり、ユーザが解決したい問題を見つけた時にユーザ側から主体的にサービスを利用することが困難である。
【０００９】
また、コンサルタントエージェントに提供可能な情報は個人情報サーバに蓄積された固定的な個人情報のみに限定されており、動的にユーザが発見する問題に対してサービスを提供するコンサルタントエージェントにとって必ずしも十分な情報が提供されない場合が生じる。
【００１０】
また、コンサルタントエージェントの起動後は基本的にコンサルタントエージェントとユーザとの対話になるため、情報の授受はユーザが行わなければならず、ユーザのインタラクションが増大するという問題がある。
【００１１】
さらに、コンサルタントエージェントは１つに限定されているため、ユーザに対して同種のサービスを提供する複数のサービスが存在する場合には、それぞれのサービスを順次受けることになり、ユーザの情報提供などのインタラクションが共有されず、効率的でないという課題がある。
【００１２】
本発明は、このような問題に鑑み、複数のエージェント（外部装置）とやり取りを行う音声対話装置および音声対話方法において、ユーザが行うインタラクションを軽減し、ユーザの利便性を向上することを目的にする。
【課題を解決するための手段】
【００１３】
第１の発明は、ユーザからの音声情報を入力する手段と、音声言語解析用辞書を記憶する手段と、前記音声言語解析用辞書を用いて前記ユーザからの音声情報を解析することによって、前記ユーザの要求を抽出する手段と、抽出した前記ユーザの要求を満たす外部装置との間で、前記ユーザの要求およびその応答結果の授受を制御する制御手段と、前記応答結果をユーザに出力する出力手段と、を備える音声対話装置である。
【００１４】
第２の発明は、前記制御手段は、前記ユーザの要求を満たす外部エージェントを複数見つけた場合、前記抽出したユーザの要求を当該複数の外部エージェント全てに渡すことを特徴とする第１の発明記載の音声対話装置である。
【００１５】
第３の発明は、前記制御手段は、抽出した前記ユーザの要求を渡した複数の外部エージェントからの応答を比較判断し、前記出力手段は、前記比較判断した結果を出力することを特徴とする第２の発明記載の音声対話装置である。
【００１６】
第４の発明は、ユーザからの音声情報を入力し、音声言語解析用辞書を用いて前記ユーザからの音声情報を解析することによって、前記ユーザの要求を抽出し、抽出した前記ユーザの要求を満たす外部装置との間で、前記ユーザの要求およびその応答結果の授受を制御し、前記応答結果をユーザに出力する音声対話方法である。
【発明の効果】
【００１７】
本発明によれば、複数のエージェント（外部装置）とやり取りを行う際に、ユーザが行うインタラクションを軽減し、ユーザの利便性の良好な音声対話装置および音声対話方法を提供することができる。
【００１８】
すなわち、ユーザがMY音声対話エージェントと対話を行うことで、ユーザの要望を伝達し、MY音声対話エージェントを使って、その要望を満たすようなサービスエージェント（外部装置）を検索し、サービスを受ける場合に、MY音声対話エージェントが記憶している文脈情報（対話履歴や解析結果）をサービスエージェントに伝達することにより、ユーザとサービスエージェントとの間での情報伝達の際に、サービスエージェントに対してユーザが新規に情報を伝達するというインタラクションを省略することができる。
【００１９】
また、ユーザの要望を満たすような複数のサービスエージェントが存在した場合、これら複数のサービスエージェントとMYエージェントを介して同時インタラクションをすることにより、それぞれ個別のサービスエージェントと順次やり取りを行う手間が省け、サービスエージェントに対してユーザが新規に情報を伝達するというインタラクションを省略することができる。
【００２０】
また、外部サービスエージェントは特定個人向けに作成されていないため、特定ユーザの音声を旨く認識する各種ユーザ情報が不足し、音声認識精度が低くなる（不特定話者の認識）が、MYエージェントはユーザ情報を有し音声認識精度が高く（特定話者認識）なり、ユーザからの入力の一元化という効果だけでなく、音声認識精度の向上により、音声認識誤りに起因するインタラクション（発話の訂正など）を軽減することが可能である。
【発明を実施するための最良の形態】
【００２１】
本発明を実施するための最良の形態として、インターネット上での各種サービスを利用する音声対話システムが挙げられる。インターネットのWebサイトでは、多種多様なサービスが様々な企業・組織・個人などから提供されており、ユーザの課題を解決する有望なサービス源となっている。１つの課題に対して、それを解決可能なサービスは、通常、複数存在するため、本実施形態のポイントの１つである複数サービスエージェント（外部装置）とのやり取りも一般的である。また、VOICE XMLのように音声によるWeb操作が可能な技術が研究・開発されており、音声対話システムに発展する１つのベースであると考えられる。また、MYエージェントについては、ユーザが日常使用するネットワークに接続したパソコンやテレビなどで動作する形態を想定している。
【００２２】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００２３】
図１は、本実施形態に係る音声言語対話装置を適用するネットワークシステムの構成例を示したものであり、インターネットのような様々な機器を接続するネットワーク１０１、ネットワークに接続された機器で稼動するサービスエージェント群１０２、ユーザがサービスを受ける機器を繋ぐローカルネットワーク１０３、ユーザに対してセクレタリのように働くMYエージェント１０４、テレビ１０５、パソコン１０６から構成されている。エージェントとは、サーバやパソコンなど、何らかのデジタル機器上で動作するソフトウェアのことである。
【００２４】
図２は、本実施形態にかかるMYエージェント１０４がパソコン１０６上などで動作する場合の機能ブロックを示した図である。少なくとも音声情報（テキスト情報を含んでもよい。以下同様）を入力する入力部２０１、少なくとも音声情報を出力提示する出力部２０２、ユーザからの入力情報を解析する解析部２０３、文脈情報など一時的な情報を記憶する一次記憶部２０４、知識情報など長期的に利用する情報を記憶する記憶部２０５、ネットワークを介して他のエージェントや機器と情報通信する通信部２０６、これらを制御する制御部２０７を有している。
【００２５】
入力部２０１からユーザの音声が入力されると、制御部２０７はこの音声情報を解析部２０３に渡して解析を行う。解析部２０３は、ユーザからの入力音声を音声認識技術により音声認識し、音声認識の結果を言語解析する。この処理において、音声認識は従来技術（例えば、「確率モデルによる音声認識」  中川聖一著  電子情報通信学会  ISBN4-88552-072-X）を利用することにより実現する。また、言語解析も、形態素解析・構文解析・意味解析・文脈解析の従来技術(例えば、「音声対話システムの言語・対話処理」AI学会誌 Vol.17,No.3 (2002.5),エージェントアプローチ人工知能（共立出版）(1997.12))を用いることにより、ユーザの入力の内容を表すデータを得ることができる。
【００２６】
一次記憶部２０４は、ユーザから入力された音声入力データや解析部２０３の解析結果などを保存する。記憶部２０５は、ユーザ入力を音声認識したり、言語解析したりするために必要な音声認識用辞書・規則情報および言語解析用辞書・規則情報などの音声言語解析用辞書や、ユーザ情報、ユーザの計画・目的情報、ドメイン知識情報など、長期にわたって利用する情報を保持する。なお、本実施形態では、一次記憶部２０４と記憶部２０５は構成上別になっているが、装置として別構成でなければならないなどの制約は特にない。
【００２７】
通信部２０６は、ネットワークを介した情報のやり取りを行う機能を有する部分であり、図１のローカルネットワーク１０３やネットワーク１０１を介して、そこに接続されている機器（例えば、図１のTV１０５、PC１０６等）やサービスエージェント１０２との情報の授受を可能とする。制御部２０７は、上記各部分を制御しながら、ユーザと音声対話を行うことでユーザの要求を効率良く満足する。
【００２８】
図３に本実施形態に係る音声対話システムによる対話例を示す。この対話例では、ユーザがテレビ番組でサッカーのワールドカップの特集番組を見ている時に、ワールドカップのツアー予約を思いつき、それを本実施形態に係る音声対話システムを用いて実行するという例になっている。
【００２９】
ここで、「0 テレビ番組でサッカーのワールドカップの特集番組を見ていて...」は、会話が始まる前の状況を表す文であり、発話そのものではない。1〜9はユーザあるいはエージェントからの発話を表しており、「U:」はユーザからの発話、「ME:」はマイエージェント１０４からの発話、「SE:」はサービスエージェント１０２からの発話を表している。
【００３０】
会話が始まる前の状況において、マイエージェント１０４は、ユーザが視聴しているTV番組（TV画面に出ている番組）の次のような、ユーザが視聴している情報をローカルネット１０３を介してTV１０５より取得している。
【００３１】
[EPGからの情報]  
EPGコード   ： EPJ34345-324587  
番組タイトル： 2012 ワールドカップへの道  
出演者      ： 山田太郎、中野進  
局          ： DJL  
時間        ： 2011:11:20,20:00-21:00  
分類        ： スポーツ→サッカー  
キーワード  ： サッカー,ワールドカップ,日本代表  
例えば、ハードディスクドライブを備えたレコーダーなど、TV以外の機器が録画したコンテンツを流しているような場合にも、コンテンツのメタ情報を得ることは可能である。このようなメタ情報は、ユーザの発話の解釈を行う際にマイエージェントにより参照・利用される。
【００３２】
以下で、「1 U:ナンナン（マイエージェントの名称）。ワールドカップのツアーの予約をしておきたいのだけど。」のユーザ発話入力に対して、「2 ME: ツアー予約サービスを探してみますか？」という応答をマイエージェントが生成するまでを例にとり、エージェントの処理の流れを説明する。
【００３３】
図４にMYエージェントの制御部２０７の処理フローを示す。制御部２０７はユーザからの音声入力「ナンナン ワールドカップノツアーノヨヤクヲシテオキタイノダケド」を検出する（Ｓ４０１）と、それを音声認識して単語系列「ナンナン[固有名詞] ワールドカップ[名詞]の[格助詞]ツアー[名詞]の[格助詞] 予約[サ変名詞]を[格助詞]し[動詞]ておきたいのだけど[助動詞]」に変換する（Ｓ４０２）。さらに言語解析（Ｓ４０３）を行うことにより,次のような言語解析結果を得る。
【００３４】
言語解析結果：[予約  
[target ツアー [no ワールドカップ]]  
[modal たいのだけど]]  
言語解析は、前述の文献で参照されている文脈自由文法をベースにした構文解析技術ならびに意味解析技術利用することで実現できる。言語解析結果は、入力発話中の語の依存関係を表している。例えば、「ツアー」という語は、"target(対象)"という意味関係で「予約」という語に関係している。また、「たいのだけど」という表現は、"modal"(modality:様相)という関係で「予約」という語に関係しており、「予約」という動作に対してユーザが「たい」という様相を有しているということを表している。
【００３５】
文脈解析処理（Ｓ４０４）では、言語解析により得られた言語解析結果中の各語が、どのような「オブジェクト」をさしているかの同定を行う。「オブジェクト」とは、計算機内部に生成される「もの」や「こと」に相当し、例えば、「ワールドカップ」、「ツアー」などの語が指し示すものに相当する。「オブジェクト」は、通常、現実世界の事物に対応している。オブジェクトは、対話の進展に応じて生成され一次記憶部２０４に文脈情報として蓄積される。本実施形態では現れていないが、「それ」などの指示代名詞が入力文に現れている場合など、実際に「それ」が指し示すオブジェクトが一次記憶部２０４に対して検索され、どのオブジェクトを指し示していたかが同定される。このような文脈処理も上記述べたような既存技術で実現することが可能である。
【００３６】
オブジェクトの生成は、次のように行われる。言語解析結果中の各語は、例えば言語解析に用いた辞書などにおいて、その語に対応する「クラス（概念）」の情報を有している。例えば、「ワールドカップ」という語は、"world_cup"というIDで示されるクラスに対応し、種々のワールドカップに対応するクラス（概念）を表している。こうしたクラス(概念)は、概念辞書(例えば、日本電子化辞書研究所編: EDR電子化辞書仕様説明書(第2版), EDR テクニカルレポートTR2- 007, (1995)）によりその対応する上位のクラスや下位のクラスが定義されている。例えば、「ワールドカップ」には、「サッカーのワールドカップ」、「バレーボールのワールドカップ」といった複数の下位概念等に関する情報が定義されている。こうした知識情報は、記憶部２０５に記録されている。オブジェクトは、この概念体系の特定のクラスのインスタンス（通常実世界と対応をもつ具体的な１つの要素）となっている。文脈解析では、言語解析結果中の語により新規の要素が言及された場合には、それに対応する新規のオブジェクトとして特定のクラスのインスタンスを生成し、既に文脈中に存在するオブジェクトが言及された場合には、そのオブジェクトを指し示すものとして解析を行う。
【００３７】
本実施形態では、前記、ユーザが視聴しているTV画面の番組情報の情報を取得し、一次記憶部２０４にユーザ視聴に関する文脈情報として記憶する。この情報を用いてユーザ情報の補完を行うことができる。例えば、上記会話例では、ユーザの発話は、「ワールドカップ」という表現のみであり、それがどの種類のワールドカップであるかは明示されていないが、文脈処理において「ワールドカップ」の下位概念として「サッカーのワールドカップ(soccer_world_cup)」、「バレーボールのワールドカップ(volleyball_world_cup)」が存在した場合に、文脈情報としてTV番組情報の分類情報から「サッカー」という語が存在することから、この「ワールドカップ」という語が「サッカーのワールドカップ(soccer_world_cup)」というクラス（概念）であると推定することができ、「ワールドカップ」という言語解析結果中の語に対して、"soccer_world_cup" クラス(概念）に対応するオブジェクト"soccer_world_cup[1]"を生成し対応付ける。ここで、"[1]"は、このクラスのインスタンスのIDであり、クラスのインスタンスとしての唯一性を表現している。このように、文脈処理により言語解析結果中の各語の指し示すオブジェクトを同定する。文脈処理により次のような語とオブジェクトとの対応関係が得られる。
【００３８】
語              オブジェクト  
予約            ： make_reservation[1]  
ツアー          ： tour[1]  
ワールドカップ  ： soccer_world_cup[1]  
要求解析処理（Ｓ４０５）では、言語解析処理結果と文脈解析処理結果から、ユーザ発話の要求を抽出する処理、すなわち、対話システムが推論処理や実際の動作オペレーションを行うことが可能となる記号レベルの表現への変換処理を行う。基本的には、ユーザの目的とするプランとそれを実現するためのゴールを基本とした既存の手法(エージェントアプローチ人工知能（共立出版）(1997.12),"Natural Language Processing : A Knowledge-EngineeringApproach", R. E. Cullingford (1986)など)を適用することが可能である。
【００３９】
入力例文に対しては、言語解析結果ならびに語とオブジェクトの対応関係で「予約(make_reservation)」に対して、[modal たいのだけど]が結びついていることから、ユーザの要望が「予約」であることを表す次のデータ構造の生成を行う。  
request(goal(make_reservation))  
ここで、request(goal))はユーザが、特定の目的(goal)を満足することを要望しているというユーザ意図を表現しており、「たいのだけど」という言語表現にリンクした辞書情報（記憶部２０５に記録保持されている）をもとに合成される。また、「予約(make_reservation」に対して、[target ツアー(tou) [no ワールドカップ(succor_world_cup)]]が結びついていることから、オブジェクト"make_reservation"(IDは省略)の対象として,"tour"と"soccer_world_cup"が同定され、次の構造が生成される。  
make_reservation(tour,succor_world_cup)  
これらを統合することにより、要求解析処理の出力として次が得られる。  
要求解析結果：request(goal(make_reservation(tour,succor_world_cup)))  
以上により、ユーザ発話に対するユーザの要求がシステム内部の記述として得られる。
【００４０】
問題解決処理（Ｓ４０６）は、プランゴールの推論を行うことにより、ユーザの要望を満足するためのプランの作成とそれに必要な処理の実行を行う。プランゴールによる推論処理についても基本的には技術開発が行われており、既存手法(エージェントアプローチ人工知能（共立出版）(1997.12))を適用することが可能である。すなわち、問題解決処理は、要求解析結果のトップレベルが"request"であることから、"goal(make_reservation(tour,succor_world_cup))"のゴールを満足することをユーザが要求していることを認識し、ゴールを実現するためのプラン作成と実行を行う。プラン作成は、記憶部２０５に記憶されているプランゴールデータベース（ゴールとそのゴールを実現するためのサブゴールならびに処理を定義したデータベース）を検索することにより実行される。ユーザのゴール"make_reservation(tour,succor_world_cup)"に対する検索結果として、次のようなプランゴールが検索される。
【００４１】
[プランゴールDBの検索]  
make_reservation(tour) ←  
1. search_local(make_reservation(tour)) or  
2. use_internet_service(make_reservation(tour))  
このプランゴールは、旅行"tour"を予約するというゴールは、"make_reservation(tour)"をローカルに存在する履歴情報DBを検索する（図示しないが、記憶部２０５に記憶されている）かあるいは"use_internet_service"により実行するかにより解決するかのいずれかを選択実行することを示している。制御部２０７は、順次これをトライするが、ここでは、旅行の予約(make_reservation(tour))がローカルの履歴に存在しないとし、第２のインターネットサービス利用を選択することをトライする。基本的に外部インターネットサービスの利用は、Webサービスなどのサービスディレクトリにユーザの要望を伝えることにより、それを満たすサービスエージェントのリストを返すなどのサービス発見技術により実現することが可能である。次は、プランゴールDBに格納された"use_internet_service(Goal)"のプランゴールテンプレートの例を示している。
【００４２】
[インターネットサービスのプランゴールテンプレート]  
use_internet_service(Goal) ←  
search_internet_service(Goal,ServiceAgents),  
(not_success ⇒ plan_fail)  
select_service(ServiceAgents,Agent),の  
(not_success ⇒ plan_fail)  
execute_service(Agent,Goal),  
(not_success ⇒ plan_fail)  
このテンプレートは、"search_internet_service"により特定の"Goal"を満足するインターネットサービスエージェントを検索し、"select_service"により検索されたサービスから１つのサービスを選択し、"execute_service"により、選択されたサービスを実行するというステップを順次実行することを示している。"(not_success ⇒ plan_fail)"は、各処理の実行が失敗した場合には、そのプランの実行が失敗し、それにより全体のゴールの満足ができなくなることを示している。問題解決処理は、"make_reservation"を実現するために、"use_internet_service"を実行しようとする。ここで、"use_internet_service"の実行をユーザとのインタラクションを行うことにより確認する。
【００４３】
サブゴールの実行をユーザに確認するか否かの判定は、プランゴールのテンプレートに直接ユーザへの問い合わせ処理として記述されたり、問題解決処理がサブゴールの実行がある程度処理が複雑であるなどの汎用的な知識により、問い合わせを自動的に行ったりするなどにより実施される。この場合は、"use_internet_service"の処理が他のサービスエージェントの呼び出し実行となり、ユーザにとって大きな処理となることから、ユーザに対して対話的に問い合わせを行うように判断する。すなわち、制御部により、"make_reservation(tour,succor_world_cup)"ゴールが一時記憶部２０４に「目標ユーザゴール」として設定され、"use_internet_service(make_reservation(tour))"ゴールが提案ゴールとして設定される。
【００４４】
目標ユーザゴール：make_reservation(tour,succor_world_cup)  
提案ゴール: use_internet_service(make_reservation(tour))  
提案ゴールは、ユーザへの確認ができることにより目標ユーザサブゴールに変換可能であるため、制御部は、提案ゴールをユーザに問い合わせるという処理を行う。ユーザへの問い合わせなどのインタラクションは、応答処理（Ｓ４０７）により行われる。応答処理では、基本的には特定の発話テンプレートに対して、一時記憶部２０４に記憶された情報などを埋め込むことにより、文を構築し,出力部２０２を介して、音声合成したり、表示装置に表示したりすることによりユーザへ提示する。この会話例では、"use_internet_service(X)"に対して"提案ゴール"を"目標ゴール" に設定するためのインタラクションは、「Xサービスを探してみますか?」という発話テンプレートが"use_internet_service"に対して定義されている。変数"X"の部分は,"make_reservation(tour)"に対する言語表現を埋め込むことを示しており、"make_reservation"には「予約」、"tour"には「ツアー」という言語表現が対応する。この情報は、言語解析を行った結果得られる「語」と「オブジェクト」の対応関係情報を参照することにより得ることができ、"make_reservation(tour)"に対して「ツアー予約」が生成され、全体として「ツアー予約サービスを探してみますか？」という文が生成・発話される。以上により、  
2  ME: ツアー予約サービスを探してみますか？  
という発話が生成される。以上により、ユーザの要求発話1に対して、MYエージェントが質問発話2を生成するまでの処理の概要を示した。MYエージェントは、基本的には図４の処理を繰り返し、一時記憶部の情報を更新しながら対話を進める。
【００４５】
以下は、図３の3以降の処理概要を説明する。既に述べたように、図４の一連の処理は、既存の技術を利用することにより実現される。  
3   U: うん。日本・フランス戦を予約したい。  
に対して、言語解析結果は次のようになる。
【００４６】
言語解析：[うん]  
[予約  
[target 日本・フランス戦]  
[modal want]]  
ここで、「うん」は、質問を出している状況ではそれに対する肯定的解釈であるという判定が可能であることから、要求解析処理は、[うん]を"acknowledge"(肯定的解釈)として判断する。
【００４７】
要求解析１：  
[うん] : acknowledge.  
要求解析の結果が肯定的解釈であることから、提案ゴールを目標ゴールに設定することが了承されたと判断できるため、一時記憶部204のプランゴールの状況が次のように改定される。
【００４８】
目標ユーザゴール：make_reservation(tour,succor_world_cup)  
目標ユーザゴール: use_internet_service(make_reservation(tour))  
次に、次の言語解析結果、"[予約 [target 日本・フランス戦] [modal want]]"に対する文脈処理と要求解析処理が行われる。ここで、"[modalwant]"は、ユーザが要求を出していると解析される。本発明の内容とは直接関係がないため、詳細な説明は省略するが、この言語解析結果は、「予約」の対象が日本・フランス戦("Japan-French-match")であると認識され、要求解析結果は次のようになる。  
要求解析２： request(goal(make_reservation(Japan-French-match)))
問題解決処理では、一時記憶部204のプランゴールの状況と要求解析結果を総合判断することにより、"Japan-French-match"がサッカーのワールドカップ("succor_world_cup"オブジェクト)に対する条件であることが判定され、これらオブジェクト情報によるゴールのアップデートが行われる。  
目標ユーザゴール: use_internet_service(make_reservation(tour,succor_world_cup,Japan-French-match)))  
さらに、MYエージェントは、この目標ユーザゴールを上記のプランゴールテンプレートを用いて展開し、最初のサブゴール"search_internet_service(X,ServiceAgents)"を実行する。ここでは、3つのサービスエージェント[ABC_Travel,Dream_Travel,World_Travel]が検索できたとする。検索が成功したので、第２のサブゴール"select_service"を実行する。詳細は省略するが、"select_service"は、ユーザに対してサービスの選択を問い合わせて選択する処理であり、応答処理により次の応答動作を生成する。  
4  ME: 旅行サービスで次の３つがありました。どこにしますか？  
(画面に候補概要を表示)  
また、ユーザゴールは、次のようになる。  
目標ユーザゴール: select_service([ABC_Travel,Dream_Travel,World_Travel],Agent),  
表示とともに、検索結果の３つのサービスエージェントに関する情報(名称、アドレスなど画面表示される情報を含む）が、一時記憶部２０４に記憶される。  
5   U: (画面を見て) ワールドトラベル。  
この発話に対する言語解析ならびに要求解析の結果は次のようになる。  
言語解析：[ワールドトラベル]  
要求解析：simple_utterance(ワールドトラベル)  
１つ前のMYエージェントの応答は"select_service"に基づくユーザに対する問い合わせであるため,要求解析結果が選択要求に対する回答であるか否かの判定が行われ、この場合は名称が一致するため"World_Travel"オブジェクト(ワールドトラベル社)を指示した回答であるとMYエージェントが判定でき、"select_service"のゴールが達成され、変数Agentに"World_travel"オブジェクトが設定される。さらに次のサブゴール"execute_service"の問題解決処理が行われる。前述と同様な基準により、次の"execute_service"が提案ゴールとして判定され、ユーザへの問い合わせがなされる。  
提案ゴール：execute_service('World_travel',make_reservation(tour,succor_world_cup,Japan-French-match))),  
6 ME: 了解。ワールドとラベルにサッカーのワールドカップのツアー予約  
でコンタクトします。いいですね？  
この問い合わせに対して次のユーザの回答を得る。  
7   U: OK。  
前述と同様に言語解析、要求解析が行われる。「OK」は、"acknowledge"(肯定的解釈)として判断されるため、提案ゴールが次の目標ゴールとなり、サブゴール"execute_service"が実行される。
【００４９】
言語解析：[OK]  
要求解析：simple_utterance(OK)  
目標ゴール：execute_service('World_travel',make_reservation(tour,succor_world_cup,Japan-French-match))),  
"execute_service"は、MYエージェントが外部のサービスエージェントを呼び出す処理であり、制御部２０７は、図５に示す接続処理を実行する。サービスエージェントは、ネットワークを介してMYエージェントと通信が可能であり、実施例では'World_travel'オブジェクトが保持するURLなどの情報によりアドレッシングが可能である。Ｓ５０１では、サービスエージェントとの通信回線を確立し、ユーザが実行したい要求（ゴール記述）を伝達する。実施例会話の場合には、「サッカーワールドカップの日本・フランス戦のツアー予約」に対する次のゴール情報が伝達される。  
目標ゴール: goal(make_reservation(tour,succor_world_cup,Japan-French-match)))  
目標ゴール情報を受け取ったサービスエージェントは、そのエージェントの記憶部に蓄積されたプランゴールデータベースを検索することにより、このゴールを実行可能か否かを判定することができ、実行の可否（あるいは、実行可能である可能性の有無）の情報をサービスを要求したエージェントに通知する。MYエージェントは、Ｓ５０２にてサービスの実行の可否を判定し、実行が不可の場合は、Ｓ５０３にて利用不可の理由情報を要求・受信して接続処理を終了する。実行が可能な場合は、Ｓ５０４にてユーザ情報の伝達を行う。図６は、本実施形態に係る音声言語対話システムにおけるユーザ情報の一例を示している。"user_info"は、サービスを利用しようとするユーザの属性情報などに相当し、"user_name(initial('Y'))"は、MYエージェントが保持しているユーザのイニシャル情報であり、"sex(male)"はユーザの性別情報である。
【００５０】
また、"context_info"は、サービスエージェントを利用するに至った関連コンテキスト情報を示している。例の"reference(tv_program(EPJ34345-324587))"は、ユーザが対話を始めた時に見ていたテレビ番組の情報であり、EPGのIDや時間情報などを表す参照情報である。また、"conversation_context"は、サービスエージェントを利用するまでにMYエージェントとユーザの間で交わされた対話履歴情報である。この例では文字列で表現しているが、MYエージェントにより作成された言語解析結果、要求解析結果、文脈解析結果などの情報も伝達の対象となりうる。こうしたユーザ情報の伝達を行った後に、図５のＳ５０５により、ユーザとサービスエージェントの対話のやり取りを可能とする。
【００５１】
本実施形態によれば、ユーザがMYエージェントとの対話を行っている際に、別のサービスエージェントを呼び出したりした場合に、MYエージェントとユーザの間で授受された情報が、別のサービスエージェントとユーザの対話が行われる前にサービスエージェントに伝達されるため、ユーザとサービスエージェントとの間の対話が省略できる。例えば、本実施形態では、次の文のように、ユーザとサービスエージェントとの対話が始まった際に、必要な情報がサービスエージェントに伝達されており、ユーザとの余分なやり取りをしないで済むという利点が生じる。  
8  SE: ワールドトラベルの予約サービスです。Ｙ様。  
サッカーワールドカップツアーの日本・フランス戦の予約を行いたい  
との話ですね。  
9   U: そうです。  
次に、本実施形態の第２および第３の特徴について説明する。第２の特徴は、複数のサービスエージェントが起動されユーザとの情報のやり取りを行う際に、利用者から入力される音声言語情報に対する解析をMYエージェントが行い、解析より得られる情報をサービスエージェントに伝達することである。
【００５２】
第３の特徴は、複数のサービスエージェントが起動されユーザとの情報のやり取りを行う際に、利用者及び/あるいはMYエージェントからの情報に対して２つ以上のサービスエージェントが返す応答情報を所定の知識情報に応じて比較判断することにより、特定のサービスエージェントの情報を他のエージェントからの情報と弁別できるように利用者に提示することである。
【００５３】
図７にMYエージェントを利用して２つのサービスエージェントとのやり取りを行う際の構成図を示す。７０１はユーザとのやり取りを行うパネル型の音声入力音声出力機能付きインタフェース、７０２はMYエージェント、７０３はMYエージェントと外部サービスエージェントを接続する通信チャネル、７０４と７０５はサービスエージェントである。外部サービスエージェントは通信回線を介してインタフェース７０１をそれぞれの入出力手段として用いることができる。
【００５４】
図８は、本実施形態に係る音声言語対話システムを用いて行われる会話例をしめしている。文番号４までの対話は、図３の対話例と同じであり、処理は前述のように進展する。
【００５５】
文番号５により、ユーザは２つのサービスエージェントとの対話を指示する。この結果、次の提案ゴールが作成され、"World_travel"か"ABC_travel"のいずれかを用いて問題解決を行うという提案（文6)がユーザに対してなされる。提案ゴール：execute_service('World_travel'|'ABC_travel',                make_reservation(tour,succor_world_cup,Japan-French-match)))文7でユーザがこの提案を了承し、MYエージェントは、"exevute_service"を実行するが、複数のエージェント対象からサービスを受けると判定できるため、図９に示したフローにより処理を行う。
【００５６】
Ｓ９０１では、各サービスエージェントとの通信回線を確立し、ユーザが実行したい要求（ゴール記述）を伝達する。実施例会話の場合には、「サッカーワールドカップの日本・フランス戦のツアー予約」に対する次のゴール情報が伝達される。  目標ゴール: goal(make_reservation(tour,succor_world_cup,Japan-French-match)))目標ゴール情報を受け取った各サービスエージェントは、そのエージェントの記憶部に蓄積されたプランゴールデータベースを検索することにより、このゴールを実行可能か否かを判定することができ、実行の可否（あるいは、実行可能である可能性の有無）の情報をサービスを要求したMYエージェントに通知する。MYエージェントは、Ｓ９０２にて各エージェントからサービスの実行の可否を判定し、全てのサービスエージェントが実行不可の場合は、Ｓ９０３にてその理由情報を要求・受信して接続処理を終了する。実行が可能なサービスエージェントが存在する場合は、Ｓ９０４にて各サービスエージェントにユーザ情報の伝達を行う。実行が可能なサービスエージェントが１つのみの場合には、その旨をユーザに通知し、図５と同様な処理を行う。
【００５７】
以下の説明では、サービスエージェントが複数存在する場合（"World_travel"と"ABC_travel")を想定する。Ｓ９０５では、ユーザからの入力が行われたか否かの判定がなされ、ユーザからの入力が存在する場合にＳ９０６において、その入力に対する音声認識、言語解析、文脈解析、要求解析が実施され、ユーザの要求を得る。Ｓ９０７において、Ｓ９０６で得られた音声認識、言語解析、文脈解析、要求解析情報をサービスエージェントに伝達する。Ｓ９０８では、サービスエージェントからの情報インプットがあるか否かを判定し、情報インプットがある場合は、Ｓ９０９のサービスエージェントの入力処理を行う。この処理では、複数のサービスエージェントからの情報をユーザに一覧提示できるよう、各エージェント間のメッセージの調整を行う。例えば、ユーザからの要望に対して、１つのエージェントが回答情報を返したのに対して、別のエージェントが回答情報を得るために必要な追加情報を要求した場合に、このエージェントに対して情報提供を行うことにより、このエージェントからの回答情報を得ることにより、２つのエージェントからの回答情報をそろえて得ることで、ユーザに対して同じレベルの回答を提示することが可能となる。
【００５８】
また、２つのエージェントが同種の情報提供を要求した場合などは、ユーザに対して問い合わせて提供したり、MYエージェントの持つ情報内で提供可能な情報を提供するなどして、ユーザの手間を少なくして、対話を並行して進めることができる。Ｓ９１０では、Ｓ９０９でのエージェントからの情報をまとめてユーザに提示する。Ｓ９１１では、ユーザとエージェントの間の対話が終了したか否かを判断する。これは、ユーザの初期ゴールが得られたり、ゴールの実現が不可能と判定されたり、ユーザからの終了を意図する入力が行われたりしたかを判定することで実現可能である。
【００５９】
図８の会話例をもとに図９の動作を説明する。Ｓ９０１〜Ｓ９０４の処理は、前述と同様に進み、文８に対応する情報がサービスエージェント１、サービスエージェント２から送られてくる。
【００６０】
SE1: inform(greeting(start,"ワールドトラベルの予約サービスです。Ｙ様。")).  
SE2: inform(greeting(start,"こんにちは。ABCトラベルです。")).  
それぞれの開始の挨拶をユーザに伝達する旨の情報である。MYエージェントは、Ｓ９０９でこれらのメッセージを解釈し、Ｓ９１０でユーザの画面に、それぞれのメッセージがどのサービスエージェントから出されたかが分るように提示する。
【００６１】
8  SE1: ワールドトラベルの予約サービスです。Ｙ様。  
SE2: こんにちは。ABCトラベルです。  
次にユーザから文９の入力がなされる。  
9    U: ツアーは予約できますか。  
この入力は、Ｓ９０６において、その入力に対する音声認識、言語解析、文脈解析、要求解析が実施される。前述した処理により、ツアーの予約が可能であるかを問い合わせる内容であると解析される。  
要求解析結果：question(possible(make_reservation(tour,succor_world_cup,Japan-French-match)))  
Ｓ９０７において、Ｓ９０６で得られた音声認識、言語解析、文脈解析、要求解析情報をサービスエージェントに伝達する。ここで、サービスエージェント１は、ツアーの予約状況のDBを検索し、エコノミーパック(価格20万円)は売り切れであるが、標準パック(価格30万円）は販売中であるという情報を検索する。サービスエージェントは、ツアーの予約が可能であるかのユーザの質問に対する回答とツアーの名称と価格と販売可能性情報を付加情報としてMYエージェントに通知する。一方、サービスエージェント２は、ユーザの質問に対して、予約可能であるとの情報をMYエージェントに通知する。MYエージェントは、サービスエージェント１とサービスエージェント２の情報を比較し、サービスエージェント１とサービスエージェント２の情報を同じ内容になるよう調整を図る。このため、MYエージェントは、サービスエージェント２に対して、ツアーの名称と価格情報の提供を要求し、サービスエージェントは、ツアー名称「日仏パック」と価格情報「23万円」をMYエージェントに通知する。以上の処理により、サービスエージェント１とサービスエージェント２の回答情報項目が一致する。次に図９のＳ９１０の処理により、ユーザに対して、図８の文10の音声出力とともに、各サービスエージェントから得られた情報を、ユーザの画面に、それぞれのメッセージがどのサービスエージェントから出されたかが分るように提示する。
【００６２】
10   ME: 両方とも大丈夫です。  
(SE1表示 エコノミーパック 20万円 売り切れ、標準パック 30万円 販売中)  
(SE2表示 日仏パック 23万円 販売中)  
以上のように、複数のサービスエージェントに対するユーザの入力を、MYエージェントが解析して、各サービスエージェントに提供することにより、１つの音声認識結果、言語解析結果、要求解析結果が提供可能となり、各サービスエージェント毎に処理する場合に生じる、解釈の差による各サービスエージェント毎の応答のばらつきを避けることができる。また、ユーザからの入力に対してサービスエージェントが返す情報を比較し、片方のエージェントからの情報に含まれているが別のエージェントからの情報に含まれていない項目を検出し、足りない情報はMYエージェントからサービスエージェントに要求し獲得することにより、整合性のとれた情報提示が可能となる。１つのユーザ入力を複数のサービスエージェントに1回の手数で伝達し、整合性の取れた情報を提示することにより、ユーザとサービスエージェント間の対話のやり取りの数を減らし、効率的な音声言語対話システムを構築することが可能である。
【００６３】
上述した実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の趣旨を逸脱しない範囲であれば、適宜組合わせ及び変更することができることはいうまでもない。
【図面の簡単な説明】
【００６４】
【図１】本実施形態に係る音声言語対話装置を適用するネットワークシステムの構成図。
【図２】MYエージェント１０４がパソコンなど上で動作する場合の機能ブロック図。
【図３】本実施形態に係る音声対話システムによる対話例を示す図。
【図４】MYエージェント１０４の制御部２０７の処理フロー図。
【図５】MYエージェント１０４の外部サービスエージェント１０２への接続処理フロー図。
【図６】本実施形態に係る音声言語対話システムにおけるユーザ情報の一例を示す図。
【図７】MYエージェント１０４を利用して２つのサービスエージェント１０２とのやり取りを行う際の構成図。
【図８】２つのサービスエージェントと対話する場合の、本実施形態に係る音声対話システムによる対話例を示す図。
【図９】MYエージェント１０４が複数の外部サービスエージェント１０２を利用する際の処理フロー図。
【符号の説明】
【００６５】
１０１  ネットワーク
１０２、７０４、７０５  サービスエージェント
１０３  ローカルネットワーク
１０４、７０２  MYエージェント
１０５  テレビ
１０６  パソコン
２０１  入力部
２０２  出力部
２０３  解析部
２０４  一次記憶部
２０５  記憶部
２０６  通信部
２０７  制御部
７０１  パネル型の音声入力音声出力機能付きインタフェース
７０３  通信チャネル
【図１】
2008090545.tif 000003
【図２】
2008090545.tif 000004
【図３】
2008090545.tif 000005
【図４】
2008090545.tif 000006
【図５】
2008090545.tif 000007
【図６】
2008090545.tif 000008
【図７】
2008090545.tif 000009
【図８】
2008090545.tif 000010
【図９】
2008090545.tif 000011