(57)【要約】  物理的環境センサからセンサデータが受信される。センサデータの少なくとも一部分と関連付けられたコンポーネント領域が識別される。物理的環境は、複数のコンポーネント領域を含むように定義済みである。識別されたコンポーネント領域と関連付けられたコンテキスト情報が得られる。コンテキスト情報は、予測モデルと関連付けて利用される。
2021518004.tif 000002
【特許請求の範囲】
【請求項１】
物理的環境センサからセンサデータを受信することと、
前記センサデータの少なくとも一部分と関連付けられたコンポーネント領域を識別することであって、物理的環境が、複数のコンポーネント領域を含むように定義済みである、識別することと、
前記識別されたコンポーネント領域と関連付けられたコンテキスト情報を得ることと、
予測モデルと関連付けて前記コンテキスト情報を利用することと、
を含む、方法。
【請求項２】
前記コンテキスト情報が、人間のユーザによって実行された活動を検出するために、前記予測モデルと関連付けて利用される、請求項１に記載の方法。
【請求項３】
前記センサデータが、前記識別されたコンポーネント領域と関連付けられた前記コンテキスト情報に基づいて選択された１つ又は複数の信号アグリゲータによって処理される、請求項１に記載の方法。
【請求項４】
前記１つ又は複数の信号アグリゲータの各々が、異なるセンサデータ及び関連コンテキスト情報を集計し、前記信号アグリゲータの１つ又は複数の出力が、前記予測モデルによって、対象者によって実行された活動を識別するために利用される、請求項３に記載の方法。
【請求項５】
前記物理的環境と関連付けられたユーザが新しい物理的環境に位置する際は、前記予測モデルが、前記新しい物理的環境への応用のために移行される、請求項１に記載の方法。
【請求項６】
複数の物理的環境センサが、識別された同じコンポーネント領域をモニタし、前記複数の物理的環境センサからのセンサデータが、前記複数の物理的環境センサが前記識別された同じコンポーネント領域をモニタしているという識別に応答して、まとめて相関される、請求項１に記載の方法。
【請求項７】
前記予測モデルと関連付けて前記コンテキスト情報を利用することが、前記予測モデルを訓練することを含む、請求項１に記載の方法。
【請求項８】
前記予測モデルと関連付けて前記コンテキスト情報を利用することが、対象者の複数の候補活動状態と関連付けられた対応する予測値を計算するために、前記コンテキスト情報を前記予測モデルに提供することを含む、請求項１に記載の方法。
【請求項９】
ネットワーク接続デバイスを制御するために前記予測モデルの結果を使用することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記物理的環境センサが、スイッチ、カメラ、動き検出器、赤外線検出器、光検出器、加速度計、熱検出器、人体姿勢検出器、温度計、大気質センサ、煙探知器、マイクロフォン、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器及び電力利用センサの少なくとも１つを含む、請求項１に記載の方法。
【請求項１１】
前記複数のコンポーネント領域が、コンポーネント領域の階層を含む、請求項１に記載の方法。
【請求項１２】
前記複数のコンポーネント領域の少なくとも２つが、互いに重複する、請求項１に記載の方法。
【請求項１３】
前記複数のコンポーネント領域が、三次元空間及び三次元エリアを含む、請求項１に記載の方法。
【請求項１４】
前記識別されたコンポーネント領域が、前記物理的環境の物体の周りの物理的領域として定義済みである、請求項１に記載の方法。
【請求項１５】
前記物理的環境が、アパート環境である、請求項１に記載の方法。
【請求項１６】
前記物理的環境の前記複数のコンポーネント領域が、前記物理的環境のグラフモデルを使用して少なくとも部分的に定義済みである、請求項１に記載の方法。
【請求項１７】
前記センサデータの前記少なくとも一部分と関連付けられた前記コンポーネント領域を識別することが、存在する場合、１つ又は複数のコンポーネント領域のうちのどのコンポーネント領域が前記物理的環境センサによって検出されたかを決定し、前記センサデータの前記少なくとも一部分を前記識別されたコンポーネント領域と関連付けることを含む、請求項１に記載の方法。
【請求項１８】
前記識別されたコンポーネント領域と関連付けられた前記コンテキスト情報を得ることが、前記物理的環境のグラフモデルから前記コンテキスト情報を得ることを含む、請求項１に記載の方法。
【請求項１９】
前記コンテキスト情報が、前記識別されたコンポーネント領域と関連付けられた空間関係情報、前記識別されたコンポーネント領域と関連付けられた機能情報、前記識別されたコンポーネント領域と関連付けられたアイテムについての情報及び前記識別されたコンポーネント領域と関連付けられた前記アイテムの機能能力についての情報のうちの１つ又は複数を含む、請求項１に記載の方法。
【請求項２０】
物理的環境センサからセンサデータを受信することと、
前記センサデータの少なくとも一部分と関連付けられたコンポーネント領域を識別することであって、物理的環境が、複数のコンポーネント領域を含むように定義済みである、識別することと、
前記識別されたコンポーネント領域と関連付けられたコンテキスト情報を得ることと、
予測モデルと関連付けて前記コンテキスト情報を利用することと
を行うように構成されたプロセッサと、
前記プロセッサに結合されたメモリであって、前記プロセッサに命令を提供するように構成されたメモリと
を含む、システム。
【請求項２１】
非一時的なコンピュータ可読記憶媒体において具体化されるコンピュータプログラム製品であって、
物理的環境センサからセンサデータを受信することと、
前記センサデータの少なくとも一部分と関連付けられたコンポーネント領域を識別することであって、物理的環境が、複数のコンポーネント領域を含むように定義済みである、識別することと、
前記識別されたコンポーネント領域と関連付けられたコンテキスト情報を得ることと、
予測モデルと関連付けて前記コンテキスト情報を利用することと
を行うためのコンピュータ命令を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]  この出願は、２０１６年１１月１７日に出願された「CONTROLLING CONNECTED DEVICES USING A RELATIONSHIP GRAPH」と称する同時係属中の米国特許出願第１５／３５４，１１５号の一部継続出願であり、同特許は、すべての目的のために参照により本明細書に組み込まれる。
【背景技術】
【０００２】
発明の背景
[0002]  ネットワーク接続デバイス（例えば、モノのインターネット（すなわち、ＩｏＴ：Internet of Things）デバイス）は、環境内（例えば、自宅）でのデバイスのリモート制御及び自動化を可能にする。しかし、これらのデバイスは、完全自律型にはなり得ない場合が多い。ユーザは、リモート制御様式のデバイスを手動で操作しなければならないか、又は、ユーザは、所望のオペレーションの模倣を試みる複雑なルールを手動で作成しなければならない場合が多い。例えば、ユーザは、所望の結果に関連するという理由により、デバイスが具体的に位置する場所や、デバイスの能力／範囲や、各デバイスが周囲の環境に具体的にどのように影響を及ぼすことになるかを認識しなければならない。それに加えて、ユーザが新しい環境に位置する際は、ユーザは、デバイスの自動化の再構成、再訓練又は再学習を行わなければならない。
【０００３】
図面の簡単な説明
[0003]  本発明の様々な実施形態は、以下の詳細な説明及び添付の図面において開示される。
【図面の簡単な説明】
【０００４】
【図１Ａ】[0004]ネットワーク接続デバイスを自動的に制御するためのシステムの実施形態を示す図である。
【図１Ｂ】[0005]ネットワーク接続デバイスを自動的に制御するためのコンポーネント間の相互作用の実施形態を示す図である。
【図１Ｃ】[0006]ネットワーク接続デバイスを自動的に制御するためのシステムのサブコンポーネントの実施形態を示す図である。
【図１Ｄ】[0007]対象者の活動状態を決定する際に含まれる概念コンポーネントの実施形態を示す図である。
【図１Ｅ】[0008]コンテキスト入力の履歴の例を示す図である。
【図１Ｆ】[0009]コンテキストマッパを使用して活動を少なくとも部分的に検出する実施形態を示す図である。
【図２Ａ】[0010]コンテキスト情報をコンポーネント領域と関連付けるためのプロセスの実施形態を示すフローチャートである。
【図２Ｂ】[0011]制御ルールを自動的に学習して適用するためのプロセスの実施形態を示すフローチャートである。
【図２Ｃ】[0012]対象者のもう１つの状態を検出するためのプロセスの実施形態を示すフローチャートである。
【図３】[0013]検出された状態が正しい状態である可能性を決定するためのプロセスの実施形態を示すフローチャートである。
【図４】[0014]ネットワーク接続制御可能デバイスの自動化ルールを自動的に発見するためのプロセスの実施形態を示すフローチャートである。
【図５】[0015]選択出力結果を決定するためのプロセスの実施形態を示すフローチャートである。
【図６】[0016]ネットワーク接続制御可能デバイスの制御可能特性の出力候補を自動的に決定するためのプロセスの実施形態を示すフローチャートである。
【図７】[0017]選択出力を実施するためのプロセスの実施形態を示すフローチャートである。
【図８】[0018]改善された出力の発見を試みるためのプロセスの実施形態を示すフローチャートである。
【図９Ａ】[0019]接続デバイス環境の近隣レベルの階層グラフモデルの例を示す図である。
【図９Ｂ】[0020]接続デバイス環境の建物レベルの階層グラフモデルの例を示す図である。
【図９Ｃ】[0021]接続デバイス環境のユニットレベルの階層グラフモデルの例を示す図である。
【図９Ｄ】[0022]接続デバイス環境の部屋レベルの階層グラフモデルの例を示す図である。
【図１０】[0023]接続デバイス環境のモデルを初期化するためのプロセスの実施形態を示すフローチャートである。
【図１１】[0024]環境モデルを使用してコマンドを処理するためのプロセスの実施形態を示すフローチャートである。
【発明を実施するための形態】
【０００５】
詳細な説明
[0025]  本発明は、プロセスとして、装置として、システムとして、組成物として、コンピュータ可読記憶媒体上で具体化されるコンピュータプログラム製品として及び／又はプロセッサ（プロセッサに結合されたメモリ上に格納される及び／又はメモリによって提供される命令を実行するように構成されたプロセッサなど）としてを含めて、多くの方法で実装することができる。この仕様では、これらの実装形態又は本発明が取り入れることができる他の任意の形態は、技法と称することができる。一般に、開示されるプロセスのステップの順番は、本発明の範囲内で変更することができる。別段の言明がない限り、タスクを実行するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定の時刻にタスクを実行するように一時的に構成された汎用コンポーネントとして又はタスクを実行するように製造された専用コンポーネントとして実装することができる。本明細書で使用される場合、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ又は複数のデバイス、回路及び／又は処理コアを指す。
【０００６】
[0026]  本発明の１つ又は複数の実施形態の詳細な説明は、本発明の原理を示す添付の図と共に、以下で提供される。本発明は、そのような実施形態と関係して説明されるが、本発明は、いかなる実施形態にも限定されない。本発明の範囲は、特許請求項の範囲によってのみ制限され、本発明は、多くの代替形態、変更形態及び均等形態を包含する。本発明の完全な理解を提供するため、多くの具体的な詳細が以下の説明に記載されている。これらの詳細は、例示を目的として提供され、本発明は、これらの具体的な詳細のいくつか又はすべてを利用せずとも、特許請求の範囲に従って実践することができる。明確にするため、本発明に関連する技術分野で知られている技術資材については、本発明を不必要に曖昧にすることのないように詳細には説明していない。
【０００７】
[0027]  対話型デバイスコントローラが開示される。例えば、配備環境のネットワーク接続スマートデバイスは、コントローラハブを使用して自律的に制御され、コントローラハブは、ユーザのニーズを事前に察知し、ユーザがリモート制御様式のスマートデバイスの複雑なセットを手動で操作する必要なく、スマートデバイスを自動的に制御する。コントローラハブは、機械学習、ユーザの指定された好み及び／又は自動化ルールを検出されたセンサ入力（例えば、カメラ、マイクロフォン、動き検出器などからの入力）に適用することによって、ユーザのニーズを事前に察知することができる。
【０００８】
[0028]  いくつかの実施形態では、コンテキスト情報は、１つ又は複数の動作をトリガする状態（例えば、検出されたユーザ活動）の学習及び検出の際に利用される。例えば、適切なネットワーク接続スマートデバイス動作をトリガする状態を学習及び検出するために生のセンサ情報を頼りにするというよりむしろ、環境において１つ又は複数のセンサから検出された情報は、センサが位置する特有の環境について知られている高レベルのコンテキスト情報のコンテキスト（例えば、予測モデルを生成するために及び／又は予測モデルへ入力として、関連コンテキスト情報と組み合わせたセンサ情報）において分析される。これにより、センサデータは、ユーザの状態／活動を検出するために１つ又は複数のモデルによって使用されるコンテキスト事象と解釈することができる。これらのモデルへの入力として高レベルのコンテキスト事象を使用することにより、モデルは、異なる環境の異なるセンサデータに対する様々な異なるマッパ／変換装置を使用することによって、様々な異なる環境にわたって使用することができる。
【０００９】
[0029]  いくつかの実施形態では、環境は、コンポーネント領域に分割される。特有のコンテキスト情報は、各コンポーネント領域と関連付けられる。例えば、指定済みの、検出済みの及び／又は学習済みの各コンポーネント領域と関連付けられた空間形状、機能特性及び／又は音響情報についての情報は、対応するコンポーネント領域と関連付けられる。入力（例えば、センサデータ）が受信されると、入力と関連付けられた１つ又は複数のコンポーネント領域が識別され、関連コンテキスト情報が得られる。次いで、少なくともコンテキスト情報を使用して、環境の状態（例えば、ユーザ活動）が決定される。決定されたユーザの状態は、ネットワーク接続スマートデバイスをトリガするために使用することができる。
【００１０】
[0030]  しかし、ある状況では、スマートデバイスを制御するための動作（例えば、電球を点灯すること）を実行すべきであると確実に決定することが難しい場合がある。例えば、ユーザの状態によって動作をトリガする際に、センサ入力（例えば、カメラ画像）を考慮した上で、ユーザの状態（例えば、ユーザによって実行されている現在の動作）を確実に決定することが難しい場合がある。いくつかの実施形態では、単に動作を実行するか又は実行しないかというよりむしろ、ユーザは、動作を実行すべきかどうかを確認するように促される。例えば、動作は、ユーザのニーズを事前に察知した際に潜在的に実行されるように、システムによって自動的に識別済みである（例えば、ユーザは、動作を実行するように具体的には要求していないが、システムは、望ましいものとして動作を自動的に識別している）。しかし、システムは、センサ入力の分析結果の不確実性を考慮した上で、動作を実行すべきかについて十分な確信を得ていないために、システムは、スピーカのオーディオ出力を介して、システムが動作を実行すべきかどうかを確認するようにユーザに促す。ユーザが動作を実行すべきであることを承認した場合は、動作が実行される。
【００１１】
[0031]  いくつかの実施形態では、環境の１つ又は複数の状態についてのセンサ情報が受信される。例えば、センサは、密閉された物理的場所（例えば、自宅、建物など）に位置し、センサ入力は、環境の様々な状態（例えば、環境におけるデバイスの状態、温度、湿度、明るさ、動き、１体又は複数の人間又は動物の状態）を決定するための分析のために受信される。いくつかの実施形態では、１つ又は複数の状態は、受信されたセンサ入力に基づいて状態が正しいという確実性の尺度と関連付けられる。いくつかの実施形態では、１つ又は複数の状態は、センサ情報と関連付けられた１つ又は複数のコンポーネント領域についてのコンテキスト情報を使用して決定される。
【００１２】
[0032]  センサ情報を使用して検出された状態に少なくとも部分的に基づいて、動作を潜在的に実行することに対する期待値と比べて、動作を自動的に実行することに対する期待値が評価される。例えば、期待値は、オプションと関連付けられた望ましさの度合いの尺度である。期待値は、特定の関連動作に特有のものである。期待値は、数ある因子の中でも特に、入力状態を考慮した上で動作に対する関連オプションを選んだ際の潜在的な利益、入力状態を考慮した上で動作に対する関連オプションを選ばなかった際の潜在的な危害、動作に対する過去のオプション選択の履歴、関連オプションを選んだためにユーザに掛かる迷惑などを考慮に入れることができる。いくつかの実施形態では、期待値は、決定された状態を考慮した上で、動作に対する各出力取扱タイプに対して決定される。これらの出力取扱タイプは、動作を自動的に実行すること（例えば、ユーザ対話型適格性評価を必要としない）、ユーザ対話型適格性評価を必要として、動作を潜在的に実行すべきであると決定すること、及び、動作を実行しないことを含み得る。ユーザ対話型適格性評価は、動作を実行すべきかどうかをユーザに問い合わせて、ユーザが承認表示を提供した場合にのみ動作を実行することと関連付けることができる。別の例では、ユーザ対話型適格性評価は、別段の指示がない限りこれから動作を実行し、別段の指示があれば動作を実行しないという警告を提供することと関連付けることができる。ユーザ対話型適格性評価は、動作の実行に関する事前適格性評価であり得、ユーザからの適格性評価表示は、動作の実行を許可するか又は阻止することができる。
【００１３】
[0033]  いくつかの実施形態では、動作を実行しないことは、ユーザが動作を手動で実行する可能性が高いという理由により、動作の実行を待つことと関連付けられる。いくつかの実施形態では、期待値を評価することは、最も望ましい結果に対応する期待値（最高又は最低値）を選択するために、特定の動作と関連付けられた各出力取扱タイプと関連付けられた期待値を比較することを含む。
【００１４】
[0034]  いくつかの実施形態では、動作を自動的に取り入れることに対する期待値が、ユーザ対話型適格性評価を必要とせずに動作の自動的な実行をトリガするのに不十分であると決定された場合は、動作を実行すべきか又は動作の実行を阻止すべきかについてのユーザからの応答を要求するために、対話型問合せがユーザに提供される。
【００１５】
[0035]  図１Ａは、ネットワーク接続デバイスを自動的に制御するためのシステムの実施形態を示す図である。デバイス１０２は、センサデバイス及び制御可能デバイス（例えば、ＩｏＴデバイス）を含む１つ又は複数のネットワーク接続デバイスを含む。デバイス１０２に含まれる１つ又は複数の制御可能デバイスの例は、コンピュータネットワークに接続することができる、スイッチ、ドアロック、サーモスタット、電球、台所／家庭用電化製品、カメラ、スピーカ、ガレージドアオープナ、窓装飾（例えば、ロールスクリーン、カーテンなど）、ファン、電源コンセント、オーディオ／視覚デバイス、調光器、潅漑システム、ペットフィーダ及び他の任意のデバイスを含む。デバイス１０２に含まれる１つ又は複数のセンサデバイスの例は、スイッチ、カメラ、動き検出器、赤外線検出器（例えば、受動赤外線センサ）、光検出器、加速度計、熱検出器／カメラ、人体姿勢／動きカメラ／検出器、温度計、大気質センサ、煙探知器、マイクロフォン、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器、電力利用センサ及び他の任意のセンサを含む。
【００１６】
[0036]  ハブ１０４は、有線及び／又は無線接続を介してデバイス１０２と通信する。例えば、デバイス１０２のデバイスは、WiFi、Bluetooth、Bluetooth Low Energy、Zigbee、Z-Wave、電力線通信、Ethernet及び／又は他の任意の無線若しくは有線通信プロトコルを利用するように構成された通信インタフェースを介して、ハブ１０４と通信する。いくつかの実施形態では、ハブ１０４とデバイス１０２は、同じ環境に配備されている。例えば、デバイス１０２は、自宅に配備されているデバイスを含み、ハブ１０４は、自宅内で短距離無線信号を介してデバイスと無線通信する。いくつかの実施形態では、ハブ１０４は、ユーザデバイス１０８との及び／又はネットワーク１１０を介するデバイス１０２の通信及び／又は制御を容易にする。例えば、ユーザデバイス１０８は、デバイス１０２のデバイスについての情報を制御及び閲覧するために、直接無線接続（例えば、Bluetooth、Wifiなど）を介して及び／又はネットワーク１１０を介して、ハブ１０４に接続される。別の例では、ユーザデバイス１０８は、ハブ１０４及び／又はサーバ１０６を介してデバイス１０２にアクセスするために、ネットワーク１１０に接続される。いくつかの実施形態では、デバイス１０２の１つ又は複数のデバイス／センサは、ハブ１０４に情報を報告し、これを受けて、ハブ１０４は、処理のために、ネットワーク１１０を介して、報告された情報をサーバ１０６に提供する。いくつかの実施形態では、デバイス１０２の１つ又は複数のデバイス及び／又はセンサは、ハブ１０４を介してルーティングされることなく、ネットワーク１１０と直接通信する。例えば、デバイスは、ネットワーク１１０に直接アクセスするためのWifi及び／又はセルラ無線を含む。
【００１７】
[0037]  ユーザデバイス１０８の例は、ユーザのラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、着用可能デバイス、スマートウォッチ及び他の任意の電子コンピューティングデバイスを含む。いくつかの実施形態では、ユーザデバイス１０８からの情報は、デバイス１０２の自動化を可能にするために、サーバ１０６及び／又はハブ１０４に提供される。例えば、ユーザデバイス１０８によって検出されたＧＰＳ場所は、デバイス自動化ルールを決定及び／又はトリガするために、センサ入力としてハブ１０４及び／又はサーバ１０６に提供される。いくつかの実施形態では、デバイス１０２のデバイスと関連付けられた情報は、ユーザデバイス１０８に提供される。例えば、デバイス１０２のデバイスの検出された警報は、ハブ１０４及び／又はサーバ１０６を介してユーザデバイス１０８に提供される。サーバ１０６は、デバイス１０２と関連付けられた情報を処理及び／又は格納してデバイス１０２の制御及び管理を可能にするために、クラウドコンピューティングインフラの一部であり得る。いくつかの実施形態では、ハブ１０４は、デバイス１０２を自動的に制御するために、インタフェース及び制御ハブとして機能する。図１Ａでは記憶素子は明示的に示されていないが、示されるコンポーネントのいずれも、ローカル記憶装置を含むこと、及び／又は、ローカル接続された記憶装置及び／又はリモート記憶装置にアクセスすることができる。例えば、ローカル及び／又はリモート記憶装置は、デバイス１０２間の関係、環境のコンポーネント領域間の関係及びデバイス１０２と環境のコンポーネント領域との間の関係をマッピングする環境モデル並びに環境のコンポーネント領域と関連付けられたコンテキスト情報を格納する。
【００１８】
[0038]  いくつかの実施形態では、ユーザがデバイス１０２の１つ又は複数の制御可能デバイスとどのように対話したいかを自動的に学習して制御可能デバイスの特性を自律的且つ自動的に調整するため、図１Ａに示されるシステムを使用して機械学習が実行される。いくつかの実施形態では、ユーザの好み及び挙動の強力な統計モデルが自動的に構築される。例えば、デバイス１０２のセンサ及びユーザデバイス１０８は、ユーザの存在、活動及び挙動の好みについて学習するためにデバイスと関連付けられた環境モデル及び／又は１つ若しくは複数のコンポーネント領域と関連付けられたコンテキスト情報と共に利用される。デバイス１０２の制御可能デバイスは、学習したデータに基づいて、自動的に管理及び制御することができる。例えば、制御コマンド又はユーザ定義の制御ルールの明示的な提供をユーザに要求することによってリモート制御様式のデバイス１０２の制御可能デバイスを単に使用するというよりむしろ、デバイスは、ユーザがデバイスを明示的にトリガすることなく、学習したユーザの好みに基づいて自動的に制御される。
【００１９】
[0039]  いくつかの実施形態では、機械学習（例えば、ローカル及び／又はクラウドベースのもの）は、多くの異なるデバイス／センサ（例えば、デバイス１０２）からの入力を統合して、ユーザの存在、活動及び挙動の独自のモデルを構築するために利用される。例えば、自宅などの環境には、リモート又はローカル制御が可能なデバイス１０２が設置される。デバイス１０２のセンサは、環境における人々の存在及び動きについてのデータや、家の照明、温度及び湿度などの環境特性の測定値や、対象者の動きや、環境の異なる場所の映像を提供することができる。機械学習は、デバイス／センサの場所、機能及び挙動特性並びに学習プロセスの間のそれらのデータを説明するために、環境のコンポーネント領域及び関連コンテキスト情報を考慮に入れることができる。
【００２０】
[0040]  いくつかの実施形態では、学習は、自動的に決定されたユーザの好みとマッチするように、制御可能デバイスをどのように自動的に制御するか及びデバイス１０２の制御可能デバイスをどのように自動的に調整するかを学習するために実行される。例えば、センサは、制御可能デバイス状態（例えば、挙動や、スイッチ、サーモスタット及び他のデバイスとの相互作用）の変更をトリガする環境条件を検出し、環境条件には、環境モデル及びコンポーネント領域のコンテキスト情報を使用してコンテキストが与えられ、デバイス１０２のデバイスには、自動的に学習したユーザの好みに従って自律的にコマンドが出される。
【００２１】
[0041]  いくつかの実施形態では、機械学習は、ローカルハブによって特定の環境に対して実行される。例えば、ハブ１０４は、環境のモデルを使用して、デバイス１０２を含むその配備された環境のユーザに対して学習を実行する。いくつかの実施形態では、ローカルハブで機械学習を実行するというよりむしろ、リモート（例えば、クラウドベース）で機械学習の少なくとも一部分が実行される。例えば、ハブ１０４の環境に対する機械学習は、ローカル環境の環境モデル及びコンポーネント領域のコンテキスト情報を認識しているサーバ１０６によって実行される。いくつかの実施形態では、バックエンドサーバが、様々な異なる環境及びそれらのコンポーネント領域にわたって学習を実行し、異なる環境の各々及びそのコンポーネント領域を自動的に構成する上で役立てるためにその結果を利用する。例えば、環境モデルは、様々なコンポーネント領域を表して共に接続するノードの階層を含み（例えば、建物のグラフモデルは、建物の個々のユニットに対するノード要素を含む）、学習は、様々なコンポーネント領域のグラフ全体にわたって実行される。
【００２２】
[0042]  いくつかの実施形態では、ハブ１０４及び／又はサーバ１０６は、デバイス１０２の１つ又は複数のデバイスから受信されたセンサデータを状態表現（例えば、人の挙動、場所などの状態）に変換する１つ又は複数の推論エンジンを含む。例えば、推論エンジンは、統計的学習及び／又はディープラーニング技法を頼りにする機械学習アルゴリズムを利用する。いくつかの実施形態では、ハブ１０４及び／又はサーバ１０６は、「視覚エンジン」（例えば、ＭＬ推論）を含み、視覚エンジンは、対象者（例えば、人間、ペットなど）の場所、挙動、姿勢（例えば、骨格追跡）及び活動（例えば、空間及び動き特徴）を推論するために、１つ又は複数のカメラセンサから画像／映像を受信し、視覚アルゴリズムを使用して画像／映像を分析する。いくつかの実施形態では、接続デバイスを所望の状態に制御する人のハンドジェスチャを学習するため、カメラ映像データが分析される。一実施形態では、ジェスチャは、人による統計的実証から学習される。一実施形態では、ジェスチャは、ディープラーニングを使用して学習される。いくつかの実施形態では、人の存在、活動及び挙動の好みについての情報を含む意味表現を構築するため、視覚データ及び他のセンサデバイスからのデータの出力が利用される。状態情報は、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報を使用して決定することができる及び／又はコンテキストが与えられ、１つ又は複数の状態についての高レベルの情報は、環境モデル及び／又はコンテキスト情報を使用して補外することができる。
【００２３】
[0043]  いくつかの実施形態では、示されるシステムにおいて、データは、事象駆動データベースアーキテクチャを使用して送信される。例えば、センサデータは、ストリーミングの前に、最初に、コンパクトな特徴ベクトルに変換される。いくつかの実施形態では、センサデータは、ストリーミングの前に、システムにおける異なるタイプの雑音をモデル化する統計的学習モデルによって雑音除去される。
【００２４】
[0044]  いくつかの実施形態では、ハブ１０４及び／又はサーバ１０６は、検出された状態を利用して１つ又は複数の自動的に決定された自動化ルールをトリガする１つ又は複数の「ルールエンジン」を含む。例えば、ルールエンジンは、事前条件及び事後条件を有するルールからなり、環境のある事前条件状態が検出された場合は、１つ又は複数のネットワーク接続制御可能デバイスを事後条件状態にするためのルールがトリガされる。例えば、人が机で本を読んでいることが検出された場合は、システムは、読書灯を点灯する。ルールの事前条件は、環境モデルの１つ又は複数の特性に基づき得る。
【００２５】
[0045]  いくつかの実施形態では、サーバ１０６は、自動化ルールを自動的に決定するために利用することができる様々なタイプの情報を格納する。例えば、様々な時点におけるセンサデータ及びデバイス１０２のデバイス制御事象（例えば、照明スイッチを押す、サーモスタットの温度を変更するなど）が記録される。ユーザが望む好み／構成を学習することにより、環境の条件が以前に記録された条件とマッチした際に、好み／構成を再作成することができる。いくつかの実施形態では、デバイスの制御動作の統計モデル（例えば、遷移モデル）が決定される。例えば、ネットワーク接続電球を点灯するか又は消灯すると、関連環境条件（例えば、ユーザ場所、動作、時刻など）及び関連制御可能デバイスステータスが格納される。いくつかの実施形態では、どの状態ベクトルが制御可能デバイスのどの制御動作にマッピングされるかが学習される。いくつかの実施形態では、学習方法は、状態ベクトルの値を制御可能デバイスの状態変化にマッピングする関数の重みを学習する。いくつかの実施形態では、学習方法は、状態ベクトルから制御可能デバイスの状態変化への多段非線形マッピングを学習するためにディープラーニングを使用する。いくつかの実施形態では、自動的にトリガされたルールの動作に関するユーザからのフィードバックが報酬の形式で受信され、制御ルールを自動的に修正するために強化学習が使用される。いくつかの実施形態では、サーバ１０６は、１つ又は複数の配備環境に対する環境モデルを格納する。
【００２６】
[0046]  いくつかの実施形態では、あるアラームを発するか又は重要な事象が検出され、データが格納される。例えば、不法侵入が異常な事象として検出され、それに応答して、スマートフォンに送信される警報及びサイレンの起動を含む出力警報が生成される。別の例では、赤ん坊がベビーベッドからはい出ていることが検出される。手動でセットされたアラームとは異なり、自動的に検出される異常な事象は、センサデータを使用する事象の統計モデリングに基づいて検出することができる。
【００２７】
[0047]  様々な実施形態では、検出することができる事象の例は、存在事象（例えば、家レベルでの存在、部屋レベルでの存在、小エリアでの存在（例えば、座っているエリア、眠っているエリア、立っているエリアなど）など）、人々／人間事象（例えば、顔検出／認識、声紋／指紋、人間場所／姿勢検出、人間感情検出（例えば、イライラするなど）など）、ペット事象（例えば、ペット活動）、環境事象（例えば、コンロ／オーブンのオン／オフ、テレビの使用、換気ファンの使用、冷蔵庫ドアの開閉、玄関先へのパッケージ配送など）及び活動事象（例えば、シャワーを浴びる、入浴する、トイレを使用する、テレビを視聴する、ベッドから起き上がる、睡眠の質を検出する、ベッド内活動を実行する、起床時刻を検出する、ベッドで寝る、飲食する、食卓に座る、ドアを閉めて外に出る、ドアを開けて中に入る、キャビネットを使用する、冷蔵庫を使用する、電子レンジを使用する、オーブンを使用する、流し台を使用する、コーヒーを入れる、薬を飲む、洗濯物を洗濯機に入れる、照明を制御する、ソファに座る、机に向かう、植物に水をやる、床を掃除するなど）を含む。１つ又は複数の事象は、強度レベル（例えば、少ない動き、非常に活発な動きなど）と関連付けることができる。
【００２８】
[0048]  いくつかの実施形態では、事象を検出することに応答して、出力応答（例えば、音、ユーザ警報、光警報、着用可能警報など）が生成される。例えば、コンロが閾値時間量を超えて付けっ放しになっていることが検出された場合及び／又は人間の対象者の存在が検出されなかった場合は、コンロが自動的に消される及び／又は出力警報が生成される。別の例では、水漏れが検出されると、自動出力警報が送信され、送水バルブが自動的に閉まる。別の例では、人が転倒し、その人のさらなる動きが検出されない場合は、緊急連絡先及び／又は緊急機関への警報が自動的に送信される。別の例では、朝の時間帯にリビングルームで人の存在が検出された場合は、カーテンが自動的に開く。別の例では、湿度が閾値を上回っていることが検出された場合は、ファンが自動的に付く。別の例では、好ましい湿度を維持するため、加湿器が自動的にオン／オフに切り替わる。別の例では、学習した好ましい時刻になると、コーヒーメーカーが自動的にオンになる。別の例では、エネルギーレートが比較的低い時刻に食器洗い機が自動的に動作するようにスケジュールされる。別の例では、時刻に基づいて光強度が自動的に調整される（例えば、対象者が真夜中にバスルームに行くために起き上がると、照明が低強度で点灯する）。別の例では、対象者が夕食を取っていることが検出されると、音楽が自動的にかかる。別の例では、周囲温度と湿度が閾値を上回っており、対象者が座っていることが検出されると、ファンが自動的に付く。別の例では、対象者がある場所に向かって歩き、容器に水を注ぎ、薬の入った物を取ろうと手を伸ばし、水を飲むという検出されたパターンに基づいて、対象者が薬を飲んだことがユーザに通知される。別の例では、ベッドで寝ていた対象者が、バスルームに向かい、トイレの水を流す音が検出され、ベッドに戻るという検出されたパターンに基づいて、対象者が夜中にトイレに行き、トイレを使用したことが検出される。別の例では、ある時間帯内のある対象者（例えば、子供）の活動の検出されたパターンに基づいて、対象者がルーチン（例えば、朝のルーチン）を完了したことがユーザに通知される。別の例では、対象者が急激に地面に倒れたという検出に基づいて、対象者が転倒した可能性が高いことがユーザに通知される。別の例では、対象者が尋常でなく大騒ぎしているという検出に基づいて、その対象者のことがユーザに通知される。
【００２９】
[0049]  ある状況では、デバイス（例えば、デバイス１０２の制御可能デバイス）を制御するための動作（例えば、デバイスの特性を変更すること）を実行すべきであると確実に決定することが難しい場合がある。例えば、センサ入力を考慮した上で、入力状態（例えば、状態ベクトルの状態）を確実に決定することが難しい場合がある。従って、自動化ルールの評価の出力が、単に制御可能デバイスの特性を変更するか又は変更しないことである場合は、自動化ルールに提供される環境状態の不確実性により、制御可能デバイスの特性の変更が望ましくない時に制御可能デバイスの特性が変更される（例えば、望ましくない積極的な変更のトリガ）か、又は、制御可能デバイスの特性の変更が望ましい時に制御可能デバイスの特性が変更されない（例えば、望ましくない保守的な変更のトリガ）ことが起こり得る。いくつかの実施形態では、自動化ルールの評価によって単に動作が実行される及び実行されないというよりむしろ、ユーザは、自動化ルールへの入力状態を十分な確実性のレベルで決定できない場合に、動作のトリガを対話式で承認するか又は否認するように促される。例えば、ハブ１０４は、スピーカのオーディオ出力を介して、実行が望ましいものとして自動的に識別された動作をシステムが実行すべきかどうかについてユーザに促す。動作を実行すべきであるとユーザが承認した場合は、動作が実行される。自動化ルールによってトリガされる動作取扱の結果の例は、動作を実行すること、これから動作を実行するという警告を提供し、次いで、動作を実行すること（例えば、動作の実行をキャンセルするユーザ機会を有する）、動作を実行するかどうかユーザに問い合わせること（例えば、ユーザが承認した場合にのみ動作を実行する）、ユーザが手動で動作を実行する可能性が高いと決定すること（例えば、動作を実行せずに、待つ）及び動作を実行しないことを含む。
【００３０】
[0050]  ネットワーク１１０には、直接又は間接的な物理的通信接続、モバイル通信ネットワーク、インターネット、イントラネット、ローカルエリアネットワーク、広域ネットワーク、ストレージエリアネットワーク、無線ネットワーク、セルラネットワーク、及び、２つ以上のシステム、コンポーネント又は記憶装置をまとめて接続する他の任意の形態のうちの１つ又は複数を含めることができる。図１Ａに示されるコンポーネントのいずれかの追加の例が存在することもあり得る。例えば、単一の環境に複数のハブを配備して利用することができる。また、ユーザ関連情報を受信するため及び／又は同じ環境のデバイスを制御するため、複数のユーザデバイスを利用することもできる。サーバ１０６は、ネットワーク接続デバイスデータを処理する複数の分散サーバのうちの１つであり得る。いくつかの実施形態では、図１Ａに示されないコンポーネントが存在することもあり得る。
【００３１】
[0051]  図１Ｂは、ネットワーク接続デバイスを自動的に制御するためのコンポーネント間の相互作用の実施形態を示す図である。クラウドベースの機械学習モジュール１２０は、ルールエンジン１２２と通信する。ルールエンジン１２２は、センサ１２４から入力を受信し、デバイス１２６を制御する。クラウドベースの機械学習モジュール１２０の例は、図１Ａと併せて論じられる機械学習を実行するための１つ又は複数のモジュールを含む。ルールエンジン１２２の例は、図１Ａのハブ１０４及び／又はサーバ１０６の１つ又は複数の「ルールエンジン」を含む。センサ１２４及び／又は制御デバイス１２６は、図１Ａのデバイス１０２に含めることができる。ルールエンジン１２２と通信するクラウドベースの機械学習モジュール１２０は、ルールを発見して発動するために、センサ１２４及びデバイス１２６を含む環境のモデル（例えば、グラフモデル）を利用することができる。
【００３２】
[0052]  図１Ｃは、ネットワーク接続デバイスを自動的に制御するためのシステムのサブコンポーネントの実施形態を示す図である。いくつかの実施形態では、図１Ｃに示されるクラウドのコンポーネント１３０は、図１Ａのサーバ１０６に含めることができる。いくつかの実施形態では、図１Ｃに示されるローカルハブのコンポーネント１３２は、図１Ａのハブ１０４に含めることができる。
【００３３】
[0053]  図１Ｄは、対象者の活動状態を決定する際に含まれる概念コンポーネントの実施形態を示す図である。いくつかの実施形態では、図１Ｄのコンポーネントは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。
【００３４】
[0054]  略図１４０は、複数の入力信号を示す。これらの入力信号は、センサから（例えば、図１Ａのデバイス１０２から、図１Ｂのセンサ１２４からなど）のセンサデータを表す。入力信号は、コンテキストマッパ／変換装置を使用して処理され、コンテキストマッパ／変換装置の各々は、入力信号の少なくとも一部分を１つ又は複数の適切な信号アグリゲータにルーティングすることができる。対応する入力信号が検知／検出された環境の場所及び関連コンテキスト情報に基づいて及び／又はどのユーザ／対象者が対応する入力信号及び関連コンテキスト情報と関連付けられたかに基づいて、コンテキストマッパは、入力信号及び関連コンテキスト情報を１つ又は複数の適切な信号アグリゲータにマッピングする。例えば、入力信号が、環境の特定のコンポーネント領域をモニタすることで知られているセンサからのものである場合は、このセンサからの入力信号を関連コンテキスト情報と共に１つ又は複数の適切な信号アグリゲータにルーティング／マッピングするため、コンテキストマッパによって、特定のコンポーネント領域と関連付けられたコンテキスト情報が利用される。一例では、「入力信号１」が、自宅環境の「台所」コンポーネント領域においてマイクロフォンによって検出された音信号である場合は、「台所の水音検出器」信号アグリゲータにルーティングされ、「入力信号２」が、「台所」コンポーネント領域においてカメラによって検出されたカメラ画像である場合は、「台所の人間検出」信号アグリゲータにルーティングされる。別の例では、特定のユーザが入力信号と関連付けられることについて知られているか又は検出された場合は、入力信号を１つ又は複数の適切な信号アグリゲータにルーティング／マッピングするため、コンテキストマッパによって、特定のユーザと関連付けられたコンテキスト情報が利用される。一例では、「入力信号３」が、動きセンサによって検出された動き検出警報であり、その家のユーザがペットを飼っていることについて知られている場合は、ペットを飼っているというユーザコンテキストを理由に、この入力信号は、「家の中の人々」信号アグリゲータにルーティングされない。
【００３５】
[0055]  示される信号アグリゲータは、１つ又は複数の入力信号を取り入れ、対応するコンテキスト入力（例えば、台所で検出された水音、台所にいる女性の人など）を出力する。信号アグリゲータを使用することにより、本来なら生のセンサデータに高い意味レベルのコンテキストを提供する組み合わされた凝集コンテキスト入力を出力するために、様々な異なるセンサからのセンサデータをまとめて集計することができる。例えば、単なる生のセンサデータというよりむしろ高レベルのコンテキスト入力に基づいて活動状態予測モデルがより優れた予測を行えるように、検出センサデータの一部分は、入力信号のセンサデータに対応するコンポーネント領域と関連付けられたコンテキスト情報で拡張される。これにより、活動状態予測モデルは、同じ又は同様のコンテキストと関連付けられる際に、異なる配備環境のセンサからの異なる入力データに普遍的に取り組むことができる。信号アグリゲータの例は、ニューラルネットワーク、集計関数、他の機械学習モデル及びルール関数を含む。また、これらの信号アグリゲータは、異なる配備環境にわたって訓練された学習モデルでもあり得る。例えば、「台所の水音検出器」信号アグリゲータは、異なるユーザの異なるアパートからの訓練データを使用して訓練済みのものである。
【００３６】
[0056]  示される普遍的な活動予測モデルの各々は、適切なコンテキスト入力のうちの１つ又は複数を取り入れ、１つ又は複数の候補検出活動の検出確率の出力に貢献する。例えば、「台所で食器を洗う」という活動が検出されている確率が決定される。異なる候補検出活動の確率計算に基づいて、検出される（例えば、閾値基準を満たす）ものとして候補活動のうちの１つ又は複数が選択される。
【００３７】
[0057]  検出することができる活動のいくつかの例は、起床活動（例えば、ベッドから起き上がる）、デバイス制御動作活動（例えば、カーテンを開ける、照明を点灯する、音楽をかける）、ベッド内活動（例えば、ベッドに入って携帯電話でニュースをチェックする、ベッドから起き上がって汚れたパジャマを洗濯機に入れる）、朝のルーチン活動（例えば、歯を磨く、髭を剃る、整髪用ジェルを付ける、ドライヤーで髪を乾かす）、入浴／シャワー活動、調理準備活動（例えば、キャビネットからフライパンを取り出す）、冷蔵庫からアイテムを得る活動（例えば、冷蔵庫から卵とチーズを取り出す、冷蔵庫からジュースを取り出して注ぎ、冷蔵庫に戻す）、コンロ調理活動（例えば、コンロ上でオムレツを作る）、食べ物を皿に盛る活動（例えば、オムレツをフライパンから皿に移す）、コーヒーを入れる活動（例えば、コーヒーメーカーをスタートさせる）、朝食を取る活動（例えば、テーブルに着き、朝食を取る）、外出環境活動（例えば、ドアを開ける、家を出る、ドアを閉める、ドアに鍵を掛ける）、パッケージ配達活動、ペット検出活動、帰宅環境活動（例えば、ドアの錠を開ける、ドアを開ける、家に入る、ドアを閉める、ドアに鍵を掛ける）、テレビをつける活動（例えば、音声コマンド又はリモート制御コマンドでテレビをつける）、キャビネットからアイテムを取り出す活動（例えば、栓抜きを取り出す）、テレビを視聴する活動（例えば、テレビ音量制御）、電話活動（例えば、電話会話）、オーブン調理活動（例えば、魚をオーブンに入れる）、調理活動（例えば、キッチンタイマーをスタートする）、コンロ調理活動（例えば、鍋で食べ物をかき混ぜる）、調理終了活動（例えば、テーブルに着き、夕食を取る）、食事終了活動（例えば、皿とグラスを流し台に持っていく）、食器洗い活動（例えば、食器を食器洗い機に入れる）、洗濯物を洗濯機に入れる活動、洗濯完了活動、流し台を使用する活動（例えば、手を洗う）、歯磨き活動、洗顔活動、寝室に行く活動、ベッド上で作業する／読む活動、ベッドでゴロゴロする活動、睡眠活動などを含む。
【００３８】
[0058]  いくつかの実施形態では、活動予測モデルは、１つ又は複数の候補検出活動の確率を決定するために、以前のコンテキスト入力の履歴及び時間関係を考慮に入れる。図１Ｅは、コンテキスト入力の履歴の例を示す図である。図１Ｅに示されるように、コンテキスト入力の示される時間履歴１５０は、「薬を飲む」活動及び「夜中にトイレを使用する」活動の検出及び／又は確率計算に影響を及ぼすか、或いは、「薬を飲む」活動及び「夜中にトイレを使用する」活動の検出及び／又は確率計算をもたらす。
【００３９】
[0059]  図１Ｆは、コンテキストマッパを使用して活動を少なくとも部分的に検出する実施形態を示す図である。図１Ｆのコンテキストマッパ１６０は、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、コンテキストマッパ１６０は、図１Ｄに示されるコンテキストマッパを含む。コンテキストマッパ１６０は、検出器から入力データ（例えば、カメラ画像）を受信し、どの画像部分で動き及び／又はユーザが検出されたか及びその画像部分に対応する既知のコンポーネント領域に基づいて、ユーザの活動が検出される。
【００４０】
[0060]  図２Ａは、コンテキスト情報をコンポーネント領域と関連付けるためのプロセスの実施形態を示すフローチャートである。図２Ａのプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６によって少なくとも部分的に実行することができる。
【００４１】
[0061]  ２０２では、環境がコンポーネント領域に分割される。環境は、これから環境と対話する１人又は複数の対象者を検出するためにセンサが位置する配備環境を含む。センサによる検出に基づいて、ネットワーク接続デバイスが自動的に制御される。コンポーネント領域の各々は、場所識別子（例えば、１つ又は複数の場所座標、エリア識別子、相対的場所識別子など）によって識別される。例えば、コンポーネント領域は、多角形／多面体境界領域を識別する場所座標によって定義される。別の例では、コンポーネント領域は、コンポーネント領域を包含するポイント又は特徴／物体からの半径又は他の距離値（例えば、ソファ家具アイテムから半径３６インチ以内のエリアは、ソファコンポーネント領域に含まれる）によって定義される。コンポーネント領域は、様々な実施形態では、ポイント場所でも、二次元エリアでも、三次元空間／エリア（例えば、３Ｄ場所座標によって指定された３Ｄエリアの境界）でもあり得る。コンポーネント領域のうちの１つ又は複数は、互いに少なくとも部分的に重複し得、互いに階層的に関連し得る（例えば、「台所」コンポーネント領域は、「台所の流し台エリア」コンポーネント領域より階層的に高い）。コンポーネント領域は、互いに空間的に関連し、それらのコンポーネント領域間の空間関係は、環境の環境モデル（例えば、図９Ａ〜９Ｄでさらに論じられるようなグラフモデル）によって指定することができる。環境の例は、自宅、アパート、家、商業施設、建物などを含む。コンポーネント領域の例は、自宅の空間／部屋（例えば、寝室、台所、ダイニングルーム、バスルーム、洗濯室、ガレージ、リビングルームフロア領域、寝室の壁領域など）、住宅設備上の／住宅設備近くの／住宅設備周辺のエリア（例えば、化粧テーブル領域、流し台領域、コンロ領域、シャワー領域など）、環境内の物体上の／環境内の物体近くの／環境内の物体周辺のエリア（例えば、ソファ領域、ベッド領域、テレビ領域、机領域など）などを含む。
【００４２】
[0062]  いくつかの実施形態では、環境のコンポーネント領域の仕様が受信される。例えば、外部生成仕様（例えば、管理者によって構成されたもの、外部デバイスによって検出及び生成されたものなど）が受信される。いくつかの実施形態では、環境のコンポーネント領域は自動的に検出される。例えば、環境に配備／設置されたセンサは、環境のコンポーネント領域を自動的に検出する（例えば、以前のセンサデータを使用して集められた及び／又は事前に選択された訓練データから提供された訓練データを使用して訓練された機械学習モデルを使用して）。いくつかの実施形態では、環境に含まれる各センサに対し、センサによって検出されるコンポーネント領域が識別／構成される。例えば、カメラセンサの場合、カメラによって捕捉された画像の各部分がどのように特定のコンポーネント領域にマッピングされるかが決定される。別の例では、マイクロフォンセンサの場合、環境内のマイクロフォンセンサの相対的場所及び環境内のその場所を考慮した上でのマイクロフォン（例えば、マイクロフォンセンサによってコンポーネント領域の音を検出することができるもの）に対する音響パターンが識別される。別の例では、動き検出器の場合、動き検出器によって検知することができるコンポーネント領域が識別される。各センサがどのようにコンポーネント領域を検出するか及びどのコンポーネント領域を検出するかを知ることで、コンポーネント領域の変化／状態を決定する際に、同じコンポーネント領域に対して検知されたデータのすべてを互いに相関させることができる。それに加えて、コンポーネント領域間の既知の関係を考慮して、異なるコンポーネント領域をカバーするセンサからのデータは、その既知の関係を踏まえてまとめて分析することができる。
【００４３】
[0063]  ２０４では、コンテキスト情報がコンポーネント領域の少なくとも一部分の各コンポーネント領域と関連付けられる。コンテキスト情報は、対応するコンポーネント領域と関連付けられた空間関係情報及び／又は機能情報を含む。例えば、コンテキスト情報は、コンポーネント領域と関連付けられた機能能力についての情報（例えば、座る、寝る、調理する、洗う、保管など）を含む。別の例では、コンテキスト情報は、コンポーネント領域と関連付けられたアイテムについての情報（例えば、コンポーネント領域のアイテム、コンポーネント領域の保管ユニットに保管されたアイテム）を含む。別の例では、コンテキスト情報は、コンポーネント領域と関連付けられたアイテムの機能能力についての情報を含む。別の例では、コンテキスト情報は、そのコンポーネント領域と他のコンポーネント領域との空間関係についての情報（例えば、階層関係、隣接情報、接続情報、グラフ関係など）を含む。
【００４４】
[0064]  いくつかの実施形態では、環境のコンポーネント領域のコンテキスト情報の仕様が受信される。例えば、外部生成仕様（例えば、管理者によって構成されたもの、外部デバイスによって検出及び生成されたものなど）が受信される。いくつかの実施形態では、環境のコンポーネント領域のコンテキスト情報は自動的に検出される。例えば、環境に配備／設置されたセンサは、環境のコンポーネント領域のコンテキスト情報を自動的に検出する（例えば、以前のセンサデータを使用して集められた及び／又は事前に選択された訓練データから提供された訓練データを使用して訓練された機械学習モデルを使用して）。例えば、テスト用の音響音が放出され、様々な異なるコンテキスト領域に対するマイクロフォンを使用して、様々な異なるコンテキスト領域に対する音響パターンコンテキスト情報が決定される。
【００４５】
[0065]  ２０６では、コンポーネント領域情報及び関連コンテキスト情報が利用される。例えば、コンポーネント領域情報及び関連コンテキスト情報は、予測モデルを訓練するため及び／又は状態の予測を実行するために利用される。コンテキスト情報は、ネットワーク接続デバイスと関連付けられた１つ又は複数の動作をトリガする状態／活動の学習及び検出の際に利用することができる。例えば、適切なネットワーク接続スマートデバイス動作をトリガするユーザ状態を学習及び検出するために生のセンサ情報を頼りにするというよりむしろ、環境において１つ又は複数のセンサから検出された情報は、予測モデルを訓練するため及び／又は予測モデルを使用して予測するために利用される検出された状態／活動を決定するために、センサと関連付けられたコンテキスト領域の適切なコンテキスト情報を使用して分析される。これにより、センサデータは、ユーザの状態／活動を検出するために１つ又は複数の予測モデルによって使用される意味的に高レベルの事象に変換することができる。これらの予測モデルへの入力として高レベルの事象を使用することにより、予測モデルは、異なる環境の異なるセンサ入力に対する様々な異なるマッパ／変換装置を使用することによって、様々な異なる環境にわたって使用することができる。
【００４６】
[0066]  図２Ｂは、制御ルールを自動的に学習して適用するためのプロセスの実施形態を示すフローチャートである。図２Ｂのプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６によって少なくとも部分的に実行することができる。いくつかの実施形態では、図２Ｂのプロセスの少なくとも一部分は、図２Ａの２０６において実行される。
【００４７】
[0067]  ２１２では、センサデータが受信される。いくつかの実施形態では、受信されるセンサデータは、図１Ａのデバイス１０２の１つ又は複数のセンサデバイスからのデータを含む。例えば、スイッチ、カメラ、動き検出器、赤外線検出器（例えば、受動赤外線センサ）、光検出器、加速度計、熱検出器／カメラ、人体姿勢／動きカメラ／検出器、温度計、大気質センサ、煙探知器、マイクロフォン、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器、電力利用センサ及び環境をモニタする他の任意のセンサからのデータが受信される。いくつかの実施形態では、センサデータは、ユーザデバイス（例えば、図１Ａのユーザデバイス１０８）からのデータを含む。例えば、ユーザデバイス上のセンサ（例えば、場所センサ、ＧＰＳ、加速度計、心拍数センサ、方位センサ、マイクロフォン、ジャイロスコープなど）からのデータが受信される。別の例では、ユーザデバイスからのデータは、ステータスデータ及び／又はユーザ指定データを含む。いくつかの実施形態では、センサデータは、１つ又は複数の制御可能デバイスからのデータを含む。例えば、図１Ａのデバイス１０２の制御可能デバイスのステータス、構成、機能状態、パラメータ及び／又は他の任意のデータが受信される。いくつかの実施形態では、センサデータは、周期的に受信される。例えば、センサデバイスは、現在検出されているセンサデータを周期的に送信する。いくつかの実施形態では、センサデータは、動的に受信される。例えば、センサデータは、センサデータが検出された際に受信される。いくつかの実施形態では、受信されるセンサデータは、複数のセンサデバイスから受信される。いくつかの実施形態では、センサデータは、ハブ（例えば、図１Ａのハブ１０４）で受信され、センサデータは、別のハブと共有される／別のハブに送信される、及び／又は、処理のためにコンピューティングクラウドに送信される（例えば、図１Ａのサーバ１０６に送信される）。
【００４８】
[0068]  ２１４では、センサデータを使用して１つ又は複数の状態が識別される。いくつかの実施形態では、センサデータは、受信されたデータにおいて検出された環境のコンポーネント領域を識別するために分析され（例えば、環境に対して識別された図２Ａの２０２のコンポーネント領域から選択される）、識別されたコンポーネント領域の各々に対し、存在する場合は、関連コンテキスト情報（例えば、図２Ａの２０４のコンポーネント領域に対して決定される）が得られる。例えば、センサからの特定のセンサデータは、環境のコンポーネント領域の特定のサブセットを検出するために識別済みであり、特定のセンサデータは、センサの環境のコンポーネント領域の特定のサブセットと関連付けられたコンテキスト情報のコンテキストにおいて分析される。一例では、人（及び特定の人体姿勢）がカメラによって捕捉された画像の一部分において検出されると、画像の一部分がどのコンポーネント領域に対応するかが識別され、検出された人の存在／人体姿勢は、予測モデルを訓練するため又は予測モデルを使用して予測を生成するための入力として提供される際に、識別されたコンポーネント領域及びその関連コンテキスト情報と関連付けられる。別の例では、マイクロフォンによって音声コマンドが検出されると、音声コマンドを発したユーザがどのコンポーネント領域に位置する可能性が高いかが識別され、音声コマンドは、予測モデルを訓練するため又は予測モデルを使用して予測を生成するための入力として提供される際に、識別されたコンポーネント領域及びその関連コンテキスト情報と関連付けられる。
【００４９】
[0069]  いくつかの実施形態では、機械学習は、識別されたコンポーネント領域、識別されたコンポーネント領域の関連コンテキスト情報及び／又は受信されたセンサデータを使用して実行される。いくつかの実施形態では、機械学習を実行することは、再帰的隠れマルコフモデル及び／又は期待値最大化を利用することを含む。いくつかの実施形態では、各状態は、機械学習を使用して検出することが望ましい情報の離散カテゴリと関連付けられる。例えば、人／動物によって現在実行されている活動は、存在する場合は、想定される検出可能な複数の活動の中から検出することが望ましい。これは、人及び人によって実行された活動を検出するために、映像／画像に対する識別されたコンポーネント領域の関連コンテキスト情報のコンテキストのカメラ映像／画像データを分析することによって達成することができる。いくつかの実施形態では、検出された各対象者の状態が決定される。いくつかの実施形態では、識別されたコンポーネント領域の関連コンテキスト情報のコンテキストのセンサデータを１つ又は複数の特定の状態に低減することにより、センサデータは、１つ又は複数の自動化ルールを決定するために利用することができる有意変数値に低減される。いくつかの実施形態では、状態は、ベクトルの形式であり得る。例えば、状態ベクトルは、値のグループ化を含む。いくつかの実施形態では、状態ベクトルは、時間値、気象予報、日付値、並びに、時間及び／又は環境条件と関連付けられた他のデータのうちの１つ又は複数を含む。
【００５０】
[0070]  多くの事例では、完全な精度で特定の状態を決定することは難しい。例えば、センサデータを使用すると、対象者の正確な場所及び活動を決定することが難しい場合がある。いくつかの実施形態では、決定された状態が正しい可能性／確率が決定される。例えば、ある状態は、想定される複数の異なる状態のうちの１つであり得、想定される状態の各々が正しい状態である確率が決定される。いくつかの実施形態では、確率を決定するために、機械学習（例えば、統計的学習及び／又はディープラーニング）を実行することができる。例えば、各候補状態の全体的な可能性／パーセンテージを決定するために、センサ関連データと潜在的な状態との間の相関性、以前の状態と潜在的な状態との間の相関性（例えば、遷移モデル）及び異なる状態／状態コンポーネント間の関連性の統計的学習及び／又はディープラーニングモデルが構築され且つ利用される。
【００５１】
[0071]  いくつかの実施形態では、経時的観察は、統計入力として利用され、経時的に進化する状態ベクトルを推定するために利用される。状態ベクトルは、検出された対象者存在、活動などについての情報にセンサデータを変換する推論エンジンの出力であり得る。一実施形態では、家での対象者（例えば、人間及びペット）の動的プロセス並びに対象者の動きがモデル化される。一実施形態では、非線形関係を学習するために、ディープラーニングが利用される。いくつかの実施形態では、人々の数、人々の場所及び人々の活動を推論するために、マイクロフォンセンサから捕捉された音が利用される。一実施形態では、音を前述の状態ベクトルと関連付けるために、統計モデルが利用される。
【００５２】
[0072]  いくつかの実施形態では、対象者の活動状態（例えば、大まかな活動状態−読む、寝る、調理するなどや、詳細な活動状態−本を読む及び開く、本を置くなど）を含む状態ベクトルが推定される。一実施形態では、状態ベクトルは、時刻、気象、家の中の人々の数、対象者場所及び実行されている現在の活動などの他の関連情報を含む。いくつかの実施形態では、状態ベクトルは、１つ又は複数の制御可能デバイス状態を含む。いくつかの実施形態では、状態ベクトルは、環境の各領域（例えば、部屋）の対象者のリストを含む。いくつかの実施形態では、学習方法は、センサデータの値を状態ベクトルにマッピングする関数の重みを学習する。いくつかの実施形態では、学習方法は、センサデータから状態ベクトルへの多段非線形マッピングを学習するためにディープラーニングを利用する。
【００５３】
[0073]  いくつかの実施形態では、１つ又は複数の状態は、環境の環境モデルを使用して識別される。例えば、図１Ａのサーバ１０６及び／又はハブ１０４に格納された環境グラフモデルが利用される。グラフモデルの例は、図９Ａ〜９Ｄに示されている。グラフモデルはノードやノード間の関係を識別するため、識別された状態及び／又は検出されたセンサデータは、グラフモデルからのコンテキスト情報で拡張することができる。例えば、センサの物理的配置（例えば、場所、方位など）の情報は、検知された情報のコンテキストを提供するために使用できるため、センサについての物理的場所情報、並びに、それらの互いの関係及び物理的環境のコンポーネント領域との関係は、検出されたセンサデータの追加の場所情報を決定するために利用することができる。いくつかの実施形態では、環境モデル及び／又は環境モデルに含まれるコンポーネント領域のコンテキスト情報から決定された追加の状態は、状態ベクトルに含まれる。いくつかの実施形態では、環境モデルは、状態及び／又はセンサデータの抽象化を可能にする。例えば、センサデータは、センサデータが得られた領域のタイプと関連付けられた領域についての高レベルの情報に一般化することができる。
【００５４】
[0074]  いくつかの実施形態では、センサ及び／又はカメラからのデータは、人がどんな活動を実行し得るか又は人が行き得る場所を予測するために分析される。活動及び／又は場所予測に基づいて、予知動作を起こすことができる。例えば、ユーザが読書デスクに向かって移動し始めた場合は、ユーザがこれから読書デスクで読書することが予測され、ユーザが読み始める前であっても、ネットワーク接続灯が点灯する。
【００５５】
[0075]  ２１６では、識別された状態に基づいて、１つ又は複数の自動化ルールが発見される。例えば、識別された状態がある制御可能デバイス状態／ステータス／動作と相関性があることが観察された時点で、関連状態が検出された際に制御可能デバイスを関連状態／ステータス／動作にするというルールが作成される。決定された状態と検出された制御可能デバイス状態／ステータス／動作との間の相関性を識別することができ、その相関性が閾値に達した時点で、自動化ルールが動的に作成及び／又は更新される。いくつかの実施形態では、自動化ルールを生成するため、状態群及び／又は広範な状態値と制御可能デバイス状態／ステータス／動作との間の相関性が識別され且つ利用される。いくつかの実施形態では、相関性及び／又は自動化ルールを決定する際に、各状態の確率尺度を利用することができる。いくつかの実施形態では、相関性を見出すため、決定された状態及び関連確率値の履歴並びに経時的に同時に起こる制御可能デバイス状態／ステータス／動作が格納され、機械学習（例えば、統計的学習及び／又はディープラーニング）を使用して分析される。相関性の尺度が閾値を上回る場合は、対応する自動化ルールを作成及び／又は更新することができる。いくつかの実施形態では、自動化ルールは、見出された新しい相関性に基づいて、継続的に追加／更新される。
【００５６】
[0076]  いくつかの実施形態では、デバイスを制御するルールエンジンのルールは、自動的に学習される。一実施形態では、ルールは、ポリシーを学習するために強化学習問題として策定される。一実施形態では、ポリシーの実行は、比例微分コントローラを使用して行われる。ルールエンジンは、トリガ状態ベクトル及びセンサ情報に基づいて、動作（例えば、デバイスの状態を変更すること）を起こすことができる。一実施形態では、機械学習アルゴリズムのパラメータは、オンライン確率的勾配アルゴリズムを使用して修正される。ルールエンジンは、ルールの学習及び／又はトリガのために、ユーザデバイス、ウェブサービス、気象サービス、カレンダーイベント及び他のデータソースからのデータを考慮に入れることができる。
【００５７】
[0077]  いくつかの実施形態では、１つ又は複数の自動化ルールを発見することは、環境の対応する識別されたコンポーネント領域と関連付けられたコンテキスト情報を利用することを含む（例えば、環境のグラフモデルを使用して得られる）。例えば、自動化ルールは、特定のコンポーネント領域及び／又は関連コンテキスト情報に基づき得る（例えば、環境グラフモデルの特定のノード、エリア／領域、関係及び／又はエッジに基づく）。いくつかの実施形態では、対応する識別されたコンポーネント領域と関連付けられたコンテキスト情報は、より一般化されたルールの発見を可能にする。例えば、デバイスの信頼できる及び一般化可能な場所情報及び／又は関係なしでは、検出されたセンサ／デバイスに基づくルールしか発見されない。しかし、コンポーネント領域のコンテキスト情報があれば、一般的な場所概念／説明（例えば、台所）及び／又はデバイス間の関係に適用可能なより一般化されたルールを発見することができる。より一般化されたルールの発見、発動及び／又は利用を可能にすることにより、より多くの状況及び場所においてルールが適用可能になる。例えば、特定のユーザに特有のルールであるが、より広いエリア／領域用に一般化されたルールは、特定のユーザが異なる環境（異なる環境モデルを有するが、同じラベルが付けられたエリア／領域を有する）に移動した際に、異なる環境に応用することができる（例えば、ユーザが夜中に台所エリアに入った際に照明を点灯するというルールは、実際の照明デバイス及びそれらの構成が異なる台所にわたって異なる場合であっても、ユーザが訪れるすべての台所にわたって適用することができる）。いくつかの実施形態では、識別されたコンポーネント領域を使用して動作をより広い概念に一般化できるようにする（例えば、より広い場所コンテキストに一般化する）ことにより、様々な異なるタイプの配備環境にわたって（例えば、同じユーザ及び／又は異なるユーザによって）ルール発見を行うことができる。
【００５８】
[0078]  ２１８では、決定された状態に基づいて、自動的に発見されたルールが発動される。例えば、自動的に発見されたルールのトリガ条件は、識別された状態であり、ルールは、ルールによって指定された通りに制御可能デバイスの特性（例えば、状態／ステータス／機能／動作など）を修正するために発動される。いくつかの実施形態では、ルールのトリガ条件は、複数の異なる状態及び／又は広範な状態である。いくつかの実施形態では、決定された状態に基づいて、複数のルールが適用／トリガされる。いくつかの実施形態では、適用されるルールは、適用される別のルールとは一致しない。例えば、あるルールは、照明スイッチをオンにすべきであることを指定する一方で、別のルールは、照明スイッチをオフにすべきであることを指定する。ルール間のコンフリクトを解決するため、各ルールは、別のルールに対するそのルールの好みの尺度を示す好み値と関連付けることができる。いくつかの実施形態では、自動的にトリガされたルールの動作に関するユーザからのフィードバックが報酬の形式で受信され、制御ルールを自動的に修正するために強化学習が使用される。
【００５９】
[0079]  いくつかの実施形態では、ルールを発動することは、環境モデルのコンポーネント領域を利用することを含む。例えば、１つ又は複数のトリガ条件及び／又は所望の結果は、コンポーネント領域に基づく。特定のデバイスに言及するという条件を要求するというよりむしろ、条件は、コンポーネント領域（例えば、環境グラフモデルのノード及びエッジを使用して指定される）に基づいて識別することができる一般化された概念に言及することができる。これにより、特定の電球の特定のデバイス識別子を指定する必要があるというよりむしろ、「台所」コンポーネント領域の照明を点灯するというルール例が可能になる。
【００６０】
[0080]  いくつかの実施形態では、最適化関数を利用して、制御可能デバイスの特性が修正される。例えば、各周期的間隔で状態入力（例えば、ユーザ状態、デバイス／センサ状態、環境の状態、２１４の状態など）が受信され且つ利用され、状態入力を考慮した上で制御可能デバイスの最適な特性設定が選択される。これは、最適化関数（例えば、コスト関数）を利用して、制御可能デバイスの候補特性設定の最適化評価値（例えば、学習された又は指定されたコスト値）を評価し、最適な候補特性設定を選択して実施することを含む。最適化評価値の１つ又は複数のコンポーネントは、１つ又は複数の動的パラメータに従って変化し得る。
【００６１】
[0081]  図２Ｃは、対象者のもう１つの状態を検出するためのプロセスの実施形態を示すフローチャートである。図２Ｃのプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６によって少なくとも部分的に実行することができる。いくつかの実施形態では、図２Ｃのプロセスの少なくとも一部分は、図２Ａの２０６において実行される。いくつかの実施形態では、図２Ｃのプロセスは、図１Ｄに示される概念コンポーネントの利用に対応する。
【００６２】
[0082]  ２２２では、センサデータが受信される。いくつかの実施形態では、受信されるセンサデータは、図１Ａのデバイス１０２の１つ又は複数のセンサデバイスからのデータを含む。例えば、スイッチ、カメラ、動き検出器、赤外線検出器（例えば、受動赤外線センサ）、光検出器、加速度計、熱検出器／カメラ、人体姿勢／動きカメラ／検出器、温度計、大気質センサ、煙探知器、マイクロフォン、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器、電力利用センサ及び環境をモニタする他の任意のセンサからのデータが受信される。いくつかの実施形態では、センサデータは、ユーザデバイス（例えば、図１Ａのユーザデバイス１０８）からのデータを含む。例えば、ユーザデバイス上のセンサ（例えば、場所センサ、ＧＰＳ、加速度計、心拍数センサ、方位センサ、マイクロフォン、ジャイロスコープなど）からのデータが受信される。別の例では、ユーザデバイスからのデータは、ステータスデータ及び／又はユーザ指定データを含む。いくつかの実施形態では、センサデータは、１つ又は複数の制御可能デバイスからのデータを含む。例えば、図１Ａのデバイス１０２の制御可能デバイスのステータス、構成、機能状態、パラメータ及び／又は他の任意のデータが受信される。いくつかの実施形態では、センサデータは、周期的に受信される。例えば、センサデバイスは、現在検出されているセンサデータを周期的に送信する。いくつかの実施形態では、センサデータは、動的に受信される。例えば、センサデータは、センサデータが検出された際に受信される。いくつかの実施形態では、受信されるセンサデータは、複数のセンサデバイスから受信される。いくつかの実施形態では、センサデータは、ハブ（例えば、図１Ａのハブ１０４）で受信され、センサデータは、別のハブと共有される／別のハブに送信される、及び／又は、処理のためにコンピューティングクラウドに送信される（例えば、図１Ａのサーバ１０６に送信される）。
【００６３】
[0083]  ２２４では、センサデータの少なくとも一部分と関連付けられたコンポーネント領域及び／又はコンテキスト情報に基づいて選択された１つ又は複数の対応する信号アグリゲータにセンサデータが提供される。例えば、センサデータは、１つ又は複数のコンテキストマッパ／変換装置を使用して処理され、コンテキストマッパ／変換装置の各々は、センサデータの少なくとも一部分を１つ又は複数の適切な信号アグリゲータにルーティングすることができる。特定のセンサ入力データ部分に対する対応する信号アグリゲータの選択は、特定のセンサ入力データ部分が検知／検出された環境の場所（例えば、図２Ａの２０２において識別されたコンポーネント領域）に基づき得る及び／又はどのユーザ／対象者が対応する入力センサデータと関連付けられるかに基づき得る。例えば、センサデータが、環境の特定のコンポーネント領域をモニタすることで知られているセンサからのものである場合は、このセンサからの入力信号を関連コンテキスト情報と共に１つ又は複数の適切な信号アグリゲータにルーティング／マッピングするため、コンテキストマッパによって、特定のコンポーネント領域と関連付けられたコンテキスト情報（例えば、図２Ａの２０４のコンテキスト情報）が利用される。一例では、「入力信号１」が、自宅環境の「台所」コンポーネント領域においてマイクロフォンによって検出された音信号である場合は、「台所の水音検出器」信号アグリゲータにルーティングされ、「入力信号２」が、「台所」コンポーネント領域においてカメラによって検出されたカメラ画像である場合は、「台所の人間検出」信号アグリゲータにルーティングされる。別の例では、特定のユーザがセンサデータと関連付けられることについて知られているか又は検出された場合は、入力信号を関連コンテキスト情報と共に１つ又は複数の適切な信号アグリゲータにルーティング／マッピングするため、コンテキストマッパによって、特定のユーザと関連付けられたコンテキスト情報が利用される。一例では、「入力信号３」が、動きセンサによって検出された動き検出警報であり、その家のユーザがペットを飼っていることについて知られている場合は、ペットを飼っているというユーザコンテキストを理由に、この入力信号は、「家の中の人々」信号アグリゲータにルーティングされない。
【００６４】
[0084]  ２２６では、１つ又は複数の予測モデルへのコンテキスト入力として信号アグリゲータからの出力が提供される。アグリゲータは、関連コンテキスト情報と共に１つ又は複数のルーティングされたセンサ信号を取り入れ、対応するコンテキスト入力（例えば、台所で検出された水音、台所にいる女性の人など）を出力する。信号アグリゲータを使用することにより、本来なら生のセンサ入力データに高い意味レベルのコンテキストを提供する（例えば、図２Ａのプロセスのコンポーネント領域及びコンテキスト情報を使用して）組み合わされた凝集コンテキスト入力を出力するために、様々な異なるセンサからのセンサデータをまとめて集計することができる。例えば、単なる生のセンサデータというよりむしろ高レベルのコンテキスト入力に基づいて予測モデルがより優れた予測を行えるように、センサデータの一部分は、センサ入力データに対応するコンポーネント領域と関連付けられたコンテキスト情報で拡張される。これにより、予測モデルは、異なる配備環境のセンサからの異なる入力データ（ただし、同じコンテキストと関連付けられたもの）に普遍的に取り組むことができる。信号アグリゲータの例は、ニューラルネットワーク、集計関数、他の機械学習モデル及びルール関数を含む。また、これらの信号アグリゲータは、異なる配備環境にわたって訓練された学習モデルでもあり得る。例えば、「台所の水音検出器」信号アグリゲータは、異なるユーザの異なるアパートからの訓練データを使用して訓練済みのものである。予測モデルの例は、図２Ｂの２１４において訓練された機械学習モデルである。
【００６５】
[0085]  ２２８では、１つ又は複数の状態を決定するために予測モデルが利用される。予測モデルの各々は、適切なコンテキスト入力のうちの１つ又は複数を取り入れ、１つ又は複数の状態が検出されているかどうかの判断に貢献する。例えば、対象者の活動状態が検出されることになっており、１つ又は複数の候補活動の１つ１つに対する検出確率が計算される（例えば、「台所で食器を洗う」ことが検出されている確率が決定される）。異なる潜在的な候補検出活動の確率計算に基づいて、検出される（例えば、閾値基準を満たす）ものとして候補活動のうちの１つ又は複数が選択される。予測モデルは、１つ又は複数の候補検出活動の確率を決定するために、以前のコンテキスト入力の履歴及び時間関係を考慮に入れることができる。
【００６６】
[0086]  図３は、検出された状態が正しい状態である可能性を決定するためのプロセスの実施形態を示すフローチャートである。図３のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、図３のプロセスの少なくとも一部分は、図２Ｃの２１４において実行される。いくつかの実施形態では、図３のプロセスの少なくとも一部分は、図２Ｂの２２８において実行される。いくつかの実施形態では、図３のプロセスは、周期的に実行される。いくつかの実施形態では、図３のプロセスは、動的に実行される。例えば、図３のプロセスは、新しいセンサデータが受信された際に実行される。
【００６７】
[0087]  ３１２では、実際の状態の候補状態が決定される。例えば、新しく受信されたセンサデータに対応し得る候補状態が識別される。いくつかの実施形態では、候補状態は、対象者（例えば、人間、動物、ペット、ロボット、他の生物又は非生物など）の実際の現在の状態の想定される状態である。例えば、対象者の正確な現在の状態（例えば、現在実行されている場所及び活動）をセンサデータから完全な精度で決定することが難しい場合があるため、対象者に対する候補状態（例えば、各候補状態は、場所コンポーネント及び活動コンポーネントを含む）が識別される。
【００６８】
[0088]  いくつかの実施形態では、候補状態を決定することは、受信されたセンサデータと関連付けることができる想定されるすべての状態を識別することを含む。例えば、カメラからのデータを使用して識別することができる対象者の想定されるすべての事前に定義された活動が識別される。いくつかの実施形態では、候補状態を決定することは、最も可能性の高い候補状態を識別することを含む。例えば、想定されるすべての状態を識別するというよりむしろ、最も可能性の高い候補状態が識別される。いくつかの実施形態では、最も可能性の高い候補状態は、図２Ａの２０２、図２Ｂの２１２及び／又は図２Ｃの２２２において受信された関連センサデータを分析することによって識別される。いくつかの実施形態では、候補状態を決定することは、新しく受信されたセンサデータと関連付けられる対象者を識別し、その対象者の最後に決定された状態を識別することを含む。いくつかの実施形態では、最も可能性の高い候補状態は、以前の現在の状態に基づいて識別される。例えば、所定の以前の状態（例えば、対象者の場所）に対し、ある状態のみ（例えば、以前の場所に隣接する場所のみ）が新しい現在の状態になれる条件を満たしており、これらの状態が識別される。
【００６９】
[0089]  いくつかの実施形態では、単一の状態は、複数のサブ状態を含む。いくつかの実施形態では、各状態は、対象者の識別子、対象者の粗位置（例えば、家／建物のどの部屋）、粗位置内の対象者の具体的な場所（例えば、寝室のベッドの上）、対象者が環境内に存在するかどうか、対象者のタイプ（例えば、人間対ペット、特定の個人など）、対象者の粗活動（例えば、読む）及び対象者の具体的な活動（例えば、本を開く）を含む。いくつかの実施形態では、各候補状態は、制御可能物体の状態を含む。いくつかの実施形態では、対象者の活動状態は、検出することができる（例えば、観察／訓練データに基づいて検出される）事前に定義された活動のうちの１つである。
【００７０】
[0090]  いくつかの実施形態では、候補状態を決定することは、環境モデル（例えば、図９Ａ〜９Ｄに示されるグラフモデル）及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて状態を識別することを含む。例えば、受信されたセンサデータには、センサデータ、グラフモデルを使用してセンサデータにおいて検出されたコンポーネント領域のコンテキスト情報（例えば、データを検出したセンサのノードに接続されたエッジの情報／特性、及び、センサのノードに接続された他のノードの情報／特性）と関連付けることによって、コンテキストが与えられる。想定される状態は、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて識別及び／又は排除することができる。
【００７１】
[0091]  ３１４では、候補状態の各々に対し、候補状態が受信されたセンサデータに対応する可能性が決定される。例えば、受信されたセンサデータが特定の候補状態に対応する確率が決定される。いくつかの実施形態では、可能性は、候補状態がセンサデータを考慮した上での実際の状態である確率を識別する。いくつかの実施形態では、この可能性は、機械学習を使用して決定される。例えば、統計的学習及び／又はディープラーニング処理を利用して、異なるセンサデータと対応する状態との間の関連性の例の訓練データセットが分析され、異なるセンサデータと異なる状態との間の関連性の関連付けられた確率が決定されている。いくつかの実施形態では、候補状態が受信されたセンサデータに対応する可能性は、既定の分析アルゴリズムを使用して決定される。例えば、カメラセンサデータを分析するためにコンピュータ視覚パターン認識アルゴリズムが利用され、そのアルゴリズムは、可能性を提供する。いくつかの実施形態では、可能性は、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報を使用して決定される。
【００７２】
[0092]  ３１６では、候補状態の各々に対し、候補状態が以前に識別された状態の次の状態である可能性が決定される。例えば、候補状態が対象者の以前に決定された状態の後の実際の状態である確率が決定される。いくつかの実施形態では、この可能性は、機械学習を使用して決定される。例えば、統計的学習及び／又はディープラーニング処理を利用して、異なる状態間の観察された状態遷移が分析され、以前の状態を考慮した上での潜在的な候補状態の各々に対する確率の遷移モデルが決定されている。一例では、家の各部屋に動き検出センサが設置されている。家の部屋の相対的場所は、対象者がある部屋から別の部屋に移動する際にセンサトリガのパターンを観察するために、機械学習を使用することによって自動的に決定することができる。部屋間の接続が分かった時点で、対象者の現在の部屋場所を考慮すると、想定される隣接部屋が分かり、対象者が想定される接続部屋の隣の部屋を訪れる可能性の各々を決定することができる。例えば、対象者の場所を示す以前の状態を考慮すると、次の状態は、対象者の決定／観察された移動速度及び状態のセンサデータ間の経過時間を考慮した上で到達可能な隣接部屋に限定される。いくつかの実施形態では、候補状態が次の状態である可能性は、環境モデルを使用して決定される。
【００７３】
[0093]  ３１８では、候補状態の各々に対し、同時状態コンポーネント相関性が決定される。例えば、ある候補状態コンポーネントは、別のグループの候補状態コンポーネントより正しい状態でまとめて含まれる可能性が高い。いくつかの実施形態では、同時状態相関性を決定することは、候補状態のあるコンポーネントが候補状態の別のコンポーネントを考慮した上で正しい／実際の状態で含まれる確率を決定することを含む。例えば、候補状態は、場所状態コンポーネント及び活動状態コンポーネントを含み、特定の場所状態コンポーネントを考慮した上での特定の活動状態コンポーネントの確率が決定される。いくつかの実施形態では、同時状態相関性を決定することは、各々が候補状態の状態コンポーネントの異なる組合せ対と関連付けられる複数の確率を決定することを含む。いくつかの実施形態では、同時状態コンポーネント相関性は、環境モデルを使用して決定される。
【００７４】
[0094]  ３２０では、候補状態の各々に対し、候補状態が実際の状態である全体的な可能性が決定される。例えば、各候補状態に対し、候補状態が対象者の正しい状態である全体的な確率が決定される。いくつかの実施形態では、全体的な状態を決定することは、３１４、３１６及び３１８において決定された確率のうちの１つ又は複数を掛け合わせることを含む。例えば、全体的な可能性を得るため、候補状態が受信されたセンサデータに対応する第１の確率と候補状態が以前に識別された状態の次の状態である第２の確率とが少なくとも掛け合わされる。いくつかの実施形態では、候補状態は、それらの全体的な可能性に基づいてソートされ、最高の全体的な可能性を有する候補状態が実際の／正しい状態として選択される。
【００７５】
[0095]  図４は、ネットワーク接続制御可能デバイスの自動化ルールを自動的に発見するためのプロセスの実施形態を示すフローチャートである。図４のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、図４のプロセスの少なくとも一部分は、図２Ａの２０６及び／又は図２Ｂの２１６において実行される。いくつかの実施形態では、図４のプロセスは、周期的に実行される。いくつかの実施形態では、図４のプロセスは、動的に実行される。例えば、図４のプロセスは、新しい現在の状態が識別された際に実行される。
【００７６】
[0096]  ４０２では、識別された状態を対応する制御可能デバイス特性と相関させる。例えば、図３の３１２において対象者の実際の状態であると識別された状態は、図１Ａのデバイス１０２の制御可能デバイスの対応するステータス、構成、機能状態、特性、パラメータ及び／又は他の任意のデータと相関させる。いくつかの実施形態では、識別された状態は、識別された状態に対応する制御可能デバイス特性を識別するために識別された状態及び制御可能デバイス特性の格納された履歴を分析することによって、対応する制御可能デバイス特性と相関させる。例えば、識別された状態（例えば、状態ベクトル）と制御可能デバイスの対応する制御可能特性（例えば、ステータス、構成、機能状態、パラメータ及び／又は他の任意のデータ）との間の対応する対が決定される。いくつかの実施形態では、識別された状態を対応する制御可能デバイス特性と相関させることは、相関性を見出すために機械学習を実行することを含む。例えば、識別された状態と制御可能デバイス特性との間の時間的な相関性を見出すため、統計的学習及び／又はディープラーニング技法が利用される。いくつかの実施形態では、識別された状態は、時間値、気象予報、日付値、並びに、時間及び／又は環境条件と関連付けられた他のデータのうちの１つ又は複数を含み得る状態ベクトルを含む。いくつかの実施形態では、識別された状態が特定の制御可能デバイス特性に対応する確率の履歴が決定される。
【００７７】
[0097]  ４０４では、識別された状態を１つ又は複数の識別された状態のクラスタと相関させる。いくつかの実施形態では、同様の識別された状態（例えば、範囲内の状態値）は、まとめてクラスタ化し、制御可能デバイス状態と相関させる。例えば、互いに近距離の物理的場所と関連付けられた識別されたデバイス状態は、まとめてクラスタ化する。この状態のクラスタは、１つ又は複数の対応する制御可能デバイス特性とまとめて相関させる。いくつかの実施形態では、１つ又は複数の識別された状態のクラスタが同じ制御可能デバイス特性に対応するクラスタ確率が決定される。クラスタ確率は、クラスタに含まれる任意の識別された状態が制御可能デバイス特性に対応する確率の履歴を識別することができる。いくつかの実施形態では、クラスタ確率は、クラスタの識別された各状態の個々の確率（例えば、図３の３２０において決定された確率）を少なくとも掛け合わせることによって決定される。いくつかの実施形態では、クラスタは、環境モデル（例えば、図９Ａ〜９Ｄに示されるグラフモデル）及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報を使用して識別される。例えば、識別された状態に対応するコンテキスト情報（例えば、環境のグラフモデルのノード／エッジの情報）が識別され、コンテキスト情報（例えば、グラフモデル内の近接）に基づいてクラスタが識別される。
【００７８】
[0098]  ４０６では、確率の履歴が閾値を満たす場合に、関連付けられた自動化ルールが作成される。例えば、４０２において決定された確率の履歴及び／又は４０４において決定されたクラスタ確率が閾値（例えば、８０％）より大きい場合は、対応する自動化ルールは、ルールデータベースに格納される。いくつかの実施形態では、自動化ルールは、識別された状態（例えば、識別された状態のクラスタに含まれる）が検出された場合に、対応する制御可能特性設定を再作成／実施すべきであることを識別する（例えば、対応する制御可能デバイスの特性は、制御可能デバイス特性設定において指定されたルールであるように修正される）。いくつかの実施形態では、自動化ルールは、周期的に更新される。例えば、自動化ルールは、有効期限と関連付けられ、ルールは、期間の満了と同時に新しくするか又は削除すべきである。いくつかの実施形態では、関連付けられた自動化ルールを作成することは、識別された状態と対応する制御可能デバイス特性との間の関係を識別する１つ又は複数の最適化評価値を設定又は修正することを含む。例えば、識別された状態を考慮した上での対応する特定の制御可能デバイス特性設定のユーザの望ましさの尺度が決定され、制御可能デバイスを自動的に決定及び制御するために最適化関数を利用する際に使用するために保存される。
【００７９】
[0099]  図５は、選択出力結果を決定するためのプロセスの実施形態を示すフローチャートである。図５のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、図５のプロセスの少なくとも一部分は、図２Ａの２０６、図２Ｂの２１８及び／又は図２Ｃの２２８に含まれる。いくつかの実施形態では、図５のプロセスは、周期的に実行される。例えば、図５のプロセスは、規則的な時間間隔で繰り返される。いくつかの実施形態では、図５のプロセスは、動的に実行される。例えば、図５のプロセスは、新しい入力又は状態が識別された際に実行される。いくつかの実施形態では、図５のプロセスは、各制御可能デバイスの各制御可能特性を自動的に制御するために繰り返される。
【００８０】
[00100]  ５０２では、状態を示す複数の入力が受信される。例えば、各入力は、入力の関連状態を識別する。いくつかの実施形態では、受信された入力は、制御可能デバイスを自動的に制御することに対応する。例えば、新しい制御設定を決定するために入力の状態を分析すべきであり、制御可能デバイス上で新しい制御設定を実施するために動作を潜在的に実行すべきである。いくつかの実施形態では、受信された入力は、図２Ｂの２１４において識別された１つ又は複数の状態を含む。いくつかの実施形態では、受信された入力は、図３のプロセスを使用して識別された１つ又は複数の状態（例えば、状態のベクトル）を含む。受信された入力の各々は、１人又は複数の対象者（例えば、ユーザ場所、ユーザ活動、ユーザの好み、ユーザタイプ、ユーザプロファイル、ユーザカテゴリ、ユーザ熟練レベル、ユーザ知識レベル、システム特徴のユーザ知識など）、デバイス（例えば、センサデータ、制御可能デバイス設定、デバイス構成など）及び／又は環境（例えば、時間、日付、気象、湿度、大気質、地理的場所など）の対応する状態を示し得る。いくつかの実施形態では、受信された状態は、以前の状態（例えば、対象者、デバイス、センサなどの以前の状態の履歴）を含む。いくつかの実施形態では、受信された状態は、問合せに応答して受信された以前のユーザ提供表示又はユーザ対話型適格性評価の表示を識別する状態を含む。いくつかの実施形態では、状態を示す入力のうちの１つ又は複数は、受信されたセンサ情報を分析することによって決定されたものである。例えば、状態を決定するために、図１Ａのデバイス１０２の１つ若しくは複数のデバイス及び／又は図１Ｂのセンサ１２４からのセンサ情報が受信され且つ利用される。いくつかの実施形態では、複数の入力の少なくとも１つは、場面モードを示す。例えば、様々な場面モード（例えば、朝食場面、睡眠場面、読書場面、映画場面、不在モードなど）は、１人又は複数のユーザの特定の活動又はステータスに対する制御可能デバイス設定の所望のグループを定義する。場面モードは、ユーザが手動で指定すること及び／又は自動的に決定することができる。
【００８１】
[00101]  いくつかの実施形態では、複数の入力の少なくとも１つは、状態、出力、出力タイプ、設定及び／又は構成の履歴を示す。例えば、入力は、識別制御可能デバイス特性設定を識別する１つ又は複数の以前に決定された出力を識別する。いくつかの実施形態では、入力状態のうちの１つ又は複数は、対応する状態が正しい状態であるという信頼性の尺度と関連付けられる。例えば、受信されたセンサ情報に基づいて正確な正しい状態を決定することが難しい場合があり、関連付けられた信頼性スコア値と共に、候補状態が識別される。
【００８２】
[00102]  いくつかの実施形態では、入力を受信することは、想定される入力のより大きなグループの中から利用される入力を選択することを含む。例えば、制御可能デバイスの特性に対する出力制御設定を自動的に決定する際にどの入力が関連しているかが決定される。利用される入力の選択は、事前構成しておくことができる（例えば、制御可能デバイスの特定の制御可能特性に対して事前に定義された構成に基づいて決定される）。例えば、プログラマは、特定の出力（例えば、制御可能デバイスの制御設定）を自動的に決定する際にどの入力を分析すべきかを手動で構成済みである。いくつかの実施形態では、利用される入力の選択は、図４の４０６において作成された自動化ルールに少なくとも部分的に基づく。いくつかの実施形態では、利用される入力の選択は、制御可能デバイスに関連する入力と関連付けられたデバイスの場所に少なくとも部分的に基づく。例えば、設置環境内のデバイス／センサの物理的場所（例えば、環境のグラフモデルを使用して決定される）のマッピングに基づいて、制御予定の制御可能デバイスと同じ部屋及び／又は物理的に近くに位置するデバイスの状態は、入力として自動的に選択される。様々な実施形態では、利用される入力の選択は、機械学習に基づいて自動的に決定される。
【００８３】
[00103]  ５０４では、示された状態に基づいて、制御可能デバイスを自動的に制御する複数の出力候補が評価される。例えば、示された状態は、出力候補及び／又は出力候補の望ましさを少なくとも部分的に識別することによって制御可能デバイスを自動的に制御するために、図２Ｂの２１６において発見され且つ図２Ｂの２１８において発動される１つ又は複数の評価ルールへの入力として利用される。
【００８４】
[00104]  いくつかの実施形態では、複数の出力候補が評価される。例えば、制御可能デバイスの制御可能特性設定に対する複数の候補（例えば、制御可能デバイスの特性の候補設定）が評価される。各出力候補は、特定の制御可能特性設定と関連付けられるのみならず、特定の出力取扱タイプとも関連付けられる。制御可能デバイスの制御可能特性を修正するために動作を実行することと関連付けられる出力取扱タイプの例は、動作（例えば、ユーザ対話型適格性評価を必要とせずに実行される動作）を実行すること、これから動作を実行するという警告を提供し、次いで、動作を実行すること（例えば、動作の実行をキャンセルするユーザ対話機会を有する）、動作を実行するかどうかユーザに問い合わせること（例えば、ユーザが動作の実行を対話式で承認した場合にのみ動作を実行する）、ユーザが手動で動作を実行する可能性が高いと決定すること（例えば、動作を実行せずに、待つ）及び動作を実行しないことを含む。
【００８５】
[00105]  いくつかの実施形態では、複数の出力候補の評価は、自動的に検出／学習された及び／又はユーザ／プログラマ指定の好み／ルールに少なくとも部分的に基づく。例えば、どの最適化関数を利用するか及び／又は異なる構成設定間の好み／関係を示す値（例えば、最適化評価／期待値）は、機械学習及び／又は好み／ルール（例えば、図４のプロセスを使用して決定される）を使用して自動的に選択／決定される。
【００８６】
[00106]  いくつかの実施形態では、複数の出力候補は、最適化関数に従って評価される。例えば、制御可能デバイスの制御可能特性設定に対する複数の候補（例えば、制御可能デバイスの特性の候補設定）は、最適化関数に従って評価される。最適化関数は、受信された入力及び１つ又は複数の受信された入力の１つ又は複数のパラメータに依存する。最適化関数の例は、コスト関数、最大化関数、リスク関数、価値関数、確率関数、決定関数、又は、複数の出力候補を比較するために利用できる他の任意の関数を含む。いくつかの実施形態では、出力候補を評価することは、各構成候補に対する各出力候補の期待される望ましさの尺度（例えば、最適化期待値）を決定することを含む。例えば、各出力候補に対し、候補出力の望ましさを識別する候補最適化期待値が決定される。最適化関数を使用して最適化期待値を比較することにより、実施すべき最適な出力として出力候補のうちの１つを選択することができる。
【００８７】
[00107]  いくつかの実施形態では、出力候補を評価することは、各出力候補（例えば、各出力候補は、制御可能デバイスの特定の制御可能特性に対する特定の出力取扱タイプ及び特定の構成設定候補と関連付けられる）に対し、受信された入力状態の少なくとも一部分の各々に対する出力候補の期待される望ましさの尺度を評価することを含む。例えば、望ましさの尺度は、入力状態が同じであっても、異なる出力候補の各々に対して異なる。いくつかの実施形態では、特定の出力候補に対する望ましさの尺度を決定するため、各入力状態に対して出力候補に対応する入力状態コンポーネント評価値（例えば、コンポーネント期待値）が決定され、出力候補に対する望ましさの総尺度（例えば、総期待値）を決定するために、出力候補に対する入力状態コンポーネント評価値は総和される／組み合わされる（例えば、平均化される）。言い換えれば、各入力状態に対応するコンポーネント値は、各出力候補に対する期待値を決定するために、各出力候補に対して総和される／組み合わされる（例えば、加重平均される）。一例では、電動式カーテンデバイスに対する構成設定候補は、カーテン開設定及びカーテン閉設定である。この例の出力取扱タイプは、デバイスを所望の設定（例えば、カーテンを開ける又は閉める）にする動作を自動的に実行すること、動作を自動的に実行する前にユーザに警告すること、動作を実行するかどうかユーザに問い合わせること、ユーザが手動で動作を実行するのを待つことを含む。この例では、８つの総期待値（例えば、４つの出力取扱タイプに２つの構成設定候補を乗じたもの＝８つの出力候補）が決定される。これらの総期待値の各々に対し、総期待値を決定するために、出力候補に関する各入力状態に対するコンポーネント期待値が決定され（例えば、発見された自動化ルールを使用して）、組み合わされた（例えば、最適化関数を使用して）。
【００８８】
[00108]  いくつかの実施形態では、すべての構成設定候補に対するすべての出力取扱タイプを評価するというよりむしろ、最初に、すべての構成設定候補の中から所望の構成設定候補が選ばれ、次いで、所望の構成設定候補に対する出力取扱タイプが、選択されていない構成設定候補に対してではなく、所望の構成設定候補に対して評価される。例えば、各構成設定候補に対する望ましさの総計尺度は、対応する構成設定候補に対する各入力状態に対応する各構成設定候補に対する望ましさの個々のコンポーネント尺度を組み合わせることによって決定される（例えば、自動的に発見された自動化ルールを使用して）。異なる構成設定候補に対する望ましさの総計尺度を比較することにより（例えば、最適化関数を使用して）、所望の構成設定候補が選ばれる。次いで、所望の構成設定候補を考慮した上で、所望の構成設定候補に対する異なる出力取扱タイプの各々に対する総期待値を決定することによって、異なる出力取扱タイプが評価される。これらの総期待値の各々に対し、対応する出力取扱タイプに対する総期待値を決定するために、対応する出力取扱タイプに関する各入力状態に対するコンポーネント期待値が決定され（例えば、発見された自動化ルールを使用して）、組み合わされる（例えば、最適化関数を使用して）。これにより、出力候補は、効果的に、選択された所望の構成設定候補の異なる出力取扱タイプに絞られる。
【００８９】
[00109]  いくつかの実施形態では、望ましさの尺度（例えば、期待値）は、数ある因子の中でも特に、入力状態を考慮した上で関連付けられた出力候補を選んだ際の潜在的な利益／リスク／コスト、入力状態を考慮した上で関連付けられた出力候補を選ばなかった際の潜在的な危害、過去の出力候補選択の履歴、関連オプションを選んだためにユーザに掛かる迷惑などを考慮に入れることができる。
【００９０】
[00110]  一例では、関連付けられた構成設定を実施するために動作を実行するかどうかを対話式でユーザに問い合わせるという出力取扱と関連付けられた出力候補の期待値を決定する際、この出力候補の期待値は、検出されたユーザの状態を踏まえて、問合せによってユーザに掛かる迷惑を考慮に入れる（例えば、ユーザが眠っている状態の場合はユーザに大きな迷惑が掛かる）。別の例では、ユーザが動作を手動で実行するのを待つという出力取扱と関連付けられた出力候補の期待値を決定する際、この出力候補と関連付けられる期待値は、ユーザが動作を手動で実行するのに必要な努力量を考慮に入れる（例えば、ユーザが物理的なスイッチの物理的に近くにいる場合は努力は少なくて済み、ユーザは典型的にはスイッチを手動で動作する）。
【００９１】
[00111]  別の例では、動作のトリガを対話式で阻止する機会をユーザに提供するために、動作を実行する前にユーザに警告を通知するという出力取扱と関連付けられた出力候補の期待値を決定する際、この出力候補の関連付けられた期待値は、動作の深刻度（例えば、夜中に寝室のカーテンを開けるなどの非常に重大な動作は、高い信頼性で入力状態を決定できない限り、自動的に実行すべきではない）及び以前に選択された出力（例えば、動作を実行するかどうかに関する応答を提供せよという以前の要求にユーザが応答しなかった場合は、警告の後に動作が実行される可能性が高い）を考慮に入れる。
【００９２】
[00112]  別の例では、ユーザ対話型適格性評価を必要とせずに動作を実行することと関連付けられた出力候補の期待値を決定する際、この出力候補の関連付けられた期待値は、動作を実行したいという要望をユーザが以前に示したかどうかを考慮に入れる。例えば、ユーザは、ユーザの快適性／満足度を増加するための動作はすべて実行したいという要望を示すことができ（例えば、ユーザは「私を満足させてほしい」という音声コマンドを提供する）、ユーザの満足度を増加させるためにシステムが動作を実行することに対するユーザの意識及び要望を考慮した上で、適格性評価なしで（例えば、警告又はユーザ承認要件なしで）動作が実行される可能性が高い。いくつかの実施形態では、ユーザの快適性／満足度を増加するための動作はすべて実行したいという要望のユーザ表示は、曖昧な又はシステムによって理解し難いものである検出されたユーザコマンドと関連付けられる。例えば、ユーザコマンドが完全に理解されなかったとしても、ユーザコマンドは、ユーザの快適性及び満足度を増加させるために１つ又は複数の動作を実行することに対するユーザの要望を示す。
【００９３】
[00113]  いくつかの実施形態では、１つ又は複数のコンポーネント評価値（例えば、コンポーネント期待値）は、動的に決定される。例えば、出力候補及び入力状態からコンポーネント評価値への既定の静的マッピングを使用するというよりむしろ、コンポーネント評価値は、１つ又は複数の他の変数に従って変化し得る。一例では、コンポーネント評価値は、入力として時間値を利用するパラメータによってパラメータ化された減衰関数に従って指定事象の時刻から経時的に減衰する。入力状態の以前の状態の履歴を考慮に入れる際、コンポーネント評価値の減衰は、より古い状態履歴に重点を置かずに、最近の状態履歴の効果に重点を置くために利用することができる。いくつかの実施形態では、１つ又は複数のコンポーネント評価値は、以前の出力事象から経過した時間量に基づく。例えば、指定された最近の時間窓内でユーザに提供されるユーザ対話型問合せの総数には限度があり、１つ又は複数のコンポーネント評価値は、この限度に達したかどうかに応じて、より大きくなるか又はより小さくなる。
【００９４】
[00114]  いくつかの実施形態では、特定の出力候補に対して別々に個々の入力状態の各々のみを評価するというよりむしろ、特定の出力候補に対してグループとしてまとめて入力状態のクラスタが評価される。例えば、ある入力状態は、まとめて相関させるように決定され（例えば、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて）、出力候補に対し、コンポーネント最適化評価値は、個々の入力状態に対して別々にというよりむしろ、単一のエンティティとして、入力状態のクラスタに対して決定される（例えば、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて）。
【００９５】
[00115]  ５０６では、評価に基づいて出力候補の中から選択出力候補が選択される。例えば、出力候補の中から最適化関数を最適化する出力が選択される。いくつかの実施形態では、選択出力候補は、制御可能デバイスの特性の選択構成設定を指定する。いくつかの実施形態では、出力を選択することは、出力候補最適化評価値の比較（例えば、最適化関数を使用して最適化評価値を比較する）に基づいて出力候補を選択することを含む。例えば、各出力候補に対してコスト値（例えば、期待値）が決定されており、最小コスト値を有する出力候補を選択するためにコスト最小化関数が利用される。
【００９６】
[00116]  様々な実施形態では、最適化関数を利用することにより、自動化相関／ポリシー／ルール間のコンフリクトが解決される。例えば、２つ以上の自動化相関／ポリシー／ルールが起動されるべきであるが、その理由は、受信された入力状態はこれらの自動化相関／ポリシー／ルールをトリガするが、それらの自動化相関／ポリシー／ルールは、すべてを同時に実施することができないコンフリクトのある制御可能デバイス設定を指定し得るためである（例えば、あるルールは「オン」構成設定を指定し、別のルールは「オフ」構成設定を指定する）。想定される構成設定の各々と関連付けられた様々な関連最適化値を比較することにより、入力状態を考慮した上で最適な構成設定を決定することができる。
【００９７】
[00117]  ５０８では、選択出力候補が実施される。いくつかの実施形態では、適用可能な場合は、選択出力候補と関連付けられた動作が実行される。例えば、選択出力候補の制御可能デバイス構成設定が現在の設定からの変更である場合は、選択出力候補の出力取扱タイプに基づいて、適用可能な場合は、選択出力候補の制御可能デバイス構成設定を変更せよという命令を制御可能デバイスに提供することによって動作が実行される。動作の別の例は、１つ又は複数のセンサデバイスを使用して捕捉された情報に基づいて警報／通知をリモートユーザに送信することを含む。
【００９８】
[00118]  いくつかの実施形態では、選択出力候補と関連付けられた動作は、将来のある時点で実行することである（例えば、明日の朝９時にコーヒーメーカーをオンにするという動作）。例えば、動作を実行することは、制御可能デバイスの設定を将来の指定時間に変更せよという制御可能デバイスに提供された又は提供される予定の１つ又は複数の命令をスケジューリングすることを含む。いくつかの実施形態では、選択出力候補と関連付けられた動作は、繰り返すことである（例えば、指定間隔で繰り返す）。例えば、動作を実行することは、制御可能デバイスの設定を周期的に変更せよ（例えば、平日の朝９時に毎日カーテンを開ける）という制御可能デバイスに提供された又は提供される予定の１つ又は複数の命令をスケジューリングすることを含む。いくつかの実施形態では、選択出力候補の制御可能デバイス構成設定は、制御可能デバイスの将来の状態又は挙動に影響を及ぼす構成設定を示す。例えば、選択出力候補の制御可能デバイス構成設定は、将来において電球のスイッチがオンになるたび、所望の明るさの強度を示す。いくつかの実施形態では、動作及び／又は選択出力候補は、複数の制御可能デバイスに対する複数の構成設定の制御と関連付けられる。例えば、動作は、それらの制御可能デバイス構成設定を変更せよという複数の異なる制御可能デバイスに送信される命令をトリガする。
【００９９】
[00119]  動作を実行することと関連付けられる出力取扱タイプの例は、動作（例えば、ユーザ対話型適格性評価を必要とせずに実行される動作）を実行すること、これから動作を実行するという警告を提供し、次いで、動作を実行すること（例えば、動作の実行をキャンセルするユーザ対話機会を有する）、動作を実行するかどうかユーザに問い合わせること（例えば、ユーザが動作の実行を対話式で承認した場合にのみ動作を実行する）、ユーザが手動で動作を実行する可能性が高いと決定すること（例えば、動作を実行せずに、待つ）及び動作を実行しないことを含む。選択出力候補と関連付けられた出力取扱タイプに応じて、選択出力候補の実施は、異なる方法で取り扱われる。異なるタイプのプロセスの例は、図７に示される。
【０１００】
[00120]  ５１０では、出力についてのフィードバックが受信される。例えば、出力結果が望ましくない出力結果（例えば、制御可能デバイスの構成設定）をもたらした場合は、ユーザは、構成設定を明示的に変更する（例えば、ネットワーク接続制御可能デバイスの制御スイッチを調整する）ことによって構成設定を具体的にオーバーライドすることができる。いくつかの実施形態では、ユーザは、ユーザ表示を介して、出力構成設定の変更が望ましいものであったかどうかを確認することができる。例えば、ユーザデバイスを使用して、ユーザは、最近の出力がユーザが望む自動挙動をもたらしたかどうかを指定することができる。いくつかの実施形態では、ユーザによる動作の欠如は、出力が望ましくないものではなかったという確認フィードバックである。例えば、入力状態と選択出力との間の関係は、同じ入力状態を考慮した上で、ユーザがフィードバックを提供しない又は構成設定を修正しない時間が長くなるほど及び／又は頻度が高くなるほど、ユーザによって容認され易くなると想定される。
【０１０１】
[00121]  ５１２では、受信されたフィードバックに少なくとも部分的に基づいて、適用可能な場合は、１つ又は複数の参照最適化評価値が更新される。例えば、受信されたフィードバックを使用して、入力状態と特定の出力候補（例えば、制御可能デバイスの構成設定）との間の関連性を識別する１つ又は複数の参照値（例えば、期待値を決定する際の将来の評価において参照される評価メトリック値）が更新される。例えば、出力は望ましいものであったというユーザからの肯定表示は、関連最適化評価値を低減し、出力は望ましいものではなかったというユーザからの否定表示は、関連最適化評価値を増加する。
【０１０２】
[00122]  図６は、ネットワーク接続制御可能デバイスの制御可能特性の出力候補を自動的に決定するためのプロセスの実施形態を示すフローチャートである。図６のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、図６のプロセスの少なくとも一部分は、図２Ａの２０６及び／又は図２Ｂの２１８において実行される。いくつかの実施形態では、図６のプロセスの少なくとも一部分は、図５の５０４及び／又は図５の５０６に含まれる。
【０１０３】
[00123]  ６０２では、評価のために、自動的に制御される制御可能デバイス特性の候補構成設定が選択される。例えば、制御可能デバイスの特性の構成設定を自動的に決定するため、特性に対する各候補構成設定は、ネットワーク接続デバイス設置環境（例えば、アパートのユニット）の状態（例えば、５０２において受信されたユーザ、センサ、デバイス、環境、構成モード／グループなどの状態）に基づいて評価されるべきであり、各候補構成設定は、評価のために反復して選択される。いくつかの実施形態では、次の候補構成設定を選択することは、制御可能ネットワーク接続デバイスの特性に対する候補構成設定のリストの次のアイテムを選択することを含む。いくつかの実施形態では、候補構成設定のリストは、制御可能ネットワーク接続デバイスの特性の想定されるすべての構成設定を含む。制御可能ネットワーク接続デバイスの特性の例は、スイッチ状態、値設定、強度レベル、通知を送信すべきかどうか及び他の任意の制御可能特性を含む。様々な実施形態では、制御可能ネットワーク接続デバイスは、図１Ａのデバイス１０２又は図１Ｂのデバイス１２６に含まれる。
【０１０４】
[00124]  特性に対する候補構成設定のリストは、事前構成しておくことができる。例えば、特性に対する想定されるすべての構成設定からのサブセットは、リストに含まれるように選択済みである。いくつかの実施形態では、反復される特性に対する候補構成設定のリストは、動的に決定される。例えば、候補構成設定値は、１つ又は複数の変数に基づいて動的に変化する１つ又は複数の限度によって限度が設けられる。例えば、電球の最大強度出力は、時刻に基づいて制限され（例えば、電球は、日中は強度の全範囲を出力することができるが、夜間は最大強度の５０％のみの出力という限度が設けられる）、候補構成設定のリストは、時間に基づく限度内の強度値しか含まない。
【０１０５】
[00125]  ６０４では、適用可能な入力状態の各々に対し、選択された候補構成設定に対するコンポーネント評価値が決定される。例えば、制御可能ネットワーク接続デバイスの特性を自動的に制御するために、図５の５０２において受信された入力状態の適用可能な入力状態の各々に対し、選択された候補構成設定に対するコンポーネント評価値が決定される。
【０１０６】
[00126]  いくつかの実施形態では、入力状態と候補出力の異なる対の各々に対し（例えば、特定の構成設定に対し）、入力状態と候補出力との間の関係を定量化する対応するコンポーネント評価値を格納するデータ構造が存在する。例えば、コンポーネント評価値は、特定の入力状態に対する選択された候補構成設定の望ましさの大きさを識別する。いくつかの実施形態では、コンポーネント評価値は、自動的に検出／学習された及び／又はユーザ／プログラマ指定の好み／ルールに少なくとも部分的に基づく。例えば、どの最適化関数を利用するか及び／又は特定の構成設定間の好み／関係を示すコンポーネント最適化評価／期待値は、機械学習及び／又は好み／ルール（例えば、図４のプロセスを使用して決定される）を使用して自動的に選択／決定される。
【０１０７】
[00127]  いくつかの実施形態では、コンポーネント評価値は、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて決定される。例えば、コンテキスト情報（例えば、環境のグラフモデルの関連ノードの間の関連エッジの特性）は、選択された候補構成設定の望ましさを識別するために使用することができる。一例では、コンポーネント評価値は、コスト関数を使用して評価されるコスト値である。いくつかの実施形態では、コンポーネント評価値は、公式を使用して少なくとも部分的に計算される。いくつかの実施形態では、評価値は、自動的に決定済みである。例えば、評価値は、検出されたデータ及びユーザフィードバックに基づいて機械学習を使用して決定済みである。いくつかの実施形態では、評価値は、少なくとも部分的に事前に定義済みである。例えば、ユーザ及び／又はプログラマが評価値を指定している。
【０１０８】
[00128]  いくつかの実施形態では、入力状態に対するコンポーネント評価値を決定することは、１つ又は複数のパラメータを利用してコンポーネント評価値を動的に決定することを含む。例えば、既定の静的値を使用するというよりむしろ、コンポーネント評価値は、パラメータへの入力である１つ又は複数の他の変数に従って変化し得る。いくつかの実施形態では、コンポーネント評価値は、入力として時間値を利用するパラメータによってパラメータ化された減衰関数に従って指定事象の時刻から経時的に減衰する。例えば、電球の光強度は、照明スイッチを手動でオンにした後は徐々に減衰するはずであり、最大限の明るさの光強度設定と関連付けられたコンポーネント評価値は、スイッチをオンにしてから、その入力として時間を利用するパラメータ減衰関数に従って減衰する。いくつかの実施形態では、コンポーネント評価値は、環境において検出されたユーザの数に基づいて、パラメータに従って変化する（例えば、特定のスイッチ状態及び候補光レベル構成設定に対する評価値は、部屋にいるユーザの数に基づく）。
【０１０９】
[00129]  いくつかの実施形態では、１つ又は複数の入力状態及び／又はパラメータは、１つ又は複数の以前の出力又は構成設定に基づく。例えば、短時間内で構成設定を急激に変更することは望ましくなく（例えば、モータ、電球などを損傷し得る）、短時間内での異なる構成設定への複数の変更は、コンポーネント評価値を決定する際の以前の構成設定変更を考慮に入れると、推奨されない（例えば、短時間内で制御可能デバイスの同じ特性に対して多くの構成変更が実施済みであれば、ベースコンポーネント評価値への調整因子が加わる）。
【０１１０】
[00130]  いくつかの実施形態では、特定のコンポーネント評価値に対して別々に適用可能な入力状態の各々のみを評価するというよりむしろ、特定のコンポーネント評価に対してグループとしてまとめて入力状態のクラスタが評価される。例えば、ある入力状態は、まとめて相関させるように決定され（例えば、環境モデル及び／又は１つ若しくは複数の関連付けられたコンポーネント領域についてのコンテキスト情報に基づいて）、コンポーネント最適化評価値は、個々の入力状態に対して別々にというよりむしろ、単一のエンティティとして、入力状態のクラスタに対して決定される。
【０１１１】
[00131]  ６０６では、選択された潜在的な構成設定の各出力取扱タイプに対する総評価値（例えば、総期待値）を決定するために、決定されたコンポーネント評価値が組み合わされる。選択された候補構成設定の出力取扱タイプは、適用可能な場合に、デバイス設定を関連付けられた選択された候補構成設定に変更する動作をどのように取り扱うか（例えば、制御可能デバイス特性設定変更をどのように取り扱うか）及びデバイス設定を関連付けられた選択された候補構成設定に変更する動作を取り扱うかどうかを指定する。制御可能デバイスの特性を修正するために動作を実行することと関連付けられる出力取扱タイプの例は、動作（例えば、ユーザ対話型適格性評価を必要とせずに実行される動作）を実行すること、これから動作を実行するという警告を提供し、次いで、動作を実行すること（例えば、動作の実行をキャンセルするユーザ対話機会を有する）、動作を実行するかどうかユーザに問い合わせること（例えば、ユーザが動作の実行を対話式で承認した場合にのみ動作を実行する）、ユーザが手動で動作を実行する可能性が高いと決定すること（例えば、動作を実行せずに、待つ）及び動作を実行しないことを含む。
【０１１２】
[00132]  いくつかの実施形態では、選択された候補構成設定に対する決定されたコンポーネント評価値は、まとめて総和される／組み合わされる。いくつかの実施形態では、総評価値を決定することは、決定されたコンポーネント最適化評価値のうちの１つ又は複数の加重和を決定することを含む。いくつかの実施形態では、総評価値を決定することは、決定されたコンポーネント評価値のうちの１つ又は複数の平均を決定することを含む。
【０１１３】
[00133]  いくつかの実施形態では、総評価値を決定することは、コンポーネント評価値の加重値を決定することを含む。例えば、完全な精度で正確な正しい現在の状態を決定することが難しい場合があるため、受信された入力状態のうちの１つ又は複数は、入力状態が実際の正しい入力状態である可能性の決定を表す１つ又は複数の加重因子（例えば、パーセンテージ値）と関連付けられる。これにより、同じ実際の入力状態に対する異なる候補入力状態を受信し、独立して評価し、次いで、加重因子に基づいて重み付けしてまとめて組み合わせる（例えば、加重平均）ことができる。例えば、受信された入力は、ユーザが座っている状態にある可能性が７０％あり、ユーザが立っている状態にある可能性が３０％あることを示す。他の最適化評価値と総和する前、座っている状態に対する決定されたコンポーネント評価値には０．７を乗じ、立っている状態に対する決定されたコンポーネント評価値には０．３を乗じる。加重値は、１つ又は複数の因子に基づいて（例えば、時間又は他の環境変数／状態に基づいて）動的に変更することができる。
【０１１４】
[00134]  いくつかの実施形態では、コンポーネント評価値又は重み付けされたコンポーネント評価値の総和された又は平均化された結果は、選択された潜在的な構成設定の各出力取扱タイプに対する総評価値を決定するためにスケーリング及び／又は調整される（例えば、調整値を加えるか又は減じる）。例えば、スケーリング又は調整値は、特定の構成設定の異なる出力取扱タイプの各々に特有のものであり、１つ又は複数の入力状態に基づいて変化する。例えば、選択された潜在的な構成設定の各出力取扱タイプに対する最終的な総評価値（例えば、総期待値）を決定するために、１つ又は複数の入力状態の各々に対し、特定の構成設定及び出力取扱タイプに特有の対応するスケーリング又は調整値が決定され、適用される（例えば、コンポーネント評価値及び／又は総評価値に適用される）。
【０１１５】
[00135]  いくつかの実施形態では、スケーリング及び／又は調整値は、数ある因子の中でも特に、選択された潜在的な構成設定に対する関連付けられた出力取扱タイプを選んだ際の潜在的な利益／リスク／コスト、選択された潜在的な構成設定に対する関連付けられた力取扱タイプを選ばなかった際の潜在的な危害、過去の出力取扱タイプ選択の履歴、関連付けられた出力取扱タイプを選んだためにユーザに掛かる迷惑などを考慮に入れることができる。
【０１１６】
[00136]  一例では、関連付けられた構成設定を実施するために動作を実行するかどうかを対話式でユーザに問い合わせるという出力取扱タイプと関連付けられたスケーリング及び／又は調整値を決定する際、この出力取扱タイプのスケーリング及び／又は調整値は、検出されたユーザの状態を踏まえて、問合せによってユーザに掛かる迷惑を考慮に入れる（例えば、ユーザが眠っている状態の場合はユーザに大きな迷惑が掛かる）。別の例では、ユーザが動作を手動で実行するのを待つことに対応する出力取扱タイプと関連付けられたスケーリング及び／又は調整値を決定する際、この出力取扱タイプと関連付けられるスケーリング及び／又は調整値は、ユーザが動作を手動で実行するのに必要な努力量を考慮に入れる（例えば、ユーザが物理的なスイッチの物理的に近くにいる場合は努力は少なくて済み、ユーザは典型的にはスイッチを手動で動作する）。
【０１１７】
[00137]  別の例では、動作を実行する前にユーザに警告を通知することに対応して関連付けられた出力取扱タイプと関連付けられたスケーリング及び／又は調整値を決定する際、この出力候補の関連付けられたスケーリング及び／又は調整値は、動作の深刻度（例えば、夜中に寝室のカーテンを開けるなどの非常に重大な動作は、高い信頼性で入力状態を決定できない限り、自動的に実行すべきではない）及び以前に選択された出力（例えば、動作を実行するかどうかに関する応答を提供せよという以前の要求にユーザが応答しなかった場合は、警告の後に動作が実行される可能性が高い）を考慮に入れる。
【０１１８】
[00138]  別の例では、ユーザ対話型適格性評価を必要とせずに動作を実行することと関連付けられた出力取扱タイプのスケーリング及び／又は調整値を決定する際、この出力取扱タイプの関連付けられたスケーリング及び／又は調整値は、動作を実行したいという要望をユーザが以前に示したかどうかを考慮に入れる。例えば、ユーザは、ユーザの快適性／満足度を増加するための動作はすべて実行したいという要望を示すことができ（例えば、ユーザは「私を満足させてほしい」という音声コマンドを提供する）、ユーザの満足度を増加させるためにシステムが動作を実行することに対するユーザの意識及び要望を考慮した上で、適格性評価なしで（例えば、警告又はユーザ承認要件なしで）動作が実行される可能性が高い。
【０１１９】
[00139]  いくつかの実施形態では、評価のために選択される制御可能ネットワーク接続デバイスの特性の追加の候補構成設定が存在するかどうかが判断される。例えば、評価される候補構成設定のリストから評価される次の候補構成設定が存在するかどうかが判断される。評価のために選択される追加の候補構成設定が存在すると判断された場合は、プロセスは６０２に戻る。
【０１２０】
[00140]  ６０８では、実施される選択候補構成設定及び出力取扱タイプを選択するために、最適化関数が利用される。
【０１２１】
[00141]  いくつかの実施形態では、利用される最適化関数は、既定のものである。いくつかの実施形態では、利用される最適化関数は、１つ又は複数の因子（例えば、制御される特性、入力状態、ユーザの好みなど）に基づいて複数の最適化関数の中から選択される。いくつかの実施形態では、最適化関数を利用することは、最適な総評価値を選択するために、最適化関数を使用して候補構成設定及び出力取扱タイプの各々に対する総評価値（例えば、期待値）を比較することを含む。例えば、最適化関数は、コスト最適化関数であり、決定された総評価値の各々は、コスト値を表し、選択された候補構成設定は、最も低いコスト値を有する候補構成設定である。最適化関数の他の例は、数ある中でも特に、最大化関数、リスク関数、価値関数、確率関数及び決定関数を含む。いくつかの実施形態では、最適化関数は、最大の出力候補最適化評価値を有する候補構成設定及び出力取扱タイプが選択されることを指定する。いくつかの実施形態では、最適化関数は、極小／極大出力候補最適化評価値を有する候補構成設定及び出力取扱タイプが選択されることを指定する。様々な実施形態では、最適化関数を利用することは、最適化関数によって定義された基準を使用して、決定された総評価値の間で統計的に関連する値を識別し、出力取扱タイプの様式で制御可能デバイスにおいて実施される設定として対応する選択された候補構成設定及び出力取扱タイプを識別することを含む。
【０１２２】
[00142]  いくつかの実施形態では、選択された潜在的な構成設定及び出力取扱タイプは、図５の５０８において実施するために提供され、プロセスは、図５の５１０に戻る。いくつかの実施形態では、選択された候補構成設定は、選択された候補構成設定が、自動的に制御されている制御可能デバイス特性の現在の構成設定とは異なる構成設定を示す場合にのみ、制御可能デバイスに提供される。
【０１２３】
[00143]  図６のプロセスの説明に役立つ例の１つでは、制御可能なネットワーク接続デバイスモータから動力を得るリビングルームのカーテンを自動的に開けるかどうかを判断するため、カーテン開設定及びカーテン閉設定の候補構成設定は、別々に評価される。受信された入力状態は、ユーザがリビングルームにいる見込みが７０％あり（例えば、７０％の見込みのリビングルーム状態）、ユーザが寝室にいる見込みが３０％あること（例えば、３０％の見込みの寝室状態）を示す。カーテン開設定が評価されると、リビングルーム状態に対する−１のコンポーネント評価値と寝室状態に対する−１１のコンポーネント評価値が組み合わされ、−４の組み合わされた評価値（例えば、（．７）＊（−１）＋（．３）＊（−１１））が決定される。リビングルーム状態の場合、この−４の組み合わされた評価値は、３つの異なる出力取扱タイプの各々に対してスケーリング／調整され、出力取扱タイプ１に対して−１０の総評価値、出力取扱タイプ２に対して−５の総評価値及び出力取扱タイプ３に対して−１の総評価値が識別される。寝室状態の場合、この−４の組み合わされた評価値は、３つの異なる出力取扱タイプの各々に対してスケーリング／調整され、出力取扱タイプ１に対して−２０の総評価値、出力取扱タイプ２に対して−２０の総評価値及び出力取扱タイプ３に対して−２０の総評価値が識別される。異なる状態に対する総評価値を組み合わせた後、出力取扱タイプ１に対する−１３の組み合わされた総評価値（例えば、（．７）（−１０）＋（．３）（−２０））、出力取扱タイプ２に対する−９．５の組み合わされた総評価値（例えば、（．７）（−５）＋（．３）（−２０））及び出力取扱タイプ３に対する−６．７の組み合わされた総評価値（例えば、（．７）（−１）＋（．３）（−２０））がカーテン開設定に対する結果である。同様のプロセスをカーテン閉設定に適用すると、出力取扱タイプ１に対する−２１の組み合わされた例示的な総評価値、出力取扱タイプ２に対する−１２の組み合わされた例示的な総評価値及び出力取扱タイプ３に対する−１０の組み合わされた例示的な総評価値がカーテン閉設定に対する結果である。利用されるコスト最適化関数は、最も低い総評価値を有する構成設定候補を選択すべきであることを指定し、最も低い総評価値を有することを理由に実施される選択出力候補として、出力取扱タイプ３のカーテン開設定（すなわち、−６．７が最も低い値）が選択される。
【０１２４】
[00144]  図７は、選択出力を実施するためのプロセスの実施形態を示すフローチャートである。図７のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、図７のプロセスの少なくとも一部分は、図５の５０８に含まれる。
【０１２５】
[00145]  ７０２では、選択出力が受信される。いくつかの実施形態では、選択出力は、図５の５０６において選択された出力候補である。
【０１２６】
[00146]  ７０４では、選択出力の出力取扱タイプがユーザ対話型適格性評価を必要とせずに動作を実行することに対応するかどうかが判断される。例えば、出力取扱タイプがユーザ警告を提供せずに又は動作を実行するというユーザ承認を必要とせずに動作を実行することに対応するかどうかが判断される。７０４において選択出力の出力取扱タイプがユーザ対話型適格性評価なしで動作を実行することに対応すると判断された場合は、７１０において、適用可能な場合は、動作が実行される。
【０１２７】
[00147]  例えば、７１０では、選択出力候補の制御可能デバイス構成設定が制御可能デバイスの特性の対応する現在の設定からの変更である場合は、選択出力候補の指定されたデバイス構成設定を変更せよという命令を制御可能デバイスに提供することによって動作が実行される。いくつかの実施形態では、動作は、制御可能デバイスの持続的な特性状態とは関連付けられず、７１０において動作が常に実行される。例えば、動作を実行することは、１つ又は複数のセンサデバイスを使用して捕捉された情報に基づいて警報／通知をリモートユーザに送信することを含む。いくつかの実施形態では、動作を実行することは、ある時間にわたって部分的なステップで動作を徐々に実行することを含む。例えば、動作が、スピーカの音量強度を新しいターゲット強度レベルに変更することである場合は、スピーカの音量強度が新しいターゲット強度レベルに向けて経時的に徐々に変更される。動作を徐々に実行している間、動作を徐々に実行することを停止／一時停止するという表示をユーザから受信することができる。例えば、ユーザは、オーディオの音量を徐々に増加している間にユーザが望むレベルで音量変更を停止／一時停止することを示す。動作を徐々に実行することを停止／一時停止するという表示が受信された場合は、動作が停止／一時停止され、停止表示の時点での現在の設定が維持される。いくつかの実施形態では、動作を逆行するという表示が受信された場合は、動作を動作を留保する（例えば、以前のデバイス構成設定に逆戻りするという命令を制御可能デバイスに提供する）。
【０１２８】
[00148]  ７０４において選択出力の出力取扱タイプがユーザ対話型適格性評価を必要とせずに動作を実行することに対応しないと判断された場合は、７０６において、選択出力の出力取扱タイプがこれから動作を実行するという警告表示を提供することに対応するかどうかが判断される。７０６において選択出力の出力取扱タイプがこれから動作を実行するという警告表示を提供することに対応すると判断された場合は、７１２において、警告表示が提供される。例えば、警告表示は、これから動作を実行するというヒントをユーザに提供する。
【０１２９】
[00149]  警告表示は、対話型視覚警告（例えば、警告灯の点灯、光の点滅、光強度の変更、光の色の変更、電子表示警告など）、聴覚警告（例えば、スピーカを介する音声警告、オーディオトーン、オーディオ／音量強度の変更など）、警告メッセージ（例えば、Ｅメール、テキストメッセージ、チャットメッセージ、アプリケーション通知など）、振動警告、機械的警告（例えば、モータの起動、ブラインドの開閉など）及び他の任意のタイプの警告通知を含み得る。いくつかの実施形態では、警告通知は、動作の実行に近づくにつれて、経時的に強度（例えば、光強度、色、音量、メッセージ深刻度など）を徐々に増加することができる。いくつかの実施形態では、警告表示を提供することは、動作を徐々に又は部分的に実行することを含む。例えば、動作が、電球の光強度を新しいターゲット強度レベルに変更することである場合は、電球の光強度が新しいターゲット強度レベルに向けて部分的に変更される。別の例では、動作が、電動式カーテンを完全に開けることである場合は、これからカーテンを完全に開けるという表示を提供するために、カーテンがわずかに開けられる。いくつかの実施形態では、警告表示は、動作がいつ実行されるかを示す時間値を提供する。例えば、別段の指示がない限り、３分以内に照明が自動的に点灯するというメッセージがユーザに提供される。
【０１３０】
[00150]  ７１４では、待ち時間の間にキャンセル表示が受信されたかどうかが判断される。例えば、待ち時間が経過した後、プロセスは７１０に進む。待ち時間の間、ユーザは、動作の実行をキャンセル又は停止するという表示を提供することができる。キャンセル表示は、音声コマンド、動きジェスチャ（例えば、カメラによって検出される）、物理的なスイッチの起動、コンピュータ入力、アプリケーション入力、デジタルメッセージ及び他の任意のユーザ入力を介して提供することができる。７１４においてキャンセル表示が受信された場合は、７２０において動作を実行しないと決定される。７１４においてキャンセル表示が受信されなかった場合は、プロセスは７１０に進む。いくつかの実施形態では、７１２における警告表示を提供することが動作を徐々に又は部分的に実行することを含んでいた場合は、受信されたキャンセル表示は、徐々に又は部分的に実行された動作を取り消すことを示すことができる。キャンセル表示が徐々に又は部分的に実行された動作を取り消すことを示す場合は、７２０において、徐々に又は部分的に実行された動作が留保される（例えば、以前のデバイス構成設定に逆戻りせよという命令を制御可能デバイスに提供する）。いくつかの実施形態では、７１４においてキャンセル表示は受信されないが、動作を完全に完了する前に漸進的なステップで実行されている動作の実行を停止するという表示が受信される。待ち時間（例えば、待ち時間は、動作の漸進的な実行を完全に完了するために必要な時間量である）が終わる前に動作の漸進的な実行を停止するという表示が受信された場合は、動作の漸進的な実行が一時停止され、７１０において表示の時点での現在の制御可能デバイス設定が維持される。
【０１３１】
[00151]  ７０６において選択出力の出力取扱タイプがこれから動作を実行するという警告表示を提供することに対応しないと判断された場合は、７０８において、選択出力の出力取扱タイプが動作を実行するかどうかユーザに問い合わせることに対応するかどうかが判断される。７０８において選択出力の出力取扱タイプが動作を実行するかどうか問い合わせることに対応すると判断された場合は、７１６において、動作を実行するかどうか問い合わせるためのユーザ対話型問合せがユーザに送信される。問合せは、視覚問合せ（例えば、光の点灯、光の点滅、光強度の変更、光の色の変更、電子表示上での問合せなど）、聴覚問合せ（例えば、スピーカを介する音声質問、オーディオトーンなど）、問合せメッセージ（例えば、Ｅメール、テキストメッセージ、チャットメッセージ、アプリケーション通知など）、振動問合せ及び他の任意のタイプのユーザ問合せを介して送信することができる。いくつかの実施形態では、問合せは、ユーザが応答を提供しない場合は、経時的に強度（例えば、光強度、色、音量、メッセージ深刻度など）を徐々に増加することができる。
【０１３２】
[00152]  ７１６の後、７１８では、動作の実行に関する肯定表示が受信されたかどうかが判断される。ユーザは、音声コマンド、動きジェスチャ（例えば、カメラによって検出される）、物理的なスイッチの起動、コンピュータ入力、アプリケーション入力及び他の任意のユーザ入力を介して、肯定表示を提供することができる。７１８において肯定表示が受信された場合は、プロセスは７１０に進む。７１８において肯定表示が受信されなかった場合（例えば、指定時間内に否定表示が受信されるか又はどの表示も受信されない場合）は、プロセスは７２０に進む。
【０１３３】
[00153]  ７０８において選択出力の出力取扱タイプが動作を実行するかどうか問い合わせることに対応しないと判断された場合は、７０９において、選択出力の出力取扱タイプがユーザが手動で動作を実行するのを待つことに対応するかどうかが判断される。７０９において選択出力の出力取扱タイプがユーザが手動で動作を実行するのを待つことに対応すると判断された場合は、プロセスは７２０に進む。いくつかの実施形態では、７０９において選択出力の出力取扱タイプがユーザが手動で動作を実行するのを待つことに対応すると判断された場合は、プロセスは、ユーザが手動で動作を実行できるように指定された時間量だけ待ち、ユーザが指定された時間量内に動作を実行しない場合は、プロセスは、７１０、７１２又は７１６に進むことができる（図示せず）。図７には４つのタイプの出力取扱タイプが示されているが、他の様々な実施形態では、追加の又は他の出力取扱タイプが存在することもあり得る。例えば、７０９において選択出力の出力取扱タイプがユーザが手動で動作を実行するのを待つことに対応しないと判断された場合は、他の出力取扱タイプを識別するために他のテストを実行することができる。
【０１３４】
[00154]  いくつかの実施形態では、制御可能デバイスを自動的に制御する際、図７のステップのいずれかにおいて受信されたユーザ応答の１つ又は複数の側面が利用される。例えば、ユーザ応答の１つ又は複数の側面（例えば、応答のトーン、応答において検出されたユーザ迷惑、音声韻律、応答内容など）は、図５の５０２において入力状態として、図５の５０６において選択出力候補を選択する際に、図６の６０８において利用される最適化関数への入力としてなどと利用される。
【０１３５】
[00155]  図８は、改善された出力の発見を試みるためのプロセスの実施形態を示すフローチャートである。図８のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６によって少なくとも部分的に実行することができる。いくつかの実施形態では、図８のプロセスの少なくとも一部分は、図２Ａの２０６、図２Ｂの２１８、図５の５０６及び／又は図６の６０８において実行される。いくつかの実施形態では、図８のプロセスの少なくとも一部分は、制御可能デバイスを制御するための出力を自動的に決定すべき時に毎回繰り返される。
【０１３６】
[00156]  ８０２では、テスト出力を出力する上での見込み閾値が識別される。例えば、最適な出力を選択するために最適化関数を利用する際（例えば、図５及び／又は６のプロセスを使用して）、選択出力は、出力候補の決定された候補最適化評価値に基づいて選択される。しかし、候補最適化評価値が出力候補の望ましさを正確に捕捉しない場合は、選択出力候補は、準最適なものであり得る。結果及び入力にマッピングする最適化評価値はフィードバックに基づいて調整及び改善することができる（例えば、ユーザは準最適な設定を最適な設定に手動で変更し、この変更から学習するために機械学習が利用される）が、ユーザは、出力が満足のいくものであれば、最適ではないにもかかわらず、出力結果を改善するための貴重なフィードバックを提供しないことがあり得る。例えば、最適なファン速度設定は低速であるが、ユーザは、現在の異なるファン設定（例えば、高速）が満足のいくものであれば、この最適速度を示すためのフィードバックを提供しないことがあり得る。
【０１３７】
[00157]  いくつかの実施形態では、最適により近い出力（例えば、制御可能デバイスの出力構成設定）の発見を試みる際、限定された例では、潜在的に最適により近い出力を発見するための出力として、最適化に従って最適なものとは言えない出力が提供される。例えば、最適化関数によって選択された最適な出力を使用するというよりむしろ、この出力が潜在的に最適により近い出力であるかどうかを発見するための出力として、ランダムな出力及び／又は第２の最適な出力が提供される。いくつかの実施形態では、見込み閾値は、最適な出力として選択されなかった出力が出力として提供されるターゲット確率を識別する。いくつかの実施形態では、見込み閾値は、動的に決定される。例えば、見込み閾値を動的に変化させることにより、ベータ版の体験者は、最適なものではないテスト出力により多くさらされる可能性がある一方で、信頼性を望む商用ユーザは、最適なものではないテスト出力に比較的少なくさらされる。別の例では、最適なものではない連続テスト出力に継続的にユーザをさらすというよりむしろ、時間間隔内で提供されるテスト出力の数は、学習選択見込み閾値を変化させることによって制限される。
【０１３８】
[00158]  いくつかの実施形態では、見込み閾値を識別することは、１つ又は複数の入力状態（例えば、図５の５０２において受信されたもの）、最後のテスト出力から経過した時間、ユーザのプロファイル、最後のテスト出力の正確性結果／フィードバック、現在の時間／日付、並びに、制御される特性及び／又は制御可能デバイスのタイプなどのうちの１つ又は複数に少なくとも部分的に基づいて見込み閾値を動的に選択することを含む。
【０１３９】
[00159]  ８０４では、識別された見込み閾値に基づく選択基準が満たされているかどうかが判断される。例えば、見込み閾値を使用して評価されたランダム化選択基準に基づいて、最適化関数によって選択された出力ではないテスト出力を出力すべきかどうかが判断される。いくつかの実施形態では、テスト出力を提供すべきかどうかを判断するため、ランダム値が選択され、ランダム値が見込み閾値の限度によって限度が設けられる範囲内にあるかどうかが判断される（例えば、ランダム値が見込み閾値より低い場合は、見込み閾値が満たされ、そうでない場合は、見込み閾値は満たされない）。
【０１４０】
[00160]  ８０４において選択基準が満たされていないと判断された場合は、８０６において、最適化関数を使用して最適であるように選択された選択出力が出力される。例えば、最適化関数によって最適であるように選択された出力（例えば、図５の５０６、図６の６０８など）は、制御可能デバイスを制御するための出力として提供される。
【０１４１】
[00161]  ８０４において選択基準が満たされていると判断された場合は、８０８において、テスト出力が出力される。例えば、識別済みの（例えば、図６の６０２において識別済みの）潜在的な出力候補（例えば、制御される制御可能デバイスの特性の候補構成設定）の中から、出力候補のうちの１つがランダムに選択され、出力される。出力されるようにランダムに選択できる条件を満たしている出力候補は、最適化関数を使用して実行された分析に基づいて制限され得る。例えば、最適化関数によってランク付けされるような出力候補の上位５０％のみが、テスト出力として出力されるように選択できる条件を満たしている。別の例では、最適化関数に基づいて決定されるような第２の最適な出力が、テスト出力として提供される。
【０１４２】
[00162]  ８１０では、出力についてのフィードバックが受信される。例えば、出力が制御可能デバイスの特性の望ましくない構成設定をもたらした場合は、ユーザは、構成設定を明示的に変更する（例えば、デバイスの制御スイッチを調整する）ことによって構成設定を具体的にオーバーライドすることができる。いくつかの実施形態では、ユーザは、ユーザ表示を介して、出力構成設定が所望の構成設定であるかどうかを確認することができる。例えば、ユーザデバイスを使用して、ユーザは、最近の出力がユーザが望む自動挙動をもたらしたかどうかを指定することができる（例えば、表示に基づいて、最適化コンポーネント値が修正される）。いくつかの実施形態では、ユーザによる動作の欠如は、出力が望ましくないものではなかったという確認フィードバックである。例えば、入力状態と出力との間の関係は、同じ入力状態を考慮した上で、ユーザがフィードバックを提供しない又は構成設定を修正しない時間が長くなるほど及び／又は頻度が高くなるほど、ユーザによって容認され易くなると想定される。
【０１４３】
[00163]  ８１２では、受信されたフィードバックに少なくとも部分的に基づいて、適用可能な場合は、１つ又は複数の参照最適化評価値が更新される。例えば、受信されたフィードバックを使用して、入力状態と特定の出力（例えば、制御可能デバイスの構成設定）との間の関連性を識別する１つ又は複数の参照値（例えば、将来の評価において参照される値）が更新される。例えば、出力は望ましいものであったというユーザからの肯定表示は、関連最適化評価値を低減し、出力は望ましいものではなかったというユーザからの否定表示は、関連最適化評価値を増加する。
【０１４４】
[00164]  図９Ａ〜９Ｄは、階層配備環境モデルの様々なレベルの例を示す図である。例えば、環境モデルは、ルール発見及び実施並びにデバイス制御における使用のために、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６に格納される。いくつかの実施形態では、配備環境のモデルは、グラフデータフォーマットのデバイス／センサ並びに物理的環境及びそれらの接続のモデルである。デバイス／センサ及び物理的環境場所（例えば、コンポーネント領域）は、示されるグラフモデルのノードとして表され、ノード間の接続（例えば、コンテキスト情報）は、エッジとして表される。グラフモデルのデバイスノードは、必ずしも「スマート」、ネットワーク「接続」又は「ＩｏＴ」デバイスでなければならないわけではない。例えば、通常の「ダム」電球は、グラフモデルにおいて表される部屋／環境の照明に影響を及ぼすという理由により、グラフモデルのノードとして表される。グラフモデルの他のノードもまた、この電球の検知及び／又は制御が可能であり得る。例えば、電球ノードは、電球の状態を検知することができるモデルの別のデバイスノード（例えば、光センサノード）及び／又は電球を制御することができるモデルの別のデバイスノード（例えば、スマートネットワーク接続照明スイッチ）に接続することができる。それらの例のグラフモデルは、階層的なものであり、あるレベルのノードは、高レベルのノードの特性（例えば、コンテキスト情報）を継承する低レベルの１つ又は複数のノード及びエッジを表し得る。エッジは、複数のレベルにわたって及び異なる階層レベル／グループのノード間に存在し得る。各ノード（例えば、各コンポーネント領域）は、各々がノードについての説明、構成、設定、識別及び／又は他の任意の特性を識別する１つ又は複数の特性（例えば、コンテキスト情報）と関連付けることができる。各エッジは、エッジによって接続されるノード間の関係を識別する１つ又は複数の特性（例えば、コンテキスト情報）と関連付けることができる。例えば、物理的場所／特性（例えば、物理接続タイプエッジ）、機能的特性（例えば、機能接続タイプエッジ）、挙動特性（例えば、挙動活動接続タイプエッジ）及び／又は他の任意の関係特性を識別する関係は、エッジの特性として識別される。図９Ａ〜９Ｄに示されるグラフモデルレベルは、単なる例であり、例を明確に示すために簡素化されている。すべてのノード及びエッジが示されているわけではなく、追加のノード及びエッジが存在することもあり得る。ノード特性（例えば、コンテキスト情報）は、照明、温度、湿度、地理的場所（例えば、自宅の部屋／エリア）、寸法、振動、圧力、場所、日光方向、デバイスの場所、騒音レベルなどの物理的特性を含み得る。例えば、カーテンノードの機能的特性は、カーテン開機能であり（並びに照明及び熱に影響を及ぼす）、その環境への影響は、その機能との照明及び温度関係を識別するグラフのエッジを通じてモデル化される。
【０１４５】
[00165]  エッジは、ノード間の関係を定義することができる。物理的及び機能的エッジ特性（例えば、コンテキスト情報）は、２つの場所ノード間の照明関係（例えば、あるエリアの照明は、近隣の部屋の照明に影響を及ぼす）、２つのノード間の温度関係（例えば、あるエリアの温度変化は、近隣のエリアの温度変化に影響を及ぼし、それらの中間に絶縁壁があればその影響は少ない）、地理的場所間の関係（例えば、自宅のレイアウト、リビングルームは、ダイニングルームから歩いて行けるが、バスルームへは、廊下ノードを通過する必要があるため、直接行くことはできない）、音関係（例えば、あるエリアの音楽又は音声は、他のエリアの音に影響を及ぼす）、２つのデバイス間の関係（例えば、スイッチは３つの電球を制御することができる、又は、場所ノードは２つのカメラから見ることができる）などを含み得る。例えば、カーテン（デバイスノード）を開けると、その照明効果は、外の環境を表すノードから入る光からのリビングルームノードの光レベルの変化を識別する光特性エッジによってモデル化される。挙動エッジ特性は、活動と関連付けることができる（例えば、ある人は、ダイニングルームで作業しているが、彼のエリアの「利用」は、隣接するリビングルームを含む）。例えば、ある人は、調理しており、台所とダイニングルームは、調理活動に対して接続されることになる。別の例では、子供の携帯電話は、親の寝室に対する機能効果を持っておらず、認定所有者のみ、ある場所のカメラフィードにアクセスすることができる。
【０１４６】
[00166]  図９Ａは、接続デバイス環境の近隣レベルの階層グラフモデルの例を示す図である。グラフモデルに示されるように、ノードは、場所／物理的建物を表すのみならず、そのレベルの場所／建物によって共有されるデバイスの共用資源及びデバイスを表すこともできる。グラフモデルレベル９０２は、近隣の建物を表すノード９０６及び９０８を示す。ノード９０４は、建物の近隣の自動ゲートを表し、ノード９１０は、近隣のデバイス自動化を管理するサーバ（例えば、図１Ａのサーバ１０６）を表す。建物ノード９０６は、建物の物理的場所座標、建物の地理的方位、建物に含まれるユニットの数、建物と関連付けて実行することができる活動、建物の高さ、建物の能力などを説明する特性と関連付けることができる。グラフモデルレベル９０２に示されるノード間の接続（すなわち、エッジ）は、ノード間の物理的場所接続／関係を表す。例えば、ノード間のエッジは、物理的通路、場所関連性及び／又はワイヤ接続の存在を表し得る。各エッジは、１つ又は複数の特性と関連付けることができる。例えば、エッジは、接続されたノード間の距離／場所と関連付けられた強さ、距離及び／又は時間値を識別する特性値と関連付けることができる。グラフ９０２は物理的接続タイプエッジのみを示すが、他の図の例によって示されるように、この図に示されていない他のタイプのエッジが存在することもあり得る。例えば、機能的タイプエッジは、ノード間の機能接続（例えば、ネットワーク接続）を識別する（例えば、グラフモデルは、建物／サーバ間の検出された接続速度を識別し、グラフモデルは、ノード間の最速ネットワークパスを識別するために利用することができる）。別の例では、挙動タイプエッジは、あるタイプの挙動活動に対して存在する接続（例えば、人々、活動、所有権、認証、プライバシーなどに基づく接続）を識別する。グラフモデルレベル９０２は、あるレベルの階層グラフモデル及びより高いレベルの階層グラフモデルが存在し得ることを示す。例えば、グラフモデルレベル９０２は、より高いレベルのグラフモデルにおいてまとめて接続される複数の近隣ノードの１つの近隣ノードを表す。
【０１４７】
[00167]  図９Ｂは、接続デバイス環境の建物レベルの階層グラフモデルの例を示す図である。図９Ｂに示されるグラフモデルレベル９１２は、図９Ａに示されるレベルより低いレベルを表す。具体的には、レベル９１２は、図９Ａの建物９０６のサブノード及びエッジを表す。ノード９１４、９１６、９１８、９２０は、図９Ａの建物９０６のアパートのユニットを表す。建物のこれらのすべてのアパート用のデバイス管理サーバは、ノード９２２によって表される。グラフモデルレベル９１２に示されるノード間の接続は、ノード間の物理的場所接続／関係を表す。グラフレベル９１２は物理的接続タイプエッジのみを示すが、この図に示されていない他のタイプのエッジが存在することもあり得る。
【０１４８】
[00168]  図９Ｃは、接続デバイス環境のユニットレベルの階層グラフモデルの例を示す図である。図９Ｃに示されるグラフモデルレベル９２４は、図９Ｂに示されるグラフレベルより低いレベルを表す。具体的には、レベル９２４は、図９Ｂのアパート９１８のサブノードを表す。ノードは、建物、ユニット及びデバイスを表すのみならず、物理的部屋及び物理的領域を表すこともできる。アパートのユニット内の場所は、ノード９２６〜９３６によって表される。湯沸かし器ノード９２５は、ユニットの湯沸かし器デバイスを表す。グラフモデルレベル９２４に示されるノード間の接続は、ノード間の物理的場所接続／関係を表す。グラフレベル９２４は、物理的接続タイプエッジを実線接続として示す。また、グラフレベル９２４は、挙動タイプエッジの例をノード間の点線接続として示す。台所９２６とダイニングルーム９３０との間の点線は、特定の挙動活動に対する部屋／エリア間の挙動接続を表す。この挙動エッジは、食事活動に対して台所とダイニングルームとの間のプライバシーを０．５の値の中間のプライバシー設定に設定すべきであることを識別する特性と関連付けられている。このプライバシー特性値は、食事活動が実行されていることが検出された際に中間レベルのプライバシーを維持するように関連デバイスを調整するために利用することができる。
【０１４９】
[00169]  リビングルーム９３４と寝室９３６との間の点線は、部屋／エリア間の挙動接続を表す。この挙動エッジは、勉強活動に対してリビングルームと寝室との間のプライバシーを１．０の値の高いプライバシー設定に設定すべきであることを識別する特性と関連付けられている。このプライバシー特性値は、勉強活動が実行されていることが検出された際に部屋間で高レベルのプライバシーを維持する（例えば、騒音を最小限に抑える）ように関連デバイスを調整するために利用することができる。挙動エッジは、人及び／又は動物／ペットの活動に関連し得る。
【０１５０】
[00170]  図９Ｄは、接続デバイス環境の部屋レベルの階層グラフモデルの例を示す図である。図９Ｄに示されるグラフモデルレベル９４０は、図９Ｃに示されるレベルより低いレベルを表す。具体的には、グラフレベル９４０は、図９Ｃの台所９２６のサブノードを表す。ノードは、デバイス及びユニットの区切りを表すのみならず、領域のサブ領域及び環境に位置するアイテム（例えば、家具）を表すこともできる。台所エリアノード９５０は、一般的な台所場所／領域を表す。キッチンアイランド領域９５２及びカウンター領域９５４は、台所エリア９５０のサブ領域を表す。カウンター領域９５４は、流し台領域サブ領域９５６とコンロ領域９５８とにさらに分割される。流し台領域に特有の照明は、スイッチ９６４によって制御される照明９６０によって表される。コンロ領域に特有のファンは、スイッチ９６６によって制御されるファン９６２によって表される。台所のカメラは、カメラ９４２によって表される。台所のマイクロフォン及びスピーカは、モジュール９４４によって表される。台所の動きセンサは、動きセンサ９４６によって表される。台所のブラインド制御デバイスは、ノード９４８によって表される。
【０１５１】
[00171]  グラフモデルレベル９４０に示されるノード間の実線のエッジ接続線は、ノード間の物理的場所接続／関係を表す。例えば、カメラ９４２は、台所エリアの領域に設置／装着するために台所エリア９５０に接続されている。グラフモデルレベル９４０のノード間の破線のエッジ接続線は、接続されたノード間の機能的接続／関係を表す。例えば、カメラ９４２とキッチンアイランド領域９５２との間の機能的エッジは、カメラの画像捕捉機能が少なくともキッチンアイランド領域９５２の領域の画像を捕捉できることを識別する。このエッジと関連付けられる特性は、カメラによって捕捉することができるキッチンアイランド領域の正確な部分を識別することができる。それに加えて、照明９６０とキッチンアイランド領域９５２、流し台領域９５６及びコンロ領域９５８との間の破線のエッジ接続は、照明のルミネセンス機能が接続領域まで届くことを識別する。これらの機能的エッジの各々は、各接続領域まで届く光の強度の尺度を識別する特性と関連付けられる。流し台領域９５６への機能的エッジは、強いルミネセンスを示すために「１．０」の特性強度値で識別され、コンロ領域９５８への機能的エッジは、中間のルミネセンスを示すために「０．５」の特性強度値で識別され、キッチンアイランド領域９５２への機能的エッジは、低いルミネセンスを示すために「０．２」の特性強度値で識別される。機能的エッジの別の例は、ノード間のオーディオ／音関係を含む。
【０１５２】
[00172]  図１０は、接続デバイス環境のモデルを初期化するためのプロセスの実施形態を示すフローチャートである。図１０のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、モデルは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６に格納されたグラフモデルである。いくつかの実施形態では、グラフモデルの例は、図９Ａ〜９Ｄのグラフモデルである。
【０１５３】
[00173]  １００２では、環境モデルが初期化される。いくつかの実施形態では、モデルを初期化することは、確立される接続デバイス環境に対するグラフモデルを確立することを含む。例えば、ユーザは、モデルを構築するために、環境内のデバイス／センサ並びにそれらの場所及び接続を指定する。いくつかの実施形態では、モデルを初期化することは、モデルの仕様を受信することを含む。例えば、ソフトウェアを使用して、ユーザは、環境内の領域及び接続デバイスを含む環境の構成を指定する。
【０１５４】
[00174]  環境モデルは、異なる設置環境及び異なる自宅によって変化し得る。しかし、機械学習を利用して、ある設置環境から別の設置環境にモデルの少なくとも一部分を適用することができる。例えば、グラフモデルのパターンを見出し、様々な設置環境に適用することができ、その結果、ある自宅からの学習を別の自宅に移行することができる。言い換えれば、機械学習は、モデルの同様の部分にわたる挙動／プロセスを識別するために利用され、従って、異なる設置環境及びモデルにわたる共通のルールを生成する。
【０１５５】
[00175]  いくつかの実施形態では、モデルを初期化するために、１つ又は複数のテンプレートが利用される。例えば、ユーザには、事前構築グラフモデルテンプレートが提供され、ユーザは、グラフモデル例の少なくとも一部分を指定するために、必要に応じて、テンプレートを調整する及び組み合わせることができる。いくつかの実施形態では、ネットワーク接続デバイスは、よく似た及び／又は同じ環境にわたって配備されるべきである。例えば、複数の建物／アパートのユニットは、同じレイアウトに基づき得、設置者は、各ユニットにおいて設置する及び重複させるネットワーク接続デバイス及びセンサのタイプ及び特有の設置場所を決定済みである。設計は標準化済みであるため、モデルテンプレートは、同じ／同様のユニットに対して生成し、同じ／同様のユニットのすべてにわたって適用することができる。別の例では、環境の一部分（例えば、部屋、領域など）に対するモデルテンプレートは、配備環境に対するグラフモデルを構築するために使用することができる。モデルテンプレートは、各配備例に対してカスタマイズ可能であり得る。例えば、モデルテンプレートを使用する際、各ユニットの偏差／ばらつきを考慮するために、テンプレートの要素を修正／指定することができる。
【０１５６】
[00176]  いくつかの実施形態では、モデルを初期化することは、特定の物理デバイスをグラフモデルの代表的なノードと関連付けることを含む。例えば、テンプレートグラフモデルは、テンプレートグラフモデルのデバイス／センサ用のプレースホルダを含むが、デバイス／センサノードは、現実の配備／設置デバイス／センサとは具体的には関連付けられておらず、ユーザ／設置者は、これらのプレースホルダに対する特有の現実のデバイス／センサの識別子を指定することができる。ネットワーク接続デバイスが同様のユニットにわたって配備される例では、設置者は、ユニットに対するモデルテンプレートに基づいて物理センサ／デバイスを各ユニットに設置することができる。いくつかの実施形態では、グラフモデルテンプレートに基づいて、物理センサ／デバイスは、グラフモデルテンプレートのノードと自動的に関連付けられる。例えば、各センサ／デバイスは、センサ／デバイスの対応するグラフモデルノードを決定するために、他のセンサ／デバイスと連動して１つ又は複数のテストを実行する。一例では、２つの電球デバイスノードがグラフモデルテンプレートに存在し、２つのネットワーク接続電球が環境に設置済みである場合は、どちらの物理的電球がグラフモデルテンプレートのどちらの電球ノードに対応するかを決定する必要がある。この例では、一方の電球を点灯する一方で、他方を消灯し、配備環境におけるセンサからのフィードバックデータを利用して、点灯した電球の場所及びその対応するノードを推測し、消去法によって、消灯した電球のノードを識別する。
【０１５７】
[00177]  いくつかの実施形態では、グラフモデルのノード及び／又はエッジの特性は、ユニットの場所及び／又は方位に基づいて変化する。例えば、建物の３階のアパートのユニットは、１階のユニットとは異なるプライバシー問題を有し、窓装飾デバイスノード及び／又はノードを接続するエッジと関連付けられたプライバシー特性設定値は、環境の場所及び／又は方位に基づいて修正される。別の例では、窓から入る日光及び／又は騒音の量は、窓の方向／方位に基づいて変化し得、窓装飾デバイスノード及び／又はそのエッジと関連付けられた特性設定値は、関連付けられた窓の場所及び／又は方位に基づいて修正される。
【０１５８】
[00178]  １００４では、モデルが検証される。例えば、配備環境に対して正しいモデルが初期化済みであることを保証するために自動テストが実行される（例えば、閉ループ検証）。いくつかの実施形態では、自動検証は、１つ又は複数のテスト（例えば、各物理デバイス／センサがグラフモデルの正しい対応するノードと関連付けられていることを保証するためのテスト）を実行することによって実行される。例えば、各制御可能デバイス／センサに対し、１つ又は複数の制御可能特性が起動され、センサを使用してそれらの効果が検出され、検出された効果がグラフモデルに従って期待通りのものかどうかが判断される（例えば、環境のコンポーネント領域及び関連コンテキスト情報を検証する）。一例では、環境に影響を及ぼすデバイス（例えば、音、照明など）がオンになるように指示されると、モデルに従って（例えば、グラフモデルの対応するノード間のエッジに従って）その効果を検出できるはずのセンサは、モデルが正しければ、その効果を検出するはずである。いくつかの実施形態では、ユーザ／設置者は、１つ又は複数の動作（例えば、特定の経路を歩く、スイッチをオンにするなど）を実行せよという指示を受け、検出されたデータがモデルと適合することを検証するために環境のセンサが利用される。エラーが検出された場合は、エラーは、自動的に修復すること（例えば、２つのノード間のデバイス関連性を切り替える）及び／又はユーザ／設置者がエラーを訂正できるようにエラーメッセージを提供することができる。
【０１５９】
[00179]  いくつかの実施形態では、モデルを使用して、１つ又は複数のデバイス／センサが周期的に検証される。例えば、センサ／デバイスは使用中に故障する場合があり、テスト中のデバイス／センサに対して識別するために、グラフモデルを使用することによって、デバイス／センサの正しい機能が周期的に検証される。他のデバイス／センサは、テスト中のデバイス／センサを検出すること又はテスト中のデバイス／センサに影響を及ぼすことができ、これらのデバイス／センサがテスト中のデバイス／センサの機能の正しい動作を検出できることが検証される。いくつかの実施形態では、周期的な検証は、メンテナンス問題を検出するために利用される。例えば、ある共通のメンテナンス問題に対する検証テストは、モデルに基づいて周期的に実行することができる。
【０１６０】
[00180]  いくつかの実施形態では、モデルを使用することによって、所望の対象範囲を提供するために必要な最も効率的なセンサ／デバイス配置場所及び／又は追加のセンサ／デバイスの場所を識別することができる。例えば、環境において使用可能にすることが望ましいルール及び／又は機能の所望のセットに基づいて、グラフモデルを分析し、グラフモデルにおいて追加のノードを配置できる場所（それと関連付けられる特性）、ノードを排除できる場所及び／又は修正できる（例えば、品質を改善できる）エッジの特性値を識別することができる。次いで、所望の対象範囲を達成するために、物理的環境において分析の結果を実施することができる。
【０１６１】
[00181]  図１１は、環境モデルを使用してコマンドを処理するためのプロセスの実施形態を示すフローチャートである。図１１のプロセスは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６上で少なくとも部分的に実装することができる。いくつかの実施形態では、グラフモデルは、図１Ａのデバイス１０２のいずれかのデバイス、ユーザデバイス１０８、ハブ１０４及び／又はサーバ１０６に格納されたグラフモデルである。いくつかの実施形態では、モデルの例は、図９Ａ〜９Ｄのグラフモデルである。いくつかの実施形態では、図１１のプロセスの少なくとも一部分は、図２Ａ〜３の２０６、２１４、２１６、２１８、２２４、２２６、２２８、３１４、３１６及び／又は３１８、図４の４０４、図５の５０２及び／又は５０４、図６の６０４、及び／又は、図１０の１００４に含まれる。
【０１６２】
[00182]  １１０２では、コマンドが受信される。いくつかの実施形態では、コマンドは、ユーザコマンドである。例えば、ユーザは、スイッチを起動するか又は命令を提供する。ユーザコマンドは、マイクロフォンによって検出される音声コマンドであり得る。いくつかの実施形態では、コマンドは、自動コマンド（例えば、プリセット又は自動的に決定されたルールに基づいて発動される）である。いくつかの実施形態では、コマンドが検出される。例えば、センサがトリガされている。いくつかの実施形態では、コマンドは、明示的なユーザコマンドではない。例えば、コマンドは、センサによって検出された環境の特性に基づいて自動的に発動される。いくつかの実施形態では、コマンドは、ルールの発動である。いくつかの実施形態では、コマンドは、新しいルールの発見である。いくつかの実施形態では、コマンドは、デバイス／センサの側面をテストするためのテストコマンドである。
【０１６３】
[00183]  １１０４では、コマンドに関連するグラフモデルのノードを識別するために、環境のグラフモデルが適用される。例えば、グラフモデルは、デバイス／センサ間の関係（例えば、コンテキスト情報）及び物理的領域（例えば、コンポーネント領域）を指定し、この関係情報は、関連デバイス／センサ及びそれらのコマンド関連関係を識別するために利用される。いくつかの実施形態では、識別されたノードは、グラフモデルのすべてのノードのサブセットである。いくつかの実施形態では、ノードを識別することは、コマンドと直接関連付けられたノード（例えば、コマンドによって指定されたデバイスに対応するノード）を識別し、次いで、コマンドと関連付けられた関係を有する識別されたノードに接続されるノードを決定することを含む。例えば、ガレージドアを開けるというコマンドが受信されると、グラフモデルにおいてガレージドアオープナに対応するノードが識別され、次いで、コマンド関連関係を有するガレージドアオープナノードに接続された他のノードが識別される（例えば、関連照明を点灯するために、ガレージドアオープナのガレージエリアに光を当てることができるすべての照明関連ノードを識別する）。いくつかの実施形態では、グラフモデルは、階層的なものであり、コマンドは、グラフ階層の１つ又は複数のレベルに関連し得る。例えば、低レベルのノード／エッジは、直接対応する高レベルのノードから特性を継承する。
【０１６４】
[00184]  いくつかの実施形態では、ノードを識別することは、コマンドの物理的エリア／領域（例えば、コンポーネント領域）と関連付けられたノードを識別することを含む。例えば、コマンドは、物理的エリア／領域と関連付けられ（例えば、台所コマンドで照明を点灯する）、物理的エリア／領域と関連付けられたグラフモデルのノードが識別される。次いで、物理的エリア／領域との他のノードのグラフモデルエッジ接続に基づいて、物理的エリア／領域に接続され且つコマンドと関連付けられた他のノードを識別することができる。物理的エリア／領域は、コマンドで直接指定すること及び／又は推論すること（例えば、コマンドを提供したユーザの場所）ができる。物理的エリア／領域は、部屋、部屋内の場所、ユニット、建物、屋外場所、サブ領域、特定のアイテムを取り囲む場所及び／又は他の任意の識別可能な場所であり得る。
【０１６５】
[00185]  いくつかの実施形態では、グラフのコンテキスト情報を使用することにより、本来ならグラフのコンテキスト情報がないものより一般化された直観的なコマンドを利用することができる。例えば、特定のデバイスの名称及びデバイスの構成を知ることをユーザに要求するというよりむしろ、ユーザは、グラフモデルの場所及び／又は関係概念に関連したコマンドを提供することができる。識別された場所／関係に基づいて、適用可能なデバイス／ノードを自動的に決定することができる。それに加えて、コンテキスト情報により、より一般化された及びコンテキストを意識したルールを自動的に発見することができる。例えば、グラフモデルの場所コンテキスト情報なしでは、ルール発見／使用の間に利用される状態入力は、孤立して存在する。しかし、グラフモデルの場所コンテキスト情報があれば、一般化されたエリア／領域に対するルールを発見／利用するために（例えば、特定のデバイスのみに対する以前の制限されたルール発見と対比して、台所のデバイスがどのように挙動すべきかに関するルールを発見する）、コンテキスト情報に基づいて入力状態を一般化することができる（例えば、特定のデバイスに対してというよりむしろ、より広い領域／エリアに対して）。より一般化されたルールの発見、発動及び／又は利用を可能にすることにより、より多くの状況及び場所においてルールが適用可能になる。例えば、特定のユーザに特有のルールであるが、より広いエリア／領域用に一般化されたルールは、特定のユーザが異なる環境（異なるグラフモデルを有するが、同じラベルが付けられたエリア／領域を有する）に移動した際に、異なる環境に応用することができる（例えば、ユーザが夜中に台所エリアに入った際に照明を点灯するというルールは、実際の照明デバイス及びそれらの構成が異なる台所にわたって異なる場合であっても、ユーザが訪れるすべての台所にわたって適用することができる）。いくつかの実施形態では、グラフモデルを使用して動作をより広い概念に一般化できるようにする（例えば、より広い場所コンテキストに一般化する）ことにより、様々な異なるタイプの配備環境にわたって（例えば、同じユーザ及び／又は異なるユーザによって）ルール発見を行うことができる。
【０１６６】
[00186]  いくつかの実施形態では、グラフモデルは、ノード間の物理的関係を識別するエッジ（例えば、ノード間の接続）を含み、これらのエッジは、ノードを識別する際に利用される。例えば、これらのタイプのエッジや、ノード（例えば、デバイス／センサ、場所エリアなど）間の物理的場所／関係を識別する任意の関連特性（例えば、大きさ値）は、コマンドを処理する際に利用される。デバイス／センサの場所及びそれらの互いの物理的関係は、ノードの情報を処理する際のコマンドの処理及び／又は物理的なコンテキスト情報の提供に関連しているノードを識別するために利用することができる。例えば、場所三角測量は、複数のセンサの互いの既知の場所をそれぞれ考慮した上でそれらの複数のセンサのカメラ及び／又はマイクロフォンデータを処理することによって事象の場所を識別するために実行される。別の例では、場所情報により、影響を受ける特定のデバイスのすべてに関する正確な知識（例えば、例えば、特定の領域のすべての照明を点灯するコマンド）を必要とすることなく、グラフモデルにおいて識別された物理的関係に基づいて、物理的に同一場所に配置されたデバイス／センサの共同制御が可能になる。いくつかの実施形態では、センサ配置の場所情報は、センサの検出された動きが人間のユーザと関連付けられるか又はペットと関連付けられるかを判断するために利用される。例えば、地面から低いところに装着されたセンサは、人間及びペットの動きを検出することができ、地面から高いところに装着され且つ低地の動きの検出とは無関係なセンサは、ペットの動きを検出する可能性が少ない。
【０１６７】
[00187]  いくつかの実施形態では、ノードの物理的関係は、屋外環境コンテキストを提供する。例えば、グラフモデルは、屋外気象、時刻／日付及び／又は太陽の位置の間の関係を捕捉する。一例では、グラフモデルを使用して少なくとも部分的に得られた、窓の場所／位置／方位、並びに、時間及び太陽の位置情報に基づいて、窓から入る日光の期待量が決定され且つ利用され、窓の近くのサーモスタットが屋内の温度を正しく測定しているか又はサーモスタットを照らす直射日光による異常な影響を受けているかが判断される。複数の温度センサが存在する場合は、正確である可能性が最も高い温度センサを使用するように選択することができる。別の例では、バスルームのファンは、高湿度がバスルームでのみ検出されているか（例えば、ユーザが入浴中のため）又はアパートのユニット全体の湿度が高いか（例えば、グラフモデルを使用して決定されるようにバスルームから十分遠くの場所に位置するセンサで検出される）を検出することによって、グラフモデルデータを使用して、バスルームの湿度を効率的に制御することができ、バスルームのファンは、バスルームセンサとリモートセンサとの間で十分な湿度差が検出された場合にのみ付く。
【０１６８】
[00188]  いくつかの実施形態では、グラフモデルは、ノード間の機能的関係（例えば、コンテキスト情報）を識別するエッジを含み、これらのエッジは、ノードを識別する際に利用される。例えば、これらのタイプのエッジや、ノード間の機能的関係（例えば、コンテキスト情報）を識別する任意の関連特性（例えば、機能的コンテキスト識別及び接続の大きさ値）は、コマンドを処理する際に利用される。機能的関係の例は、光及び音の関係を含む。例えば、別のノードに影響を及ぼすノードによって出力／制御される光及び／又は騒音の量は、関連大きさ値を有するエッジ接続として表される。一例では、部屋を暗くするというコマンドをユーザが提供すると、ユーザの場所が決定され、光関係を識別する機能的エッジでその場所に接続されるすべてのノードが識別され、光出力を低減するように指示される。
【０１６９】
[00189]  いくつかの実施形態では、グラフモデルは、ノード間の挙動関係（例えば、コンテキスト情報）を識別するエッジを含み、これらのエッジは、ノードを識別する際に利用される。例えば、これらのタイプのエッジや、ノード間の挙動活動関係を識別する任意の関連特性（例えば、挙動活動識別、活動の関連特性及び接続の大きさ値）は、コマンドを処理する際に利用される。挙動活動関係の例は、人々（例えば、人間のユーザの活動、所有権、認証、プライバシーなど）及び／又は動物／ペットの活動／挙動と関連付けられた関係を含む。例えば、各挙動関係タイプエッジは、指定された活動（例えば、作業、食事、勉強、テレビ視聴、入浴など）に特有のものであり、各挙動関係タイプエッジは、指定された活動に対してのみ適用可能である。異なるコンテキスト及び挙動活動は、異なるデバイス設定をもたらし得る。例えば、読む活動は、明るい照明設定をもたらし、睡眠活動は、低い明るさ設定をもたらし得る。
【０１７０】
[00190]  いくつかの実施形態では、コマンドと関連付けられた活動が決定され、コマンドに関連するグラフモデルのノードを識別することは、決定された活動に対するエッジを識別することを含む。例えば、ユーザが眠っていることが検出されると、睡眠活動と関連付けられたプライバシー／照明エッジが識別され且つ利用され、グラフモデルのユーザの場所に接続されている識別されたエッジに基づいてデバイスが相応に調整される。別の例では、１つ又は複数の挙動エッジは、１人又は複数の特定ユーザ及び／又はユーザのタイプと関連付けられ、認定ユーザ及び／又はユーザのタイプがコマンドを提供したかどうか及び／又は認定ユーザ及び／又はユーザのタイプが検出されたかどうかに基づいて、機能を使用可能／使用不能にすることができる。
【０１７１】
[00191]  １１０６では、コマンドに応答して識別されたノードが起動される。例えば、コマンドの所望の結果は、適切な識別されたノードの１つ又は複数の特徴（例えば、状態の修正）を使用可能／使用不能にすることによって達成される。いくつかの実施形態では、ノードを起動することは、１つ又は複数の識別されたノードのデバイス／センサを作動／停止することを含む。いくつかの実施形態では、ノードを起動することは、識別されたノードの１つ又は複数の状態を決定することを含む。例えば、状態は、１つ又は複数のルールを学習及び／又は起動するために使用することができる。いくつかの実施形態では、ノードを起動することは、１つ又は複数のデバイス設定を修正することを含む。いくつかの実施形態では、ノードを起動することは、識別されたノードの１つ又は複数の関連エッジ及び／又はノードを決定することを含む。いくつかの実施形態では、ノードを起動することは、センサデータを評価することを含む。いくつかの実施形態では、ノードを起動することは、識別されたノードに基づいてグラフモデルを修正することを含む。例えば、ノード及び／又はエッジの１つ又は複数の特性を修正することも、１つ又は複数のノード／エッジをグラフモデルに追加するか又はグラフモデルから除去することもできる。いくつかの実施形態では、ノードを起動することは、コマンドを処理するために、適用可能な場合は、各ノードがコマンドにどのように関連するか及び各ノードをどのように発動すべきかを決定し、適切なノードを発動させることを含む。いくつかの実施形態では、ノードを起動することは、コマンド及び識別されたノードと関連付けられた１つ又は複数のルールを識別し、識別されたルールを発動させることを含む。
【０１７２】
[00192]  理解を明確にする目的で前述の実施形態についてある程度詳細に説明してきたが、本発明は、提供される詳細に限定されない。本発明を実装するための多くの代替の方法がある。開示される実施形態は、例示であり、制限するものではない。
【図１Ａ】
2021518004.tif 000003
【図１Ｂ】
2021518004.tif 000004
【図１Ｃ】
2021518004.tif 000005
【図１Ｄ】
2021518004.tif 000006
【図１Ｅ】
2021518004.tif 000007
【図１Ｆ】
2021518004.tif 000008
【図２Ａ】
2021518004.tif 000009
【図２Ｂ】
2021518004.tif 000010
【図２Ｃ】
2021518004.tif 000011
【図３】
2021518004.tif 000012
【図４】
2021518004.tif 000013
【図５】
2021518004.tif 000014
【図６】
2021518004.tif 000015
【図７】
2021518004.tif 000016
【図８】
2021518004.tif 000017
【図９Ａ】
2021518004.tif 000018
【図９Ｂ】
2021518004.tif 000019
【図９Ｃ】
2021518004.tif 000020
【図９Ｄ】
2021518004.tif 000021
【図１０】
2021518004.tif 000022
【図１１】
2021518004.tif 000023
【国際調査報告】
2021518004.tif 000024