(57)【要約】【課題】ユーザの発話に対し、短時間で、重要な情報を含む応答を出力する。【解決手段】端末（１）は、音声に対して候補フレーズを並行して生成する第１および第２応答生成部（１３・２２）から取得した複数の候補フレーズから、情報の重要度が最も高い候補フレーズを応答フレーズとして選択する選択応答選択部（１４２）を備える。【選択図】図１
2015127758.tif 000002
【特許請求の範囲】
【請求項１】
音声に対する応答を制御する応答制御装置であって、
複数の応答生成手段のそれぞれによって、上記音声に基づいて生成された複数の候補フレーズを取得する候補フレーズ取得手段と、
上記候補フレーズ取得手段が取得した上記複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する情報の重要度が最も高い候補フレーズを、応答フレーズとして選択する選択手段とを備えることを特徴とする応答制御装置。
【請求項２】
上記複数の候補フレーズはそれぞれ、１個以上の基準フレーズと０個以上の付加フレーズとからなり、
上記選択手段は、付加フレーズを含む候補フレーズを、付加フレーズを含まない候補フレーズよりも上記重要度が高いと判定することを特徴とする請求項１に記載の応答制御装置。
【請求項３】
上記付加フレーズには付加ポイントが設定されており、
上記選択手段は、上記候補フレーズに含まれる上記付加フレーズに設定された上記付加ポイントの合計値を、当該候補フレーズの上記重要度とすることを特徴とする請求項２に記載の応答制御装置。
【請求項４】
上記付加フレーズにはカテゴリが設定されており、
上記選択手段によって選択されなかった上記候補フレーズであって、上記選択手段によって選択された上記応答フレーズに含まれる上記基準フレーズと同内容の上記基準フレーズを含む上記候補フレーズが、上記応答フレーズに含まれる上記付加フレーズに設定された上記カテゴリとは異なる上記カテゴリが設定された上記付加フレーズを含む場合、該付加フレーズを、上記応答フレーズに付加するフレーズ追加手段をさらに備えることを特徴とする請求項２または３に記載の応答制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の応答制御装置としてコンピュータを機能させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの音声に応答する応答制御装置等に関する。
【背景技術】
【０００２】
従来、自動的に会話等の処理を行うロボットおよび音声処理システムが普及している。例えば特許文献１には、ユーザのリクエストに応じて特定のサーバにリクエストを転送し、サーバは、ローカルの記憶システムにない情報が要求されているとインターネット上の情報空間を検索して検索結果をロボットに送り返す技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１１１９８１号公報（２００３年０４月１５日公開）
【特許文献２】特開２００６−１０６７６１号公報（２００６年０４月２０日公開）
【特許文献３】特開２００９−２６５２１９号公報（２００９年１１月１２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術は、ユーザが発話してから該発話に対する応答を取得するまでの待ち時間が長くなる可能性が高いという課題がある。すなわち、上述のロボットおよび端末では、ローカルの記憶領域での検索処理および端末での処理の後に、インターネット上での検索処理およびサーバでの処理が実行される。従って、上述のロボットおよび端末がユーザの発話を取得してから、該発話に対する応答を出力するまでの時間は長くなる可能性が高い。ここで、ユーザが発話してから該発話に対する応答を取得するまでの待ち時間を短縮するために、端末とサーバとが各々音声処理を並行して実行することが考えられる。しかし、端末とサーバとが各々音声処理を並行して実行する場合、端末の音声処理結果とサーバの音声処理結果のいずれをユーザに出力するかという問題が残る。そして、上述のような従来技術には、端末とサーバとが各々音声処理を並行して実行する場合に端末の音声処理結果とサーバの音声処理結果のいずれをユーザに出力するかという問題を解決する手段は、開示も示唆もされていない。
【０００５】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、ユーザの発話に対して複数の音声処理を並行して得た複数の候補に基づいて、適切な応答を行う応答制御装置等を実現することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る応答制御装置は、音声に対する応答を制御する応答制御装置であって、複数の応答生成手段のそれぞれによって、上記音声に基づいて生成された複数の候補フレーズを取得する候補フレーズ取得手段と、上記候補フレーズ取得手段が取得した上記複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する情報の重要度が最も高い候補フレーズを、応答フレーズとして選択する選択手段とを備えていることを特徴としている。
【０００７】
また、本発明の一態様に係る応答制御装置の制御方法は、音声に対する応答を制御する応答制御装置の制御方法であって、複数の応答生成手段のそれぞれによって、上記音声に基づいて生成された複数の候補フレーズを取得する候補フレーズ取得ステップと、上記候補フレーズ取得ステップが取得した上記複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する情報の重要度が最も高い候補フレーズを、応答フレーズとして選択する選択ステップとを含むことを特徴としている。
【発明の効果】
【０００８】
本発明の一態様によれば、上記音声に対し上記複数の応答生成手段のそれぞれにより生成された複数の候補フレーズに基づいて、適切な応答を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る応答制御装置を含む音声応答システムの要部構成を示すブロック図である。
【図２】図１の音声応答システムの概要を示す図である。
【図３】図１の応答制御装置および音声処理サーバに格納されている基準フレーズテーブルの例を示す図である。
【図４】図１の応答制御装置および音声処理サーバに格納されている付加フレーズテーブルの例を示す図である。
【図５】図１の応答制御装置および音声処理サーバの音声処理の概要を示すシーケンス図である。
【図６】図１の応答制御装置および音声処理サーバの応答生成処理の流れを示すシーケンス図である。
【図７】図１の応答制御装置の応答選択処理の流れを示すシーケンス図である。
【図８】本発明の別の実施形態に係る応答制御装置および音声処理サーバに格納されている付加フレーズテーブルの例を示す図である。
【図９】本発明の別の実施形態に係る応答制御装置および音声処理サーバの応答生成処理の流れを示すシーケンス図である。
【図１０】本発明のさらに別の実施形態に係る応答制御装置を含む音声応答システムの要部構成を示すブロック図である。
【図１１】図１０の応答制御装置および音声処理サーバに格納されている付加フレーズテーブルの例を示す図である。
【図１２】図１０の応答制御装置および音声処理サーバの応答生成処理の流れを示すシーケンス図である。
【図１３】図１０の応答制御装置の応答選択処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１０】
〔実施形態１〕
以下、本発明の一実施の形態について、図１〜図７を参照して説明する。ここでは、本発明の一態様に係る応答制御装置を、携帯端末１（以下、端末１と略記する）として実現した例について説明する。先ず、図２を参照して、端末１を含む音声応答システム１００の概要を説明する。図２は、音声応答システム１００の概要を示す図である。図示の通り、本実施の形態に係る音声応答システム１００は、端末１と音声処理サーバ２（以下、「サーバ２」と略記する）とを含む構成であり、端末１とサーバ２とは通信可能となっている。端末１は、ユーザの音声に対する応答候補フレーズ（以下、候補フレーズと略記する）を生成する処理（応答生成処理）を自ら行うとともに、サーバ２にも、端末１での応答生成処理と並行して、応答生成処理を実行させる。従って、端末での処理の後にサーバでの処理を実行するような従来の音声処理に比べ、端末１は、ユーザが発話してから該発話に対する応答をユーザが取得するまでのユーザの待ち時間を短縮できる。なお以下では、端末１が生成する候補フレーズを「候補フレーズ（Ａ）」と、サーバ２が生成する候補フレーズを「候補フレーズ（Ｂ）」と呼ぶ。端末１は、候補フレーズ（Ａ）と候補フレーズ（Ｂ）とを取得する。そして端末１は、上記２つの候補フレーズから、情報の重要度（応答レベル）がより高い候補フレーズを、出力すべき選択応答フレーズ（以下、選択フレーズと略記する）として選択し、該選択フレーズを出力する。例えば、ユーザが端末１に「今日の天気はなに？」と呼びかけると、端末１は、上記呼びかけに対する応答生成処理を自ら実行するとともに、サーバ２に対し、上記呼びかけに対する応答生成処理をリクエストする。端末１およびサーバ２は各々、外部の情報提供サーバ９８・９９から第１および第２外部情報を取得し、各々の応答生成処理に利用する。なお、端末１およびサーバ２の各々の有する情報検索能力、語彙力等により、端末１とサーバ２とで、応答生成処理の結果は異なり得る。例えば、端末１は、外部の情報提供サーバ９８から、「今日の天気は晴れ」との天気情報および「最高気温は○○度」との最高気温情報を第１外部情報として取得すると、「晴れだよ。最高気温は○○度だよ。」との候補フレーズ（Ａ）を生成する。サーバ２は、外部の情報提供サーバ９９から、「今日の天気は晴れ」との天気情報、「高気圧に覆われているので晴れ」との天気原因情報、および「最高気温は○○度」との最高気温情報を第２外部情報として取得すると、「晴れだよ。高気圧に覆われているからね。最高気温は○○度だよ。」との候補フレーズ（Ｂ）を生成する。そして、サーバ２は候補フレーズ（Ｂ）を端末１に通知する。端末１は、候補フレーズ（Ａ）と候補フレーズ（Ｂ）とを比較し、情報の重要度が高い方の候補フレーズを、出力すべき選択フレーズとして選択する。図２で、端末１は、候補フレーズ（Ａ）に含まれる天気情報と最高気温情報とに加えて、天気原因情報を含む候補フレーズ（Ｂ）を、選択フレーズとして選択し、「晴れだよ。高気圧に覆われているからね。最高気温は○○度だよ。」との選択フレーズを音声出力している。
【００１１】
以上に説明した端末１の概要を整理すれば、以下の通りである。すなわち、端末１は、音声に対する応答を制御する応答制御装置であって、第１応答生成部１３および第２応答生成部２２（複数の応答生成手段）のそれぞれによって、上記音声に基づいて生成された複数の候補フレーズを取得する候補取得部１４１（候補フレーズ取得手段）と、候補取得部１４１が取得した上記複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する応答レベル（情報の重要度）が最も高い候補フレーズを、選択フレーズ（応答フレーズ）として選択する応答選択部１４２（選択手段）とを備えている。従って、端末１は、上記複数の応答生成手段のそれぞれにより上記音声に対して生成された複数の候補フレーズに基づいて、適切な応答を行うことができる。すなわち、端末１は、第１応答生成部１３および第２応答生成部２２によって並行して生成された複数の候補フレーズから、情報の重要度が最も高い候補フレーズを選択フレーズとして選択し、該選択フレーズを出力する。端末１は、発話取得から応答出力までの時間を短縮するために複数の応答生成処理を並行して実行させ、該複数の応答生成処理の結果から、出力すべき応答を１つ選択する。
【００１２】
本実施の形態において、上記複数の候補フレーズはそれぞれ、１個以上の基準フレーズと０個以上の付加フレーズとからなり、応答選択部１４２は、付加フレーズを含む候補フレーズを、付加フレーズを含まない候補フレーズよりも応答レベルが高いと判定する。従って、端末１は、第１応答生成部１３および第２応答生成部２２が各々並行して生成した複数の候補フレーズから、付加フレーズの有無に応じて、出力すべき選択フレーズを選択する。従って、端末１は、ユーザの上記呼びかけに対する直接的な応答である基準フレーズだけでなく、付加的な応答である付加フレーズも出力できる。
【００１３】
端末１は第１応答生成部１３（応答生成手段）を備え、自ら応答生成処理を実行する。つまり、端末１は、例えば端末１を携帯するユーザの現在位置情報等、サーバ２が取得できない情報を利用して、自ら応答生成処理を実行する。なお、呼びかけ音声取得から応答までの時間を短縮するために複数の応答生成処理を並行して実行させ、該複数の応答生成処理の結果から出力すべき応答を１つ選択するのに、端末１が第１応答生成部１３を備えることは必須ではない。なお、端末１は、第１応答生成部１３以外の応答生成手段を備える外部の装置（例えば、第２応答生成部２２を備えるサーバ２）に、自らの応答生成処理に並行させて応答処理を実行させ、該外部の装置により生成された候補フレーズを取得する。詳細は後述する。
【００１４】
（用語説明）音声応答システム１００の実行する「音声処理」とは、音声認識処理と応答生成処理と音声合成処理とを含む処理を指す。「音声認識処理」とは、マイク１７が取得したユーザの呼びかけ音声データを、対応する文字データである呼びかけフレーズに変換する処理であり、音声データを文字データに変換する公知の音声認識処理と同様の処理であってもよい。「応答生成処理」とは、上記呼びかけフレーズに対応する文字データである候補フレーズを生成する処理である。「音声合成処理」とは、文字データである候補フレーズに対応する音声データを生成する処理であり、文字データを音声データに変換する公知の音声合成処理と同様の処理であってもよい。音声合成処理により生成された音声データは、スピーカ１９２から出力される。なお、端末１は、音声認識処理と応答生成処理と音声合成処理とに加え、応答選択処理を実行する。「応答選択処理」とは、詳細は後述するが、各々並行して行われる複数の応答生成処理の結果として生成される複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する情報の重要度が最も高い候補フレーズを、選択フレーズとして選択する処理である。
【００１５】
「呼びかけフレーズ」とは、マイク１７が取得した或る呼びかけ音声に対し、音声認識部１２が音声認識処理を実行して得る、文字データを指す。上記呼びかけフレーズに対し、第１応答生成部１３および第２応答生成部２２が生成する応答を「候補フレーズ」と呼ぶ。上記候補フレーズは、上記呼びかけフレーズに対する直接的な回答である「基準フレーズ」を含み、また、上記呼びかけフレーズに対する付加的な回答または情報を含む「付加フレーズ」が付加されていてもよい。或る呼びかけフレーズに対し、基準フレーズおよび付加フレーズの少なくとも一方は複数あってもよい。上記候補フレーズは、「基準フレーズのみ」または「基準フレーズと１つ以上の付加フレーズとの組み合わせ」である。例えば、呼びかけフレーズ＝「今日の天気は何？」に対し、「晴れだよ。」との基準フレーズ、「高気圧に覆われているからね。」との付加フレーズ（Ａ−１）、「最高気温は○○度になるよ。」との付加フレーズ（Ａ−２）が選択され得る場合、以下の候補フレーズが想定できる。すなわち、基準フレーズのみの「晴れだよ。」という候補フレーズと、基準フレーズに付加フレーズ（Ａ−１）を加えた「晴れだよ。高気圧に覆われているからね。」という候補フレーズと、基準フレーズに付加フレーズ（Ａ−２）を加えた「晴れだよ。最高気温は○○度になるよ。」という候補フレーズと、基準フレーズに付加フレーズ（Ａ−１）および付加フレーズ（Ａ−２）を加えた「晴れだよ。高気圧に覆われているからね。最高気温は○○度だよ。」という候補フレーズという４種類の候補フレーズが想定できる。なお、候補フレーズにおいて、基準フレーズに対し付加フレーズを付加する位置について制限はない。基準フレーズの「後」に付加フレーズを付加してもよいし、基準フレーズの「前」に付加フレーズを付加してもよい。さらに、２つ以上の付加フレーズの間に基準フレーズのある候補フレーズを生成してもよい。また、２以上の付加フレーズの前後について制限はなく、「晴れだよ。高気圧に覆われているからね。最高気温は○○度だよ。」としても、「晴れだよ。最高気温は○○度だよ。高気圧に覆われているからね。」としてもよい。
【００１６】
（端末の要部構成）図１は、端末１およびサーバ２の要部構成を示すブロック図である。図示の通り、端末１は、第１制御部１０、マイク１７、第１記憶部１８、および出力部１９を含む構成である。
マイク１７は、音声等を電気信号に変換し、音声認識部１２に通知する。
出力部１９は、表示部１９１とスピーカ１９２とを含む。表示部１９１は、選択結果出力部１４３から文字データとして通知される選択フレーズを画像として出力する。スピーカ１９２は、音声合成部１５から通知される音声データを音声として出力する。
第１記憶部１８は、端末１が使用する各種データを格納する。第１記憶部１８は、端末１の第１制御部１０が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを記憶する。上記の（１）〜（４）のデータは、例えば、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。また、第１記憶部１８には、第１基準フレーズテーブル１８１と第１付加フレーズテーブル１８２とが格納されている。
第１制御部１０は、音声認識処理、応答生成処理、応答選択処理、音声合成処理を含む端末１の機能を統括して制御するものであり、第１通信部１１、音声認識部１２、第１応答生成部１３、応答制御部１４、音声合成部１５および第１外部情報取得部１６を含む。
第１通信部１１は、サーバ２等との通信を行う。より詳細には、第１通信部１１は、（１）音声認識部１２から、マイク１７が取得した呼びかけ音声に対し音声認識部１２が音声認識処理を実行した結果である呼びかけフレーズと、該呼びかけフレーズに対する候補フレーズを生成する処理の実行要求（応答生成処理のリクエスト）とを取得する。そして、上記呼びかけフレーズと応答生成処理のリクエストとをサーバ２へ送信する。（２）サーバ２から、第２応答生成部２２の応答生成処理結果である候補フレーズ（Ｂ）を受信し、該候補フレーズを候補取得部１４１に通知する。（３）第１応答生成部１３が応答生成処理を実行しようとする際に端末１の保持している情報以外の情報である第１外部情報が必要である場合、該第１外部情報を外部の情報提供サーバ９８等から取得し、第１外部情報取得部１６に通知する。
音声認識部１２は、音声認識処理を実行する。つまり、音声認識部１２は先ず、マイク１７から通知された呼びかけ音声データを文字データである呼びかけフレーズに変換する。そして、上記呼びかけフレーズと、応答生成処理のリクエストとを、第１通信部１１および第１応答生成部１３に通知する。音声認識部１２は、音声データを文字データに変換する公知の音声認識に関する技術を利用してよく、音声認識処理そのものは従来技術を用いて可能であるので、詳細は省略する。
第１応答生成部１３は、応答生成処理を実行する。つまり、第１応答生成部１３は、音声認識部１２から通知される文字データとしての呼びかけフレーズに対して候補フレーズ（Ａ）を生成する。第１応答生成部１３は、第１外部情報取得部１６から通知される第１外部情報を利用して候補フレーズ（Ａ）を生成してもよい。詳細は後述する。
応答制御部１４は、候補取得部１４１、応答選択部１４２および選択結果出力部１４３を含む。候補取得部１４１は、第１応答生成部１３から候補フレーズ（Ａ）を、第１通信部１１から第２応答生成部２２が生成した候補フレーズ（Ｂ）を、取得し、取得した候補フレーズ（Ａ）および（Ｂ）を応答選択部１４２に通知する。応答選択部１４２は、応答選択処理を実行する。具体的には、応答選択部１４２は、候補取得部１４１から通知された候補フレーズ（Ａ）および（Ｂ）から、それぞれの候補フレーズが有する情報の重要度（応答レベル）が高い方の候補フレーズを、出力すべき選択フレーズとして選択する。詳細は後述する。応答選択部１４２は、上記選択フレーズを、選択結果出力部１４３に通知する。選択結果出力部１４３は、応答選択部１４２から通知された上記選択フレーズを、音声合成部１５および表示部１９１に通知する。
音声合成部１５は、音声合成処理を実行する。つまり、音声合成部１５は、選択結果出力部１４３から通知される文字データである選択フレーズを音声データに変換し、スピーカ１９２に出力させる。音声合成部１５は、文字データを音声データに変換する公知の音声合成に関する技術を利用してよく、音声合成処理そのものは従来技術を用いて可能であるので、詳細は省略する。
第１外部情報取得部１６は、外部の情報提供サーバ９８から、端末１の保持している情報以外の情報等である第１外部情報を取得し、該第１外部情報を第１応答生成部１３に通知する。第１外部情報取得部１６は、第１応答生成部１３からのリクエストに応じて、第１外部情報を取得してもよい。
【００１７】
（サーバの要部構成）サーバ２は、第２制御部２０および第２記憶部２４を含む構成である。第２記憶部２４には、第２基準フレーズテーブル２４１と第２付加フレーズテーブル２４２とが格納されており、詳細は後述する。第２制御部２０は、第２通信部２１、第２応答生成部２２および第２外部情報取得部２３を含む。
第２通信部２１は、（１）端末１から、音声認識部１２による音声認識処理の結果である呼びかけフレーズと応答生成処理のリクエストとを受信し、該呼びかけフレーズと応答生成処理のリクエストとを第２応答生成部２２へ通知する。（２）第２応答生成部２２から、応答生成処理結果である候補フレーズ（Ｂ）を取得し、該候補フレーズ（Ｂ）を端末１に送信する。（３）第２応答生成部２２が応答生成処理を実行しようとする際にサーバ２の保持している情報以外の情報である第２外部情報が必要である場合、該第２外部情報を外部の情報提供サーバ９９等から取得し、第２外部情報取得部２３に通知する。
第２応答生成部２２は、応答生成処理を実行する。つまり、第２応答生成部２２は、第２通信部２１から通知される呼びかけフレーズに対して候補フレーズ（Ｂ）を生成する処理を行う。第２応答生成部２２は、第２外部情報取得部２３から通知される第２外部情報を利用して、候補フレーズ（Ｂ）を生成してもよい。詳細は後述する。
第２外部情報取得部２３は、外部の情報提供サーバ９９から、サーバ２の保持している情報以外の情報等である第２外部情報を取得し、該第２外部情報を第２応答生成部２２に通知する。第２外部情報取得部２３は、第２応答生成部２２からのリクエストに応じて、上記第２外部情報を取得してもよい。
【００１８】
（記憶部に格納されている情報）図３は、端末１およびサーバ２に格納されている第１基準フレーズテーブル１８１および第２基準フレーズテーブル２４１の例を示す図である。図４は、端末１およびサーバ２に格納されている第１付加フレーズテーブル１８２および第２付加フレーズテーブル２４２の例を示す図である。なお以下では、第１基準フレーズテーブル１８１と第２基準フレーズテーブル２４１とを区別する必要がない場合、両者を併せて「基準フレーズテーブル」と呼ぶ。同様に、第１付加フレーズテーブル１８２と第２付加フレーズテーブル２４２とを併せて「付加フレーズテーブル」と呼ぶ。
図３の基準フレーズテーブルには、呼びかけフレーズと基準フレーズとが対応付けられている。また、基準フレーズテーブルにおいて、各呼びかけフレーズを識別するための「呼びかけＩＤ」が各呼びかけフレーズに対応付けられており、各基準フレーズを識別するための「基準ＩＤ」が各基準フレーズに対応付けられている。図４の付加フレーズテーブルには、基準ＩＤと付加フレーズとが対応付けられており、各付加フレーズを識別するための「付加ＩＤ」が各付加フレーズに対応付けられている。また、各付加フレーズには、基準フレーズに付加するための条件として、「付加条件」が設定されている。第１応答生成部１３および第２応答生成部２２は、付加条件を満たす付加フレーズがあると、該付加フレーズを基準フレーズに付加する。なお、第１応答生成部１３および第２応答生成部２２が応答生成処理を行う際、基準フレーズテーブルの基準フレーズおよび付加フレーズテーブルの付加フレーズの内容は予め決められている。ただし、付加フレーズテーブルにおける付加フレーズの内容は、予め決められていなくともよい。図４の付加フレーズテーブルにおいて、付加ＩＤ＝「３」の付加フレーズは、付加条件が「天気原因情報の取得に成功」であり、付加フレーズ（の内容）は「取得した天気原因情報による」である。これは、天気（晴れ、曇り、雨など）の原因に係る情報を外部の情報提供サーバ９８・９９（例えば、天気情報サーバなど）から取得できた場合に、その情報を付加フレーズとすることを示す。天気の原因には様々なものが考えられるが、その原因を予め全て付加フレーズテーブルに保持しておく必要はなく、例えば、天気情報サーバから取得した天気原因情報を付加フレーズとして、候補フレーズの生成時に利用してもよい。付加ＩＤ＝「４」、「５」の付加フレーズについても同様であり、最高気温および降水確率などの情報を天気情報サーバなどから取得した場合に、付加フレーズの「○○」の箇所を取得した値に置き換えることを想定している。端末１およびサーバ２は各々、基準フレーズテーブルおよび付加フレーズテーブルを格納している。端末１およびサーバ２の各々が格納している基準フレーズテーブルおよび付加フレーズテーブルの内容は、共通であってもよいし、異なっていてもよい。なお、端末１とサーバ２とで基準フレーズテーブルおよび付加フレーズテーブルの内容が同じであったとしても、第１応答生成部１３と第２応答生成部２２とが、或る呼びかけフレーズに対して常に同じ候補フレーズを生成するとは限らない。つまり、第１基準フレーズテーブル１８１の内容と第２基準フレーズテーブル２４１の内容とが同じで、かつ、第１付加フレーズテーブル１８２の内容と第２付加フレーズテーブル２４２の内容とが同じでも、例えば、以下のような事態があり得る。すなわち、サーバ２が最高気温に関する情報を取得して付加ＩＤ＝「４」の付加フレーズを生成できたのに対し、端末１は最高気温に関する情報を取得できず、付加ＩＤ＝「４」の付加フレーズを生成できない、というような事態である。さらに、端末１およびサーバ２の各々が格納している基準フレーズテーブルおよび付加フレーズテーブルの内容は、以下のように異なっていてもよい。例えば、サーバ２の第２基準フレーズテーブル２４１および第２付加フレーズテーブル２４２には、付加条件等として、インターネット上の様々な情報を取得し解析する必要のあるような条件が設定されていてもよい。他方、端末１の第１基準フレーズテーブル１８１および第１付加フレーズテーブル１８２には、付加条件等として、今日の日付、および端末１を携帯するユーザの現在位置情報（端末１の備えるＧＰＳ（Global Positioning System）等で取得する現在位置情報）など、端末１のみが取得できる条件が設定されていてもよい。
【００１９】
（音声処理の概要）図５は、端末１およびサーバ２の行う処理の概要を示すシーケンス図である。端末１の実行する音声処理の基本的な流れは、以下のように整理できる。すなわち、端末１のマイク１７がユーザの呼びかけ音声を取得する（Ｓ１０１）と、マイク１７は上記呼びかけ音声を音声データに変換し、該音声データを音声認識部１２に通知する。音声認識部１２は、上記音声データに対し音声認識処理を実行する（Ｓ１０２）。音声認識部１２は、上記音声データに対し音声認識処理を実行して呼びかけフレーズを取得し、取得した該呼びかけフレーズを、応答生成処理のリクエストと共に、第１応答生成部１３および第１通信部１１に通知する（Ｓ１０３）。音声認識部１２から上記呼びかけフレーズと応答生成処理のリクエストとを通知されると、第１応答生成部１３は応答生成処理を行う（Ｓ１０４）。そして、第１応答生成部１３は生成した候補フレーズ（Ａ）を候補取得部１４１に通知する。また、第１通信部１１は、音声認識部１２から通知された上記呼びかけフレーズと応答生成処理のリクエストとをサーバ２に送信する。サーバ２の第２通信部２１は、端末１から受信した上記呼びかけフレーズと応答生成処理のリクエストとを第２応答生成部２２に通知する。第２通信部２１から上記呼びかけフレーズと応答生成処理のリクエストとを通知されると、第２応答生成部２２は応答生成処理を行う（Ｓ１０４’）。第２応答生成部２２は生成した候補フレーズ（Ｂ）を第２通信部２１に通知し、第２通信部２１は該候補フレーズ（Ｂ）を端末１に送信する。端末１の第１通信部１１は、サーバ２から受信した上記候補フレーズ（Ｂ）を候補取得部１４１に通知する。候補取得部１４１は、端末１およびサーバ２の応答生成処理の結果を取得し、つまり、第１応答生成部１３から候補フレーズ（Ａ）を、第１通信部１１から候補フレーズ（Ｂ）を取得する（Ｓ１０５）。候補取得部１４１は、候補フレーズ（Ａ）および（Ｂ）を、応答選択部１４２に通知する。応答選択部１４２は、応答選択処理を実行し、つまり、候補フレーズ（Ａ）または（Ｂ）のいずれかを選択フレーズとして選択する（Ｓ１０６）。応答選択部１４２は、選択フレーズとして選択した候補フレーズを選択結果出力部１４３に通知する。選択結果出力部１４３は、応答選択部１４２から通知された上記選択フレーズを表示部１９１および音声合成部１５に通知する。音声合成部１５は、選択結果出力部１４３から通知された選択フレーズに対し音声合成処理を実行し、ユーザへ応答を音声出力する（Ｓ１０７）。次に、応答生成処理および応答選択処理の詳細を説明する。
【００２０】
（応答生成処理）図６は、第１応答生成部１３と第２応答生成部２２とが実行する応答生成処理の流れを示す図である。なお以下では、第１応答生成部１３と第２応答生成部２２とを区別する必要がない場合、両者を併せて「応答生成部」と呼ぶ。図６に示す通り、応答生成部は、呼びかけフレーズを通知されると、先ず、基準フレーズテーブルを参照して、呼びかけフレーズに対応する基準フレーズを選択する（Ｓ２０１）。呼びかけフレーズに対応する基準フレーズが複数ある場合、応答生成部は、条件に合致する基準フレーズを選択する。例えば、図３に例示する基準フレーズテーブルにおいて、呼びかけＩＤ＝「１」の「おはよう。」との呼びかけフレーズに対応する基準フレーズは、基準ＩＤ＝「１−１」の「おはよう。」との基準フレーズのみである。従って、呼びかけＩＤ＝「１」の呼びかけフレーズに対し、応答生成部は、基準フレーズテーブルを参照して、基準ＩＤ＝「１−１」の基準フレーズを選択する。他方、基準フレーズテーブルにおいて、呼びかけＩＤ＝「２」の「今日の天気は何？」との呼びかけフレーズには、基準ＩＤ＝「２−１」、「２−２」、「２−３」の３つの基準フレーズが対応付けられている。つまり、呼びかけＩＤ＝「２」の呼びかけフレーズに対し、応答生成部は、基準フレーズテーブルを参照して、上記３つの基準フレーズを選択しうる。応答生成部は、上記３つの基準フレーズから、条件に合致する基準フレーズを選択する。具体的には、天気情報サーバなどの外部の情報提供サーバ９８・９９から天気情報を取得し、「今日の天気」が「晴れ」であれば、基準ＩＤ＝「２−１」の「晴れだよ。」を選択する。天気情報サーバから取得した「今日の天気」が「曇り」であれば、基準ＩＤ＝「２−２」の「曇りだよ。」を選択する。天気情報を取得できなければ、基準ＩＤ＝「２−４」の「わからないよ。」を選択する。
応答生成部は、次に、図４に例示する付加フレーズテーブルを参照して、Ｓ２０１で選択した基準ＩＤに対応付けられている（関連する）付加ＩＤを選択する（Ｓ２０２）。例えば、基準フレーズテーブルでは、呼びかけＩＤ＝「１」の呼びかけフレーズに、基準ＩＤ＝「１−１」の基準フレーズが対応付けられている。そして、付加フレーズテーブルにおいて、関連する基準ＩＤ＝「１−１」である付加フレーズの付加ＩＤは、「１」および「２」である。従って、応答生成部は、先ず、付加ＩＤ＝「１」の付加フレーズについて、付加条件が満たされているかを確認する（Ｓ２０３）。付加ＩＤ＝「１」の付加フレーズの付加条件が満たされているのを確認できた場合（Ｓ２０３でＹｅｓ）、付加ＩＤ＝「１」の付加フレーズを、基準ＩＤ＝「１−１」の基準フレーズに付加する（Ｓ２０４）。例えば、端末１およびサーバ２の少なくとも一方が、マイク１７から取得したユーザの呼びかけ音声に基づき、該ユーザの感情（楽しい、悲しい等）に係る情報を取得できた場合、応答生成部は、付加ＩＤ＝「１」の付加条件である「ユーザの感情が楽しい」が満たされているかを確認する。そして、ユーザの呼びかけ音声に基づいて「ユーザの感情が楽しい」であることを確認できた場合、応答生成部は、付加ＩＤ＝「１」の付加フレーズである「今日もいいことあるといいね。」を、基準ＩＤ＝「１−１」の基準フレーズに付加する。なお、ユーザの音声に基づいて該ユーザの感情を推定する技術そのものは従来技術を用いて可能であるので、説明を省略する。付加ＩＤ＝「１」の付加フレーズの付加条件が満たされているのを確認できない場合（Ｓ２０３でＮｏ）、付加ＩＤ＝「１」の付加フレーズを基準ＩＤ＝「１−１」の基準フレーズに付加せず、Ｓ２０５に遷移する。
応答生成部は、次に、付加フレーズテーブルを参照して、上記基準ＩＤに対応する（関連する）、他の付加ＩＤが無いか確認する（Ｓ２０５）。つまり、応答生成部は、「関連する基準ＩＤ」がＳ２０１で選択した基準ＩＤである付加ＩＤであって、付加条件が満たされているかを未だ確認していない付加ＩＤが無いか、を確認する。付加条件が満たされているかを未確認の付加ＩＤがある場合（Ｓ２０５でＮｏ）、Ｓ２０２に戻って、付加条件が満たされているかを未確認の付加ＩＤを選択し（Ｓ２０２）、Ｓ２０３以降の処理を繰り返す。例えば、図４に例示する付加フレーズテーブルにおいて、関連する基準ＩＤが「２−１」である付加ＩＤは、「３」、「４」、「５」である。Ｓ２０１で基準ＩＤ＝「２−１」を選択し、付加ＩＤ＝「３」の付加条件は既に確認済み、付加ＩＤ＝「４」、「５」の付加条件は未確認であれば、応答生成部は、次に、付加ＩＤ＝「４」の付加条件が満たされているかを確認する。付加条件が満たされているかを確認していない付加ＩＤがない場合（Ｓ２０５でＹｅｓ）、Ｓ２０６へ遷移する。例えば、呼びかけＩＤ＝「３」の呼びかけフレーズに対し、基準ＩＤ＝「３−３」の基準フレーズを選択した場合、応答生成部は、該基準フレーズに付加する付加フレーズを以下のように選択する。すなわち、関連する基準ＩＤが「３−３」である付加ＩＤ＝「８」の付加条件である、「今日＝土用の丑の日」との付加条件が満たされるかを確認するため、応答生成部は、先ず、今日の日付を取得する。そして、今日の日付が「土曜の丑の日」でない場合、応答生成部は、Ｓ２０４の処理は実行しない。また、Ｓ２０５で、関連する基準ＩＤが「３−３」であって、関連する基準ＩＤが「３−３」であるその他の付加ＩＤもないため、付加フレーズは選択されず、つまり、「付加フレーズなし」となる。なお、Ｓ２０５でループすることにより応答生成部はＳ２０４の処理を複数回実行する可能性があるが、応答生成部は、ループの都度、基準フレーズに付加する付加フレーズを上書きするのではなく、基準フレーズに付加する付加フレーズを追加する。例えば、基準ＩＤ＝「２−１」の基準フレーズを選択し、付加ＩＤ＝「３」の付加条件が満たされているのを確認の後、付加ＩＤ＝「４」の付加条件が満たされているのを確認すると、応答生成部は以下の処理を実行する。すなわち、付加ＩＤ＝「３」の付加条件が満たされているのを確認して生成した「晴れだよ。高気圧に覆われているからね。」との候補フレーズに、「最高気温は○○度になるよ。」との付加フレーズを付加し、「晴れだよ。高気圧に覆われているからね。最高気温は○○度になるよ。」との候補フレーズを生成する。また、上記説明では、応答生成部は、付加条件を未確認の付加ＩＤがなくなるまでＳ２０５の判定を繰り返しているが、付加条件が満たされているかの確認を行った付加フレーズが所定数以上になると、Ｓ２０５の判定をせずにＳ２０６に遷移するとしてもよい。また、基準フレーズに付加する付加フレーズが所定数以上になると、Ｓ２０５の判定をせずにＳ２０６に遷移するとしてもよい。
応答生成部は、Ｓ２０１で選択した基準フレーズに対しＳ２０４で付加フレーズを付加して生成した候補フレーズを、候補取得部１４１または第２通信部２１に通知する候補フレーズとして確定した後、該候補フレーズに応答レベルを付与する（Ｓ２０６）。すなわち、上記候補フレーズが付加フレーズを含む場合は応答レベルを「１」とし、付加フレーズを含まない場合は応答レベルを「０」とする。例えば、基準フレーズが「晴れだよ。」であり、該基準フレーズに関連する付加フレーズであって、付加条件を満たす付加フレーズが「最高気温は○○度になるよ。」である場合、応答生成部は、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズを生成し、該候補フレーズの応答レベルを「１」とする。他方、基準フレーズが「晴れだよ。」であり、該基準フレーズに関連する付加フレーズであって、付加条件を満たす付加フレーズがない場合、応答生成部は、「晴れだよ。」との候補フレーズを生成し、応答レベルを「０」とする。
【００２１】
なお、上記の説明で応答生成部は、基準フレーズを決定した後、付加フレーズを決定したが、応答生成処理の手順はこれに限られるものではない。例えば、以下の順序で処理を実行してもよい。すなわち、先ず、基準フレーズテーブルを参照して、呼びかけフレーズに対応する何れかの基準ＩＤを取得する。その後、付加フレーズテーブルを参照して、取得した上記基準ＩＤに対応する（関連する）付加ＩＤの付加条件を確認する。上記付加条件が満たされていると判定した場合、取得した基準ＩＤの基準フレーズを選択する基準フレーズとして確定する。付加条件が満たされていることを確認できない場合、基準フレーズテーブルを参照して、呼びかけフレーズに対応する別の基準ＩＤを取得し、同様に該基準ＩＤに対応する付加ＩＤの付加条件が満たされているかを確認していく。例えば、基準フレーズテーブルを参照して、呼びかけＩＤ＝「３」の「今日の晩御飯は何にしよう？」に対し、先ず、基準ＩＤ＝「３−１」を取得する。次に、付加フレーズテーブルを参照して、基準ＩＤ＝「３−１」に対応付けられている付加ＩＤ＝「６」を取得する。付加ＩＤ＝「６」の付加条件である「気温＜１０度」が満たされているのを確認すると、基準ＩＤ＝「３−１」の基準フレーズを選択する基準フレーズとして確定し、同時に、付加ＩＤ＝「６」の付加フレーズを選択する付加フレーズとして確定する。他方、付加ＩＤ＝「６」の付加条件が満たされていないことを確認した場合、基準ＩＤ＝「３−１」の基準フレーズ、および付加ＩＤ＝「６」の付加フレーズ以外の、基準フレーズおよび付加フレーズの組合せについて、選択の可否を判定する。すなわち、基準フレーズテーブルを参照して、呼びかけＩＤ＝「３」に対応する、基準ＩＤ＝「３−１」の次の基準ＩＤである基準ＩＤ＝「３−２」を取得し、先ほど同様、付加フレーズテーブルを参照して基準ＩＤ＝「３−２」に対応する付加ＩＤの付加条件が満たされているかを確認する。なお、付加ＩＤ＝「６」の付加条件が満たされていないことを確認した場合に加え、付加ＩＤ＝「６」の付加条件が満たされていることを確認できない場合も、基準ＩＤ＝「３−２」を取得する。
また、上記の説明で応答生成部は、基準フレーズテーブルおよび付加フレーズテーブルにおいて選択しうる基準フレーズおよび付加フレーズが複数ある場合、基準ＩＤおよび付加ＩＤが小さい順に選択するか否かを決定する。例えば、基準ＩＤ＝「１−１」の基準フレーズに付加し得る付加フレーズの付加ＩＤが「１」と「２」とである場合、応答生成部は、先ず、付加ＩＤ＝「１」の付加条件を確認し、次に、付加ＩＤ＝「２」の付加条件を確認する。しかしながら、基準ＩＤおよび付加ＩＤが小さい順に選択するか否かを決定することは必須ではなく、大きい順に決定してもよいし、任意の順序で決定してよい。さらに、上記の説明では応答生成部が候補フレーズに応答レベルを付与するが、候補フレーズに応答レベルを付与するのは応答生成部でなくともよい。例えば、応答選択部１４２が、候補取得部１４１から通知される候補フレーズ（Ａ）および（Ｂ）を解析することによって、各候補レベルに応答レベルを付与してもよい。そして、応答選択部１４２は付与した応答レベルが高い方の候補フレーズを選択フレーズとして選択するとしてもよい。具体的には、応答選択部１４２が（例えば、Ｓ２１１で）各候補フレーズに対し応答レベルを付与した後、応答レベルの高い候補フレーズを選択フレーズとして選択してもよい。
【００２２】
（応答選択処理）図７は、応答選択部（第１応答生成部１３および第２応答生成部２２）が行う応答選択処理を説明する図である。応答選択部１４２は、端末１が生成した候補フレーズ（Ａ）と、サーバ２が生成した候補フレーズ（Ｂ）とから、応答レベルの高い候補フレーズをユーザへ出力するための選択フレーズとして選択する（Ｓ２１１）。つまり、応答選択部１４２は、候補フレーズ（Ａ）と候補フレーズ（Ｂ）とから、付加フレーズを含む候補フレーズを、選択フレーズとして選択する。従って、端末１が生成した候補フレーズ（Ａ）と、サーバ２が生成した候補フレーズ（Ｂ）とから、付加フレーズの有無によって、出力すべき選択フレーズを選択することによって、ユーザの呼びかけに対する直接的な応答だけでなく、付加的な応答も出力できる。なお、候補フレーズ（Ａ）の応答レベルと候補フレーズ（Ｂ）の応答レベルとが等しい場合、いずれの候補フレーズを選択してもよい。「候補フレーズ（Ａ）と（Ｂ）とで応答レベルが等しい場合、候補フレーズ（Ａ）を選択する」と予め決めておいてもよいし、逆に「候補フレーズ（Ｂ）を選択する」としてもよい。さらに、「候補フレーズ（Ａ）と（Ｂ）とで応答レベルが等しい場合には、時間的に一番先に取得した候補フレーズを選択する」としてもよいし、逆に「時間的に一番後に取得した候補フレーズを選択する」としてもよい。
【００２３】
音声に対する応答を制御する応答制御装置である端末１の処理の流れは以下のように整理できる。すなわち、第１応答生成部１３および第２応答生成部２２（複数の応答生成手段）のそれぞれによって、音声に基づいて生成された複数の候補フレーズを取得するＳ１０５（候補フレーズ取得ステップ）と、Ｓ１０５において応答選択部１４２が取得した上記複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する応答レベル（情報の重要度）が最も高い候補フレーズを、選択フレーズ（応答フレーズ）として選択するＳ１０６またはＳ２１１（選択ステップ）とを含む。音声を取得すると該音声に対する応答を音声または文字画像として出力する音声応答システム１００は、端末１およびサーバ２の双方の音声処理を利用し、出力する応答フレーズに対するユーザの期待度を最大化する。具体的には、端末１は、端末１とサーバ２とに並行して応答生成処理を実行させることにより、端末での処理の後にサーバでの処理を実行するような従来の音声処理に比べ、呼びかけ音声取得から応答までの待ち時間を短縮できる。また、端末１は、上記複数の候補フレーズから、情報の重要度が最も高い候補フレーズを、選択フレーズとして選択し、該選択フレーズを出力できる。
【００２４】
〔実施形態２〕
以下、本発明の他の実施形態について、図１、８および９に基づき説明する。なお、上述した各実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し説明を省略する。本実施の形態に係る携帯端末１Ａ（以下、端末１Ａと略記する）の概要を説明しておけば、以下の通りである。すなわち、端末１Ａは、第１記憶部１８に、各付加フレーズに付加ポイントが対応付けられている第１付加フレーズテーブル１８２Ａを格納している。また、端末１Ａの応答選択部１４２Ａ（選択手段）は、候補フレーズに含まれる付加フレーズに設定された上記付加ポイントの合計値を、当該候補フレーズの応答レベル（情報の重要度）とする。端末１が、付加フレーズの有無に応じて、候補フレーズに応答レベルを付与したのに対し、端末１Ａは、候補フレーズに含まれる付加フレーズに設定されている付加ポイントに応じて、候補フレーズに応答レベルを付与する。それ以外の点では、端末１Ａの基本的な構成は、端末１の構成と同様である。端末１Ａは、複数の候補フレーズから、各候補フレーズに含まれる付加フレーズの付加ポイントの合計値によって、出力すべき選択フレーズを選択することにより、情報の重要度の高い候補フレーズを出力できる。サーバ２Ａは、第２記憶部２４に、各付加フレーズに付加ポイントが対応付けられている第２付加フレーズテーブル２４２Ａを格納している。それ以外の点では、サーバ２Ａの基本的な構成は、サーバ２の構成と同様である。図１は、端末１およびサーバ２の要部構成を示すブロック図であるとともに、端末１と同様の構成を備える端末１Ａ、および、サーバ２と同様の構成を備えるサーバ２Ａの要部構成を示す。以下、さらに詳細を説明する。なお以下では、第１応答生成部１３Ａと第２応答生成部２２Ａとを区別する必要がない場合、両者を併せて「応答生成部」と呼ぶ。同様に、第１付加フレーズテーブル１８２Ａと第２付加フレーズテーブル２４２Ａとを「付加フレーズテーブル」と呼ぶ。また、以下では応答生成部が応答レベルを付与する例を説明するが、応答レベルは、応答選択部１４２Ａが候補フレーズに含まれる付加フレーズの付加ポイントを合計することによって、該候補フレーズに付与してもよい。応答選択部１４２Ａが、候補フレーズに含まれる付加フレーズに設定された付加ポイントの合計値を該候補フレーズの応答レベルとして、該応答レベルが最も高い候補フレーズを選択フレーズとして選択できさえすればよく、応答レベルの付与はどこで行ってもよい。端末１Ａは、候補フレーズに含まれる付加フレーズの付加ポイント、つまり該付加フレーズが有する情報の重要度により、出力すべき選択フレーズを選択する。従って、端末１Ａは、複数の候補フレーズから、情報の重要度が最も高い候補フレーズを出力できる。
【００２５】
図８は、端末１Ａに格納されている第１付加フレーズテーブル１８２Ａおよびサーバ２Ａに格納されている第２付加フレーズテーブル２４２Ａの例を示す図である。第１付加フレーズテーブル１８２Ａおよび第２付加フレーズテーブル２４２Ａにおいて、付加フレーズには付加ポイントが設定されている。「付加ポイント」とは、各付加ＩＤに設定されているポイントであり、各付加フレーズが有する情報の重要度を示す。本実施の形態において、各候補フレーズの応答レベルは、各候補フレーズに含まれる付加フレーズに設定された付加ポイントの合計値である。従って、付加フレーズの付加されていない、基準フレーズのみの候補フレーズの応答レベルは「０」である。応答生成部は、基準フレーズに付加フレーズを付加する都度、該基準フレーズを含む候補フレーズの応答レベルに、付加した付加フレーズに設定されている付加ポイントを加算していく。なお、付加ポイントは、全付加フレーズで同じでもよいし、付加フレーズ毎に異なってもよい。全付加フレーズの付加ポイントが同じ場合、応答生成部または応答選択部１４２Ａは、候補フレーズに含まれる付加フレーズの個数に応じて該候補フレーズの応答レベルを設定する。付加ＩＤ毎に付加ポイントが異なる場合、応答生成部または応答選択部１４２Ａは、候補フレーズが含む付加フレーズの個数に、各付加フレーズの付加ポイントによる重み付けをして、該候補フレーズの応答レベルを決定する。例えば、図示の付加フレーズテーブルにおいて、付加ＩＤ＝「８」の付加フレーズの付加ポイント＝「２」は、付加ＩＤ＝「７」の付加フレーズの付加ポイント＝「１」より大きい。付加ＩＤ＝「７」の付加フレーズの付加条件が「気温＞３０度」であり、付加ＩＤ＝「８」の付加フレーズの付加条件は「今日＝土用の丑の日」である。付加ＩＤ＝「８」の付加条件は、「今日というその日」についての条件であり、付加ＩＤ＝「７」の付加条件である「気温」についての条件よりも条件として限定的であり、付加ＩＤ＝「８」の方が、付加ＩＤ＝「７」より付加ポイントがより高い。このように、付加条件の満たし難さに応じて、付加ポイントが設定されてもよい。
【００２６】
図９は、端末１Ａおよびサーバ２Ａの応答生成処理の流れを示すシーケンス図である。図９の応答生成処理は、図６の応答生成処理と比べて、Ｓ２０４とＳ２０５との間に、Ｓ３０１の処理が追加されている点が異なる。すなわち、Ｓ３０１において応答生成部は、Ｓ２０４において基準フレーズに付加した付加フレーズ（付加ＩＤ）の付加ポイントを、応答レベルに加算する。また、図９の応答生成処理は、図６の応答生成処理におけるＳ２０６に代えて、Ｓ３０６の処理を含む。すなわち、Ｓ３０６において応答生成部は、Ｓ２０１で選択した基準フレーズに対しＳ２０４で付加フレーズを付加して生成した候補フレーズを、候補取得部１４１Ａまたは第２通信部２１に通知する候補フレーズとして確定する。また応答生成部は、該候補フレーズに含まれる付加フレーズの付加ポイントの合計値を、該候補フレーズの応答レベルとして確定する。そして応答生成部は、確定した候補フレーズおよび該候補フレーズの応答レベルを候補取得部１４１Ａまたは第２通信部２１に通知する。候補取得部１４１Ａは、第１応答生成部１３Ａが生成した候補フレーズ（Ａ）および該候補フレーズ（Ａ）の応答レベルと、第２応答生成部２２Ａが生成した候補フレーズ（Ｂ）および該候補フレーズ（Ｂ）の応答レベルとを、第１応答生成部１３Ａおよび第１通信部１１から取得する。そして候補取得部１４１Ａは、それらを応答選択部１４２に通知する。応答選択部１４２は、候補フレーズ（Ａ）および（Ｂ）のそれぞれについて、候補フレーズ（Ａ）および（Ｂ）のそれぞれに含まれる付加フレーズに設定された付加ポイントの合計値を、候補フレーズ（Ａ）および（Ｂ）のそれぞれの応答レベル（重要度）として、該応答レベルの高い方の候補フレーズを、選択フレーズとして選択する。図８に例示する付加フレーズテーブルにおいて、付加ＩＤ＝「４」の「最高気温は○○度になるよ。」との付加フレーズの付加ポイントは「１」である。また、付加ＩＤ＝「５」の「降水確率は○○％だよ。」との付加フレーズの付加ポイントは「１」である。従って、呼びかけＩＤ＝「２」の呼びかけフレーズに対して、第１応答生成部１３Ａが「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ａ）を生成する場合、該候補フレーズ（Ａ）の応答レベルは「１」である。他方、第２応答生成部２２Ａが「晴れだよ。最高気温は○○度になるよ。降水確率は○○％だよ。」という候補フレーズ（Ｂ）を生成する場合、該候補フレーズ（Ｂ）の応答レベルは「２」である。候補取得部１４１Ａは、候補フレーズ（Ｂ）の応答レベル＝２が、候補フレーズ（Ａ）の応答レベル＝１よりも大きいため、候補フレーズ（Ｂ）を、出力すべき選択フレーズとして選択する。
【００２７】
〔実施形態３〕
以下、本発明の他の実施形態について、図１０〜１３に基づき説明する。なお、上述した各実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し説明を省略する。図１０は、本実施の形態に係る応答制御装置である携帯端末３（以下、端末３と略記する）を含む音声応答システム３００の要部構成を示すブロック図である。端末３の概要を説明しておけば、以下の通りである。すなわち、端末３は、第１記憶部１８に、各付加フレーズにカテゴリが設定されている第１付加フレーズテーブル１８３を格納している。また、端末３は、応答選択部１４２Ａ（選択手段）によって選択されなかった候補フレーズであって、応答選択部１４２Ａによって選択された選択フレーズ（応答フレーズ）に含まれる基準フレーズと同内容の基準フレーズを含む候補フレーズが、上記選択フレーズに含まれる付加フレーズに設定されたカテゴリとは異なるカテゴリが設定された付加フレーズを含む場合、該付加フレーズを、上記選択フレーズに付加するフレーズ追加部３４１（フレーズ追加手段）を備える。なお、第１付加フレーズテーブル１８３と第２付加フレーズテーブル２４３とを区別する必要がない場合、両者を併せて「付加フレーズテーブル」と呼ぶ。端末３は、応答選択部１４２Ａによって選択フレーズとして選択されなかった候補フレーズに含まれる付加フレーズを、該選択フレーズに付加することができる。従って、端末３は、単一の応答生成処理のみでは生成できないフレーズを、例えば、第１応答生成部１３Ａまたは第２応答生成部２２Ａのみでは生成できないフレーズを、出力できる。また、以下では応答生成部が応答レベルを付与する例を説明するが、応答レベルは、応答選択部１４２Ａが候補フレーズに含まれる付加フレーズの付加ポイントを合計して、該候補フレーズに付与してもよい。
【００２８】
図１１は、端末３および音声処理サーバ２に格納されている付加フレーズテーブルの例を示す図である。図示のように、付加フレーズテーブルにおいて、各付加フレーズにはカテゴリが対応付けられている。カテゴリは、付加フレーズがどのような付加情報に関するかを示す。例えば、図１１の付加フレーズテーブルにおいて、付加ＩＤ＝「１」の「今日もいいことあるといいね。」のカテゴリは「感情」である。これは、「今日もいいことあるといいね。」との付加フレーズは、「感情」という付加情報に関することを示す。
【００２９】
次に、端末３の実行する処理の流れを図１２・１３を用いて説明する。図１２は、端末３および音声処理サーバ２の応答生成処理の流れを示すシーケンス図である。端末３および音声処理サーバ２の応答生成部は、候補フレーズを生成して該候補フレーズに対し応答レベルを付与するのに加えて、該候補フレーズのカテゴリを決定する。図１２の応答生成処理は、図９の応答生成処理におけるＳ３０６に代えて、Ｓ４０６の処理を含む。すなわち、Ｓ４０６において応答生成部は、Ｓ２０１において決定した基準フレーズと、Ｓ２０４において決定した付加フレーズとから候補フレーズを生成する。Ｓ４０６において応答生成部は、Ｓ２０１で選択した基準フレーズに対しＳ２０４で付加フレーズを付加して生成した候補フレーズを、候補取得部１４１Ａまたは第２通信部２１に通知する候補フレーズとして確定する。応答生成部は、上記候補フレーズに含まれる付加フレーズの付加ポイントの合計値を、該候補フレーズの応答レベルとして確定する。さらに応答生成部は、上記候補フレーズに含まれる付加フレーズのカテゴリを、該候補フレーズのカテゴリとして確定する。例えば、Ｓ２０１で「晴れだよ。」を基準フレーズとして選択し、Ｓ２０４で「最高気温は○○度になるよ。」を付加フレーズとして選択した場合、応答生成部は、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズを生成する。そして、Ｓ４０６において応答生成部は、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズのカテゴリを、「最高気温は○○度になるよ。」との付加フレーズのカテゴリである「最高気温」に確定する。同様に、「晴れだよ。最高気温は○○度になるよ。降水確率は○○％だよ。」との候補フレーズを生成した場合、応答生成部は、該候補フレーズのカテゴリを、「最高気温」と「降水確率」とに確定する。つまり、第１応答生成部１３Ａが「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）を生成した場合、該候補フレーズ（Ａ）の応答レベルは「２」、カテゴリは「天気理由、降水確率」である。第２応答生成部２２Ａが「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）を生成した場合、該候補フレーズ（Ｂ）の応答レベルは「１」、カテゴリは「最高気温」である。応答生成部は、確定した候補フレーズ、該候補フレーズの応答レベルおよびカテゴリを候補取得部１４１Ａまたは第２通信部２１に通知する。
【００３０】
図１３は端末３の応答選択処理の流れを示すシーケンス図である。応答選択部１４２Ａは、応答レベル、つまり付加ポイントの合計値の高い候補フレーズを、選択フレーズとして選択する（Ｓ４１１）。例えば、応答レベル＝「２」である「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）と、応答レベル＝「１」である「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）とを取得すると、応答選択部１４２Ａは候補フレーズ（Ａ）を選択フレーズとして選択する。応答選択部１４２Ａは、候補フレーズ（Ａ）と候補フレーズ（Ｂ）とを、どちらの候補フレーズを選択フレーズとして選択したかの情報と一緒に、フレーズ追加部３４１に通知する。
フレーズ追加部３４１は、選択フレーズとして選択されなかった候補フレーズであって、選択フレーズとして選択された候補フレーズ（Ａ）に含まれる基準フレーズ（Ａ−０）と同内容の基準フレーズを含む候補フレーズがあるか確認する（Ｓ４１２）。具体的には、フレーズ追加部３４１は、先ず、選択フレーズとして選択された候補フレーズ（Ａ）に含まれる基準フレーズ（Ａ−０）を抽出する。次に、選択フレーズとして選択されなかった候補フレーズ（Ｂ）の基準フレーズ（Ｂ−０）を抽出する。そして、フレーズ追加部３４１は、基準フレーズ（Ａ−０）と基準フレーズ（Ｂ−０）とが一致するか（同内容か）を判定する。なお、基準フレーズ（Ａ−０）と基準フレーズ（Ｂ−０）とが一致するかの判定は、「一言一句同じか」という判定ではなく、該２つの基準フレーズが特定の語を含むか否かという判定でもよい。つまり、例えば、基準フレーズ（Ａ−０）と基準フレーズ（Ｂ−０）とが同じ「晴れ」という語を含む場合には、基準フレーズ（Ａ−０）と基準フレーズ（Ｂ−０）とは一致していると判定してもよい。例えば、「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）の基準フレーズ（Ａ−０）＝「晴れだよ。」と、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）の基準フレーズ（Ｂ−０）＝「晴れだよ。」とが同内容であるかを判定する。基準フレーズ（Ａ−０）と同内容の基準フレーズを含む、候補フレーズ（Ａ）以外の候補フレーズがある場合（Ｓ４１２でＹｅｓ）、フレーズ追加部３４１は、選択フレーズとして選択されなかった候補フレーズであって、基準フレーズ（Ａ−０）と同内容の基準フレーズを含む候補フレーズ（Ｂ）を取得する（Ｓ４１３）。例えば、基準フレーズ（Ａ−０）＝「晴れだよ。」と、基準フレーズ（Ｂ−０）＝「晴れだよ。」とが同内容であると判定すると、フレーズ追加部３４１は、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）を取得する。基準フレーズ（Ａ−０）と同内容の基準フレーズを含む、候補フレーズ（Ａ）以外の候補フレーズがない場合（Ｓ４１２でＮｏ）、フレーズ追加部３４１は新たな付加フレーズを候補フレーズ（Ａ）には追加せず、処理を終了する。例えば、選択フレーズとして選択しなかった候補フレーズに含まれる基準フレーズ（Ｂ−０）が「雨だよ。」であり、選択フレーズとして選択した候補フレーズに含まれる基準フレーズ（Ａ−０）である「晴れだよ。」である場合、フレーズ追加部３４１は、基準フレーズ（Ａ−０）と基準フレーズ（Ｂ−０）とは一致しないと判定し、処理を終了する。
フレーズ追加部３４１は、候補フレーズ（Ｂ）が、候補フレーズ（Ａ）のカテゴリとは一致しないカテゴリを含むかを判定する（Ｓ４１４）。例えば、「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）と、「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）とについて、フレーズ追加部３４１は、候補フレーズ（Ａ）のカテゴリ＝「天気理由、降水確率」と、候補フレーズ（Ｂ）のカテゴリ＝「最高気温」とは一致しないと判定する。候補フレーズ（Ｂ）が候補フレーズ（Ａ）のカテゴリとは一致しないカテゴリを含む場合（Ｓ４１４でＹｅｓ）、フレーズ追加部３４１は、候補フレーズ（Ｂ）に含まれる付加フレーズであって、候補フレーズ（Ａ）のカテゴリとは一致しないカテゴリに対応する付加フレーズ（Ｂ−１）を取得する（Ｓ４１５）。例えば、カテゴリ＝「天気理由、降水確率」である「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）と、カテゴリ＝「最高気温」である「晴れだよ。最高気温は○○度になるよ。」との候補フレーズ（Ｂ）とを比較し、フレーズ追加部３４１は、先ず、候補フレーズ（Ｂ）は、候補フレーズ（Ａ）と異なり、「最高気温」とのカテゴリを含むことを確認する。次に、フレーズ追加部３４１は、候補フレーズ（Ｂ）から、カテゴリ＝「最高気温」に対応する付加フレーズ＝「最高気温は○○度になるよ。」を抽出し取得する。フレーズ追加部３４１は、付加フレーズ（Ｂ−１）を候補フレーズ（Ａ）に付加する（Ｓ４１６）。例えば、フレーズ追加部３４１は、付加フレーズ＝「最高気温は○○度になるよ。」を、「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。」との候補フレーズ（Ａ）に付加し、「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。最高気温は○○になるよ。」とのフレーズを生成する。そして、フレーズ追加部３４１は、「晴れだよ。高気圧に覆われているからね。降水確率は○○％だよ。最高気温は○○になるよ。」とのフレーズを、選択結果出力部１４３Ａに通知する。候補フレーズ（Ｂ）が候補フレーズ（Ａ）のカテゴリとは一致しないカテゴリを含まない場合（Ｓ４１４でＮｏ）、フレーズ追加部３４１は新たな付加フレーズを候補フレーズ（Ａ）には追加せず、処理を終了する。
【００３１】
端末３は、各候補フレーズのカテゴリに基づき、選択フレーズとして選択した候補フレーズに新たな付加フレーズを付加して出力する。例えば、第１応答生成部１３Ａで生成した候補フレーズ（Ａ）に、第２応答生成部２２Ａで選択した付加フレーズ（Ｂ−１）を付加する。従って、端末３は、第１応答生成部１３Ａまたは第２応答生成部２２Ａのみでは生成できないフレーズを出力できる。なお、端末３は、或る候補フレーズを出力した後に別の候補フレーズを付加して出力できる。例えば、ネットワーク通信の遅延等でサーバ２からの応答が一定の閾値以上に遅延した場合など、既に先の応答を出力した後であっても、異なるカテゴリの付加フレーズが後の応答に含まれていた場合、先の応答に後の付加フレーズを付加できる。基本的な処理の手順は、図１３に示した応答選択処理と同等である。すなわち、先ず、端末３は、出力しようとしている候補フレーズ（Ａ）をいったん第１記憶部１８に格納してから、候補フレーズ（Ａ）を出力する。その後、未だ出力していない候補フレーズであって、既に出力した選択フレーズの基礎フレーズと同様の基礎フレーズを含む候補フレーズ（Ｂ）を取得すると、端末３は、該候補フレーズ（Ｂ）のカテゴリを、上記候補フレーズ（Ａ）のカテゴリと比較する。そして、上記候補フレーズ（Ｂ）のカテゴリが、上記候補フレーズ（Ａ）のカテゴリと異なる場合、端末３は、上記候補フレーズ（Ｂ）に含まれる付加フレーズであって、上記候補フレーズ（Ａ）のカテゴリとは異なるカテゴリに対応する付加フレーズを取得し、出力する。つまり端末３は、既に出力した候補フレーズに対して新しい付加フレーズを追加したフレーズを出力できる。
【００３２】
〔実施形態４〕
端末１、１Ａおよび３の制御ブロック（第１制御部１０、３０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。後者の場合、端末１、１Ａおよび３は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００３３】
〔変形例〕
端末１、１Ａおよび３は、複数の音声処理、特に応答生成処理を並行して実行させることにより、或る音声処理を実行し、または実行させようとしてから、別の音声処理を実行する場合に比べ、ユーザが音声を発してから応答が出力されるまでの時間を短縮できる。また、端末１、１Ａおよび３は、並行して生成させた複数の候補フレーズから、情報の重要性（応答レベル）の最も高い候補フレーズを選択し、出力する。つまり、端末１、１Ａおよび３にとって、候補取得部１４１・１４１Ａが複数の候補フレーズを取得でき、応答選択部１４２・１４２Ａが該複数の候補フレーズから、該複数の候補フレーズのそれぞれが有する情報の重要度が最も高い候補フレーズを、選択フレーズとして選択できればよく、その他の構成は必須ではない。上述の端末１、１Ａおよび３が第１応答生成部１３・１３Ａを備え、サーバ２・２Ａが第２応答生成部２２・２２Ａを備える例を説明したが、この構成は必須ではない。例えば、端末１は第１応答生成部１３を備えず、サーバ２が第１応答生成部１３および第２応答生成部２２を備えてもよく、逆に、サーバ２は第２応答生成部２２を備えず、端末１が第１応答生成部１３および第２応答生成部２２を備えてもよい。さらに、候補取得部１４１・１４１Ａが取得する候補フレーズが２つであることも必須ではなく、例えば、３つ以上の候補フレーズを取得してもよい。同様に、応答選択部１４２・１４２Ａは３つ以上の候補フレーズから、情報の重要度が最も高い候補フレーズを選択フレーズとして選択してもよい。また、端末１の音声認識部１２が音声認識処理を実行することも必須ではなく、サーバ２が第２の音声認識部を備え、マイク１７からの音声データを端末１がサーバ２に送信して、端末１とサーバ２とがそれぞれ並行して音声認識処理を実行してもよい。端末１の代わりにサーバ２が音声認識部１２を備え、マイク１７からの音声データに対してサーバ２の音声認識部１２が音声認識処理と、応答生成処理のリクエストとを行ってもよい。さらに、端末１の音声合成部１５が音声合成処理を実行することも必須ではなく、サーバ２が音声合成部１５を備え、選択結果出力部１４３・１４３Ａから取得する選択フレーズに基づいて、スピーカ１９２に出力させる音声データを生成してもよい。なお、一般にサーバは、端末に比べ、高い処理能力を備え、豊富な語彙を利用でき、音声認識の認識精度および応答生成の対応可能数が高い。通常、サーバは端末よりも巨大な音響モデル辞書、言語モデル辞書等を有し、音声認識の処理能力が高く、また、数多くの対話応答シナリオに対応でき、さらに、膨大な音素データを持ちクリアな音声を出力する。
【００３４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【００３５】
本発明は、音声に対する応答を制御する応答制御装置に広く利用することができる。
【符号の説明】
【００３６】
１・１Ａ・３  携帯端末（応答制御装置），１３・１３Ａ  第１応答生成部（応答生成手段），２２・２２Ａ  第２応答生成部（応答生成手段），１４１・１４１Ａ  候補取得部（候補フレーズ取得手段），１４２・１４２Ａ  応答選択部（選択手段），３４１  フレーズ追加部（フレーズ追加手段）
【図１】
2015127758.tif 000003
【図２】
2015127758.tif 000004
【図３】
2015127758.tif 000005
【図４】
2015127758.tif 000006
【図５】
2015127758.tif 000007
【図６】
2015127758.tif 000008
【図７】
2015127758.tif 000009
【図８】
2015127758.tif 000010
【図９】
2015127758.tif 000011
【図１０】
2015127758.tif 000012
【図１１】
2015127758.tif 000013
【図１２】
2015127758.tif 000014
【図１３】
2015127758.tif 000015