(57)【特許請求の範囲】
【請求項１】
各ドメインに属して音声入力装置への入力発話を処理する複数の第１処理部と、該第１処理部による入力発話処理結果に基づいて複数のドメインの中から１つのドメインを選択する第２処理部と、該第２処理部により選択されたドメインに基づき、音声出力装置からの出力発話を生成する第３処理部とを備えている会話システムであって、
前記第１処理部は、所定の語彙辞書を用いて前記入力発話に含まれていて尤度が基準値以上である言語要素の候補として認識した言語要素候補の集合に対し、該第１処理部が属するドメインの辞書の言語要素のうち１つに合致する言語要素候補を、尤度の高いほうから優先的に検索する入力発話処理を実施し、
前記第２処理部は、前記第１処理部による入力発話処理の検索結果として見つかった言語要素候補の尤度の高低に基づいて各ドメインの尤度の高低を評価し、ドメインの該尤度がｎ1位（ｎ1＝１，２，‥）以内であることを第１条件として当該ドメインを第１ドメインとして特定し、ｋ＋１回のドメイン（ｋ＝１，２，‥）を選択する際、前記ドメインがｉ回前（ｉ＝１，２，‥）までに今回のドメインとして選択されたことを第２条件として当該ドメインを第２ドメインとして特定し、
前記第２処理部は、肯定応答の有無を表して肯定応答の有りは無しよりも値が高くなる指数、否定応答の有無を表して否定応答の有りは無しよりも値が低くなる指数、スロット更新数が多いほど値が高くなる指数、肯定応答の累積回数が多いほど値が高くなる指数、否定応答の累積回数が多いほど値が低くなる指数、スロット更新累積数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の回数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の音響スコアが高いほど値が高くなる指数、前記第１処理部による入力発話処理結果の事後確率が高いほど値が高くなる指数、および前記第１処理部による入力発話処理結果の単語信頼度相加平均が高いほど値が高くなる指数のうち少なくとも１つを、前記第１処理部による入力発話処理に鑑みた信頼度を表す第１指数とし、
前記第２処理部は、選択の有無を表して選択有りは選択無しよりも値が高くなる指数および選択回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第２処理部による選択履歴に鑑みた信頼度を表す第２指数とし、
前記第２処理部は、各ドメインが過去に選択されたときにタスク用データベースから発話テキストを読み取って発話を生成したことであるタスク達成の有無を表してタスク達成の有りのときは無しのときよりも値が高くなる指数およびタスク達成累積回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第３処理部による発話生成履歴に鑑みた信頼度を表す第３指数とし、
前記第２処理部が、前記第１指数、前記第２指数および前記第３指数の３つの指数のうちから前記第１指数を含む１以上の指数の値を前記第１ドメインおよび前記第２ドメインのそれぞれについて算出し、算出した指数値に対して、あらかじめ、指数値が高いドメインほど選択されるように、また、前記第１指数、前記第２指数および前記第３指数の３つの指数のうち一部または全部の評価結果に鑑みて前記第１ドメインおよび前記第２ドメインが今回のドメインとして不適当な場合、前記複数のドメインのうち、前記第１ドメインおよび前記第２ドメインとは異なる所定の第３ドメインが選択されるように、指数値に基づいて設定してある選択法則を適用して、前記第１ドメインと前記第２ドメインと前記第３ドメインとのうち１つのドメインを今回のドメインとして選択することを特徴とする会話システム。
【請求項２】
請求項１記載の会話システムにおいて、
前記第２条件は、ドメインがｉ回前までに今回のドメインとして選択されたドメインであることとする条件に、さらに、当該選択の累積回数がｎ2位（ｎ2＝１，２，‥）以内であることという条件を付加したものであることを特徴とする会話システム。
【請求項３】
請求項１記載の会話システムにおいて、
前記第２処理部が前記選択法則としての決定木にしたがって今回のドメインを選択することを特徴とする会話システム。
【請求項４】
各ドメインに属して音声入力装置への入力発話を処理する複数の第１処理部と、該第１処理部による入力発話処理結果に基づいて複数のドメインの中から１つのドメインを選択する第２処理部と、該第２処理部により選択されたドメインに基づき、音声出力装置からの出力発話を生成する第３処理部とを備えている会話システムとしてコンピュータを機能させる会話プログラムであって、
前記第１処理部は、所定の語彙辞書を用いて前記入力発話に含まれていて尤度が基準値以上である言語要素の候補として認識した言語要素候補の集合に対し、該第１処理部が属するドメインの辞書の言語要素のうち１つに合致する言語要素候補を、尤度の高いほうから優先的に検索する入力発話処理を実施し、
前記第２処理部は、前記第１処理部による入力発話処理の検索結果として見つかった言語要素候補の尤度の高低に基づいて各ドメインの尤度の高低を評価し、ドメインの該尤度がｎ1位（ｎ1＝１，２，‥）以内であることを第１条件として当該ドメインを第１ドメインとして特定し、ｋ＋１回のドメイン（ｋ＝１，２，‥）を選択する際、前記ドメインがｉ回前（ｉ＝１，２，‥）までに今回のドメインとして選択されたことを第２条件として当該ドメインを第２ドメインとして特定し、
前記第２処理部は、肯定応答の有無を表して肯定応答の有りは無しよりも値が高くなる指数、否定応答の有無を表して否定応答の有りは無しよりも値が低くなる指数、スロット更新数が多いほど値が高くなる指数、肯定応答の累積回数が多いほど値が高くなる指数、否定応答の累積回数が多いほど値が低くなる指数、スロット更新累積数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の回数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の音響スコアが高いほど値が高くなる指数、前記第１処理部による入力発話処理結果の事後確率が高いほど値が高くなる指数、および前記第１処理部による入力発話処理結果の単語信頼度相加平均が高いほど値が高くなる指数のうち少なくとも１つを、前記第１処理部による入力発話処理に鑑みた信頼度を表す第１指数とし、
前記第２処理部は、選択の有無を表して選択有りは選択無しよりも値が高くなる指数および選択回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第２処理部による選択履歴に鑑みた信頼度を表す第２指数とし、
前記第２処理部は、各ドメインが過去に選択されたときにタスク用データベースから発話テキストを読み取って発話を生成したことであるタスク達成の有無を表してタスク達成の有りのときは無しのときよりも値が高くなる指数およびタスク達成累積回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第３処理部による発話生成履歴に鑑みた信頼度を表す第３指数とし、
前記第２処理部が、前記第１指数、前記第２指数および前記第３指数の３つの指数のうちから前記第１指数を含む１以上の指数の値を前記第１ドメインおよび前記第２ドメインのそれぞれについて算出し、算出した指数値に対して、あらかじめ、指数値が高いドメインほど選択されるように、また、前記第１指数、前記第２指数および前記第３指数の３つの指数のうち一部または全部の評価結果に鑑みて前記第１ドメインおよび前記第２ドメインが今回のドメインとして不適当な場合、前記複数のドメインのうち、前記第１ドメインおよび前記第２ドメインとは異なる所定の第３ドメインが選択されるように、指数値に基づいて設定してある選択法則を適用して、前記第１ドメインと前記第２ドメインと前記第３ドメインとのうち１つのドメインを今回のドメインとして選択するように前記コンピュータを機能させることを特徴とする会話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの入力発話を理解し、かつ、ユーザへの出力発話を生成する会話システム等に関する。
【背景技術】
【０００２】
カーナビゲーション装置等の使いやすさの向上を図るため、ユーザとの音声会話が可能なさまざまなシステムまたはインターフェイスが提案されている。音声会話システムは、経路案内、道路交通情報、気象情報等、特定のドメインの情報が格納されたデータベースから必要な情報を検索した上でユーザに対して提供する。また、ユーザとのさまざまな会話を可能とするため、複数のドメインのそれぞれの情報を格納する複数のデータベースを備えた音声会話システムも提案されている。このような複数のドメインに関する会話を意図した音声会話システムにおいて、ユーザの発話内容に鑑みて適切なドメインを選択することが必要である。従来、次に示す文献に開示されているようにドメインの選択に関するさまざまな技術が提案されている。【０００３】
１．「マルチドメイン音声対話システムの構築手法」長森誠ほか
情報処理学会研究報告，2000-SLP-31-7, 2000
２．「複数の音声対話システムの統合制御手法とその評価」河口信夫ほか
情報処理学会研究報告，2001-SLP-36-10, 2001
３．I. O’Neill et al. Cross domain dialogue modeling:
An object-based approach. In Proc. ICSLP, Vol.I, 2004
しかし、当該先行技術によれば、タスクが達成されるまでドメインの遷移が許容されなかったり、ドメインの遷移が許容されていても現在選択されているドメインに近いドメインへの遷移のみが認容されたりするという制約がある。このため、ユーザの発話内容に鑑みて不適切なドメインが数回にわたって選択されてしまい、ユーザとシステムとの会話が噛み合わない状態が必要以上に永く維持される可能性があった。【０００４】
そこで、本発明は、ユーザの発話内容への追従性の向上を図りながらユーザとの会話を進行させうるシステム、およびコンピュータを当該会話システムとして機能させるソフトウェアを提供することを解決課題とする。
【発明の開示】
【０００５】
前記課題を解決するための第１発明の会話システムは、各ドメインに属して音声入力装置への入力発話を処理する複数の第１処理部と、該第１処理部による入力発話処理結果に基づいて複数のドメインの中から１つのドメインを選択する第２処理部と、該第２処理部により選択されたドメインに基づき、音声出力装置からの出力発話を生成する第３処理部とを備えている会話システムであって、前記第１処理部は、所定の語彙辞書を用いて前記入力発話に含まれていて尤度が基準値以上である言語要素の候補として認識した言語要素候補の集合に対し、該第１処理部が属するドメインの辞書の言語要素のうち１つに合致する言語要素候補を、尤度の高いほうから優先的に検索する入力発話処理を実施し、前記第２処理部は、前記第１処理部による入力発話処理の検索結果として見つかった言語要素候補の尤度の高低に基づいて各ドメインの尤度の高低を評価し、ドメインの該尤度がｎ1位（ｎ1＝１，２，‥）以内であることを第１条件として当該ドメインを第１ドメインとして特定し、ｋ＋１回のドメイン（ｋ＝１，２，‥）を選択する際、前記ドメインがｉ回前（ｉ＝１，２，‥）までに今回のドメインとして選択されたことを第２条件として当該ドメインを第２ドメインとして特定し、前記第２処理部は、肯定応答の有無を表して肯定応答の有りは無しよりも値が高くなる指数、否定応答の有無を表して否定応答の有りは無しよりも値が低くなる指数、スロット更新数が多いほど値が高くなる指数、肯定応答の累積回数が多いほど値が高くなる指数、否定応答の累積回数が多いほど値が低くなる指数、スロット更新累積数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の回数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の音響スコアが高いほど値が高くなる指数、前記第１処理部による入力発話処理結果の事後確率が高いほど値が高くなる指数、および前記第１処理部による入力発話処理結果の単語信頼度相加平均が高いほど値が高くなる指数のうち少なくとも１つを、前記第１処理部による入力発話処理に鑑みた信頼度を表す第１指数とし、前記第２処理部は、選択の有無を表して選択有りは選択無しよりも値が高くなる指数および選択回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第２処理部による選択履歴に鑑みた信頼度を表す第２指数とし、前記第２処理部は、各ドメインが過去に選択されたときにタスク用データベースから発話テキストを読み取って発話を生成したことであるタスク達成の有無を表してタスク達成の有りのときは無しのときよりも値が高くなる指数およびタスク達成累積回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第３処理部による発話生成履歴に鑑みた信頼度を表す第３指数とし、前記第２処理部が、前記第１指数、前記第２指数および前記第３指数の３つの指数のうちから前記第１指数を含む１以上の指数の値を前記第１ドメインおよび前記第２ドメインのそれぞれについて算出し、算出した指数値に対して、あらかじめ、指数値が高いドメインほど選択されるように、また、前記第１指数、前記第２指数および前記第３指数の３つの指数のうち一部または全部の評価結果に鑑みて前記第１ドメインおよび前���第２ドメインが今回のドメインとして不適当な場合、前記複数のドメインのうち、前記第１ドメインおよび前記第２ドメインとは異なる所定の第３ドメインが選択されるように、指数値に基づいて設定してある選択法則を適用して、前記第１ドメインと前記第２ドメインと前記第３ドメインとのうち１つのドメインを今回のドメインとして選択することを特徴とする。
【０００６】
第１発明の会話システムによれば、複数のドメインのうち今回の発話理解結果に関する「第１条件」を満たす一または複数の「第１ドメイン」が今回のドメインの選択肢に含まれている。このため、今回の発話理解結果に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。
【０００７】
また、複数のドメインのうち選択履歴に関する「第２条件」を満たす一または複数の「第２ドメイン」が今回のドメインの選択肢に含まれている。このため、選択履歴に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。
【０００８】
さらに、第１および第２ドメインのそれぞれについての第１、第２および第３指数のうち一部または全部の評価結果に基づいて今回のドメインが選択される。このため、発話理解履歴、選択履歴および発話生成履歴のうち一部または全部に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。
【０００９】
また、第１および第２ドメインのほか一または複数の「第３ドメイン」も今回のドメインの選択肢に含まれている。このため、第１、第２および第３指数のうち一部または全部の評価結果に鑑みて第１および第２ドメインが今回のドメインとして不適当な場合、当該第１および第２ドメインではなく第３ドメインが今回のドメインとして選択されうる。
【００１０】
したがって、ユーザの発話内容への追従性の向上を図りながらユーザとの会話を進行させることができる。
【００１３】
また、第２発明の会話システムは、第１発明の会話システムにおいて、前記第２条件は、ドメインがｉ回前までに今回のドメインとして選択されたドメインであることとする条件に、さらに、当該選択の累積回数がｎ2位（ｎ2＝１，２，‥）以内であることという条件を付加したものであることを特徴とする会話システム。
【００１７】
また、第３発明の会話システムは、第１発明の会話システムにおいて、前記第２処理部が前記選択法則としての決定木にしたがって今回のドメインを選択することを特徴とする。
【００１８】
前記課題を解決するための第４発明の会話プログラムは、各ドメインに属して音声入力装置への入力発話を処理する複数の第１処理部と、該第１処理部による入力発話処理結果に基づいて複数のドメインの中から１つのドメインを選択する第２処理部と、該第２処理部により選択されたドメインに基づき、音声出力装置からの出力発話を生成する第３処理部とを備えている会話システムとしてコンピュータを機能させる会話プログラムであって、前記第１処理部は、所定の語彙辞書を用いて前記入力発話に含まれていて尤度が基準値以上である言語要素の候補として認識した言語要素候補の集合に対し、該第１処理部が属するドメインの辞書の言語要素のうち１つに合致する言語要素候補を、尤度の高いほうから優先的に検索する入力発話処理を実施し、前記第２処理部は、前記第１処理部による入力発話処理の検索結果として見つかった言語要素候補の尤度の高低に基づいて各ドメインの尤度の高低を評価し、ドメインの該尤度がｎ1位（ｎ1＝１，２，‥）以内であることを第１条件として当該ドメインを第１ドメインとして特定し、ｋ＋１回のドメイン（ｋ＝１，２，‥）を選択する際、前記ドメインがｉ回前（ｉ＝１，２，‥）までに今回のドメインとして選択されたことを第２条件として当該ドメインを第２ドメインとして特定し、前記第２処理部は、肯定応答の有無を表して肯定応答の有りは無しよりも値が高くなる指数、否定応答の有無を表して否定応答の有りは無しよりも値が低くなる指数、スロット更新数が多いほど値が高くなる指数、肯定応答の累積回数が多いほど値が高くなる指数、否定応答の累積回数が多いほど値が低くなる指数、スロット更新累積数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の回数が多いほど値が高くなる指数、前記第１処理部による入力発話処理結果の音響スコアが高いほど値が高くなる指数、前記第１処理部による入力発話処理結果の事後確率が高いほど値が高くなる指数、および前記第１処理部による入力発話処理結果の単語信頼度相加平均が高いほど値が高くなる指数のうち少なくとも１つを、前記第１処理部による入力発話処理に鑑みた信頼度を表す第１指数とし、前記第２処理部は、選択の有無を表して選択有りは選択無しよりも値が高くなる指数および選択回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第２処理部による選択履歴に鑑みた信頼度を表す第２指数とし、前記第２処理部は、各ドメインが過去に選択されたときにタスク用データベースから発話テキストを読み取って発話を生成したことであるタスク達成の有無を表してタスク達成の有りのときは無しのときよりも値が高くなる指数およびタスク達成累積回数が多いほど値が高くなる指数のうち少なくとも１つを、前記第３処理部による発話生成履歴に鑑みた信頼度を表す第３指数とし、前記第２処理部が、前記第１指数、前記第２指数および前記第３指数の３つの指数のうちから前記第１指数を含む１以上の指数の値を前記第１ドメインおよび前記第２ドメインのそれぞれについて算出し、算出した指数値に対して、あらかじめ、指数値が高いドメインほど選択されるように、また、前記第１指数、前記第２指数および前記第３指数の３つの指数のうち一部または���部の評価結果に鑑みて前記第１ドメインおよび前記第２ドメインが今回のドメインとして不適当な場合、前記複数のドメインのうち、前記第１ドメインおよび前記第２ドメインとは異なる所定の第３ドメインが選択されるように、指数値に基づいて設定してある選択法則を適用して、前記第１ドメインと前記第２ドメインと前記第３ドメインとのうち１つのドメインを今回のドメインとして選択するように前記コンピュータを機能させることを特徴とする。 
【００１９】
第４発明の会話プログラムによれば、コンピュータを、ユーザの発話内容への追従性の向上を図りながらユーザとの会話を進行させうる会話システムとして機能させることができる。ここで、コンピュータを会話システムとして機能させるとは、コンピュータのＲＯＭ等の記憶装置に会話プログラムを格納しておき、コンピュータのＣＰ等の演算処理装置にこの記憶装置から会話プログラムを読み取らせ、かつ、この会話プログラムにしたがって前記のようなドメイン選択等の処理を実行させることを意味する。
【図面の簡単な説明】
【００２０】
【図１】会話システムの構成例示図
【図２】会話システムの機能例示図
【図３】会話システムの機能例示図
【図４】ドメイン選択に用いられる決定木の例示図
【発明を実施するための最良の形態】
【００２１】
本発明の会話システムおよび会話ソフトウェアの実施形態について図面を用いて説明する。【００２２】
図１に示されている会話システム１００は、たとえば自動車に搭載されたナビゲーションシステムに組み込まれたハードウェアとしてのコンピュータと、当該コンピュータのメモリに格納されたソフトウェアとしての「会話プログラム」とにより構成されている。なお、会話プログラムはメモリに予め格納されていてもよいが、ＣＤ−ＲＯＭ等の記憶媒体を介してコンピュータにインストールされてもよく、ネットワークを通じてコンピュータに向けて配信または放送された上で当該メモリに格納されてもよい。【００２３】
会話システム１００は、第１音声認識部１０４と、第２音声認識部１０６と、ドメイン選択部（第２処理部）１０８と、複数の第１発話処理部１１０と、第２発話処理部１２０と、発話選択部１３２と、音声合成部１３４とを備えている。なお、会話システム１００において、第２音声認識部１０２および第２発話処理部１２０が省略されてもよい。【００２４】
第１音声認識部１０１はマイク（音声入力装置）に入力された音声に基づき、隠れマルコフモデル法等の公知の手法にしたがい、かつ、小語彙辞書ＤＢを用いてユーザの発話音声を認識する。第２音声認識部１０２はマイクに入力された音声に基づき、隠れマルコフモデル法等の公知の手法にしたがい、かつ、大語彙辞書ＤＢを用いてユーザの発話音声を認識する。ドメイン選択部１０４は複数のドメインの中から１つのドメインを選択する。【００２５】
第１発話処理部１１０は発話理解部（第１処理部）１１１と、会話状態格納部１１２と、発話生成部（第３処理部）１１３と、言語理解用ＤＢ（ＤＢ：データベース）１１４と、発話生成用ＤＢ１１５と、タスク用ＤＢ１１６とを備えている。複数の第１発話処理部１１０のそれぞれは「レストランドメイン」「ホテルドメイン」等の複数の異なるドメインのそれぞれに対応している。【００２６】
発話理解部１１１は第１音声認識部１０１による第１音声認識結果に基づき、言語理解用ＤＢ１１４に格納されている言語理解用知識を用いて発話内容を理解する。会話状態格納部１１２は発話理解部１１１による発話理解結果等を格納する。発話生成部１１３は会話状態格納部１１２に格納されている発話理解結果および発話生成用ＤＢ１１５に格納されている発話生成用知識、さらにはタスク用ＤＢ１１６に格納されているテキストを用いて発話テキストを生成する。言語理解用ＤＢ１１４は言語要素を理解するために必要な「言語理解用知識」を格納する。ＤＢ１１４，１１５および１１６のそれぞれには、当該第１発話処理部に対応するドメインに特有の知識等が格納されている。【００２７】
第２発話処理部１２０はキーワード検出部１２２と、発話生成部１２４と、雑談生成用ＤＢ１２６とを備えている。第２発話処理部１２０は「雑談ドメイン」に対応している。【００２８】
キーワード検出部１２２は第２音声認識部１０２による第２音声認識結果に基づき、雑談生成用ＤＢ１２６に格納されている雑談生成用知識にしたがってキーワードを検出する。発話生成部１２４はキーワード検出部１２２により検出されたキーワードを用いて、雑談生成用ＤＢ１２６に格納されている雑談生成用知識を用いて雑談用の発話テキストを生成する。雑談生成用ＤＢ１２６は雑談用テキストの生成に必要な「雑談生成用知識」を格納する。【００２９】
発話選択部１３２は第１発話処理部１１０において発話生成部１１３により生成された発話の内容、または第２発話処理部１２０において発話生成部１２４により生成された発話の内容を確認する。音声合成部１３４は発話選択部１３２により確認された発話の内容を音声として合成し、当該合成音声としての発話をスピーカー（音声出力装置）に出力させる。【００３０】
前記構成の会話システム１００の機能について図２〜図４を用いて説明する。【００３１】
まず、会話システム１００が搭載されている自動車野イグニッションスイッチがＯＦＦからＯＮに切り替えられ、会話システム１００もＯＦＦからＯＮに切り替えられた等のタイミングでユーザの累積発話回数を示す指数ｋが「１」に設定される（図２／Ｓ００１）。【００３２】
運転手等のユーザが何らかの発話をするとこれがマイクに入力される。第１音声認識部１０１は当該入力発話に応じたマイクからの出力信号に基づき、小語彙辞書ＤＢに格納されている「小語彙辞書」を用いて当該入力発話に含まれる言語要素（たとえば単語）の候補を認識する（図２／Ｓ００２）。たとえば、入力発話に第１言語要素Ｗ1(k)および第２言語要素Ｗ2(k)が含まれている場合、第１音声認識部１０１は第１言語要素Ｗ1(k)について尤度の高いＮ1個の第１言語要素候補Ｅ1i(k)（ｉ＝１，２，‥，Ｎ1）の集合（以下「第１集合」という。）Ｇ1(k)と、第２言語要素Ｗ2(k)について尤度の高いＮ2個の第２言語要素候補Ｅ2j(k)（ｊ＝１，２，‥，Ｎ2）の集合（以下「第２集合」という。）Ｇ2(k)とを認識する。なお、第１集合Ｇ1(k)に含まれる言語要素数Ｎ1および第２集合Ｇ2(k)に含まれる言語要素数Ｎ2は同一であっても相違していてもよい。【００３３】
第１音声認識部１０１は第１音声認識結果としての第１集合Ｇ1(k)および第２集合Ｇ2(k)をドメイン選択部１０４に出力し、ドメイン選択部１０４は当該第１音声認識結果を複数の第１発話処理部１１０のそれぞれに分配出力する（図２／Ｓ００４）。【００３４】
また、第２音声認識部１０２が入力発話に応じたマイクからの出力信号に基づき、大語彙辞書ＤＢに格納されている「大語彙辞書」を用いて当該入力発話に含まれる言語要素の候補を認識する（図２／Ｓ００３）。第２音声認識部１０２により用いられる「大語彙辞書」は、第１音声認識部１０１により用いられる「小語彙辞書」よりも登録されている言語要素の数が多い。このため、第２音声認識部１０２は、第１音声認識部１０１よりも音声認識精度が若干低いものの、第１音声認識部１０１によっては認識されえないような言語要素であっても認識することができる。【００３５】
さらに、第２音声認識部１０２が第２音声認識結果を第２発話処理部１２０のキーワード検出部１２２に出力し、キーワード検出部１２２が当該第２音声認識結果に基づき、かつ、雑談生成用ＤＢ１２６に格納されている「雑談生成用知識」を用いてキーワードを検出する（図２／Ｓ００５）。【００３６】
また、複数の第１発話処理部１１０のそれぞれにおいて、発話理解部１１１が第１音声認識結果に基づき、言語理解用知識を用いて入力発話を理解する（図２／Ｓ００６）。具体的には、発話理解部１１１は第１集合Ｇ1(k)の中から、言語理解用ＤＢ１１４に「言語理解用知識」の一部として格納されている複数の第１辞書言語要素のうち１つに合致する第１言語要素候補Ｅ1i(k)を、尤度の高いほうから優先的に検索する。また、発話理解部１１１は第２集合Ｇ2(k)の中から、言語理解用ＤＢ１１４に「言語理解用知識」の一部として格納されている、複数の第２辞書言語要素のうち１つに合致する第２言語要素候補Ｅ2j(k)を、尤度の高いほうから優先的に検索する。【００３７】
例として「食事ドメイン」に対応する第１発話処理部１１０において言語理解用ＤＢ１１４に、言語理解用知識として「＜レストラン名称＞の＜情報カテゴリ＞を教えて」という文章が格納され、複数の第１辞書言語要素として複数のレストラン名称が格納され、複数の第２辞書言語要素として住所、連絡先、道順、関連情報等、複数の情報カテゴリが格納されている場合を考える。この場合、発話理解部１１１によって当該複数のレストラン名称のうち１つに合致する、第１集合Ｇ1(k)において尤度が最高の第１言語要素候補Ｅ11(k)（たとえば「ビストロ○○」）が検索され、かつ、当該複数の情報カテゴリのうち１つに合致する、第２集合Ｇ2(k)において尤度が最高の第２言語要素候補Ｅ21(k)（たとえば「住所」）が検索される。【００３８】
また「宿泊ドメイン」に対応する第１発話処理部１１０において言語理解用ＤＢ１１４に、言語理解用知識として「＜宿泊施設名称＞の＜情報カテゴリ＞を教えて」という文章が格納され、複数の第１辞書言語要素として複数の宿泊施設名称が格納され、複数の第２辞書言語要素として住所、連宅先、関連情報等、複数の情報カテゴリが格納されている場合を考える。この場合、発話理解部１１１によって当該複数の地域名称のうち１つに合致する、第１集合Ｇ1(k)において尤度が第３位の第１言語要素候補Ｅ13(k)（たとえば「ホテル○○」）が検索され、かつ、当該複数の情報カテゴリのうち１つに合致する、第２集合Ｇ2(k)において尤度が最高の第２言語要素候補Ｅ21(k)（たとえば「住所」）が検索される。【００３９】
さらに、発話理解部１１１による発話理解結果が会話状態格納部１１２に格納される（図２／Ｓ００８）。具体的には、第１集合Ｇ1(k)から検索された第１言語要素候補Ｅ1i(k)が会話状態格納部１１２の「第１スロット」に格納される。また、第２集合Ｇ2(k)から検索された第２言語要素候補Ｅ2j(k)が会話状態格納部１１２の「第２スロット」に格納される。たとえば前記食事ドメインについては「＜レストラン名称＞の＜情報カテゴリ＞を教えて」という文章における＜レストラン名称＞が第１スロットに該当し、＜情報カテゴリ＞が第２スロットに該当する。また、前記宿泊ドメインについては「＜宿泊施設名称＞の＜情報カテゴリ＞を教えて」という文章における＜宿泊施設名称＞が第１スロットに該当し、＜情報カテゴリ＞が第２スロットに該当する。なお、第１スロットに第１言語要素候補が格納されなかったドメインでは、第２スロットへの第２言語要素候補Ｅ2j(k)の格納が省略されてもよい。また、第１音声認識結果が「はい」「そう」などの肯定応答である場合や、第１音声認識結果が「いいえ」「ちがう」などの否定応答である場合には、当該肯定応答または否定応答があったことおよびその回数を示すフラグが前回の選択ドメインに対応する第１発話処理部１１０の会話状態格納部１１２に格納される。【００４０】
さらに、各スロットへの言語要素候補の格納状態も会話状態として会話状態格納部１１２に格納される。これにより、たとえば食事ドメインについては第１言語要素候補Ｅ11(k)が第１スロットに格納され、かつ、第２言語要素候補Ｅ21(k)が第２スロットに格納されていることが会話状態として会話状態格納部１１２に格納される。また、宿泊ドメインについては第１言語要素候補Ｅ13(k)が第１スロットに格納され、かつ、第２言語要素候補Ｅ21(k)が第２スロットに格納されていることが会話状態として会話状態格納部１１２に格納される。さらに、その他のドメインでは第１言語要素候補が第１スロットに格納されていないことが発話状態として会話状態格納部に格納される。なお「会話状態」にはユーザの累積発話回数を示す指数ｋが含まれていてもよい。【００４１】
続いて、各第１発話処理部１１０において、発話理解部１１１が会話状態格納部１１２に格納されている会話状態を読み取った上でドメイン選択部１０４に出力する。そして、ドメイン選択部１０４が複数のドメインの中から、発話理解結果に関する「第１条件」を満たす一または複数のドメインを「第１ドメイン」として特定する（図２／Ｓ０１０）。「第１条件」としては、発話理解結果に基づいて評価されるドメインの尤度がｎ1位（ｎ1＝１，２，‥）以内であることが採用されうる。【００４２】
例として「第１スロットに格納されている第１言語要素候補Ｅ1i(k)の尤度（ドメインの尤度に相当する。）が複数のドメインの中で最高であること」が「第１条件」として設定され、かつ、前記のように食事ドメインについては第１スロットに第１言語要素候補Ｅ11(k)が格納され、宿泊ドメインについては第１スロットに第１言語要素候補Ｅ13(k)が格納されている場合を考える。この場合、当該２つのドメインのうち、尤度が最高の第１言語要素候補Ｅ11(k)が第１スロットに格納されている食事ドメインが「第１ドメイン」として特定される。【００４３】
さらに、ドメイン選択部１０４はユーザの累積発話回数を表す指数ｋが「１」であるか否かを判定する（図２／Ｓ０１２）。【００４４】
そして、指数ｋが「１」であると判定された場合（図２／Ｓ０１２‥ＹＥＳ）、ドメイン選択部１０４は当該第１ドメインをそのまま今回のドメインとして選択する（図２／Ｓ０１８）。なお、複数の第１ドメインが特定されている場合、当該複数の第１ドメインのそれぞれについて後述する第１指数、第２指数および第３指数のうち一部または全部が評価され、当該評価結果に基づいて１つの第１ドメインが選択されてもよい。【００４５】
一方、指数ｋが「１」ではないと判定された場合（図２／Ｓ０１２‥ＮＯ）、ドメイン選択部１０４は複数のドメインの中から選択履歴に関する「第２条件」を満たす一または複数のドメインを「第２ドメイン」として特定する（図２／Ｓ０１４）。「第２条件」としては、ｉ回前（ｉ＝１，２，‥）までに今回のドメインとして選択されたこと、またはｉ回前までに今回のドメインとして選択されたドメインのうち、当該選択累積回数がｎ2位（ｎ1＝１，２，‥）以内であることが採用されうる。【００４６】
例として「前回選択されたドメインであること」が「第２条件」として設定され、かつ、複数のドメインのうち食事ドメインが前回のドメインとして選択された場合を考える。この場合、当該食事ドメインが「第２ドメイン」として特定される。【００４７】
第１ドメインに加えて第２ドメインが特定された場合、第１ドメインおよび第２ドメインのそれぞれについて「第１指数」「第２指数」および「第３指数」のうち一部または全部が評価される（図２／Ｓ０１６）。第１ドメインおよび第２ドメインのそれぞれに対応する第１発話処理部１１０のそれぞれにおいて会話常態格納部１１２に格納されている、会話状態を表す種々のフラグ等に基づいて当該指数が評価される。【００４８】
「第１指数」は発話理解部（第１処理部）１１１による発話理解履歴に鑑みた信頼度を表す。「第１指数」としては（１）肯定応答の有無を表す指数、（２）否定応答の有無を表す指数、（３）スロット更新数、（４）肯定応答の累積回数、（５）否定応答の累積回数、（６）スロット更新累積数、（７）発話理解回数、（８）発話理解結果の音響スコア、（９）発話理解結果の事後確率および（１０）発話理解結果の言語要素信頼度相加平均、さらにはこれらのうち少なくとも１つを変数とする関数が採用される。「音響スコア」とは、マイクからの出力信号と、音素ごとに用意されている音響モデルとの類似度を表す指標である。「言語要素信頼度」とは、複数の言語要素候補のそれぞれの音響スコアのうち、最高の音響スコアが他の音響スコアからどの程度突出しているかという観点からの各ドメインの信頼度を表す指標である。たとえば、最高の音響スコアが他の音響スコアよりも著しく高い場合には当該信頼度が高く評価される一方、最高の音響スコアが他のスコアよりもさほど高くない場合には当該信頼度が低く評価される。【００４９】
また、「第２指数」はドメイン選択部（第２処理部）１０４による選択履歴に鑑みた信頼度を表す。「第２指数」としては（１）選択の有無を表す指数および（２）選択回数、さらにはこれらのうち少なくとも１つを変数とする関数が採用される。【００５０】
さらに、「第３指数」は発話生成部（第３処理部）１１３による発話生成履歴に鑑みた信頼度を表す。「第３指数」としては（１）タスク達成の有無を表す指数および（２）タスク達成累積回数、さらにはこれらのうち少なくとも１つの関数が採用される。「タスク達成」とは後述するように発話生成部１１３がタスク用ＤＢ１１６からテキストを読み取り、当該読み取りテキストを用いて発話を生成したことを意味する。【００５１】
続いて、ドメイン選択部１０４が第１指数、第２指数および第３指数のうち一部または全部の評価結果に基づき、所定の選択規則にしたがって第１および第２ドメインに加え、第３ドメインの中から１つのドメインを選択する（図２／Ｓ０１８）。選択規則としては図４に示されているような決定木が採用されうる。図４では当該決定木の一部のみが示されているが、残りの部分は第１指数、第２指数および第３指数のそれぞれの性質に鑑みて適宜設定されうる。なお、選択規則としては当該決定木のほか、第１指数、第２指数および第３指数のうち一部または全部を用いたファジー規則等、種々の選択規則が採用されてもよい。「第３ドメイン」としてたとえば第２発話処理部１２０に対応する「雑談ドメイン」が特定される。なお「第３ドメイン」として第１発話処理部１１０に対応するドメインが特定されてもよい。【００５２】
ドメイン選択部１０４は選択ドメインが第１または第２ドメインであるか否かを判定する（図２／Ｓ０２０）。【００５３】
ドメイン選択部１０４は選択ドメインが第１ドメインまたは第２ドメインであると判定した場合（図２／Ｓ０２０‥ＹＥＳ）、当該選択ドメインに対応する第１発話処理部１１０の会話状態格納部１１２にドメインが選択されたことを示すフラグ「１」および当該選択回数を示すフラグをたてる（図２／Ｓ０２２）。また、ドメイン選択部１０４は非選択ドメインに対応する第１発話処理部１１０の会話状態格納部１１２にドメインが選択されなかったことを示すフラグ「０」をたてる（図２／Ｓ０２２）。非選択ドメインに対応する第１発話処理部１１０では会話状態格納部１１２のすべてのスロットが未格納状態にリセットされる。【００５４】
続いて、発話選択部１３２が当該選択ドメインに対応する第１発話処理部１１０に対して出力発話を問い合わせる。これに応じて当該第１発話処理部１１０の発話生成部１１３が会話状態格納部１１２から会話状態（各スロットの格納状態等が特定される。）を読み取り、発話生成用ＤＢ１１５から発話生成用知識を読み取り、当該会話状態と発話生成用知識とを対照する（図３／Ｓ０２４）。発話生成部１１３は当該対照結果に基づき、タスク用ＤＢ１１６からのテキスト（または言語要素）の検索要否を判定する（図３／Ｓ０２６）。たとえばすべてのスロットが格納状態である場合（第１スロットに第１言語要素候補Ｅ1i(k)が格納され、かつ、第２スロットに第２言語要素候補Ｅ2j(k)が格納されている場合）、当該格納言語要素候補に対応付けられているテキスト（当該２つの言語要素候補の関数ｆ(k)＝ｆ（Ｅ1i(k)，Ｅ2j(k)）により表される。）をタスク用ＤＢ１１６から検索する必要がある一方、一部または全部のスロットが未格納状態である場合、テキストをタスク用ＤＢ１１６から検索する必要がないことが発話生成用知識によって特定される。【００５５】
そして、発話生成部１１３はテキスト検索が必要であると判定した場合（図３／Ｓ０２６‥ＹＥＳ）、当該テキストをタスク用ＤＢ１１６から検索する（図３／Ｓ０２８）。たとえば食事ドメインが選択され、かつ、前記のように当該第１発話処理部１１０において第１言語要素候補Ｅ11(k)＝「ビストロ○○」および第２言語要素候補Ｅ21(k)＝「住所」が各スロットに格納されている場合、発話生成部１１３はタスク用ＤＢ１１６からテキストｆ(k)＝ｆ（Ｅ11(k)，Ｅ21(k)）＝「京都府京都市××区‥」を検索する。発話生成部１１３は当該テキスト検索に応じてタスク達成フラグ（タスクが達成されたことおよびタスク達成回数を表す。）を会話状態格納部１１２にたてる（図３／Ｓ０３０）。【００５６】
また、発話生成部１１３は検索テキストと発話生成用知識とを用いて発話テキストを生成する（図３／Ｓ０３２）。たとえば食事ドメインに対応する第１発話処理部１１０において第１スロットに第１言語要素候補Ｅ1i(k) ＝「ビストロ○○」が格納され、かつ、第２スロットに第２言語要素候補Ｅ2j(k) ＝「住所」が格納されている場合、検索テキストｆ(k) ＝「京都府京都市××区‥」を用いて「ビストロ○○の住所は京都府京都市××区‥です。」という発話テキストが生成される。【００５７】
一方、発話生成部１１３がタスク用ＤＢ１１６からテキストを検索する必要がないと判定した場合（図３／Ｓ０２６‥ＮＯ）、当該テキストを用いずに発話生成用知識を用いて発話テキストを生成する。たとえば食事ドメインに対応する第１発話処理部１１０において、第１スロットに第１言語要素候補Ｅ1i(k)（＝ビストロ○○）が格納されている一方、第２スロットが未格納状態である場合、「ビストロ○○の何を知りたいのですか」という問い合わせの発話テキストが生成される。また、食事ドメインに対応する第１発話処理部１１０において、第１スロットが未格納状態である一方、第２スロットに第２言語要素候補Ｅ2j(k)（＝住所）が格納されている場合、「何の住所を知りたいのですか」「もう一度おっしゃってください」という問い合わせの発話テキストが生成される。【００５８】
また、ドメイン選択部１０４により選択ドメインが第３ドメイン（雑談ドメイン）であると判定された場合（図２／Ｓ０２０‥ＮＯ）、当該第３ドメインに対応する第２発話処理部１２０の発話生成部１２４が、キーワード検出部１２２により検出されたキーワードと、雑談生成用知識と、必要に応じてインターネット検索されたテキストとを用いて雑談用の発話テキストを生成する（図３／Ｓ０３３）。なお、複数の第３ドメインが存在する場合、当該複数の第３ドメインの中から１つのドメインを選択するために「どのような情報をお求めですか」等、ユーザとの会話に適当なドメインを直接的に当該ユーザに尋ねる発話テキストが生成されてもよい。【００５９】
続いて、第１発話処理部１１０の発話生成部１１３または第２発話処理部１２０の発話生成部１２６が発話テキストを発話選択部１３２に出力する。また、発話選択部１３２は入力された発話テキストを音声合成部１３４に出力し、音声合成部は入力された発話テキストを音声としてスピーカから出力させる（図３／Ｓ０３４）。これにより、スピーカから「ビストロ○○の住所は京都府京都市××区‥です」という発話音声が出力される。【００６０】
会話システム１００はユーザとの会話が終了したか否かを判定する（図３／Ｓ０３６）。たとえば会話システム１００が搭載されている自動車のイグニッションスイッチがＯＮからＯＦＦに切り替えられた場合に会話が終了したと判定される。一方、会話システム１００とユーザとの会話が継続中であると判定された場合（図３／Ｓ０３６‥ＮＯ）、ユーザの発話累積回数を示す指数ｋが１だけ増加され（図３／Ｓ０３８）、前述した第１音声認識（図２／Ｓ００２参照）および第２音声認識（図２／Ｓ００３参照）以降の一連の処理が実行される。【００６１】
前記処理にしたがったユーザおよび会話システム１００の会話例を次に示す。Ｕはユーザの発話を表し、Ｓは会話システム１００の発話を表している。
（会話例）
Ｕ1：  ビストロ○○の住所を教えてください。【００６２】
Ｓ1：  ビストロ○○の住所は京都府京都市××区‥です。【００６３】
Ｕ2：  ビストロ○○の連絡先を教えてください。【００６４】
Ｓ2：  ホテル○○の連絡先は〜です。【００６５】
Ｕ3：  ビストロ○○の連絡先です。【００６６】
Ｓ3：  ホテルの案内をご希望ですか。【００６７】
Ｕ4：  いいえ。【００６８】
Ｓ4：  レストランの案内をご希望ですか。【００６９】
第１回のシステム発話Ｓ1は第１回のユーザ発話Ｕ1が正確に音声認識され、ユーザとの会話進行ドメインとして適当な「食事ドメイン」が選択された上で出力された発話である。第２回のシステム発話Ｓ2は第２回のユーザ発話Ｕ2が正確に音声認識されず、第１ドメイン（第１回の選択ドメイン）としての「食事ドメイン」ではなく、尤度が最高の第２ドメインとしての「宿泊ドメイン」が選択された上で出力された発話である。第２回の選択ドメインである「宿泊ドメイン」は会話進行ドメインとして不適当であることに応じて、第３回のユーザ発話Ｕ3は第２回のユーザ発話Ｕ2の繰り返しになっている。第３回のシステム発話Ｓ3は第３回のユーザ発話Ｕ3がなおも正確に認識されず、第１ドメイン（第２回の選択ドメイン）としての「宿泊ドメイン」が選択された上で出力された発話である。第３回の選択ドメインである「宿泊ドメイン」は会話進行ドメインとしてなおも不適当であることに応じて、第４回のユーザ発話Ｕ4は否定応答になっている。第４回のシステム発話Ｓ4は第４回のユーザ発話Ｕ4である否定応答が正確に認識され、第１ドメイン（第３回の選択ドメイン）としての「宿泊ドメイン」ではなく、第３ドメインである「食事ドメイン」が選択された上で出力された発話である。【００７０】
前記機能を発揮する会話システム１００によれば、複数のドメインのうち今回の発話理解結果に関する「第１条件」を満たす一または複数の「第１ドメイン」が今回のドメインの選択肢に含まれている（図２／Ｓ０１０参照）。このため、今回の発話理解結果に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。【００７１】
また、複数のドメインのうち選択履歴に関する「第２条件」を満たす一または複数の「第２ドメイン」が今回のドメインの選択肢に含まれている（図２／Ｓ０１４参照）。このため、選択履歴に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。【００７２】
さらに、第１および第２ドメインのそれぞれについての第１、第２および第３指数のうち一部または全部の評価結果に基づいて今回のドメインが選択される（図２／Ｓ０１８参照）。このため、発話理解履歴、選択履歴および発話生成履歴のうち一部または全部に鑑みて会話進行用ドメインとして信頼度が高いドメインが今回のドメインとして選択されうる。【００７３】
また、第１および第２ドメインのほか一または複数の「第３ドメイン」も今回のドメインの選択肢に含まれている。このため、第１、第２および第３指数のうち一部または全部の評価結果に鑑みて第１および第２ドメインが今回のドメインとして不適当な場合、当該第１および第２ドメインではなく第３ドメインが今回のドメインとして選択されうる。【００７４】
したがって、ユーザの発話内容への追従性の向上を図りながらユーザとの会話を進行させることができる。本願発明者の行った実験によれば、従来技術における会話システムによるドメインの選択精度（＝（選択結果としてのドメインが正しかった回数）／（ドメインが選択された累積回数））が６８．９％であったのに対して、本発明の会話システムによるドメインの選択精度は７４．０％であり、当該精度が５．１％向上することが確認された。
【図１】
0005248867.tif 000002
【図２】
0005248867.tif 000003
【図３】
0005248867.tif 000004
【図４】
0005248867.tif 000005