(57)【要約】【課題】音声機器制御システムにおける機器制御方法を更に改善する。【解決手段】第１、第２調理部において第１、第２調理プログラムに基づく処理がそれぞれ実行されているときに、音声入力装置から調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、第１音声情報から操作指示を認識し、第１調理レシピの調理メニュー名を示す第１調理メニュー情報と第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースを用いて、指示情報に、第１調理メニュー情報または第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断し、指示情報に第２音声情報が含まれると判断された場合は、第１ネットワークを介して調理機器に、第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって操作指示に対応する処理を実行させる制御コマンドを送信する、【選択図】図２
2015050766.tif 000002
【特許請求の範囲】
【請求項１】
第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置とに接続され、ユーザの音声によって前記調理機器を制御する音声機器制御システムにおける機器制御方法であって、
第１ネットワークを介して、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを前記調理機器へ送信し、
前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく処理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、前記第１音声情報から前記操作指示を認識し、
前記第１調理レシピの調理メニュー名を示す第１調理メニュー情報と前記第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースを用いて、前記指示情報に、前記第１調理メニュー情報または前記第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断し、
前記指示情報に前記第２音声情報が含まれると判断された場合は、前記第１ネットワークを介して前記調理機器に、前記第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信する、
機器制御方法。
【請求項２】
前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を実行できない旨を示すエラーメッセージをユーザに対して通知する、
請求項１に記載の機器制御方法。
【請求項３】
前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、
前記エラーメッセージは、前記表示装置のディスプレイに表示される、
請求項２に記載の機器制御方法。
【請求項４】
前記音声機器制御システムはさらに、音声を出力可能な音声出力装置と接続され、
前記エラーメッセージは、前記音声出力装置を用いてユーザに通知される、
請求項２に記載の機器制御方法。
【請求項５】
前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理を中断させるキャンセル指示である、
請求項１に記載の機器制御方法。
【請求項６】
前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理とは調理パラメータの異なる処理を実行させる指示である、
請求項１に記載の機器制御方法。
【請求項７】
前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、
第２ネットワークを介して、前記第１調理レシピ及び前記第２調理レシピを含む二以上の調理レシピを提供する表示画面を表す表示画面情報を、前記表示装置へ送信し、
前記第２ネットワークを介して前記表示装置から、前記表示装置において前記第１調理レシピが選択された旨を示す第１調理レシピ選択情報と、前記表示装置において前記第２調理レシピが選択された旨を示す第２調理レシピ選択情報とをそれぞれ受信する、
請求項１に記載の機器制御方法。
【請求項８】
前記第１調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第１調理レシピ選択情報を受信すると、前記表示装置を介して行われ、前記第２調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第２調理レシピ選択情報を受信すると、前記表示装置を介して行われる、
請求項７に記載の機器制御方法。
【請求項９】
前記データベースは、前記第１調理部と前記第１調理プログラムとの対応関係及び前記第２調理部と前記第２調理プログラムとの対応関係を示す対応関係情報を含み、
前記対応関係情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、
前記制御コマンドに、前記特定した調理部を示す特定調理部情報を含める、
請求項１に記載の機器制御方法。
【請求項１０】
前記調理機器は、前記対応関係情報を管理し、
前記対応関係情報および前記特定調理部情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、
前記特定した調理部に前記操作指示に対応する処理を実行させる、
請求項９に記載の機器制御方法。
【請求項１１】
前記表示装置は、前記調理機器に含まれる、
請求項３または７に記載の機器制御方法。
【請求項１２】
前記表示装置は、前記調理機器とは異なる機器に含まれる、
請求項３または７に記載の機器制御方法。
【請求項１３】
第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置とに接続され、ユーザの音声によって前記調理機器を制御する音声機器制御システムにおける機器制御方法であって、
第１ネットワークを介して、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを前記調理機器へ送信し、
前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく処理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、前記第１音声情報から前記操作指示を認識し、
前記第１調理レシピにおいて使用される調理器具の名称を示す第１調理器具情報と前記第２調理レシピにおいて使用される調理器具の名称を示す第２調理器具情報とを管理するデータベースを用いて、前記指示情報に、前記第１調理器具情報または前記第２調理器具情報に関連する第２音声情報が含まれるか否かを判断し、
前記指示情報に前記第２音声情報が含まれると判断された場合は、前記第１ネットワークを介して前記調理機器に、前記第２音声情報の関連する調理器具情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信する、
機器制御方法。
【請求項１４】
前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を実行できない旨を示すエラーメッセージをユーザに対して通知する、
請求項１３に記載の機器制御方法。
【請求項１５】
前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理を中断させるキャンセル指示である、
請求項１３に記載の機器制御方法。
【請求項１６】
前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理とは調理パラメータの異なる処理を実行させる指示である、
請求項１３に記載の機器制御方法。
【請求項１７】
前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、
第２ネットワークを介して、前記第１調理レシピ及び前記第２調理レシピを含む二以上の調理レシピを提供する表示画面を表す表示画面情報を、前記表示装置へ送信し、
前記第２ネットワークを介して前記表示装置から、前記表示装置において前記第１調理レシピが選択された旨を示す第１調理レシピ選択情報と、前記表示装置において前記第２調理レシピが選択された旨を示す第２調理レシピ選択情報とをそれぞれ受信する、
請求項１３に記載の機器制御方法。
【請求項１８】
前記データベースは、前記第１調理部と前記第１調理プログラムとの対応関係及び前記第２調理部と前記第２調理プログラムとの対応関係を示す対応関係情報を含み、
前記対応関係情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、
前記制御コマンドに、前記特定した調理部を示す特定調理部情報を含める、
請求項１３に記載の機器制御方法。
【請求項１９】
前記調理機器は、前記対応関係情報を管理し、
前記対応関係情報および前記特定調理部情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、
前記特定した調理部に前記操作指示に対応する処理を実行させる、
請求項１８に記載の機器制御方法。
【請求項２０】
第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置と、前記調理機器および前記音声入力装置に接続可能なサーバとを含み、ユーザの音声によって前記調理機器を制御する音声機器制御システムであって、
前記調理機器は、
第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを受信する第１通信部と、
前記第１調理プログラムに基づく処理を前記第１調理部に実行させ、前記第２調理プログラムに基づく処理を前記第１調理部に実行させる第２制御部と、
を備え、
前記音声入力装置は、
前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を取得する音声取得部と、
前記取得された指示情報を前記サーバへ送信する第２通信部と、
を備え、
前記サーバは、
前記調理機器へ前記第１調理プログラム情報と前記第２調理プログラム情報とを送信する第３通信部と、
前記第１調理レシピの調理メニュー名を示す第１調理メニュー情報と前記第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースと、
前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく調理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記指示情報を受信した場合、前記受信した指示情報に含まれる前記第１音声情報から前記操作指示を認識し、前記指示情報に、前記第１調理メニュー情報または前記第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断する判断部と、
前記指示情報に前記第２音声情報が含まれると判断された場合は、前記調理機器に、前記第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信する第４通信部と、
を備える、
音声機器制御システム。
【請求項２１】
請求項２０の音声機器制御システムにおいて用いられる調理機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機器制御方法、音声機器制御システム及び調理機器に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。特許文献１の複数機器の音声制御システムは、使用者の発声方向を検出することによって、制御対象となる機器の認識率を高めることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９１４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１では、更なる改善が必要とされていた。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本開示の一態様は、第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置とに接続され、ユーザの音声によって前記調理機器を制御する音声機器制御システムにおける機器制御方法であって、第１ネットワークを介して、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを前記調理機器へ送信し、前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく処理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、前記第１音声情報から前記操作指示を認識し、前記第１調理レシピの調理メニュー名を示す第１調理メニュー情報と前記第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースを用いて、前記指示情報に、前記第１調理メニュー情報または前記第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断し、前記指示情報に前記第２音声情報が含まれると判断された場合は、前記第１ネットワークを介して前記調理機器に、前記第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信するものである。
【発明の効果】
【０００６】
上記一態様によれば、さらなる改善を実現することができる。
【図面の簡単な説明】
【０００７】
【図１Ａ】実実施の形態における音声機器制御システムが提供するサービスの全体像を示す図である。
【図１Ｂ】機器メーカがデータセンタ運営会社に該当する例を示す図である。
【図１Ｃ】機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示す図である。
【図２】実施の形態における音声機器制御システムの構成図である。
【図３】実施の形態における音声入出力装置のハードウェア構成を示す図である。
【図４】実施の形態における調理機器のハードウェア構成を示す図である。
【図５】実施の形態における表示端末のハードウェア構成を示す図である。
【図６】実施の形態におけるゲートウェイのハードウェア構成を示す図である。
【図７】実施の形態におけるクラウドサーバのハードウェア構成を示す図である。
【図８】実施の形態における音声入出力装置のシステム構成を示す図である。
【図９】実施の形態における調理機器のシステム構成を示す図である。
【図１０】実施の形態におけるゲートウェイのシステム構成を示す図である。
【図１１】実施の形態におけるクラウドサーバのシステム構成を示す図である。
【図１２】発話理解部の動作の一例を示すフローチャートである。
【図１３Ａ】発話理解辞書ＤＢの一例を示す図である。
【図１３Ｂ】発話理解辞書ＤＢの一例を示す図である。
【図１４】発話理解部により抽出されたコンテキストデータの一例を示す図である。
【図１５Ａ】状態管理部の動作の一例を示すフローチャートである。
【図１５Ｂ】状態管理部の動作の一例を示すフローチャートである。
【図１６】応答生成部の動作の一例を示すフローチャートである。
【図１７】実施の形態における機器状態管理ＤＢの具体例を示す図である。
【図１８】実施の形態における機器機能ＤＢの具体例を示す図である。
【図１９Ａ】調理プログラムＤＢに含まれる献立リストの一例を示す図である。
【図１９Ｂ】調理プログラムＤＢに含まれる調理ステップリストの一例を示す図である。
【図２０Ａ】調理プログラムＤＢに含まれるエラーメッセージリストの一例を示す図である。
【図２０Ｂ】表示端末２６０の表示画面１９３０の一例を示す図である。
【図２１】実施の形態１の音声機器制御システムの動作を示すシーケンス図である。
【図２２】実施の形態１の音声機器制御システムの動作を示すシーケンス図である。
【図２３】実施の形態１の音声機器制御システムの動作を示すシーケンス図である。
【図２４Ａ】表示端末に表示される献立選択画面の一例を示す図である。
【図２４Ｂ】表示端末に表示される献立選択画面の一例を示す図である。
【図２４Ｃ】表示端末に表示される献立選択画面の一例を示す図である。
【図２５】実施の形態１の音声機器制御システムにおいて、音声指示の対象を判別する処理を示すシーケンス図である。
【図２６】図２２のＳ２２０１で実行される調理プログラム管理処理を示すフローチャートである。
【図２７】実施の形態２に係る音声機器制御システムの構成を示す図である。
【図２８Ａ】統合管理装置のハードウェア構成を示すブロック図である。
【図２８Ｂ】統合管理装置のシステム構成を示すブロック図である。
【図２９】実施の形態２の機器状態管理ＤＢの具体例を示す図である。
【図３０Ａ】実施の形態２の音声機器制御システムの動作を示すシーケンス図である。
【図３０Ｂ】実施の形態２の音声機器制御システムの動作を示すシーケンス図である。
【図３１】実施の形態２の音声機器制御システムにおいて、音声指示の対象を判別する処理を示すシーケンス図である。
【図３２】調理機器のハードウェア構成の別の例を示すブロック図である。
【図３３】サービスの類型１（自社データセンタ型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。
【図３４】サービスの類型２（ＩａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。
【図３５】サービスの類型３（ＰａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。
【図３６】サービスの類型４（ＳａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。
【発明を実施するための形態】
【０００８】
（本発明の基礎となった知見）
本発明者は、上記特許文献１に記載の技術では、以下の問題が生じることを見出した。
【０００９】
特許文献１は、制御対象となる機器８０，８２，８４と、前記機器の近傍にそれぞれ配置され、使用者の音声を検出するマイクロホン２０，２２，２４とを備え、以下の技術を開示する。各マイクロホンが検出した音声データは集音手段３０によって収集される。集音手段に入力された音声データの内容は音声認識手段４０によって解析される。集音手段に入力された音声データの大きさから、使用者の発声方向が検出される。音声認識手段によって解析された音声データの内容と、分布分析手段によって解析された使用者の発声方向に基づいて、制御対象となる機器と操作内容とが推論手段により決定される。推論手段により決定された機器と操作内容に基づいて、制御対象となる機器に制御信号が発せられる。
【００１０】
ユーザが対象の機器に音声による指示を行う場合、対象機器の方を向いて指示することが自然であると考えられる。このため、上記構成により、複数存在する機器のうちのどの機器に対して指示を行ったかを判別できる。
【００１１】
近年、例えば、複数の加熱部を備える誘導加熱（ＩＨ）調理器または上段の加熱部と下段の加熱部とで異なる加熱プログラムを実行可能な電子レンジなど、同一機器内にて複数のタスクを実行可能な調理機器が汎用されている。このような調理機器では、複数の加熱部の間の距離が短いため、各加熱部に対するユーザからの方向の相違を判別するのは困難となっている。このため、特許文献１では、上記のような調理機器に対して、複数のタスクのうちの一のタスクを指定して音声指示を行うことは困難であるという課題があった。
【００１２】
そこで、本願発明者は、上記課題を解決するために、下記の改善策を検討した。
【００１３】
本開示の第１態様は、第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置とに接続され、ユーザの音声によって前記調理機器を制御する音声機器制御システムにおける機器制御方法であって、第１ネットワークを介して、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを前記調理機器へ送信し、前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく処理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、前記第１音声情報から前記操作指示を認識し、前記第１調理レシピの調理メニュー名を示す第１調理メニュー情報と前記第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースを用いて、前記指示情報に、前記第１調理メニュー情報または前記第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断し、前記指示情報に前記第２音声情報が含まれると判断された場合は、前記第１ネットワークを介して前記調理機器に、前記第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信するものである。
【００１４】
本態様によれば、第１ネットワークを介して、第１調理レシピに対応する第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する第２調理プログラムを示す第２調理プログラム情報とが調理機器に送信される。調理機器の中の第１調理部において第１調理プログラムに基づく処理が実行されており、且つ調理機器の中の第２調理部において第２調理プログラムに基づく処理が実行されているときに、音声入力装置から調理機器に対する操作指示を表す第１音声情報を含む指示情報が受信された場合、第１音声情報から操作指示が認識される。
【００１５】
第１調理レシピの調理メニュー名を示す第１調理メニュー情報と第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースを用いて、指示情報に、第１調理メニュー情報または第２調理メニュー情報に関連する第２音声情報が含まれるか否かが判断される。指示情報に第２音声情報が含まれると判断された場合は、第１ネットワークを介して調理機器に、第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって操作指示に対応する処理を実行させる制御コマンドが送信される。
【００１６】
したがって、例えば、指示情報に第１調理メニュー情報に関連する第２音声情報が含まれると判断された場合は、第１調理部では、第１調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。また、例えば、指示情報に第２調理メニュー情報に関連する第２音声情報が含まれると判断された場合は、第２調理部では、第２調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。その結果、調理機器のなかの第１調理部又は第２調理部に対する操作指示が的確に実行されることとなる。
【００１７】
上記第１態様において、例えば、前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を実行できない旨を示すエラーメッセージをユーザに対して通知してもよい。
【００１８】
本態様によれば、指示情報に第２音声情報が含まれないと判断された場合は、操作指示に対応する処理を実行できない旨を示すエラーメッセージがユーザに対して通知される。このため、ユーザは、音声による指示をやり直すことができる。
【００１９】
上記第１態様において、例えば、前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、前記エラーメッセージは、前記表示装置のディスプレイに表示されてもよい。
【００２０】
本態様によれば、エラーメッセージは、表示装置のディスプレイに表示される。このため、ユーザは、操作指示に対応する処理が実行できないことを目で確認できる。
【００２１】
上記第１態様において、例えば、前記音声機器制御システムはさらに、音声を出力可能な音声出力装置と接続され、前記エラーメッセージは、前記音声出力装置を用いてユーザに通知されてもよい。
【００２２】
本態様によれば、エラーメッセージは、音声出力装置を用いてユーザに通知される。このため、ユーザは、操作指示に対応する処理が実行できないことを耳で確認できる。
【００２３】
上記第１態様において、例えば、前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を、前記調理機器において実行されている前記第１調理プログラム及び前記第２調理プログラムの全てのプログラムに基づく処理に代わって、実行させてもよい。
【００２４】
本態様によれば、指示情報に第２音声情報が含まれないと判断された場合は、操作指示に対応する処理は、調理機器において実行されている第１調理プログラム及び第２調理プログラムの全てのプログラムに基づく処理に代わって、実行される。指示情報に第２音声情報が含まれないと判断されたため、第１調理部に対する操作指示か第２調理部に対する操作指示かが不明となっている。この場合、本態様では、第１調理部及び第２調理部の両方において、それぞれ、第１調理プログラム及び第２調理プログラムによって実行される処理に代わって、操作指示に対応する処理が実行される。その結果、調理機器に対する操作指示が、とりあえず実行されることとなる。
【００２５】
上記第１態様において、例えば、前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理を中断させるキャンセル指示であってもよい。
【００２６】
本態様によれば、操作指示は、調理機器において第１調理プログラム又は第２調理プログラムによって実行されている処理を中断させるキャンセル指示である。このため、第１調理部又は第２調理部では、第１調理プログラム又は第２調理プログラムによって実行されている処理が中断される。
【００２７】
上記第１態様において、例えば、前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理とは調理パラメータの異なる処理を実行させる指示であってもよい。
【００２８】
本態様によれば、操作指示は、調理機器において第１調理プログラム又は第２調理プログラムによって実行されている処理とは調理パラメータの異なる処理を実行させる指示である。このため、第１調理部又は第２調理部では、第１調理プログラム又は第２調理プログラムによって実行されている処理と調理パラメータの異なる処理が実行される。
【００２９】
上記第１態様において、例えば、前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、第２ネットワークを介して、前記第１調理レシピ及び前記第２調理レシピを含む二以上の調理レシピを提供する表示画面を表す表示画面情報を、前記表示装置へ送信し、前記第２ネットワークを介して前記表示装置から、前記表示装置において前記第１調理レシピが選択された旨を示す第１調理レシピ選択情報と、前記表示装置において前記第２調理レシピが選択された旨を示す第２調理レシピ選択情報とをそれぞれ受信してもよい。
【００３０】
本態様によれば、第２ネットワークを介して、第１調理レシピ及び第２調理レシピを含む二以上の調理レシピを提供する表示画面を表す表示画面情報が、表示装置へ送信される。第２ネットワークを介して表示装置から、表示装置において第１調理レシピが選択された旨を示す第１調理レシピ選択情報と、表示装置において第２調理レシピが選択された旨を示す第２調理レシピ選択情報とをそれぞれ受信する。したがって、表示装置において、ユーザにより第１調理レシピ及び第２調理レシピが選択されたことを認識できる。
【００３１】
上記第１態様において、例えば、前記第１調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第１調理レシピ選択情報を受信すると、前記表示装置を介して行われ、前記第２調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第２調理レシピ選択情報を受信すると、前記表示装置を介して行われてもよい。
【００３２】
本態様によれば、第１調理プログラム情報及び第２調理プログラム情報の調理機器への送信は、それぞれ、表示装置から第１調理レシピ選択情報及び第２調理レシピ選択情報を受信すると、表示装置を介して行われる。したがって、表示装置は、第１調理レシピ及び第２調理レシピの選択と、第１調理プログラム情報及び第２調理プログラム情報の調理機器への送信とに、兼用される。
【００３３】
上記第１態様において、例えば、前記データベースは、前記第１調理部と前記第１調理プログラムとの対応関係及び前記第２調理部と前記第２調理プログラムとの対応関係を示す対応関係情報を含み、前記対応関係情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、前記制御コマンドに、前記特定した調理部を示す特定調理部情報を含めてもよい。
【００３４】
本態様によれば、データベースは、第１調理部と第１調理プログラムとの対応関係及び第２調理部と第２調理プログラムとの対応関係を示す対応関係情報を含む。前記対応関係情報に基づいて、第１調理部及び第２調理部のうち操作指示に対応する処理が実行される調理部が特定される。制御コマンドに、特定した調理部を示す特定調理部情報が含められる。したがって、第１調理部及び第２調理部のうち、特定調理部情報により示される特定した調理部において、調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。その結果、調理機器のなかの第１調理部又は第２調理部に対する操作指示が的確に実行されることとなる。
【００３５】
上記第１態様において、例えば、前記調理機器は、前記対応関係情報を管理し、前記対応関係情報および前記特定調理部情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、前記特定した調理部に前記操作指示に対応する処理を実行させてもよい。
【００３６】
本態様によれば、調理機器は、第１調理部と第１調理プログラムとの対応関係及び第２調理部と第２調理プログラムとの対応関係を示す対応関係情報を管理する。対応関係情報および特定調理部情報に基づいて、第１調理部及び第２調理部のうち操作指示に対応する処理が実行される調理部が特定される。特定された調理部は、操作指示に対応する処理を実行する。したがって、調理機器に送信された操作指示が、第１調理部又は第２調理部において的確に実行される。
【００３７】
上記第１態様において、例えば、前記表示装置は、前記調理機器に含まれてもよい。
【００３８】
上記第１態様において、例えば、前記表示装置は、前記調理機器とは異なる機器に含まれてもよい。
【００３９】
本開示の第２態様は、第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置とに接続され、ユーザの音声によって前記調理機器を制御する音声機器制御システムにおける機器制御方法であって、第１ネットワークを介して、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを前記調理機器へ送信し、前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく処理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、前記第１音声情報から前記操作指示を認識し、前記第１調理レシピにおいて使用される調理器具の名称を示す第１調理器具情報と前記第２調理レシピにおいて使用される調理器具の名称を示す第２調理器具情報とを管理するデータベースを用いて、前記指示情報に、前記第１調理器具情報または前記第２調理器具情報に関連する第２音声情報が含まれるか否かを判断し、前記指示情報に前記第２音声情報が含まれると判断された場合は、前記第１ネットワークを介して前記調理機器に、前記第２音声情報の関連する調理器具情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信するものである。
【００４０】
本態様によれば、第１ネットワークを介して、第１調理レシピに対応する第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する第２調理プログラムを示す第２調理プログラム情報とが調理機器に送信される。調理機器の中の第１調理部において第１調理プログラムに基づく処理が実行されており、且つ調理機器の中の第２調理部において第２調理プログラムに基づく処理が実行されているときに、音声入力装置から調理機器に対する操作指示を表す第１音声情報を含む指示情報が受信された場合、第１音声情報から操作指示が認識される。
【００４１】
第１調理レシピにおいて使用される調理器具の名称を示す第１調理器具情報と第２調理レシピにおいて使用される調理器具の名称を示す第２調理器具情報とを管理するデータベースを用いて、指示情報に、第１調理器具情報または第２調理器具情報に関連する第２音声情報が含まれるか否かが判断される。指示情報に第２音声情報が含まれると判断された場合は、第１ネットワークを介して調理機器に、第２音声情報の関連する調理器具情報に対応した調理プログラムによって実行される処理に代わって操作指示に対応する処理を実行させる制御コマンドが送信される。
【００４２】
したがって、例えば、指示情報に第１調理器具情報に関連する第２音声情報が含まれると判断された場合は、第１調理部では、第１調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。また、例えば、指示情報に第２調理器具情報に関連する第２音声情報が含まれると判断された場合は、第２調理部では、第２調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。その結果、調理機器のなかの第１調理部又は第２調理部に対する操作指示が的確に実行されることとなる。
【００４３】
上記第２態様において、例えば、前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を実行できない旨を示すエラーメッセージをユーザに対して通知してもよい。
【００４４】
上記第２態様において、例えば、前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、前記エラーメッセージは、前記表示装置のディスプレイに表示されてもよい。
【００４５】
上記第２態様において、例えば、前記音声機器制御システムはさらに、音声を出力可能な音声出力装置と接続され、前記エラーメッセージは、前記音声出力装置を用いてユーザに通知されてもよい。
【００４６】
上記第２態様において、例えば、前記指示情報に前記第２音声情報が含まれないと判断された場合は、前記操作指示に対応する処理を、前記調理機器において実行されている前記第１調理プログラム及び前記第２調理プログラムの全てのプログラムに基づく処理に代わって、実行させてもよい。
【００４７】
上記第２態様において、例えば、前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理を中断させるキャンセル指示であってもよい。
【００４８】
上記第２態様において、例えば、前記操作指示は、前記調理機器において前記第１調理プログラム又は前記第２調理プログラムによって実行されている処理とは調理パラメータの異なる処理を実行させる指示であってもよい。
【００４９】
上記第２態様において、例えば、前記音声機器制御システムはさらに、ディスプレイを有する表示装置と接続され、第２ネットワークを介して、前記第１調理レシピ及び前記第２調理レシピを含む二以上の調理レシピを提供する表示画面を表す表示画面情報を、前記表示装置へ送信し、前記第２ネットワークを介して前記表示装置から、前記表示装置において前記第１調理レシピが選択された旨を示す第１調理レシピ選択情報と、前記表示装置において前記第２調理レシピが選択された旨を示す第２調理レシピ選択情報とをそれぞれ受信してもよい。
【００５０】
上記第２態様において、例えば、前記第１調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第１調理レシピ選択情報を受信すると、前記表示装置を介して行われ、前記第２調理プログラム情報の前記調理機器への送信は、前記表示装置から前記第２調理レシピ選択情報を受信すると、前記表示装置を介して行われてもよい。
【００５１】
上記第２態様において、例えば、前記データベースは、前記第１調理部と前記第１調理プログラムとの対応関係及び前記第２調理部と前記第２調理プログラムとの対応関係を示す対応関係情報を含み、前記対応関係情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、前記制御コマンドに、前記特定した調理部を示す特定調理部情報を含めてもよい。
【００５２】
上記第２態様において、例えば、前記調理機器は、前記対応関係情報を管理し、前記対応関係情報および前記特定調理部情報に基づいて、前記第１調理部及び前記第２調理部のうち前記操作指示に対応する処理が実行される調理部を特定し、前記特定した調理部に前記操作指示に対応する処理を実行させてもよい。
【００５３】
上記第２態様において、例えば、前記表示装置は、前記調理機器に含まれてもよい。
【００５４】
上記第２態様において、例えば、前記表示装置は、前記調理機器とは異なる機器に含まれてもよい。
【００５５】
本開示の第３態様は、第１調理プログラムを実行可能な第１調理部及び前記第１調理プログラムと異なる第２調理プログラムを実行可能な第２調理部を有する調理機器と、ユーザの音声を入力する音声入力装置と、前記調理機器および前記音声入力装置に接続可能なサーバとを含み、ユーザの音声によって前記調理機器を制御する音声機器制御システムであって、前記調理機器は、第１調理レシピに対応する前記第１調理プログラムを示す第１調理プログラム情報と、第２調理レシピに対応する前記第２調理プログラムを示す第２調理プログラム情報とを受信する第１通信部と、前記第１調理プログラムに基づく処理を前記第１調理部に実行させ、前記第２調理プログラムに基づく処理を前記第１調理部に実行させる第２制御部と、を備え、前記音声入力装置は、前記調理機器に対する操作指示を表す第１音声情報を含む指示情報を取得する音声取得部と、前記取得された指示情報を前記サーバへ送信する第２通信部と、を備え、前記サーバは、前記調理機器へ前記第１調理プログラム情報と前記第２調理プログラム情報とを送信する第３通信部と、前記第１調理レシピの調理メニュー名を示す第１調理メニュー情報と前記第２調理レシピの調理メニュー名を示す第２調理メニュー情報とを管理するデータベースと、前記調理機器の中の前記第１調理部において前記第１調理プログラムに基づく調理が実行されており、且つ前記調理機器の中の前記第２調理部において前記第２調理プログラムに基づく処理が実行されているときに、前記音声入力装置から前記指示情報を受信した場合、前記受信した指示情報に含まれる前記第１音声情報から前記操作指示を認識し、前記指示情報に、前記第１調理メニュー情報または前記第２調理メニュー情報に関連する第２音声情報が含まれるか否かを判断する判断部と、前記指示情報に前記第２音声情報が含まれると判断された場合は、前記調理機器に、前記第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって前記操作指示に対応する処理を実行させる制御コマンドを送信する第４通信部と、を備えるものである。
【００５６】
本態様によれば、調理機器の中の第１調理部において第１調理プログラムに基づく処理が実行されており、且つ調理機器の中の第２調理部において第２調理プログラムに基づく処理が実行されているときに、音声入力装置から調理機器に対する操作指示を表す第１音声情報を含む指示情報を受信した場合、受信した指示情報に含まれる第１音声情報から操作指示が認識される。指示情報に、第１調理メニュー情報または第２調理メニュー情報に関連する第２音声情報が含まれるか否かが判断される。
【００５７】
指示情報に第２音声情報が含まれると判断された場合は、調理機器に、第２音声情報の関連する調理メニュー情報に対応した調理プログラムによって実行される処理に代わって操作指示に対応する処理を実行させる制御コマンドが送信される。
【００５８】
したがって、例えば、指示情報に第１調理メニュー情報に関連する第２音声情報が含まれると判断された場合は、第１調理部では、第１調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。また、例えば、指示情報に第２調理メニュー情報に関連する第２音声情報が含まれると判断された場合は、第２調理部では、第２調理プログラムによって実行されている処理に代わって、操作指示に対応する処理が実行される。その結果、調理機器のなかの第１調理部又は第２調理部に対する操作指示が的確に実行されることとなる。
【００５９】
本開示の第４態様は、上記第３態様の音声機器制御システムにおいて用いられる調理機器である。
【００６０】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００６１】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００６２】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００６３】
（提供するサービスの全体像）
まず、本実施の形態における音声機器制御システムが提供するサービスの全体像について説明する。
【００６４】
図１Ａは、本実施の形態における音声機器制御システムが提供するサービスの全体像を示す図である。音声機器制御システムは、グループ４１００、データセンタ運営会社４１１０及びサービスプロバイダ４１２０を備える。
【００６５】
グループ４１００は、例えば企業、団体又は家庭等であり、その規模を問わない。グループ４１００は、第１の家電機器及び第２の家電機器を含む複数の家電機器１０１およびホームゲートウェイ４１０２を備える。複数の家電機器１０１は、インターネットと接続可能な機器（例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）又はテレビ受像機等）を含む。また、複数の家電機器１０１は、それ自身ではインターネットと接続不可能な機器（例えば、照明、洗濯機又は冷蔵庫等）を含む。複数の家電機器１０１は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ４１０２を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザ４２００は、グループ４１００内の複数の家電機器１０１を使用する。
【００６６】
データセンタ運営会社４１１０は、クラウドサーバ４１１１を備える。クラウドサーバ４１１１は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ４１１１は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ（ビッグデータ）等を管理する。データセンタ運営会社４１１０は、データの管理及びクラウドサーバ４１１１の管理を行うデータセンタの運営等を行っている。データセンタ運営会社４１１０が行っている役務の詳細については後述する。
【００６７】
ここで、データセンタ運営会社４１１０は、データの管理及びクラウドサーバ４１１１の管理を行うデータセンタの運営等のみを行っている会社に限らない。
【００６８】
図１Ｂ、図１Ｃは、データセンタ運営会社４１１０の一例を示す図である。例えば、図１Ｂに示すように、複数の家電機器１０１のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ４１１１の管理等を行っている場合は、機器メーカがデータセンタ運営会社４１１０に該当する。また、データセンタ運営会社４１１０は一つの会社に限らない。例えば、図１Ｃに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ４１１１の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社４１１０に該当する。
【００６９】
サービスプロバイダ４１２０は、サーバ１２１を備える。ここで言うサーバ１２１とは、その規模は問わず、例えば、個人用ＰＣ内のメモリ等も含む。また、サービスプロバイダ４１２０がサーバ１２１を備えていない場合もある。この場合、サービスプロバイダ４１２０は、サーバ１２１の機能を果たす別の装置を備えてもよい。
【００７０】
なお、上記の音声機器制御システムにおいて、ホームゲートウェイ４１０２は必須ではない。ホームゲートウェイ４１０２は、家電機器１０１をインターネットに接続可能にするための装置である。そこで、例えば、グループ４１００内の全ての家電機器１０１がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合は、ホームゲートウェイ４１０２は不要となる。
【００７１】
次に、図１Ａを用いて上記の音声機器制御システムにおける情報の流れが説明される。
【００７２】
まず、グループ４１００の第１の家電機器又は第２の家電機器は、各ログ情報をデータセンタ運営会社４１１０のクラウドサーバ４１１１にそれぞれ送信する。クラウドサーバ４１１１は、第１の家電機器又は第２の家電機器のログ情報を集積する（図１Ａの矢印１３１）。ここで、ログ情報とは、複数の家電機器１０１の例えば運転状況又は動作日時等を示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、又は冷蔵庫の開閉回数などを含む。ログ情報は、これらの情報に限らず、種々の家電機器１０１から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の家電機器１０１自体から直接クラウドサーバ４１１１に提供されてもよい。また、ログ情報は、複数の家電機器１０１から一旦ホームゲートウェイ４１０２に集積され、ホームゲートウェイ４１０２からクラウドサーバ４１１１に提供されてもよい。
【００７３】
次に、データセンタ運営会社４１１０のクラウドサーバ４１１１は、集積したログ情報を一定の単位でサービスプロバイダ４１２０に提供する。ここで、「一定の単位」は、データセンタ運営会社４１１０が集積した情報を整理してサービスプロバイダ４１２０に提供することのできる単位でもよいし、サービスプロバイダ４１２０が要求する単位でもよい。また、「一定の単位」で提供するとしているが、情報量は一定でなくてもよい。例えば、状況に応じて提供する情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ４１２０が保有するサーバ１２１に保存される（図１Ａの矢印１３２）。
【００７４】
そして、サービスプロバイダ４１２０は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の家電機器１０１を使用するユーザ４２００でもよいし、外部のユーザ４２１０でもよい。ユーザ４２００，４２１０への情報提供方法としては、例えば、サービスプロバイダ４１２０から直接ユーザ４２００，４２１０へ情報が提供されてもよい（図１Ａの矢印１３３，１３４）。また、ユーザ４２００への情報提供方法としては、例えば、データセンタ運営会社４１１０のクラウドサーバ４１１１を再度経由して、ユーザ４２００に情報が提供されてもよい（図１Ａの矢印１３５，１３６）。また、データセンタ運営会社４１１０のクラウドサーバ４１１１は、ログ情報をユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ４１２０に提供してもよい。
【００７５】
なお、ユーザ４２００は、ユーザ４２１０と異なっていても同一であってもよい。
【００７６】
（実施の形態１）
図２は、実施の形態１に係る音声機器制御システムの構成を示す図である。図２を用いて、実施の形態１に係る音声機器制御システムの構成が説明される。
【００７７】
図２に示す音声機器制御システムは、音声入出力装置２４０と、複数の家電機器１０１と、表示端末２６０と、ゲートウェイ１０２と、情報通信ネットワーク２２０と、クラウドサーバ１１１とを含む。家電機器１０１は、オーブンレンジ２４３、誘導加熱（ＩＨ）調理器２４４、冷蔵庫２４５を含む。なお、複数の家電機器１０１は、オーブンレンジ２４３、ＩＨ調理器２４４、冷蔵庫２４５に代えて、又はこれらの機器に加えて、他の任意の機器を含んでもよい。
【００７８】
音声入出力装置２４０（音声入力装置の一例）は、ユーザ２５０の音声を取得する音声取得部と、ユーザ２５０に音声を出力する音声出力部とを含む。グループ１００は、音声入出力装置２４０が情報提供可能な空間（つまり音声対話可能な空間）である。グループ１００は、例えばユーザ２５０の自宅である。
【００７９】
音声入出力装置２４０は、ユーザ２５０の音声を認識する。音声入出力装置２４０は、音声入力によるユーザ２５０の指示に応じて、音声情報を提示すると共に、複数の家電機器１０１を制御する。より具体的には、音声入出力装置２４０は、音声入力によるユーザ２５０の指示に従いコンテンツを読み上げたり、ユーザ２５０の質問に回答したり、家電機器１０１を制御したりする。
【００８０】
表示端末２６０（表示装置の一例）は、ユーザ２５０が機器制御を指示する入力機能と、ユーザ２５０に情報を提供する情報出力機能とを有する。表示端末２６０への入力機能は、タッチパネルによって実現されてもよいし、プッシュボタンにより実現されてもよい。表示端末２６０は、携帯電話、スマートフォン又はタブレット装置であってもよい。
【００８１】
表示端末２６０、音声入出力装置２４０、及び複数の家電機器１０１と、ゲートウェイ１０２との接続は、有線又は無線を用いることができる。また、音声入出力装置２４０及び複数の家電機器１０１のうち少なくとも一部が一体化されていてもよい。
【００８２】
図３は、音声入出力装置２４０のハードウェア構成を示すブロック図である。図３を用いて、音声入出力装置２４０のハードウェア構成が説明される。
【００８３】
図３に示すように音声入出力装置２４０は、処理回路３００、集音回路３０１、音声出力回路３０２および通信回路３０３を有している。これらはバス３３０で相互に接続されており、データ又は命令の授受を行うことが可能である。
【００８４】
処理回路３００は、ＣＰＵ３１０と、メモリ３２０とを含む。あるいは、処理回路３００は、ＣＰＵ３１０及びメモリ３２０に代えて、以下に説明する動作を実現するように構成された専用のハードウェアを含んでもよい。メモリ３２０は、機器ＩＤ３４１およびコンピュータプログラム３４２を格納する。
【００８５】
機器ＩＤ３４１は、音声入出力装置２４０に一意に付与された識別子である。機器ＩＤ３４１は、メーカによって独自に付与されてもよいし、あるいは、原則としてネットワーク上で一意に割り当てられる物理アドレス（いわゆるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス）であってもよい。
【００８６】
集音回路３０１は、ユーザの音声を収集してアナログ音声信号を生成する。集音回路３０１は、生成したアナログ音声信号をデジタルデータに変換してバス３３０に送信する。
【００８７】
音声出力回路３０２は、バス３３０を通じて受信したデジタルデータをアナログ音声信号に変換する。音声出力回路３０２は、変換したアナログ音声信号を出力する。
【００８８】
通信回路３０３は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路３０３は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路３０３は、処理回路３００によって生成されたログ情報又はＩＤ情報をゲートウェイ１０２に送信する。通信回路３０３は、ゲートウェイ１０２より受信した信号を、バス３３０を通じて処理回路３００に送信する。
【００８９】
音声入出力装置２４０は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【００９０】
図４は、家電機器１０１の一例である調理機器４００のハードウェア構成を示すブロック図である。図４を用いて、調理機器４００のハードウェア構成が説明される。オーブンレンジ２４３、ＩＨ調理器２４４、冷蔵庫２４５は、調理機器４００の一例である。
【００９１】
調理機器４００は、入出力回路４１０と、通信回路４５０と、処理回路４７０とを有している。これらはバス４６０で相互に接続されており、データ又は命令の授受を行うことが可能である。
【００９２】
処理回路４７０は、ＣＰＵ４３０と、メモリ４４０とを含む。あるいは、処理回路４７０は、ＣＰＵ４３０及びメモリ４４０に代えて、以下に説明する動作を実現するように構成された専用のハードウェアを含んでもよい。メモリ４４０は、機器ＩＤ４４１、コンピュータプログラム４４２、及び調理プログラムＩＤ４４３を格納する。
【００９３】
機器ＩＤ４４１は、調理機器４００に一意に付与された識別子である。調理プログラムＩＤ４４３は、調理プログラムに一意に付与された識別子である。機器ＩＤ４４１及び調理プログラムＩＤ４４３は、メーカによって独自に付与されてもよいし、あるいは、原則としてネットワーク上で一意に割り当てられる物理アドレス（いわゆるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス）であってもよい。
【００９４】
入出力回路４１０は、処理回路４７０が処理した結果を出力する。入出力回路４１０は、入力されたアナログ信号をデジタルデータに変換してバス４６０に送信する。例えば入出力回路４１０が表示機能を有する場合には、入出力回路４１０は、処理回路４７０が処理した結果を表示する。この場合、表示機能を有する入出力回路４１０（表示装置の一例）を含む調理機器４００は、表示端末２６０の機能を有するように構成してもよい。
【００９５】
通信回路４５０は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路４５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路４５０は、処理回路４７０によって生成されたログ情報又はＩＤ情報をゲートウェイ１０２に送信する。通信回路４５０は、ゲートウェイ１０２より受信した信号を、バス４６０を通じて処理回路４７０に送信する。
【００９６】
調理機器４００は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【００９７】
図５は、表示端末２６０のハードウェア構成を示すブロック図である。図５に示されるように、表示端末２６０は、表示制御回路５００と、表示回路５０２と、通信回路５０５と、処理回路５１０とを有している。これらはバス５２５で相互に接続されており、データ又は命令の授受を行うことが可能である。
【００９８】
表示回路５０２は、液晶などを含む。表示回路５０２は、アイコンまたは操作ボタンなどのオブジェクト画像、文字画像などの画像を表示する。表示制御回路５００は、表示回路５０２の動作を制御して表示回路５０２に画像を表示させる。
【００９９】
通信回路５０５は、ネットワークを介して他の機器（例えば音声入出力装置２４０及び調理機器４００等）と通信を行う回路である。通信回路５０５は、例えばイーサネット（登録商標）規格又は近距離無線通信規格に準拠した通信を行う。通信回路５０５は、処理回路５１０によって生成されたログ情報又はＩＤ情報を音声入出力装置２４０又は調理機器４００に送信する。通信回路５０５は、音声入出力装置２４０又は調理機器４００より受信した信号を、バス５２５を通じて処理回路５１０に送信する。
【０１００】
処理回路５１０は、ＣＰＵ５１５と、メモリ５２０とを含む。あるいは、処理回路５１０は、ＣＰＵ５１５及びメモリ５２０に代えて、以下に説明する動作を実現するように構成された専用のハードウェアを含んでもよい。メモリ５２０は、表示端末ＩＤ５２１、コンピュータプログラム５２２、及び調理プログラムＩＤ５２３を格納する。表示端末ＩＤ５２１は、表示端末２６０に一意に付与された識別子である。調理プログラムＩＤ５２３は、調理プログラムＩＤ４４３と同様に、調理プログラムに一意に付与された識別子である。
【０１０１】
表示端末２６０は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【０１０２】
なお、図５では、コンピュータプログラム５２２が格納されているメモリ５２０に表示端末ＩＤ５２１及び調理プログラムＩＤ５２３が格納されているとした。しかしながらこれは一例である。コンピュータプログラム５２２がＲＡＭまたはＲＯＭに格納され、表示端末ＩＤ５２１及び調理プログラムＩＤ５２３がフラッシュメモリに格納されてもよい。
【０１０３】
図６は、ゲートウェイ１０２のハードウェア構成を示すブロック図である。ゲートウェイ１０２は、通信回路５５０と、処理回路５７０とを有している。これらはバス５６０で相互に接続されており、データ又は命令の授受を行うことが可能である。
【０１０４】
通信回路５５０は、ネットワークを介して他の機器（例えば音声入出力装置２４０及び調理機器４００等）と通信を行う回路である。通信回路５５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信回路５５０は、処理回路５７０によって生成されたログ情報又はＩＤ情報を音声入出力装置２４０又は調理機器４００に送信する。また通信回路５５０は、音声入出力装置２４０又は調理機器４００より受信した信号を、バス５６０を通じて処理回路５７０に送信する。
【０１０５】
処理回路５７０は、ＣＰＵ５３０と、メモリ５４０とを含む。あるいは、処理回路５７０は、ＣＰＵ５３０及びメモリ５４０に代えて、以下に説明する動作を実現するように構成された専用のハードウェアを含んでもよい。メモリ５４０は、ゲートウェイＩＤ５４１およびコンピュータプログラム５４２を格納する。ゲートウェイＩＤ５４１は、ゲートウェイ１０２に一意に付与された識別子である。ゲートウェイ１０２は、図示される構成要素以外にも、その機器に要求される機能を実現するための構成要素も含み得る。
【０１０６】
なお、図６では、コンピュータプログラム５４２が格納されているメモリ５４０にゲートウェイＩＤ５４１が格納されているとした。しかしながらこれは一例である。コンピュータプログラム５４２がＲＡＭまたはＲＯＭに格納され、ゲートウェイＩＤ５４１がフラッシュメモリに格納されてもよい。
【０１０７】
図７は、クラウドサーバ１１１のハードウェア構成を示すブロック図である。クラウドサーバ１１１は、通信回路６５０と、処理回路６７０と、音声認識データベース（ＤＢ）６００と、機器状態管理ＤＢ６２０（データベースの一例）と、発話理解辞書ＤＢ６２５と、機器機能ＤＢ６３０と、調理プログラムＤＢ６４０とを備えている。処理回路６７０は、ＣＰＵ６７１と、コンピュータプログラム６７３を格納したメモリ６７２とを有している。これらの構成要素は、バス６８０で接続されており、相互にデータを授受することが可能である。
【０１０８】
処理回路６７０は、音声認識ＤＢ６００、機器状態管理ＤＢ６２０、発話理解辞書ＤＢ６２５、機器機能ＤＢ６３０および調理プログラムＤＢ６４０にバス６８０で接続されている。処理回路６７０は、それらのデータベースに格納された管理情報の取得や編集を行う。
【０１０９】
なお、本実施形態では、音声認識ＤＢ６００、機器状態管理ＤＢ６２０、発話理解辞書ＤＢ６２５、機器機能ＤＢ６３０および調理プログラムＤＢ６４０は、クラウドサーバ１１１の内部の要素であるが、クラウドサーバ１１１の外部に設けられていてもよい。その場合には、バス６８０に加えて、インターネット回線が含まれ得る。
【０１１０】
通信回路６５０は、ネットワークを介して他の通信機器（例えばゲートウェイ１０２）と通信を行う回路である。通信回路６５０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【０１１１】
ＣＰＵ６７１は、クラウドサーバ１１１の動作を制御する。ＣＰＵ６７１は、メモリ６７２に展開されたコンピュータプログラム６７３に記述された命令群を実行する。これにより、ＣＰＵ６７１は、種々の機能を実現することができる。コンピュータプログラム６７３には、クラウドサーバ１１１が後述する動作を実現するための命令群が記述されている。
【０１１２】
上述のコンピュータプログラム６７３は、ＣＤ−ＲＯＭ等の記録媒体に記録されて製品として市場に流通され、または、インターネット等の電気通信回線を通じて伝送され得る。図７に示すハードウェアを備えた機器（例えばＰＣ）は、当該コンピュータプログラム６７３を読み込むことにより、本実施形態によるクラウドサーバ１１１として機能し得る。
【０１１３】
なお、ＣＰＵ６７１、コンピュータプログラム６７３を格納したメモリ６７２は、１つの半導体回路にコンピュータプログラムを組み込んだＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のハードウェアとして実現されてもよい。そのようなＤＳＰは、１つの集積回路で上述のコンピュータプログラム６７３を実行するＣＰＵ６７１によって行われる全ての処理を実現することができる。図７に示すＣＰＵ６７１およびメモリ６７２に代えて、そのようなＤＳＰを処理回路６７０として用いてもよい。
【０１１４】
音声認識ＤＢ６００は、音声認識のための音響モデル及び言語モデルを格納する。機器状態管理ＤＢ６２０、発話理解辞書ＤＢ６２５、機器機能ＤＢ６３０および調理プログラムＤＢ６４０については、後に詳述される。
【０１１５】
図８は、音声入出力装置２４０のシステム構成を示すブロック図である。音声入出力装置２４０は、集音部１０００と、音声検出部１０１０と、音声区間切り出し部１０２０と、通信部１０３０と、音声出力部１０４０とを備える。
【０１１６】
集音部１０００は、集音回路３０１に対応する。集音部１０００は、ユーザの音声を収集してアナログ音声信号を生成する。集音部１０００は、生成したアナログ音声信号をデジタルデータに変換し、音声信号を生成する。
【０１１７】
音声検出部１０１０と、音声区間切り出し部１０２０とは、処理回路３００により実現される。コンピュータプログラム３４２を実行するＣＰＵ３１０は、ある時点では、たとえば音声検出部１０１０として機能し、異なる他の一時点では、音声区間切り出し部１０２０として機能する。なお、これら２つの構成要素のうち、少なくとも１つが、ＤＳＰなどの専用の処理を行うハードウェアによって実現されてもよい。
【０１１８】
音声検出部１０１０は、音声を検出したか否かを判定する。例えば集音部１０００において生成された音声信号のレベル（例えば音声信号の振幅）が所定値以下の場合には、音声検出部１０１０は、音声を検出していないと判断する。
【０１１９】
音声区間切り出し部１０２０は、取得した音声信号の中から音声が存在する区間を抽出する。集音部１０００、音声検出部１０１０及び音声区間切り出し部１０２０は、音声取得部の一例を構成する。
【０１２０】
通信部１０３０（第２通信部の一例）は、通信回路３０３に対応する。通信部１０３０は、ネットワークを介して他の通信機器（例えばゲートウェイ１０２）と通信を行う。通信部１０３０は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信部１０３０は、音声区間切り出し部１０２０が抽出した区間の音声信号を送信する。また通信部１０３０は、受信した音声信号を音声出力部１０４０に受け渡す。
【０１２１】
音声出力部１０４０は、音声出力回路３０２に対応する。音声出力部１０４０は、通信部１０３０が受信した音声信号をアナログ音声信号に変換する。音声出力部１０４０は、変換されたアナログ音声信号を出力する。
【０１２２】
図９は、調理機器４００のシステム構成を示すブロック図である。調理機器４００は、通信部９００と、機器制御部９１０と、第１調理部９１１と、第２調理部９１２とを備える。
【０１２３】
通信部９００（第１通信部の一例）は、通信回路４５０に対応する。通信部９００は、ネットワークを介して他の通信機器（例えばゲートウェイ１０２）と通信を行う。通信部９００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【０１２４】
機器制御部９１０（第２制御部の一例）は、入出力回路４１０と、処理回路４７０とに対応する。機器制御部９１０の処理回路４７０は、通信部９００により受信された制御データを読み込む。機器制御部９１０の処理回路４７０は、読み込んだ制御データを用いて、入出力回路４１０を制御する。
【０１２５】
機器制御部９１０は、通信部９００により受信された制御コマンドに従って、第１調理部９１１及び第２調理部９１２の動作を制御する。第１調理部９１１と第２調理部９１２とは、互いに異なる調理プログラムを同時に実行可能に構成されている。調理機器４００がＩＨ調理器２４４の場合には、第１調理部９１１は、例えば「ヒータ１」に対応し、第２調理部９１２は、例えば「ヒータ２」に対応する。調理機器４００がオーブンレンジ２４３の場合には、第１調理部９１１は、例えば「上段」に対応し、第２調理部９１２は、例えば「下段」に対応する。
【０１２６】
図１０は、ゲートウェイ１０２のシステム構成を示すブロック図である。ゲートウェイ１０２は、通信部８００と、受信データ解析部８１０と、送信データ生成部８２０とを備える。
【０１２７】
通信部８００は、通信回路５５０に対応する。通信部８００は、ネットワークを介して他の機器（例えば音声入出力装置２４０及び調理機器４００等）と通信を行う。通信部８００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。通信部８００は、受信したデータを受信データ解析部８１０に受け渡す。また、通信部８００は、送信データ生成部８２０が生成したデータを送信する。
【０１２８】
受信データ解析部８１０は、処理回路５７０に対応する。受信データ解析部８１０は、通信部８００が受信したデータの種別を解析する。受信データ解析部８１０は、受信したデータの種別を解析した結果、次に送信すべき機器（例えば音声入出力装置２４０又は調理機器４００）と、その機器に送信すべきデータとを決定する。
【０１２９】
送信データ生成部８２０は、処理回路５７０に対応する。送信データ生成部８２０は、受信データ解析部８１０が決定した、次に送信すべき機器と、その機器に送信すべきデータとから、送信データを生成する。
【０１３０】
図１１は、クラウドサーバ１１１のシステム構成を示すブロック図である。クラウドサーバ１１１は、通信部７００と、音声認識部７１０と、発話理解部７３０と、状態管理部７４０と、応答生成部７５０と、音声合成部７６０とを備える。
【０１３１】
通信部７００（第３通信部、第４通信部の一例）は、通信回路６５０に対応する。通信部７００は、ネットワークを介して他の機器（例えばゲートウェイ１０２）と通信を行う。通信部７００は、例えばイーサネット（登録商標）規格に準拠した通信を行う。
【０１３２】
音声認識部７１０は、処理回路６７０と音声認識ＤＢ６００とにより実現される。音声認識部７１０は、音声信号を文字列データに変換する。具体的には、音声認識部７１０は、予め登録された音響モデルの情報を音声認識ＤＢ６００より取得し、音響モデルと音声信号の周波数特性とを用いて、音声信号を音素データに変換する。また、音声認識部７１０は、予め登録された言語モデルの情報を音声認識ＤＢ６００より取得し、言語モデルを用いて、音素データの並び方から特定の文字列データを生成する。
【０１３３】
発話理解部７３０は、処理回路６７０と機器機能ＤＢ６３０と調理プログラムＤＢ６４０とにより実現される。発話理解部７３０は、文字列データから、コンテキストデータを抽出する。コンテキストデータとは、具体的には、制御対象となる機器名、献立名、調理器具名又はタスク内容を指す。発話理解部７３０は、文字列データと機器機能ＤＢ６３０および調理プログラムＤＢ６４０とを照合することで、コンテキストデータを抽出する。
【０１３４】
状態管理部７４０（判断部の一例）は、処理回路６７０と機器状態管理ＤＢ６２０と調理プログラムＤＢ６４０とにより実現される。状態管理部７４０は、コンテキストデータを入力として、機器状態管理ＤＢ６２０と調理プログラムＤＢ６４０とのデータを取得し、取得したデータを書き換えることで、機器状態管理ＤＢ６２０と調理プログラムＤＢ６４０とを更新する。
【０１３５】
応答生成部７５０は、処理回路６７０と、機器状態管理ＤＢ６２０と、機器機能ＤＢ６３０と、調理プログラムＤＢ６４０とにより実現される。応答生成部７５０は、機器状態管理ＤＢ６２０、機器機能ＤＢ６３０および調理プログラムＤＢ６４０を検索し、制御対象となる調理機器４００を制御する制御信号を生成する。応答生成部７５０は、機器機能ＤＢ６３０および調理プログラムＤＢ６４０を検索し、ユーザ２５０に提供すべき情報の文字列データを生成する。
【０１３６】
音声合成部７６０は、処理回路６７０と、音声認識ＤＢ６００とにより実現される。音声合成部７６０は、文字列データを音声信号に変換する。具体的には、音声合成部７６０は、予め登録された音響モデル、言語モデルの情報を音声認識ＤＢ６００より取得し、音響モデル及び言語モデルを用いて、文字列データを特定の音声信号に変換する。
【０１３７】
図１２は、発話理解部７３０の動作の一例を示すフローチャートである。図１３Ａ，１３Ｂは、発話理解辞書ＤＢ６２５の一例を示す図である。図１４は、発話理解部７３０により抽出されたコンテキストデータ１４００の一例を示す図である。図１４に示されるコンテキストデータ１４００は、ユーザの発話内容が「煮物の火を止めて」の場合の例を示す。
【０１３８】
発話理解辞書ＤＢ６２５は、図１３Ａ，１３Ｂに示されるように、単語ＩＤ、単語名、関連単語ＩＤ、種別、及び概念を、互いに関連付けて保持する。
【０１３９】
単語ＩＤは、単語名に登録されている単語に一意に付与された識別子である。例えば単語名「鍋」には、単語ＩＤ「Ｗ００１」が登録されている。関連単語ＩＤは、単語名に登録されている単語に関連する単語の単語ＩＤである。例えば単語名「ハンバーグ」の関連単語ＩＤには、単語名「挽肉」の単語ＩＤ「Ｗ０３０」が登録されている。逆に、単語名「挽肉」の関連単語ＩＤには、単語名「ハンバーグ」の単語ＩＤ「Ｗ０１０」が登録されている。
【０１４０】
種別は、単語名に登録された単語の種別を表す。種別は、＜ｅｑｕｉｐｍｅｎｔ＞、＜ｍｅｎｕ＞、＜ｃａｔｅｇｏｒｙ＞、＜ｉｎｇｒｅｄｉｅｎｔ＞、＜ａｐｐｌｉａｎｃｅ＞、＜ｔａｓｋ＞を含む。種別＜ｅｑｕｉｐｍｅｎｔ＞は、調理器具を表す。種別＜ｍｅｎｕ＞は、献立を表す。種別＜ｃａｔｅｇｏｒｙ＞は、献立の大概念を表す。種別＜ｉｎｇｒｅｄｉｅｎｔ＞は、調理に用いられる材料名を表す。種別＜ａｐｐｌｉａｎｃｅ＞は、調理機器を表す。種別＜ｔａｓｋ＞は、動作などの指示を表す。
【０１４１】
例えば単語名「鍋」には、種別＜ｅｑｕｉｐｍｅｎｔ＞が登録されている。例えば単語名「ハンバーグ」には、種別＜ｍｅｎｕ＞が登録されている。例えば単語名「煮物」には、種別＜ｃａｔｅｇｏｒｙ＞が登録されている。例えば単語名「挽肉」には、種別＜ｉｎｇｒｅｄｉｅｎｔ＞が登録されている。例えば単語名「ＩＨ調理器」には、種別＜ａｐｐｌｉａｎｃｅ＞が登録されている。例えば単語名「止めて」には、種別＜ｔａｓｋ＞が登録されている。
【０１４２】
概念は、単語名に登録された単語の論理記号を表す。概念は、単語名に登録された単語と１対１に対応する。例えば単語名「煮物」には、概念＜ｓｔｅｗｅｄ＞が登録されている。例えば単語名「オーブンレンジ」には、概念＜ｓｔｏｖｅ＞が登録されている。例えば単語名「止めて」には、概念＜ｓｔｏｐ＿ｈｅａｔ＞が登録されている。
【０１４３】
図１２の処理は、音声認識部７１０が、ユーザの発話内容の音声信号を文字列データに変換した直後に発話理解部７３０によって開始される。
【０１４４】
Ｓ１２０１において、クラウドサーバ１１１の発話理解部７３０は、ユーザの発話内容の文字列（つまり音声認識部７１０から出力される文字列データ）と、発話理解辞書ＤＢ６２５の単語名の一覧とを照合する。ステップＳ１２０２において、発話理解部７３０は、文字列の全体または一部と一致する全ての単語名の「種別」及び「概念」をコンテキストデータとして出力する。図１４に示されるように、コンテキストデータは、テーブル形式で出力される。
【０１４５】
図１４の例では、発話理解部７３０は、発話内容「煮物の火を止めて」のうち、単語名「煮物」と単語名「止めて」とが、発話理解辞書ＤＢ６２５の単語名に一致すると判断する。発話理解部７３０は、図１３Ａ，１３Ｂから分かるように、単語名「煮物」の単語ＩＤ「Ｗ０２０」、種別＜ｃａｔｅｇｏｒｙ＞及び概念＜ｓｔｅｗｅｄ＞と、単語名「止めて」の単語ＩＤ「Ｗ１００」、種別＜ｔａｓｋ＞及び概念＜ｓｔｏｐ＿ｈｅａｔ＞とを、コンテキストデータ１４００として出力する。
【０１４６】
Ｓ１２０３において、発話理解部７３０は、各単語名に関連単語ＩＤがあるか否かを判断する。各単語名に関連単語ＩＤがなければ（Ｓ１２０３でＮＯ）、図１２の処理は終了する。一方、各単語名に関連単語ＩＤがあれば（Ｓ１２０３でＹＥＳ）、発話理解部７３０は、関連単語ＩＤに関連付けられた「単語名」、「種別」、「概念」をコンテキストデータとして出力する。
【０１４７】
図１４の例では、発話理解部７３０は、図１３Ａ，１３Ｂから分かるように、単語名「止めて」には関連単語ＩＤは無いと判断し、単語名「煮物」には関連単語ＩＤがあると判断する。そして、発話理解部７３０は、単語名「煮物」の関連単語ＩＤ「Ｗ０１１」に関連付けられた単語名「ビーフシチュー」、種別＜ｍｅｎｕ＞及び概念＜ｂｅｅｆ＿ｓｔｅｗ＞と、関連単語ＩＤ「Ｗ０１２」に関連付けられた単語名「筑前煮」、種別＜ｍｅｎｕ＞及び概念＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞とを、コンテキストデータとして出力する。その結果、発話理解部７３０から、図１４に示されるコンテキストデータ１４００が出力される。
【０１４８】
図１７は、機器状態管理ＤＢ６２０の具体例を示す図である。機器状態管理ＤＢ６２０は、たとえばゲートウェイＩＤ（ＧＷ−ＩＤ）、機器ＩＤ、機器名＜ａｐｐｌｉａｎｃｅ＞、動作中調理プログラムＩＤ、動作中調理ステップＩＤ、調理器具名＜ｅｑｕｉｐｍｅｎｔ＞、献立名＜ｍｅｎｕ＞、及び機器の動作状態を、互いに関連付けて保持する。
【０１４９】
ゲートウェイＩＤは、ゲートウェイ１０２に一意に付与された識別子である。図１７の例では、ゲートウェイＩＤには「Ｇ００１」と「Ｇ００２」とが登録されている。
【０１５０】
機器ＩＤは、調理機器４００に含まれる個別の調理部に対してそれぞれ一意に付与された識別子である。図１７の例では、ＩＨ調理器２４４の「ヒータ１」に対して機器ＩＤ「Ｍ０１−０１」が登録され、ＩＨ調理器２４４の「ヒータ２」に対して機器ＩＤ「Ｍ０１−０２」が登録され、ＩＨ調理器２４４の「ヒータ３」に対して機器ＩＤ「Ｍ０１−０３」が登録されている。また、オーブンレンジ２４３の「上段」に対して機器ＩＤ「Ｍ０２−０１」が登録され、オーブンレンジ２４３の「下段」に対して機器ＩＤ「Ｍ０２−０２」が登録されている。
【０１５１】
機器名＜ａｐｐｌｉａｎｃｅ＞は、調理機器４００を表す論理記号である。機器名＜ａｐｐｌｉａｎｃｅ＞は、調理機器４００と１対１に対応している。図１７の例では、ＩＨ調理器２４４のヒータ１，２，３に対して、それぞれ、機器名＜ｉｈ＿ｈｅａｔｅｒ＞が登録されている。また、オーブンレンジ２４３の上段及び下段に対して、それぞれ、機器名＜ｓｔｏｖｅ＞が登録されている。
【０１５２】
動作中調理プログラムＩＤは、現在動作中の調理プログラムの識別子である。図１７の例では、現在、調理プログラムＩＤ「Ｔ００１」、「Ｔ００２」、「Ｔ００３」の調理プログラムが動作している。動作中調理ステップＩＤは、現在動作中の調理プログラムにおける個別の調理ステップの識別子である。図１７の例では、現在、調理プログラムＩＤ「Ｔ００１」の調理は、調理ステップＩＤ「Ｓ００１」の調理ステップが行われており、調理プログラムＩＤ「Ｔ００２」の調理は、調理ステップＩＤ「Ｓ００２」の調理ステップが行われており、調理プログラムＩＤ「Ｔ００３」の調理は、調理ステップＩＤ「Ｓ００２」の調理ステップが行われている。
【０１５３】
調理器具名＜ｅｑｕｉｐｍｅｎｔ＞は、調理プログラムにおいて用いられる調理器具を表す。図１７の例では、調理プログラムＩＤ「Ｔ００１」の調理には、＜ｐｏｔ＞が用いられており、調理プログラムＩＤ「Ｔ００２」の調理には、＜ｐａｎ＞が用いられており、調理プログラムＩＤ「Ｔ００３」の調理には、＜ｇｒａｔｉｎ＿ｐｌａｔｅ＞が用いられている。
【０１５４】
献立名＜ｍｅｎｕ＞は、現在調理されている献立を表す。図１７の例では、調理プログラムＩＤ「Ｔ００１」の献立は、＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞であり、調理プログラムＩＤ「Ｔ００２」の献立は、＜ｈａｍｂｕｒｇ＞であり、調理プログラムＩＤ「Ｔ００３」の献立は、＜ｇｒａｔｉｎ＞である。
【０１５５】
機器の動作状態は、機器が現在動作中であるか停止中であるか等を表す。図１７の例では、ＩＨ調理器２４４の「ヒータ１」は、機器の動作状態「停止中」であり、ＩＨ調理器２４４の「ヒータ２」は、機器の動作状態「動作中（弱火）」であり、オーブンレンジ２４３の「上段」は、機器の動作状態「動作中（残り時間２分）」である。
【０１５６】
上述のように、ＩＨ調理器２４４は、「ヒータ１」、「ヒータ２」、「ヒータ３」の３つの調理部を有する。これらの３つの調理部は、それぞれ異なる調理プログラムで同時に動作可能に構成されている。そこで、それぞれの調理部を特定するために、「ヒータ１」、「ヒータ２」、「ヒータ３」に対して、個別に機器ＩＤが登録されている。ＩＨ調理器２４４の「ヒータ１」は、第１調理部の一例であり、ＩＨ調理器２４４の「ヒータ２」は、第２調理部の一例である。
【０１５７】
同様に、オーブンレンジ２４３は、「上段」、「下段」の２つの調理部を有する。これらの２つの調理部は、それぞれ異なる調理プログラムで同時に動作可能に構成されている。そこで、それぞれの調理部を特定するために、「上段」、「下段」に対して、個別に機器ＩＤが登録されている。オーブンレンジ２４３の「上段」は、第１調理部の一例であり
、オーブンレンジ２４３の「下段」は、第２調理部の一例である。
【０１５８】
図１８は、機器機能ＤＢ６３０の具体例を示す図である。機器機能ＤＢ６３０は、たとえば機能ＩＤ、機器ＩＤ、タスクの内容＜ｔａｓｋ＞、制御コマンド、応答メッセージを、互いに関連付けて保持する。機能ＩＤは、機器ＩＤに登録されている調理部が有する各機能に対して一意に付与された識別子である。タスクの内容＜ｔａｓｋ＞は、機能ＩＤの機能に対するタスクを表す論理記号である。制御コマンドは、機能ＩＤの機能を行わせるための制御コマンドを表す。応答メッセージは、機能ＩＤの機能を行わせたときに発せられるメッセージを表す。
【０１５９】
図１８の例では、機能ＩＤ「Ｏ０１−０１−０１」は、機器ＩＤ「Ｍ０１−０１」の調理部、つまり、図１７よりＩＨ調理器２４４の「ヒータ１」の機能を表す。この機能に対応する、タスクの内容は＜ｂｅｇｉｎ＿ｈｅａｔ＞であり、制御コマンドは「ＣＭＤ＝０ｘＦＦＡ０５０５０」であり、応答メッセージは「ヒータ１をＯＮにしました」である。
【０１６０】
図１９Ａは、調理プログラムＤＢ６４０に含まれる献立リスト１９００の一例を示す図である。図１９Ｂは、調理プログラムＤＢ６４０に含まれる調理ステップリスト１９１０の一例を示す図である。図２０Ａは、調理プログラムＤＢ６４０に含まれるエラーメッセージリスト１９２０の一例を示す図である。図２０Ｂは、表示端末２６０の表示画面１９３０の一例を示す図である。
【０１６１】
図１９Ａに示されるように、調理プログラムＤＢ６４０の献立リスト１９００は、たとえば調理プログラムＩＤ、献立名＜ｍｅｎｕ＞、調理器具名＜ｅｑｕｉｐｍｅｎｔ＞、材料名＜ｉｎｇｒｅｄｉｅｎｔ＞、及びカテゴリー名＜ｃａｔｅｇｏｒｙ＞を、互いに関連付けて保持する。図１９Ａの例では、調理プログラムＩＤ「Ｔ００１」の、献立名は＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞であり、調理器具名は＜ｐｏｔ＞であり、材料名は＜ｃｈｉｋｅｎ＞，＜ｃａｒｒｏｔ＞等であり、カテゴリー名は＜ｓｔｅｗｅｄ＞である。
【０１６２】
図１９Ｂに示されるように、調理プログラムＤＢ６４０の調理ステップリスト１９１０は、たとえば調理プログラムＩＤ、調理ステップＩＤ、応答メッセージを、互いに関連付けて保持する。図１９Ｂの例では、調理プログラムＩＤ「Ｔ００１」の調理は、調理ステップＩＤ「Ｓ００１」、「Ｓ００２」等を含む。調理ステップＩＤ「Ｓ００２」の調理ステップには、応答メッセージ「お鍋を強火で温めてください」が登録されている。
【０１６３】
図２０Ａに示されるように、調理プログラムＤＢ６４０のエラーメッセージリスト１９２０は、たとえばエラーメッセージＩＤ、エラー種別、応答エラーメッセージを、互いに関連付けて保持する。図２０Ａの例では、エラーメッセージＩＤ「Ｅ００２」のエラー種別には、「該当カテゴリ・献立・材料なし」と登録されており、応答エラーメッセージには、「現在、○○は作っていません。」と登録されている。図２０ＡのエラーメッセージＩＤ「Ｅ００２」の場合、例えば図２０Ｂに示されるように、表示端末２６０は、「現在、クリームシチューは作っていません」との応答エラーメッセージを含む表示画面１９３０を表示する。
【０１６４】
図１５Ａ，１５Ｂは、クラウドサーバ１１１の状態管理部７４０の動作の一例を示すフローチャートである。状態管理部７４０は、まず、発話理解部７３０から出力されたコンテキストデータを取得する（Ｓ１５０１）。次に、状態管理部７４０は、取得したコンテキストデータにカテゴリ名又は材料名が含まれているか否かを判断する（Ｓ１５０２）。コンテキストデータにカテゴリ名又は材料名が含まれていないと判断されると（Ｓ１５０２でＮＯ）、状態管理部７４０は、処理をＳ１５０６に進める。
【０１６５】
一方、コンテキストデータにカテゴリ名又は材料名が含まれていると判断されると（Ｓ１５０２でＹＥＳ）、状態管理部７４０は、そのカテゴリ名又は材料名と、調理プログラムＤＢ６４０とを照合する（Ｓ１５０３）。状態管理部７４０は、該当するカテゴリ名又は材料名が調理プログラムＤＢ６４０に登録されているか否かを判断する（Ｓ１５０４）。該当するカテゴリ名又は材料名が調理プログラムＤＢ６４０に登録されていないと判断されると（Ｓ１５０４でＮＯ）、状態管理部７４０は、処理をＳ１５１３に進める。
【０１６６】
一方、該当するカテゴリ名又は材料名が調理プログラムＤＢ６４０に登録されていると判断されると（Ｓ１５０２でＹＥＳ）、状態管理部７４０は、関連する献立名と調理器具名とを出力して（Ｓ１５０５）、処理をＳ１５０６に進める。
【０１６７】
Ｓ１５０６において、状態管理部７４０は、Ｓ１５０２でＮＯであった場合には、コンテキストデータにおける機器名、献立名又は調理器具名と機器状態管理ＤＢ６２０とを照合する。また、Ｓ１５０６において、状態管理部７４０は、Ｓ１５０５から進んだ場合には、Ｓ１５０５で出力された献立名、調理器具名と、機器状態管理ＤＢ６２０とを照合する。
【０１６８】
Ｓ１５０７において、状態管理部７４０は、機器状態管理ＤＢ６２０に、該当する機器名、献立名、または調理器具名が登録されているか否かを判断する。該当する機器名、献立名又は調理器具名が、機器状態管理ＤＢ６２０に登録されていないと判断されると（Ｓ１５０７でＮＯ）、状態管理部７４０は、処理をＳ１５１３に進める。
【０１６９】
一方、該当する機器名、献立名又は調理器具名が、機器状態管理ＤＢ６２０に登録されていると判断されると（Ｓ１５０７でＹＥＳ）、状態管理部７４０は、機器状態管理ＤＢ６２０から機器ＩＤを取得する（Ｓ１５０８）。次に、状態管理部７４０は、取得した機器ＩＤが一意に特定できるか否かを判断する（Ｓ１５０９）。取得した機器ＩＤが一意に特定できないと判断されると（Ｓ１５０９でＮＯ）、状態管理部７４０は、処理をＳ１５１３に進める。
【０１７０】
一方、機器ＩＤが一意に特定できると判断されると（Ｓ１５０９でＹＥＳ）、状態管理部７４０は、コンテキストデータにおけるタスク内容と機器機能ＤＢ６３０とを照合する（Ｓ１５１０）。次に、状態管理部７４０は、該当するタスク内容が機器機能ＤＢ６３０に登録されているか否かを判断する（Ｓ１５１１）。該当するタスク内容が機器機能ＤＢ６３０に登録されていないと判断されると（Ｓ１５１１でＮＯ）、状態管理部７４０は、処理をＳ１５１３に進める。
【０１７１】
一方、該当するタスク内容が機器機能ＤＢ６３０に登録されていると判断されると（Ｓ１５１１でＹＥＳ）、状態管理部７４０は、機器機能ＤＢ６３０から機能ＩＤを取得して出力して（Ｓ１５１２）、図１５Ａ，１５Ｂの処理を終了する。
【０１７２】
Ｓ１５１３では、状態管理部７４０は、調理プログラムＤＢ６４０のエラーメッセージリスト１９２０を検索し、該当するエラーメッセージＩＤを取得して出力し、図１５Ａ，１５Ｂの処理を終了する。
【０１７３】
例えばＳ１５０４でＮＯとなって処理がＳ１５１３に進められた場合には、該当するカテゴリ名又は材料名が登録されていないので、状態管理部７４０は、エラーメッセージＩＤ「Ｅ００２」を取得する。
【０１７４】
例えばＳ１５０７でＮＯとなって処理がＳ１５１３に進められた場合には、該当する機器名、献立名、又は調理器具名が登録されていないので、状態管理部７４０は、エラーメッセージＩＤ「Ｅ００１」、「Ｅ００２」、「Ｅ００３」のいずれかを取得する。
【０１７５】
例えばＳ１５０９でＮＯとなって処理がＳ１５１３に進められた場合には、機器ＩＤが一意に特定できないので、状態管理部７４０は、エラーメッセージＩＤ「Ｅ００４」を取得する。
【０１７６】
例えばＳ１５１１でＮＯとなって処理がＳ１５１３に進められた場合には、該当するタスク内容が登録されていないので、状態管理部７４０は、エラーメッセージＩＤ「Ｅ００６」を取得する。
【０１７７】
なお、複数のエラーメッセージＩＤが該当する場合には、状態管理部７４０は、取得するエラーメッセージＩＤをデフォルトで例えば「Ｅ００２」に決めておいてもよい。
【０１７８】
Ｓ１５１３でエラーメッセージＩＤを出力して、この処理を終了した後、エラーメッセージに対してユーザ２５０が発話によって応答した場合には、発話理解部７３０の動作（図１２）が開始されることとなる。
【０１７９】
図１６は、クラウドサーバ１１１の応答生成部７５０の動作の一例を示すフローチャートである。応答生成部７５０は、まず、図１５Ａ，１５ＢのＳ１５１２，Ｓ１５１３で状態管理部７４０が出力した出力内容を取得する（Ｓ１６０１）。次に、応答生成部７５０は、取得した出力内容が機能ＩＤかエラーメッセージＩＤかを判断する（Ｓ１６０２）。
【０１８０】
取得した出力内容が機能ＩＤであれば（Ｓ１６０２で「機能ＩＤ」）、応答生成部７５０は、機器機能ＤＢ６３０と機能ＩＤとを照合して、制御コマンドと応答メッセージとを生成する（Ｓ１６０３）。
【０１８１】
一方、取得した出力内容がエラーメッセージＩＤであれば（Ｓ１６０２でエラーメッセージＩＤ）、応答生成部７５０は、調理プログラムＤＢ６４０に含まれるエラーメッセージリスト１９２０とエラーメッセージＩＤとを照合して、応答エラーメッセージを生成する（Ｓ１６０４）。
【０１８２】
図２１〜図２３は、実施の形態１の音声機器制御システムの動作を示すシーケンス図である。図２４Ａ，２４Ｂ，２４Ｃは、表示端末２６０に表示される献立選択画面２４００の一例を示す図である。なお、図２１〜図２３は連続する一連のシーケンスを表している。この図２１〜図２３に示されるシーケンス図の処理は、例えばユーザ２５０が表示端末２６０の表示画面に表示されたアイコンをタップするなどして、表示端末２６０に音声機器制御システムの起動を指示したときに開始される。
【０１８３】
Ｓ２１０１において、表示端末２６０は、ユーザ２５０による献立リストのリクエスト指示を取得する。Ｓ２１０２において、表示端末２６０の通信回路５０５は、取得した献立リストのリクエスト指示と、表示端末ＩＤ５２１とを、ゲートウェイ１０２に送信する。ゲートウェイ１０２は、それらを受信する。
【０１８４】
Ｓ２１０３において、ゲートウェイ１０２は、表示端末２６０から受信した献立リストリクエストと、表示端末ＩＤ５２１と、自らのメモリ５４０に保持するゲートウェイＩＤ５４１とを、クラウドサーバ１１１に送信する。クラウドサーバ１１１は、それらを受信する。
【０１８５】
クラウドサーバ１１１の状態管理部７４０は、Ｓ２１０４において、献立リストを抽出する献立リスト取得処理を行う。
【０１８６】
クラウドサーバ１１１の応答生成部７５０は、Ｓ２１０５において、抽出した献立リストと、表示対象となる表示端末２６０を特定する表示端末ＩＤ５２１と、ゲートウェイＩＤ５４１とを、ゲートウェイ１０２に送信する。ゲートウェイ１０２は、それらを受信する。
【０１８７】
ゲートウェイ１０２の受信データ解析部８１０は、Ｓ２１０６において、受信データ解析処理を行う。受信データ解析部８１０は、受信データ解析処理において、クラウドサーバ１１１から受信したデータを、献立リストと、表示端末ＩＤ５２１と、ゲートウェイＩＤ５４１とに分離する。次に、Ｓ２１０７において、ゲートウェイ１０２の送信データ生成部８２０は、分離された献立リストを表示端末ＩＤ５２１に対応する表示端末２６０に送信する。
【０１８８】
Ｓ２１０８において、表示端末２６０の表示制御回路５００は、図２４Ａに示されるように、受信した献立リスト（表示画面情報の一例）に従って、献立選択画面２４００を表示回路５０２に表示する。表示端末２６０は、Ｓ２１０９において、ユーザ２５０による特定の調理プログラムのリクエスト指示を取得する。
【０１８９】
図２４Ａに示されるように、献立選択画面２４００は、調理機器表示部２４０１と、調理プログラム表示部２４０２とを含む。調理機器表示部２４０１は、複数の調理部を有する調理機器４００を概略的に表示する。図２４Ａの例では、調理機器表示部２４０１は、ＩＨ調理器２４４の「ヒータ１」、「ヒータ２」、「ヒータ３」の３つの調理部を表示している。
【０１９０】
調理プログラム表示部２４０２は、調理プログラムの一覧を表示する。図２４Ａの例では、調理機器表示部２４０１は、「ハンバーグ」、「ビーフシチュー」、「筑前煮」、「グラタン」の４つの献立を表示している。調理プログラム表示部２４０２は、調理プログラム表示部２４０２の領域において上下方向にスワイプ操作が行われると、画面をスクロールして他の調理プログラムを表示するようにしてもよい。
【０１９１】
ユーザ２５０は、図２４Ｂに示されるように、接触物２４０３（例えばユーザの指）で、調理プログラム表示部２４０２の例えば「筑前煮」と表示された領域をタップし、続いて調理機器表示部２４０１の「ヒータ１」と表示された領域をタップする。すると、表示端末２６０は、調理プログラム「筑前煮」（第１調理レシピの一例）をＩＨ調理器２４４の「ヒータ１」（第１調理部の一例）で調理するというリクエスト指示を取得する。これによって、表示端末２６０は、調理プログラムＩＤと機器ＩＤとを取得する。また、表示端末２６０は、図２４Ｂに示されるように、タップされた領域の表示色を変更して、選択されたことを明示する。
【０１９２】
なお、ＩＨ調理器２４４の「ヒータ１」、「ヒータ２」、「ヒータ３」に対する機器ＩＤは、事前に登録されている。
【０１９３】
図２１に戻って、Ｓ２１１０において、表示端末２６０の通信回路５０５は、調理プログラムＩＤ５２３を、機器ＩＤに対応する調理機器４００に送信する。調理機器４００は、送信された調理プログラムＩＤ５２３を受信し、受信した調理プログラムＩＤ５２３をメモリ４４０に格納する。Ｓ２１１０において表示端末２６０から調理機器４００に送信される「筑前煮」を表す調理プログラムＩＤは、第１調理プログラム情報の一例である。
【０１９４】
Ｓ２１１１において、表示端末２６０の通信回路５０５は、調理プログラムＩＤと、表示端末ＩＤと、機器ＩＤとを、ゲートウェイ１０２に送信する。ゲートウェイ１０２は、それらを受信する。Ｓ２１１１において表示端末２６０からゲートウェイ１０２に送信される「筑前煮」を表す調理プログラムＩＤは、第１調理レシピ選択情報の一例である。
【０１９５】
ゲートウェイ１０２は、Ｓ２１１２において、表示端末２６０から受信した調理プログラムＩＤと、表示端末ＩＤと、機器ＩＤと、自らのメモリ５４０に保持するゲートウェイＩＤ５４１とを、クラウドサーバ１１１に送信する。クラウドサーバ１１１の通信回路６５０は、これらを受信する。
【０１９６】
クラウドサーバ１１１の状態管理部７４０は、Ｓ２２０１において、調理プログラム管理処理を行う。状態管理部７４０は、調理プログラム管理処理において、受信した調理プログラムＩＤ、表示端末ＩＤ、機器ＩＤおよびゲートウェイＩＤの値を用いて、機器状態管理ＤＢ６２０の内容を書き換える処理を行う。
【０１９７】
図２６は、図２２のＳ２２０１で実行される調理プログラム管理処理を示すフローチャートである。
【０１９８】
Ｓ２６０１において、状態管理部７４０は、図２１のＳ２１１２で通信回路６５０が受信した、表示端末ＩＤと、ゲートウェイＩＤと、機器ＩＤと、調理プログラムＩＤとを取得する。
【０１９９】
Ｓ２６０２において、状態管理部７４０は、ゲートウェイＩＤ及び機器ＩＤと、機器状態管理ＤＢ６２０とを照合する。Ｓ２６０３において、状態管理部７４０は、機器状態管理ＤＢ６２０の、ゲートウェイＩＤ及び機器ＩＤに対応する動作中調理プログラムＩＤの欄に、調理プログラムＩＤが登録されているか否かを判断する。動作中調理プログラムＩＤの欄に調理プログラムＩＤが登録されていれば（Ｓ２６０３でＹＥＳ）、状態管理部７４０は、図２６の処理を終了する。
【０２００】
一方、動作中調理プログラムＩＤの欄に調理プログラムＩＤが登録されていなければ（Ｓ２６０３でＮＯ）、状態管理部７４０は、Ｓ２６０１で取得した調理プログラムＩＤを、ゲートウェイＩＤ及び機器ＩＤと関連付けて、機器状態管理ＤＢ６２０の動作中調理プログラムＩＤの欄に登録する（Ｓ２６０４）。
【０２０１】
Ｓ２６０５において、状態管理部７４０は、調理プログラムＩＤと、調理プログラムＤＢ６４０の献立リスト１９００とを照合し、調理器具名と献立名とを取得する。Ｓ２６０６において、状態管理部７４０は、取得した調理器具名及び献立名を、ゲートウェイＩＤ及び機器ＩＤと関連付けて、機器状態管理ＤＢ６２０の調理器具名及び献立名の欄に、それぞれ登録する。
【０２０２】
Ｓ２６０７において、状態管理部７４０は、機器状態管理ＤＢ６２０の動作中調理ステップＩＤの欄を初期値（図１９Ｂの例では「Ｓ００１」）にリセットして、図２６の処理を終了する。
【０２０３】
図２２に戻って、クラウドサーバ１１１の応答生成部７５０は、Ｓ２２０２において、ユーザ２５０への応答メッセージを生成する応答文生成処理を行う。具体的には、クラウドサーバ１１１は、調理プログラムＤＢ６４０の調理ステップリスト１９１０（図１９Ｂ）に登録された応答メッセージの情報と、機器機能ＤＢ６３０（図１８）に登録された応答メッセージの情報とを保持している。クラウドサーバ１１１の応答生成部７５０は、調理プログラムＤＢ６４０又は機器機能ＤＢ６３０の応答メッセージを読み込むことで、応答文の文字データを生成する。
【０２０４】
クラウドサーバ１１１の音声合成部７６０は、Ｓ２２０３において、応答メッセージを音声データに変換する音声合成処理を行う。具体的には、クラウドサーバ１１１は、音声認識ＤＢ６００に登録された、音声モデル及び言語モデルの情報を保持している。クラウドサーバ１１１の音声合成部７６０は、音声認識ＤＢ６００に登録された音声モデル及び言語モデルの情報を読み込み、音声モデル及び言語モデルの情報を用いて、応答メッセージの文字列データを特定の音声データに変換する。
【０２０５】
クラウドサーバ１１１は、Ｓ２２０４において、生成した音声データ、生成した文字データ、表示端末ＩＤ５２１およびゲートウェイＩＤ５４１をゲートウェイ１０２に送信する。ゲートウェイ１０２は、これらを受信する。
【０２０６】
ゲートウェイ１０２の受信データ解析部８１０は、Ｓ２２０５において、受信データ解析処理を行う。受信データ解析処理において、ゲートウェイ１０２の受信データ解析部８１０は、受信したデータを、音声データ、文字データ、表示端末ＩＤ５２１およびゲートウェイＩＤ５４１に分離する。
【０２０７】
次に、Ｓ２２０６において、ゲートウェイ１０２の送信データ生成部８２０は、分離された音声データを音声入出力装置２４０に送信する。Ｓ２２０７において、音声入出力装置２４０は、受信した音声データを用いて、音声を出力する。次に、Ｓ２２０８において、ゲートウェイ１０２の送信データ生成部８２０は、分離された文字データを表示端末ＩＤ５２１に対応する表示端末２６０に送信する。Ｓ２２０９において、表示端末２６０は、受信した文字データに対応する文字画像を表示する。
【０２０８】
調理機器４００は、Ｓ２３０１において、ユーザ２５０による調理機器４００に対する操作内容を検出する。調理機器４００の通信回路４５０は、Ｓ２３０２において、検出した操作内容と、機器ＩＤ４４１と、調理プログラムＩＤ４４３とを、ゲートウェイ１０２に送信する。ゲートウェイ１０２は、それらを受信する。
【０２０９】
ゲートウェイ１０２は、Ｓ２３０３において、調理機器４００から受信した調理プログラムＩＤ４４３と、操作内容と、機器ＩＤ４４１と、自らのメモリ５４０に保持するゲートウェイＩＤ５４１とを、クラウドサーバ１１１に送信する。クラウドサーバ１１１は、これらを受信する。
【０２１０】
クラウドサーバ１１１の状態管理部７４０は、Ｓ２３０４において、調理プログラム更新処理を行う。状態管理部７４０は、調理プログラム更新処理において、受信した調理プログラムＩＤ、操作内容、機器ＩＤ４４１およびゲートウェイＩＤ５４１の値を用いて、機器状態管理ＤＢ６２０の内容を書き換える処理を行う。状態管理部７４０は、受信した操作内容から、直前の調理ステップが実行されたことを知ることができる。その結果に応じて、状態管理部７４０は、機器状態管理ＤＢ６２０の内容を更新する。
【０２１１】
具体的には、例えば、図２４Ｂに示されるように、図２１のＳ２１０９において、ユーザ２５０が「筑前煮」をＩＨ調理器２４４の「ヒータ１」で調理することをリクエストした場合が説明される。この場合、図１９Ａに示されるように、「筑前煮」の調理プログラムＩＤは「Ｔ００１」である。そこで、クラウドサーバ１１１の応答生成部７５０は、状態管理部７４０から「筑前煮」の調理プログラムＩＤ「Ｔ００１」を取得する。
【０２１２】
応答生成部７５０は、調理プログラムＤＢ６４０の調理ステップリスト１９１０（図１９Ｂ）を参照して、調理プログラムＩＤ「Ｔ００１」の最初の調理ステップＩＤ「Ｓ００１」の応答メッセージである「浄水４００ＣＣをお鍋に入れて、コンロの上に置いてください」を取得する。応答生成部７５０は、図２２のＳ２２０２において、この応答メッセージを生成する。
【０２１３】
この応答メッセージが、図２２のＳ２２０７において音声出力され、Ｓ２２０９において画面表示される。これに応じて、ユーザ２５０が、鍋に水を入れて、ＩＨ調理器２４４の「ヒータ１」の上に置く。すると、図２３のＳ２３０１において、調理機器４００（この例ではＩＨ調理器２４４）は、「ヒータ１」の重量が増加したことを検出する。調理機器４００は、Ｓ２３０２において、この「ヒータ１」の重量増加を、操作内容として、ゲートウェイ１０２に送信する。
【０２１４】
ゲートウェイ１０２は、Ｓ２３０３において、「ヒータ１」の重量増加との操作内容をクラウドサーバ１１１に送信する。クラウドサーバ１１１の通信回路６５０は、これを受信する。
【０２１５】
Ｓ２３０４において、状態管理部７４０は、通信回路６５０が受信した「ヒータ１」の重量増加との操作内容を取得する。状態管理部７４０は、「ヒータ１」の重量増加との操作内容から、調理プログラムＩＤ「Ｔ００１」の調理（筑前煮）の調理ステップＩＤ「Ｓ００１」が実行されたと判断する。
【０２１６】
そこで、状態管理部７４０は、機器状態管理ＤＢ６２０の機器ＩＤが「Ｍ０１−０１」である「ＩＨ調理器・ヒータ１」に対応する動作中調理ステップＩＤの「Ｓ００１」を「Ｓ００２」に更新する。このようにして、状態管理部７４０は、Ｓ２３０４の調理プログラム更新処理を実行する。
【０２１７】
図２１〜図２３の処理によって、例えば、筑前煮の調理が、ＩＨ調理器２４４の「ヒータ１」で行われることとなる。この状態で、ユーザ２５０がＩＨ調理器２４４の別の調理部で、同時に別の調理を行いたい場合がある。この場合には、例えば表示端末２６０に表示されたアイコンをタップするなどの操作により、音声機器制御システムは、図２１のＳ２１０１からの処理を再び開始する。
【０２１８】
このとき、図２１のＳ２１０８では、図２４Ｂに示されるように、筑前煮の調理が行われており、「ヒータ１」が使用中であることを示す献立選択画面２４００が、表示端末２６０に表示される。
【０２１９】
献立選択画面２４００が表示端末２６０に表示された状態で、ユーザ２５０は、図２４Ｃに示されるように、接触物２４０３（例えばユーザの指）で、調理プログラム表示部２４０２の例えば「ハンバーグ」と表示された領域をタップし、続いて調理機器表示部２４０１の「ヒータ２」と表示された領域をタップする。すると、表示端末２６０は、図２１のＳ２１０９において、調理プログラム「ハンバーグ」（第２調理レシピの一例）をＩＨ調理器２４４の「ヒータ２」（第２調理部の一例）で調理するというリクエスト指示を取得する。
【０２２０】
これによって、表示端末２６０は、調理プログラムＩＤと機器ＩＤとを取得する。また、表示端末２６０は、図２４Ｃに示されるように、タップされた領域の表示色を変更して、選択されたことを明示する。
【０２２１】
そして、「ハンバーグ」を表す調理プログラムＩＤと、ＩＨ調理器２４４の「ヒータ２」を表す機器ＩＤとを用いて、図２１〜図２３の処理が再び行われる。このとき、図２１のＳ２１１０において表示端末２６０から調理機器４００に送信される「ハンバーグ」を表す調理プログラムＩＤは、第２調理プログラム情報の一例である。また、図２１のＳ２１１１において表示端末２６０からゲートウェイ１０２に送信される「ハンバーグ」を表す調理プログラムＩＤは、第２調理レシピ選択情報の一例である。
【０２２２】
調理機器４００の加熱は、ユーザ２５０による操作で開始してもよい。この場合には、図１９Ｂの調理ステップリスト１９１０に登録されている「お鍋を強火で温めてください」との応答メッセージを出力してもよい。
【０２２３】
調理機器４００の加熱は、鍋の重量増加で自動開始してもよい。この場合には、図１８の機器機能ＤＢ６３０に登録されている「ヒータ１をＯＮにしました」との応答メッセージを出力してもよい。
【０２２４】
調理プログラムの実行中に、ユーザ２５０による操作が行われると、操作毎に、図２３の処理が実行される。
【０２２５】
図２５は、実施の形態１の音声機器制御システムにおいて、音声指示の対象を判別する処理を示すシーケンス図である。この図２５の処理は、ユーザが音声により機器に何らかの指示を発したときに開始される。
【０２２６】
Ｓ２５０１において、音声入出力装置２４０は、ユーザ２５０の音声データを取得する。Ｓ２５０２において、音声入出力装置２４０の通信回路３０３は、取得した音声データをゲートウェイ１０２に送信する。ゲートウェイ１０２は、それらを受信する。
【０２２７】
Ｓ２５０３において、ゲートウェイ１０２は、音声入出力装置２４０から受信した音声データと、自らのメモリ５４０に保持するゲートウェイＩＤ５４１とを、クラウドサーバ１１１に送信する。クラウドサーバ１１１の通信回路６５０は、これらを受信する。
【０２２８】
Ｓ２５０４において、クラウドサーバ１１１の音声認識部７１０及び発話理解部７３０は、音声内容理解処理を実行する。この音声内容理解処理において、まず、音声認識部７１０は、通信回路６５０により受信されたユーザの音声データを取得する。音声認識部７１０は、ユーザの音声データから周波数特性を抽出する。音声認識部７１０は、音声認識ＤＢ６００に保持されている音響モデルと、抽出した周波数特性とから音素データを抽出する。
【０２２９】
音声認識部７１０は、抽出した音素データの並び方が、音声認識ＤＢ６００に保持されている言語モデルのどの文字列データに最も近いかを照合することにより、特定の文字列データに変換する。音声認識部７１０により得られた文字列データを用いて、発話理解部７３０は、上記図１２を用いて説明された処理を実行する。このようにして、Ｓ２５０４の音声内容理解処理が実行される。
【０２３０】
Ｓ２５０５において、クラウドサーバ１１１の状態管理部７４０は、状態管理処理を実行する。この状態管理処理では、状態管理部７４０は、上記図１５Ａ，１５Ｂを用いて説明された処理を実行する。
【０２３１】
Ｓ２５０６において、クラウドサーバ１１１の応答生成部７５０は、出力生成処理を実行する。この出力生成処理では、応答生成部７５０は、上記図１６を用いて説明された処理を実行する。
【０２３２】
クラウドサーバ１１１の音声合成部７６０は、Ｓ２５０７において、音声合成処理を行う。Ｓ２５０７の音声合成処理において、クラウドサーバ１１１の音声合成部７６０は、応答文を音声データに変換する処理を行う。具体的には、クラウドサーバ１１１は、音声認識ＤＢ６００に登録された、音響モデル及び言語モデルの情報を保持している。クラウドサーバ１１１のＣＰＵ６７１は、音声認識ＤＢ６００に登録された音響モデル及び言語モデルの情報を読み込み、音響モデル及び言語モデルの情報を用いて、文字列データを特定の音声データに変換する。
【０２３３】
クラウドサーバ１１１は、Ｓ２５０８において、生成した制御コマンドと、生成した音声データと、生成した文字データと、制御対象となる機器ＩＤ４４１と、ゲートウェイＩＤ５４１とを、ゲートウェイ１０２に送信する。ゲートウェイ１０２は、これらを受信する。
【０２３４】
ゲートウェイ１０２の受信データ解析部８１０は、Ｓ２５０９において、受信データ解析処理を行う。Ｓ２５０９の受信データ解析処理において、ゲートウェイ１０２の受信データ解析部８１０は、受信したデータを、制御コマンドと、音声データと、文字データと、機器ＩＤ４４１と、ゲートウェイＩＤ５４１とに分離する。
【０２３５】
Ｓ２５１０において、ゲートウェイ１０２の送信データ生成部８２０は、分離された文字データを表示端末２６０に送信する。Ｓ２５１１において、表示端末２６０は、受信した文字データを表示画面に表示する。
【０２３６】
Ｓ２５１２において、ゲートウェイ１０２の送信データ生成部８２０は、分離された制御コマンドを機器ＩＤ４４１に対応する調理機器４００に送信する。Ｓ２５１３において、調理機器４００の機器制御部９１０は、通信部９００が受信した制御コマンドにしたがって、動作を制御する。
【０２３７】
Ｓ２５１４において、ゲートウェイ１０２の送信データ生成部８２０は、分離された音声データを音声入出力装置２４０に送信する。Ｓ２５１５において、音声入出力装置２４０の音声出力部１０４０は、通信部１０３０が受信した音声データに従って、音声を出力する。
【０２３８】
図２５の処理における具体例が説明される。まず、上記図２４Ｃのように、筑前煮とハンバーグとが調理されている場合において、上記図１４のように、「煮物の火を止めて」とユーザ２５０が発話した場合の第１具体例の動作が説明される。
【０２３９】
この場合には、図２５のＳ２５０４の音声内容理解処理の結果、図１４に示されるコンテキストデータ１４００が発話理解部７３０から出力される。続くＳ２５０５では、上述のように図１５Ａ，１５Ｂの処理が、状態管理部７４０によって実行される。
【０２４０】
図１４のコンテキストデータ１４００では、「煮物」の種別は＜ｃａｔｅｇｏｒｙ＞、概念は＜ｓｔｅｗｅｄ＞になっている。そこで、カテゴリ名が含まれているため、図１５ＡのＳ１５０２でＹＥＳと判断されて、処理は図１５ＢのＳ１５０３に進む。
【０２４１】
図１５ＢのＳ１５０３において、調理プログラムＤＢ６４０（図１９Ａ）と照合されると、カテゴリー名＜ｃａｔｅｇｏｒｙ＞に＜ｓｔｅｗｅｄ＞が登録されているため、Ｓ１５０４でＹＥＳと判断されて、Ｓ１５０５において、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞と調理器具名＜ｐｏｔ＞とが出力される。
【０２４２】
なお、図１９Ａの調理プログラムＤＢ６４０では省略されているが、図１３の単語名「煮物」の関連単語ＩＤから分かるように、ビーフシチューも煮物に該当する。したがって、Ｓ１５０５では、献立名＜ｂｅｅｆ＿ｓｔｅｗ＞及び調理器具名＜ｐｏｔ＞も、出力されることになる。
【０２４３】
図１５ＡのＳ１５０６において、機器状態管理ＤＢ６２０（図１７）と照合されると、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞が登録されている。したがって、Ｓ１５０７でＹＥＳと判断されて、Ｓ１５０８において、機器ＩＤ「Ｍ０１−０１」（特定調理部情報の一例）が取得される。機器ＩＤが一意に特定できるため、Ｓ１５０９でＹＥＳと判断されて、Ｓ１５１０〜Ｓ１５１１に進む。このように、機器状態管理ＤＢ６２０において、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞によって、機器ＩＤが特定される。
【０２４４】
Ｓ１５１０において、コンテキストデータ１４００（図１４）の種別＜ｔａｓｋ＞の「止めて」の概念＜ｓｔｏｐ＿ｈｅａｔ＞は、機器機能ＤＢ６３０（図１８）の機器ＩＤ「Ｍ０１−０１」に登録されている。したがって、Ｓ１５１１でＹＥＳと判断され、Ｓ１５１２において、機能ＩＤ「Ｏ０１−０１−０２」が出力される。以上により、図２５のＳ２５０５の状態管理処理が終了する。
【０２４５】
続いて、図２５のＳ２５０６の出力生成処理、つまり図１６の応答生成部７５０による処理が実行される。この第１具体例では、状態管理部７４０の出力内容は機能ＩＤであるので、図１６のＳ１６０３において、機能ＩＤ「Ｏ０１−０１−０２」と機器機能ＤＢ６３０（図１８）とが照合されて、制御コマンド「ＣＭＤ＝０ｘＦＦＡ０５０５１」及び応答メッセージ「ヒータ１をＯＦＦにしました」が生成される。
【０２４６】
このようにして、ユーザ２５０による「煮物の火を止めて」との発話によって、ハンバーグを調理している「ヒータ２」ではなくて、筑前煮を調理している「ヒータ１」を的確に止めることができる。この第１具体例において、「煮物の火を止めて」は指示情報の一例であり、「止めて」は第１音声情報（操作指示）の一例であり、「煮物」は、第１メニュー情報又は第２メニュー情報の一例、かつ第２音声情報の一例である。
【０２４７】
次に、上記図２４Ｃのように、筑前煮とハンバーグとが調理されている場合において、上記図１４と異なり、「お鍋の火を止めて」とユーザ２５０が発話した場合の第２具体例の動作が、上記第１具体例の動作と異なる点を中心に説明される。
【０２４８】
この場合には、発話理解部７３０から出力されるコンテキストデータには、図１３の発話理解辞書ＤＢ６２５における単語名「鍋」の欄の種別＜ｅｑｕｉｐｍｅｎｔ＞及び概念＜ｐｏｔ＞と、単語名「止めて」の欄の種別＜ｔａｓｋ＞及び概念＜ｓｔｏｐ＿ｈｅａｔ＞とが、含まれる。
【０２４９】
このコンテキストデータには、カテゴリー名も材料名も含まれない。このため、図１５ＡのＳ１５０２でＮＯと判断されて、処理はＳ１５０６に進む。機器状態管理ＤＢ６２０（図１７）には、コンテキストデータにおける調理器具名＜ｐｏｔ＞が１か所だけ登録されている。このため、Ｓ１５０６〜Ｓ１５０８において、機器ＩＤ「Ｍ０１−０１」が取得される。このように、機器状態管理ＤＢ６２０において、調理器具名＜ｐｏｔ＞により機器ＩＤが特定される。
【０２５０】
以下、タスク内容「止めて」は上記第１具体例と同じであるので、上記第１具体例と同様に処理が進み、同様の制御コマンド及び応答メッセージが生成される。
【０２５１】
このようにして、ユーザ２５０による「お鍋の火を止めて」との発話によって、ハンバーグを調理している「ヒータ２」ではなくて、筑前煮を調理している「ヒータ１」を的確に止めることができる。この第２具体例において、「お鍋の火を止めて」は指示情報の一例であり、「止めて」は第１音声情報（操作指示）の一例であり、「お鍋」は、第１調理器具情報又は第２調理器具情報の一例、かつ第２音声情報の一例である。
【０２５２】
次に、上記図２４Ｃと異なり、筑前煮とビーフシチューとが調理されている場合において、上記図１４のように、「煮物の火を止めて」とユーザ２５０が発話した場合の第３具体例の動作が、上記第１、第２具体例の動作と異なる点を中心に説明される。
【０２５３】
この場合には、上記第１具体例と同じ、図１４に示されるコンテキストデータ１４００が発話理解部７３０から出力される。したがって、上記第１具体例と同様に、図１５ＢのＳ１５０５において、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞と調理器具名＜ｐｏｔ＞とが出力される。また、上記第１具体例と同様に、Ｓ１５０５では、献立名＜ｂｅｅｆ＿ｓｔｅｗ＞及び調理器具名＜ｐｏｔ＞も出力される。
【０２５４】
この第３具体例では、図１７の機器状態管理ＤＢ６２０において、献立名には＜ｈａｍｂｕｒｇ＞に代えて＜ｂｅｅｆ＿ｓｔｅｗ＞が登録されている。したがって、機器状態管理ＤＢ６２０には、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞と献立名＜ｂｅｅｆ＿ｓｔｅｗ＞との両方が登録されている。このため、図１５ＡのＳ１５０８において、機器ＩＤ「Ｍ０１−０１」と機器ＩＤ「Ｍ０１−０２」との両方が取得される。その結果、機器ＩＤが一意に特定できないため、Ｓ１５０９でＮＯと判断される。
【０２５５】
この第３具体例では、調理器具名＜ｐｏｔ＞が重複している。このため、図１５ＢのＳ１５１３において、図２０Ａの調理プログラムＤＢ６４０のエラーメッセージリスト１９２０から、エラーメッセージＩＤ「Ｅ００４」が取得されて、出力される。
【０２５６】
続いて、この第３具体例では、状態管理部７４０の出力内容はエラーメッセージＩＤであるので、図１６のＳ１６０４において、エラーメッセージＩＤ「Ｅ００４」と図２０Ａの調理プログラムＤＢ６４０とが照合されて、応答エラーメッセージ「献立名を教えてください」が生成される。
【０２５７】
このように、ユーザ２５０による「煮物の火を止めて」との発話では、煮物の一種である筑前煮を調理している「ヒータ１」と、同じく煮物の一種であるビーフシチューを調理している「ヒータ２」とを区別することができない。このため、ユーザ２５０は、「献立名」を発話するように促される。この第３具体例において、「煮物の火を止めて」は指示情報の一例であり、「止めて」は第１音声情報（操作指示）の一例である。
【０２５８】
次に、上記図２４Ｃと異なり、筑前煮とビーフシチューとが調理されている場合において、上記図１４と異なり、「お鍋の火を止めて」とユーザ２５０が発話した場合の第４具体例の動作が、上記第１〜第３具体例の動作と異なる点を中心に説明される。
【０２５９】
この場合には、上記第２具体例と同様に、発話理解部７３０から出力されるコンテキストデータには、図１３の発話理解辞書ＤＢ６２５における単語名「鍋」の欄の種別＜ｅｑｕｉｐｍｅｎｔ＞及び概念＜ｐｏｔ＞と、単語名「止めて」の欄の種別＜ｔａｓｋ＞及び概念＜ｓｔｏｐ＿ｈｅａｔ＞とが、含まれる。
【０２６０】
このコンテキストデータには、カテゴリー名も材料名も含まれない。このため、図１５ＡのＳ１５０２でＮＯと判断されて、処理はＳ１５０６に進む。
【０２６１】
この第４具体例では、上記第３具体例と同様に、機器状態管理ＤＢ６２０には、献立名＜ｃｈｉｋｕｚｅｎ＿ｎｉ＞に対応する調理器具名には＜ｐｏｔ＞が登録され、献立名＜ｂｅｅｆ＿ｓｔｅｗ＞に対応する調理器具名にも＜ｐｏｔ＞が登録されている。このため、機器ＩＤが一意に特定できない。
【０２６２】
この第４具体例では、上記第３具体例と同様に、調理器具名＜ｐｏｔ＞が重複している。このため、上記第３具体例と同様に、応答エラーメッセージ「献立名を教えてください」が生成される。
【０２６３】
このように、ユーザ２５０による「お鍋の火を止めて」との発話では、どちらもお鍋を使用しているため、筑前煮を調理している「ヒータ１」と、ビーフシチューを調理している「ヒータ２」とを区別することができない。このため、ユーザ２５０は、「献立名」を発話するように促される。この第４具体例において、「お鍋の火を止めて」は指示情報の一例であり、「止めて」は第１音声情報（操作指示）の一例である。
【０２６４】
次に、上記図２４Ｃのように、筑前煮とハンバーグとが調理されている場合において、上記図１４と異なり、「お鍋を弱火にして」とユーザ２５０が発話した場合の第５具体例の動作が、上記第１〜第４具体例の動作と異なる点を中心に説明される。
【０２６５】
この場合には、発話理解部７３０から出力されるコンテキストデータには、図１３の発話理解辞書ＤＢ６２５における単語名「鍋」の欄の種別＜ｅｑｕｉｐｍｅｎｔ＞及び概念＜ｐｏｔ＞と、単語名「弱火」の欄の種別＜ｔａｓｋ＞及び概念＜ｌｏｗ＿ｈｅａｔ＞とが、含まれる。
【０２６６】
このコンテキストデータには、カテゴリー名も材料名も含まれない。このため、図１５ＡのＳ１５０２でＮＯと判断されて、処理はＳ１５０６に進む。機器状態管理ＤＢ６２０（図１７）には、コンテキストデータにおける調理器具名＜ｐｏｔ＞が１か所だけ登録されている。このため、Ｓ１５０６〜Ｓ１５０８において、機器ＩＤ「Ｍ０１−０１」が取得される。このように、機器状態管理ＤＢ６２０において、調理器具名＜ｐｏｔ＞により機器ＩＤが特定される。
【０２６７】
図１５ＡのＳ１５０９で機器ＩＤが一意に特定されるため、Ｓ１５１０〜Ｓ１５１２が実行される。コンテキストデータの種別＜ｔａｓｋ＞の「弱火」の概念＜ｌｏｗ＿ｈｅａｔ＞は、図１８の機器機能ＤＢ６３０の機器ＩＤ「Ｍ０１−０１」に登録されている。したがって、機能ＩＤ「Ｏ０１−０１−０４」が出力される。
【０２６８】
続いて、図１６のＳ１６０３において、機器機能ＤＢ６３０（図１８）から、機能ＩＤ「Ｏ０１−０１−０４」に対応する制御コマンド「ＣＭＤ＝０ｘＦＦＡ０５０５３」及び応答メッセージ「ヒータ１の火を弱くしました」が生成される。
【０２６９】
このようにして、ユーザ２５０による「お鍋を弱火にして」との発話によって、ハンバーグを調理している「ヒータ２」ではなくて、筑前煮を調理している「ヒータ１」を的確に弱火にすることができる。この第５具体例において、「お鍋を弱火にして」は指示情報の一例であり、「弱火」は第１音声情報（操作指示）の一例であり、「お鍋」は、第１調理器具情報又は第２調理器具情報の一例、かつ第２音声情報の一例である。
【０２７０】
なお、図１３の発話理解辞書ＤＢ６２５の単語名「弱火」に対応する、図１８の機器機能ＤＢ６３０のタスクの内容＜ｌｏｗ＿ｈｅａｔ＞は、調理プログラムによって実行される処理とは調理パラメータの異なる処理を実行させる操作指示の一例である。
【０２７１】
この第５具体例では、調理パラメータは、火加減、つまり設定温度である。しかし、本開示は、これに限られない。調理パラメータは、例えば、設定温度を持続させる時間、温度変化の傾き、又は加熱のオンオフのデューティ比であってもよい。つまり、ユーザ２５０の発話による指示は、設定温度を持続させる時間を変更する指示を含んでもよい。
【０２７２】
以上説明されたように、実施の形態１によれば、ＩＨ調理器２４４の「ヒータ１」と「ヒータ２」との２つの調理部で、異なる調理を同時に実行中の場合において、ユーザ２５０の発話による指示が、どちらの調理部に対する指示であるかを的確に判別することができる。
【０２７３】
また、実施の形態１では、どちらの調理部に対する指示であるかを判別できない場合には、応答エラーメッセージを出力している。これによって、ユーザ２５０に対して、適切な発話を促すことができる。
【０２７４】
（実施の形態２）
図２７は、実施の形態２に係る音声機器制御システムの構成を示す図である。実施の形態２では、実施の形態１と同一要素には同一符号が付され、詳細な説明は省略される。以下では、実施の形態１との相違点を中心に、実施の形態２が説明される。
【０２７５】
実施の形態２の音声機器制御システムは、音声入出力装置２４０と、複数の家電機器１０１と、表示端末２６０と、統合管理装置２８００とを含む。すなわち、実施の形態２の音声機器制御システムは、実施の形態１の音声機器制御システムが備えているゲートウェイ、情報通信ネットワーク、及びクラウドサーバに代えて、統合管理装置２８００を備える。
【０２７６】
統合管理装置２８００は、グループ１００内に配置されている。統合管理装置２８００と、表示端末２６０、音声入出力装置２４０及び複数の家電機器１０１との接続は、有線又は無線を用いることができる。
【０２７７】
なお、実施の形態２では、統合管理装置２８００は、家電機器１０１と別に設けられているが、本開示は、これに限られない。例えば、オーブンレンジ２４３、ＩＨ調理器２４４、又は冷蔵庫２４５が、統合管理装置２８００を含むようにしてもよい。
【０２７８】
図２８Ａは、統合管理装置２８００のハードウェア構成を示すブロック図である。統合管理装置２８００は、通信回路６５０と、処理回路６７０と、音声認識データベース（ＤＢ）６００と、機器状態管理ＤＢ６２０と、発話理解辞書ＤＢ６２５と、機器機能ＤＢ６３０と、調理プログラムＤＢ６４０とを備える。処理回路６７０は、ＣＰＵ６７１と、プログラム６７３を格納したメモリ６７２とを有する。このように、統合管理装置２８００は、図７に示されるクラウドサーバ１１１と同じハードウェア構成を有する。
【０２７９】
図２８Ｂは、統合管理装置２８００のシステム構成を示すブロック図である。統合管理装置２８００は、通信部７００と、音声認識部７１０と、発話理解部７３０と、状態管理部７４０と、応答生成部７５０と、音声合成部７６０とを備える。このように、統合管理装置２８００は、図１１に示されるクラウドサーバ１１１と同じシステム構成を有する。
【０２８０】
図２９は、実施の形態２の機器状態管理ＤＢ６２０の具体例を示す図である。実施の形態２の機器状態管理ＤＢ６２０は、機器ＩＤ、機器名＜ａｐｐｌｉａｎｃｅ＞、動作中調理プログラムＩＤ、動作中調理ステップＩＤ、調理器具名＜ｅｑｕｉｐｍｅｎｔ＞、献立名＜ｍｅｎｕ＞、及び機器の動作状態を、互いに関連付けて保持する。実施の形態２の機器状態管理ＤＢ６２０は、ゲートウェイＩＤを保持しない点で、図１７に示される実施の形態１の機器状態管理ＤＢ６２０と異なる。
【０２８１】
図３０Ａ，３０Ｂは、実施の形態２の音声機器制御システムの動作を示すシーケンス図である。図３０Ａ，３０Ｂでは、図２１〜図２３に示される実施の形態１の音声機器制御システムの動作と同一ステップには同一符号が付されている。
【０２８２】
実施の形態１（図２１〜図２３）では、クラウドサーバ１１１によって実行されていた処理は、実施の形態２（図３０Ａ，３０Ｂ）では、統合管理装置２８００によって実行される。
【０２８３】
実施の形態２（図３０Ａ，３０Ｂ）では、実施の形態１（図２１〜図２３）で行われていたクラウドサーバ１１１とゲートウェイ１０２との間での送受信処理がなく、ゲートウェイ１０２で行われていた受信データ解析処理も行われない。
【０２８４】
表示端末２６０及び調理機器４００からのデータの送信先は、実施の形態１（図２１〜図２３）ではゲートウェイ１０２であったが、実施の形態２（図３０Ａ，３０Ｂ）では、統合管理装置２８００である。
【０２８５】
以上の点を除いて、実施の形態２（図３０Ａ，３０Ｂ）の音声機器制御システムの動作は、実施の形態１（図２１〜図２３）の動作と同じである。
【０２８６】
図３１は、実施の形態２の音声機器制御システムにおいて、音声指示の対象を判別する処理を示すシーケンス図である。図３１では、図２５に示される実施の形態１の音声機器制御システムの処理と同一ステップには同一符号が付されている。
【０２８７】
実施の形態１（図２５）では、クラウドサーバ１１１によって実行されていた処理は、実施の形態２（図３１）では、統合管理装置２８００によって実行される。
【０２８８】
実施の形態２（図３１）では、実施の形態１（図２５）で行われていたクラウドサーバ１１１とゲートウェイ１０２との間での送受信処理がなく、ゲートウェイ１０２で行われていた受信データ解析処理も行われない。
【０２８９】
音声入出力装置２４０からのデータの送信先は、実施の形態１（図２５）ではゲートウェイ１０２であったが、実施の形態２（図３１）では、統合管理装置２８００である。
【０２９０】
上記の点を除いて、実施の形態２（図３１）の音声機器制御システムの処理は、実施の形態１（図２５）の処理と同じである。
【０２９１】
以上説明されたように、実施の形態２では、実施の形態１においてクラウドサーバ１１１により実行されていた処理が統合管理装置２８００により実行される。その他の点は実施の形態１と同様であるため、実施の形態２によれば、実施の形態１と同様の効果を得ることができる。
【０２９２】
上記実施の形態１では、クラウドサーバ１１１のみが機器状態管理ＤＢ６２０を有している。上記実施の形態２では、統合管理装置２８００のみが機器状態管理ＤＢ６２０を有している。しかし、本開示は、これに限られない。
【０２９３】
図３２は、調理機器４００のハードウェア構成の別の例を示すブロック図である。図３２の調理機器４００のメモリ４４０は、新たに、機器状態管理ＤＢ６２０を含む。
【０２９４】
図３２の構成によれば、調理機器４００は、機器状態管理ＤＢ６２０の情報を保持している。このため、調理プログラムＩＤを含む制御コマンドを受信すると、調理機器４００のＣＰＵ４３０は、機器状態管理ＤＢ６２０の情報から、機器ＩＤを特定することができる。したがって、調理機器４００の機器制御部９１０は、特定した機器ＩＤに対応する調理部（例えばＩＨ調理器２４４のヒータ２）を、制御コマンドに従って動作させることができる。
【０２９５】
上記実施の形態１では、音声入出力装置２４０、表示端末２６０、各種の家電機器１０１がそれぞれ独立している例が開示されている。しかし、本開示はこれに限らず、表示端末２６０が音声入出力装置２４０を有していてもよい。また、各種の家電機器１０１が音声入出力装置２４０および／または表示端末２６０を有していてもよい。
【０２９６】
上記実施の形態２では、音声入出力装置２４０、表示端末２６０、各種の家電機器１０１、統合管理装置２８００がそれぞれ独立している例が開示されている。しかし、本開示はこれに限らず、表示端末２６０が音声入出力装置２４０を有していてもよい。また、各種の家電機器１０１が音声入出力装置２４０および／または表示端末２６０を有していてもよい。さらに、各種の家電機器１０１が統合管理装置２８００を有していてもよい。
【０２９７】
（その他の実施の形態）
その他の実施の形態として、複数の調理機器を使用する調理レシピを、音声対話型エージェントに適用してユーザが調理を行う場合について説明する。このとき、音声対話型エージェントは、各調理機器に搭載されていても良いし、家庭内の調理機器または家電機器を統一して制御可能なように家屋に備わっていても良い。なお、ここでは例えば、音声対話型エージェントは、各家電機器と相互にアクセス可能であるとする。
【０２９８】
ここで、例えば、ＩＨ調理器またはガスコンロ、電子レンジ、オーブンを用いてローストビーフと付け合せである茹で野菜を調理する調理レシピを想定する。
【０２９９】
エージェントは、食材である牛肉を解凍する必要があることをユーザへ伝え、牛肉を電子レンジへ入れて解凍ボタンを押すよう指示する。このときエージェントは、電子レンジへアクセスして解凍ボタンが押されたことを確認する。なお、この確認はユーザがエージェントに対して解凍指示を完了した旨を伝えるとしてもよい。
【０３００】
解凍ボタンが押されたことを確認されると、エージェントは付け合せの茹で野菜を調理するためにＩＨ調理器を用いて湯を沸かすようユーザへ指示する。指示されたユーザは、鍋に水を入れてＩＨ調理器を動作させる。このときもまた、エージェントはＩＨ調理器へアクセスして、ＩＨ調理器が動作されたことを確認する。ＩＨ調理器に備わっている湯沸しボタンなどが押下されたことを検知することが好ましい。しかし、単純にＩＨ調理器が動作したことを検知するだけでもよい。あるいは、湯沸しを開始した旨をユーザがエージェントに伝えるとしてもよい。また、ＩＨ調理器に限らず、ガスコンロまたは電子ケトルなどでこれを行っても良い。
【０３０１】
湯沸かしが開始されたことを確認したエージェントは、ユーザへ茹で野菜の下ごしらえを指示する。ここで、どのように野菜を切るかなど、エージェントは、細かい指示をするとしてもよい。ユーザは下ごしらえが完了したことをエージェントへ伝える。
【０３０２】
電子レンジおよびＩＨ調理器は、牛肉の解凍または湯沸しが完了した場合に、エージェントへその旨を伝える。電子レンジまたはＩＨ調理器と、エージェントとが、それぞれ相互にアクセスできない場合は、ユーザがエージェントへその旨を伝えるとしてもよい。
【０３０３】
エージェントが電子レンジおよびＩＨ調理器において、牛肉の解凍または湯沸しが完了した旨を確認した場合、ユーザに対して次の動作を指示する。例えば、電子レンジから牛肉を取り出して下ごしらえを行う指示である。または、ＩＨ調理器で湯を沸かしていた鍋に野菜を投入して、例えば、１０分間茹でる指示である。このとき、鍋に野菜を投入すると、鍋の中の湯の温度が一次的に下がる。このため、エージェントはこれを検知して、検知した時点からタイマーを動作させて１０分間を計測し、野菜を鍋から取り出す時期をユーザへ知らせるとしても良い。また、エージェントはユーザに牛肉の下ごしらえを指示すると同時に、オーブンに対して、例えば、２５０度へ余熱させる動作を行わせてもよい。
【０３０４】
牛肉の下ごしらえが完了したことをエージェントが検知した場合、エージェントは次に牛肉をオーブンに入れるように指示する。ここで、牛肉の下ごしらえが完了したことは、ユーザがその旨をエージェントへ伝えるとしてもよい。
【０３０５】
オーブン内のセンサなどによって牛肉がオーブンに入れられたことが検知されると、エージェントはオーブンを動作させる。このとき、例えば、１５分間２５０度で焼いたのちに、１６０度へ温度を下げてさらに４０分焼くという動作をオーブンに行わせる。この場合、エージェントがオーブンに対して自動で設定するとしても良いし、エージェントがユーザへ指示してユーザにオーブンを操作させるとしてもよい。このとき、温度を落とすタイミングはエージェントがタイマーを用いて計測して、適切なタイミングでユーザへ指示してもよい。または、１５分後に１６０度へ温度を下げる温度制御プログラムを予めユーザへ設定させていてもよい。
【０３０６】
オーブンでの調理が完了したことを確認したエージェントは、オーブンの天板に残った肉汁でソースを作る指示をユーザに対して行う。このとき、例えば、鍋またはフライパンに肉汁を移してＩＨ調理器を用いて加熱するよう指示する。このとき、ソースを作るためのＩＨ調理器の加熱プログラムはエージェントが自動で設定しても良いし、適切なタイミングでユーザへ加熱の強さを変更するよう指示するとしてもよい。また、肉汁に追加で加えるスパイス等の指示も適宜行う。
【０３０７】
エージェントがソースの完成を確認すると、エージェントはユーザへ茹で野菜およびローストビーフの盛り付けを指示してレシピの調理完了とする。
【０３０８】
このように、複数の調理機器を利用した調理レシピを適用する場合に、音声対話型エージェントは、各調理機器から動作確認通知を受け取ることで調理の進捗状況を確認可能とし、進捗状況に対応した指示をユーザへ行うことができる。
【０３０９】
なお、これは調理に限るものではなく、複数の家電機器を用いた作業を行う場合であれば適用可能な処理である。
【０３１０】
以上、実施の形態に係る音声機器制御システムについて説明したが、本発明は、この実施の形態に限定されるものではない。
【０３１１】
また、上記実施の形態に係る音声機器制御システムに含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０３１２】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０３１３】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０３１４】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０３１５】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
【０３１６】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０３１７】
以上、一つの態様に係る音声機器制御システム装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つの態様の範囲内に含まれてもよい。
【０３１８】
（クラウドサービスの類型）
上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現される類型はこれに限られるものでない。
【０３１９】
（サービスの類型１：自社データセンタ型クラウドサービス）
図３３は、サービスの類型１（自社データセンタ型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ４１２０がグループ４１００から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ４１２０が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ４１２０が、ビッグデータを管理するクラウドサーバ４２０３を保有している。したがって、データセンタ運営会社は存在しない。
【０３２０】
本類型では、サービスプロバイダ４１２０は、データセンタ（クラウドサーバ）４２０３を運営及び管理している。また、サービスプロバイダ４１２０は、オペレーティングシステム（ＯＳ）４２０２及びアプリケーション４２０１を管理する。サービスプロバイダ４１２０は、サービスプロバイダ４１２０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０３２１】
（サービスの類型２：ＩａａＳ利用型クラウドサービス）
図３４は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。ここで、ＩａａＳとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０３２２】
本類型では、データセンタ運営会社４１１０が、データセンタ（クラウドサーバ）４２０３を運営及び管理している。また、サービスプロバイダ４１２０は、ＯＳ４２０２及びアプリケーション４２０１を管理する。サービスプロバイダ４１２０は、サービスプロバイダ４１２０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０３２３】
（サービスの類型３：ＰａａＳ利用型クラウドサービス）
図３５は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。ここで、ＰａａＳとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０３２４】
本類型では、データセンタ運営会社４１１０は、ＯＳ４２０２を管理し、データセンタ（クラウドサーバ）４２０３を運営及び管理している。また、サービスプロバイダ４１２０は、アプリケーション４２０１を管理する。サービスプロバイダ４１２０は、データセンタ運営会社４１１０が管理するＯＳ４２０２及びサービスプロバイダ４１２０が管理するアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０３２５】
（サービスの類型４：ＳａａＳ利用型クラウドサービス）
図３６は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における音声機器制御システムが提供するサービスの全体像を示す図である。ここで、ＳａａＳとは、ソフトウェア・アズ・ア・サービスの略である。ＳａａＳ利用型クラウドサービスは、例えば、データセンタ（クラウドサーバ）を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ（クラウドサーバ）を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【０３２６】
本類型では、データセンタ運営会社４１１０は、アプリケーション４２０１を管理し、ＯＳ４２０２を管理し、データセンタ（クラウドサーバ）４２０３を運営及び管理している。また、サービスプロバイダ４１２０は、データセンタ運営会社４１１０が管理するＯＳ４２０２及びアプリケーション４２０１を用いてサービスを提供する（矢印２０４）。
【０３２７】
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ４１２０がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、ＯＳ、アプリケーション又はビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注して開発させてもよい。
【産業上の利用可能性】
【０３２８】
本開示は、音声により調理機器を制御する音声機器制御システム及び該音声機器制御システムに用いられる調理機器に適用できる。
【符号の説明】
【０３２９】
１１１  クラウドサーバ
２４０  音声入出力装置
２４３  オーブンレンジ
２４４  ＩＨ調理器
２６０  表示端末
４００  調理機器
６２０  クラウドサーバの機器状態管理ＤＢ
７００  クラウドサーバの通信部
７４０  クラウドサーバの状態管理部
９００  調理機器の通信部
９１０  調理機器の機器制御部
９１１  調理機器の第１調理部
９１２  調理機器の第２調理部
１０００  音声入出力装置の集音部
１０１０  音声入出力装置の音声検出部
１０２０  音声入出力装置の音声区間切り出し部
１０３０  音声入出力装置の通信部
【図１Ａ】
2015050766.tif 000003
【図１Ｂ】
2015050766.tif 000004
【図１Ｃ】
2015050766.tif 000005
【図２】
2015050766.tif 000006
【図３】
2015050766.tif 000007
【図４】
2015050766.tif 000008
【図５】
2015050766.tif 000009
【図６】
2015050766.tif 000010
【図７】
2015050766.tif 000011
【図８】
2015050766.tif 000012
【図９】
2015050766.tif 000013
【図１０】
2015050766.tif 000014
【図１１】
2015050766.tif 000015
【図１２】
2015050766.tif 000016
【図１３Ａ】
2015050766.tif 000017
【図１３Ｂ】
2015050766.tif 000018
【図１４】
2015050766.tif 000019
【図１５Ａ】
2015050766.tif 000020
【図１５Ｂ】
2015050766.tif 000021
【図１６】
2015050766.tif 000022
【図１７】
2015050766.tif 000023
【図１８】
2015050766.tif 000024
【図１９Ａ】
2015050766.tif 000025
【図１９Ｂ】
2015050766.tif 000026
【図２０Ａ】
2015050766.tif 000027
【図２０Ｂ】
2015050766.tif 000028
【図２１】
2015050766.tif 000029
【図２２】
2015050766.tif 000030
【図２３】
2015050766.tif 000031
【図２４Ａ】
2015050766.tif 000032
【図２４Ｂ】
2015050766.tif 000033
【図２４Ｃ】
2015050766.tif 000034
【図２５】
2015050766.tif 000035
【図２６】
2015050766.tif 000036
【図２７】
2015050766.tif 000037
【図２８Ａ】
2015050766.tif 000038
【図２８Ｂ】
2015050766.tif 000039
【図２９】
2015050766.tif 000040
【図３０Ａ】
2015050766.tif 000041
【図３０Ｂ】
2015050766.tif 000042
【図３１】
2015050766.tif 000043
【図３２】
2015050766.tif 000044
【図３３】
2015050766.tif 000045
【図３４】
2015050766.tif 000046
【図３５】
2015050766.tif 000047
【図３６】
2015050766.tif 000048