(57)【要約】【課題】さらなる改善を実現する。【解決手段】クラウドサーバ（１１１）は、ユーザの音声データから声紋データを抽出し、ユーザを識別する。クラウドサーバ（１１１）は、ユーザの音声データからユーザが指示するタスクを特定する。クラウドサーバ（１１１）は、タスクの実行に必須となるコンテキストが揃っていなければ、識別したユーザをタスクオーナーとして登録すると共に、ユーザに必須のコンテキストを発話させるための応答文を通知する。クラウドサーバ（１１１）は、発話したユーザの音声データの声紋データがユーザＡの声紋データと一致し、且つ、必須のコンテキストが全て揃えば、機器にタスクを実行させる。【選択図】図２
2018169624.tif 000002
【特許請求の範囲】
【請求項１】
自動車に設置されユーザの音声を入力する音声入力装置と、前記自動車に設置された車載機器とに接続され、ユーザの音声に応答する音声対話システムにおける音声対話制御方法であって、
前記音声入力装置から前記音声対話システムに対する第１指示内容を表す第１指示情報を受信し、
前記受信した第１指示情報に含まれる前記第１指示情報を入力したユーザの音声特徴量を示す第１音声情報を抽出し、前記第１指示情報が表す第１指示内容を認識し、
（１）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できなかった場合は、前記処理を一意に特定するために必要な情報を入力するようにユーザへ促す指示要求通知を行い、（２）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できた場合は、前記特定された処理を実行し、
前記指示要求通知後に、受信した前記音声入力装置からユーザが発話した音声である発話情報から当該発話情報を入力したユーザの音声特徴量を示す第２音声情報を抽出し、前記抽出された第１音声情報と前記第２音声情報とが一致するか否かを判断し、
（３）前記第１音声情報と前記第２音声情報とが一致しないと判断された場合は、前記発話情報の入力が受け付けられない旨の通知を実行するか、または前記第１指示内容及び前記発話情報の入力に基づいて特定された前記車載機器の動作を制御する処理を実行せず、（４）前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記受信した発話情報の表わす音声内容を認識し、前記第１指示内容及び前記音声内容の認識結果に基づいて前記車載機器の動作を制御する処理を一意に特定し、前記特定された処理を実行する、
音声対話制御方法。
【請求項２】
前記指示要求通知後において、前記音声入力装置から前記車載機器の動作を制御する処理を一意に特定するための第２指示内容を表す第２指示情報を前記発話情報として受信した場合、前記第２指示情報の表す第２指示内容を認識し、前記第１指示内容及び前記第２指示内容の認識結果に基づいて実行する処理を一意に特定し、前記第２指示情報に含まれる前記第２指示情報を入力したユーザの音声特徴量を示す第２音声情報を抽出し、前記第１音声情報と前記第２音声情報とが一致するか否かを判断する、
請求項１に記載の音声対話制御方法。
【請求項３】
前記抽出された第１音声情報をメモリに記憶し、
前記メモリから前記第１音声情報を読み出して、前記第１音声情報と前記第２音声情報とが一致するか否かを判断する、
請求項１又は２記載の音声対話制御方法。
【請求項４】
前記特定された処理は任意の情報を検索する検索処理である、
請求項１に記載の音声対話制御方法。
【請求項５】
前記音声対話システムはさらに電化機器と接続し、
前記特定された処理は前記電化機器の動作を制御する制御処理である、
請求項１に記載の音声対話制御方法。
【請求項６】
前記特定された処理の実行が完了した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定する、
請求項１に記載の音声対話制御方法。
【請求項７】
前記指示要求通知後に所定時間経過した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定する、
請求項１〜６のいずれか一に記載の音声対話制御方法。
【請求項８】
前記音声入力装置と前記音声対話システムとはネットワークによって接続され、
前記指示要求通知後に前記ネットワークによる接続が切断されたことを検出した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定する、
請求項１〜６のいずれか一に記載の音声対話制御方法。
【請求項９】
前記音声入力装置と前記音声対話システムとはネットワークによって接続され、
前記指示要求通知後に前記ネットワークによる接続が切断されたことを検出した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記ネットワークが切断されたことを前記ユーザへ通知する、
請求項１〜６のいずれか一に記載の音声対話制御方法。
【請求項１０】
前記ネットワークが切断されたことの前記ユーザへの通知は、前記切断されたことを示す音声を出力することで行われる、
請求項９記載の音声対話制御方法。
【請求項１１】
前記ネットワークが切断されたことの前記ユーザへの通知は、前記切断されたことを示す画像を出力することで行われる、
請求項９記載の音声対話制御方法。
【請求項１２】
前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記特定された処理を実行する、
請求項２に記載の音声対話制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声対話システムにおける音声対話制御方法に関するものである。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。特許文献１の方法及び装置は、音声コマンドを用いて消費者電化製品に関連する装置を音声制御する。
【０００３】
この方法及び装置は、特定のユーザからの当該装置をオンにする音声コマンドを受け入れた後、その声の特徴を識別し、追加の音声コマンドを当該ユーザが発したものであると識別した場合のみ、当該追加の音声コマンドを受け入れる。これによって、当該方法及び装置は、当該ユーザ以外の人間が周囲で会話している等の雑音の多い環境下でも、当該ユーザからのコマンドのみを受け入れることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１２３２９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、更なる改善が必要とされていた。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示の一態様は、自動車に設置されユーザの音声を入力する音声入力装置と、前記自動車に設置された車載機器とに接続され、ユーザの音声に応答する音声対話システムにおける音声対話制御方法であって、
前記音声入力装置から前記音声対話システムに対する第１指示内容を表す第１指示情報を受信し、
前記受信した第１指示情報に含まれる前記第１指示情報を入力したユーザの音声特徴量を示す第１音声情報を抽出し、前記第１指示情報が表す第１指示内容を認識し、
（１）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できなかった場合は、前記処理を一意に特定するために必要な情報を入力するようにユーザへ促す指示要求通知を行い、（２）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できた場合は、前記特定された処理を実行し、
前記指示要求通知後に、受信した前記音声入力装置からユーザが発話した音声である発話情報から当該発話情報を入力したユーザの音声特徴量を示す第２音声情報を抽出し、前記抽出された第１音声情報と前記第２音声情報とが一致するか否かを判断し、
（３）前記第１音声情報と前記第２音声情報とが一致しないと判断された場合は、前記発話情報の入力が受け付けられない旨の通知を実行するか、または前記第１指示内容及び前記発話情報の入力に基づいて特定された前記車載機器の動作を制御する処理を実行せず、（４）前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記受信した発話情報の表わす音声内容を認識し、前記第１指示内容及び前記音声内容の認識結果に基づいて前記車載機器の動作を制御する処理を一意に特定し、前記特定された処理を実行する、ものである。
【発明の効果】
【０００７】
上記一態様によれば、さらなる改善を実現することができる。
【図面の簡単な説明】
【０００８】
【図１Ａ】図１Ａは、実施の形態における音声対話システムが提供するサービスの全体像を示す図である。
【図１Ｂ】図１Ｂは、機器メーカがデータセンタ運営会社に該当する例を示す図である。
【図１Ｃ】図１Ｃは、機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示す図である。
【図２】図２は、実施の形態１における音声対話システムの構成図である。
【図３】図３は、実施の形態１における音声対話システムの変形例の構成図である。
【図４】図４は、実施の形態１における音声入出力装置のハードウェア構成を示す図である。
【図５】図５は、実施の形態１における機器のハードウェア構成を示す図である。
【図６】図６は、実施の形態１におけるゲートウェイのハードウェア構成を示す図である。
【図７】図７は、実施の形態１におけるクラウドサーバのハードウェア構成を示す図である。
【図８】図８は、実施の形態１におけるクラウドサーバのシステム構成を示す図である。
【図９】図９は、実施の形態１におけるゲートウェイのシステム構成を示す図である。
【図１０】図１０は、実施の形態１における機器のシステム構成を示す図である。
【図１１】図１１は、実施の形態１における音声入出力装置のシステム構成を示す図である。
【図１２】図１２は、実施の形態１におけるユーザ管理ＤＢの具体例を示す図である。
【図１３】図１３は、実施の形態１における機器状態管理ＤＢの具体例を示す図である。
【図１４】図１４は、実施の形態１における機器機能管理ＤＢの具体例を示す図である。
【図１５】図１５は、実施の形態１における発話理解辞書ＤＢの具体例を示す図である。
【図１６】図１６は、実施の形態１における対話フレームＤＢの具体例を示す図である。
【図１７】図１７は、実施の形態１における話者識別処理の詳細を示すフローチャートである。
【図１８Ａ】図１８Ａは、実施の形態１における音声内容理解処理の詳細を示すフローチャートである。
【図１８Ｂ】図１８Ｂは、実施の形態１における状態管理処理の詳細を示すフローチャートである。
【図１８Ｃ】図１８Ｃは、実施の形態１における機器状態管理ＤＢの更新処理の詳細を示すフローチャートである。
【図１９】図１９は、実施の形態１における音声対話システムによるユーザを制限する通信処理のシーケンス図である。
【図２０】図２０は、実施の形態１における音声対話システムによるユーザを制限する通信処理のシーケンス図である。
【図２１】図２１は、実施の形態１における音声対話システムによるユーザを制限する通信処理のシーケンス図である。
【図２２Ａ】図２２Ａは、権限状態表示内容を示す画面図である。
【図２２Ｂ】図２２Ｂは、権限状態表示内容を示す画面図である。
【図２２Ｃ】図２２Ｃは、権限状態表示内容を示す画面図である。
【図２３】図２３は、実施の形態２における音声対話システムの構成図である。
【図２４】図２４は、実施の形態２における音声対話システムの変形例の構成図である。
【図２５】図２５は、実施の形態２における機器状態管理ＤＢの具体例を示す図である。
【図２６Ａ】図２６Ａは、実施の形態２における音声対話システムによるユーザを制限する通信処理のシーケンス図である。
【図２６Ｂ】図２６Ｂは、実施の形態２における音声対話システムによるユーザを制限する通信処理のシーケンス図である。
【図２７】図２７は、サービスの類型１（自社データセンタ型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。
【図２８】図２８は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。
【図２９】図２９は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。
【図３０】図３０は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。
【発明を実施するための形態】
【０００９】
（本開示の基礎となった知見）
本発明者は、従来技術において、以下の問題が生じることを見出した。
【００１０】
上記特許文献１の方法及び装置は、２人以上のユーザがいる環境において、第１のユーザからの当該装置をオンにする音声コマンドを識別して、当該第１のユーザからの追加の音声コマンドのみを受け入れることができる。しかしながら、当該方法及び装置は、第１のユーザが当該装置をオフにした後のみ、音声コマンドを他のユーザから再び受け入れることができる。したがって、２人以上のユーザが、同時に当該装置を利用する場合において、当該第１のユーザが一連の制御を終了したという意識を持っているにも拘わらず、当該装置をオフにしない限り、当該方法及び装置は、他のユーザの音声コマンドを受け入れられないという課題があることを本発明者は見出した。
【００１１】
具体的には、例えば、住宅において、ユーザＡとユーザＢとが同一のテレビを見ており、ユーザＡが「明日の大阪の天気を教えて」とテレビに問いかけ、テレビが天気情報をユーザＡに提供し、一連の天気に関する対話を終了した場合を想定する。この後、ユーザＢが「今日のプロ野球の結果を教えて」と問いかけたい場合、従来技術ではユーザＡが一度テレビをオフにする必要があった。しかし、テレビがユーザＡ、ユーザＢに提供する情報は、各々「天気情報」、「プロ野球の結果」と内容が独立しており、テレビをオフにすることなく、各々のユーザが所望の情報を取得できることが望ましい。
【００１２】
上記のような場合に適切に対応するためには、音声対話システムが、特定の対話内容（例えば、天気）に関するユーザとの対話が終了したか否かを適切に把握し、追加の音声コマンドを任意のユーザから受け入れ可能にするべきか否かを制御することが重要である。
【００１３】
このような課題を解決するために、本開示では、以下の改善策を検討した。
【００１４】
上記課題を解決するための、音声対話システムの音声対話制御方法の一態様は、
自動車に設置されユーザの音声を入力する音声入力装置と、前記自動車に設置された車載機器とに接続され、ユーザの音声に応答する音声対話システムにおける音声対話制御方法であって、
前記音声入力装置から前記音声対話システムに対する第１指示内容を表す第１指示情報を受信し、
前記受信した第１指示情報に含まれる前記第１指示情報を入力したユーザの音声特徴量を示す第１音声情報を抽出し、前記第１指示情報が表す第１指示内容を認識し、
（１）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できなかった場合は、前記処理を一意に特定するために必要な情報を入力するようにユーザへ促す指示要求通知を行い、（２）前記第１指示内容の認識結果から前記第１指示内容に基づいて前記車載機器の動作を制御する処理を一意に特定できた場合は、前記特定された処理を実行し、
前記指示要求通知後に、受信した前記音声入力装置からユーザが発話した音声である発話情報から当該発話情報を入力したユーザの音声特徴量を示す第２音声情報を抽出し、前記抽出された第１音声情報と前記第２音声情報とが一致するか否かを判断し、
（３）前記第１音声情報と前記第２音声情報とが一致しないと判断された場合は、前記発話情報の入力が受け付けられない旨の通知を実行するか、または前記第１指示内容及び前記発話情報の入力に基づいて特定された前記車載機器の動作を制御する処理を実行せず、（４）前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記受信した発話情報の表わす音声内容を認識し、前記第１指示内容及び前記音声内容の認識結果に基づいて前記車載機器の動作を制御する処理を一意に特定し、前記特定された処理を実行する、ものである。
【００１５】
これによって、例えば、ユーザＡが音声対話システムに対して特定の指示を行った後に、音声対話システムから指示に対する応答があった場合に、この応答に対して更なる指示を行えるユーザをユーザＡに限定することができる。
【００１６】
具体的には、ユーザＡが音声対話システムに対して、「テレビをつけて」との第１指示内容を示す音声指示を行い、その音声指示を表す音声情報である第１指示情報を音声対話システムが受信すると、音声対話システムは、第１指示情報からユーザＡの音声特徴量を示す第１音声情報を抽出する。そして、音声対話システムは、第１指示内容の認識結果から第１指示内容に基づいて実行される処理を一意に特定できなかった場合は、例えば、「何チャンネルを表示しましょうか？」というような前記処理を一意に特定するために必要な情報の入力をユーザに促す指示要求通知を行う。
【００１７】
そして、ユーザにより発話された音声である発話情報からそのユーザの音声特徴量を示す第２音声情報が抽出され、第１音声情報と第２音声情報とが一致しない場合、発話情報の入力が受け付けられない旨の通知が実行される、または前記処理が実行されない。
【００１８】
例えば、指示要求通知が行われた際に、ユーザＡの近くにいるユーザＢ及びユーザＣの会話の中で、例えば数字の「３」という単語が登場した場合であっても、「３」との音声を発話したユーザＢ、ＣがユーザＡと一致するか否かが判別される。そして、一致しないとの判別結果が得られた場合、「３」チャンネルへのチャンネル変更はできない旨の通知が音声対話システムにより行われる、または、「３」チャンネルにチャンネル変更する処理がテレビにより実行されない。そのため、最初に発話したユーザＡ以外のユーザＢ、Ｃによる音声指示が音声対話システムにより受け付けられて、音声対話システムが誤動作することを防止できる。
【００１９】
また、処理毎に応答可能なユーザが制限されるため、音声対話システムの電源を切るなどの初期化処理を行わずとも、応答可能なユーザを変更できる。その結果、音声対話システムの初期化処理などにかかる時間が不必要となる。
【００２０】
また、上記態様では、前記指示要求通知後において、前記音声入力装置から前記車載機器の動作を制御する処理を一意に特定するための第２指示内容を表す第２指示情報を前記発話情報として受信した場合、前記第２指示情報の表す第２指示内容を認識し、前記第１指示内容及び前記第２指示内容の認識結果に基づいて実行する処理を一意に特定し、前記第２指示情報に含まれる前記第２指示情報を入力したユーザの音声特徴量を示す第２音声情報を抽出し、前記第１音声情報と前記第２音声情報とが一致するか否かを判断してもよい。
【００２１】
この場合、指示要求通知後において、前記処理を一意に特定するための第２指示内容を表す第２指示情報が受信された場合、まず、第２指示情報から第２指示内容が認識され、第１指示内容及び第２指示内容の認識結果に基づいて前記処理を一意に特定する処理が実行される。そして、第２指示情報を入力したユーザの音声特徴量を示す第２音声情報が抽出され、第１音声情報と第２音声情報との一致の有無を判定する処理が実行される。
【００２２】
そのため、指示要求通知後において、ユーザが第２指示内容を示す音声を発話するだけで、前記処理を一意に特定する処理と、第１音声情報と第２音声情報との一致の有無を判定する処理とが行われる。そのため、各処理のために複数回の発話がユーザに要求されず、ユーザは音声対話システムに対する指示を円滑に進めることができる。
【００２３】
また、上記態様において、前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記受信した発話情報の表わす音声内容を認識し、前記第１指示内容及び前記音声内容の認識結果に基づいて実行する処理を一意に特定し、前記特定された処理を実行してもよい。
【００２４】
この場合、第１音声情報と第２音声情報とが一致することを条件に、前記処理が実行されるため、第１指示情報を入力したユーザＡからの指示のみが受け入れられる。その結果、ユーザＡの意図に反する処理が実行されることを防止できる。
【００２５】
また、上記態様において、前記抽出された第１音声情報をメモリに記憶し、
前記メモリから前記第１音声情報を読み出して、前記第１音声情報と前記第２音声情報とが一致するか否かを判断してもよい。
【００２６】
この場合、第１音声情報が一旦メモリに記憶されるため、第２音声情報の抽出時において第１音声情報が音声対話システムに存在しない事態を回避できる。
【００２７】
また、上記態様において、前記特定された処理は任意の情報を検索する検索処理であってもよい。
【００２８】
この場合、ユーザが発話により指示したキーワードを音声対話システムが確認する目的でユーザへ聞き返した場合、この音声対話システムからの聞き返しに対して応答できるユーザを、最初にキーワードの検索を指示したユーザに制限できる。よって、ユーザの意図に反する検索結果が得られることが防止される。
【００２９】
また、上記態様において、前記音声対話システムはさらに電化機器と接続し、
前記特定された処理は前記電化機器の動作を制御する制御処理であってもよい。
【００３０】
この場合、電化機器に対して音声により最初に指示をしたユーザＡ以外のユーザＢ、Ｃによる音声指示が音声対話システムにより受け付けられないため、電化機器が誤動作することを防止できる。
【００３１】
また、上記態様において、前記特定された処理の実行が完了した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定してもよい。
【００３２】
この場合、処理の実行が完了すると、音声対話システムは音声受付状態をニュートラルに設定するため、ユーザは音声受付状態をニュートラルに戻す作業をすることなく、次の処理を音声対話システムに実行させることができる。
【００３３】
また、上記態様において、前記指示要求通知後に所定時間経過した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定してもよい。
【００３４】
この場合、所定時間経過後に音声受付状態が自動的にニュートラルに戻されるため、例えば、指示要求通知後にユーザＡが発話情報を入力しなかったとしても、ユーザＢによる音声がいつまでたっても音声対話システムにより受け付けられない事態を回避できる。
【００３５】
また、上記態様において、前記音声入力装置と前記音声対話システムとはネットワークによって接続され、
前記指示要求通知後に前記ネットワークによる接続が切断されたことを検出した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記音声対話システムの音声受付状態をニュートラルに設定してもよい。
【００３６】
この場合、ネットワークの切断が検出されると、音声受付状態が自動的にニュートラルに戻されるため、例えば、指示要求通知後に、ネットワークの切断を知らないユーザＡが継続して発話情報を入力するといった無駄な作業の発生を防止できる。
【００３７】
また、上記態様において、前記音声入力装置と前記音声対話システムとはネットワークによって接続され、
前記指示要求通知後に前記ネットワークによる接続が切断されたことを検出した場合、前記ユーザと前記音声対話システムとの音声対話を終了し、前記ネットワークが切断されたことを前記ユーザへ通知してもよい。
【００３８】
この場合、ネットワークの切断が検出されると、ネットワークが切断されたことがユーザに通知されるため、指示要求通知後に、発話情報を入力しても無駄であることをユーザに認識させることができ、無駄な作業の発生を未然に防止できる。
【００３９】
また、上記態様において、前記ネットワークが切断されたことの前記ユーザへの通知は、前記切断されたことを示す音声を出力することで行われてもよい。
【００４０】
この場合、ネットワークの切断が音声により通知されるため、例えば表示端末を閲覧するという作業を強いることなく、ユーザにネットワークの切断を認識させることができる。
【００４１】
また、上記態様において、前記ネットワークが切断されたことの前記ユーザへの通知は、前記切断されたことを示す画像を出力することで行われてもよい。
【００４２】
この場合、画像を通じてネットワークの切断をユーザに認識させることができる。
【００４３】
また、上記態様において、前記第１音声情報と前記第２音声情報とが一致すると判断された場合は、前記特定された処理を実行してもよい。
【００４４】
この場合、第１音声情報と第２音声情報とが一致することを条件に、前記処理が実行されるため、第１指示情報を入力したユーザＡからの指示のみが受け入れられる。その結果、ユーザＡの意図に反する処理が実行されることを防止できる。
【００４５】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００４６】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００４７】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００４８】
（提供するサービスの全体像）
まず、実施の形態における音声対話システムが提供するサービスの全体像について説明する。
【００４９】
図１Ａは、本実施の形態における音声対話システムが提供するサービスの全体像を示す図である。音声対話システムは、グループ４１００、データセンタ運営会社４１１０、及びサービスプロバイダ４１２０を備える。
【００５０】
グループ４１００は、例えば企業、団体又は家庭等であり、その規模を問わない。グループ４１００は、第１の家電機器及び第２の家電機器を含む複数の家電機器１０１及びホームゲートウェイ４１０２を備える。複数の家電機器１０１は、インターネットと接続可能な機器（例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）、又はテレビ等）を含む。また、複数の家電機器１０１は、それ自身ではインターネットと接続不可能な機器（例えば、照明、洗濯機、又は冷蔵庫等）を含む。複数の家電機器１０１は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ４１０２を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザＵ４１０は、グループ４１００内の複数の家電機器１０１を使用する。
【００５１】
データセンタ運営会社４１１０は、クラウドサーバ４１１１を備える。クラウドサーバ４１１１は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ４１１１は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ（ビッグデータ）等を管理する。データセンタ運営会社４１１０は、データの管理、クラウドサーバ４１１１の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社４１１０が行っている役務の詳細については後述する。
【００５２】
ここで、データセンタ運営会社４１１０は、データの管理又はクラウドサーバ４１１１の管理のみを行っている会社に限らない。例えば、図１Ｂに示すように、複数の家電機器１０１のうちの一つの家電機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ４１１１の管理等を行っている場合は、機器メーカがデータセンタ運営会社４１１０に該当する。また、データセンタ運営会社４１１０は一つの会社に限らない。例えば、図１Ｃに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ４１１１の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社４１１０に該当する。
【００５３】
サービスプロバイダ４１２０は、サーバ１２１を備える。ここで言うサーバ１２１とは、その規模は問わず、例えば、個人用ＰＣ内のメモリ等も含む。また、サービスプロバイダ４１２０がサーバ１２１を備えていない場合もある。
【００５４】
なお、上記のシステムにおいて、ホームゲートウェイ４１０２は必須ではない。例えば、クラウドサーバ４１１１が全てのデータ管理を行っている場合等は、ホームゲートウェイ４１０２は不要となる。また、家庭内の全ての機器がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合もある。
【００５５】
次に、上記の音声対話システムにおける情報の流れを説明する。
【００５６】
まず、グループ４１００の第１の家電機器又は第２の家電機器は、各ログ情報をデータセンタ運営会社４１１０のクラウドサーバ４１１１にそれぞれ送信する。クラウドサーバ４１１１は、第１の家電機器又は第２の家電機器のログ情報を集積する（図１Ａの矢印１３１）。ここで、ログ情報とは、複数の家電機器１０１の例えば運転状況又は動作日時等を示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、又は冷蔵庫の開閉回数などを含むが、これらの情報に限らず、種々の機器から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の家電機器１０１自体から直接クラウドサーバ４１１１に提供されてもよい。また、ログ情報は、複数の家電機器１０１から一旦、ホームゲートウェイ４１０２に集積され、ホームゲートウェイ４１０２からクラウドサーバ４１１１に提供されてもよい。
【００５７】
次に、データセンタ運営会社４１１０のクラウドサーバ４１１１は、集積したログ情報を一定の単位でサービスプロバイダ４１２０に提供する。ここで、一定の単位とは、データセンタ運営会社４１１０が集積した情報を整理してサービスプロバイダ４１２０に提供することのできる単位でもよいし、サービスプロバイダ４１２０が要求する単位でもよい。また、ログ情報は一定の単位で提供するとしているが、ログ情報は、一定の単位で提供されなくてもよく、状況に応じて情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ４１２０が保有するサーバ１２１に保存される（図１Ａの矢印１３２）。
【００５８】
そして、サービスプロバイダ４１２０は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の家電機器１０１を使用するユーザＵ４１０でもよいし、外部のユーザＵ４２０でもよい。ユーザＵ４１０，Ｕ４２０への情報提供方法としては、例えば、サービスプロバイダ４１２０から直接ユーザＵ４１０，Ｕ４２０へ情報が提供されてもよい（図１Ａの矢印１３３，１３４）。また、ユーザＵ４１０への情報提供方法としては、例えば、データセンタ運営会社４１１０のクラウドサーバ４１１１を再度経由して、ユーザＵ４１０に情報が提供されてもよい（図１Ａの矢印１３５，１３６）。また、データセンタ運営会社４１１０のクラウドサーバ４１１１は、ログ情報をユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ４１２０に提供してもよい。
【００５９】
なお、ユーザＵ４１０は、ユーザＵ４２０と異なっていても同一であってもよい。
【００６０】
（実施の形態１）
以下、２名以上のユーザが同一機器を使用する場合において、音声対話システムが、複数のユーザの音声指示に対して、応答可能なユーザを適切に制限する方法について説明する。
【００６１】
以下、音声対話システムの構成、音声入出力装置のハードウェア構成、機器のハードウェア構成、ゲートウェイのハードウェア構成、クラウドサーバの機能ブロック、ゲートウェイの機能ブロック、機器の機能ブロック、音声入出力装置の機能ブロック、音声対話システムによるユーザを制限する処理の流れについて順次説明する。次に、サービスの類型１（自社データセンタ型クラウドサービス）を利用した音声対話システムが提供するサービスの全体、サービスの類型２（ＩａａＳ利用型クラウドサービス）を利用した音声対話システムが提供するサービスの全体像、サービスの類型３（ＰａａＳ利用型クラウドサービス）を利用した音声対話システムが提供するサービスの全体像、サービスの類型４（ＳａａＳ利用型クラウドサービス）を利用した音声対話システムが提供するサービスの全体像について順次説明する。
【００６２】
まず、実施の形態１に係る音声対話システムの構成を説明する。図２は、実施の形態１に係る音声対話システムの構成図である。
【００６３】
図２に示す音声対話システムは、音声入出力装置２４０と、複数の家電機器１０１と、ゲートウェイ１０２と、情報通信ネットワーク２２０と、クラウドサーバ１１１と、表示端末２６０とを含む。複数の家電機器１０１は、テレビ２４３、エアコン２４４、及び冷蔵庫２４５を含む。
【００６４】
また、複数の家電機器１０１には、テレビ２４３、エアコン２４４、冷蔵庫２４５の機器に限定されず、任意の機器が含まれてもよい。
【００６５】
ここで、音声入出力装置２４０（音声入力装置の一例）は、グループ１００の音声を取得する集音部と、グループ１００に音声を出力する音声出力部とを含む。グループ１００は、音声入出力装置２４０が音声によりユーザに情報提供可能な空間である。グループ１００は、例えばユーザ２５０、２５１の宅内である。グループ１００には、音声入出力装置２４０、家電機器１０１、ゲートウェイ１０２、及び表示端末２６０が設置されている。クラウドサーバ１１１は、グループ１００の外部に設置されている。
【００６６】
音声入出力装置２４０は、ユーザ２５０，２５１の音声を認識し、音声入力によるユーザ２５０，２５１の指示に応じて、音声入出力装置２４０より音声情報を提示すると共に、複数の家電機器１０１を制御する。より具体的には、音声入出力装置２４０は、音声入力によるユーザの指示に従いコンテンツを表示したり、ユーザの質問に回答したり、家電機器１０１を制御したりする。
【００６７】
また、ここでは、音声入出力装置２４０、複数の家電機器１０１、及びゲートウェイ１０２の接続は、有線又は無線を用いることができる。また、音声入出力装置２４０、ゲートウェイ１０２、及び家電機器１０１のうち少なくとも一部が一体化されていてもよい。
【００６８】
この音声対話システムは、図２に示す例では、２名のユーザ２５０，２５１がグループ１００内に存在する。以下、ユーザ２５０，２５１を総称する場合、ユーザ２５０と表す。
【００６９】
表示端末２６０は、ユーザ２５０が機器制御を指示する入力機能と、ユーザ２５０に情報を提供する情報出力機能とを有する。表示端末２６０への入力機能は、タッチパネルによって実現されてもよいし、プッシュボタンにより実現されてもよい。表示端末２６０は、携帯電話、スマートフォン又はタブレット装置であってもよい。
【００７０】
情報通信ネットワーク２２０は、インターネットが採用でき、ＴＣＰ／ＩＰ等の通信プロトコルを用いて種々のデータが送受される。
【００７１】
図３は、実施の形態１における音声対話システムの変形例の構成図である。この変形例では、音声対話システムは、自動車３０００に適用されている。自動車３０００には、音声入出力装置３００１、複数の車載機器３００２、表示端末３００３、及びゲートウェイ３００４が設置されている。音声入出力装置３００１は、図２の音声入出力装置２４０と同じである。車載機器３００２は、図２の家電機器１０１に相当し、自動車３０００に搭載される機器である。図３の例では、車載機器３００２には、カーナビゲーションシステム（以下、「カーナビ」と記述する。）３００５及びエアコン３００６が含まれる。
【００７２】
表示端末３００３及びゲートウェイ３００４は、それぞれ、図２に示す表示端末２６０及びゲートウェイ１０２に相当する。ゲートウェイ１０２は、例えば、車載機器３００２を無線ＬＡＮのアクセスポイントに接続させる通信装置で構成される。ゲートウェイ３００４は、音声入出力装置３００１、車載機器３００２、及び表示端末３００３を情報通信ネットワーク２２０に接続せる。音声入出力装置３００１、車載機器３００２、表示端末３００３は車載ＬＡＮを介してゲートウェイ１０２に接続されている。自動車３０００には、ユーザ２５０，２５１が搭乗しており、いずれか一方のユーザは自動車３０００のドライバーである。
【００７３】
次に、音声入出力装置２４０のハードウェア構成を説明する。図４は、音声入出力装置２４０のハードウェア構成を示す図である。
【００７４】
図４に示すように音声入出力装置２４０は、処理回路３００、集音回路３０１、音声出力回路３０２、及び通信回路３０３を備える。これらのブロックはバス３３０で相互に接続されており、データ及び命令の授受を行うことが可能である。
【００７５】
処理回路３００は、ＣＰＵ３１０と、機器ＩＤ３４１及びコンピュータプログラム３４２を格納したメモリ３２０との組み合わせによって実現される。あるいは、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。
【００７６】
なお、機器ＩＤ３４１は、音声入出力装置２４０に一意に付与された識別子である。機器ＩＤ３４１は、メーカによって独自に付与されてもよいし、原則としてネットワーク上で一意に割り当てられる物理アドレス（いわゆるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス）であってもよい。
【００７７】
集音回路３０１は、ユーザの音声を収集してアナログ音声信号を生成するとともに、そのアナログ音声信号をデジタルの音声データに変換してバス３３０に送信する。
【００７８】
音声出力回路３０２は、バス３３０を通じて受信した音声データをアナログ音声信号に変換するとともに、そのアナログ音声信号を出力する。
【００７９】
通信回路３０３は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路３０３は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路３０３は、処理回路３００によって生成されたログ情報やＩＤ情報をゲートウェイ１０２に送信する。また、通信回路３０３は、ゲートウェイ１０２より受信した信号を、バス３３０を通じて処理回路３００に送信する。
【００８０】
音声入出力装置２４０は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【００８１】
図５は、実施の形態１に関連する家電機器１０１及び車載機器３００２の一例である機器４００のハードウェア構成を示す図である。テレビ２４３、エアコン２４４、冷蔵庫２４５、カーナビ３００５、及びエアコン３００６は機器４００の一例である。
【００８２】
機器４００は、入出力回路４１０と、通信回路４５０と、処理回路４７０とを備える。これらはバス４６０で相互に接続されており、データや命令の授受を行うことが可能である。
【００８３】
処理回路４７０は、ＣＰＵ４３０と、機器ＩＤ４４１及びコンピュータプログラム４４２を格納したメモリ４４０との組み合わせによって実現される。あるいは、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。
【００８４】
なお、機器ＩＤ４４１は、機器４００に一意に付与された識別子である。機器ＩＤ４４１は、メーカによって独自に付与されてもよいし、原則としてネットワーク上で一意に割り当てられる物理アドレス（いわゆるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス）であってもよい。
【００８５】
入出力回路４１０は、処理回路４７０が処理した結果を出力する。また、入出力回路４１０は、入力されたアナログ信号をデジタルデータに変換してバス４６０に送信する。
【００８６】
通信回路４５０は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路４５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路４５０は、処理回路４７０によって生成されたログ情報やＩＤ情報をゲートウェイ１０２に送信する。また、通信回路４５０は、ゲートウェイ１０２より受信した信号を、バス４６０を通じて処理回路４７０に送信する。
【００８７】
機器４００は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【００８８】
図６は、ゲートウェイ１０２のハードウェア構成を示す図である。ゲートウェイ１０２は、通信回路５５０と、処理回路５７０とを備える。これらはバス５６０に相互に接続されており、データや命令の授受を行うことが可能である。
【００８９】
通信回路５５０は、ネットワークを介して他の機器（例えば、音声入出力装置２４０）と通信を行う回路である。通信回路５５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路５５０は、処理回路５７０によって生成されたログ情報及びＩＤ情報を音声入出力装置２４０、機器４００、及び表示端末２６０に送信する。また、通信回路５５０は、音声入出力装置２４０、機器４００、及び表示端末２６０より受信した信号を、バス５６０を通じて処理回路５７０に送信する。
【００９０】
処理回路５７０は、ＣＰＵ５３０と、ゲートウェイ１０２を一意に識別するためのゲートウェイＩＤ５４１及びコンピュータプログラム５４２を格納したメモリ５４０との組み合わせによって実現される。あるいは、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。ゲートウェイ１０２は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【００９１】
なお、図６では、コンピュータプログラム５４２が格納されているメモリ５４０にゲートウェイＩＤ５４１が格納されているとした。しかしながら、これは一例である。コンピュータプログラム５４２がＲＡＭまたはＲＯＭに格納され、ゲートウェイＩＤ５４１がフラッシュメモリに格納されてもよい。
【００９２】
図７は、クラウドサーバ１１１のハードウェア構成を示す図である。クラウドサーバ１１１は、通信回路６５０と、処理回路６７０と、音響・言語モデルＤＢ６００と、ユーザ管理ＤＢ６１０と、機器状態管理ＤＢ６２０と、発話理解辞書ＤＢ６２５と、機器機能管理ＤＢ６３０と、対話フレームＤＢ６４０とを備えている。
【００９３】
処理回路６７０は、ＣＰＵ６７１と、コンピュータプログラム６７３を格納したメモリ６７２とを有している。これらの構成要素は、バス６８０で接続されており、相互にデータを授受することが可能である。
【００９４】
処理回路６７０は、音響・言語モデルＤＢ６００、ユーザ管理ＤＢ６１０、機器状態管理ＤＢ６２０、発話理解辞書ＤＢ６２５、機器機能管理ＤＢ６３０、及び対話フレームＤＢ６４０にバス６８０で接続されている。処理回路６７０は、これらのデータベースに格納された管理情報の取得及び編集を行う。
【００９５】
なお、本実施の形態では、音響・言語モデルＤＢ６００、ユーザ管理ＤＢ６１０、機器状態管理ＤＢ６２０、発話理解辞書ＤＢ６２５、機器機能管理ＤＢ６３０、及び対話フレームＤＢ６４０は、クラウドサーバ１１１の内部の要素であるが、クラウドサーバ１１１の外部に設けられていてもよい。その場合には、処理回路６７０は、インターネット回線で外部に設けられたデータベースと接続される。
【００９６】
通信回路６５０は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路６５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【００９７】
ＣＰＵ６７１は、クラウドサーバ１１１の動作を制御する。ＣＰＵ６７１は、メモリ６７２に展開されたコンピュータプログラム６７３に記述された命令群を実行する。これにより、ＣＰＵ６７１は種々の機能を実現することができる。コンピュータプログラム６７３には、クラウドサーバ１１１が後述する動作を実現するための命令群が記述されている。
【００９８】
上述のコンピュータプログラム６７３は、ＣＤ−ＲＯＭ等の記録媒体に記録されて製品として市場に流通されてもよいし、インターネット等の電気通信回線を通じて伝送されてもよい。図７に示すハードウェアを備えた機器（例えばＰＣ）は、当該コンピュータプログラム６７３を読み込むことにより、本実施の形態によるクラウドサーバ１１１として機能する。
【００９９】
図８は、クラウドサーバ１１１のシステム構成を示す図である。クラウドサーバ１１１は、通信部７００と、音声認識部７１０と、話者識別部７２０と、発話理解部７３０と、状態管理部７４０と、応答生成部７５０と、音声合成部７６０とを備える。
【０１００】
通信部７００は、通信回路６５０に対応する。通信部７００は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う。通信部７００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【０１０１】
音声認識部７１０は、処理回路６７０と音響・言語モデルＤＢ６００とにより実現される。音声認識部７１０は、音声データを文字列データに変換する。具体的には、音声認識部７１０は、予め登録された音響モデルを音響・言語モデルＤＢ６００より取得し、音響モデルと音声データの周波数特性とを用いて、音声データを音素データに変換する。また、音声認識部７１０は、予め登録された言語モデルの情報を音響・言語モデルＤＢ６００より取得し、言語モデルを用いて、音素データの並び方から特定の文字列データを生成する。
【０１０２】
話者識別部７２０は、処理回路６７０とユーザ管理ＤＢ６１０とにより実現される。話者識別部７２０は、グループ１００に存在するユーザを識別する。話者識別部７２０は、音声データを用いて、予め登録されたユーザの声紋を認識することで、グループ１００内に存在するユーザを識別する。具体的には、話者識別部７２０は、予め登録されたユーザの声紋データをユーザ管理ＤＢ６１０より取得する。また、話者識別部７２０は、この声紋データと、音声データから抽出した声紋データとを比較することで、ユーザを識別する。
【０１０３】
発話理解部７３０は、処理回路６７０と機器機能管理ＤＢ６３０とにより実現される。発話理解部７３０は、音声認識部７１０で生成された文字列データから、コンテキストデータを抽出する。コンテキストデータとは、文字列データに含まれる単語（コンテキスト）であって、機器４００にタスクを実行させる際に必要となる単語がリストアップされたデータである。具体的には、コンテキストデータには、発話理解辞書ＤＢ６２５に登録された単語のうち、文字列データに含まれる単語の「種別」と、「概念」または「ＴａｓｋＩＤ」とが関連付けて記載されている。発話理解部７３０は、文字列データを機器機能管理ＤＢ６３０と照合することで、コンテキストデータを抽出する。
【０１０４】
状態管理部７４０は、処理回路６７０と機器状態管理ＤＢ６２０と対話フレームＤＢ６４０とにより実現される。状態管理部７４０は、発話理解部７３０から入力されたコンテキストデータを用いて、機器状態管理ＤＢ６２０及び対話フレームＤＢ６４０に登録されたデータを更新する。
【０１０５】
応答生成部７５０は、処理回路６７０と、機器状態管理ＤＢ６２０と、対話フレームＤＢ６４０とにより実現される。応答生成部７５０は、状態管理部７４０により更新された機器状態管理ＤＢ６２０と対話フレームＤＢ６４０とを照合し、制御対象となる機器４００を制御するための制御コマンドを生成する。また、応答生成部７５０は、状態管理部７４０により更新された機器状態管理ＤＢ６２０と対話フレームＤＢ６４０とを照合し、ユーザに提供すべきテキスト情報の文字列データを生成する。
【０１０６】
音声合成部７６０は、処理回路６７０と、音響・言語モデルＤＢ６００とにより実現される。音声合成部７６０は、応答生成部７５０により生成された文字列データを音声信号に変換する。具体的には、音声合成部７６０は、予め登録された音響モデル、言語モデルを音響・言語モデルＤＢ６００より取得し、応答生成部７５０により生成された文字列データを特定の音声信号に変換する。
【０１０７】
図９は、ゲートウェイ１０２のシステム構成を示す図である。ゲートウェイ１０２は、通信部８００と、受信データ解析部８１０と、送信データ生成部８２０とを備える。
【０１０８】
通信部８００は、通信回路５５０に対応する。通信部８００は、ネットワークを介して他の機器（例えば音声入出力装置２４０）と通信を行う。通信部８００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信部８００は、受信したデータを受信データ解析部８１０に出力する。また、通信部８００は、送信データ生成部８２０が生成したデータをネットワークに送信する。
【０１０９】
受信データ解析部８１０は、処理回路５７０に対応する。受信データ解析部８１０は、通信部８００が受信したデータの種別を解析する。また、受信データ解析部８１０は、受信したデータの種別を解析した結果、次に送信すべき機器（例えば、音声入出力装置２４０又は機器４００）と、その機器に送信すべきデータの組み合わせとを決定する。送信データ生成部８２０は、処理回路５７０に対応する。送信データ生成部８２０は、受信データ解析部８１０が決定した、次に送信すべき機器と、その機器に送信すべきデータの組み合わせから、送信データを生成する。
【０１１０】
図１０は、機器４００のシステム構成を示す図である。機器４００は、通信部９００と、機器制御部９１０とを備える。
【０１１１】
通信部９００は、通信回路４５０に対応する。通信部９００は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う。通信部９００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【０１１２】
機器制御部９１０は、入出力回路４１０と、処理回路４７０とに対応する。機器制御部９１０は、通信部９００が受信した制御データを処理回路４７０が読み込み、読み込んだ入出力回路４１０を制御する。
【０１１３】
図１１は、音声入出力装置２４０のシステム構成を示す図である。音声入出力装置２４０は、集音部１０００と、音声検出部１０１０と、音声区間切り出し部１０２０と、通信部１０３０と、音声出力部１０４０とを備える。
【０１１４】
集音部１０００は、集音回路３０１に対応する。集音部１０００は、ユーザの音声を収集してアナログ音声信号を生成するとともに、そのアナログ音声信号をデジタルデータに変換し、音声データを生成する。
【０１１５】
音声検出部１０１０と、音声区間切り出し部１０２０とは、処理回路３００により実現される。コンピュータプログラム３４２を実行するＣＰＵ３１０は、ある時点では、たとえば音声検出部１０１０として機能し、異なる他の一時点では、音声区間切り出し部１０２０として機能する。なお、これら２つの構成要素のうち、少なくとも１つが、ＤＳＰなどの専用の処理を行うハードウェアによって実現されてもよい。
【０１１６】
音声検出部１０１０は、音声を検出したか否かを判定する。たとえば集音部１０００において生成された音声のレベル（例えば音声信号の振幅）が所定値以下の場合には、音声検出部１０１０は、音声を検出していないと判断する。
【０１１７】
音声区間切り出し部１０２０は、取得した音声信号の中から音声が存在する区間を抽出する。
【０１１８】
通信部１０３０は、通信回路３０３に対応する。通信部１０３０は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う。通信部１０３０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信部１０３０は、音声区間切り出し部１０２０が抽出した区間の音声信号を送信する。また、通信部１０３０は、受信した音声信号を音声出力部１０４０に受け渡す。
【０１１９】
音声出力部１０４０は、音声出力回路３０２に対応する。音声出力部１０４０は、通信部１０３０が受信した音声信号をアナログ音声信号に変換するとともに、そのアナログ音声信号を出力する。
【０１２０】
図１２は、ユーザ管理ＤＢ６１０の具体例を示す図である。ユーザ管理ＤＢ６１０には、たとえばユーザの識別子である「ユーザＩＤ」と、ユーザの声紋データが記録された「声紋ファイル」とが互いに関連付けられて保持されている。なお、ユーザ管理ＤＢ６１０においては、ユーザの個人情報（たとえばユーザの氏名、年齢、住所）が「ユーザＩＤ」と関連付けられて保持されていてもよい。
【０１２１】
図１３は、機器状態管理ＤＢ６２０の具体例を示す図である。機器状態管理ＤＢ６２０は、本音声対話システムのサービスが適用される１つの機器４００に対して１つのレコードが割り当てられたデータベースであり、機器４００の現在の状態をクラウドサーバ１１１が管理するためのデータベースである。機器状態管理ＤＢ６２０には、たとえばゲートウェイ１０２の識別子である「ゲートウェイＩＤ（ＧＷ−ＩＤ）」、「機器ＩＤ」、「種別」、「動作中タスクＩＤ」、「対話状態」、及び「タスクオーナー」が互いに関連付けられて保持されている。
【０１２２】
「ゲートウェイＩＤ」はゲートウェイ１０２の識別子である。「機器ＩＤ」は機器４００の識別子である。「種別」は、テレビ、冷蔵庫、エアコンといった機器４００の種類を示す。「動作中タスクＩＤ」は、現在、機器４００が実行中のタスクの識別子である。「動作中タスクＩＤ」には、図１４の「タスクＩＤ」に列記されたタスクＩＤのうち、１のタスクＩＤが登録される。
【０１２３】
「対話状態」は、機器４００が現在、ある１のユーザと対話中であるか否かを示す。機器４００が１のユーザと対話中の場合、「対話状態」には「入力待ち」が登録され、機器４００が１のユーザと対話中でない場合、「対話中」には「ニュートラル」が登録される。「タスクオーナー」には、機器４００と対話中の１のユーザ、すなわち、機器４００と対話する権限を持つ１のユーザＩＤが登録される。「対話状態」が「ニュートラル」の機器４００は、対話中のユーザが現在、存在していないため、「タスクオーナー」は空欄にされる。
【０１２４】
図１３の例では、機器ＩＤが「Ｍ０１」、「Ｍ０２」、「Ｍ０３」の機器４００は、「ゲートウェイＩＤ」が「Ｇ００１」のゲートウェイ１０２を介してクラウドサーバ１１１と通信されるため、「ゲートウェイＩＤ」として「Ｇ００１」が対応付けられている。
【０１２５】
図１４は、機器機能管理ＤＢ６３０の具体例を示す図である。機器機能管理ＤＢ６３０は、本音声対話システムのサービスが適用される機器４００が実行する１つのタスクについて１つのレコードが割り当てられたデータベースである。機器機能管理ＤＢ６３０には、たとえば「機器ＩＤ」、「タスクＩＤ」、及び「タスクの内容」が互いに関連付けられて保持されている。「機器ＩＤ」は、図１３と同じである。「タスクＩＤ」は、機器４００が実行可能なタスクの識別子である。「タスク内容」は、タスクの内容を簡単に説明するテキストである。「機器ＩＤ」が「Ｍ０１」の機器４００は、テレビであるため、「チャンネル調整」及び「音量調整」といった、テレビが実行するタスクが予め登録されている。「機器ＩＤ」が「Ｍ０２」の機器４００は、冷蔵庫であるため、「温度設定」、「在庫確認」といった冷蔵庫が実行するタスクが予め登録されている。
【０１２６】
図１５は、発話理解辞書ＤＢ６２５の具体例を示す図である。発話理解辞書ＤＢ６２５は、音声を用いてユーザが機器４００にタスクを実行させる際に、その音声に含まれる可能性の高い単語を予め登録するデータベースであり、１つの単語に対して１つのレコードが割り当てられたデータベースである。
【０１２７】
発話理解辞書ＤＢ６２５には、例えば「単語ＩＤ」、「単語名」、「種別」、「概念またはＴａｓｋＩＤ」が相互に関連付けて保持されている。「単語ＩＤ」は、単語を一意に識別するための識別子である。「単語名」は単語の名称である。「種別」は単語の種別を示す。図１５の例では、「北海道」及び「青森」といった場所を表す単語には「種別」として＜ｐｌａｃｅ＞が登録されている。また、「今日」及び「今夜」といった日時を示す単語には、「種別」として＜ｄａｔｅ＞が登録されている。また、「ニュース」及び「天気」といった機器４００に実行させるタスクのキーワードとなる単語には、「種別」として＜ｔａｓｋ＞が登録されている。
【０１２８】
「概念またはＴａｓｋＩＤ」には、「種別」が＜ｐｌａｃｅ＞及び＜ｄａｔｅ＞に属する単語には概念が登録され、「種別」が＜ｔａｓｋ＞の単語にはタスクＩＤが登録される。ここで、「概念」は単語の意味を一意的に示す論理記号である。「タスクＩＤ」は、単語が示すタスクのタスクＩＤであり、図１４で列記されたいずれかのタスクＩＤが登録されている。例えば、ユーザが機器４００に対して「今日の天気は」といった「天気」を含む音声を発話した場合、その音声はテレビに天気情報を取得させるためにユーザが発話した音声である可能性が高い。そこで、図１５の例では、「天気」の単語にはテレビに天気情報を取得させるタスクＩＤ「Ｔ０１０１５」のタスクが対応付けられている。
【０１２９】
また、ユーザが「今日」との音声を発話しただけでは、その音声からタスクを特定することは困難である。一方、「今日」との音声は、先の天気情報の取得の例では、いつの天気情報を取得するかを決定するためのキーワードとなる。そのため、種別が＜ｐｌａｃｅ＞及び＜ｄａｔｅ＞の単語は、タスクＩＤではなく概念が対応付けられ、タスクを実行するために必要な情報として取り扱われている。
【０１３０】
図１６は、対話フレームＤＢ６４０の具体例を示す図である。対話フレームＤＢ６４０は、ある１つのタスクを実行するために必要となる条件が登録されたデータベースである。対話フレームＤＢ６４０には、たとえば「機器ＩＤ」、「タスクＩＤ」、「種別」、「項目の重要度」、「概念」、「値が未入力時の処理内容」、及び「値が入力時の処理内容」が互いに関連付けられて保持されている。図１６では、タスクＩＤ「Ｔ０１０５」の天気情報をテレビに取得させるタスクの例が示されている。「機器ＩＤ」及び「タスクＩＤ」は、上述のものと同じである。「種別」は、図１５に示す「種別」と同じである。「項目の重要度」は、「種別」に登録された情報の重要度を示す。「種別」に登録された情報が必須であれば、「項目の重要度」には「必須」が登録され、「種別」に登録された情報が必須でなければ、「項目の重要度」には「オプション」が登録されている。
【０１３１】
天気情報を取得させるタスクでは、いつの天気情報を取得させるかを示す情報が必要となる。そこで、図１６の例では、天気情報を取得させるタスクを実行するに際し、いつの天気情報を取得させるかを示す単語を必須の条件にするために、種別が＜ｄａｔｅ＞の単語は「項目の重要度」として「必須」が登録されている。一方、天気情報を取得させるタスクを実行するに際し、場所を示す情報は、必ずしも必要ではないが、あれば有用である。そこで、図１６の例では、種別が＜ｐｌａｃｅ＞の単語は「項目の重要度」として「オプション」が登録されている。
【０１３２】
「概念」は、図１５に示す「概念」と同じである。例えば、「種別」が＜ｐｌａｃｅ＞の単語を用いて機器４００にタスクを実行させる場合、その単語が具体的にどの場所を指しているのかを機器４００に認識させる必要がある。天気情報を取得させるタスクの例では、どの場所の天気情報を取得させるかを示す情報が必要となる。そこで、図１６の例では、種別が＜ｐｌａｃｅ＞の「概念」として例えば「ｏｓａｋａ」が登録されている。これにより、音声対話システムは、機器４００に対して「ｏｓａｋａ」の天気情報を取得させることができる。
【０１３３】
「値が未入力時の処理内容」は、該当する「種別」の単語が入力されていない場合に、その単語の発話をユーザに促すための音声対話システムの処理内容を示す。図１６の例では、「種別」が＜ｄａｔｅ＞に対応する「値が未入力時の処理内容」として、「いつの天気ですか？」の応答文が登録されている。よって、ユーザが例えば「天気」とのみ発話したとすると、音声対話システムは、いつの天気情報を取得すればよいのかが認識できていないため、「いつの天気ですか？」との応答文を示す音声又は画像をユーザに通知する。これにより、ユーザに対して＜ｄａｔｅ＞の種別を持つ単語の発話の必要性を認識させることができる。
【０１３４】
また、図１６の例では、「タスクＩＤ」が「Ｄｅｆａｕｌｔ」に対応する「値が未入力時の処理内容」として「どのタスクを行いたいですか？」の応答文が登録されている。これにより、音声対話システムが、ユーザが音声を発話したことは認識できたが、その音声からタスクを特定できなかった場合、「どのタスクを行いたいですか？」との文言を示す音声又は画像をユーザに通知する。これにより、ユーザに対して＜ｔａｓｋ＞の種別を持つ単語の発話の必要性を認識させることができる。
【０１３５】
「値が入力時の処理内容」は、該当する「種別」の単語が入力されている場合の機器４００への処理内容を示す。
【０１３６】
図１６の例では、「種別」が＜ｄａｔｅ＞に対応する「値が入力時の処理内容」として、「制御対象機器：テレビ  処理内容：＜ｄａｔｅ＞の天気情報を取得し、テレビ画面に表示  応答文：＜ｄａｔｅ＞の天気を表示します」が登録されている。
【０１３７】
そのため、例えば、「種別」が＜ｄａｔｅ＞の単語として「今日」が発話されたとすると、テレビに対して、「今日の天気情報を取得し、テレビ画面に表示」のタスクを実行させるための制御コマンドが送信される。また、「今日の天気を表示します」との応答文を示す音声又は画像がテレビから出力される。
【０１３８】
また、図１６の例では、「種別」が＜ｐｌａｃｅ＞に対応する「値が入力時の処理内容」として、「制御対象機器：テレビ  処理内容：＜ｐｌａｃｅ＞の天気情報を取得し、テレビ画面に表示  応答文：＜ｐｌａｃｅ＞の＜ｄａｔｅ＞の天気を表示します」が登録されている。
【０１３９】
そのため、例えば、「種別」が＜ｐｌａｃｅ＞の単語として「大阪」、「種別」が＜ｄａｔｅ＞の単語として「今日」が発話されたとすると、テレビに対して、「大阪の今日の天気情報を取得し、テレビ画面に表示」のタスクを実行させるための制御コマンドが送信される。また、「大阪の今日の天気を表示します」との応答文を示す音声又は画像がテレビから出力される。
【０１４０】
また、図１６の例では、「機器ＩＤ」及び「タスクＩＤ」が共に「Ｄｅｆａｕｌｔ」に対応する「値が入力時の処理内容」として、「あなたはこの機器を利用することができません。」が登録されている。これにより、音声対話システムが対話中のユーザから音声の入力待ちの状態のときに、別のユーザからの発話を認識した場合に、「あなたはこの機器を利用することができません」との応答を示す音声又は画像がユーザに通知される。これにより、この別のユーザは自身の発話は無効であることが認識できる。
【０１４１】
なお、図１６の例では、機器４００としてテレビに天気情報を取得させる処理が登録されているが、本開示はこれに限定されず、図１４に示す機器機能管理ＤＢ６３０に登録された種々のタスクに関する処理が対話フレームＤＢ６４０に登録されている。例えば、テレビの「チャンネル調整」のタスクでは、チャンネルを指定する単語が必須となる。この場合、例えば、数字を示す単語の「種別」を＜数値＞として発話理解辞書ＤＢ６２５に登録させておく。そして、対話フレームＤＢ６４０において、「チャンネル調整」のタスクについて、「種別」が＜数値＞の単語を「必須」の単語として登録させておけばよい。
【０１４２】
また、冷蔵庫の温度調整では、温度を示す数値が必須となるため、対話フレームＤＢ６４０において、冷蔵庫の温度調整のタスクについて、「種別」が＜数値＞の単語を「必須」の単語として登録しておけばよい。
【０１４３】
また、エアコンの温度調整においては、「暑い」との発話に対してエアコンの設定温度を下げる制御を実行し、「寒い」との発話に対してエアコンの設定温度を上げる制御を実行する態様が想定できる。これを実現するために、例えば、「暑い」及び「寒い」の単語の種別を＜ｃｏｎｄｉｔｉｏｎ＞として発話理解辞書ＤＢ６２５に登録させる。また、「暑い」の単語の概念として「ｈｏｔ」、「寒い」の単語の概念として「ｃｏｏｌ」を発話理解辞書ＤＢ６２５に登録させる。そして、対話フレームＤＢ６４０において、エアコンの温度設定の処理に対して、「種別」が＜ｃｏｎｄｉｔｉｏｎ＞の単語を必須の単語として登録する。また、「概念」が「ｈｏｔ」の「値が入力時の処理内容」として、「エアコンの温度を１度下げる」を登録し、「概念」が「ｃｏｏｌ」の「値が入力時の処理内容」として、「エアコンの温度を１度上げる」を登録しておけばよい。
【０１４４】
図１９〜図２１は、音声対話システムによるユーザを制限する通信処理のシーケンス図である。このシーケンスは、ユーザが音声により機器４００に何らかの指示を示す音声を発話したときに開始される。なお、図１９〜図２１は一連のシーケンスを指す。
【０１４５】
Ｓ１５０１において、音声入出力装置２４０は、ユーザが発話した音声を示すアナログ音声信号をＡ／Ｄ変換し、音声データとして取得する。音声入出力装置２４０の通信回路３０３は、取得した音声データをゲートウェイ１０２に送信する。ゲートウェイ１０２は音声データを受信する。ここで、ユーザが発話した指示内容が第１指示内容の一例に該当し、第１指示内容を示す音声データが第１指示情報の一例に該当する。
【０１４６】
Ｓ１５０５において、ゲートウェイ１０２は、音声入出力装置２４０から受信した音声データと共に、自らのメモリ５４０に保持するゲートウェイＩＤ５４１をクラウドサーバ１１１に送信する。
【０１４７】
クラウドサーバ１１１は、Ｓ１５１０において、音声データ及びゲートウェイＩＤ５４１を受信し、Ｓ１５１５において、音声内容理解処理を行う。音声内容処理とは、クラウドサーバ１１１が有する音声認識部７１０によってユーザの音声を認識し、クラウドサーバ１１１が有する発話理解部７３０によってユーザのコンテキストデータを抽出する処理である。具体的には、クラウドサーバ１１１は、音響・言語モデルＤＢ６００に登録された音響・言語モデルを用いて音声内容理解処理を実行する。図１８Ａは、Ｓ１５１５に示す音声内容理解処理の詳細を示すフローチャートである。
【０１４８】
音声入出力装置２４０からユーザの音声データを通信部７００が受信すると、クラウドサーバ１１１の音声認識部７１０は、その音声データの周波数特性を抽出し、音響・言語モデルＤＢ６００に保持されている音響モデルから音素データを抽出する（Ｓ１８０１）。
【０１４９】
次に、音声認識部７１０は、抽出した音素データの並び方が、音響・言語モデルＤＢ６００に保持されている言語モデルのどの文字列データに最も近いかを照合することにより、音声データを特定の文字列データに変換する（Ｓ１８０２）。
【０１５０】
次に、クラウドサーバ１１１の発話理解部７３０は、変換された文字列データと、発話理解辞書ＤＢ６２５とを照合する（Ｓ１８０３）。
【０１５１】
次に、発話理解部７３０は、文字列データの全体または一部とマッチした全ての単語を抽出し、抽出した全ての単語の「種別」及び「概念またはＴａｓｋＩＤ」がリストアップされたコンテキストデータを生成する（Ｓ１８０４）。
【０１５２】
例えば、ユーザが「今日の天気は？」と発話したとする。この場合、「今日」の「種別」である＜ｄａｔｅ＞と、「今日」の「概念」である＜ｔｏｄａｙ＞とが関連付けられ、且つ、「天気」の「種別」である＜ｔａｓｋ＞と「天気」の「ＴａｓｋＩＤ」である「Ｔ１０１５」とが関連付けられてリストアップされたコンテキストデータが生成される。
【０１５３】
図１９に戻り、クラウドサーバ１１１の話者識別部７２０は、Ｓ１５２０において、話者識別処理を行う。話者識別処理とは、ユーザの音声データから話者を識別する処理である。具体的には、話者識別部７２０は、音声入出力装置２４０から送信されたユーザの音声データから声紋データを抽出し、抽出した声紋データとユーザ管理ＤＢ６１０とを照合することで、話者を識別する。
【０１５４】
図１７は、Ｓ１５２０に示す話者識別処理の詳細を示すフローチャートである。まず、話者識別部７２０は、音声入出力装置２４０から送信された音声データから声紋データを抽出する（Ｓ１７０１）。ここで、抽出される声紋データが第１音声情報の一例である。
【０１５５】
次に、話者識別部７２０は、抽出した声紋データをユーザ管理ＤＢ６１０に登録された全ての声紋ファイルに記録された声紋データと照合する（Ｓ１７０２）。
【０１５６】
次に、話者識別部７２０は、抽出した声紋データに一致する声紋データがユーザ管理ＤＢ６１０に登録されていれば（Ｓ１７０３でＹＥＳ）、一致した声紋データを記録する声紋ファイルに関連付けられたユーザＩＤを出力する。これにより、話者であるユーザが一意に識別されることになる。図１２のユーザ管理ＤＢ６１０において、抽出した声紋データが声紋ファイル「Ｓ０１．ｄａｔ」に記録された声紋データと一致すると判定されたとすると、ユーザＩＤ「Ｐ０１」が出力される。
【０１５７】
一方、一致する声紋データがない場合（Ｓ１７０３でＮＯ）、話者識別部７２０は、音音声受付状態がニュートラルであるか否かを判定する（Ｓ１７０５）。この場合、機器状態管理ＤＢ６２０において、音声データと合わせて送信されたゲートウェイＩＤに関連付けられた全ての機器４００の「対話状態」が「ニュートラル」であれば、音声受付状態がニュートラルと判定され（Ｓ１７０５でＹＥＳ）、処理がＳ１７０６に進められる。一方、音声受付状態がニュートラルでなければ（Ｓ１７０５でＮＯ）、処理が終了される。この場合、機器状態管理ＤＢ６２０において、該当するユーザのゲートウェイ１０２のゲートウェイＩＤに関連付けられた全ての機器４００のうち、いずれか１の機器４００の「対話状態」が「入力待ち」であれば、音声受付状態がニュートラルでないと判定される。
【０１５８】
Ｓ１７０６において、話者識別部７２０は、抽出した声紋データに新たなユーザＩＤを付与し、ユーザ管理ＤＢ６１０に新規登録する。これにより、新規ユーザの声紋データがユーザ管理ＤＢ６１０に登録される。
【０１５９】
図１９に戻り、クラウドサーバ１１１の状態管理部７４０は、Ｓ１５２５において、状態管理処理を行う。状態管理処理とは、状態管理部７４０が、対話フレームＤＢ６４０と機器状態管理ＤＢ６２０とを更新し、機器４００の状態を管理する処理である。
【０１６０】
図１８Ｂは、図１９のＳ１５２５に示す状態管理処理の詳細を示すフローチャートである。まず、状態管理部７４０は、機器状態管理ＤＢ６２０を参照し、機器４００の「対話状態」を取得する（Ｓ１８１１）。この場合、処理対象の音声データと合わせて送信されたゲートウェイＩＤに関連付けられた機器４００の「対話状態」が機器状態管理ＤＢ６２０から取得される。
【０１６１】
例えば、処理対象の音声データと併せて送信されたゲートウェイＩＤが「Ｇ００１」であったとすると、図１３の例では、「機器ＩＤ」が「Ｍ０１」、「Ｍ０２」、「Ｍ０３」の機器４００の「対話状態」が取得される。この場合、テレビ、冷蔵庫、エアコンの「対話状態」として、それぞれ、「入力待ち」、「入力待ち」、及び「ニュートラル」が取得される。
【０１６２】
次に、状態管理部７４０は、発話理解部７３０により生成されたコンテキストデータを取得する（Ｓ１８１２）。
【０１６３】
次に、状態管理部７４０は、コンテキストデータに「ＴａｓｋＩＤ」が含まれているか否かを判定する（Ｓ１８１３）。例えば、処理対象の音声データが「今日の天気は？」であったとする。この場合、この音声データには、「種別」が＜ｔａｓｋ＞の単語「天気」が含まれており、コンテキストデータには、「天気」のＴａｓｋＩＤである「Ｔ０１０５」が含まれるため、Ｓ１８１３でＹＥＳと判定される。また、例えば、処理対象の音声データが「今日」であり、「種別」が＜ｔａｓｋ＞の単語が含まれていなければ、Ｓ１８１３でＮＯと判定される。
【０１６４】
次に、状態管理部７４０は、取得したコンテキストデータと、対話フレームＤＢ６４０とを照合する（Ｓ１８１４）。
【０１６５】
次に、状態管理部７４０は、タスクの実行に必須のコンテキストは全て揃ったか否かを判定する（Ｓ１８１５）。例えば、処理対象のデータが「今日の天気は？」であったとすると、対話フレームＤＢ６４０おいて、天気情報を取得するタスクＩＤ「Ｔ０１０５」のタスクを実行するには、「種別」が＜ｄａｔｅ＞の単語が含まれていることが必須の要件に設定されている。ここで、「今日の天気は？」に含まれる単語「今日」は「種別」が＜ｄａｔｅ＞である。そのため、「今日の天気は？」の音声データには、天気情報を取得するタスクを実行するための必須の条件が含まれている。よって、Ｓ１８１５でＹＥＳと判定される。
【０１６６】
一方、処理対象のデータの音声データが「天気？」であったとすると、この音声データには、「種別」が＜ｄａｔｅ＞の単語が含まれていないため、Ｓ１８１５でＮＯと判定される。
【０１６７】
Ｓ１８１６において、状態管理部７４０は、対話フレームＤＢ６４０を参照し、「値が入力時の処理内容」が示す制御コマンドを出力する。上記のタスクＩＤ「Ｔ０１０５」のタスクでは、「値が入力時の処理内容」として、「＜ｄａｔｅ＞の天気情報を取得し、テレビ画面に表示」が登録されているため、今日の天気情報を取得させるための制御コマンドが生成される。
【０１６８】
Ｓ１８１７において、状態管理部７４０は、対話フレームＤＢ６４０を参照し、「値が未入力時の処理内容」が示す制御コマンドを出力する。例えば、処理対象の音声データが「天気」であり、タスクは特定できたが、そのタスクの実行に必須のコンテキストが全て揃っていないために、Ｓ１８１５でＮＯと判定されたとする。この場合、タスクＩＤ「Ｔ０１０５」のタスクには、「値が未入力時の処理内容」として、「いつの天気ですか？」の応答文が登録されているため、Ｓ１８１７では、「いつの天気ですか？」の応答文を出力するための制御コマンドが生成される。
【０１６９】
また、例えば、処理対象の音声データに「種別」が＜ｔａｓｋ＞の単語が含まれていないために、Ｓ１８１３でＮＯと判定されたとする。この場合、Ｓ１８１７では、「タスクＩＤ」が「Ｄｅｆａｕｌｔ」に対応する「値が未入力時の処理内容」に登録された「どのタスクを行いたいですか？」との応答文、すなわち、ユーザに「種別」が＜ｔａｓｋ＞の単語の発話を促す応答文を出力するための制御コマンドが生成される。
【０１７０】
Ｓ１８１８において、状態管理部７４０は、機器状態管理ＤＢ６２０を更新する。図１８Ｃは、図１８ＢのＳ１８１８に示す機器状態管理ＤＢ６２０の更新処理の詳細を示すフローチャートである。まず、状態管理部７４０は、タイムアウトが発生したか否かを判定する（Ｓ１８２１）。ここで、タイムアウトとは、例えば、機器４００が「いつの天気ですか？」との応答文を出力し、「種別」が＜ｄａｔｅ＞の単語の発話をユーザに促したとすると、その応答文が出力された時点から所定時間が経過したことを指す。ここで、所定時間は、例えば、ユーザが応答文に対する発話をする意思がないと見なせる時間である。また、機器４００にタスクを実行させるための発話をユーザが最初に行った場合は、機器４００による応答文の出力が行われていないため、タイムアウトは発生せず、Ｓ１８２１でＮＯと判定される。
【０１７１】
次に、状態管理部７４０は、ネットワークが切断されたか否かを判定する（Ｓ１８２２）。ここで、音声入出力装置２４０がネットワークと切断されてしまうと、音声対話システムは、ユーザが発話した音声を取得できなくなる。そのため、ネットワークの切断としては、音声入出力装置２４０とクラウドサーバ１１１とのネットワークが切断された場合が該当する。
【０１７２】
ネットワークが切断されていなければ（Ｓ１８２２でＮＯ）、状態管理部７４０は、タスクの実行に必須のコンテキストが全て揃ったか否かを判断する。この処理は、図１８ＢのＳ１８１５と同じである。
【０１７３】
コンテキストが全て揃った場合（Ｓ１８２３でＹＥＳ）、状態管理部７４０は、機器状態管理ＤＢ６２０において、該当する機器４００の「動作中タスクＩＤ」、「タスクオーナー」をリセットし、該当する機器４００の「対話状態」を「ニュートラル」に更新する。例えば、ユーザが「今日の天気は？」と発話したとすると、タスク及びそのタスクを実行する機器４００（テレビ）を特定できると共に、天気情報を取得するタスクを実行するための必須の条件も揃っているため、機器状態管理ＤＢ６２０において、「テレビ」の「動作中タスクＩＤ」に「なし」が登録され、「タスクオーナー」が空欄にされる。
【０１７４】
一方、コンテキストが全て揃っていない場合（Ｓ１８２３でＮＯ）、状態管理部７４０は、機器状態管理ＤＢ６２０において、該当する機器４００の「動作中タスクＩＤ」及び「タスクオーナー」を更新し、「対話状態」を「入力待ち」に更新する（Ｓ１８２５）。
【０１７５】
例えば、ユーザが「天気は？」と発話したとすると、タスク及びそのタスクを実行する機器４００は特定できるが、天気情報を取得するタスクを実行するための必須の条件が揃っていない。そのため、機器状態管理ＤＢ６２０の「テレビ」において、「動作中タスクＩＤ」にそのタスクのタスクＩＤ「Ｔ０１０５」が登録され、「タスクオーナー」に話者識別処理で特定された話者のユーザＩＤ「Ｐ０１」が登録される。更に、機器状態管理ＤＢ６２０の「テレビ」において、「対話状態」が「入力待ち」に更新される。このように機器状態管理ＤＢ６２０では、機器４００がタスクを実行中であるか否かを示す情報が登録されると共に、タスクが実行中であれば機器４００と対話中の１のユーザのユーザＩＤが登録されている。そのため、音声対話サービスの適用対象となる機器４００の現在の状態と、機器４００に対して対話する権限を現在持っているユーザとを特定できる。その結果、対話する権限を持たないユーザからの音声データが認識されたとしても、その音声データにしたがって、機器４００が制御されることが防止できる。
【０１７６】
なお、Ｓ１８２４の処理は、タイムアウトが発生した場合（Ｓ１８２１でＹＥＳ）、または、ネットワークが切断された場合（Ｓ１８２２でＹＥＳ）も実行される。そのため、機器状態管理ＤＢ６２０において、ある機器４００の「対話状態」が「入力待ち」で放置されることが防止される。また、ある機器４００に対してタスクの中断を入力する作業をユーザに課さなくても、該当する機器４００の「対話状態」を「ニュートラル」に戻すことができる。
【０１７７】
以上により図１９のＳ１５２５の処理が終了される。なお、本実施の形態において、Ｓ１５１０〜Ｓ１５２５の処理を、以後「処理群Ａ」と呼ぶ。
【０１７８】
クラウドサーバ１１１の応答生成部７５０は、Ｓ１５３０において、ユーザへの聞き返しが発生するか否かを判定する。ユーザへの聞き返しが発生するか否かは、対話フレームＤＢ６４０の該当するタスクにおいて、「必須」のコンテキストが全て揃ったか否かにより判定される。すなわち、図１８ＡのＳ１８１５の判定結果がＹＥＳであれば、Ｓ１５３０でＮＯと判定され、Ｓ１８１５の判定結果がＮＯであれば、Ｓ１８３０でＹＥＳと判定される。
【０１７９】
応答生成部７５０は、Ｓ１５３５において、制御コマンド生成処理を行う。制御コマンド生成処理とは、制御対象となる機器４００の制御コマンドを生成する処理である。具体的には、応答生成部７５０は、対話フレームＤＢ６４０において、該当するタスクの「値が入力時の処理内容」に登録された内容を読み込むことで、制御コマンドを生成する。例えば、今日の天気情報を取得するタスクの例では、テレビに今日の天気情報を取得させるための制御コマンドが生成される。
【０１８０】
応答生成部７５０は、Ｓ１５４０において、応答文生成処理を行う。応答文生成処理とは、ユーザに報知する応答文を生成する処理である。具体的には、応答生成部７５０は、聞き返しが必要な場合は、対話フレームＤＢ６４０において、該当するタスクの「値が未入力時の処理内容」に登録された応答文を読み出すことで応答文を生成する。一方、応答生成部７５０は、聞き返しが不要の場合は、対話フレームＤＢ６４０において、該当するタスクの「値が入力時の処理内容」に登録された応答文を読み出すことで応答文を生成する。
【０１８１】
クラウドサーバ１１１の音声合成部７６０は、Ｓ１５４５において、音声合成処理を行う。音声合成処理とは、応答文を音声データに変換する処理である。具体的には、音声合成部７６０は、音素・言語モデルＤＢ６００に登録された音素・言語モデルの情報を用いて、応答文の文字列データを音声データに変換する。
【０１８２】
音声合成部７６０は、Ｓ１５５０において、生成した制御コマンドと応答文の音声データと、応答文のテキストを含む権限状態表示内容とを、制御対象となる機器４００の機器ＩＤ４４１とゲートウェイＩＤ５４１と併せてゲートウェイ１０２に送信する。
【０１８３】
なお、本実施の形態において、Ｓ１５４０〜Ｓ１５５０を、以後「処理群Ｂ」と呼ぶ。
【０１８４】
ゲートウェイ１０２は、Ｓ１５６５において、クラウドサーバ１１１から送信された、制御コマンドと、音声データと、権限状態表示内容と、機器ＩＤ４４１と、ゲートウェイＩＤ５４１とを受信する。次に、ゲートウェイ１０２は、Ｓ１５７０において、受信データ解析処理を行う。受信データ解析処理とは、ゲートウェイ１０２の受信データ解析部８１０が受信したデータを、制御コマンド、音声データ、権限状態表示内容、機器ＩＤ４４１、及びゲートウェイＩＤ５４１に分離し、ゲートウェイ１０２の送信データ生成部８２０が、分離された制御コマンドを機器ＩＤ４４１の機器４００に送信し、分離された音声データを音声入出力装置２４０に送信し、分離された権限状態表示内容を表示端末２６０に送信する処理である。
【０１８５】
例えば、応答文が「いつの天気ですか？」であったとすると、音声入出力装置２４０は「いつの天気ですか？」との音声を出力し、表示端末２６０は「いつの天気ですか？」とのテキストを含む権限状態表示内容を表示する。
【０１８６】
一方、機器４００にタスクが実行される場合においては、そのタスクを実行するための制御コマンドが機器４００に送信され、その機器４００においてタスクが実行される。例えば、制御コマンドが今日の天気情報をテレビに取得させるタスクを実行させるものであったとすると、テレビにその制御コマンドが送信され、テレビにより今日の天気情報が取得される。そして、今日の天気情報がテレビに表示される。
【０１８７】
なお、本実施例において、Ｓ１５６５〜Ｓ１５７０を、以後「処理群Ｃ」と呼ぶ。
【０１８８】
以下、ユーザは音声入出力装置２４０が出力した応答文から、聞き返しが発生したことを知り、音声によりさらなる指示を音声入出力装置２４０に与えたものとして、図２０のＳ１５０１以降の処理について説明する。
【０１８９】
音声入出力装置２４０は、ユーザの音声データを取得する。音声入出力装置２４０の通信回路３０３は、取得した音声データをゲートウェイ１０２に送信することで、Ｓ１５０１を再び繰り返す。ゲートウェイ１０２はその音声データを受信する。ここで、ユーザにより発話された指示内容が第２指示内容の一例に該当し、第２指示内容の音声データが発話情報及び第２指示情報の一例に該当する。
【０１９０】
ゲートウェイ１０２は、音声入出力装置２４０から受信した音声データと共に、自らのメモリ５４０に保持するゲートウェイＩＤ５４１をクラウドサーバ１１１に送信することで、Ｓ１５０５を再び繰り返す。
【０１９１】
クラウドサーバ１１１は、処理群Ａを繰り返し実行する。クラウドサーバ１１１は、Ｓ１５７５において、発話したユーザが、制御対象となる機器４００のタスクオーナーと同一か否かを判定する。具体的には、クラウドサーバ１１１は、処理対象の音声データから声紋データ（第２音声情報の一例）を抽出し、抽出した声紋データをユーザ管理ＤＢ６１０と照合し、発話したユーザを特定する。そして、クラウドサーバ１１１は、特定したユーザのユーザＩＤが、機器状態管理ＤＢ６２０において、制御対象となる機器４００の「タスクオーナー」として登録されているユーザＩＤと同一であれば、特定したユーザはタスクオーナーと判定する。
【０１９２】
例えば、特定されたユーザのユーザＩＤが「Ｐ０１」であったとすると、図１３の機器状態管理ＤＢ６２０の例では、「テレビ」の「タスクオーナー」として「Ｐ０１」が登録されている。そのため、特性されたユーザは「テレビ」のタスクオーナーであると判定され、Ｓ１５７５でＹＥＳと判定される。一方、特定されたユーザのユーザＩＤが「Ｐ０３」であったとすと、図１３の機器状態管理ＤＢ６２０の例では、このユーザＩＤは「対話状態」が「入力待ち」であるいずれの機器４００の「タスクオーナー」にも登録されていない。そのため、特定されたユーザはタスクオーナーでないと判定され、Ｓ１５７５でＮＯと判定される。
【０１９３】
クラウドサーバ１１１は、Ｓ１５３０を繰り返し実行する。クラウドサーバ１１１は、Ｓ１５７５において、タスクオーナーが発話したユーザと同一であり（Ｓ１５７５でＹＥＳ）、Ｓ１５３０において、聞き返しが必要ないと判定した場合（Ｓ１５３０でＮＯ）のみ、Ｓ１５３５において制御コマンド生成処理を行う。
【０１９４】
一方、クラウドサーバ１１１は、Ｓ１５７５において、タスクオーナーが発話したユーザと同一であり（Ｓ１５７５でＹＥＳ）、Ｓ１５３０において、聞き返しが必要と判定した場合（Ｓ１５３０でＹＥＳ）、Ｓ１５３５における制御コマンド生成処理を行うことなく、再び処理群Ｂを実行する（図２１）。すなわち、タスクオーナーと発話したユーザが同一でない場合、クラウドサーバ１１１は、発話したユーザの指示を受け付けない。
【０１９５】
次に、ゲートウェイ１０２は、処理群Ｃを再び実行し、機器４００に制御コマンドを送信し、音声入出力装置２４０に音声データを送信し、表示端末２６０に権限状態表示内容を送信する。
【０１９６】
図２２Ａ〜図２２Ｃは、権限状態表示内容を示す画面図である。図２２Ａは、ユーザにより「天気は？」と発話され、タスクは特定できたがタスクの実行に必須となるコンテキストが揃っていない場合に表示端末２６０に表示される権限状態表示内容を示している。なお、図２２Ａの画面図は、発話情報の入力が受け付けられない旨の通知の一例である。
【０１９７】
この画面図では、ユーザが先に発話した内容である「天気は？」のテキスト２２０１が表示されている。また、現段階では「天気は？」から天気情報を取得するタスクは特定されたが、そのタスクを実行するために必須となるコンテキストが揃っていないため、そのコンテキストの発話をユーザに促すために、「いつの天気ですか？」とのテキスト２２０２が表示されている。また、本音声対話システムでは、先に発話したユーザと同一ユーザが発話したことを条件にタスクが実行されるため、「この質問をした方が答えて下さい」とのテキスト２２０３が「天気は？」のテキスト２２０１と対応付けて表示されている。これにより、対話中のユーザは、自分のみが機器４００を制御する権限を持つことを認識できる。
【０１９８】
図２２Ｂは、制御対象となる機器４００が全てニュートラルの状態の場合に表示端末２６０に表示される権限状態表示内容を示している。この状態では、いずれのユーザもタスクオーナーになっていないため、どのユーザが発話しても音声対話システムによって受け付けられる。そこで、この画面図では、「誰でも話すことができます。」とのテキスト２２１１が表示されている。これにより、ユーザは、自分の発話が音声対話システムに受け付けられることを認識できる。
【０１９９】
図２２Ｃは、ネットワークが途切れた場合に表示端末２６０に表示される権限状態表示内容を示している。例えば、対話中のユーザが存在する状態で、ネットワークが切断されたとすると、このユーザはいくら発話してもその発話が音声対話システムに受け付けられない。そのため、ネットワークが切断された事実をユーザに通知しなければ、ユーザに無駄な発話をさせてしまうという問題が発生する。そこで、この画面図では、「通信が途切れました」とのテキスト２２２１が表示されている。これにより、ユーザにネットワークの切断を認識させ、今、発話をしても音声対話システムにその発話が受け付けられないことを認識させることができる。
【０２００】
なお、図２２Ａの権限状態表示内容は、Ｓ１５０３で聞き返しが必要と判定され、処理群Ｃが実行された場合に表示される。また、図２２Ｂの権限状態表示内容は、制御対象となる機器４００の全てがニュートラルの状態にあり、音声対話システムがユーザからの音声を待ち受けている状態にある場合に表示される。また、図２２Ｃの権限状態表示内容は、表示端末２６０がクラウドサーバ１１１との通信が切断されたと判断した場合に表示される。
【０２０１】
なお、本実施の形態の音声対話システムは、ユーザが音声を発話して機器４００を制御する場合に適用されたが、本開示はこれに限定されない。例えば、ユーザがキーワードを発話して音声対話システムにキーワードを検索させる場合に本音声対話システムは適用されてもよい。例えば、ユーザが発話により指示したキーワードを音声対話システムが確認する目的でユーザへ聞き返した場合、この音声対話システムからの聞き返しに対して応答できるユーザが、当初にキーワードの検索を指示したユーザに制限される。
【０２０２】
また、上記の検索の態様としては、例えば、図３に示すカーナビ３００５に目的地までの経路を探索させる態様が挙げられる。図３に示す音声対話システムにおいて、ユーザ２５０がカーナビ３００５に対して「探索」との音声を発話し、その音声が音声入出力装置３００１に集音されたとする。この場合、この音声の音声データがクラウドサーバ１１１に送信され、クラウドサーバ１１１は、この音声を発話したユーザを特定すると共に、この探索のタスクの実行に必要なコンテキストが全て揃っているか否かを判定する。ここで、カーナビ３００５に経路を探索させるタスクを実行させるには、「種別」が＜ｐｌａｃｅ＞のコンテキストが必須であったとする。
【０２０３】
ここでは、「探索」としか発話されていないため、クラウドサーバ１１１は、このタスクを実行するためのコンテキストが揃っていないと判定し、音声入出力装置３００１に「目的地はどこですか？」との応答文を出力させる。そして、この応答文に対して、ユーザ２５０が例えば「大阪」との音声を発話したとする。すると、その音声の音声データがクラウドサーバ１１１に送信され、クラウドサーバ１１１は、その音声データを発話したユーザは最初に発話したユーザ２５０と同じであるか否かを判定する。ここでは、同じであるため、クラウドサーバ１１１は、カーナビ３００５にタスクを実行させる。これにより、カーナビ３００５は、現在地から大阪までの経路を探索し、探索結果をユーザに提示する。
【０２０４】
一方、「目的地はどこですか？」の応答文に対して、ユーザ２５１が「大阪」との音声を発話したとする。この場合、発話したユーザ２５１が「探索」の音声を発話したユーザ２５０と相違するため、タスクが実行されない。これにより、ユーザ２５０の意図に反したタスクが実行されることを防止できる。
【０２０５】
（実施の形態２）
図２３は、実施の形態２に係る音声対話システムの構成を示す図である。実施の形態２では、実施の形態１と同一要素には同一符号が付され、詳細な説明は省略される。以下では、実施の形態１との相違点を中心に、実施の形態２が説明される。
【０２０６】
実施の形態２の音声対話システムは、音声入出力装置２４０と、複数の家電機器１０１と、表示端末２６０と、統合管理装置２８００とを含む。すなわち、実施の形態２の音声対話システムは、実施の形態１の音声対話システムが備えているゲートウェイ１０２、情報通信ネットワーク２２０、及びクラウドサーバ１１１に代えて、統合管理装置２８００を備える。
【０２０７】
統合管理装置２８００は、グループ１００内に配置されている。ここで、統合管理装置２８００としては、例えば、グループ１００内に設置された機器４００を管理するためのホームサーバが採用できる。統合管理装置２８００と、表示端末２６０、音声入出力装置２４０及び複数の家電機器１０１との接続は、有線又は無線を用いることができる。また、統合管理装置２８００のハードウェア構成及びシステム構成は、クラウドサーバ１１１と同じである。
【０２０８】
なお、実施の形態２では、統合管理装置２８００は、家電機器１０１と別に設けられているが、本開示は、これに限られない。例えば、テレビ２４３、エアコン２４４、又は冷蔵庫２４５が、統合管理装置２８００を含んでもよい。
【０２０９】
図２４は、実施の形態２における音声対話システムの変形例の構成図である。図２４に示す音声対話システムは、図３に示す音声対話システムと同様、自動車３０００に適用されている。図２４に示す音声対話システムにおいて、図３に示す音声対話システムとの相違点は、ゲートウェイ３００４及びクラウドサーバ１１１に代えて統合管理装置２８００が設けられている点にある。ここで、統合管理装置２８００は、自動車３０００に搭載され、クラウドサーバ１１１の機能を担う。そのため、図２４の音声対話システムでは、ゲートウェイ１０２が省かれている。それ以外は、図３の音声対話システムと同じである。
【０２１０】
図２５は、実施の形態２の機器状態管理ＤＢ６２０の具体例を示す図である。実施の形態２では、ゲートウェイ１０２が省かれている。そのため、図２５に示す機器状態管理ＤＢ６２０では、図１３の機器状態管理ＤＢ６２０に設けられていた「ゲートウェイＩＤ」が省かれている。それ以外、図２５に示す機器状態管理ＤＢ６２０は、図１３に示す機器状態管理ＤＢ６２０と同じである。
【０２１１】
なお、実施の形態１では、クラウドサーバ１１１は音声対話サービスの適用対象となる１のグループ１００ではなく、全てのグループ１００に設置されている機器４００を管理対象としている。そのため、機器４００にゲートウェイＩＤを対応付け、発話したユーザと同一グループ１００に設置されている機器４００を制御対象の機器４００として特定する必要があった。そのため、図１３に示す機器状態管理ＤＢ６２０には、ゲートウェイＩＤが機器ＩＤと関連付けて登録されていた。
【０２１２】
一方、実施の形態２では、統合管理装置２８００は、ユーザのグループ１００に設置されたホームサーバが想定されているため、他のグループ１００に設置された機器４００は管理対象外である。そのため、図２５に示す機器状態管理ＤＢ６２０には、統合管理装置２８００が設置されたグループ１００内の機器４００が登録されている。
【０２１３】
図２６Ａ、図２６Ｂは、実施の形態２の音声対話システムによるユーザを制限する通信処理のシーケンス図である。図２６Ａ、図２６Ｂにおいて、図１９〜図２１に示される実施の形態１の音声対話システムの動作と同一ステップには同一符号が付されている。
【０２１４】
実施の形態１（図１９〜図２１）において、クラウドサーバ１１１によって実行されていた処理は、実施の形態２（図２６Ａ、図２６Ｂ）では、統合管理装置２８００によって実行される。
【０２１５】
そのため、実施の形態２（図２６Ａ、図２６Ｂ）では、実施の形態１（図１９〜図２１）で行われていたクラウドサーバ１１１とゲートウェイ１０２との間での送受信処理が省かれ、ゲートウェイ１０２で行われていた受信データ解析処理も省かれている。
【０２１６】
また、音声入出力装置２４０からのデータの送信先は、実施の形態１（図１９〜図２１）ではゲートウェイ１０２であったが、実施の形態２（図２６Ａ、図２６Ｂ）では、統合管理装置２８００になっている。
【０２１７】
以上の点を除いて、実施の形態２の音声対話システムの動作は、実施の形態１の動作と同じである。
【０２１８】
具体的には、Ｓ１５０１において、音声データは、音声入出力装置２４０から直接統合管理装置２８００に送信されているため、Ｓ１５０５の処理が省かれている。そのため、音声データと併せてゲートウェイＩＤが送信されていない。
【０２１９】
また、図２６Ａでは、ゲートウェイ１０２が省かれているため、図２６ＡのＳ１５５０では、図１９のＳ１５５０とは異なり、機器ＩＤ及びゲートウェイＩＤのゲートウェイ１０２への送信が省かれている。
【０２２０】
そして、制御コマンド、権限状態表示内容、及び音声データは、それぞれ、統合管理装置２８００から直接、機器４００、表示端末２６０、及び音声入出力装置２４０に送信されている。そのため、図２６Ａでは、処理群Ｃも省かれている。
【０２２１】
このように実施の形態２では、クラウドサーバ１１１の機能をグループ１００内に設置される統合管理装置２８００に担わせる態様を採用した場合においても、実施の形態１と同様の効果を得ることができる。
【０２２２】
（他の実施の形態）
以上、実施の形態に係る音声対話システムについて説明したが、本開示は、この実施の形態に限定されるものではない。
【０２２３】
また、上記実施の形態に係る音声対話システムに含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２２４】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２２５】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０２２６】
さらに、本開示は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０２２７】
また、上記で用いた数字は、全て本開示を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
【０２２８】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０２２９】
以上、一つの態様に係る音声対話システムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つの態様の範囲内に含まれてもよい。
【０２３０】
なお、本開示は上述した天気情報の取得に関する一連の対話のみに限って適用されるものではない。音声対話システムとユーザとの対話に関するものであれば本開示は適用可能である。例えば、音声対話システムを用いてユーザが家電機器等を動作させる場合にも本開示は有効である。例えば、ユーザが音声操作に対応した電子レンジまたはオーブンを動作させる場合に、「温めて」という指示をした場合を想定する。このとき、音声対話システムはユーザに対して「何分温めますか？」または「何度に温めますか？」などと具体的な指示を聞き返すことが可能である。これに対して返答可能なユーザ（聞き返したことに対して音声対話システムが指示を受け付けるユーザ）は当初に「温めて」と指示したユーザのみである。
【０２３１】
これ以外にも、ユーザの抽象的な指示に対して音声対話システムが具体的な内容を聞き返す動作について、本開示は適用可能である。また、音声対話システムがユーザに対して聞き返す内容は、機器４００が実際にタスクを実行しているか否かの確認などであってもよい。
【０２３２】
なお、上記態様において、ユーザからの音声の入力は、音声対話システムまたは各機器４００が備えるマイクロホンによって行われるとしてもよい。また、音声対話システムまたは各機器４００からのユーザに対する聞き返しは、音声対話システムまたは各機器４００が備えるスピーカなどからユーザに伝えられもよい。
【０２３３】
また、図２０に示すシーケンス図では、処理群Ａ（音声データ及びゲートウェイＩＤの受信（Ｓ１５１０）、音声内容理解処理（Ｓ１５１５）、話者識別処理（Ｓ１５２０）、及び状態管理処理（Ｓ１５２５）が実行された後、発話したユーザがタスクオーナーと同一であるか否かを判定する処理（Ｓ１５７５）が実行されている。本開示はこれに限定されず、まず、Ｓ１５１５及び話者識別処理（Ｓ１５２０）を実行し、次に、Ｓ１５７５の処理を実行し、発話したユーザがタスクオーナーと同一である場合に、音声内容理解処理（Ｓ１５１５）及び状態管理処理（Ｓ１５２５）が実行されてもよい。
【０２３４】
また、図１３の「タスクオーナー」には、ユーザＩＤが登録されているが、本開示はこれに限定されず、声紋データが登録されてもよい。この場合、次に入力された音声データから抽出された声紋データと、図１３の「タスクオーナー」に登録された声紋データとが照合されて、次に音声データを入力したユーザの権限が判定されることになる。
【０２３５】
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られるものでない。
【０２３６】
（サービスの類型１：自社データセンタ型クラウドサービス）
図２７は、サービスの類型１（自社データセンタ型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ４１２０がグループ４１００から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ４１２０が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ４１２０が、ビッグデータを管理するクラウドサーバ４１１１を保有している。したがって、データセンタ運営会社は存在しない。
【０２３７】
本類型では、サービスプロバイダ４１２０は、データセンタ４２０３（クラウドサーバ）を運営及び管理している。また、サービスプロバイダ４１２０は、オペレーティングシステム（ＯＳ）２０２及びアプリケーション４２０１を管理する。サービスプロバイダ４１２０は、サービスプロバイダ４１２０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０２３８】
（サービスの類型２：ＩａａＳ利用型クラウドサービス）
図２８は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。ここで、ＩａａＳとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０２３９】
本類型では、データセンタ運営会社４１１０が、データセンタ４２０３（クラウドサーバ）を運営及び管理している。また、サービスプロバイダ４１２０は、ＯＳ４２０２及びアプリケーション４２０１を管理する。サービスプロバイダ４１２０は、サービスプロバイダ４１２０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０２４０】
（サービスの類型３：ＰａａＳ利用型クラウドサービス）
図２９は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。ここで、ＰａａＳとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０２４１】
本類型では、データセンタ運営会社４１１０は、ＯＳ４２０２を管理し、データセンタ４２０３（クラウドサーバ）を運営及び管理している。また、サービスプロバイダ４１２０は、アプリケーション４２０１を管理する。サービスプロバイダ４１２０は、データセンタ運営会社４１１０が管理するＯＳ４２０２及びサービスプロバイダ４１２０が管理するアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０２４２】
（サービスの類型４：ＳａａＳ利用型クラウドサービス）
図３０は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における音声対話システムが提供するサービスの全体像を示す図である。ここで、ＳａａＳとは、ソフトウェア・アズ・ア・サービスの略である。ＳａａＳ利用型クラウドサービスは、例えば、データセンタ（クラウドサーバ）を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ（クラウドサーバ）を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【０２４３】
本類型では、データセンタ運営会社４１１０は、アプリケーション４２０１を管理し、ＯＳ４２０２を管理し、データセンタ４２０３（クラウドサーバ）を運営及び管理している。また、サービスプロバイダ４１２０は、データセンタ運営会社４１１０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０２４４】
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ４１２０がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、ＯＳ、アプリケーション又はビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
【産業上の利用可能性】
【０２４５】
本開示は、音声を用いて機器を制御する技術にとって有用である。
【符号の説明】
【０２４６】
１０２  ゲートウェイ
１１１  クラウドサーバ
２４０  ３００１  音声入出力装置
３００  処理回路
３０１  集音回路
３０２  音声出力回路
３０３  通信回路
３１０  ＣＰＵ
３２０  メモリ
３４１  機器ＩＤ
４００  機器
４１０  入出力回路
４３０  ＣＰＵ
４４０  メモリ
４４１  機器ＩＤ
４５０  通信回路
４７０  処理回路
５３０  ＣＰＵ
５４０  メモリ
５４１  ゲートウェイＩＤ
５５０  通信回路
５７０  処理回路
６００  音響・言語モデルＤＢ
６１０  ユーザ管理ＤＢ
６２０  機器状態管理ＤＢ
６２５  発話理解辞書ＤＢ
６３０  機器機能管理ＤＢ
６４０  対話フレームＤＢ
６５０  通信回路
６７０  処理回路
７００  通信部
７１０  音声認識部
７２０  話者識別部
７３０  発話理解部
７４０  状態管理部
７５０  応答生成部
７６０  音声合成部
８００  通信部
８１０  受信データ解析部
８２０  送信データ生成部
９００  通信部
９１０  機器制御部
１０００  集音部
１０１０  音声検出部
１０２０  音声区間切り出し部
１０３０  通信部
１０４０  音声出力部
【図１Ａ】
2018169624.tif 000003
【図１Ｂ】
2018169624.tif 000004
【図１Ｃ】
2018169624.tif 000005
【図２】
2018169624.tif 000006
【図３】
2018169624.tif 000007
【図４】
2018169624.tif 000008
【図５】
2018169624.tif 000009
【図６】
2018169624.tif 000010
【図７】
2018169624.tif 000011
【図８】
2018169624.tif 000012
【図９】
2018169624.tif 000013
【図１０】
2018169624.tif 000014
【図１１】
2018169624.tif 000015
【図１２】
2018169624.tif 000016
【図１３】
2018169624.tif 000017
【図１４】
2018169624.tif 000018
【図１５】
2018169624.tif 000019
【図１６】
2018169624.tif 000020
【図１７】
2018169624.tif 000021
【図１８Ａ】
2018169624.tif 000022
【図１８Ｂ】
2018169624.tif 000023
【図１８Ｃ】
2018169624.tif 000024
【図１９】
2018169624.tif 000025
【図２０】
2018169624.tif 000026
【図２１】
2018169624.tif 000027
【図２２Ａ】
2018169624.tif 000028
【図２２Ｂ】
2018169624.tif 000029
【図２２Ｃ】
2018169624.tif 000030
【図２３】
2018169624.tif 000031
【図２４】
2018169624.tif 000032
【図２５】
2018169624.tif 000033
【図２６Ａ】
2018169624.tif 000034
【図２６Ｂ】
2018169624.tif 000035
【図２７】
2018169624.tif 000036
【図２８】
2018169624.tif 000037
【図２９】
2018169624.tif 000038
【図３０】
2018169624.tif 000039