(57)【要約】【課題】機械可読性が高いレシピデータを用いて様々な機器を制御することを可能とする。【課題手段】レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現される。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、前記料理に至るまでの途中における前記材料の状態を表す中間ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。【選択図】図１
2019204504.tif 000002
【特許請求の範囲】
【請求項１】
機器を制御する機器制御システムであって、
複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得する取得部と、
前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行う処理部と、を備え、
前記複数のノードは、
前記グラフの始点であって、料理の材料を表す材料ノードと、
前記グラフの終点であって、前記料理を表す料理ノードと、を含み、
前記エッジは、ノード間の状態遷移に必要なアクションを表し、
前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されており、
前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている、
機器制御システム。
【請求項２】
前記複数のノードは、前記料理に至るまでの途中における前記材料の状態を表す中間ノードをさらに含む、
請求項１に記載の機器制御システム。
【請求項３】
前記エッジには、前記アクションを終了する条件が前記エッジの属性として付与されている、
請求項１又は２に記載の機器制御システム。
【請求項４】
前記エッジには、エッジ間の順序が前記エッジの属性として付与されている、
請求項１乃至３のいずれか１項に記載の機器制御システム。
【請求項５】
前記複数のノードは、前記材料の一部であって前記料理に使用されない廃棄物を表す廃棄ノードをさらに含む、
請求項１乃至４のいずれか１項に記載の機器制御システム。
【請求項６】
前記レシピデータを記憶する記憶部と、前記取得部と、前記処理部と、を有するサーバ装置を備え、
前記取得部は、前記レシピデータを前記記憶部から取得する、
請求項１乃至５のいずれか１項に記載の機器制御システム。
【請求項７】
サーバ装置との通信を行う通信部と、前記取得部と、前記処理部と、を有する端末装置を備え、
前記取得部は、前記レシピデータを前記サーバ装置から取得する、
請求項１乃至５のいずれか１項に記載の機器制御システム。
【請求項８】
前記機器は、サーバ装置又は端末装置との通信を行う通信部と、前記取得部と、前記処理部と、を有し、
前記取得部は、前記レシピデータを前記サーバ装置又は前記端末装置から取得する、
請求項１乃至５のいずれか１項に記載の機器制御システム。
【請求項９】
機器を制御するためのサーバ装置であって、
複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得する取得部と、
前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行う処理部と、を備え、
前記複数のノードは、
前記グラフの始点であって、料理の材料を表す材料ノードと、
前記グラフの終点であって、前記料理を表す料理ノードと、を含み、
前記エッジは、ノード間の状態遷移に必要なアクションを表し、
前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されており、
前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている、
サーバ装置。
【請求項１０】
機器を制御するための機器制御方法であって、
複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得するステップと、
前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行うステップと、を備え、
前記複数のノードは、
前記グラフの始点であって、料理の材料を表す材料ノードと、
前記グラフの終点であって、前記料理を表す料理ノードと、を含み、
前記エッジは、ノード間の状態遷移に必要なアクションを表し、
前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されており、
前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている、
機器制御方法。
【請求項１１】
コンピュータに、
複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得するステップと、
前記取得されたレシピデータを解読することにより機器を制御するための処理を行うステップと、を実行させ、
前記複数のノードは、
前記グラフの始点であって、料理の材料を表す材料ノードと、
前記グラフの終点であって、前記料理を表す料理ノードと、を含み、
前記エッジは、ノード間の状態遷移に必要なアクションを表し、
前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されており、
前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている、
プログラム。
【請求項１２】
レシピデータを取得する取得部と、前記取得されたレシピデータを解読することにより機器を制御するための処理を行う処理部と、を備える機器制御システムにおけるレシピのデータ構造であって、
前記レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記複数のノードは、
前記グラフの始点であって、料理の材料を表す材料ノードと、
前記グラフの終点であって、前記料理を表す料理ノードと、を含み、
前記エッジは、ノード間の状態遷移に必要なアクションを表し、
前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されており、
前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている、
データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器制御システム、サーバ装置、機器制御方法、プログラム、及びレシピのデータ構造に関する。
【背景技術】
【０００２】
近年、家電のＩｏＴ化が進んでおり、スマート家電等のネットワーク対応型の機器が登場しつつある。かかる機器を利用して調理を省力化するために、機械可読なレシピデータを実現し、かかるレシピデータに基づいて機器を制御することが検討されている。
【０００３】
非特許文献１には、自然言語を機械に処理させる自然言語処理の研究において、レシピ文章を調理機器やアクション（調理に関する動作）を表す単語に区分し、単語間の関係性を推定し、各単語をノードとし、且つ単語間の関係性をエッジとしたグラフ（レシピデータ）を作成する方法が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｈｉｒｏｋｕｎｉ  Ｍａｅｔａ，  Ｔｅｔｓｕｒｏ  Ｓａｓａｄａ，  Ｓｈｉｎｓｕｋｅ  Ｍｏｒｉ，  “Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｐｒｏｃｅｄｕｒａｌ  Ｔｅｘｔ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ”，  ［ｏｎｌｉｎｅ］，ＩＷＰＴ，２０１５  ［平成３０年３月２０日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｒ．ｍｅｄｉａ．ｋｙｏｔｏ−ｕ．ａｃ．ｊｐ／ｍｏｒｉ／ｒｅｓｅａｒｃｈ／ｐｕｂｌｉｃ／ｍａｅｔａ−ＩＷＰＴ１５．ｐｄｆ〉
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載のレシピデータは、自然言語であるレシピ文章の記述をそのままグラフとして表現したものであって、レシピ文章は人間により解読されることを前提としているため、機械可読性が低く、レシピデータを機械が適切に解読できない虞がある。
【０００６】
また、非特許文献１に記載のレシピデータは、人間が行うべきアクションを中心に記述されており、且つ使用すべき調理機器が指定されることがあるため、対応可能な機器に制限があり、将来的に登場する新たな機器を含む様々な機器に対応することが難しい。
【０００７】
そこで、本発明は、機械可読性が高いレシピデータを用いて様々な機器を制御することを可能とする機器制御システム、サーバ装置、機器制御方法、プログラム、及びレシピのデータ構造を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の特徴に係る機器制御システムは、機器を制御する機器制御システムであって、複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得する取得部と、前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行う処理部と、を備える。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。
【０００９】
第２の特徴に係るサーバ装置は、機器を制御するためのサーバ装置であって、複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得する取得部と、前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行う処理部と、を備える。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。
【００１０】
第３の特徴に係る機器制御方法は、機器を制御するための機器制御方法であって、複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得するステップと、前記取得されたレシピデータを解読することにより前記機器を制御するための処理を行うステップと、を備える。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。
【００１１】
第４の特徴に係るプログラムは、コンピュータに、複数のノードとノード間のエッジとからなるグラフにより表現されるレシピデータを取得するステップと、前記取得されたレシピデータを解読することにより機器を制御するための処理を行うステップと、を実行させる。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。
【００１２】
第５の特徴に係るレシピのデータ構造は、レシピデータを取得する取得部と、前記取得されたレシピデータを解読することにより機器を制御するための処理を行う処理部と、を備える機器制御システムおけるレシピのデータ構造である。前記レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現される。前記複数のノードは、前記グラフの始点であって、料理の材料を表す材料ノードと、前記グラフの終点であって、前記料理を表す料理ノードと、を含む。前記エッジは、ノード間の状態遷移に必要なアクションを表す。前記材料ノードには、前記材料を一意に識別する材料ＩＤが付与されている。前記エッジには、前記アクションを一意に識別するアクションＩＤが付与されている。
【発明の効果】
【００１３】
本発明によれば、機械可読性が高いレシピデータを用いて様々な機器を制御することを可能とする機器制御システム、サーバ装置、機器制御方法、プログラム、及びレシピのデータ構造を提供できる。
【図面の簡単な説明】
【００１４】
【図１】第１乃至第３実施形態に係るレシピのデータ構造を示す図である。
【図２】第１乃至第３実施形態に係る機器制御システムの構成を示す図である。
【図３】第１乃至第３実施形態に係る機器制御システムに含まれる各機器及び各装置のハードウェア構成を示す図である。
【図４】第１実施形態に係る端末装置の機能ブロック構成を示す図である。
【図５】第１実施形態に係る機器制御サーバの機能ブロック構成を示す図である。
【図６】第１実施形態に係る機器の機能ブロック構成を示す図である。
【図７】第１実施形態に係る機器制御システムの動作例を示す図である。
【図８】第１実施形態の変更例に係る機器制御システムの動作例を示す図である。
【図９】第２実施形態に係る端末装置の機能ブロック構成を示す図である。
【図１０】第２実施形態に係る機器制御システムの動作例を示す図である。
【図１１】第３実施形態に係る機器の機能ブロック構成を示す図である。
【図１２】第３実施形態に係る機器制御システムの動作例を示す図である。
【図１３】第３実施形態の変更例に係る機器制御システムの動作例を示す図である。
【発明を実施するための形態】
【００１５】
実施形態に係る機器制御システムについて図面を参照しながら説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【００１６】
＜実施形態の概要＞
実施形態に係る機器制御システムは、機器を制御するためのシステムである。制御対象の機器は、料理の材料又はそれを用いた調理に関連する機器である。実施形態に係る機器制御システムは、レシピデータを取得し、取得されたレシピデータを解読することにより、機器を制御するための処理を行う。レシピデータを機器以外の装置（例えば、サーバ装置又は端末装置）が解読する場合、機器を制御するための処理は、機器を制御するためのコマンド（以下、「制御コマンド」という）を生成及び送信する処理を含んでもよい。レシピデータを機器自身で解読する場合、機器を制御するための処理は、レシピデータに従ったアクションを行う処理を含んでもよい。
【００１７】
図１は、実施形態に係るレシピのデータ構造を示す図である。図１に示すように、実施形態に係るレシピデータは、複数のノードとノード間のエッジとからなるグラフ（有向グラフ）により表現される。図１において、ノードを円で示し、エッジを矢印で示している。
【００１８】
複数のノードは、各材料の状態遷移を定義する。エッジは、ノード間の状態遷移に必要なアクションを表す。アクションとは調理を構成する基本的な手順をいい、例えば「切る」、「温める」等の手順がアクションに該当する。アクションの種類及びそのＩＤが予め規定され、或いはアクションの種類に対してＩＤが事後的に付与され、アクション及びそのＩＤの一覧を定義し、エッジにはこの一覧から選択されたアクションＩＤが付与される。なお、状態（中間ノード）にもＩＤが付与されてもよい。
【００１９】
グラフ内の複数のノードは、グラフの始点であって、料理の材料を表す材料ノードと、グラフの終点であって、前記料理を表す料理ノードと、料理に至るまでの途中における材料の状態を表す中間ノードと、を含む。材料とは料理を作るための材料をいうが、調味料や、調理の過程で廃棄されるものも材料に含まれてもよい。材料の種類及びそのＩＤが予め規定されており、材料及びそのＩＤの一覧を定義し、材料ノードにはこの一覧から選択された材料ＩＤが付与される。材料の状態とは、アクションが施された後の状態をいい、例えば「３等分に切られた材料Ａ」、「３ｃｍ角に切られた材料Ｂ」、「温められた材料Ｃ」等が材料の状態に該当する。
【００２０】
このように、実施形態に係るレシピのデータ構造は、自然言語であるレシピ文章の記述をそのままグラフとして表現するのではなく、各材料の状態遷移をグラフとして表現したものである。各材料には材料を一意に識別する材料ＩＤが付与され、状態遷移に必要な各アクションにはアクションを一意に識別するアクションＩＤが付与されている。よって、ＩＤに基づいて容易且つ確実に機械がレシピデータを解読できる。また、アクションを行うべき機器をレシピデータにおいて必ずしも指定する必要がないため、将来的に登場する新たな機器を含む様々な機器に対応することが容易である。さらに、各アクションがすべてエッジとして表現されているため、レシピデータ中から各アクションを抽出することが容易である。
【００２１】
実施形態に係るレシピデータにおけるノードの種類を表１に示す。
【００２２】
【表１】
2019204504.tif 000003
【００２３】
各ノードには、ノードの属性として、例えば表２に示す属性を付与可能である。ここではノードが材料ノードであって、この材料ノードが「ニンジン」を表すと仮定する。
【００２４】
【表２】
2019204504.tif 000004
【００２５】
なお、「名前」は、人間がＭＲＲを作成及び解読するために必要な情報であって、必ずしも機械可読である必要は無い。
【００２６】
各エッジには、エッジの属性として、表３に示す属性を付与可能である。
【００２７】
【表３】
2019204504.tif 000005
【００２８】
ここで、各ノードの具体的な例を挙げて説明する。料理「サラダ」をつくる場合、料理ノードは、「サラダ」である。また、材料ノードは、例えば、「玉ねぎ」、「キュウリ」、「トマト」、「ケチャップ」、「マヨネーズ」である。各材料ノードには、材料を一意に識別するＩＤが付与される。
【００２９】
材料ノード「玉ねぎ」は、エッジ（アクション）である「切る」により、中間ノード「みじん切り玉ねぎ」と連結される。また、材料ノード「キュウリ」は、エッジ（アクション）である「切る」により、中間ノード「１センチ角キュウリ」と連結される。さらに、材料ノード「トマト」は、エッジ（アクション）である「切る」により、中間ノード「１／２トマト」と連結される。さらにまた、材料ノード「ケチャップ」及び材料ノード「マヨネーズ」は、エッジ（アクション）である「混ぜる」により、中間ノード「オーロラソース」と連結される。なお、「切る」、「混ぜる」のそれぞれには、アクションを一意に識別するＩＤが付与される。
【００３０】
そして、中間ノード「みじん切り玉ねぎ」、「１センチ角キュウリ」、及び「１／２トマト」は、エッジ（アクション）である「盛り付ける」により、料理ノード「サラダ」に連結される。また、中間ノード「オーロラソース」は、エッジ（アクション）である「かける」により、料理ノード「サラダ」に連結される。なお、「盛り付ける」、「かける」のそれぞれには、アクションを一意に識別するＩＤが付与される。また、「かける」は、「盛り付ける」の次に行われるように、エッジ間での順序が設定される。なお、「かける」に代えて、「あわせる」というアクションであってもよい。
【００３１】
＜第１実施形態＞
上述したレシピのデータ構造を用いる機器制御システムの第１実施形態について説明する。
【００３２】
（第１実施形態に係るシステム構成）
第１実施形態に係る機器制御システム１の構成について説明する。図２は、第１実施形態に係る機器制御システム１の構成を示す図である。
【００３３】
図２に示すように、機器制御システム１は、機器１００と、端末装置２００と、レシピ配信サーバ３００と、機器制御サーバ４００とを備える。機器１００、端末装置２００、レシピ配信サーバ３００、及び機器制御サーバ４００は、通信ネットワーク１０を介して互いに通信を行う。但し、機器１００は、通信ネットワーク１０を介さずに端末装置２００と直接的に通信（例えば、近距離無線通信）を行ってもよい。
【００３４】
機器１００は、通信機能を有しており、料理の材料又はそれを用いた調理に関連する機器である。機器１００は、家庭内で用いる家電機器であってもよいし、業務用の機器であってもよい。機器１００は、材料又はそれを用いた調理に関連する機器であればどのような機器であってもよいが、例えば、冷蔵庫、電子レンジ、オーブン、フードプロセッサー、ミキサー、炊飯器、電気鍋、電気フライヤー、電気蒸し器、製麺機、計量器、調理ロボット等である。
【００３５】
端末装置２００は、通信機能を有しており、ユーザインターフェイスを提供する装置である。端末装置２００は、ユーザの操作に応じて、レシピ配信サーバ３００からレシピデータ（レシピ文章や料理の画像データ等）をレシピ配信サーバ３００から取得して表示する。また、端末装置２００は、表示レシピに対するユーザの操作に応じて、機器１００の制御に関する要求を機器制御サーバ４００に対して行う。端末装置２００は、例えば、モバイル端末（例えば、タブレット、スマートフォン、ラップトップ、フィーチャーフォン、ポータブルゲーム機、電子書籍リーダなど）である。或いは、端末装置２００は、テレビ受像機（インターネットテレビを含む）、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）端末、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）端末等であってもよい。
【００３６】
レシピ配信サーバ３００は、表示用レシピデータを蓄積する。レシピ配信サーバ３００は、端末装置２００からの要求に応じて、蓄積しているレシピデータの中から、当該要求に合致するレシピデータを端末装置２００に配信する。端末装置２００は、レシピ配信サーバ３００から取得したレシピデータを表示する。レシピ配信サーバ３００が配信するレシピデータは、人間が解読可能なレシピ文章（自然言語）により主として構成されており、機械が解読するものではない。以下において、かかるレシピデータをＨＲＲ（Ｈｕｍａｎ  Ｒｅａｄａｂｌｅ  Ｒｅｃｉｐｅ）と称する。
【００３７】
機器制御サーバ４００は、レシピ配信サーバ３００が蓄積するレシピデータに対応する機器制御用レシピデータを蓄積する。機器制御用レシピデータは、上述したレシピのデータ構造（図１、表１乃至３参照）を有しており、機械が解読可能なものである。以下において、かかるレシピデータをＭＲＲ（Ｍａｃｈｉｎｅ  Ｒｅａｄａｂｌｅ  Ｒｅｃｉｐｅ）と称する。機器制御サーバ４００は、端末装置２００からの要求に応じて、ＭＲＲに基づいて制御コマンドを生成し、生成した制御コマンドを端末装置２００に送信する。具体的には、端末装置２００からの要求にはレシピＩＤが含まれている。機器制御サーバ４００は、当該レシピＩＤに対応するＭＲＲを取得し、取得したＭＲＲを解読し、ＭＲＲに基づく制御コマンドを端末装置２００に送信する。端末装置２００は、機器制御サーバ４００から受信した制御コマンドを機器１００に転送する。
【００３８】
制御コマンドを機器１００に転送後、端末装置２００のユーザは、制御コマンドに応じたアクションを機器１００に開始させるためのアクション開始操作を機器１００に対して行う。例えば、機器１００には、アクション開始操作を受け付けるための物理ボタンが設けられる。或いは、機器１００には、アクション開始操作を受け付けるためのソフトウェアボタンが表示されてもよい。機器１００は、アクション開始操作を受け付けると、制御コマンドに応じたアクションを開始する。
【００３９】
（ハードウェア構成）
機器制御システム１に含まれる各機器及び各装置のハードウェア構成について説明する。図３は、機器１００、端末装置２００、レシピ配信サーバ３００、及び機器制御サーバ４００のそれぞれのハードウェア構成例を示すブロック図である。
【００４０】
図３に示すように、機器１００、端末装置２００、レシピ配信サーバ３００、及び機器制御サーバ４００のそれぞれは、ＣＰＵ２１と、ＲＡＭ２２と、ＲＯＭ２３と、補助記憶装置２４と、通信モジュール２５と、入力装置２６と、出力装置２７とを備える。
【００４１】
ＣＰＵ２１は、主記憶装置を構成するＲＡＭ２２及びＲＯＭ２３からソフトウェア（プログラム）を読み出して実行する。ＲＡＭ２２は、ＣＰＵ２１の作業領域として用いられる。補助記憶装置２４は、ハードディスクやフラッシュメモリ等により構成される。通信モジュール２５は有線通信又は無線通信によりデータを送受信するモジュールである。入力装置２６は、タッチパネル及び／又はキーボード等により構成され、ユーザの操作を受け付ける。入力装置２６は、音声入力により操作を受け付けてもよい。出力装置２７は、ディスプレイ等により構成され、各種の情報を出力（表示する）。
【００４２】
ＣＰＵ２１及びＲＡＭ２２等のハードウェア上にソフトウェアを読み込ませることにより、ＣＰＵ２１の制御のもとで通信モジュール２５、入力装置２６、出力装置２７を動作させるとともに、ＲＡＭ２２や補助記憶装置２４におけるデータの読み出し及び書き込みを行うことで、各機器及び各装置における一連の機能が実現される。
【００４３】
機器１００は、さらに、各種機構２８を備える。各種機構２８は、機器１００におけるアクションを実行するための機構であり、例えば、加熱機構、冷蔵・冷凍機構、切断機構、撹拌機構等により構成される。
【００４４】
（第１実施形態に係る端末装置の機能ブロック構成）
第１実施形態に係る端末装置２００の機能ブロック構成について説明する。図４は、第１実施形態に係る端末装置２００の機能ブロック構成を示す図である。
【００４５】
図４に示すように、端末装置２００は、制御部２１０と、通信部２２０と、記憶部２３０と、操作部２４０と、表示部２５０とを備える。
【００４６】
制御部２１０は、ＣＰＵ２１を含んで構成され、端末装置２００の動作を制御する。通信部２２０は、通信モジュール２５を含んで構成され、通信ネットワーク１０を介した通信を行う。通信部２２０は、機器１００と直接的に通信する機能を有していてもよい。記憶部２３０は、ＲＡＭ２２、ＲＯＭ２３、及び補助記憶装置２４を含んで構成され、各種の情報及びデータを記憶する。操作部２４０は、入力装置２６を含んで構成され、ユーザ操作を受け付ける。表示部２５０は、出力装置２７（ディスプレイ）を含んで構成され、各種の情報及びデータを表示する。
【００４７】
制御部２１０は、ＨＲＲ取得部２１１と、制御要求部２１２と、コマンド転送部２１３とを備える。
【００４８】
ＨＲＲ取得部２１１は、操作部２４０に対するユーザの操作に応じて、レシピ配信サーバ３００から通信部２２０を介してＨＲＲを取得する。ＨＲＲ取得部２１１は、表示部２５０に表示されるレシピ一覧からユーザが選択したレシピのＨＲＲを取得してもよいし、検索条件（キーワード等）を用いてレシピ配信サーバ３０に対して検索処理を行うことにより条件に合致するＨＲＲを取得してもよい。ＨＲＲ取得部２１１は、取得したＨＲＲを表示部２５０上に表示させる。かかるＨＲＲと共に、機器１００に制御コマンドを送信するためのボタン（以下、「機器制御ボタン」）が表示されてもよい。
【００４９】
制御要求部２１２は、ユーザが機器制御ボタンを操作したことに応じて、機器１００の制御を要求する制御要求を生成し、生成した制御要求を、通信部２２０を介して機器制御サーバ４００に送信する。制御要求は、選択されたレシピ（ＨＲＲ）に対応するレシピＩＤを含む。制御要求は、制御対象の機器１００の機器ＩＤをさらに含んでもよい。
【００５０】
コマンド転送部２１３は、機器制御サーバ４００から送信された制御コマンドを、通信部２２０を介して受信する。コマンド転送部２１３は、受信した制御コマンドを、通信部２２０を介して機器１００に転送する。
【００５１】
（第１実施形態に係る機器制御サーバの機能ブロック構成）
第１実施形態に係る機器制御サーバ４００の機能ブロック構成について説明する。図５は、第１実施形態に係る機器制御サーバ４００の機能ブロック構成を示す図である。
【００５２】
図５に示すように、機器制御サーバ４００は、制御部４１０と、通信部４２０と、記憶部４３０とを備える。
【００５３】
制御部４１０は、ＣＰＵ２１を含んで構成され、機器制御サーバ４００の動作を制御する。通信部４２０は、通信モジュール２５を含んで構成され、通信ネットワーク１０を介した通信を行う。記憶部４３０は、ＲＡＭ２２、ＲＯＭ２３、及び補助記憶装置２４を含んで構成され、各種の情報及びデータを記憶する。また、記憶部４３０は、ＭＲＲをレシピＩＤと対応付けて記憶する。
【００５４】
制御部４１０は、要求受付部４１１と、ＭＲＲ取得部４１２と、処理部４１３とを備える。
【００５５】
要求受付部４１１は、端末装置２００からの制御要求を、通信部４２０を介して受け付ける。制御要求は、選択されたレシピに対応するレシピＩＤを含む。制御要求は、制御対象の機器１００の機器ＩＤをさらに含んでもよい。
【００５６】
ＭＲＲ取得部４１２は、制御要求に含まれるレシピＩＤに対応するＭＲＲを記憶部４３０から取得する。
【００５７】
処理部４１３は、ＭＲＲ取得部４１２により取得されたＭＲＲを解読し、制御要求に含まれる機器ＩＤに対応する機器１００を制御するための処理を行う。処理部４１３は、ＭＲＲ解読部４１３ａと、コマンド生成部４１３ｂと、コマンド送信部４１３ｃとを備える。
【００５８】
ＭＲＲ解読部４１３ａは、ＭＲＲ取得部４１２により取得されたＭＲＲを解読する。
【００５９】
コマンド生成部４１３ｂは、ＭＲＲ解読部４１３ａによるＭＲＲの解読結果に基づいて、制御要求に含まれる機器ＩＤに対応する機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。例えば、機器ＩＤごとに、実行可能なアクション（アクションＩＤ）の一覧が定義されている。かかる一覧は、「切る」を表すＩＤ、「焼く」を表すＩＤ、「煮る」を表すＩＤ等からなる。コマンド生成部４１３ｂは、当該一覧を参照することにより、制御要求に含まれる機器ＩＤに対応する機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。具体的には、機器が実行可能なアクションＩＤの一覧と、ＭＲＲ中の各エッジのアクションＩＤとを比較し、一致するアクションＩＤを抽出し、抽出したＩＤに対応するアクションをその機器に担当させると判断してもよい。
【００６０】
コマンド送信部４１３ｃは、コマンド生成部４１３ｂにより生成されたコマンドを、通信部４２０を介して端末装置２００に送信する。
【００６１】
（第１実施形態に係る機器の機能ブロック構成）
第１実施形態に係る機器１００の機能ブロック構成について説明する。図６は、第１実施形態に係る機器１００の機能ブロック構成を示す図である。
【００６２】
図６に示すように、機器１００は、制御部１１０と、通信部１２０と、記憶部１３０と、操作部１４０とを備える。
【００６３】
制御部１１０は、ＣＰＵ２１を含んで構成され、機器１００の動作を制御する。通信部１２０は、通信モジュール２５を含んで構成され、通信ネットワーク１０を介した通信を行う。通信部１２０は、端末装置２００と直接的に通信する機能を有していてもよい。記憶部１３０は、ＲＡＭ２２、ＲＯＭ２３、及び補助記憶装置２４を含んで構成され、各種の情報及びデータを記憶する。操作部１４０は、入力装置２６を含んで構成され、ユーザ操作を受け付ける。操作部１４０は、アクション開始操作を受け付けるための物理ボタン又はソフトウェアボタンを有する。
【００６４】
制御部１１０は、コマンド取得部１１１と、アクション制御部１１２とを備える。
【００６５】
コマンド取得部１１１は、端末装置２００から送信された制御コマンドを、通信部１２０を介して取得する。
【００６６】
アクション制御部１１２は、コマンド取得部１１１により制御コマンドが取得された後、ユーザにより操作部１４０（アクション開始ボタン）が操作されたことに応じて、当該制御コマンドに対応するアクションを開始するよう制御する。
【００６７】
（第１実施形態に係る動作例）
第１実施形態に係る機器制御システム１の動作例について説明する。図７は、第１実施形態に係る機器制御システム１の動作例を示す図である。
【００６８】
図７に示すように、ステップＳ１０１において、端末装置２００は、ユーザからのレシピ検索操作を受け付ける。
【００６９】
ステップＳ１０２において、端末装置２００は、レシピ（ＨＲＲ）の提供を要求するＨＲＲ要求をレシピ配信サーバ３００に送信する。
【００７０】
ステップＳ１０３において、レシピ配信サーバ３００は、端末装置２００からのＨＲＲ要求に対応するＨＲＲを読み出す。
【００７１】
ステップＳ１０４において、レシピ配信サーバ３００は、読み出したＨＲＲを端末装置２００に送信する。ＨＲＲにはレシピＩＤが対応付けられている。
【００７２】
ステップＳ１０５において、端末装置２００は、ユーザからの機器制御操作を受け付ける。
【００７３】
ステップＳ１０６において、端末装置２００は、機器１００の制御を要求する制御要求を機器制御サーバ４００に送信する。制御要求にはレシピＩＤ及び機器ＩＤが対応付けられている。
【００７４】
ステップＳ１０７において、機器制御サーバ４００は、端末装置２００からの制御要求に対応するＭＲＲを読み出す（取得する）。
【００７５】
ステップＳ１０８において、機器制御サーバ４００は、読み出したＭＲＲを解読する。
【００７６】
ステップＳ１０９において、機器制御サーバ４００は、ＭＲＲの解読結果に基づいて、機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。
【００７７】
ステップＳ１１０において、機器制御サーバ４００は、生成した制御コマンドを端末装置２００に送信する。
【００７８】
ステップＳ１１１において、端末装置２００は、機器制御サーバ４００から制御コマンドを受信し、受信した制御コマンドを機器１００に転送する。
【００７９】
ステップＳ１１２において、機器１００は、ユーザからのアクション開始操作を受け付ける。
【００８０】
ステップＳ１１３において、機器１００は、端末装置２００から取得した制御コマンドに対応するアクションを実行する。
【００８１】
＜第１実施形態の変更例＞
上述した第１実施形態において、機器制御サーバ４００からの制御コマンドを端末装置２００が機器１００に転送する一例について説明した。しかしながら、機器制御サーバ４００は、端末装置２００を介さずに制御コマンドを機器１００に送信してもよい。かかる場合、機器１００の宛先情報（アドレス情報）が機器制御サーバ４００に予め登録されていてもよいし、機器１００の宛先情報（アドレス情報）が端末装置２００からの制御要求により機器制御サーバ４００に通知されてもよい。
【００８２】
図８は、本変更例に係る機器制御システム１の動作例について説明する。図７は、本変更例に係る機器制御システム１の動作例を示す図である。
【００８３】
図８に示すように、ステップＳ２０１乃至Ｓ２０９の各処理は、図７のステップＳ２０１乃至Ｓ２０９の各処理と同様である。
【００８４】
ステップＳ２１０において、機器制御サーバ４００は、生成した制御コマンドを機器１００に送信する。機器１００は、機器制御サーバ４００から制御コマンドを受信する。
【００８５】
ステップＳ２１１において、機器１００は、ユーザからのアクション開始操作を受け付ける。
【００８６】
ステップＳ２１２において、機器１００は、機器制御サーバ４００から取得した制御コマンドに対応するアクションを実行する。
【００８７】
＜第２実施形態＞
第２実施形態について、第１実施形態との相違点を主として説明する。
【００８８】
上述した第１実施形態において、ＭＲＲを機器制御サーバ４００が解読する一例について説明した。これに対し、第２実施形態においては、機器制御サーバ４００は、読み出したＭＲＲを解読することなく、当該ＭＲＲを端末装置２００に送信（配信）する。端末装置２００は、機器制御サーバ４００から取得したＭＲＲを解読する。
【００８９】
（第２実施形態に係る端末装置の機能ブロック構成）
第２実施形態に係る端末装置２００の機能ブロック構成について説明する。図９は、第２実施形態に係る端末装置２００の機能ブロック構成を示す図である。
【００９０】
図９に示すように、端末装置２００は、制御部２１０と、通信部２２０と、記憶部２３０と、操作部２４０と、表示部２５０とを備える点において、第１実施形態と共通する。
【００９１】
第２実施形態に係る制御部２１０は、ＨＲＲ取得部２１１と、制御要求部２１２と、ＭＲＲ取得部２１４と、処理部２１５とを備える。ＨＲＲ取得部２１１及び制御要求部２１２については第１実施形態と同様である。
【００９２】
ＭＲＲ取得部２１４は、ＭＲＲを機器制御サーバ４００から取得する。
【００９３】
処理部２１５は、ＭＲＲ取得部２１４により取得されたＭＲＲを解読し、制御対象の機器１００を制御するための処理を行う。処理部２１５は、ＭＲＲ解読部２１５ａと、コマンド生成部２１５ｂと、コマンド送信部２１５ｃとを備える。
【００９４】
ＭＲＲ解読部２１５ａは、ＭＲＲ取得部２１４により取得されたＭＲＲを解読する。
【００９５】
コマンド生成部２１５ｂは、ＭＲＲ解読部２１５ａによるＭＲＲの解読結果に基づいて、制御対象の機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。例えば、機器ＩＤごとに、実行可能なアクション（アクションＩＤ）の一覧が定義されており、コマンド生成部２１５ｂは、当該一覧を参照することにより、制御対象の機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。
【００９６】
コマンド送信部２１５ｃは、コマンド生成部２１５ｂにより生成されたコマンドを、通信部２２０を介して機器１００に送信する。
【００９７】
（第２実施形態に係る動作例）
第２実施形態に係る機器制御システム１の動作例について説明する。図１０は、第２実施形態に係る機器制御システム１の動作例を示す図である。
【００９８】
図１０に示すように、ステップＳ３０１において、端末装置２００は、ユーザからのレシピ検索操作を受け付ける。
【００９９】
ステップＳ３０２において、端末装置２００は、レシピ（ＨＲＲ）の提供を要求するＨＲＲ要求をレシピ配信サーバ３００に送信する。
【０１００】
ステップＳ３０３において、レシピ配信サーバ３００は、端末装置２００からのＨＲＲ要求に対応するＨＲＲを読み出す。
【０１０１】
ステップＳ３０４において、レシピ配信サーバ３００は、読み出したＨＲＲを端末装置２００に送信する。ＨＲＲにはレシピＩＤが対応付けられている。
【０１０２】
ステップＳ３０５において、端末装置２００は、ユーザからの機器制御操作を受け付ける。
【０１０３】
ステップＳ３０６において、端末装置２００は、機器１００の制御を要求する制御要求を機器制御サーバ４００に送信する。制御要求にはレシピＩＤが対応付けられている。
【０１０４】
ステップＳ３０７において、機器制御サーバ４００は、端末装置２００からの制御要求に対応するＭＲＲを読み出す。
【０１０５】
ステップＳ３０８において、機器制御サーバ４００は、読み出したＭＲＲを端末装置２００に送信（配信）する。
【０１０６】
ステップＳ３０９において、端末装置２００は、機器制御サーバ４００から取得したＭＲＲを解読する。
【０１０７】
ステップＳ３１０において、端末装置２００は、ＭＲＲの解読結果に基づいて、機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。
【０１０８】
ステップＳ３１１において、端末装置２００は、生成した制御コマンドを機器１００に送信する。
【０１０９】
ステップＳ３１２において、機器１００は、ユーザからのアクション開始操作を受け付ける。
【０１１０】
ステップＳ３１３において、機器１００は、端末装置２００から取得した制御コマンドに対応するアクションを実行する。
【０１１１】
＜第３実施形態＞
第３実施形態について、第１との相違点を主として説明する。
【０１１２】
上述した第１実施形態において、ＭＲＲを機器制御サーバ４００が解読する一例について説明した。これに対し、第３実施形態においては、機器制御サーバ４００は、読み出したＭＲＲを解読することなく、当該ＭＲＲを端末装置２００に送信（配信）する。端末装置２００は、機器制御サーバ４００からのＭＲＲを機器１００に転送する。機器１００は、端末装置２００から取得したＭＲＲを解読する。
【０１１３】
（第３実施形態に係る機器の機能ブロック構成）
第３実施形態に係る機器１００の機能ブロック構成について説明する。図１１は、第３実施形態に係る機器１００の機能ブロック構成を示す図である。
【０１１４】
図１１に示すように、機器１００は、制御部１１０と、通信部１２０と、記憶部１３０と、操作部１４０とを備える点において、第１実施形態と共通する。
【０１１５】
第３実施形態に係る制御部１１０は、ＭＲＲ取得部１１３と、処理部１１４とを備える。
【０１１６】
ＭＲＲ取得部１１３は、ＭＲＲを端末装置２００から取得する。
【０１１７】
処理部１１４は、ＭＲＲ取得部１１３により取得されたＭＲＲを解読し、自機器１００を制御するための処理を行う。処理部１１４は、ＭＲＲ解読部１１４ａと、アクション制御部１１４ｂとを備える。
【０１１８】
ＭＲＲ解読部１１４ａは、ＭＲＲ取得部１１３により取得されたＭＲＲを解読し、解読結果に基づいて、自機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。例えば、機器ＩＤごとに、実行可能なアクション（アクションＩＤ）の一覧が定義されており、ＭＲＲ解読部１１４ａは、当該一覧を参照することにより、自機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。
【０１１９】
アクション制御部１１４ｂは、ＭＲＲ解読部１１４ａによりアクションが抽出された後、ユーザにより操作部１４０（アクション開始ボタン）が操作されたことに応じて、当該アクションを開始するよう制御する。
【０１２０】
（第３実施形態に係る動作例）
第３実施形態に係る機器制御システム１の動作例について説明する。図１２は、第３実施形態に係る機器制御システム１の動作例を示す図である。
【０１２１】
図１０に示すように、ステップＳ４０１において、端末装置２００は、ユーザからのレシピ検索操作を受け付ける。
【０１２２】
ステップＳ４０２において、端末装置２００は、レシピ（ＨＲＲ）の提供を要求するＨＲＲ要求をレシピ配信サーバ３００に送信する。
【０１２３】
ステップＳ４０３において、レシピ配信サーバ３００は、端末装置２００からのＨＲＲ要求に対応するＨＲＲを読み出す。
【０１２４】
ステップＳ４０４において、レシピ配信サーバ３００は、読み出したＨＲＲを端末装置２００に送信する。ＨＲＲにはレシピＩＤが対応付けられている。
【０１２５】
ステップＳ４０５において、端末装置２００は、ユーザからの機器制御操作を受け付ける。
【０１２６】
ステップＳ４０６において、端末装置２００は、機器１００の制御を要求する制御要求を機器制御サーバ４００に送信する。制御要求にはレシピＩＤが対応付けられている。
【０１２７】
ステップＳ４０７において、機器制御サーバ４００は、端末装置２００からの制御要求に対応するＭＲＲを読み出す。
【０１２８】
ステップＳ４０８において、機器制御サーバ４００は、読み出したＭＲＲを端末装置２００に送信（配信）する。
【０１２９】
ステップＳ４０９において、端末装置２００は、機器制御サーバ４００から取得したＭＲＲを機器１００に転送する。
【０１３０】
ステップＳ４１０において、機器１００は、端末装置２００から取得したＭＲＲを解読し、自機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。
【０１３１】
ステップＳ４１１において、機器１００は、ユーザからのアクション開始操作を受け付ける。
【０１３２】
ステップＳ４１２において、機器１００は、ＭＲＲから抽出したアクションを実行する。
【０１３３】
＜第３実施形態の変更例＞
上述した第３実施形態において、機器制御サーバ４００からのＭＲＲを端末装置２００が機器１００に転送する一例について説明した。しかしながら、機器制御サーバ４００は、端末装置２００を介さずにＭＲＲを機器１００に送信してもよい。かかる場合、機器１００の宛先情報（アドレス情報）が機器制御サーバ４００に予め登録されていてもよいし、機器１００の宛先情報（アドレス情報）が端末装置２００からの制御要求により機器制御サーバ４００に通知されてもよい。
【０１３４】
図１３は、本変更例に係る機器制御システム１の動作例について説明する。図１３は、本変更例に係る機器制御システム１の動作例を示す図である。
【０１３５】
図１３に示すように、ステップＳ５０１乃至Ｓ５０７の各処理は、図１２のステップＳ４０１乃至Ｓ４０７の各処理と同様である。
【０１３６】
ステップＳ５０８において、機器制御サーバ４００は、読み出したＭＲＲを機器１００に送信（配信）する。
【０１３７】
ステップＳ５０９において、機器１００は、機器制御サーバ４００から取得したＭＲＲを解読し、自機器１００が実行可能なアクション（アクションＩＤ）をＭＲＲから抽出する。
【０１３８】
ステップＳ５１０において、機器１００は、ユーザからのアクション開始操作を受け付ける。
【０１３９】
ステップＳ５１１において、機器１００は、ＭＲＲから抽出したアクションを実行する。
【０１４０】
＜その他の実施形態＞
以上、実施形態について記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【０１４１】
上述した実施形態において、機器制御システム１が端末装置２００を備える一例について説明した。しかしながら、機器１００がレシピ配信サーバ３００及び機器制御サーバ４００と通信可能であり、且つ、機器１００がタッチパネル等のユーザインターフェイスを有する場合には、端末装置２００を不要としてもよい。かかる場合、上述した第１実施形態及び第３実施形態において端末装置２００が行っていた動作を、端末装置２００に代えて機器１００が行ってもよい。
【０１４２】
上述した実施形態において、レシピ配信サーバ３００及び機器制御サーバ４００が別々のサーバ装置である一例について説明した。しかしながら、レシピ配信サーバ３００及び機器制御サーバ４００のそれぞれの機能を１つのサーバ装置に持たせて、レシピ配信サーバ３００及び機器制御サーバ４００を１つのサーバ装置に統合してもよい。
【０１４３】
機器制御システム１における各処理をコンピュータに実行させるプログラムが提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。
コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体であってもよい。
【符号の説明】
【０１４４】
１        ：機器制御システム
１０      ：通信ネットワーク
２１      ：ＣＰＵ
２２      ：ＲＡＭ
２３      ：ＲＯＭ
２４      ：補助記憶装置
２５      ：通信モジュール
２６      ：入力装置
２７      ：出力装置
２８      ：機構
３０      ：レシピ配信サーバ
１１０    ：制御部
１１１    ：コマンド取得部
１１２    ：アクション制御部
１１３    ：ＭＲＲ取得部
１１４    ：処理部
１１４ａ  ：ＭＲＲ解読部
１１４ｂ  ：アクション制御部
１２０    ：通信部
１３０    ：記憶部
１４０    ：操作部
２００    ：端末装置
２１０    ：制御部
２１１    ：ＨＲＲ取得部
２１２    ：制御要求部
２１３    ：コマンド転送部
２１４    ：ＭＲＲ取得部
２１５    ：処理部
２１５ａ  ：ＭＲＲ解読部
２１５ｂ  ：コマンド生成部
２１５ｃ  ：コマンド送信部
２２０    ：通信部
２３０    ：記憶部
２４０    ：操作部
２５０    ：表示部
３００    ：レシピ配信サーバ
４００    ：機器制御サーバ
４１０    ：制御部
４１１    ：要求受付部
４１２    ：ＭＲＲ取得部
４１３    ：処理部
４１３ａ  ：ＭＲＲ解読部
４１３ｂ  ：コマンド生成部
４１３ｃ  ：コマンド送信部
４２０    ：通信部
４３０    ：記憶部
【図１】
2019204504.tif 000006
【図２】
2019204504.tif 000007
【図３】
2019204504.tif 000008
【図４】
2019204504.tif 000009
【図５】
2019204504.tif 000010
【図６】
2019204504.tif 000011
【図７】
2019204504.tif 000012
【図８】
2019204504.tif 000013
【図９】
2019204504.tif 000014
【図１０】
2019204504.tif 000015
【図１１】
2019204504.tif 000016
【図１２】
2019204504.tif 000017
【図１３】
2019204504.tif 000018