(57)【要約】【課題】ユーザの発話と装置からの応答との間の待ち時間を短縮するとともに、ユーザと装置とのスムーズな対話を実現する。【解決手段】音声対話方法は、音声対話装置において発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断するステップと、音声対話装置において回答応答文を生成不可能であると判断された場合、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の冒頭部分を構成する第１の応答文を生成するステップと、第１の応答文を音声により出力するステップと、第１の応答文の音声出力と並行して、テキストデータに関連する情報を取得し、取得した情報に基づき、発話に対する応答の回答部分を構成する第２の応答文を生成するステップと、第１の応答文の音声出力が完了した後に、第２の応答文を音声により出力するステップとを含む。【選択図】図４
2017107078.tif 000002
【特許請求の範囲】
【請求項１】
音声対話によりユーザが所望する情報を提供する音声対話装置における音声対話方法であって、
前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断し、
前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成し、
生成された前記第１の応答文を音声により出力し、
前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成し、
前記第１の応答文の音声出力が完了した後に、生成された前記第２の応答文を音声により出力する、
音声対話方法。
【請求項２】
前記所定の品詞は、名詞である、
請求項１記載の音声対話方法。
【請求項３】
前記第１の応答文は、前記名詞の単語を含む名詞句を含む、
請求項２記載の音声対話方法。
【請求項４】
前記テキストデータに関連する情報は、ネットワークを介して取得される、
請求項１〜３のいずれか１項に記載の音声対話方法。
【請求項５】
前記音声対話装置は、前記テキストデータに対応する前記回答応答文を生成するためのルールを記憶する辞書データベースを備え、
前記辞書データベースに記憶された前記ルールに基づき前記ユーザの発話に対する前記回答応答文を生成不可能である場合、前記音声対話装置において前記回答応答文を生成不可能であると判断する、
請求項１〜４のいずれか１項に記載の音声対話方法。
【請求項６】
前記回答応答文を生成不可能であると判断された場合、前記テキストデータから前記所定の品詞の単語を抽出可能であるか否かを判断し、
前記テキストデータから前記所定の品詞の単語を抽出不可能であると判断された場合、前記第１の応答文を生成しないと判断する、
請求項１〜５のいずれか１項に記載の音声対話方法。
【請求項７】
前記第１の応答文を生成しないと判断された場合、前記第２の応答文を生成せずに、前記テキストデータに関連する情報を取得し、取得された前記情報に基づき、前記発話に対する応答の前記冒頭部分と前記回答部分とを構成する第３の応答文を生成し、
生成された前記第３の応答文を音声により出力する、
請求項６記載の音声対話方法。
【請求項８】
前記第１の応答文を生成しないと判断された場合、前記第１の応答文に替えて、間投詞を含む第４の応答文を生成し、
生成された前記第４の応答文を音声により出力し、
前記第４の応答文の音声出力と並行して、前記第３の応答文を生成し、
前記第４の応答文の音声出力が完了した後に、生成された前記第３の応答文を音声により出力する、
請求項７記載の音声対話方法。
【請求項９】
前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記冒頭部分と前記回答部分とを構成する第３の応答文を生成し、生成した前記第３の応答文から前記第１の応答文を削除することにより前記第２の応答文を生成する、
請求項１〜６のいずれか１項に記載の音声対話方法。
【請求項１０】
前記発話は、ユーザによって使用される機器を制御するための指示内容を含み、
前記テキストデータに基づき、制御の対象となる前記機器を特定するとともに、前記指示内容に対応する制御コマンドを生成し、
特定された前記機器に対して前記制御コマンドを発行し、
前記制御コマンドによる制御結果を前記機器から取得し、
前記制御結果の内容に基づき前記第２の応答文を生成する、
請求項１〜９のいずれか１項に記載の音声対話方法。
【請求項１１】
前記テキストデータに基づき、発話内容が質問に関する発話であるか否かを判断し、
前記発話内容が質問に関する発話であるか否かに応じて前記第１の応答文の構成を変更する、
請求項１〜１０のいずれか１項に記載の音声対話方法。
【請求項１２】
音声対話によりユーザが所望する情報を提供する音声対話装置であって、
前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断する判断部と、
前記判断部によって前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成する第１の生成部と、
前記第１の生成部によって生成された前記第１の応答文を音声により出力する第１の音声出力部と、
前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成する第２の生成部と、
前記第１の応答文の音声出力が完了した後に、前記第２の生成部によって生成された前記第２の応答文を音声により出力する第２の音声出力部と、
を備える音声対話装置。
【請求項１３】
音声対話によりユーザが所望する情報を提供する音声対話プログラムであって、
コンピュータを、
前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断する判断部と、
前記判断部によって前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成する第１の生成部と、
前記第１の生成部によって生成された前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成する第２の生成部として機能させる、
音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声対話によりユーザが所望する情報を提供する音声対話方法、音声対話装置及び音声対話プログラムに関するものである。
【背景技術】
【０００２】
従来、音声対話によりインターネット上から所望の情報を検索したり、宅内の家電機器の状態を確認したり、宅内の家電機器を制御したりするシステムがある。このシステムでは、ユーザからの質問又は指示に対して応答するには、インターネットを介したサーバとの間の情報検索のための通信、又は宅内の家電機器との間の通信が必要となる。そのため、ユーザの発話終了からシステムの応答までに通信処理が行われ、通信環境によってはユーザが体感できるレベルの応答の遅延が生じる。
【０００３】
この応答の遅延による対話の不自然さを解消するため、例えば特許文献１には、音声認識機能を有するサーバへ音声に関する情報を送信してから、サーバ側認識結果を受信するまでの待ち時間が所定の待ち時間以上である場合、予め音声認識端末内に用意された応答文を音声出力する処理を行う音声認識端末が開示されている。しかしながら、この処理は、相槌又は特定の単語など決められたパターンでしか応答できないので、ユーザが所望する回答を得るためには、結局、サーバ側認識結果が受信されるのを待つ必要がある。
【０００４】
また、例えば、特許文献２では、予め用意された文言で応答するのではなく、ユーザの発話を解析し、述語及びそれに対応する格要素を抽出し、抽出された述語又は格要素を確認するための応答を生成することで、ユーザとの対話を継続する方法が開示されている。しかしながら、この応答方法は、ユーザの発話内容を確認するだけにすぎず、ユーザの所望する情報が得られるわけではない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１９１０３０号公報
【特許文献２】特開２００７−２０６８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
音声対話により、インターネット上から所望の情報を検索したり、宅内の家電機器の状態を確認したり、宅内の家電機器を制御したりするシステムにおいては、システムからの応答に通信による遅延が発生し、ユーザとシステムとが円滑に対話することができないおそれがある。上記の特許文献１の方法では、ユーザの発話とシステムからの応答との間の待ち時間に、相槌又は予め決められた所定の応答文を音声出力することはできるものの、ユーザが所望する情報がシステムから遅延なく得られるわけではない。また、上記の特許文献２の方法では、予め決められた所定の応答文ではなく、ユーザの発話文に応じた応答が生成されるものの、この応答はユーザの発話内容を確認するだけにすぎず、質問に対する回答がシステムから遅延なく得られるわけではない。
【０００７】
本開示は、上記の問題を解決するためになされたもので、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる音声対話方法、音声対話装置及び音声対話プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る音声対話方法は、音声対話によりユーザが所望する情報を提供する音声対話装置における音声対話方法であって、前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断し、前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成し、生成された前記第１の応答文を音声により出力し、前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成し、前記第１の応答文の音声出力が完了した後に、生成された前記第２の応答文を音声により出力する。
【発明の効果】
【０００９】
本開示によれば、発話に対する応答の冒頭部分を構成する第１の応答文が音声により出力され、第１の応答文の音声出力と並行して、発話に対する応答の冒頭部分に続く回答部分を構成する第２の応答文が生成され、第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力されるので、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態１における音声対話システムの全体構成を示す図である。
【図２】本実施の形態１における音声対話装置及び音声対話サーバの構成を示す図である。
【図３】本実施の形態１における音声対話サーバにおいて得られる意図理解結果の一例を示す図である。
【図４】本実施の形態１における先行応答と後続応答との関連を示す図である。
【図５】先行応答文を生成しない従来の音声対話処理による応答待ち時間を説明するための模式図である。
【図６】本実施の形態１における先行応答文を生成する音声対話処理による応答待ち時間を説明するための模式図である。
【図７】本実施の形態１の音声対話システムにおける音声対話処理の一例を示す第１のフローチャートである。
【図８】本実施の形態１の音声対話システムにおける音声対話処理の一例を示す第２のフローチャートである。
【図９】図７のステップＳ５における応答文生成処理について説明するためのフローチャートである。
【図１０】本実施の形態２における先行応答と後続応答との関連を示す図である。
【図１１】本実施の形態２における音声対話サーバにおいて得られる意図理解結果の一例を示す図である。
【図１２】本実施の形態２における音声対話装置及び音声対話サーバの構成を示す図である。
【図１３】本実施の形態２の音声対話システムにおける音声対話処理の一例を示すフローチャートである。
【図１４】図１３のステップＳ３１における機器制御処理の一例を示すフローチャートである。
【図１５】本実施の形態２において、発話内容に応じて変更される先行応答文のフォーマットの一例を示す図である。
【図１６】日本語、英語及び中国語の発話を比較するための図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
音声対話により、インターネット上の様々な情報を簡単に取得できるサービスと、宅内の家電機器を簡単に制御するサービスと、宅内の家電機器の状態を簡単に確認するサービスとを提供する音声対話システムが検討されている。これらのサービスが実現される際には、通信による遅延の発生により、人間同士の対話に比べると不自然な待ち時間が発生することが課題となっている。通信による遅延を回避するために、システム内に予め予測される回答を構築及びキャッシュすることも可能であるが、あらゆる質問に答えるためにはクラウドコンピューティングのような大規模システムの活用が不可欠である。また、宅内の家電機器の状態を確認する際も、全ての家電機器の最新の状態を常にキャッシュする場合、キャッシュのための通信が頻発し、家電機器に余分な負荷を与えることになる。応答文を生成するまでの待ち時間に、相槌を表す応答文又は予め記憶された所定の応答文を音声出力したり、効果音を出力したりすることも考えられるが、これらの手法でも、ユーザが所望する情報が早く得られるわけではなく、回答が得られるまでの待ち時間は変わらない。
【００１２】
上記のような課題を解決するために、本開示の一態様に係る音声対話方法は、音声対話によりユーザが所望する情報を提供する音声対話装置における音声対話方法であって、前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断し、前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成し、生成された前記第１の応答文を音声により出力し、前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成し、前記第１の応答文の音声出力が完了した後に、生成された前記第２の応答文を音声により出力する。
【００１３】
この構成によれば、ユーザが発話した音声から変換されたテキストデータに基づき、音声対話装置において発話に対する応答の回答部分を含む回答応答文が生成可能であるか否かが判断される。音声対話装置において回答応答文が生成不可能であると判断された場合、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の回答部分より前に含まれる冒頭部分を構成する第１の応答文が生成され、生成された第１の応答文が音声により出力される。第１の応答文の音声出力と並行して、テキストデータに関連する情報が取得され、取得された情報に基づき、発話に対する応答の回答部分を構成する第２の応答文が生成される。第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力される。
【００１４】
したがって、発話に対する応答の冒頭部分を構成する第１の応答文が音声により出力され、第１の応答文の音声出力と並行して、発話に対する応答の冒頭部分に続く回答部分を構成する第２の応答文が生成され、第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力されるので、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【００１５】
また、上記の音声対話方法において、前記所定の品詞は、名詞であってもよい。この構成によれば、テキストデータに含まれる名詞の単語に基づき、発話に対する応答の冒頭部分を構成する第１の応答文を生成することができる。
【００１６】
また、上記の音声対話方法において、前記第１の応答文は、前記名詞の単語を含む名詞句を含んでもよい。この構成によれば、テキストデータに含まれる名詞の単語を含む名詞句を含む第１の応答文が生成されるので、名詞句で構成される応答の冒頭部分を音声により出力することができる。
【００１７】
また、上記の音声対話方法において、前記テキストデータに関連する情報は、ネットワークを介して取得されてもよい。
【００１８】
この構成によれば、テキストデータに関連する情報は、ネットワークを介して取得されるので、ネットワークを介して情報を取得する際の通信による遅延を短縮することができる。
【００１９】
また、上記の音声対話方法において、前記音声対話装置は、前記テキストデータに対応する前記回答応答文を生成するためのルールを記憶する辞書データベースを備え、前記辞書データベースに記憶された前記ルールに基づき前記ユーザの発話に対する前記回答応答文を生成不可能である場合、前記音声対話装置において前記回答応答文を生成不可能であると判断してもよい。
【００２０】
この構成によれば、音声対話装置は、テキストデータに対応する回答応答文を生成するためのルールを記憶する辞書データベースを備える。辞書データベースに記憶されたルールに基づきユーザの発話に対する回答応答文が生成不可能である場合、音声対話装置において回答応答文が生成不可能であると判断される。
【００２１】
したがって、予め記憶されているルールに基づいてテキストデータから回答応答文が生成される場合、テキストデータに関連する情報を待つ必要なく、音声対話装置内で回答応答文を生成することができる。
【００２２】
また、上記の音声対話方法において、前記回答応答文を生成不可能であると判断された場合、前記テキストデータから前記所定の品詞の単語を抽出可能であるか否かを判断し、前記テキストデータから前記所定の品詞の単語を抽出不可能であると判断された場合、前記第１の応答文を生成しないと判断してもよい。
【００２３】
この構成によれば、回答応答文が生成不可能であると判断され、かつテキストデータから所定の品詞の単語が抽出不可能であると判断された場合、第１の応答文を生成しないと判断することができる。
【００２４】
また、上記の音声対話方法において、前記第１の応答文を生成しないと判断された場合、前記第２の応答文を生成せずに、前記テキストデータに関連する情報を取得し、取得された前記情報に基づき、前記発話に対する応答の前記冒頭部分と前記回答部分とを構成する第３の応答文を生成し、生成された前記第３の応答文を音声により出力してもよい。
【００２５】
この構成によれば、第１の応答文を生成しないと判断された場合、第２の応答文を生成せずに、テキストデータに関連する情報が取得され、取得された情報に基づき、発話に対する応答の冒頭部分と回答部分とを構成する第３の応答文が生成される。生成された第３の応答文が音声により出力される。
【００２６】
したがって、第１の応答文を生成しないと判断された場合、第２の応答文を生成せずに、発話に対する応答の冒頭部分と回答部分とを構成する第３の応答文が生成され、生成された第３の応答文が音声により出力されるので、発話に対する応答の冒頭部分を生成することができない場合、発話に対する応答の冒頭部分と回答部分とを構成する第３の応答文が生成されてから、応答することができる。
【００２７】
また、上記の音声対話方法において、前記第１の応答文を生成しないと判断された場合、前記第１の応答文に替えて、間投詞を含む第４の応答文を生成し、生成された前記第４の応答文を音声により出力し、前記第４の応答文の音声出力と並行して、前記第３の応答文を生成し、前記第４の応答文の音声出力が完了した後に、生成された前記第３の応答文を音声により出力してもよい。
【００２８】
この構成によれば、第１の応答文を生成しないと判断された場合、第１の応答文に替えて、間投詞を含む第４の応答文が生成され、生成された第４の応答文が音声により出力される。第４の応答文の音声出力と並行して、第３の応答文が生成され、第４の応答文の音声出力が完了した後に、生成された第３の応答文が音声により出力される。
【００２９】
したがって、発話に対する応答の冒頭部分を生成することができない場合であっても、発話に対する応答の冒頭部分と回答部分とを構成する第３の応答文の音声出力に先行して、間投詞で構成される簡易な応答文を音声により出力することができる。
【００３０】
また、上記の音声対話方法において、前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記冒頭部分と前記回答部分とを構成する第３の応答文を生成し、生成した前記第３の応答文から前記第１の応答文を削除することにより前記第２の応答文を生成してもよい。
【００３１】
この構成によれば、第１の応答文の音声出力と並行して、テキストデータに関連する情報が取得される。取得した情報に基づき、発話に対する応答の冒頭部分と回答部分とを構成する第３の応答文が生成される。生成された第３の応答文から第１の応答文を削除することにより第２の応答文が生成される。
【００３２】
したがって、第３の応答文から第１の応答文を削除することにより第２の応答文が生成されるので、既に音声出力された第１の応答文に後続する内容の第２の応答文を音声出力することができる。
【００３３】
また、上記の音声対話方法において、前記発話は、ユーザによって使用される機器を制御するための指示内容を含み、前記テキストデータに基づき、制御の対象となる前記機器を特定するとともに、前記指示内容に対応する制御コマンドを生成し、特定された前記機器に対して前記制御コマンドを発行し、前記制御コマンドによる制御結果を前記機器から取得し、前記制御結果の内容に基づき前記第２の応答文を生成してもよい。
【００３４】
この構成によれば、発話は、ユーザによって使用される機器を制御するための指示内容を含む。テキストデータに基づき、制御の対象となる機器が特定されるとともに、指示内容に対応する制御コマンドが生成される。特定された機器に対して制御コマンドが発行され、制御コマンドによる制御結果が機器から取得される。そして、制御結果の内容に基づき第２の応答文が生成される。
【００３５】
したがって、機器の制御結果が取得される前に、応答を開始することができ、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【００３６】
また、上記の音声対話方法において、前記テキストデータに基づき、発話内容が質問に関する発話であるか否かを判断し、前記発話内容が質問に関する発話であるか否かに応じて前記第１の応答文の構成を変更してもよい。
【００３７】
この構成によれば、テキストデータに基づき、発話内容が質問に関する発話であるか否かが判断され、発話内容が質問に関する発話であるか否かに応じて第１の応答文の構成が変更されるので、第１の応答文と第２の応答文とを違和感なく結合させることができる。
【００３８】
本開示の他の態様に係る音声対話装置は、音声対話によりユーザが所望する情報を提供する音声対話装置であって、前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断する判断部と、前記判断部によって前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成する第１の生成部と、前記第１の生成部によって生成された前記第１の応答文を音声により出力する第１の音声出力部と、前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成する第２の生成部と、前記第１の応答文の音声出力が完了した後に、前記第２の生成部によって生成された前記第２の応答文を音声により出力する第２の音声出力部と、を備える。
【００３９】
この構成によれば、ユーザが発話した音声から変換されたテキストデータに基づき、音声対話装置において発話に対する応答の回答部分を含む回答応答文が生成可能であるか否かが判断される。音声対話装置において回答応答文が生成不可能であると判断された場合、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の回答部分より前に含まれる冒頭部分を構成する第１の応答文が生成され、生成された第１の応答文が音声により出力される。第１の応答文の音声出力と並行して、テキストデータに関連する情報が取得され、取得された情報に基づき、発話に対する応答の回答部分を構成する第２の応答文が生成される。第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力される。
【００４０】
したがって、発話に対する応答の冒頭部分を構成する第１の応答文が音声により出力され、第１の応答文の音声出力と並行して、発話に対する応答の冒頭部分に続く回答部分を構成する第２の応答文が生成され、第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力されるので、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【００４１】
本開示の他の態様に係る音声対話プログラムは、音声対話によりユーザが所望する情報を提供する音声対話プログラムであって、コンピュータを、前記ユーザが発話した音声から変換されたテキストデータに基づき、前記音声対話装置において前記発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断する判断部と、前記判断部によって前記音声対話装置において前記回答応答文を生成不可能であると判断された場合、前記テキストデータに含まれる所定の品詞の単語に基づき、前記発話に対する応答の前記回答部分より前に含まれる冒頭部分を構成する第１の応答文を生成する第１の生成部と、前記第１の生成部によって生成された前記第１の応答文の音声出力と並行して、前記テキストデータに関連する情報を取得し、取得した前記情報に基づき、前記発話に対する応答の前記回答部分を構成する第２の応答文を生成する第２の生成部として機能させる。
【００４２】
この構成によれば、ユーザが発話した音声から変換されたテキストデータに基づき、音声対話装置において発話に対する応答の回答部分を含む回答応答文が生成可能であるか否かが判断される。音声対話装置において回答応答文が生成不可能であると判断された場合、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の回答部分より前に含まれる冒頭部分を構成する第１の応答文が生成される。生成された第１の応答文の音声出力と並行して、テキストデータに関連する情報が取得され、取得された情報に基づき、発話に対する応答の回答部分を構成する第２の応答文が生成される。
【００４３】
したがって、発話に対する応答の冒頭部分を構成する第１の応答文が音声により出力され、第１の応答文の音声出力と並行して、発話に対する応答の冒頭部分に続く回答部分を構成する第２の応答文が生成され、第１の応答文の音声出力が完了した後に、生成された第２の応答文が音声により出力されるので、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【００４４】
また、本開示は、以上のような特徴的な処理を実行する音声対話装置として実現することができるだけでなく、音声対話装置に含まれる特徴的な機能を実行するための処理手段を備える音声対話方法などとして実現することもできる。また、このような音声対話装置に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な非一時的な記録媒体又はインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。 
【００４５】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ及びステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【００４６】
（実施の形態１）
本実施の形態１では、ユーザが音声対話システムから所望の情報を対話により取得する例について説明する。
【００４７】
図１は、本実施の形態１における音声対話システムの全体構成を示す図である。
【００４８】
図１に示す音声対話システムは、音声対話装置１００、音声対話サーバ１０１及びサービス提供サーバ１０２を備える。音声対話装置１００と音声対話サーバ１０１とは、ネットワークを介して互いに通信可能に接続される。音声対話サーバ１０１とサービス提供サーバ１０２とは、ネットワークを介して互いに通信可能に接続される。なお、ネットワークは、例えばインターネットである。音声対話装置１００は、ユーザが発話した音声を取得し、ユーザの発話に対する応答文を音声出力する。ユーザは、音声対話装置１００に向かって欲しい情報を問い合わせると、音声対話装置１００から音声での回答を得ることができる。音声対話装置１００は、音声対話によりユーザが所望する情報を提供する。
【００４９】
音声対話装置１００は、ユーザの発話内容の音声認識を行い、音声認識結果を音声対話サーバ１０１へ送信する。図１の例においては、ユーザの発話内容である「今日の天気教えて」が音声認識によりテキスト化され、テキスト化された文字列が音声対話サーバ１０１へ送信される。音声対話サーバ１０１は、音声対話装置１００から受信した文字列の意図を理解し、対応するサービス提供サーバ１０２から、応答文の生成に必要な情報を取得する。サービス提供サーバ１０２は、天気情報サービス、交通情報サービス又はニュースサービスなど、様々なクラウドサービスを提供するサービス提供サーバ群である。図１の例では、ユーザの発話が「今日の天気教えて」であるので、音声対話サーバ１０１は、天気情報サービスを提供するサービス提供サーバ１０２から、現在の日付の天気情報を取得する。得られた天気情報が「晴れのち曇り」であれば、音声対話サーバ１０１は、応答文として「今日の天気は、晴のち曇です」という文字列を生成し、音声対話装置１００に送信する。音声対話装置１００は、音声対話サーバ１０１から得られた応答文を音声合成により読み上げる。これにより、音声対話装置１００は、ユーザの質問に対して回答することができる。
【００５０】
図２は、本実施の形態１における音声対話装置及び音声対話サーバの構成を示す図である。図２に示す音声対話装置１００は、音声入力部２０１、音声認識部２０２、通信部２０３、意図理解部２０４、辞書データベース（ＤＢ）２０７、先行応答生成部２０８、応答出力部２０９、音声合成部２１０及び音声出力部２１１を備える。
【００５１】
音声入力部２０１は、ユーザが発話した音声を収音し、収音したアナログデータをデジタルデータに変換し、音声認識部２０２にデジタルデータ化された音声データを出力する。音声入力部２０１は、例えばパルス符号変調（ＰＣＭ：Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）等を用いてアナログの音声をデジタル化する。
【００５２】
なお、音声入力部２０１は、音声対話装置１００に組み込まれた例えば指向性マイクなどを用いて収音してもよい。また、音声入力部２０１は、音声対話装置１００に有線又は無線で接続された例えばハンドマイク、ピンマイク又は卓上マイクなどの任意の収音デバイスを用いて収音してもよい。また、音声入力部２０１は、例えばスマートフォン又はタブレット型コンピュータなどの収音機能及び通信機能を有するデバイスを用いて収音してもよい。
【００５３】
音声認識部２０２は、デジタル化された音声データを音声入力部２０１から受け取り、音響モデル又は言語モデルを用いて音声データをテキスト情報（テキストデータ）に変換する。音声認識部２０２は、音声対話装置１００内に記憶された音響モデル又は言語モデルを用いてもよいし、クラウドサーバ上に記憶された音響モデル又は言語モデルを用いてもよい。クラウドサーバ上に記憶された音響モデル又は言語モデルを利用する場合は、音声対話装置１００は、デジタル化された音声データをクラウドサーバに送信し、クラウドサーバ上で変換されたテキスト情報を受信する。
【００５４】
また、音声認識部２０２は、クラウドサーバ上に記憶された音響モデル又は言語モデルと、音声対話装置１００内に記憶された音響モデル又は言語モデルとの両方を利用してもよい。この場合は、音声認識部２０２は、クラウドサーバからのテキスト情報と、音声認識部２０２で変換されたテキスト情報とのうちの先に取得されたテキスト情報を採用する。また、音声認識部２０２は、クラウドサーバからのテキスト情報と、音声認識部２０２で変換されたテキスト情報とのうちの確からしさの高い方のテキスト情報を採用してもよい。音声認識部２０２によって得られるテキスト情報（ユーザが発話した内容をテキスト化した情報）は、意図理解部２０４及び通信部２０３に送られる。
【００５５】
通信部２０３は、音声認識部２０２から得られたテキスト情報を音声対話サーバ１０１に送信し、テキスト情報を意図理解した意図理解結果に基づいて生成された応答文を音声対話サーバ１０１から受信する。
【００５６】
図３は、本実施の形態１における音声対話サーバにおいて得られる意図理解結果の一例を示す図である。音声対話サーバ１０１において得られる意図理解結果は、ユーザの発話文（入力テキスト）、ユーザの発話文に対する応答文（出力テキスト）、及びユーザの発話の意図を示す意図情報を含む。意図情報は、ユーザが実行又は問い合わせしているタスク（機能）を示す情報と、タスクを呼び出す属性及び当該属性の値を示す情報（スロット）とを含む。図３の例では、ユーザの発話である「今日の天気教えて」に対する意図情報において、タスクは“ｗｅａｔｈｅｒ”であり、スロットは“ｄａｔｅ”属性と“ｐａｒａｍｅｔｅｒ”属性とを含む。“ｄａｔｅ”属性に対する値は“ｔｏｄａｙ”であり、“ｐａｒａｍｅｔｅｒ”属性に対する値は“ｗｅａｔｈｅｒ”である。また、それぞれの属性には、ユーザの発話文の中からどの単語が割り当てられたのかを示す情報も含まれる。図３の例では、“ｄａｔｅ”属性には“今日”という単語が割り当てられ、“ｐａｒａｍｅｔｅｒ”属性には“天気”という単語が割り当てられている。意図理解結果に含まれるこれらの情報を用いて、音声対話装置１００は対応する処理を実行する。
【００５７】
意図理解部２０４は、音声対話サーバ１０１で行われる意図理解と同様、上述の図３に示す例のように意図理解結果を算出する。なお、意図理解部２０４は、完全な意図理解結果を算出する必要はない。意図理解部２０４は、外部と通信せずに、装置内に記憶された辞書データベース２０７だけを用いて意図理解を行う。そのため、例えば「今日の天気教えて」というユーザの発話文に対し、現在の天気情報が辞書データベース２０７に記憶されていなければ、意図理解部２０４は応答文を生成することができず、不完全な意図理解結果しか生成することができない。また、辞書データベース２０７に記憶されていない未知の単語が発話文に含まれている場合も、意図理解部２０４はスロット情報を導き出せず、不完全な意図理解結果を生成する。つまり、意図理解部２０４は、限定的な意図理解処理を担うブロックである。意図理解部２０４は、先行応答判断部２０５及び名詞句抽出部２０６を備える。
【００５８】
先行応答判断部２０５は、ユーザが発話した音声から変換されたテキストデータに基づき、音声対話装置１００において発話に対する応答の回答部分を含む回答応答文を生成可能であるか否かを判断する。辞書データベース２０７は、テキストデータに対応する回答応答文を生成するためのルールを記憶する。先行応答判断部２０５は、辞書データベース２０７に記憶されたルールに基づきユーザの発話に対する回答応答文を生成不可能である場合、音声対話装置１００において回答応答文を生成不可能であると判断する。
【００５９】
先行応答判断部２０５は、ユーザの発話文に対して、音声対話装置１００内の辞書データベース２０７を用いて、完全な応答が可能であるか否かを判断する。また、先行応答判断部２０５は、ユーザの発話文に対して、名詞句抽出部２０６を用いて、先行部分の応答が可能であるか否かを判断する。例えば、ユーザの発話文「おはよう」に対し、「おはようございます」という応答を返すルールが辞書データベース２０７に記憶されていれば、先行応答判断部２０５は、完全な応答が可能であると判断する。一方、外部との通信が必要となる問い合わせ、例えば「今日の天気教えて」等に対する応答は、予めルールとして辞書データベース２０７に登録することができない。そのため、先行応答判断部２０５は、完全な応答が不可能であると判断する。
【００６０】
完全な応答が不可能であると判断された場合、先行応答判断部２０５は、先行部分の応答が可能であるか否かを判断する。先行部分の応答が可能であるか否かの判断は、名詞句抽出部２０６によってユーザの発話文から名詞句が抽出可能であるか否かにより判断される。ユーザの発話文から名詞句が抽出された場合、先行応答判断部２０５は、先行部分の応答が可能であると判断し、ユーザの発話文から名詞句が抽出されない場合、先行応答判断部２０５は、先行部分の応答が不可能であると判断する。
【００６１】
名詞句抽出部２０６は、音声認識部２０２から入力されたテキスト情報を形態素解析し、テキスト情報から名詞句を抽出する。形態素解析では、テキスト文が、言語として意味を持つ最小単位の単語（文字列）に分割され、分割された各単語の品詞が判別される。例えば「今日の天気教えて」というテキスト情報を形態素解析した場合、単語「今日」の品詞は名詞であり、単語「の」の品詞は助詞であり、単語「天気」の品詞は名詞であり、単語「教え」の品詞は動詞であり、単語「て」の品詞は助詞であると判別される。名詞句抽出部２０６は、形態素解析された単語の中から名詞句を抽出する。日本語の名詞句は、「名詞」と「助詞」とが連続する節、又は「名詞」と「助詞」と「形容詞」とが連続する節を指す。上記の例では、名詞＋助詞＋名詞で構成される節「今日の天気」が名詞句として抽出される。「京都の美味しいレストラン教えて」というテキスト文の場合は、名詞である「京都」、助詞である「の」、形容詞である「美味しい」及び名詞である「レストラン」で構成される節「京都の美味しいレストラン」が名詞句となる。名詞句抽出部２０６により、名詞句が抽出された場合、先行応答判断部２０５は、先行部分の応答が可能であると判断する。
【００６２】
先行応答生成部２０８は、音声対話装置１００において回答応答文を生成不可能であると判断された場合、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の回答部分より前に含まれる冒頭部分を構成する先行応答文を生成する。なお、所定の品詞は名詞である。また、先行応答文は、テキストデータに含まれる名詞の単語を含む名詞句を含む。
【００６３】
先行応答生成部２０８は、意図理解部２０４の意図理解結果に基づいて、先行応答文又は回答応答文を生成する。音声対話装置１００内の辞書データベース２０７に予め用意されたルールに発話文が合致し、発話に対する応答の回答部分を含む完全な応答文が生成可能である場合、先行応答生成部２０８は、意図理解部２０４から得られた応答文をそのまま音声合成部２１０に送り、応答生成処理が完結したことを応答出力部２０９に通知する。音声対話装置１００内の辞書データベース２０７に予め用意されたルールに発話文が合致しなかったが、発話文から名詞句が抽出された場合、先行応答生成部２０８は、名詞句から発話に対する応答の冒頭部分を構成する先行応答文を生成する。先行応答生成部２０８は、生成した先行応答文を音声合成部２１０に送り、先行応答文の内容と先行応答文を出力済みであることとを応答出力部２０９に通知する。音声対話装置１００内の辞書データベース２０７に予め用意されたルールに発話文が合致せず、発話文から名詞句が抽出されなかった場合、先行応答生成部２０８は、先行応答文を出力しないことを応答出力部２０９に通知する。
【００６４】
音声合成部２１０は、先行応答生成部２０８及び応答出力部２０９から受け取ったテキスト情報である応答文を音声合成処理することで音声データを生成する。音声出力部２１１は、例えばスピーカ等であり、音声合成部２１０によって生成された音声データを出力する。音声出力部２１１は、先行応答生成部２０８によって生成された先行応答文を音声により出力する。音声出力部２１１は、音声対話装置１００に組み込まれていてもよいし、有線又は無線によって音声対話装置１００に接続されていてもよい。少なくとも１つ以上の音声出力部２１１が音声対話装置１００に接続されていればよい。
【００６５】
応答出力部２０９は、先行応答生成部２０８から受け取った先行応答文と音声対話サーバ１０１から得られた完全応答文とから、最終的な応答文を生成して出力する。先行応答文が出力済みである場合、応答出力部２０９は、音声対話サーバ１０１から得られた完全応答文から、先行応答文の内容を除いた後続応答文を生成し、生成した後続応答文を音声合成部２１０に送る。例えば、「今日の天気は」という内容の先行応答文がすでに出力済みである場合、応答出力部２０９は、音声対話サーバ１０１から得られた完全応答文「今日の天気は晴れのち曇りです」から、先行応答文の内容を除いた後続応答文「晴れのち曇りです」を音声合成部２１０に送る。また、先行応答文が出力されていない場合、応答出力部２０９は、音声対話サーバ１０１から得られた完全応答文を音声合成部２１０に送る。
【００６６】
応答出力部２０９は、先行応答文の音声出力と並行して、テキストデータに関連する情報を取得し、取得した情報に基づき、発話に対する応答の回答部分を構成する後続応答文を生成する。なお、テキストデータに関連する情報は、ネットワークを介して取得される。また、応答出力部２０９は、先行応答文の音声出力が終了するまでに、テキストデータに関連する情報を取得し、取得した情報に基づき、発話に対する応答の回答部分を構成する後続応答文を生成することが好ましい。音声出力部２１１は、先行応答文の音声出力が完了した後に、応答出力部２０９によって生成された後続応答文を音声により出力する。
【００６７】
なお、先行応答生成部２０８は、回答応答文を生成不可能であると判断され、かつテキストデータから所定の品詞の単語を抽出不可能であると判断された場合、先行応答文を生成しないと判断する。また、先行応答文を生成しないと判断された場合、先行応答生成部２０８は、先行応答文に替えて、間投詞を含む応答文を生成する。音声出力部２１１は、生成された間投詞を含む応答文を音声により出力する。応答出力部２０９は、間投詞を含む応答文の音声出力と並行して、完全応答文を生成する。なお、応答出力部２０９は、間投詞を含む応答文の音声出力が終了するまでに、完全応答文を生成することが好ましい。音声出力部２１１は、間投詞を含む応答文の音声出力が完了した後に、生成された完全応答文を音声により出力する。
【００６８】
また、応答出力部２０９は、先行応答文を生成しないと判断された場合、後続応答文を生成せずに、テキストデータに関連する情報を取得し、取得された情報に基づき、発話に対する応答の冒頭部分と回答部分とを構成する完全応答文を生成してもよい。そして、音声出力部２１１は、生成された完全応答文を音声により出力してもよい。
【００６９】
続いて、音声対話サーバ１０１の構成について説明する。音声対話サーバ１０１は、通信部２１２、意図理解部２１３、辞書データベース（ＤＢ）２１４及び応答生成部２１５を備える。
【００７０】
通信部２１２は、音声対話装置１００によって送信されたテキスト化されたユーザの発話文を示すテキスト情報を受信する。なお、音声対話装置１００は、テキスト化されたユーザの発話文を送信するのではなく、デジタル化された音声データを音声対話サーバ１０１に送信してもよい。その場合は、音声対話サーバ１０１は音声認識部を備え、音声対話サーバ１０１の音声認識部が、デジタル化された音声データをテキスト化する。
【００７１】
意図理解部２１３は、受信したユーザの発話文を解析し、ユーザが実行又は問い合わせしているタスク（機能）を特定するとともに、タスクを呼び出す属性及び値を導き出す意図理解処理を行う。意図理解処理には、音声対話サーバ１０１内の辞書データベース２１４が用いられる。辞書データベース２１４には、様々な入力文に対する意図理解ルールが記憶されている。意図理解部２１３は、辞書データベース２１４に記憶されているルールに従い意図理解処理を行う。なお、音声対話サーバ１０１内の辞書データベース２１４のデータ量は、音声対話装置１００内の辞書データベース２０７のデータ量より多いことが好ましい。
【００７２】
意図理解処理により、ユーザの発話文から実行すべきタスクと、属性の値とが導かれる。図３に示す意図情報は、意図理解処理によって得られる結果の一例である。図３の例では、意図情報のタスクは“ｗｅａｔｈｅｒ”であり、スロットの属性は“ｄａｔｅ”及び“ｐａｒａｍｅｔｅｒ”の２種類である。また、各スロットの属性のうち、“ｄａｔｅ”属性の値は“ｔｏｄａｙ”であり、“ｐａｒａｍｅｔｅｒ”属性の値は“ｗｅａｔｈｅｒ”である。また、それぞれの属性には、ユーザの発話文の中からどの単語が割り当てられたのかを示す情報も含まれる。図３の例では、“ｄａｔｅ”属性には“今日”という単語が割り当てられ、“ｐａｒａｍｅｔｅｒ”属性には“天気”という単語が割り当てられている。
【００７３】
応答生成部２１５は、意図理解部２１３から得られた意図情報に基づいて応答文を生成する。図３の例では、意図情報から、ユーザは天気についてのタスクを実行しようとしており、日時は「今日」であり、知りたい情報は「天気」であることがわかる。この意図情報から、応答生成部２１５は、「今日」の「天気」をサービス提供サーバ１０２に問い合わせ、ユーザが所望する情報を取得する。ユーザのタスクが「交通情報」であれば、応答生成部２１５は、サービス提供サーバ１０２に交通情報を問い合わせる。応答生成部２１５は、サービス提供サーバ１０２から得られた情報に基づいて、応答文を生成する。例えば、天気情報が晴れのち曇りであれば、図３の出力テキストの例のように「今日の天気は晴れのち曇りです」という完全応答文を生成する。通信部２１２は、応答生成部２１５によって生成された完全応答文を音声対話装置１００へ送信する。
【００７４】
応答生成部２１５は、先行応答文の音声出力と並行して、テキストデータに関連する情報を取得し、取得した情報に基づき、発話に対する応答の冒頭部分と回答部分とを構成する完全応答文を生成する。応答出力部２０９は、応答生成部２１５によって生成された完全応答文から先行応答文を削除することにより後続応答文を生成する。
【００７５】
なお、音声対話サーバ１０１の意図理解部２１３は、音声対話装置１００の意図理解部２０４と同様に、先行応答文を生成してもよい。その場合、音声対話サーバ１０１では、２つの応答文が生成されることになる。例えば、図３の例では、出力テキストは、ユーザの発話に対する応答の冒頭部分を構成する先行応答文＃１と、ユーザの発話に対する応答の回答部分を構成する後続応答文＃２とを含む。音声対話サーバ１０１からは、２つの出力結果が送信される。まず、応答生成部２１５は、先行応答文＃１を生成し、通信部２１２は、生成された先行応答文＃１を先行して音声対話装置１００に送信する。そして、応答生成部２１５は、サービス提供サーバ１０２から情報が得られたタイミングで後続応答文＃２を生成し、通信部２１２は、生成された後続応答文＃２を音声対話装置１００に送信する。
【００７６】
なお、応答生成部２１５は、後続応答文のみを生成してもよい。通信部２１２は、生成された後続応答文を音声対話装置１００へ送信してもよい。すなわち、音声対話装置１００において先行応答文が生成される場合、音声対話サーバ１０１から送信される完全応答文のうちの先行応答文に対応する冒頭部分は、音声対話装置１００にとって不要な情報である。そこで、音声対話サーバ１０１は後続応答文のみを生成して送信することにより、音声対話装置１００は、受信した後続応答文を先行応答文に続けて音声出力することができ、応答の待ち時間をより短縮することができる。
【００７７】
図４は、本実施の形態１における先行応答と後続応答との関連を示す図である。ユーザが音声対話装置１００に対して「今日の天気教えて」と発話すると、音声対話装置１００は、音声対話装置１００内で意図理解処理を行うとともに、音声対話サーバ１０１に音声認識により得られたテキスト情報を送信する。音声対話装置１００内での意図理解処理は外部と通信しないため、意図理解可能な範囲及び回答可能な範囲は制限されるが、通信による遅延が発生しないため、素早く応答を返すことができる。
【００７８】
ユーザの発話が「今日の天気教えて」である場合、天気情報は、ネットワークを介して外部から取得する必要があり、音声対話装置１００内での意図理解処理だけでは完全な応答文を生成することができない。そのため、音声対話装置１００は、ユーザの発話文から名詞句を抽出し、名詞句から生成される先行応答文「今日の天気は」を先行して音声出力する。音声対話装置１００は、先行応答文を音声合成し、音声として出力している間に音声対話サーバ１０１によって完全応答文が生成されるのを待つ。
【００７９】
音声対話サーバ１０１は、サービス提供サーバ１０２と通信し、ユーザの発話に対する応答の冒頭部分と回答部分とを含む完全応答文を生成する。音声対話サーバ１０１内での意図理解及び応答文生成が完了すると、音声対話サーバ１０１は、完全応答文を音声対話装置１００に送信する。音声対話装置１００は、先行応答文を音声出力している間に、音声対話サーバ１０１から完全応答文を受信する。そして、音声対話装置１００は、先行応答文の音声出力が終了した後、続いて完全応答文から先行応答文を削除した後続応答文を音声出力する。
【００８０】
図５は、先行応答文を生成しない従来の音声対話処理による応答待ち時間を説明するための模式図である。ユーザの発話終了からシステムの応答開始までの応答待ち時間は、ユーザの発話の音声認識に要する処理時間ｔ１と、音声対話サーバ１０１による意図理解処理及び完全応答文の生成に要する処理時間ｔ２との和となる。処理時間ｔ２には、音声対話装置１００と音声対話サーバ１０１との間の通信時間、及び音声対話サーバ１０１とサービス提供サーバ１０２との間の通信時間も含まれる。そのため、処理時間ｔ２は通信環境によっては大きな遅延要素となる。
【００８１】
図６は、本実施の形態１における先行応答文を生成する音声対話処理による応答待ち時間を説明するための模式図である。ユーザの発話終了からシステムの応答開始までの応答待ち時間は、ユーザの発話の音声認識に要する処理時間ｔ１と、音声対話装置１００内で行われる先行応答文の生成に要する処理時間ｔ４との和となる。処理時間ｔ４は、ネットワークを介して外部と通信しないため、通信時間が含まれる音声対話サーバ１０１による完全応答文の生成に要する処理時間ｔ２より短くなる。先行応答文が生成された後、システムからの先行応答文の音声出力が開始され、続いて音声対話サーバ１０１からの完全応答文に基づいて後続応答文の音声出力が行われる。先行応答文の音声出力完了前に音声対話サーバ１０１から完全応答文を受信した場合、先行応答文の音声出力の完了を待ってから後続応答文の音声出力が開始される。ユーザの応答待ち時間は、図５と比較し、ｔ２−ｔ４時間分、短縮することになる。音声対話サーバ１０１から完全応答文を受信する前に、先行応答文を先に音声出力することで、音声対話サーバ１０１から応答結果を待つ時間を有効利用し、ユーザの応答待ち時間の短縮を図ることができる。
【００８２】
図７は、本実施の形態１の音声対話システムにおける音声対話処理の一例を示す第１のフローチャートであり、図８は、本実施の形態１の音声対話システムにおける音声対話処理の一例を示す第２のフローチャートである。
【００８３】
まず、音声入力部２０１は、ユーザの発話を検知したか否かを判断する（ステップＳ１）。ユーザの発話を検知していないと判断された場合（ステップＳ１でＮＯ）、音声入力部２０１は、ユーザの発話を検知するまで待機する。
【００８４】
一方、ユーザの発話を検知したと判断された場合（ステップＳ１でＹＥＳ）、音声入力部２０１は、ユーザの発話を収音する（ステップＳ２）。音声入力部２０１は、収音したアナログデータの音声をデジタルデータに変換し、デジタル化された音声データを音声認識部２０２に出力する。音声認識部２０２によって発話の終端が検知されるまで、音声入力部２０１は収音を続ける。発話の終端は、例えば無音状態が一定時間以上検知されること、又はユーザにより明示的に発話終了ボタンが押下されることにより検知される。
【００８５】
発話の終端が検知されると、音声認識部２０２は、音声入力部２０１からの音声データに対して音声認識処理を実行する（ステップＳ３）。すなわち、音声認識部２０２は、音声入力部２０１から入力されたデジタル化された音声データを、音響モデル又は言語モデルを用いてテキスト情報に変換する。音声データをテキスト化したテキスト情報（ユーザの入力発話文）は、意図理解部２０４及び通信部２０３へ出力される。
【００８６】
次に、通信部２０３は、音声認識部２０２によって変換されたテキスト情報を音声対話サーバ１０１に送信する（ステップＳ４）。
【００８７】
次に、意図理解部２０４及び先行応答生成部２０８は、応答文を生成する応答文生成処理を実行する（ステップＳ５）。意図理解部２０４は、音声認識部２０２から入力されたユーザの発話文に対して意図理解処理を行う。先行応答生成部２０８は、意図理解結果に応じて、回答応答文、先行応答文又は間投詞を含む応答文を生成する。
【００８８】
ここで、図７のステップＳ５における応答文生成処理について説明する。
【００８９】
図９は、図７のステップＳ５における応答文生成処理について説明するためのフローチャートである。
【００９０】
音声認識部２０２によってユーザの入力発話文がテキスト化された後、先行応答判断部２０５は、テキスト化された入力発話文に対し、辞書データベース２０７を用いて意図理解処理を実行する（ステップＳ２１）。具体的には、先行応答判断部２０５は、ユーザの入力発話文に合致する応答／タスク実行ルールを辞書データベース２０７から検索する。例えば、「おはよう」という入力発話文に対する応答／タスク実行ルールは、出力「おはようございます」及び実行タスク「ｇｒｅｅｔｉｎｇ」等になる。
【００９１】
次に、先行応答判断部２０５は、ローカルで意図理解処理が完結したか否かを判断する（ステップＳ２２）。ユーザの入力発話文に対する応答及び実行すべきタスクのルールが辞書データベース２０７に存在すれば、先行応答判断部２０５は、音声対話装置１００内のローカルで意図理解処理が完結したと判断する。先行応答判断部２０５は、辞書データベース２０７から得られた応答／タスク実行ルールに従い、応答文を生成し、生成した応答文及び応答文が回答応答文であることを先行応答生成部２０８に通知する。音声対話装置１００内のローカルで意図理解処理が完結したと判断された場合（ステップＳ２２でＹＥＳ）、先行応答生成部２０８は、先行応答判断部２０５から入力された応答文を回答応答文として生成する（ステップＳ２３）。
【００９２】
一方、ステップＳ２２において、先行応答判断部２０５はユーザの入力発話文に対する応答及び実行すべきタスクのルールが辞書データベース２０７に存在しなければ、先行応答判断部２０５は、音声対話装置１００内のローカルで意図理解処理が完結しないと判断する。音声対話装置１００内のローカルで意図理解処理が完結しないと判断された場合（ステップＳ２２でＮＯ）、名詞句抽出部２０６は、テキスト化された入力発話文を形態素解析し、名詞句を抽出する（ステップＳ２４）。日本語の名詞句は、「名詞」と「助詞」とが連続する節、又は「名詞」と「助詞」と「形容詞」とが連続する節を指す。
【００９３】
次に、先行応答生成部２０８は、ユーザの入力発話文から名詞句が抽出されたか否かを判断する（ステップＳ２５）。ここで、ユーザの入力発話文から名詞句が抽出されたと判断された場合（ステップＳ２５でＹＥＳ）、先行応答生成部２０８は、名詞句抽出部２０６によって抽出された名詞句を主語とする先行応答文を生成する（ステップＳ２６）。例えば、抽出された名詞句が「今日の天気」である場合、先行応答生成部２０８は、「今日の天気」を主語とし、主語に続く助詞である「は」を加えた、「今日の天気は」を先行応答文として生成する。
【００９４】
一方、ステップＳ２５において、ユーザの入力発話文から名詞句が抽出されなかったと判断された場合（ステップＳ２５でＮＯ）、先行応答生成部２０８は、「えっと」又は「はい」などの間投詞を含む応答文を生成する（ステップＳ２７）。
【００９５】
なお、ユーザの入力発話文から名詞句が抽出されなかったと判断された場合、先行応答生成部２０８は、間投詞を含む応答文を生成しなくてもよい。間投詞を含む応答文が生成されない場合、先行応答文及び間投詞を含む応答文が音声出力されることはなく、音声対話装置１００は、音声対話サーバ１０１によって生成された完全応答文を受信するまで待機することになる。
【００９６】
なお、間投詞を含む応答文を生成するか否かの判断は、ランダムに変化させてもよいし、予めシステム側で決められたパターンで判断してもよい。また、間投詞は、ユーザによって設定されてもよい。さらに、間投詞を含む応答文を生成するか否かは、ユーザによって設定されてもよい。
【００９７】
図７に戻り、次に、音声合成部２１０は、先行応答生成部２０８によって生成された回答応答文、先行応答文又は間投詞を含む応答文を音声合成し、音声データを生成する（ステップＳ６）。
【００９８】
次に、音声出力部２１１は、音声データを音声として出力する（ステップＳ７）。これにより、応答文が読み上げられる。なお、ステップＳ５〜ステップＳ７の処理は、音声対話サーバ１０１からの応答を待つことなく実行される。
【００９９】
一方、音声対話サーバ１０１の通信部２１２は、音声対話装置１００の通信部２０３によって送信されたテキスト情報を受信する（ステップＳ８）。
【０１００】
次に、音声対話サーバ１０１の意図理解部２１３は、通信部２１２によって受信されたテキスト情報に対して意図理解処理を実行する（ステップＳ９）。意図理解処理は、音声対話サーバ１０１の辞書データベース２１４を用いて行われる。意図理解部２１３は、ユーザの発話文から実行すべきタスクと、属性の値とを含む意図情報を導出する。意図理解処理によって導出された意図情報は、応答生成部２１５に出力される。
【０１０１】
次に、応答生成部２１５は、意図情報に基づいて完全応答文を生成する（ステップＳ１０）。応答生成部２１５は、意図情報に含まれるタスク内容に応じて、ユーザが所望する情報をサービス提供サーバ１０２に問い合わせ、サービス提供サーバ１０２から得た情報に基づいて完全応答文を生成する。
【０１０２】
次に、通信部２１２は、応答生成部２１５によって生成された完全応答文を音声対話装置１００に送信する（ステップＳ１１）。なお、通信部２１２は、完全応答文のみだけではなく、完全応答文を含む図３に示す意図理解結果を音声対話装置１００に送信してもよい。以上のステップＳ８からステップＳ１１までの処理が、音声対話サーバ１０１で行われる処理となる。
【０１０３】
次に、音声対話装置１００の通信部２０３は、音声対話サーバ１０１によって送信された完全応答文を受信する（ステップＳ１２）。応答出力部２０９は、先行応答生成部２０８から受け取った先行応答文と、音声対話サーバ１０１から得られた完全応答文とに基づいて、最終的な応答文を生成する。
【０１０４】
次に、応答出力部２０９は、音声対話装置１００内のローカルで意図理解処理が完結したか否かを判断する（ステップＳ１３）。先行応答生成部２０８によって回答応答文が既に生成済みであれば、応答出力部２０９は、音声対話装置１００内のローカルで意図理解処理が完結したと判断する。ここで、音声対話装置１００内のローカルで意図理解処理が完結したと判断された場合（ステップＳ１３でＹＥＳ）、応答出力部２０９は、音声対話サーバ１０１から受信した完全応答文を破棄し、音声対話処理を終了する（ステップＳ１４）。
【０１０５】
一方、先行応答生成部２０８によって回答応答文が生成されていなければ、応答出力部２０９は、音声対話装置１００内のローカルで意図理解処理が完結しないと判断する。音声対話装置１００内のローカルで意図理解処理が完結しないと判断された場合（ステップＳ１３でＮＯ）、応答出力部２０９は、先行応答文が音声出力されているか否かを判断する（ステップＳ１５）。
【０１０６】
ここで、先行応答文が音声出力されていないと判断された場合（ステップＳ１５でＮＯ）、応答出力部２０９は、音声対話サーバ１０１から受信した完全応答文を音声合成部２１０に出力し、音声合成部２１０は、応答出力部２０９によって出力された完全応答文を音声合成し、音声データを生成する（ステップＳ１６）。
【０１０７】
一方、先行応答文が音声出力されていると判断された場合（ステップＳ１５でＹＥＳ）、応答出力部２０９は、音声対話サーバ１０１から受信した完全応答文から、先行応答生成部２０８によって生成された先行応答文を除去した後続応答文を生成し、生成した後続応答文を音声合成部２１０に出力する（ステップＳ１７）。例えば、「今日の天気は」という先行応答文がすでに出力開始済みである場合、応答出力部２０９は、音声対話サーバ１０１から受信した「今日の天気は晴れのち曇りです」という完全応答文から、先行応答文を除いた「晴れのち曇りです」という後続応答文を音声合成部２１０に出力する。
【０１０８】
次に、音声合成部２１０は、応答出力部２０９から入力された後続応答文を音声合成し、音声データを生成する（ステップＳ１８）。
【０１０９】
次に、音声出力部２１１は、先行応答文の音声出力が完了したか否かを判断する（ステップＳ１９）。先行応答文の音声出力が完了していない場合（ステップＳ１９でＮＯ）、先行応答文の音声出力が完了するまで待機する。
【０１１０】
一方、先行応答文の音声出力が完了したと判断された場合（ステップＳ１９でＹＥＳ）、音声出力部２１１は、後続応答文又は完全応答文の音声データを音声として出力する（ステップＳ２０）。これにより、音声対話サーバ１０１から受信した完全応答文又は音声対話装置１００で生成された後続応答文が読み上げられる。
【０１１１】
本実施の形態１の音声対話装置１００によれば、音声対話サーバ１０１での情報検索結果に依存しない応答文の冒頭部分を構成する先行応答文が、音声対話サーバ１０１での結果を待つことなく音声出力される。そして、音声対話サーバ１０１での情報検索結果に依存する回答部分を構成する後続応答文が、音声対話サーバ１０１での情報検索結果を受理してから、先行応答文に続いて音声出力される。したがって、音声対話装置１００に対するユーザの発話内容が、音声対話サーバ１０１での情報検索を必要とし、かつ応答までに時間を要するリクエストであった場合においても、音声対話サーバ１０１での情報検索に要する時間中に、先行応答文を音声出力することができ、ユーザの発話リクエストに対する応答遅延を、応答文に含まれる情報量を維持したまま短縮することができる。
【０１１２】
（実施の形態２）
実施の形態１では、外部サービスを活用して音声対話により情報を検索する際の音声対話装置の構成について説明したが、本実施の形態２では、音声対話により宅内の家電機器を操作する際の音声対話装置の構成について説明する。なお、以下の説明では、上記実施の形態１と同様の構成については同一の符号を付して説明を簡略化している。
【０１１３】
図１０は、本実施の形態２における先行応答と後続応答との関連を示す図である。本実施の形態２では、音声対話装置１００は、ユーザの発話内容に応じた機器３０２の制御指示をホームゲートウェイ３０１に送信する。ホームゲートウェイ３０１は、受信した制御指示に従い機器３０２を制御し、制御結果を音声対話装置１００に送信する。音声対話装置１００は、ホームゲートウェイ３０１から得られた制御結果を音声出力することによりユーザの発話に対して応答する。
【０１１４】
ホームゲートウェイ３０１と機器３０２とは、宅内ネットワークを介して接続される。ホームゲートウェイ３０１は、機器３０２の状態を管理するとともに、機器３０２の動作を制御する。また、ホームゲートウェイ３０１は、宅内ネットワークを介して接続された別の機器からの制御指示を受け付ける機器制御インターフェースを備える。音声対話装置１００は、ホームゲートウェイ３０１の機器制御インターフェースを呼び出し、同じ宅内ネットワークに接続されている機器３０２の動作を制御する。
【０１１５】
機器３０２は、インターネットと接続可能な機器（例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）又はテレビ等）、及びそれ自身ではインターネットと接続不可能な機器（例えば、照明、エアコン、洗濯機又は冷蔵庫等）を含む。機器３０２は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ３０１を介してインターネットと接続可能となる機器を含んでもよい。また、音声対話装置１００は、ホームゲートウェイ３０１を介さずに、機器３０２へ直接制御指示を送信してもよい。この場合、機器３０２は、音声対話装置１００へ制御結果を直接送信してもよい。
【０１１６】
ユーザが音声対話装置１００に対して「エアコンの設定温度は？」と発話すると、音声対話装置１００は、音声対話装置１００内で意図理解処理を行うとともに、音声対話サーバ１０１に音声認識により得られたテキスト情報を送信する。音声対話装置１００内での意図理解処理は外部と通信しないため、意図理解可能な範囲及び回答可能な範囲は制限されるが、通信による遅延が発生しないため、素早く応答を返すことができる。
【０１１７】
ユーザの発話が「エアコンの設定温度は？」である場合、現在のエアコンの設定温度を機器３０２に問い合わせる必要があり、音声対話装置１００内での意図理解処理だけでは完全な応答文を生成することができない。そのため、音声対話装置１００は、ユーザの発話文から名詞句を抽出し、名詞句から生成される先行応答文「エアコンの設定温度は」を先行して音声出力する。音声対話装置１００は、先行応答文を音声合成し、音声として出力している間に音声対話サーバ１０１から意図理解結果が送信されるのを待つ。
【０１１８】
図１１は、本実施の形態２における音声対話サーバにおいて得られる意図理解結果の一例を示す図である。意図理解結果に含まれる意図情報のタスクが機器制御（ｄｅｖｉｃｅＣｏｎｔｒｏｌ）である場合、音声対話装置１００は、意図理解結果に含まれる意図情報のスロットの内容に従い、ホームゲートウェイ３０１に対し機器制御指示を送信する。図１１の場合、“ｄｅｖｉｃｅ”属性に対する値は“ａｉｒｃｏｎｄｉｔｉｏｎｅｒ”となっており、制御指示が、エアコンに対する制御であることを示している。また、“ｐａｒａｍｅｔｅｒ”属性に対する値は“ｔｅｍｐｅｒａｔｕｒｅ”となっており、“ａｃｔｉｏｎ”属性に対する値は“ｇｅｔ”となっており、制御指示が、設定温度を取得する命令であることを示している。
【０１１９】
意図理解結果に含まれる出力テキストは、ユーザの発話に対する応答の冒頭部分を構成する先行応答文＃１と、ユーザの発話に対する応答の回答部分を構成する後続応答文＃２とを含む。意図理解結果の後続応答文＃２は、“％ｔｅｍｐｅｒａｔｕｒｅ％度です”となっており、この“％ｔｅｍｐｅｒａｔｕｒｅ％”は、制御対象機器のパラメータ“ｔｅｍｐｅｒａｔｕｒｅ”の値が代入されることを示している。例えば、エアコンから設定温度パラメータ値として“２８”が取得された場合、音声対話装置１００は、後続応答文の“％ｔｅｍｐｅｒａｔｕｒｅ％”を“２８”に置き換え、「２８度です」という後続応答文を生成する。
【０１２０】
音声対話装置１００は、先行応答文を音声出力している間に、音声対話サーバ１０１から得られる意図理解結果の意図情報に基づいて、ホームゲートウェイ３０１に対し、機器制御指示を送信し、ホームゲートウェイ３０１から得られた制御結果と意図理解結果に含まれる応答文とから完全応答文を生成する。そして、音声対話装置１００は、先行応答文の音声出力が終了した後、続いて完全応答文から先行応答文を削除した後続応答文を音声出力する。
【０１２１】
図１２は、本実施の形態２における音声対話装置及び音声対話サーバの構成を示す図である。図１２に示す音声対話装置１００は、音声入力部２０１、音声認識部２０２、通信部２０３、意図理解部２０４、辞書データベース（ＤＢ）２０７、先行応答生成部２０８、応答出力部２０９、音声合成部２１０、音声出力部２１１及び機器制御指示部４０１を備える。
【０１２２】
機器制御指示部４０１は、意図理解処理の結果に基づいてホームゲートウェイ３０１に対し機器３０２の動作を制御するための機器制御指示を送信する。機器制御指示部４０１は、音声対話装置１００内の意図理解部２０４での意図理解処理の結果、又は音声対話サーバ１０１内の意図理解部２１３での意図理解処理の結果を、応答出力部２０９を介して取得する。意図理解結果に含まれる意図情報のタスクが機器制御（ｄｅｖｉｃｅＣｏｎｔｒｏｌ）である場合、機器制御指示部４０１は、意図情報のスロットの内容に従い、ホームゲートウェイ３０１に対して機器制御指示を送信する。
【０１２３】
すなわち、ユーザの発話は、ユーザによって使用される機器３０２を制御するための指示内容を含む。機器制御指示部４０１は、テキストデータに対する意図理解処理結果に基づき、制御の対象となる機器３０２を特定するとともに、指示内容に対応する制御コマンドを生成する。機器制御指示部４０１は、特定された機器３０２に対して制御コマンドを発行する。機器制御指示部４０１は、制御コマンドによる制御結果を機器３０２から取得する。
【０１２４】
ホームゲートウェイ３０１は機器制御部４０２を備える。機器制御部４０２は、音声対話装置１００によって送信された機器制御指示を受信する。機器制御部４０２は、音声対話装置１００からの機器制御指示に従い、指定された機器３０２を指定された制御パラメータで制御し、制御結果を音声対話装置１００に通知する。機器制御指示部４０１は、ホームゲートウェイ３０１によって送信された機器３０２の制御結果を受信する。
【０１２５】
例えば、機器制御部４０２は、機器３０２の設定温度を取得する制御コマンドを機器制御指示部４０１から受信した場合、機器３０２のメモリに記憶されている設定温度を読み出し、読み出した設定温度を制御結果として機器制御指示部４０１へ送信する。
【０１２６】
応答出力部２０９は、音声対話装置１００内の意図理解部２０４で意図理解処理が完結され、意図理解結果が得られれば、音声対話装置１００内での意図理解結果を機器制御指示部４０１に通知する。また、応答出力部２０９は、音声対話装置１００内の意図理解部２０４で意図理解処理が完結されなかった場合、すなわち、音声対話装置１００内の辞書データベース２０７に、ユーザの発話文に対応するルールが存在しなかった場合、音声対話サーバ１０１からの意図理解結果を待ち、音声対話サーバ１０１から得られた意図理解結果を機器制御指示部４０１に通知する。
【０１２７】
先行応答生成部２０８は、意図理解部２０４の意図理解結果に基づいて、先行応答文又は回答応答文を生成する。音声対話装置１００内の辞書データベース２０７に予め用意されたルールに発話文が合致し、ユーザの発話に対する応答の回答部分を含む回答応答文が生成された場合、先行応答生成部２０８は、意図理解部２０４から得られた回答応答文をそのまま音声合成部２１０に出力し、応答生成処理が完結したことを応答出力部２０９に通知する。
【０１２８】
回答応答文とは、未確定パラメータがなく、文字列として全て読み上げ可能な応答文を示す。例えば、図１１に示す意図理解結果に含まれる応答文は、“エアコンの設定温度は％ｔｅｍｐｅｒａｔｕｒｅ％度です”であり、この応答文には、未確定パラメータ“％ｔｅｍｐｅｒａｔｕｒｅ％”が存在する。この場合は、意図理解結果に含まれる応答文は回答応答文とはみなされず、音声対話装置１００は先行応答文を出力する。すなわち、辞書データベース２０７に予め用意されたルールに、ユーザの発話が合致したとしても、得られた応答文に未確定パラメータが存在する場合は、音声対話装置１００は先行応答文を出力する。
【０１２９】
応答出力部２０９は、制御結果の内容に基づき後続応答文を生成する。すなわち、応答出力部２０９は、制御結果の内容に基づき完全応答文を生成し、生成した完全応答文から先行応答文を削除することにより、後続応答文を生成する。
【０１３０】
図１３は、本実施の形態２の音声対話システムにおける音声対話処理の一例を示すフローチャートである。実施の形態１の音声対話処理と異なる点は、ステップＳ３１の機器制御処理が追加されている点である。なお、ステップＳ３１より前の処理は、図７に示すステップＳ１〜ステップＳ１２の処理と同じであるので、説明を省略する。また、ステップＳ３１以降のステップＳ３２〜ステップＳ３９の処理は、図８に示すステップＳ１３〜ステップＳ２０の処理と同じであるので、説明を省略する。
【０１３１】
機器制御指示部４０１は、ユーザによって使用される機器を制御する機器制御処理を実行する（ステップＳ３１）。機器制御指示部４０１は、音声対話サーバ１０１から得られた意図理解結果に基づいて、機器を制御すべきか否かを判断し、機器を制御する必要がある場合、すなわち、意図理解結果に含まれる意図情報のタスクが機器制御（ｄｅｖｉｃｅＣｏｎｔｒｏｌ）である場合、機器を制御した後、応答文を生成する。
【０１３２】
図１４は、図１３のステップＳ３１における機器制御処理の一例を示すフローチャートである。
【０１３３】
まず、機器制御指示部４０１は、音声対話サーバ１０１からの意図理解結果に含まれる意図情報のタスクが機器制御（ｄｅｖｉｃｅＣｏｎｔｒｏｌ）であるか否かを判断する（ステップＳ４１）。ここで、意図情報のタスクが機器制御ではないと判断された場合（ステップＳ４１でＮＯ）、機器制御指示部４０１は、意図理解結果に含まれる回答応答文をそのまま応答文として採用する（ステップＳ４２）。
【０１３４】
一方、意図情報のタスクが機器制御であると判断された場合（ステップＳ４１でＹＥＳ）、機器制御指示部４０１は、意図情報のスロットの内容に従い、制御の対象となる機器を特定するとともに、機器制御コマンドを生成する（ステップＳ４３）。
【０１３５】
次に、機器制御指示部４０１は、ホームゲートウェイ３０１に対し制御コマンドを発行する（ステップＳ４４）。例えば、図１１に示す意図理解結果の場合、“ｄｅｖｉｃｅ”属性に対する値は“ａｉｒｃｏｎｄｉｔｉｏｎｅｒ”となっており、制御対象機器がエアコンであることを示している。また、“ｐａｒａｍｅｔｅｒ”属性に対する値は“ｔｅｍｐｅｒａｔｕｒｅ”となっており、“ａｃｔｉｏｎ”属性に対する値は“ｇｅｔ”となっており、制御内容が、設定温度を取得する命令であることを示している。以上のことから、機器制御指示部４０１は、エアコンに対して設定温度を取得する制御コマンドをホームゲートウェイ３０１に対して発行する。
【０１３６】
次に、機器制御指示部４０１は、ホームゲートウェイ３０１から機器制御結果を受信する（ステップＳ４５）。
【０１３７】
次に、応答出力部２０９は、ホームゲートウェイ３０１から受信した機器制御結果から完全応答文を生成する（ステップＳ４６）。例えば、図１１に示す意図理解結果の場合、意図理解結果に含まれる出力テキスト文＃２は、“％ｔｅｍｐｅｒａｔｕｒｅ％度です”となっており、この“％ｔｅｍｐｅｒａｔｕｒｅ％”は、制御対象機器のパラメータ“ｔｅｍｐｅｒａｔｕｒｅ”の値が代入されることを示している。例えば、エアコンから設定温度パラメータ値として“２８”が取得された場合、応答出力部２０９は、出力テキスト文＃２の“％ｔｅｍｐｅｒａｔｕｒｅ％”を“２８”に置き換え、「エアコンの設定温度は２８度です」という完全応答文を生成する。
【０１３８】
図１５は、本実施の形態２において、発話内容に応じて変更される先行応答文のフォーマットの一例を示す図である。
【０１３９】
上記の実施の形態２において、先行応答生成部２０８は、例えば、「エアコンの設定温度は」のように、名詞句に助詞である「は」を加えた文字列（＜名詞句＞＋「は」）を先行応答文のフォーマットとして採用している。しかしながら、先行応答生成部２０８は、発話内容に応じて先行応答文のフォーマットを変更してもよい。例えば、ユーザの発話が「エアコンつけて」であれば、「エアコンは運転を開始しました」という応答文より「エアコンの運転を開始しました」という応答文の方がより自然な応答文となる。そのため、ユーザの発話内容に応じて適切な先行応答文のフォーマットを選択することが望ましい。しかしながら、先行応答文は、メモリ、ＣＰＵ（中央演算処理装置）又はストレージが制限された音声対話装置で生成する必要があるため、先行応答文を生成するために複雑な解析又は大規模なパターンマッチングを行うのは避けた方がよい。そのため、先行応答生成部２０８は、汎用的に違和感なく利用できる先行応答文のフォーマットを採用するのが望ましい。
【０１４０】
この場合、先行応答生成部２０８は、テキストデータに基づき、発話内容が質問に関する発話であるか否かを判断し、発話内容が質問に関する発話であるか否かに応じて先行応答文の構成を変更する。
【０１４１】
例えば、先行応答生成部２０８は、ユーザの発話が問い合わせに関する発話であるか否かを判断し、ユーザの発話が問い合わせに関する発話であるか、問い合わせ以外に関する発話であるかに応じて適用する先行応答文のフォーマットを変更してもよい。問い合わせに関する発話とは、ユーザが情報の取得を求めている発話を指し、例えば語尾が、「教えて」で終わる発話、「調べて」で終わる発話、「は？」で終わる発話又は名詞句だけで終わる発話（例：「エアコンの設定温度」）などが挙げられる。典型的な問い合わせに関する発話の表現パターンを予め音声対話装置１００内に登録しておき、登録された表現パターンに合致したユーザの発話には、＜名詞句＞＋「は」をフォーマットとする先行応答文が採用される。また、問い合わせに関する発話の表現パターンに合致しなかったユーザ発話には、より汎用的な返答である＜名詞句＞＋「ですね」をフォーマットとする先行応答文が採用される。
【０１４２】
以下、上述のルールに基づいた例について説明する。
【０１４３】
例えば、ユーザの発話が、問い合わせに関する発話である「今日の天気教えて」である場合、音声対話装置１００は、「今日の天気は」という先行応答文を生成し、「晴れのち曇りです」という後続応答文を生成する。また、例えば、ユーザの発話が、問い合わせに関する発話である「エアコンの設定温度は」である場合、音声対話装置１００は、「エアコンの設定温度は」という先行応答文を生成し、「２０度です」という後続応答文を生成する。
【０１４４】
また、例えば、ユーザの発話が、問い合わせ以外に関する発話である「エアコン消して」である場合、音声対話装置１００は、「エアコンですね」という先行応答文を生成し、「運転を停止しました」という後続応答文を生成する。また、例えば、ユーザの発話が、問い合わせ以外に関する発話である「照明つけて」である場合、音声対話装置１００は、「照明ですね」という先行応答文を生成し、「点灯しました」という後続応答文を生成する。
【０１４５】
上述の例のように、ユーザの発話が問い合わせに関する発話であるか否かによって適用する先行応答文のフォーマットを変更することで、後続応答文を自然な流れで先行応答文と結合させることができる。なお、本実施の形態では、ユーザの発話が問い合わせに関する発話であるか否かを判断することを例に説明したが、音声対話装置１００の計算パワー及びストレージに余裕があれば、ユーザの発話内容をさらに詳細に区分して、複数の先行応答文のフォーマットを使用してもよい。
【０１４６】
本実施の形態２の音声対話装置１００によれば、音声対話装置１００に対するユーザの発話内容が、宅内の機器制御に関する発話内容であり、機器との通信及び制御結果待ちにより応答までに或る程度の時間を要するリクエストであった場合においても、音声対話装置１００は、機器制御結果に依存しない内容の先行応答文を生成し、機器制御の結果を待つことなく先行応答文の音声出力を開始する。そして、機器制御結果に依存する残りの後続応答文は、機器制御結果を取得してから、先行応答文に続けて音声出力することで、機器制御に要する時間中に、先行応答文を音声出力することができ、ユーザの発話リクエストに対する応答遅延を、応答文に含まれる情報量を維持したまま短縮することができる。
【０１４７】
なお、本実施の形態１，２では、主に日本語の発話に対する応答について説明しているが、本開示は特にこれに限定されず、英語及び中国語の発話に対する応答にも本開示の音声対話システムを利用することができる。
【０１４８】
図１６は、日本語、英語及び中国語の発話を比較するための図である。図１６に示すように、日本語で「今日の天気教えて。」という文が発話された場合、音声対話装置１００は、「今日の天気」という名詞を含む名詞句を抽出し、抽出した名詞句を用いて先行応答文を生成する。また、英語で「Ｔｅｌｌ  ｍｅ  ｔｏｄａｙ’ｓ  ｗｅａｔｈｅｒ．」という文（ｓｅｎｔｅｎｃｅ）が発話された場合、音声対話装置１００は、「ｔｏｄａｙ’ｓ  ｗｅａｔｈｅｒ」という名詞を含む句（ｐｈｒａｓｅ）を抽出し、抽出した句を用いて先行応答文を生成する。さらに、中国語で「今日の天気教えて。」（中国語表記は図１６参照）という文（中国語では句）が発話された場合、音声対話装置１００は、「今天的天気」という名詞を含む短句（名詞短句）を抽出し、抽出した短句を用いて先行応答文を生成する。
【０１４９】
このように、日本語だけでなく、英語及び中国語でも、テキストデータに含まれる所定の品詞の単語に基づき、発話に対する応答の冒頭部分を構成する先行応答文を生成することができ、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができる。
【産業上の利用可能性】
【０１５０】
本開示に係る音声対話方法、音声対話装置及び音声対話プログラムは、ユーザの発話と装置からの応答との間の待ち時間を短縮することができるとともに、ユーザと装置とのスムーズな対話を実現することができ、音声対話によりユーザが所望する情報を提供する音声対話方法、音声対話装置及び音声対話プログラムとして有用である。
【符号の説明】
【０１５１】
１００    音声対話装置
１０１    音声対話サーバ
１０２    サービス提供サーバ
２０１    音声入力部
２０２    音声認識部
２０３，２１２    通信部
２０４，２１３    意図理解部
２０５    先行応答判断部
２０６    名詞句抽出部
２０７，２１４    辞書データベース
２０８    先行応答生成部
２０９    応答出力部
２１０    音声合成部
２１１    音声出力部
２１５    応答生成部
３０１    ホームゲートウェイ
３０２    機器
４０１    機器制御指示部
４０２    機器制御部
【図１】
2017107078.tif 000003
【図２】
2017107078.tif 000004
【図３】
2017107078.tif 000005
【図４】
2017107078.tif 000006
【図５】
2017107078.tif 000007
【図６】
2017107078.tif 000008
【図７】
2017107078.tif 000009
【図８】
2017107078.tif 000010
【図９】
2017107078.tif 000011
【図１０】
2017107078.tif 000012
【図１１】
2017107078.tif 000013
【図１２】
2017107078.tif 000014
【図１３】
2017107078.tif 000015
【図１４】
2017107078.tif 000016
【図１５】
2017107078.tif 000017
【図１６】
2017107078.tif 000018