JP6921950B2 - 関係グラフを用いた接続デバイスの制御 - Google Patents

関係グラフを用いた接続デバイスの制御 Download PDF

Info

Publication number
JP6921950B2
JP6921950B2 JP2019521420A JP2019521420A JP6921950B2 JP 6921950 B2 JP6921950 B2 JP 6921950B2 JP 2019521420 A JP2019521420 A JP 2019521420A JP 2019521420 A JP2019521420 A JP 2019521420A JP 6921950 B2 JP6921950 B2 JP 6921950B2
Authority
JP
Japan
Prior art keywords
graph model
command
nodes
state
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019521420A
Other languages
English (en)
Other versions
JP2020503715A (ja
Inventor
サクセナ・アシュトシュ
バーマン・ブレンダン
デン・デン
クロク・ルカス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brainoft Inc
Original Assignee
Brainoft Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brainoft Inc filed Critical Brainoft Inc
Publication of JP2020503715A publication Critical patent/JP2020503715A/ja
Application granted granted Critical
Publication of JP6921950B2 publication Critical patent/JP6921950B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)

Description

ネットワーク接続デバイス(例えば、インターネット・オブ・シングズ(すなわち、IoT)デバイス)は、環境(例えば、住居)内でのデバイスの遠隔操作および自動化を可能にする。しかしながら、これらのデバイスは、しばしば、完全には自律することができない。しばしば、ユーザが、遠隔操作でデバイスを手動操作しなければならないか、または、ユーザが、所望の動作を摸倣しようとする複雑なルールを手作業で作らなければならない。例えば、ユーザは、デバイスが具体的に位置する場所、デバイスの能力/範囲、および、所望の結果に関係するので各デバイスが周囲環境へ具体的にどのように影響するか、を知っている必要がある。デバイスの設置構成およびタイプは、設置環境ごとに大きく異なるので、新しい環境にいるユーザは、しばしば、長期にわたる訓練および学習なしには新しい環境のネットワークデバイスを効果的に利用できない。したがって、ネットワーク接続デバイスを制御するためのより簡単かつ効率のよい方法が求められている。
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
ネットワークデバイスを自動制御するためのシステムの一実施形態を示す図。
ネットワークデバイスを自動制御するための構成要素の間の相互作用の一実施形態を示す図。
ネットワークデバイスを自動制御するためのシステムのサブ構成要素の一実施形態を示す図。
階層的な配備環境グラフモデルの様々なレベルの例を示す図。 階層的な配備環境グラフモデルの様々なレベルの例を示す図。 階層的な配備環境グラフモデルの様々なレベルの例を示す図。 階層的な配備環境グラフモデルの様々なレベルの例を示す図。
デバイス制御ルールを自動的に学習および適用するための処理の一実施形態を示すフローチャート。
検出された状態が正確な状態である可能性を決定するための処理の一実施形態を示すフローチャート。
ネットワーク接続された制御可能デバイスの自動化ルールを自動的に発見するための処理の一実施形態を示すフローチャート。
最適化関数を用いて、選択された出力結果を決定するための処理の一実施形態を示すフローチャート。
ネットワーク接続された制御可能デバイスの制御可能プロパティの構成設定を自動的に決定するための処理の一実施形態を示すフローチャート。
改善された出力を発見するよう試みる処理の一実施形態を示すフローチャート。
接続デバイス環境のグラフモデルを初期化するための処理の一実施形態を示すフローチャート。
グラフモデルを用いてコマンドを処理するための処理の一実施形態を示すフローチャート。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)など、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書で用いられているように、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
自動環境制御システムが開示されている。いくつかの実施形態では、グラフモデルが、環境を制御するために利用される。いくつかの実施形態において、グラフモデルは、疎行列/疎テーブルとして表される。グラフモデルは、複数のノードを含み、ノードの少なくとも一部は、ネットワーク接続デバイスを表す。グラフモデルは、ノードを接続するエッジを含み、ノード間の関係性を規定する。例えば、デバイスの接続グラフは、デバイスの相対位置、および、デバイス間の相互作用プロパティを規定する。いくつかの実施形態において、コマンドが受信されると、グラフモデルは、コマンドに応答してノードの一部を特定するために適用され、ノードの一部は、コマンドに応答して作動される。例えば、「カーテンを開ける」ためのコマンドが受信されると、コマンドを提供したユーザの位置が決定され、グラフモデルを用いて、ユーザの決定された位置の照明に影響するカーテンを開くデバイスが特定され(例えば、グラフは、位置ノードに接続するカーテンデバイスノードを含む)、カーテンを開くデバイスは、開く動作を命令される。
図1Aは、ネットワークデバイスを自動制御するためのシステムの一実施形態を示す図である。デバイス102は、センサデバイスおよび制御可能デバイス(例えば、IoTデバイス)など、1または複数のネットワーク接続デバイスを含む。デバイス102に含まれる1または複数の制御可能デバイスの例は、スイッチ、ドアロック、サーモスタット、電球、キッチン/家庭用電気製品、カメラ、スピーカ、カレージドアオープナ、窓装飾(例えば、ロールシェード、カーテンなど)、ファン、コンセント、オーディオ/ビジュアルデバイス、調光器、灌水システム、ペット給餌器、および、コンピュータネットワークに接続されることのできる任意のその他のデバイス、を含む。デバイス102に含まれる1または複数のセンサデバイスの例は、スイッチ、カメラ、モーション検出器、光検出器、加速度計、赤外線検出器、温度計、空気質センサ、煙探知器、マイク、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器、電力利用センサ、および、任意のその他のセンサ、を含む。
ハブ104は、有線および/または無線接続を介してデバイス102と通信する。例えば、デバイス102の内の1つのデバイスが、WiFi、Bluetooth(登録商標、以下同じ)、Bluetooth低エネルギ、Zigbee、Z−Wave、電力線通信、Ethernet、および/または、任意のその他の無線または有線通信プロトコルを介して、ハブ104と通信する。いくつかの実施形態において、ハブ104およびデバイス102は、同じ環境内に配備されている。例えば、デバイス102は、住居に配備されたデバイスを含み、ハブ104は、短距離無線信号で住居内のデバイスと無線通信する。いくつかの実施形態において、ハブ104は、ユーザデバイス108を用いたおよび/またはネットワーク110を介したデバイス102の通信および/または制御を容易にする。例えば、ユーザデバイス108は、デバイス102の内の1つのデバイスを制御するため、および、そのデバイスに関する情報を見るために、直接無線接続(例えば、Bluetooth、Wi−Fiなど)を介しておよび/またはネットワーク110を介してハブ104に接続する。別の例において、ユーザデバイス108は、ハブ104および/またはサーバ106を介してデバイス102にアクセスするために、ネットワーク110に接続する。いくつかの実施形態において、デバイス102の内の1または複数のデバイス/センサは、ハブ104に情報を報告し、次いで、ハブ104は、報告された情報を処理に向けてネットワーク110を介してサーバ106に提供する。いくつかの実施形態において、デバイス102の内の1または複数のデバイスおよび/またはセンサは、ハブ104を介してルーティングされることなしに、ネットワーク110と直接通信する。例えば、デバイスが、ネットワーク110に直接アクセスするために、WiFiおよび/またはセル無線を備える。
ユーザデバイス108の例は、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、ウェアラブルデバイス、スマートウォッチ、および、ユーザの任意のその他の電子コンピュータデバイス、を含む。いくつかの実施形態において、デバイス102の自動化を可能にするために、ユーザデバイス108からの情報が、サーバ106および/またはハブ104に提供される。例えば、デバイス自動化ルールを決定および/またはトリガするために、ユーザデバイス108によって検出されたGPS位置が、センサ入力としてハブ104および/またはサーバ106に提供される。いくつかの実施形態において、デバイス102の内の1つのデバイスに関連する情報が、ユーザデバイス108に提供される。例えば、デバイス102の内の1つのデバイスについて検出された警告が、ハブ104および/またはサーバ106を介してユーザデバイス108に提供される。サーバ106は、デバイス102に関連する情報を処理および/または格納することでデバイス102の制御および管理を可能にするためのクラウドコンピュータインフラストラクチャの一部であってよい。いくつかの実施形態において、ハブ104は、デバイス102を自動制御するためのインターフェースおよび制御ハブとして機能する。ストレージ要素は、図1Aに明示的に示されていないが、図に示した構成要素のいずれかが、ローカルストレージを備えてよい、および/または、ローカルに接続されたストレージおよび/またはリモートストレージにアクセスしてよい。例えば、ローカルおよび/またはリモートストレージが、デバイス102と物理的配備環境との間の関係性をマッピングする環境グラフモデルを格納する。
いくつかの実施形態において、図1Aに示したシステムを用いて、ユーザがデバイス102の内の1または複数の制御可能デバイスとどのように相互作用したいのかを自動的に学習することで、制御可能デバイスのプロパティを自律的かつ自動的に調整するために、機械学習が実行される。いくつかの実施形態において、ユーザの嗜好および行動の強力な統計モデルが自動的に構築される。例えば、デバイス102およびユーザデバイス108のセンサが、ユーザの存在、活動、および、行動上の嗜好性について学習するために、環境グラフモデルと共に利用される。デバイス102の内の制御可能デバイスが、学習されたデータに基づいて自動的に管理および制御されてよい。
いくつかの実施形態において、多くの異なるデバイス/センサ(例えば、デバイス102)からの入力を統合して、ユーザの存在、活動、および、行動の固有のモデルを構築するために、機械学習(例えば、ローカルおよび/またはクラウドベース)が利用される。例えば、住居などの環境に、リモートまたはローカルに制御できるデバイス102が設置される。デバイス102のセンサは、環境内での人の存在および動きに関するデータ、環境プロパティ(住居の光、温度、および、湿度など)の測定値、対象物の動き、および、環境の様々な位置の動画を提供しうる。機械学習は、デバイス/センサの位置、機能、および、行動のプロパティ、ならびに、学習プロセス中のそれらのデータを説明するためのグラフモデルを考慮に入れてよい。
いくつかの実施形態において、自動的に決定されたユーザの嗜好性と一致するように制御可能デバイスを自動制御してデバイス102の内の制御可能デバイスを自動調整する方法を学習するために、学習が実行される。例えば、センサが、制御可能デバイスの状態(例えば、スイッチ、サーモスタット、および、その他のデバイスの挙動およびそれらとの相互作用)の変化を引き起こす環境条件を検出し、環境条件は、グラフモデルを用いてコンテキストを与えられ、デバイス102の内のデバイスが、自動学習されたユーザの嗜好性に従って自律的に命令される。
いくつかの実施形態において、機械学習は、ローカルハブによって特定の環境のために実行される。例えば、ハブ104は、環境のグラフモデルを用いて、デバイス102を含むハブ104が配備された環境のユーザのために学習を実行する。いくつかの実施形態では、ローカルハブで機械学習を実行するのではなく、機械学習の少なくとも一部が、リモートで(例えば、クラウドベースで)実行される。例えば、ハブ104の環境に対する機械学習が、ローカル環境のグラフモデルを知るサーバ106によって実行される。いくつかの実施形態では、バックエンドサーバが、様々な異なる環境にわたって学習を実行し、各ローカル環境を自動的に構成するのに役立つように結果を利用する。例えば、グラフモデルが、様々なローカル環境を表しそれらを結びつけるノードの階層を含み(例えば、建物のグラフモデルは、建物の個々のユニットに対するノード要素を含む)、学習が、様々なローカル環境のグラフ全体にわたって実行される。
いくつかの実施形態において、ハブ104および/またはサーバ106は、デバイス102の内の1または複数のデバイスから受信したセンサデータを状態表現(例えば、個人の行動、位置などの状態)へ変換する1または複数の推論エンジンを備える。例えば、推論エンジンは、統計的技術および/またはディープラーニング技術に依存する機械学習アルゴリズムを利用する。いくつかの実施形態において、ハブ104および/またはサーバ106は、1または複数のカメラセンサから画像/動画を受信する「視覚エンジン」(例えば、ML inference)を備え、被写体(例えば、人間、ペットなど)の位置、行動、および、活動(例えば、空間的特徴および動きの特徴)を推測するために視覚アルゴリズムを用いて画像/動画を解析する。いくつかの実施形態では、カメラ動画データが、接続されたデバイスを所望の状態に制御する人物の手のジェスチャを学習するために解析される。一実施形態において、ジェスチャは、人物による統計的実証から学習される。一実施形態において、ジェスチャは、ディープラーニングを用いて学習される。いくつかの実施形態において、視覚データおよびその他のセンサデバイスからのデータの出力は、人物の存在、活動、および、行動上の嗜好性に関する情報を含む意味表現を構築するために利用される。状態情報は、グラフモデルを用いてコンテキストを与えられてよく、1または複数の状態に関する高次情報が、グラフモデルを用いて外挿されてよい。
いくつかの実施形態では、図のシステムにおいて、データは、イベント駆動型データベースアーキテクチャを用いて送信される。例えば、センサデータは、最初に、ストリーミングの前にコンパクトな特徴ベクトルに変換される。いくつかの実施形態において、センサデータは、システム内の様々なタイプのノイズをモデル化する統計的学習モデルによって、ストリーミングの前に、クリーニングされる。
いくつかの実施形態において、ハブ104および/またはサーバ106は、検出された状態を用いて1または複数の自動決定された自動化ルールをトリガする1または複数の「ルールエンジン」を備える。例えば、ルールエンジンは、事前条件および事後条件を含むルールからなり、環境の特定の事前条件状態が検出された場合に、1または複数のネットワーク接続された制御可能デバイスを事後条件状態にさせるためのルールがトリガされる。例えば、人物が机で本を読んでいることが検出された場合、システムは、読書灯をオンにする。ルールの事前条件は、グラフモデルの1または複数のプロパティに基づいてよい。
いくつかの実施形態において、サーバ106は、自動化ルールを自動的に決定するために利用できる様々なタイプの情報を格納する。例えば、様々な時点のセンサデータ、および、デバイス102のデバイス制御イベント(例えば、照明スイッチを押すイベント、サーモスタットの温度を変更するイベント、など)が記録される。ユーザによって望まれる嗜好/構成を学習することにより、嗜好/構成は、環境内の条件が以前に記録された条件と一致した時に再作成されてよい。いくつかの実施形態において、デバイスの制御動作の統計モデル(例えば、遷移モデル)が決定される。例えば、ネットワーク接続された電球がオンまたはオフにされると、関連する環境条件(例えば、ユーザの位置、動作、日時など)および関連する制御可能デバイス状態が格納される。いくつかの実施形態において、どの状態ベクトルが制御可能デバイスのどの制御動作に対応するのかが学習される。いくつかの実施形態において、学習方法は、状態ベクトルの値を制御可能デバイスの状態変化にマッピングする関数の重みを学習する。いくつかの実施形態において、学習方法は、状態ベクトルから制御可能デバイスの状態変化への多段非線形マッピングを学習するために、ディープラーニングを利用する。いくつかの実施形態において、自動的にトリガされたルールの動作に関するユーザからのフィードバックが、報償の形態で受信され、強化学習を用いて、制御ルールが自動的に修正される。いくつかの実施形態において、サーバ106は、1または複数の配備環境のためのグラフモデルを格納する。
いくつかの実施形態では、特定の警戒イベントまたは重要イベントが検出され、データが格納される。例えば、不法侵入が異常イベントとして検出され、それに応じて、スマートフォンに送信される警告およびサイレンの作動を含む出力警告が生成される。別の例では、赤ちゃんがベビーベットから這い出したことが検出される。手動で設定されるアラームと異なり、自動的に検出される異常イベントは、センサデータを用いたイベントの統計モデリングに基づいて検出されてよい。
いくつかの実施形態において、イベントの検出に応答して、出力応答(例えば、音、ユーザ警告、光警告、ウェアラブル警告など)が生成される。例えば、閾値期間を超えてストーブが放置されていることが検出された場合、および/または、対象者の存在が検出されない場合、ストーブが自動的にオフにされる、および/または、出力警告が生成される。別の例では、水漏れが検出された場合、自動出力警告が送信され、水栓が自動的にオフにされる。別の例では、人が倒れて、人のさらなる動きが検出されなかった場合に、緊急連絡先および/または救急機関への警告が自動的に送信される。別の例では、人物の存在が朝の時間にリビングルームで検出された場合に、カーテンが自動的に開かれる。別の例では、湿度が閾値よりも高いことが検出された場合に、ファンが自動的にオンにされる。別の例では、好ましい湿度を維持するために、加湿器が、自動的にオン/オフに切り替えられる。別の例では、学習された好ましい時間に到達すると、コーヒーメーカーが自動的にオンにされる。別の例では、食洗機が、エネルギ率の比較的低い時に作動されるように自動的にスケジューリングされる。別の例では、光度が、時刻に基づいて自動的に調節される(例えば、対象者がトイレを使うために真夜中に起きた場合には、低い光度で照明が点灯される)。別の例では、対象者が夕食を取っていることが検出された場合に、音楽が自動的にオンにされる。別の例では、気温および湿度が閾値を超えることが検出され、対象者が座っていると検出された場合に、ファンが自動的にオンにされる。
以下の内の1または複数が、ネットワーク110に含まれてよい:直接または間接物理通信接続、モバイル通信ネットワーク、インターネット、イントラネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ストレージエリアネットワーク、無線ネットワーク、セルラーネットワーク、ならびに、2以上のシステム、構成要素、または、ストレージデバイスを接続する任意のその他の形態。図1Aに示した構成要素のいずれかの追加が存在してもよい。例えば、複数のハブが、単一の環境内に配備され利用されてもよい。また、複数のユーザデバイスが、ユーザ関連情報を受信するためおよび/または同一環境のデバイスを制御するために利用されてもよい。サーバ106は、ネットワーク接続デバイスデータを処理する複数の分散サーバの1つであってよい。いくつかの実施形態において、図1Aに示していない構成要素が存在してもよい。
図1Bは、ネットワークデバイスを自動制御するための構成要素の間の相互作用の一実施形態を示す図である。クラウドベース機械学習モジュール120が、ルールエンジン122と通信する。ルールエンジン122は、センサ124から入力を受信し、デバイス126を制御する。クラウドベース機械学習モジュール120の例は、図1Aに関連して議論した機械学習を実行するための1または複数のモジュールを含む。ルールエンジン122の例は、ハブ104および/または図1Aのサーバ106の1または複数の「ルールエンジン」を含む。センサ124および/または制御デバイス126は、図1Aのデバイス102に含まれてよい。ルールエンジン122と通信するクラウドベース機械学習モジュール120は、ルールを発見して呼び出すために、センサ124およびデバイス126を含む環境のグラフモデルを利用してよい。
図1Cは、ネットワークデバイスを自動制御するためのシステムのサブ構成要素の一実施形態を示す図である。いくつかの実施形態において、図1Cに示すクラウドの構成要素130は、図1Aのサーバ106に含まれてよい。いくつかの実施形態において、図1Cに示すローカルハブの構成要素132は、図1Aのハブ104に含まれてよい。
図2A〜図2Dは、階層的な配備環境グラフモデルの様々なレベルの例を示す図である。例えば、グラフモデルは、ルール発見および実施ならびにデバイス制御に用いるために、図1Aのハブ104および/またはサーバ106に格納される。いくつかの実施形態において、配備環境のグラフモデルは、グラフデータフォーマット内でのデバイス/センサおよび物理環境ならびにそれらの接続のモデルである。デバイス/センサおよび物理環境の位置は、グラフモデル内でノードとして表され、ノード間の接続はエッジとして表される。グラフモデル内のデバイスノードは、必ずしも「スマート」デバイスまたはネットワーク「接続」デバイスまたは「IoT」デバイスである必要はない。例えば、通常の「スマートでない」電球が、グラフモデル内に表された部屋/環境の照明に影響するので、グラフモデル内でノードとして表される。グラフモデル内での他のノードが、この電球を感知および/または制御できてもよい。例えば、電球ノードは、電球の状態を感知できるモデル内の別のデバイスノード(例えば、光センサノード)、および/または、電球を制御する(例えば、スマートネットワーク接続照明スイッチ)モデル内の別のデバイスノードに接続されてよい。例のグラフモデルは、階層的であり、1つのレベルのノードが、高いレベルのノードのプロパティを継承する1または複数のノードおよびエッジを表しうる。エッジは、複数のレベルにわたって、異なる階層レベル/グルーピングのノードの間に存在しうる。各エッジは、ノードに関する記述、構成、設定、ID、および/または、任意のその他のプロパティをそれぞれ特定する1または複数のプロパティに関連付けられてよい。各エッジは、エッジによって接続されたノードの間の関係性を特定する1または複数のプロパティに関連付けられてよい。例えば、物理的な位置/プロパティ(例えば、物理的接続タイプのエッジ)、機能的プロパティ(例えば、機能的接続タイプのエッジ)、行動プロパティ(例えば、行動活動接続タイプのエッジ)、および/または、任意の他の関係プロパティを特定する関係性が、エッジのプロパティとして特定される。図2A〜図2Dに示したグラフモデルレベルは、例にすぎず、例を明確に図示するために単純化されている。すべてのノードおよびエッジが示されているわけではなく、さらなるノードおよびエッジが存在してもよい。ノードプロパティは、照明、温度、湿度、地理的位置(例えば、住居の部屋/エリア)、寸法、振動、圧力、位置、太陽光の方向、デバイスの位置、音のレベルなどの物理的プロパティを含んでもよい。例えば、カーテンノードの機能的プロパティは、カーテンを開ける機能であり(そして、照明および熱に影響する)、その環境への影響は、その機能に対する照明および温度の関係性を特定するグラフ内のエッジを通してモデル化される。
エッジは、ノードの間の関係性を規定しうる。物理的および機能的エッジプロパティは、2つの位置ノードの間の照明の関係性(例えば、或るエリアの照明が隣室の照明に影響する)、2つのノードの間の温度の関係性(例えば、或るエリアの温度変化が隣のエリアの温度変化に影響し、間に断熱壁があれば、影響は小さくなる)、地理的位置の間の関係性(例えば、住居のレイアウトであり、リビングルームはダイニングルームから歩いて行けるが、廊下ノードを通過する必要があるのでバスルームには直接行けない)、音の関係性(例えば、或るエリアでの歌が、他のエリアの音に影響する)、2つのデバイスの間の関係性(例えば、1つのスイッチが3つの電球を制御しうるか、または、位置ノードが2つのカメラから見える)を含みうる。例えば、カーテン(デバイスノード)が開かれると、その照明効果が、屋外環境を表すノードから入る光から、リビングルームの光レベルの変化を特定する光プロパティエッジによってモデル化される。行動エッジプロパティは、活動に関連しうる(例えば、人物が、ダイニングルームで作業している場合があるが、そのエリアの「利用」は、隣接するリビングルームを含む)。例えば、人物が、料理中である場合があり、キッチンおよびダイニングルームは、料理活動のために接続している。別の例において、子どもの携帯電話が、親のベッドルームに対する機能的影響を全く持たず、権限のある所有者だけが、特定の位置のカメラ映像にアクセスできる。
図2Aは、接続デバイス環境の階層グラフモデルの区域レベルの一例を示す図である。グラフモデルに示すように、ノードは、位置/物理的建物を示すだけでなく、共有リソースと、デバイスの内、そのレベルの位置/建物によって共有されたデバイスと、を表しうる。グラフモデルレベル202は、或る区域の建物を表すノード206および208を示す。ノード204は、建物の区域のための自動ゲートを表しており、サーバ210は、その区域のためのデバイス自動化を管理するサーバ(例えば、図1Aのサーバ106)を表す。建物ノード206は、建物の物理的位置座標、建物の地理的向き、建物に含まれるユニットの数、建物に関連して実行できる活動、建物の高さ、建物の容積など、を記述するプロパティに関連付けられてよい。グラフモデルレベル202に示されたノード間の接続(すなわち、エッジ)は、ノード間の物理的位置の接続/関係性を表す。例えば、ノード間のエッジが、物理的な通路、位置のつながり、および/または、ワイヤの接続、の存在を表しうる。各エッジは、1または複数のプロパティに関連付けられてよい。例えば、エッジは、強度、距離、および/または、接続ノード間の距離/位置に関連する時刻値を特定するプロパティ値に関連付けられてよい。グラフ202は、物理的接続タイプのエッジだけを示しているが、図示されていない他のタイプのエッジが、他の図の例によって示されるように存在しうる。例えば、機能タイプのエッジが、ノード間の機能的接続(例えば、ネットワーク接続)を特定する(例えば、グラフモデルは、建物間/サーバ間で検出された接続速度を特定し、グラフモデルは、ノード間の最速のネットワークパスを特定するために利用されてよい)。別の例において、行動タイプのエッジが、特定のタイプの行動活動のために存在する接続を特定する(例えば、人々、活動、所有、許可、プライバシなどに基づいた接続)。グラフモデルレベル202は、階層グラフモデルの1つのレベルを示しており、階層グラフモデルのより高いレベルが存在しうる。例えば、グラフモデルレベル202は、グラフモデルのより高いレベルにおいて接続された複数の区域ノードの内の1つの区域ノードを表す。
図2Bは、接続デバイス環境の階層グラフモデルの建物レベルの一例を示す図である。図2Bに示すグラフモデルレベル212は、図2Aに示したレベルより低いレベルを表す。具体的には、レベル212は、図2Aの建物206のサブノードおよびエッジを表す。ノード214、216、218、および、220は、図2Aの建物206のアパートメントユニットを表す。建物のこれらのアパートメントすべてのためのデバイス管理サーバは、ノード222によって表されている。グラフモデルレベル212に示されたノード間の接続は、ノード間の物理的位置の接続/関係性を表す。グラフレベル212は、物理的接続タイプのエッジだけを示しているが、図示されていない他のタイプのエッジが存在しうる。
図2Cは、接続デバイス環境の階層グラフモデルのユニットレベルの一例を示す図である。図2Cに示すグラフモデルレベル224は、図2Bに示したグラフレベルより低いレベルを表す。具体的には、レベル224は、図2Bのアパートメント218のサブノードを表す。ノードは、建物、ユニット、および、デバイスを表しうるだけでなく、物理的な部屋および物理的な領域も表しうる。アパートメントユニット内の場所は、ノード226〜236によって表される。給湯器ノード224は、ユニットの給湯器デバイスを表す。グラフモデルレベル224に示されたノード間の接続は、ノード間の物理的位置の接続/関係性を表す。グラフレベル224は、物理的接続タイプのエッジを実線の接続として示す。また、グラフレベル224は、行動タイプのエッジの例をノード間の点線の接続として示す。キッチン226とダイニングルーム230との間の点線は、特定の行動活動のための部屋/領域の間の行動的接続を表す。この行動エッジは、食事活動のために、キッチンとダイニングルームとの間のプライバシが、値0.5の中程度のプライバシ設定に設定されることが好ましいと特定するプロパティに関連付けられている。このプライバシプロパティ値は、食事活動が行われていることが検出された時に、中間レベルのプライバシを維持するように関連デバイスを調節するために利用されてよい。
リビングルーム234とベッドルーム236との間の点線は、部屋/エリアの間の行動上の接続を表す。この行動エッジは、勉強活動のために、リビングルームとベッドルームとの間のプライバシが、値1.0の高いプライバシ設定に設定されることが好ましいと特定するプロパティに関連付けられている。このプライバシプロパティ値は、勉強活動が行われていることが検出された時に、部屋の間で高いレベルのプライバシを維持する(例えば、雑音を最小限に抑える)ように関連デバイスを調節するために利用されてよい。行動エッジは、人物および/または動物/ペットの活動に関連してよい。
図2Dは、接続デバイス環境の階層グラフモデルの部屋レベルの一例を示す図である。図2Dに示すグラフモデルレベル240は、図2Cに示したグラフレベルより低いレベルを表す。具体的には、グラフレベル240は、図2Cのキッチン226のサブノードを表す。ノードは、デバイスおよびユニットパーティションを表しうるだけでなく、領域のサブ領域も表しうる。ノードであるキッチンエリア250は、全体的なキッチンの場所/領域を表す。キッチンアイランド領域252およびカウンタ領域254は、キッチンエリア250のサブ領域を表す。カウンタ領域254は、さらに、サブ領域であるシンク領域256およびコンロ領域258に分割される。シンク領域に固有の照明が、スイッチ264によって制御される照明260によって表される。コンロ領域に固有のファンが、スイッチ266によって制御されるファン262によって表される。キッチンのカメラが、カメラ242によって表される。キッチンのマイクおよびスピーカが、モジュール244によって表される。キッチンのモーションセンサが、モーションセンサ246によって表される。キッチンのブラインド制御デバイスが、ノード248によって表される。
グラフモデルレベル240に示すノード間の実線のエッジ接続は、ノード間の物理位置の接続/関係性を表す。例えば、カメラ242は、キッチンエリアの領域に設置/取り付けされるためにキッチンエリア250に接続される。グラフモデルレベル240のノード間の点線のエッジ接続は、接続されたノード間の機能的な接続/関係性を表す。例えば、カメラ242とキッチンアイランド領域252との間の機能的エッジは、カメラの画像キャプチャ機能が少なくともキッチンアイランド領域252の画像をキャプチャできることを特定する。このエッジに関連するプロパティは、カメラによってキャプチャできるキッチンアイランド領域の正確な部分を特定してよい。さらに、照明260と、キッチンアイランド領域252、シンク領域256、および、コンロ領域258との間の点線のエッジ接続は、照明の発光機能が、接続された領域に到達することを特定する。これらの機能的エッジの各々は、各接続領域に到達する光の強度の測定値を特定するプロパティに関連付けられる。シンク領域256への機能的エッジは、強い発光を示すプロパティ強度値「1.0」を有すると特定され、コンロ領域258への機能的エッジは、中程度の発光を示すプロパティ強度値「0.5」を有すると特定され、キッチンアイランド領域252への機能的エッジは、低い発光を示すプロパティ強度値「0.2」を有すると特定される。機能的エッジの別の例は、ノード間のオーディオ/音声の関係性を含む。
図3Aは、デバイス制御ルールを自動的に学習および適用するための処理の一実施形態を示すフローチャートである。図3Aの処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106によって実行されてよい。
工程302で、センサデータが受信される。いくつかの実施形態において、受信されるセンサデータは、図1Aのデバイス102の内の1または複数のセンサデバイスからのデータを含む。例えば、スイッチ、カメラ、モーション検出器、光検出器、加速度計、赤外線検出器、温度計、空気質センサ、煙探知器、マイク、湿度検出器、ドアセンサ、窓センサ、水検出器、ガラス破損検出器、および、環境を監視する任意のその他のセンサからのデータが受信される。いくつかの実施形態において、センサデータは、ユーザデバイス(例えば、図1Aのデータデバイス108)からのデータを含む。例えば、ユーザデバイス上のセンサ(例えば、位置センサ、GPS、加速度計、心拍センサ、方位センサ、マイク、ジャイロスコープなど)からのデータが受信される。別の例において、ユーザデバイスからのデータは、状態データおよび/またはユーザ指定データを含む。いくつかの実施形態において、センサデータは、1または複数の制御可能なデバイスからのデータを含む。例えば、図1Aのデバイス102の内の制御可能デバイスの状態、構成、機能的状態、パラメータ、および/または、任意のその他のデータが受信される。いくつかの実施形態において、センサデータは、定期的に受信される。例えば、センサデバイスは、現在検出されているセンサデータを定期的に送信する。いくつかの実施形態において、センサデータは、動的に受信される。例えば、センサデータは、センサデータが検出された時に受信される。いくつかの実施形態において、受信されるセンサデータは、複数のセンサデバイスから受信される。いくつかの実施形態において、センサデータは、ハブ(例えば、図1Aのハブ104)で受信され、センサデータは、別のハブと共有される/別のハブに送信される、および/または、処理のためにコンピューティングクラウドへ送信される(例えば、図1Aのサーバ106へ送信される)。
工程304で、1または複数の状態が、機械学習を用いて特定される。いくつかの実施形態において、機械学習は、受信されたセンサデータを用いて実行される。いくつかの実施形態において、機械学習の実行は、回帰隠れマルコフモデルおよび/または期待値最大化を利用することを含む。いくつかの実施形態において、各状態は、機械学習を用いて検出したい情報の個別のカテゴリに関連する。例えば、人物によって現在実行されている活動が、検出されうる複数の可能な活動の中から検出されることが望ましい。これは、カメラの動画/画像データを分析して、人物および人物によって実行された活動を検出することによって達成されてよい。いくつかの実施形態において、検出された各対象の状態が決定される。いくつかの実施形態において、センサデータを1または複数の特定の状態に変えることにより、センサデータは、1または複数の自動化ルールを決定するために利用できる意味のある変数値になる。いくつかの実施形態において、状態は、ベクトルの形態であってよい。例えば、状態ベクトルは、値のグループを含む。いくつかの実施形態において、状態ベクトルは、以下の内の1または複数を含む:時刻値、天気予報、日付値、ならびに、時間および/または環境条件に関連するその他のデータ。
多くの例で、完全に正確に特定の状態を決定するのは困難である。例えば、センサデータを用いて、対象の正確な位置および活動を決定するのは困難でありうる。いくつかの実施形態において、決定された状態が正確である可能性/確率が決定される。例えば、特定の状態が、複数の異なる可能な状態の1つである場合があり、可能な各状態が正確な状態である確率が決定される。いくつかの実施形態において、確率を決定するために、機械学習(例えば、統計的学習および/またはディープラーニング)が実行されてよい。例えば、各候補状態の全体の可能性/割合を決定するために、センサデータと潜在的な状態との間の相関、以前の状態と潜在的な状態との間の相関(例えば、遷移モデル)、および、異なる状態/状態要素の間の関係性の、統計的学習モデルおよび/またはディープラーニングモデルが構築され、利用される。
いくつかの実施形態において、時系列での観察が、統計的入力として利用され、時間と共に変化する状態ベクトルを評価するために利用される。状態ベクトルは、検出された対象の存在、活動などについての情報にセンサデータを変換する推論エンジンの出力であってよい。一実施形態において、住居内での対象(例えば、人間およびペット)の動的プロセスおよびそれらの動きがモデル化される。一実施形態では、非線形関係を学習するために、ディープラーニングが利用される。いくつかの実施形態では、人の数、人の位置、および、人の活動を推測するために、マイクセンサからキャプチャされた音が利用される。一実施形態において、音を上述の状態ベクトルに関連付けるために、統計モデルが利用される。
いくつかの実施形態において、対象の活動状態(例えば、概略的な活動状態−読書、睡眠、料理、など、および、詳細な活動状態−本を開いて読む、本を下に置く、など)を含む状態ベクトルが推定される。一実施形態において、状態ベクトルは、時刻、天気、住居にいる人数、対象の位置、および、実行されている現在の活動など、その他の関連情報を含む。いくつかの実施形態において、状態ベクトルは、1または複数の制御可能デバイス状態を含む。いくつかの実施形態において、状態ベクトルは、環境の各領域(例えば、部屋)ごとの対象のリストを含む。いくつかの実施形態において、学習方法は、センサデータの値を状態ベクトルにマッピングする関数の重みを学習する。いくつかの実施形態において、学習方法は、センサデータから状態ベクトルへの多段非線形マッピングを学習するために、ディープラーニングを利用する。
いくつかの実施形態において、1または複数の状態が、環境のグラフモデルを用いて特定される。例えば、図1Aのサーバ106および/またはハブ104に格納されたグラフモデルが利用される。グラフモデルの一例は、図2A〜図2Dに示されている。グラフモデルがノードとノード間の関係性とを特定するので、特定された状態および/または検出されたセンサデータが、グラフモデルからのコンテキスト情報で増強されうる。例えば、センサの物理的配置の情報(例えば、位置、向きなど)を用いて、検知された情報にコンテキストを提供できるので、センサについての物理的位置情報、ならびに、互いとの関係性および物理環境の領域との関係性が、検出されたセンサデータのさらなる位置情報を推測するために利用されうる。いくつかの実施形態において、グラフモデルから決定されたさらなる状態は、状態ベクトルに含められる。いくつかの実施形態において、グラフモデルは、状態および/またはセンサデータを抽象化することを可能にする。例えば、センサデータは、センサデータが取得された領域のタイプに関連する領域についてのより高いレベルの情報に一般化されうる。
いくつかの実施形態において、センサおよび/またはカメラからのデータは、個人がどの活動を実行ししうるかまたは個人がどの場所に行きうるかを予測するために解析される。活動および/または位置の予測に基づいて、先行動作が取られてよい。例えば、ユーザが読書机に向かって移動し始めた場合に、ユーザが読書机に行って読書すると予測され、ユーザが読書を始める前に、ネットワーク接続された照明が点灯する。
工程306で、1または複数の自動化ルールが、特定された状態に基づいて発見される。例えば、特定された状態が特定の制御可能デバイスの状態/ステータス/動作と相関することが観察されると、関連する状態が検出された時に制御可能デバイスを関連する状態/ステータス/動作に置くルールが生成される。決定された状態と検出された制御可能デバイスの状態/ステータス/動作との間の相関が特定されてよく、相関が閾値に達すると、自動化ルールが動的に作成および/または更新される。いくつかの実施形態において、一群の状態および/または或る範囲の状態値と、制御可能デバイスの状態/ステータス/動作との間の相関が特定され、自動化ルールを生成するために利用される。いくつかの実施形態において、各状態の確率測度は、相関および/または自動化ルールを決定する時に利用されてよい。いくつかの実施形態において、決定された状態および関連する確率値ならびに共起する制御可能デバイスの状態/ステータス/動作の履歴が経時的に、格納され、相関を発見するために機械学習(例えば、統計的学習および/またはディープラーニング)を用いて解析される。相関測度が閾値を超えた場合に、対応する自動化ルールが作成/更新されてよい。いくつかの実施形態において、自動化ルールは、発見された新しい相関に基づいて、絶えず追加/更新される。
いくつかの実施形態において、デバイスを制御するルールエンジン内のルールは、自動的に学習される。一実施形態において、ルールは、ポリシーを学習するために、強化学習問題として作成される。一実施形態において、ポリシーの実行は、比例微分制御器を用いて実行される。ルールエンジンは、トリガ状態ベクトルおよびセンサ情報に基づいて動作を行ってよい(例えば、デバイスの状態を変化させてよい)。一実施形態において、機械学習アルゴリズムのパラメータは、オンライン確率的勾配アルゴリズムを用いて変更される。ルールエンジンは、ルールを学習および/またはトリガするために、ユーザデバイス、ウェブサービス、気象情報サービス、カレンダーイベント、および、その他のデータソースからのデータを考慮に入れてよい。
いくつかの実施形態において、1または複数の自動化ルールを発見する工程は、環境のグラフモデルを利用する工程を含む。例えば、自動化ルールは、グラフモデルの特定のノード、エリア/領域、関係性、および/または、エッジに基づいてよい。いくつかの実施形態において、グラフモデルは、より汎用的なルールの発見を可能にする。例えば、信頼できる設置位置情報および/またはデバイスの関係性なしに、ルールに基づいて検出されたセンサ/デバイスだけが発見される。しかしながら、グラフモデルからのコンテキスト情報があれば、一般的な位置の概念/記述(例えば、キッチン)および/またはデバイス間の関係性に適用可能なより汎用的なルールを発見することができる。より汎用的なルールを発見、呼び出し、および/または、利用することを可能にすることにより、ルールは、より多くの状況および位置で適用可能になる。例えば、特定のユーザに固有であるが、より広いエリア/領域に一般化されたルールが、その特定のユーザが、異なるグラフモデルを有するが同じラベルを付されたエリア/領域を持つ異なる環境に移動することから、異なる環境で適用されてよい(例えば、異なるキッチンで、実際の照明デバイスおよびそれらの構成が異なっていても、夜にユーザがキッチンエリアに入った時に照明を点灯するルールが、ユーザの行くすべてのキッチンに適用されてよい)。いくつかの実施形態において、グラフモデルを用いてより広い概念に動作を一般化する(例えば、より広い位置コンテキストに一般化する)ことを可能にすることにより、ルールの発見が、(例えば、同じユーザおよび/または異なるユーザによる)様々な異なるタイプの配備環境にわたって行われうる。
工程308で、自動的に発見されたルールが、決定された状態に基づいて呼び出される。例えば、自動的に発見されたルールのトリガ条件は、特定された状態であり、ルールは、制御可能デバイスのプロパティ(例えば、状態/ステータス/機能/動作など)を、ルールによって指定されたように変更するために呼び出される。いくつかの実施形態において、ルールのトリガ条件は、複数の異なる状態および/または或る範囲の状態である。いくつかの実施形態では、複数のルールが、決定された状態に基づいて適用/トリガされる。いくつかの実施形態では、適用されるルールが、適用される別のルールと矛盾する。例えば、或るルールが、照明スイッチをオンにすることが好ましいと規定する一方で、別のルールが、照明スイッチをオフにすることが好ましいと規定する。ルール間の衝突を解消するために、各ルールが、別のルールよりも高いそのルールの優先度を示す優先値に関連付けられてもよい。いくつかの実施形態において、自動的にトリガされたルールの動作に関するユーザからのフィードバックが、報償の形態で受信され、強化学習を用いて、制御ルールが自動的に修正される。
いくつかの実施形態において、ルールを呼び出す工程は、グラフモデルを利用する工程を含む。例えば、1または複数のトリガ条件および/または所望の結果が、グラフモデルの要素に基づく。例えば、条件が特定のデバイスを参照することを要求するのではなく、条件は、グラフモデルのノードおよびエッジに基づいて特定されうる一般化された概念を参照する(例えば、「電球#2321」がオンにされる、に対して、照明が「キッチン」でオンにされる)。
いくつかの実施形態において、最適化関数が、制御可能デバイスのプロパティを変更するために利用される。例えば、各周期間隔で、状態入力が受信され(例えば、ユーザ状態、デバイス/センサ状態、環境状態、工程304の状態、など)、状態入力を所与として制御可能デバイスの最適プロパティ設定を選択するために利用される。これは、最適化関数(例えば、コスト関数)を用いて、制御可能デバイスの候補プロパティ設定の最適化評価値(例えば、学習または指定されたコスト値)を評価することで、最適候補プロパティ設定を選択して実施する工程を含む。最適化評価値の1または複数の成分が、1または複数の動的なパラメータに従って変化してよい。
図3Bは、検出された状態が正確な状態である可能性を決定するための処理の一実施形態を示すフローチャートである。図3Bの処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、図3Bの処理は、図3Aの工程304に含まれる。いくつかの実施形態において、図3Bの処理は、定期的に実行される。いくつかの実施形態において、図3Bの処理は、動的に実行される。例えば、図3Bの処理は、新たなセンサデータが受信された時に実行される。
工程312で、実際の状態の候補状態が決定される。例えば、新たに受信されたセンサデータに対応しうる候補状態が特定される。いくつかの実施形態において、候補状態は、対象(例えば、人間、動物、ペット、ロボット、その他の生物または無生物など)の実際の現在の状態であると考えられる状態である。例えば、対象の正確な現在の状態(例えば、位置および現在実行中の活動)は、完全に正確にセンサデータから決定することが困難でありうるので、対象に対する候補状態(例えば、各候補状態は、位置成分および活動成分を含む)が特定される。
いくつかの実施形態において、候補状態を決定する工程は、受信されたセンサデータに関連しうるすべての可能な状態を特定する工程を含む。例えば、カメラからのデータを用いて特定できる対象のすべての可能な所定の活動が特定される。いくつかの実施形態において、候補状態を決定する工程は、最も可能性のある候補状態を特定する工程を含む。例えば、すべての可能な状態を特定するのではなく、最も可能性のある候補状態が特定される。いくつかの実施形態において、最も可能性のある候補状態は、図3Aの工程302で受信された関連センサデータを解析することによって特定される。いくつかの実施形態において、候補状態を決定する工程は、新たに受信されたセンサデータに関連する対象を特定する工程と、対象に対して最後に決定された状態を特定する工程と、を含む。いくつかの実施形態において、最も可能性のある候補状態は、以前の現在の状態に基づいて特定される。例えば、所与の以前の状態(例えば、対象の位置)について、いくつかの状態だけが新しい現在の状態になるのに適格であり(例えば、以前の位置に隣接する位置のみ)、これらの状態が特定される。
いくつかの実施形態では、単一の状態が、複数のサブ状態を含む。いくつかの実施形態において、各状態は、対象の識別子、対象の大まかな位置(例えば、住居/建物のどの部屋か)、大まかな位置の中での対象の詳細な位置(例えば、ベッドルームのベッドの上)、対象が環境内に存在するか否か、対象のタイプ(例えば、人間対ペット、具体的な個人など)、対象の大まかな活動(例えば、読書)、および、対象の詳細な活動(例えば、本を開く)を含む。いくつかの実施形態において、各候補状態は、制御可能オブジェクトの状態を含む。いくつかの実施形態において、対象の活動状態は、検出できる(例えば、観察データ/トレーニングデータに基づいて検出できる)所定の活動の内の1つである。
いくつかの実施形態において、候補状態を決定する工程は、グラフモデル(例えば、図2A〜図2Dに示したグラフモデル)に基づいて状態を特定する工程を含む。例えば、受信されたセンサデータがコンテキストを与えられ、センサデータに関連する情報が、グラフモデルに基づいて特定される(例えば、データを検出したセンサのノードに接続されたエッジの情報/プロパティ、および、センサのノードに接続された他のノードの情報/プロパティ)。可能な状態は、グラフモデルに基づいて特定および/または除外されてよい。
工程314で、候補状態の各々について、その候補状態が受信センサデータに対応する可能性が決定される。例えば、受信されたセンサデータが特定の候補状態に対応する確率が決定される。いくつかの実施形態において、可能性は、センサデータを所与として、候補状態が実際の状態である確率を特定する。いくつかの実施形態において、この可能性は、機械学習を用いて決定される。例えば、統計的学習および/またはディープラーニング処理が、異なるセンサデータと、対応する状態との間の関連性の例のトレーニングデータセットを解析して、異なるセンサデータと、異なる状態との間の関連性の関連確率を決定するために利用されてきた。いくつかの実施形態において、候補状態が受信センサデータに対応する可能性は、所定の解析アルゴリズムを用いて決定される。例えば、コンピュータ視覚パターン認識アルゴリズムが、カメラセンサデータの解析に利用され、アルゴリズムは、可能性を提供する。いくつかの実施形態において、可能性は、グラフモデルを用いて決定される。
工程316で、候補状態の各々について、候補状態が、以前に特定された状態の後の次の状態である可能性が決定される。例えば、候補状態が、対象の以前に決定された状態が決定された状態の後の実際の状態である確率が決定される。いくつかの実施形態において、この可能性は、機械学習を用いて決定される。例えば、統計的学習および/またはディープラーニング処理が、異なる状態の間で観察された状態遷移を解析して、以前の状態を所与として各潜在的な候補状態の確率の遷移モデルを決定するために利用されてきた。一例では、モーション検出センサが、住居の各部屋に設置されてきた。住居の部屋の相対位置は、機械学習を用いて、対象が部屋から部屋へ移動する時にセンサトリガのパターンを観察することによって、自動的に決定されうる。部屋の間の接続がわかると、対象の現在の部屋の位置を所与として、隣接する可能性のある部屋がわかり、接続されている可能性のある部屋の内の隣の部屋に対象が行く各可能性が、決定されてよい。例えば、対象の位置を示す以前の状態を前提として、次の状態は、対象の決定/観察された移動速度および状態のセンサデータ間の経過時間を所与として到達可能な隣接する部屋に限定される。いくつかの実施形態において、候補状態が次の状態である可能性は、グラフモデルを用いて決定される。
工程318で、候補状態の各々について、同時状態成分相関が決定される。例えば、いくつかの候補状態成分は、候補状態成分の別のグループよりも現在の状態に一緒に含まれる可能性が高い。いくつかの実施形態において、同時状態相関を決定する工程は、候補状態の或る成分が候補状態の別の成分を所与として正確な/実際の状態に含まれる確率を決定する工程を含む。例えば、候補状態が、位置状態成分および活動状態成分を含み、特定の位置状態成分を所与として特定の活動状態成分の確率が決定される。いくつかの実施形態において、同時状態相関を決定する工程は、候補状態の状態成分の異なる対の組みあわせとそれぞれ関連する複数の確率を決定する工程を含む。いくつかの実施形態において、同時状態成分相関は、グラフモデルを用いて決定される。
工程320で、候補状態の各々について、候補状態が実際の状態である全体の可能性が決定される。例えば、各候補状態について、候補状態が対象の正確な状態である全体の確率が決定される。いくつかの実施形態において、全体の状態を決定する工程は、工程314、316、および、318で決定された確率の内の1または複数を掛け合わせる工程を含む。例えば、少なくとも、候補状態が受信センサデータに対応する第1確率および候補状態が以前に特定された状態の次の状態である第2確率が、全体の可能性を得るために掛け合わせられる。いくつかの実施形態において、候補状態は、それらの全体の可能性に基づいてソートされ、最良の全体の可能性を有する候補状態が、実際の/正確な状態として選択される。
図4は、ネットワーク接続された制御可能デバイスの自動化ルールを自動的に発見するための処理の一実施形態を示すフローチャートである。図4の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、図4の処理は、図3Aの工程306に含まれる。いくつかの実施形態において、図4の処理は、定期的に実行される。いくつかの実施形態において、図4の処理は、動的に実行される。例えば、図4の処理は、新たな現在の状態が特定された時に実行される。
工程402で、特定された状態は、対応する制御可能デバイスプロパティと相関される。例えば、図3Bの工程310で対象の実際の状態として特定された状態が、図1Aのデバイス102の内の制御可能デバイスの対応するステータス、構成、機能的状態、プロパティ、パラメータ、および/または、任意のその他のデータと相関される。いくつかの実施形態において、特定された状態は、特定された状態に対応する制御可能デバイスプロパティを特定するために、特定された状態および制御可能デバイスプロパティの格納された履歴を解析することによって、対応する制御可能デバイスプロパティと相関される。例えば、特定された状態(例えば、状態ベクトル)と、制御可能デバイスの対応する制御可能プロパティ(例えば、ステータス、構成、機能的状態、パラメータ、および/または、任意のその他のデータ)との間の対応する組み合わせが決定される。いくつかの実施形態において、特定された状態を対応する制御可能デバイスプロパティと相関させる工程は、相関を発見するために機械学習を実行する工程を含む。例えば、統計的学習および/またはディープラーニング技術が、特定された状態と制御可能デバイスプロパティとの間の時間的相関を発見するために利用される。いくつかの実施形態において、特定された状態は、以下の内の1または複数を含みうる状態ベクトルを含む:時刻値、天気予報、日付値、ならびに、時間および/または環境条件に関連するその他のデータ。いくつかの実施形態において、特定された状態が特定の制御可能デバイスプロパティに対応する履歴確率が決定される。
工程404で、特定された状態は、1または複数の特定された状態のクラスタと相関される。いくつかの実施形態において、類似の特定された状態(例えば、或る範囲内の状態値)が、クラスタ化され、制御可能デバイス状態と相関される。例えば、互いに近い範囲にある物理的位置に関連する特定されたデバイス状態がクラスタ化される。この状態のクラスタは、1または複数の対応する制御可能デバイスプロパティと相関される。いくつかの実施形態において、クラスタ内の1または複数の特定された状態が同じ制御可能デバイスプロパティと対応するクラスタ確率が決定される。クラスタ確率は、クラスタに含まれる任意の特定された状態が制御可能デバイスプロパティに対応する履歴確率を特定しうる。いくつかの実施形態において、クラスタ確率は、クラスタの各特定された状態の個々の確率(例えば、図3Bの工程320で決定された確率)を少なくとも掛け合わせることによって決定される。いくつかの実施形態において、クラスタは、環境のグラフモデル(例えば、図2A〜図2Dに示したグラフモデル)を用いて特定される。例えば、特定された状態に対応するノード/エッジが特定され、クラスタは、グラフモデル内の近接に基づいて特定される。
工程406で、履歴確率が閾値を満たす場合、関連する自動化ルールが作成される。例えば、工程402で決定された履歴確率および/または工程404で決定されたクラスタ確率が、閾値(例えば、80%)より大きい場合、対応する自動化ルールが、ルールデータベースに格納される。いくつかの実施形態において、自動化ルールは、(例えば、特定された状態のクラスタに含まれる)特定された状態が検出された場合に、対応する制御可能プロパティ設定が再作成/実施される(例えば、対応する制御可能デバイスのプロパティが、制御可能デバイスプロパティ設定で指定されたルールでになるよう変更される)ことを特定する。いくつかの実施形態において、自動化ルールは、定期的に更新される。例えば、自動化ルールは、終了時刻に関連付けられており、ルールは、終了後に更新または削除される。いくつかの実施形態において、関連する自動化ルールを生成する工程は、特定された状態と、対応する制御可能デバイスプロパティとの間の関係性を特定する1または複数の最適化評価値を設定または変更する工程を含む。例えば、特定された状態を所与として、対応する特定の制御可能デバイスプロパティ設定のユーザの望ましさの程度が決定され、最適化関数を用いて制御可能デバイスを自動的に決定および制御する際に利用するために保存される。
図5は、最適化関数を用いて、選択された出力結果を決定するための処理の一実施形態を示すフローチャートである。図5の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、図5の処理は、図3Aの工程308に含まれる。いくつかの実施形態において、図5の処理は、定期的に実行される。例えば、図5の処理は、一定の時間間隔で繰り返される。いくつかの実施形態において、図5の処理は、動的に実行される。例えば、図5の処理は、新たな入力または状態が特定された時に実行される。いくつかの実施形態において、図5の処理は、各制御可能デバイスの各制御可能プロパティが自動的に制御されるように繰り返される。
工程502で、状態を示す複数の入力が受信される。例えば、各入力は、その入力の関連する状態を特定する。いくつかの実施形態において、受信された入力は、制御可能デバイスの制御設定を決定することに対応する。例えば、入力の状態は、制御設定を決定するために解析される。いくつかの実施形態において、受信された入力は、図3Aの工程304で特定された1または複数の状態を含む。いくつかの実施形態において、受信された入力は、図3Bの処理を用いて特定された1または複数の状態を含む。各受信された入力は、1または複数の対象の対応する状態(例えば、ユーザ位置、ユーザ活動、ユーザ嗜好など)、デバイスの対応する状態(例えば、センサデータ、制御可能デバイス設定、デバイス構成など)、および/または、環境の対応する状態(例えば、時刻、日付、気象、湿度、空気の質、地理的位置など)を示しうる。いくつかの実施形態において、複数の入力の内の少なくとも1つが、シーンモードを示す。例えば、様々なシーンモード(例えば、朝食シーン、就寝シーン、読書シーン、映画鑑賞シーン、不在モードなど)が、1または複数のユーザの特定の活動または状況にとって望ましい一群の制御可能デバイス設定を規定する。シーンモードは、ユーザによって手動で指定されてよい、および/または、自動的に決定されてよい。いくつかの実施形態において、複数の入力の内の少なくとも1つが、状態、出力、設定、および/または、構成の履歴を示す。例えば、入力は、制御可能デバイスプロパティ設定を特定する1または複数の以前に決定された出力を特定する。
いくつかの実施形態において、入力を受信する工程は、より大きいグループの入力の中から利用される入力を選択する工程を含む。例えば、制御可能デバイスのプロパティのための出力制御設定を自動的に決定する際にどの入力が関連するのかが決定される。利用される入力の選択は、予め構成されていてもよい(例えば、制御可能デバイスの特定の制御可能プロパティのための所定の構成に基づいて決定されていてよい)。例えば、プログラマが、特定の出力(例えば、制御可能デバイスの制御設定)を自動的に決定する際にどの入力が解析されるのかを手動で構成している。いくつかの実施形態において、利用される入力の選択は、図4の工程406で作成された自動化ルールに少なくとも部分的に基づく。いくつかの実施形態において、利用される入力の選択は、制御可能デバイスに対する入力に関連するデバイスの位置に少なくとも部分的に基づく。例えば、(例えば、グラフモデルを用いて決定された)設置環境内のデバイス/センサの物理的位置のマッピングに基づいて、制御される制御可能デバイスと同じ部屋および/または物理的に近くに配置されたデバイスの状態が、自動的に入力として選択される。様々な実施形態において、利用される入力の選択は、機械学習に基づいて自動的に決定される。
工程504で、複数の出力候補が、最適化関数に従って評価される。例えば、制御可能デバイスの制御可能プロパティ設定の複数の候補(例えば、制御可能デバイスのプロパティの候補設定)が、最適化関数に従って評価される。最適化関数は、受信された入力ならびに1または複数の受信された入力の1または複数のパラメータに依存する。最適化関数の例は、コスト関数、最大化関数、リスク関数、価値関数、確率関数、決定関数、または、複数の出力候補を比較するために利用できる任意のその他の関数、を含む。いくつかの実施形態において、出力候補を評価する工程は、各構成候補の最適化の程度(例えば、最適化評価値)を決定する工程を含む。例えば、各候補出力について、候補出力の望ましさを特定する候補最適化評価値が決定される。最適化関数を用いて候補最適化評価値を比較することにより、候補の1つが最適出力として選択されてよい。
いくつかの実施形態において、出力候補を評価する工程は、各出力候補について(例えば、制御可能デバイスの制御可能プロパティの各構成設定候補について)、各受信された入力状態の出力候補の望ましさの程度を評価する工程を含む。例えば、望ましさの程度は、入力状態が同じであっても、各異なる出力候補によって異なる。いくつかの実施形態において、特定の出力候補の望ましさの程度を決定するために、出力候補に対応する入力状態最適化評価値が、各入力状態について決定され、出力候補の入力状態最適化評価値は、出力候補(例えば、候補最適化評価値)の望ましさの全体の程度を決定するために合計される。いくつかの実施形態において、出力候補について各個別の入力状態を別個に評価するだけではなく、入力状態のクラスタが、特定の出力候補についてグループとして評価される。例えば、いくつかの入力状態が、(例えば、グラフモデルに基づいて)共に相関されるために決定され、出力候補について、構成要素最適化評価値が、個々の入力状態について別個にではなく、単一の全体として入力状態のクラスタについて(例えば、グラフモデルに基づいて)決定される。
いくつかの実施形態において、1または複数の入力状態の入力状態最適化評価値を決定する工程は、1または複数のパラメータを用いて入力状態最適化評価値を動的に決定する工程を含む。例えば、出力候補および入力状態から入力状態最適化評価値への所定の静的なマッピングを用いるのではなく、最適化評価値は、パラメータへの入力である1または複数の他の変数に従って変化しうる。一例において、最適化評価値は、時刻値を入力として用いるパラメータによってパラメータ化された減衰関数に従って、指定されたイベントの時刻から経時的に減衰する。
いくつかの実施形態において、複数の出力候補の評価は、自動的に検出/学習されたおよび/またはユーザ/プログラマ指定された嗜好/ルールに少なくとも部分的に基づく。例えば、どの最適化関数を利用するか、および/または、特定の構成設定の嗜好/構成設定の間の関係性を示す値(例えば、最適化評価値)が、機械学習および/または(例えば、図4の処理を用いて決定された)嗜好/ルールを用いて自動的に選択/決定される。
工程506で、最適化関数を最適化する出力が、出力候補の中から選択される。いくつかの実施形態において、選択された出力は、制御可能デバイスのプロパティの選択された構成設定を特定する。いくつかの実施形態において、出力を選択する工程は、出力候補最適化評価値の比較(例えば、最適化関数を用いて最適化評価値を比較する)に基づいて出力候補を選択する工程を含む。例えば、コスト値が、各出力候補に対して決定されており、コスト最小化関数を用いて、最小のコスト値を持つ出力候補が選択される。いくつかの実施形態において、選択された出力は、適用可能であれば、その出力によって指定された選択された設定を実施するために、制御可能デバイスに提供される。例えば、選択された出力は、選択された出力が、自動的に制御される制御可能デバイスプロパティの現在の設定とは異なる設定を示す場合に、制御可能デバイスの制御可能設定を変更するために、制御可能デバイスに提供される。
様々な実施形態において、最適化関数を利用することにより、自動化の相関/ポリシー/ルールの間の衝突が解消される。例えば、受信された入力状態が2以上の自動化相関/ポリシー/ルールをトリガするので、これら2以上の自動化相関/ポリシー/ルールが有効化されるが、それらは、すべてが同時に実施されることができない矛盾する制御可能デバイス設定を指定しうる(例えば、或るルールが「オン」構成設定を指定する一方で、別のルールが「オフ」構成設定を指定する)。各可能な構成設定に関連する様々な関連最適化値を比較することにより、入力状態を所与とした最も最適な構成設定が決定されてよい。
工程508で、出力に関するフィードバックが受信される。例えば、出力結果が望ましくない出力結果(例えば、制御可能デバイスの構成設定)になった場合、ユーザは、構成設定を明確に変更することによって特にその構成設定を置き換えてもよい(例えば、ネットワーク接続された制御可能デバイスの制御スイッチを調整してよい)。いくつかの実施形態において、ユーザは、出力構成設定の変更が望まれたか否かをユーザ指示を介して確認してよい。例えば、ユーザデバイスを用いて、ユーザは、最近の出力が結果としてユーザの望む自動化挙動につながったか否かを明確化してよい。いくつかの実施形態において、ユーザによる行動がなければ、望ましくない出力ではなかったという確認フィードバックになる。例えば、同じ入力状態を前提として、ユーザが、より長くおよび/またはより頻繁に、フィードバックの提供も構成設定の変更もしていないほど、入力状態と選択された出力との間の関係性が、ユーザによって受け入れられていると想定される。
工程510で、受信されたフィードバックに少なくとも部分的に基づいて、妥当な場合、1または複数の参照最適化評価値が更新される。例えば、入力状態と特定の出力(例えば、制御可能デバイスの構成設定)との間の関連性を特定する1または複数の参照値(例えば、将来の評価のために参照される評価メトリック値)が、受信されたフィードバックを用いて更新される。例えば、出力が望ましかったというユーザからの肯定的な示唆があれば、関連する最適化評価値を下げ、出力が望ましくなかったというユーザからの否定的な示唆があれば、関連する最適化評価値を上げる。
図6は、ネットワーク接続された制御可能デバイスの制御可能プロパティの構成設定を自動的に決定するための処理の一実施形態を示すフローチャートである。図6の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、図6の処理の少なくとも一部は、図3Aの工程308に含まれる。いくつかの実施形態において、図6の処理の少なくとも一部は、図5の工程504および/または工程506に含まれる。
工程602で、自動制御される制御可能デバイスプロパティの次の候補構成設定が、評価に向けて選択される。例えば、制御可能デバイスのプロパティの構成設定を自動的に決定するために、プロパティの各候補構成設定が、ネットワーク接続デバイス設置環境(例えば、アパートメントユニット)の現在の状態(例えば、ユーザ、センサ、デバイス、環境、構成モード/グループ分けの現在の状態など)に基づいて評価され、各候補構成設定が評価に向けて繰り返し選択される。いくつかの実施形態において、次の候補構成設定を選択する工程は、制御可能ネットワークデバイスのプロパティのための候補構成設定のリスト内の次の項目を選択する工程を含む。いくつかの実施形態において、候補構成設定のリストは、制御可能ネットワークデバイスのプロパティのすべての可能な構成設定を含む。制御可能ネットワークデバイスのプロパティの例は、スイッチ状態、値の設定、強度レベル、および、任意のその他の制御可能なプロパティを含む。様々な実施形態において、制御可能ネットワークデバイスは、図1Aのデバイス102または図1Bのデバイス126に含まれる。
プロパティのための候補構成設定のリストは、予め構成されてよい。例えば、プロパティのためのすべての可能な構成設定からの一部が、リストに含まれるよう選択されている。いくつかの実施形態において、反復されるプロパティのための候補構成設定のリストは、動的に決定される。例えば、候補構成設定値は、1または複数の変数に基づいて動的に変化する1または複数の限界によって制限される。例えば、電球の最大強度出力は、日中の時間に基づいて制限され(例えば、電球は、日中には全範囲の強度を出力することを許容されるが、夜間には最大強度の50%しか出力しないよう制限される)、候補構成設定のリストは、時間に基づいた制限内の強度値だけを含む。
工程604で、各適用可能な入力状態について、選択された候補構成設定の最適化評価値が決定される。例えば、制御可能ネットワークデバイスのプロパティを自動制御するために図5の工程502で受信された入力状態の各適用可能な入力状態について、選択された候補構成設定の最適化評価値が決定される。いくつかの実施形態において、入力状態および候補状態(例えば、特定の構成設定)の各々異なるペアについて、入力状態と候補出力との間の関係性を定量化する対応する最適化評価値を格納するデータ構成が存在する。例えば、最適化評価値は、特定の入力状態のために選択された候補構成設定の望ましさの大きさを特定する。いくつかの実施形態において、最適化評価値は、グラフモデルに基づいて決定される。例えば、関連ノードの間の関連エッジのプロパティが、選択された候補構成設定の望ましさを特定する。一例において、最適化評価値は、コスト関数を用いて評価されるコスト値である。いくつかの実施形態において、最適化評価値は、少なくとも部分的には式を用いて計算される。いくつかの実施形態では、最適化値が、自動的に決定されている。例えば、最適化値は、検出されたデータおよびユーザフィードバックに基づいて機械学習を用いて決定されている。いくつかの実施形態において、最適化評価値は、少なくとも部分的に事前に規定されている。例えば、ユーザおよび/またはプログラマが、最適化評価値を指定している。
いくつかの実施形態において、入力状態の最適化評価値を決定する工程は、1または複数のパラメータを用いて最適化評価値を動的に決定する工程を含む。例えば、所定の静的な値を用いるのではなく、最適化評価値は、パラメータへの入力である1または複数の他の変数に従って変化しうる。いくつかの実施形態において、最適化評価値は、時刻値を入力として用いるパラメータによってパラメータ化された減衰関数に従って、指定されたイベントの時刻から経時的に減衰する。例えば、照明スイッチが手動でオンにされた後に、電球の光強度が徐々に減衰し、最大の明るさの光強度設定に関連する最適化評価値は、スイッチがオンにされてからの時間を入力値として利用するパラメータ減衰関数に従って減衰する。いくつかの実施形態において、最適化評価値は、環境内で検出されたユーザの数に基づいたパラメータに従って変化する(例えば、特定のスイッチ状態および候補光レベル構成設定のための最適化評価値が、部屋にいるユーザの数に基づく)。
いくつかの実施形態において、1または複数の入力状態および/またはパラメータは、1または複数の以前の出力または構成設定に基づく。例えば、短期間内に構成設定を急速に変更することは(例えば、モータ、電球などにダメージを与えうるため)望ましくなく、短期間に異なる構成設定へ複数回変更することは、最適化評価値の決定時に以前の構成設定の変化を考慮に入れる(例えば、多くの構成変更が短期間内に制御可能デバイスの同じプロパティに対して実施された時に、基本最適化評価値に調整係数を加える)ことによって妨げられる。
工程606で、選択された候補構成設定に対して決定された最適化評価値は、選択された潜在的構成設定のための出力候補最適化評価値を決定するために組み合わせられる。例えば、選択された候補構成設定に対して決定された最適化評価値が合計される。いくつかの実施形態において、出力候補最適化評価値を決定する工程は、決定された構成要素最適化評価値の内の1または複数の値の加重和を決定する工程を含む。いくつかの実施形態において、出力候補最適化評価値を決定する工程は、決定された構成要素最適化評価値の内の1または複数の値の平均を決定する工程を含む。
いくつかの実施形態において、出力候補最適化評価値を決定する工程は、候補状態である入力状態の最適化評価値の加重値を決定する工程を含む。例えば、全く正確な現在の状態を完全な精度で決定するのは困難な場合があるので、受信された入力状態の内の1または複数が、候補入力状態が実際の入力状態である決定された可能性を表す1または複数の重み係数(例えば、パーセント値)に関連付けられる。これは、同一の実際の入力状態のための異なる候補入力状態が受信され、独立して評価された後に、重み係数に基づいて重み付けされて結びつけられること(例えば、加重平均)を可能にしうる。例えば、ユーザが座った状態である可能性が70%であり、ユーザが立った状態である可能性が30%であることを、受信された入力が示すとする。他の最適化評価値と合計する前に、座った状態について決定された最適化評価値に0.7を掛け、立った状態について決定された最適化値に0.3を掛ける。重み値は、1または複数の要因に基づいて(例えば、時刻またはその他の環境変数/状態に基づいて)動的に変化しうる。工程608で、評価に向けて選択される制御可能ネットワークデバイスのプロパティのさらなる候補構成設定が存在するか否かが判定される。例えば、評価される候補構成設定のリストから、評価される次の候補構成設定が存在するか否かが判定される。工程608で、評価に向けて選択されるさらなる候補構成設定が存在すると判定された場合、処理は、工程602に戻る。
工程608で、評価に向けて選択されるさらなる候補構成設定が存在しないと判定された場合、工程610で、最適化関数を用いて、出力される選択候補構成設定が選択される。
いくつかの実施形態において、利用される最適化関数は、予め決定される。いくつかの実施形態において、利用される最適化関数は、1または複数の要因(例えば、制御されるプロパティ、入力状態、ユーザ嗜好など)に基づいて複数の最適化関数の中から選択される。いくつかの実施形態において、最適化関数を利用する工程は、最も最適な出力候補最適化評価値を選択するために最適化関数を用いて候補構成設定の各々に対する出力候補最適化評価値を比較する工程を含む。例えば、最適化関数は、コスト最適化関数であり、決定された出力候補最適化評価値の各々は、コスト値を表し、選択された候補構成設定は、最低コスト値を持つ候補構成設定である。最適化関数の他の例は、特に、最大化関数、リスク関数、価値関数、確率関数、および、決定関数を含む。いくつかの実施形態において、最適化関数は、最大の出力候補最適化評価値を持つ候補構成設定が選択されることを規定する。いくつかの実施形態において、最適化関数は、極小/極大の出力候補最適化評価値を持つ候補構成設定が選択されることを規定する。様々な実施形態において、最適化関数を用いる工程は、最適化関数によって定義された基準を用いて、決定された出力候補最適化評価値の中から統計的に関連する値を特定する工程と、制御可能デバイス上で実施される設定として、対応する選択された候補構成設定を特定する工程と、を含む。
いくつかの実施形態において、選択された潜在的な構成設定は、図5の工程506で制御可能デバイスに提供され、処理は、図5の工程508に戻る。いくつかの実施形態において、選択された候補構成設定は、選択された候補構成設定が、自動制御される制御可能デバイスプロパティの現在の構成設定とは異なる構成設定を示す場合にのみ、制御可能デバイスに提供される。
図6の処理の一例において、バスルーム換気扇の速度を決定するために、候補構成設定は、各々が別個に評価される高速設定、低速設定、および、オフスピード設定を含む。受信された入力状態は、湿度レベルが高く、動きがバスルームで検出され、ユーザの選択したシーンモードが睡眠モードであることを示す。高速候補設定が評価される時、最適化評価値「1」が、高湿度レベル入力状態に対して決定され、最適化評価値「7」がバスルームでの動き検出入力状態に対して決定され、最適化評価値「10」がバスルーム睡眠シーンモードに対して決定される。次の反復で低速候補設定が評価される時、最適化評価値「3」が、高湿度レベル入力状態に対して決定され、最適化評価値「3」がバスルームでの動き検出入力状態に対して決定され、最適化評価値「4」がバスルーム睡眠シーンモードに対して決定される。オフスピード候補設定が評価される時、最適化評価値「18」が、高湿度レベル入力状態に対して決定され、最適化評価値「1」がバスルームでの動き検出入力状態に対して決定され、最適化評価値「1」がバスルーム睡眠シーンモードに対して決定される。次いで、最適化評価値は、各候補設定について合計され、結果として、高速候補設定に対して出力候補最適化評価値「18」、低速候補設定に対して出力候補最適化評価値「10」、および、オフスピード候補設定に対して出力候補最適化評価「20」が得られる。利用されるコスト最適化関数は、最低の最適化評価値を持つ構成設定候補が選択されることを規定し、低速設定が、最低の出力候補最適化評価値を持つので、実施される選択構成設定として選択される。
図7は、改善された出力を発見するよう試みる処理の一実施形態を示すフローチャートである。図7の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、図7の処理の少なくとも一部は、図3Aの工程308に含まれる。いくつかの実施形態において、図7の処理の少なくとも一部は、図5の工程506に含まれる。いくつかの実施形態において、図7の処理の少なくとも一部は、図6の工程610に含まれる。いくつかの実施形態において、図7の処理の少なくとも一部は、制御可能デバイスを制御するための出力が自動的に決定される度に繰り返される。
工程702で、テスト出力を出力する機会閾値が特定される。例えば、(例えば、図5および/または図6の処理を用いて)最適化関数を利用して最も最適な出力を選択する場合、選択出力は、出力候補の決定された候補最適化評価値に基づいて選択される。しかしながら、候補最適化評価値が出力候補の望ましさを正確に捉えていない場合、選択出力候補は準最適でありうる。結果および入力に対応する最適化評価値は、フィードバックに基づいて調整および改善されうるが(例えば、ユーザが準最適な設定を最適な設定に手動で変更し、機械学習を用いて、この変更から学習する)、ユーザは、出力が最適でなくても満足であれば、出力結果を改善するために有効なフィードバックを提供しなくてもよい。例えば、最適なファン速度設定が低速であっても、ユーザは、現在の異なるファン設定(例えば、高速)が満足であれば、この最適な速度を示すためのフィードバックを提供しなくてよい。
いくつかの実施形態において、より最適な出力(例えば、制御可能デバイスの出力構成設定)を発見するために、最適化に従って最も最適ではないかもしれない出力が、潜在的により最適な出力を発見するために、限られた例で出力として提供される。例えば、最適化関数によって選択された最も最適な出力を用いるのではなく、ランダムな出力および/または2番目に最適な出力が、この出力が潜在的により最適な出力であるか否かを判断するために、出力として提供される。いくつかの実施形態において、機会閾値は、最も最適な出力として選択されなかった出力が出力として提供される目標確率を特定する。いくつかの実施形態において、機会閾値は、動的に決定される。例えば、機会閾値を動的に変化させることにより、ベータテスタは、最も最適ではないかもしれないより多くのテスト出力にさらされうるが、信頼性を求める商用ユーザは、最も最適ではなないかもしれない比較的少ないテスト出力にさらされる。別の例では、最も最適ではないかもしれない連続的なテスト出力にユーザを絶えずさらすのではなく、時間間隔内に提供されるテスト出力の数が、学習選択機会閾値を変化させることによって制限される。
いくつかの実施形態において、機会閾値を特定する工程は、以下の内の1または複数に少なくとも部分的に基づいて、機会閾値を動的に選択する工程を含む:1または複数の入力状態(例えば、図5の工程502で受信されるもの)、最後のテスト出力からの時間、ユーザのプロフィール、最後のテスト出力の正確さの結果/フィードバック、現在の時刻/日付、および、制御されるプロパティおよび/または制御可能デバイスのタイプ、など。
工程704で、特定された機会閾値に基づいた選択基準が満たされたか否かが判定される。例えば、機会閾値を用いて評価されたランダム化選択基準に基づいて、最適化関数で選択された出力ではないテスト出力が出力されるべきか否かが判定される。いくつかの実施形態において、テスト出力が提供されるべきか否かを判定するために、ランダム値が選択され、ランダム値が機会閾値の限界によって境界された範囲内にあるか否かが判定される。(例えば、ランダム値が機会閾値未満である場合、機会閾値は満たされ、そうでない場合には満たされない)。
工程704で、選択基準が満たされなかったと判定された場合、工程706で、最適化関数を用いて最適であると選択された選択出力が出力される。例えば、(例えば、図5の工程506、図6の工程610などで)最適化関数によって最適であると選択された出力が、制御可能デバイスを制御するための出力として提供される。
工程704で、選択基準が満たされたと判定された場合、工程708で、テスト出力が出力される。例えば、特定された(例えば、図6の工程602で特定された)潜在的な出力候補(例えば、制御される制御可能デバイスのプロパティの候補構成設定)の中から、出力候補の1つがランダムに選択されて出力される。出力されるようランダムに選択される資格のある出力候補は、最適化関数を用いて実行される解析に基づいて制限されてよい。例えば、最適化関数によってランク付けされた出力候補の上位50%のみが、テスト出力としての出力に向けて選択される資格がある。別の例では、最適化関数に基づいて決定された2番目に最適な出力が、テスト出力として提供される。
工程710で、出力に関するフィードバックが受信される。例えば、出力の結果、制御可能デバイスのプロパティの望ましくない構成設定が生じた場合、ユーザは、構成設定を明確に変更することによって特にその構成設定を置き換えてもよい(例えば、デバイスの制御スイッチを調整してよい)。いくつかの実施形態において、ユーザは、出力構成設定が所望の構成設定であるか否かをユーザ指示を介して確認してよい。例えば、ユーザデバイスを用いて、ユーザは、最近の出力が結果としてユーザの望む自動化挙動につながったか否かを明確化してよい(例えば、最適化成分値が指示に基づいて変更される)。いくつかの実施形態において、ユーザによる行動がなければ、望ましくない出力ではなかったという確認フィードバックになる。例えば、同じ入力状態を前提として、ユーザが、より長くおよび/またはより頻繁に、フィードバックの提供も構成設定の変更もしていないほど、入力状態と出力との間の関係性が、ユーザによって受け入れられていると想定される。
工程712で、受信されたフィードバックに少なくとも部分的に基づいて、妥当な場合、1または複数の参照最適化評価値が更新される。例えば、入力状態と特定の出力(例えば、制御可能デバイスの構成設定)との間の関連性を特定する1または複数の参照値(例えば、将来の評価のために参照される値)が、受信されたフィードバックを用いて更新される。例えば、出力が望ましかったというユーザからの肯定的な示唆があれば、関連する最適化評価値を下げ、出力が望ましくなかったというユーザからの否定的な示唆があれば、関連する最適化評価値を上げる。
図8は、接続デバイス環境のグラフモデルを初期化するための処理の一実施形態を示すフローチャートである。図8の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、グラフモデルは、図1Aのハブ104および/またはサーバ106に格納されたグラフモデルである。いくつかの実施形態において、グラフモデルの一例は、図2A〜図2Dのグラフモデルである。
工程802で、グラフモデルが初期化される。いくつかの実施形態において、グラフモデルを初期化する工程は、接続デバイス環境が確立されるためのグラフモデルを確立する工程を含む。例えば、ユーザは、グラフモデルを構築するために、環境内のデバイス/センサならびにそれらの位置および接続を指定する。いくつかの実施形態において、グラフモデルを初期化する工程は、グラフモデルの仕様を受信する工程を含む。例えば、ソフトウェアを用いて、ユーザは、環境内の領域および接続デバイスを含む環境の構成を指定する。
グラフモデルは、異なる設置環境および異なる住居にわたって様々であってよい。しかしながら、機械学習を用いて、或る設置環境から別の設置環境へグラフの少なくとも一部を適用してもよい。例えば、或る住居からの学習が別の住居に移植されうるように、グラフモデル内のパターンが見出され、様々な設置環境に適用されてよい。換言すると、機械学習は、グラフモデルの類似の部分にわたる行動/プロセスを特定するために利用され、結果として、異なる設置環境およびグラフモデルにわたる共通ルールを生成する。
いくつかの実施形態において、1または複数のテンプレートが、グラフモデルの初期化に利用される。例えば、ユーザは、予め構築されたグラフモデルテンプレートを提供され、ユーザは、グラフモデルの少なくとも一部を指定するのに必要に応じて、テンプレートを調整して組み合わせることができる。いくつかの実施形態において、ネットワーク接続デバイスは、非常に類似したおよび/または同じ環境にわたって配備される。例えば、複数の建物/アパートメントユニットが、同じレイアウトに基づく場合があり、一人の設置者が、各ユニットに同じように繰り返し設置するネットワーク接続デバイスおよびセンサのタイプおよび具体的な設置位置を決定したとする。設計が標準化されているので、グラフモデルテンプレートが、同じ/類似のユニットに対して生成されて、すべての同じ/類似のユニットに適用されてよい。別の例では、環境部分(例えば、部屋、領域など)のためのグラフモデルテンプレートが、配備環境のためのグラフモデルの構築に利用可能であってもよい。グラフモデルテンプレートは、各配備例に対してカスタマイズ可能であってよい。例えば、グラフモデルテンプレートを用いる際に、テンプレートの要素が、各ユニットの偏差/ばらつきを考慮するように修正/指定されてよい。
いくつかの実施形態において、グラフモデルを初期化する工程は、グラフモデル内の代表ノードに個々の物理デバイスを関連付ける工程を含む。例えば、テンプレートグラフモデルは、テンプレートグラフモデル内にデバイス/センサのためのプレースホルダを含むが、デバイス/センサノードは、現実世界に配備/設置されたデバイス/センサとは特に関連付けられておらず、ユーザ/設置者は、これらのプレースホルダに対して個々の現実世界のデバイス/センサの識別子を指定してよい。ネットワーク接続デバイスが類似した複数のユニットにわたって配備される例において、設置者は、ユニットのためのグラフモデルテンプレートに基づいて、各ユニット内に物理センサ/デバイスを設置してよい。いくつかの実施形態において、グラフモデルテンプレートに基づいて、物理センサ/デバイスは、自動的にグラフモデルテンプレート内のノードに関連付けられる。例えば、各センサ/デバイスは、センサ/デバイスの対応するグラフモデルノードを決定するために、他のセンサ/デバイスと共に、1または複数のテストを実行する。一例において、グラフモデルテンプレートに2つの電球デバイスノードが存在し、2つのネットワーク接続電球が環境内に設置されている場合、どの物理的電球がグラフモデルテンプレート内のどの電球ノードに対応するのかを決定する必要がある。この例において、一方の電球がオンにされ、一方で、他方の電球がオフにされている特に、配備環境内のセンサからのフィードバックデータを用いて、オンになった電球の位置およびそれに対応するノードを推定し、オフになった電球のノードを消去法で特定する。
いくつかの実施形態において、グラフモデルのノードおよび/またはエッジのプロパティが、ユニットの位置および/または向きに基づいて変えられる。例えば、建物の3階のアパートメントユニットが、1階のユニットに比べて異なるプライバシの懸案事項を有しており、窓装飾デバイスノードおよび/またはノードを接続するエッジに関連するプライバシプロパティ設定値が、環境の位置および/または向きに基づいて変更される。別の例では、窓を通して入る日光および/または雑音の量が、窓の方向/向きに基づいて変化しうるので、窓装飾デバイスおよび/またはそのエッジに関連するプロパティ設定値が、関連する窓の位置および/または向きに基づいて変更される。
工程804で、グラフモデルが検証される。例えば、正確なグラフモデルが配備環境に対して初期化されたことを保証するために、自動テストが実行される(例えば、閉ループ検証)。いくつかの実施形態において、自動検証は、1または複数のテストを実行することによって実行される(例えば、各物理デバイス/センサがグラフモデル内の正確な対応ノードに関連付けられていることを保証するためのテスト)。例えば、各制御可能デバイス/センサについて、1または複数の制御可能プロパティが有効化され、それらの効果がセンサを用いて検出され、検出された効果がグラフモデルに従って期待された通りであるか否かが判定される。一例において、環境に影響するデバイス(例えば、音、光など)がオンにされるよう命令されると、グラフモデルに従って(例えば、対応するノードの間のエッジに従って)その効果を検出できるはずのセンサが、グラフモデルが正確であれば効果を検出するはずである。いくつかの実施形態において、ユーザ/設置者は、1または複数の動作を実行するよう(例えば、特定の経路を歩く、スイッチをオンにする、など)命令され、環境のセンサ用いて、検出されたデータがグラフモデルにフィットすることが検証される。エラーが検出された場合、そのエラーは、自動的に修正されてよい(例えば、2つのノードの間のスイッチデバイスの関連性)、および/または、ユーザ/設置者がエラーを修正することを可能にするために、エラーメッセージが提供されてよい。
いくつかの実施形態において、グラフモデルを用いて、1または複数のデバイス/センサが定期的に検証される。例えば、センサ/デバイスが、使用中に故障する場合があり、センサ/デバイスの正確な機能は、グラフモデルを用いて、テストされるデバイス/センサについて、どの他のデバイス/センサが、テスト対象のデバイス/センサを検出/影響することができるのかを特定し、これらのデバイス/センサがテスト対象のデバイス/センサの機能の正確な動作を検出できることを検証することにより、定期的に検証される。いくつかの実施形態において、定期的な検証が、メンテナンスの問題を検出するために利用される。例えば、特定の共通したメンテナンスの問題のための検証テストが、グラフモデルに基づいて定期的に実行されてよい。
いくつかの実施形態において、グラフモデルを用いることにより、最も効率的なセンサ/デバイス配置位置、および/または、所望の有効範囲を提供するのに必要な任意の追加センサ/デバイスの位置が特定されてよい。例えば、環境内で有効化されることが望まれるルールおよび/または機能の所望のセットに基づいて、グラフモデルは、グラフモデル(これにプロパティが関連付けられている)内でさらなるノードをどこに配置できるのか、どこでノードを取り除くことができるのか、および/または、エッジのどのプロパティ値を変更(例えば、質を向上)できるのか、を特定するために解析されてよい。次いで、解析の結果は、所望の有効範囲を達成するために物理環境内で利用されてよい。
図9は、グラフモデルを用いてコマンドを処理するための処理の一実施形態を示すフローチャートである。図9の処理は、少なくとも部分的には、図1Aのハブ104および/またはサーバ106で実施されてよい。いくつかの実施形態において、グラフモデルは、図1Aのハブ104および/またはサーバ106に格納されたグラフモデルである。いくつかの実施形態において、グラフモデルの一例は、図2A〜図2Dのグラフモデルである。いくつかの実施形態において、図9の処理の少なくとも一部は、図3A〜図3Bの工程304、306、308、314、316、および/または、318、図4の工程404、図5の工程502および/または504、図6の工程604、ならびに/もしくは、図8の工程804に含まれる。
工程902で、コマンドが受信される。いくつかの実施形態において、コマンドは、ユーザコマンドである。例えば、ユーザが、スイッチを作動させるか、または、命令を提供する。ユーザコマンドは、マイクによって検出される音声コマンドであってよい。いくつかの実施形態において、コマンドは、自動化コマンドである(例えば、事前設定または自動決定されたルールに基づいて呼び出される)。いくつかの実施形態において、コマンドは検出される。例えば、センサが、トリガされている。いくつかの実施形態において、コマンドは、明示的なユーザコマンドではない。例えば、コマンドは、センサが検出した環境プロパティに基づいて自動的に呼び出される。いくつかの実施形態において、コマンドは、ルールの呼び出しである。いくつかの実施形態において、コマンドは、新しいルールの発見である。いくつかの実施形態において、コマンドは、デバイス/センサの状況をテストするためのテストコマンドである。
工程904で、環境のグラフモデルが、コマンドに関連するグラフモデルのノードを特定するために適用される。例えば、グラフモデルは、デバイス/センサ間および物理的領域間の関係性を規定し、この関係性情報は、関連するデバイス/センサおよびそれらのコマンドに関係する関係性を特定するために利用される。いくつかの実施形態において、特定されるノードは、グラフモデルのすべてのノードの一部である。いくつかの実施形態において、ノードを特定する工程は、コマンドに直接関連するノード(例えば、コマンドによって指定されたデバイスに対応するノード)を特定する工程と、その後に、コマンド関連の関係性で特定されたノードに接続されたノードを決定する工程と、を含む。例えば、ガレージのドアを開くコマンドが受信されると、ガレージドアオープナに対応するノードがグラフモデル内で特定され、次いで、コマンド関係の関係性でガレージドアオープナノードに接続された他のノードが特定される(例えば、関連する照明をオンにするために、ガレージドアオープナのガレージ領域を照らすことができるすべての照明関連ノードを特定する)。いくつかの実施形態において、グラフモデルは階層的であり、コマンドは、グラフ階層の1または複数のレベルに関連しうる。例えば、低いレベルのノード/エッジは、直接対応するより高いレベルのノードからプロパティを継承する。
いくつかの実施形態において、ノードを特定する工程は、コマンドの物理的なエリア/領域に関連付けられたノードを特定する工程を含む。例えば、コマンドは、物理的なエリア/領域に関連付けられており(例えば、キッチンの照明をオンにするコマンド)、物理的なエリア/領域に関連付けられたグラフモデルのノードが特定される。次いで、物理的なエリア/領域に接続され、コマンドに関連付けられた他のノードが、他のノードと物理的なエリア/領域とのグラフモデルエッジ接続に基づいて特定されうる。物理的なエリア/領域は、コマンド内で直接指定されてよい、および/または、推定されてよい(例えば、コマンドを提供したユーザの位置)。物理的なエリア/領域は、部屋、部屋の中の位置、ユニット、建物、屋外の位置、サブ領域、特定の物品の周りの位置、および/または、任意のその他の特定可能な位置であってよい。
いくつかの実施形態において、グラフのコンテキスト情報を用いることにより、グラフのコンテキスト情報がない場合よりも、汎用的かつ直感的なコマンドを利用することができる。例えば、特定のデバイス名およびデバイスの構成をユーザが知っている必要があるのではなく、ユーザは、グラフモデルの位置および/または関係性の概念に関連するコマンドを提供することができる。特定された位置/関係性に基づいて、適用可能なデバイス/ノードを自動的に決定することができる。さらに、コンテキスト情報は、より汎用的かつコンテキストアウェアなルールを自動的に発見することを可能にする。例えば、グラフモデルの位置コンテキスト情報がなければ、ルールの発見/利用時に利用される状態入力は、孤立して存在する。しかしながら、グラフモデルの位置コンテキスト情報があれば、一般化されたエリア/領域のためのルールを発見/利用するために、コンテキスト情報に基づいて、(例えば、特定のデバイスのためだけではなく、より広い領域/エリアに)入力状態を一般化することができる、より汎用的なルールを発見、呼び出し、および/または、利用することを可能にすることにより、ルールは、より多くの状況および位置で適用可能になる。例えば、特定のユーザに固有であるが、より広いエリア/領域に一般化されたルールが、その特定のユーザが、異なるグラフモデルを有するが同じラベルを付されたエリア/領域を持つ異なる環境に移動することから、異なる環境で適用されてよい(例えば、異なるキッチンで、実際の照明デバイスおよびそれらの構成が異なっていても、夜にユーザがキッチンエリアに入った時に照明を点灯するルールが、ユーザの行くすべてのキッチンに適用されてよい)。いくつかの実施形態において、グラフモデルを用いてより広い概念に動作を一般化する(例えば、より広い位置コンテキストに一般化する)ことを可能にすることにより、ルールの発見が、(例えば、同じユーザおよび/または異なるユーザによる)様々な異なるタイプの配備環境にわたって行われうる。
いくつかの実施形態において、グラフモデルは、ノード間の物理的関係性を特定するエッジ(例えば、ノード間の接続)を含んでおり、これらのエッジは、ノードを特定する際に利用される。例えば、ノード(例えば、デバイス/センサ、位置エリアなど)の間の物理的位置/関係性を特定するこれらのタイプのエッジおよび任意の関連プロパティ(例えば、強度値)が、コマンドの処理に利用される。デバイス/センサの位置および互いの物理的関係性は、コマンドの処理に関連するノードを特定するため、および/または、ノードの情報を処理する際に物理的コンテキストを提供するために利用されてよい。例えば、互いに既知のそれぞれの位置を所与として複数のセンサのカメラおよび/またはマイクデータを処理することによってイベントの位置を特定するために、位置の三角測量が実行される。別の例において、位置情報は、影響を受けるすべての特定のデバイスの正確な知識(例えば、特定の領域内のすべての照明をオンにするためのコマンド)を求めることなしに、グラフモデル内で特定された物理的関係に基づいて、物理的に同じ場所にあるデバイス/センサの共同管理を可能にする。いくつかの実施形態において、センサ配置の位置情報は、センサで検出された動きが人間のユーザまたはペットのいずれに関連しているのかを判定するために利用される。例えば、地面近くに取り付けられたセンサは、人間およびペットの動きを検出しうるが、地面近くの動きを検出しないように高く取り付けられたセンサは、ペットの動きを検出する可能性が低い。
いくつかの実施形態において、ノードの物理的な関係性は、野外環境のコンテキストを提供する。例えば、グラフモデルは、屋外の天気、時刻/日付、および/または、太陽の位置の間の関係性を捉える。一例において、窓の位置/配置/向き、および、少なくとも部分的にグラフモデルを用いて得られた太陽位置情報に基づいて、窓に入る太陽光の期待量が決定され、窓付近のサーモスタットが室内温度を正確に測定しているのか、または、サーモスタットに当たる直射日光によって異常な影響を受けているのかを判定するために利用される。複数の温度センサが存在する場合、正確である可能性の最も高いセンサが、利用されるよう選択されてよい。別の例では、バスルームの換気扇が、グラフモデルを用いて、(例えば、ユーザの入浴により)バスルームでのみ高い湿度が検出されているのか、または、アパートメントユニット全体の湿度が高いのか(例えば、グラフモデルを用いて決定されたようにバスルームから十分に離れた場所にあるセンサで検出される)を検出することによって、バスルームの湿度を効率的に制御でき、バスルームの換気扇は、バスルームセンサと遠隔センサとの間で十分な湿度の差が検出された時にのみオンにされる。
いくつかの実施形態において、グラフモデルは、ノード間の機能的関係性を特定するエッジを含んでおり、これらのエッジは、ノードを特定する際に利用される。例えば、ノード間の機能的関係性を特定するこれらのタイプのエッジおよび任意の関連プロパティ(例えば、機能識別および接続の強度値)は、コマンドの処理に利用される。機能的関係性の例は、光および音の関係性を含む。例えば、別のノードに影響するノードによって出力/制御される光および/またはノイズの量が、関連する強度値を持つエッジ接続として表される。一例において、ユーザが部屋を暗くするためのコマンドを提供すると、ユーザの位置が決定され、光の関係性を特定する機能的エッジを持つ位置に接続されたノードすべてが特定され、光出力を下げるよう命令される。
いくつかの実施形態において、グラフモデルは、ノード間の行動的関係性を特定するエッジを含んでおり、これらのエッジは、ノードを特定する際に利用される。例えば、ノード間の行動活動の関係性を特定するこれらのタイプのエッジおよび任意の関連プロパティ(例えば、行動活動の識別、活動の関連プロパティ、および、接続の強度値)は、コマンドの処理に利用される。行動活動の関係性の例は、人および/または動物/ペットの活動/行動(例えば、人間ユーザの活動、所有、許可、プライバシなど)に関連する関係性を含む。例えば、各行動的関係性タイプのエッジは、指定された活動(例えば、仕事、食事、学習、TV視聴、入浴など)に固有であり、各行動的関係性タイプのエッジは、指定された活動にのみ適用可能である。異なるコンテキストおよび行動活動が、異なるデバイス設定につながりうる。例えば、読書活動は、光の明るい設定を引き起こすが、睡眠活動は、明るさの低い設定を引き起こしうる。
いくつかの実施形態において、コマンドに関連する活動が決定され、コマンドに関連するグラフモデルのノードを特定する工程は、決定された活動のためのエッジを特定する工程を含む。例えば、ユーザが睡眠中であることが検出され、睡眠活動に関連するプライバシ/照明エッジが特定され、それに従って、グラフモデル内でユーザの位置に接続された特定されたエッジに基づいてデバイスを調整するために利用される。別の例では、1または複数の行動エッジが、1または複数の特定のユーザおよび/またはユーザのタイプに関連付けられており、権限のあるユーザおよび/または権限のあるタイプのユーザがコマンドを提供したか否かおよび/または検出されたか否かに基づいて、機能の有効化/無効化を可能にする。
工程906で、特定されたノードは、コマンドに応答して作動される。例えば、コマンドの所望の結果が、適切な特定されたノードの1または複数の特徴を有効化/無効化する(例えば、状態を変更する)ことによって達成される。いくつかの実施形態において、ノードを作動させる工程は、特定されたノードの内の1または複数のノードのデバイス/センサをオン/オフする工程を含む。いくつかの実施形態において、ノードを作動させる工程は、特定されたノードの1または複数の状態を決定する工程を含む。例えば、状態は、1または複数のルールを学習および/または有効化するために利用できる。いくつかの実施形態において、ノードを作動させる工程は、1または複数のデバイス設定を変更する工程を含む。いくつかの実施形態において、ノードを作動させる工程は、特定されたノードの1または複数の関連エッジおよび/またはノードを決定する工程を含む。いくつかの実施形態において、ノードを作動させる工程は、センサデータを評価する工程を含む。いくつかの実施形態において、ノードを作動させる工程は、特定されたノードに基づいてグラフモデルを変更する工程を含む。例えば、ノードおよび/またはエッジの1または複数のプロパティが変更されてもよいし、1または複数のノード/エッジがグラフモデルに追加または除去されてよい。いくつかの実施形態において、ノードを作動させる工程は、各ノードがどのようにコマンドと関連しているか、および、各ノードが、該当する場合に、コマンドを処理するためにどのように呼び出されるべきか、を決定する工程と、適切なノードを呼び出す工程と、を含む。いくつかの実施形態において、ノードを作動させる工程は、コマンドおよび特定されたノードに関連する1または複数のルールを特定する工程と、特定されたルールを呼び出す工程と、を含む。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。

Claims (23)

  1. ネットワーク接続デバイスを制御するための方法であって、
    コマンドを受信する工程と、
    プロセッサを用いて、グラフモデルを適用して、前記コマンドに関連するノードの一部を特定する工程であって、前記グラフモデルは、デバイスに各々対応する複数のノードを含み、前記グラフモデルは、前記複数のノードの間の関係性を規定する複数のエッジを含む、工程と、
    前記コマンドに応答して、前記ノードの前記一部を作動させる工程と、
    を備える、方法。
  2. 請求項1に記載の方法であって、前記コマンドは、自動化ルールに関連する、方法。
  3. 請求項1に記載の方法であって、前記コマンドは、音声コマンドを含む、方法。
  4. 請求項1に記載の方法であって、前記コマンドは、明示的なユーザコマンドではなく、前記コマンドは、環境プロパティの検出に基づいて検出されたものである、方法。
  5. 請求項1に記載の方法であって、前記複数のエッジの内の1または複数は、動的な重み値に関連付けられている、方法。
  6. 請求項1に記載の方法であって、前記グラフモデルは、疎テーブルまたは疎行列として実装される、方法。
  7. 請求項1に記載の方法であって、前記グラフモデルは、物理的エリアに関連付けられた1または複数のノードを含む、方法。
  8. 請求項1に記載の方法であって、前記グラフモデルは、1または複数のグラフモデルテンプレートを用いて生成されたものである、方法。
  9. 請求項1に記載の方法であって、前記グラフモデルは、階層的であり、複数のレベルを含む、方法。
  10. 請求項1に記載の方法であって、前記複数のエッジの内の1または複数は、前記複数のノードの内の1または複数の間の物理的関係性を特定する、方法。
  11. 請求項1に記載の方法であって、前記複数のエッジの内の1または複数は、前記複数のノードの内の1または複数の間の機能的関係性を特定する、方法。
  12. 請求項1に記載の方法であって、特定の行動活動について、前記複数のエッジの内の1または複数は、前記複数のノードの内の1または複数の間の関係性を特定する、方法。
  13. 請求項1に記載の方法であって、複数の異なるタイプのエッジが、前記複数のノードの内の2つの同じノードを接続する、方法。
  14. 請求項1に記載の方法であって、前記コマンドは、前記グラフモデルの1または複数のノードおよびエッジを検証するためにテストを実行することに関連する、方法。
  15. 請求項1に記載の方法であって、前記グラフモデルを適用する工程は、前記コマンドの物理的領域に関連する前記グラフモデルのノードを特定する工程と、前記コマンドに関連する前記特定されたノードのエッジを特定する工程と、を備える、方法。
  16. 請求項1に記載の方法であって、前記コマンドは、自動的に発見された自動化ルールに関連し、前記自動化ルールは、前記グラフモデルを用いて発見されたものである、方法。
  17. 請求項1に記載の方法であって、前記グラフモデルを適用する工程は、ペットまたは人間ユーザの位置と、前記ペットまたは前記人間ユーザの前記位置に対応する前記グラフモデル内のノードとを特定する工程を含む、方法。
  18. 請求項1に記載の方法であって、前記グラフモデルを適用する工程は、別のグラフモデルを用いて発見された自動化ルールを用いる工程を含む、方法。
  19. 請求項1に記載の方法であって、前記グラフモデルを適用する工程は、前記コマンドによって特定された位置に関連付けられたノードを決定する工程を含む、方法。
  20. 請求項1に記載の方法であって、前記コマンドに関連する前記ノードの一部は、前記ノードの一部の1または複数のエッジに関連するプロパティに基づいて特定されたものである、方法。
  21. 請求項1に記載の方法であって、前記コマンドに関連する前記ノードの一部の少なくとも1つのノードは、屋外環境プロパティに関する少なくとも1つのノードの関係性に基づいて特定されたものである、方法。
  22. ネットワーク接続デバイスを制御するためのシステムであって、
    プロセッサであって、
    コマンドを受信し、
    デバイスに各々対応する複数のノードを含み、前記複数のノードの間の関係性を規定する複数のエッジを含むグラフモデルを適用して、前記コマンドに関連するノードの一部を特定し、
    前記コマンドに応答して、前記ノードの前記一部を作動させる、
    よう構成された、プロセッサと、
    前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
    を備える、システム。
  23. ネットワーク接続デバイスを制御するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、一時的でないコンピュータ読み取り可能な記憶媒体内に具現化され、
    コマンドを受信するためのコンピュータ命令と、
    デバイスに各々対応する複数のノードを含み、前記複数のノードの間の関係性を規定する複数のエッジを含むグラフモデルを適用して、前記コマンドに関連するノードの一部を特定するためのコンピュータ命令と、
    前記コマンドに応答して、前記ノードの前記一部を作動させるためのコンピュータ命令と、
    を備える、コンピュータプログラム製品。
JP2019521420A 2016-11-17 2017-09-25 関係グラフを用いた接続デバイスの制御 Active JP6921950B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/354,115 2016-11-17
US15/354,115 US10157613B2 (en) 2016-11-17 2016-11-17 Controlling connected devices using a relationship graph
PCT/US2017/053286 WO2018093463A1 (en) 2016-11-17 2017-09-25 Controlling connected devices using a relationship graph

Publications (2)

Publication Number Publication Date
JP2020503715A JP2020503715A (ja) 2020-01-30
JP6921950B2 true JP6921950B2 (ja) 2021-08-18

Family

ID=62107997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521420A Active JP6921950B2 (ja) 2016-11-17 2017-09-25 関係グラフを用いた接続デバイスの制御

Country Status (3)

Country Link
US (2) US10157613B2 (ja)
JP (1) JP6921950B2 (ja)
WO (1) WO2018093463A1 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012068090A1 (en) * 2010-11-15 2012-05-24 Ecotech Marine, Llc Apparatus and methods for controlling a habitat environment
US10545567B2 (en) * 2017-01-06 2020-01-28 International Business Machines Corporation Method and apparatus for power savings in communications equipment
US10909097B2 (en) * 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
US10855800B2 (en) * 2017-02-15 2020-12-01 Dell Products, L.P. Managing device profiles in the Internet-of-Things (IoT)
KR20180098079A (ko) * 2017-02-24 2018-09-03 삼성전자주식회사 비전 기반의 사물 인식 장치 및 그 제어 방법
US10838505B2 (en) * 2017-08-25 2020-11-17 Qualcomm Incorporated System and method for gesture recognition
US12058160B1 (en) 2017-11-22 2024-08-06 Lacework, Inc. Generating computer code for remediating detected events
US11973784B1 (en) 2017-11-27 2024-04-30 Lacework, Inc. Natural language interface for an anomaly detection framework
US11785104B2 (en) 2017-11-27 2023-10-10 Lacework, Inc. Learning from similar cloud deployments
US11849000B2 (en) 2017-11-27 2023-12-19 Lacework, Inc. Using real-time monitoring to inform static analysis
US11741238B2 (en) 2017-11-27 2023-08-29 Lacework, Inc. Dynamically generating monitoring tools for software applications
US11894984B2 (en) 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11979422B1 (en) 2017-11-27 2024-05-07 Lacework, Inc. Elastic privileges in a secure access service edge
US12095796B1 (en) 2017-11-27 2024-09-17 Lacework, Inc. Instruction-level threat assessment
US11765249B2 (en) 2017-11-27 2023-09-19 Lacework, Inc. Facilitating developer efficiency and application quality
US11818156B1 (en) 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US10419469B1 (en) 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
US20220232025A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting anomalous behavior of a device
US11770398B1 (en) 2017-11-27 2023-09-26 Lacework, Inc. Guided anomaly detection framework
US20220232024A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting deviations from typical user behavior
US11792284B1 (en) 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US12034754B2 (en) 2017-11-27 2024-07-09 Lacework, Inc. Using static analysis for vulnerability detection
JP7192208B2 (ja) * 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
JP7067082B2 (ja) 2018-01-24 2022-05-16 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
US10735317B2 (en) * 2018-01-25 2020-08-04 Vmware, Inc. Real-time, network fault tolerant rule processing in a cloud-based internet of things system
US10637774B2 (en) 2018-01-25 2020-04-28 Vmware, Inc. Securely localized and fault tolerant processing of data in a hybrid multi-tenant internet of things system
US10764174B2 (en) 2018-01-25 2020-09-01 Vmware, Inc. Reusing domain-specific rules in a cloud-based internet of things system
US11551144B2 (en) 2018-01-30 2023-01-10 Deepmind Technologies Limited Dynamic placement of computation sub-graphs
US10747578B2 (en) * 2018-04-27 2020-08-18 Microsoft Technology Licensing, Llc Nested tenants
US10951482B2 (en) 2018-05-16 2021-03-16 Microsoft Technology Licensing, Llc Device identification on a building automation control network
US11456915B2 (en) 2018-05-21 2022-09-27 Microsoft Technology Licensing, Llc Device model templates
AU2019294498B2 (en) * 2018-06-25 2021-12-09 Alarm.Com Incorporated Network activity validation
EP3595266B1 (en) 2018-07-10 2022-05-04 Vestel Elektronik Sanayi ve Ticaret A.S. Method, apparatus and device for transferring and receiving data symbols
US11243503B2 (en) * 2018-07-20 2022-02-08 Johnson Controls Tyco IP Holdings LLP Building management system with online configurable system identification
JP7159355B2 (ja) * 2018-08-23 2022-10-24 グーグル エルエルシー マルチアシスタント環境の特性によるアシスタント応答性の規制
EP3633958B1 (en) * 2018-10-03 2022-10-12 Tata Consultancy Services Limited Controlling behavior of an internet of things (iot) automation system by identifying policy violations
US11469969B2 (en) * 2018-10-04 2022-10-11 Hewlett Packard Enterprise Development Lp Intelligent lifecycle management of analytic functions for an IoT intelligent edge with a hypergraph-based approach
US20200210804A1 (en) * 2018-12-31 2020-07-02 Qi Lu Intelligent enclosure systems and computing methods
US11829888B2 (en) * 2019-03-27 2023-11-28 International Business Machines Corporation Modifying artificial intelligence models using model fragments
US11362852B2 (en) * 2019-05-08 2022-06-14 Johnson Controls Tyco IP Holdings LLP Systems and methods for configuring and operating building equipment using causal and spatial relationships
CN110288990B (zh) * 2019-06-12 2021-07-20 深圳康佳电子科技有限公司 一种语音控制优化方法、存储介质及智能终端
CN110517665B (zh) * 2019-08-29 2021-09-03 中国银行股份有限公司 获取测试样本的方法及装置
CN111107131B (zh) * 2019-11-05 2023-07-21 远景智能国际私人投资有限公司 物联网设备的管理方法、装置、服务器及存储介质
US11201955B1 (en) 2019-12-23 2021-12-14 Lacework Inc. Agent networking in a containerized environment
US11256759B1 (en) 2019-12-23 2022-02-22 Lacework Inc. Hierarchical graph analysis
US11777758B2 (en) 2019-12-31 2023-10-03 Johnson Controls Tyco IP Holdings LLP Building data platform with external twin synchronization
US11894944B2 (en) 2019-12-31 2024-02-06 Johnson Controls Tyco IP Holdings LLP Building data platform with an enrichment loop
US12021650B2 (en) 2019-12-31 2024-06-25 Tyco Fire & Security Gmbh Building data platform with event subscriptions
CN111432210B (zh) * 2020-04-30 2021-10-19 中山大学 一种基于填充的点云属性压缩方法
US11589195B2 (en) 2020-08-20 2023-02-21 Ip Co, Llc Asset tracking systems and methods
US11881219B2 (en) 2020-09-28 2024-01-23 Hill-Rom Services, Inc. Voice control in a healthcare facility
US20230048373A1 (en) * 2021-08-10 2023-02-16 Palo Alto Research Center Incorporated Interacting with machines using natural language input and an enhanced state graph
US12093293B2 (en) * 2022-02-28 2024-09-17 International Business Machines Corporation Synchronizing a sensor network and an ontology

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579440A (en) 1993-11-22 1996-11-26 Brown; Robert A. Machine that learns what it actually does
CN1209724A (zh) 1995-09-11 1999-03-03 佩托希德公司 含有polima CMS细胞质和在高温和低温下雄性不育的细胞质雄性不育甘蓝植物
US6714899B2 (en) 1998-09-28 2004-03-30 Aspen Technology, Inc. Robust steady-state target calculation for model predictive control
CN1209724C (zh) 2003-08-04 2005-07-06 西安交通大学 基于概率模型的设备状态动态自适应报警方法
JP4550882B2 (ja) 2004-11-25 2010-09-22 シャープ株式会社 情報分類装置、情報分類方法、情報分類プログラム、情報分類システム
EP2328131B1 (en) 2005-03-25 2012-10-10 Sensormatic Electronics LLC Intelligent camera selection and object tracking
US7925995B2 (en) 2005-06-30 2011-04-12 Microsoft Corporation Integration of location logs, GPS signals, and spatial resources for identifying user activities, goals, and context
JP2007271876A (ja) * 2006-03-31 2007-10-18 Denso Corp 音声認識装置および音声認識用のプログラム
US8244858B2 (en) 2008-11-21 2012-08-14 The Invention Science Fund I, Llc Action execution based on user modified hypothesis
JP5322833B2 (ja) * 2009-08-06 2013-10-23 三菱電機株式会社 照明制御装置、照明制御方法、照明制御プログラムおよび照度算出装置
JP5440053B2 (ja) 2009-09-14 2014-03-12 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピューター・プログラム
US8515763B2 (en) * 2009-11-24 2013-08-20 Honeywell International Inc. Methods and systems for utilizing voice commands onboard an aircraft
US8346795B2 (en) * 2010-03-10 2013-01-01 Xerox Corporation System and method for guiding entity-based searching
JP6110844B2 (ja) * 2011-04-19 2017-04-05 フィリップス ライティング ホールディング ビー ヴィ 照明変更/最適化システム
US8996429B1 (en) 2011-05-06 2015-03-31 Google Inc. Methods and systems for robot personality development
US8949668B2 (en) 2011-05-23 2015-02-03 The Boeing Company Methods and systems for use in identifying abnormal behavior in a control system including independent comparisons to user policies and an event correlation model
US20130073293A1 (en) * 2011-09-20 2013-03-21 Lg Electronics Inc. Electronic device and method for controlling the same
US8572107B2 (en) 2011-12-09 2013-10-29 International Business Machines Corporation Identifying inconsistencies in object similarities from multiple information sources
US9734839B1 (en) * 2012-06-20 2017-08-15 Amazon Technologies, Inc. Routing natural language commands to the appropriate applications
JP5727421B2 (ja) * 2012-07-20 2015-06-03 日本電信電話株式会社 関連ノード検索装置、関連ノード検索方法、及びプログラム
US8831957B2 (en) * 2012-08-01 2014-09-09 Google Inc. Speech recognition models based on location indicia
CN103825920A (zh) 2012-11-19 2014-05-28 北京航天长峰科技工业集团有限公司 基于物联网的警用装备管理方法
WO2014130568A1 (en) 2013-02-19 2014-08-28 Interdigital Patent Holdings, Inc. Information modeling for the future internet of things
JP2014217232A (ja) * 2013-04-26 2014-11-17 東芝ライテック株式会社 制御システム
CN103327080B (zh) 2013-06-04 2016-08-10 北京大学 创建物联网控制系统的方法及装置
US9871865B2 (en) 2013-07-11 2018-01-16 Neura, Inc. Physical environment profiling through internet of things integration platform
US9305554B2 (en) * 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
US10177933B2 (en) * 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US9645575B2 (en) 2013-11-27 2017-05-09 Adept Ai Systems Inc. Method and apparatus for artificially intelligent model-based control of dynamic processes using probabilistic agents
US9837075B2 (en) * 2014-02-10 2017-12-05 Mitsubishi Electric Research Laboratories, Inc. Statistical voice dialog system and method
US9195669B2 (en) 2014-02-26 2015-11-24 Iboss, Inc. Detecting and managing abnormal data behavior
US9431021B1 (en) * 2014-03-27 2016-08-30 Amazon Technologies, Inc. Device grouping for audio based interactivity
US20160004501A1 (en) * 2014-07-01 2016-01-07 Honeywell International Inc. Audio command intent determination system and method
US10304123B2 (en) * 2014-09-08 2019-05-28 Leeo, Inc. Environmental monitoring device with event-driven service
US20160085248A1 (en) * 2014-09-19 2016-03-24 Google Inc. Conditioning an indoor environment
US9497572B2 (en) * 2014-11-21 2016-11-15 Afero, Inc. Internet of things platforms, apparatuses, and methods
US10204310B2 (en) 2015-01-16 2019-02-12 Txu Energy Retail Company Llc System and method for home automation
US20160217674A1 (en) 2015-01-26 2016-07-28 Trane International Inc. Remote monitoring of an hvac system for fault detection and diagnostics
US10270609B2 (en) * 2015-02-24 2019-04-23 BrainofT Inc. Automatically learning and controlling connected devices
US10677484B2 (en) 2015-05-04 2020-06-09 Johnson Controls Technology Company User control device and multi-function home control system
JP2016220174A (ja) 2015-05-26 2016-12-22 株式会社東芝 家電制御方法及び家電制御装置
US20160358065A1 (en) 2015-06-05 2016-12-08 Microsoft Technology Licensing, Llc Personally Impactful Changes To Events of Users
US10169662B2 (en) 2015-06-15 2019-01-01 Google Llc Remote biometric monitoring system
EP3350734A4 (en) 2015-09-15 2019-06-05 Commonwealth Scientific and Industrial Research Organisation MONITORING OF ACTIVITY
US10419540B2 (en) * 2015-10-05 2019-09-17 Microsoft Technology Licensing, Llc Architecture for internet of things
US10304444B2 (en) * 2016-03-23 2019-05-28 Amazon Technologies, Inc. Fine-grained natural language understanding
US10607147B2 (en) 2016-06-15 2020-03-31 Arm Limited Estimating a number of occupants in a region
US10721307B2 (en) 2017-03-30 2020-07-21 Intel Corporation Configurable context aware sensors in IoT smart spaces

Also Published As

Publication number Publication date
WO2018093463A1 (en) 2018-05-24
US10535349B2 (en) 2020-01-14
US10157613B2 (en) 2018-12-18
US20180137858A1 (en) 2018-05-17
US20190074011A1 (en) 2019-03-07
JP2020503715A (ja) 2020-01-30

Similar Documents

Publication Publication Date Title
JP6921950B2 (ja) 関係グラフを用いた接続デバイスの制御
JP6858260B2 (ja) インタラクティブ環境コントローラ
US20210160326A1 (en) Utilizing context information of environment component regions for event/activity prediction
US11050577B2 (en) Automatically learning and controlling connected devices
US9869484B2 (en) Predictively controlling an environmental control system
US10605470B1 (en) Controlling connected devices using an optimization function
US10302499B2 (en) Adaptive threshold manipulation for movement detecting sensors
US9857238B2 (en) Thermodynamic model generation and implementation using observed HVAC and/or enclosure characteristics
US20160201933A1 (en) Predictively controlling an environmental control system
KR102213752B1 (ko) 구조의 열역학 모델들의 생성 및 구현
US20170082987A1 (en) Crowd-based device trust establishment in a connected environment
US9524635B2 (en) Smart-home household policy implementations for facilitating occupant progress toward a goal
EP3266189B1 (en) Generation and implementation of household policies for the smart home
JP2021518004A (ja) 事象/活動予測のための環境コンポーネント領域のコンテキスト情報の利用
JP6440666B2 (ja) 環境イベントタスクマネージャに関するシステム及び方法
WO2024188939A1 (en) A controller for selecting machine learning models from an ensemble of models and a method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210728

R150 Certificate of patent or registration of utility model

Ref document number: 6921950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150