(57)【要約】一実施形態では、ホームオートメーションシステムの音声制御のための履歴ベースのキーフレーズの提案が提供される。ホストコントローラは、イベントの履歴を維持する履歴データベースを構築し、その各イベントは、ホームオートメーションシステムにより起動された１つ以上のサービス、該ホームオートメーションシステムにより起動された１つ以上のシーン、又は該ホームオートメーションシステムにより提示された１つ以上のタイプのメディアコンテンツを示すものである。ホストコントローラ上の予測プロセスは、ホームオートメーションシステムの現在の状態に基づいて履歴データベースの複数のイベントのサブセットを選択して予測データセットを生成する。リモコン又はモバイルデバイス上の文法プロセスは、該予測データセットに基づいて、音声認識エンジンにより使用されるリストから１つ以上の意図を選択する。各意図は、アクションと対をなすキーフレーズを含む。音声ユーザインタフェイス（UI）プロセスは、選択された１つ以上の意図からのキーフレーズをリモコン又はモバイルデバイス上の音声制御UIにおいて提案する。【選択図】図３
2018531404.tif 000002
【特許請求の範囲】
【請求項１】
ホームオートメーションシステムの音声制御のための履歴ベースのキーフレーズの提案を提供する方法であって、
該ホームオートメーションシステムで発生したイベントを維持する履歴データベースを記憶装置上に構築し、その各イベントが、起動された１つ以上のサービス、起動された１つ以上のシーン、又は該ホームオートメーションシステムにより提示された１つ以上のタイプのメディアコンテンツを示すものであり、
該ホームオートメーションシステムの現在の状態に基づいて前記履歴データベースの前記イベントのサブセットを選択して予測データセットを生成し、
該予測データセットに基づいて意図リストから１つ以上の意図を選択し、その各意図が、音声認識エンジンにより認識されるキーフレーズであって、該キーフレーズに応じて実行されるアクションと対をなす、キーフレーズを含み、
現在のユーザに対し、該ホームオートメーションシステムのリモコン又はモバイルデバイス上のユーザインタフェイスにおいて、前記選択された１つ以上の意図からのキーフレーズをキーフレーズの提案として表示する、
ホームオートメーションシステムの音声制御のための履歴ベースのキーフレーズの提案を提供する方法。
【請求項２】
前記履歴データベース内の各イベントが時間に関連し、前記ホームオートメーションシステムの現在の状態が現在の時間を含み、前記選択が、該現在の時間と各イベントの時間との比較に基づいて行われる、請求項１に記載の方法。 。
【請求項３】
前記現在の時間が、現在の時刻と現在の曜日とを含み、前記比較が、現在の曜日と同じ曜日に発生した前記履歴データベース内のイベントを、任意の曜日の現在の時刻を包含する時間窓で、又は現在の曜日と同じ曜日の現在の時刻を包含する時間窓で、決定する、請求項２に記載の方法。
【請求項４】
前記予測データセットが、スコアが付与された予測データセットであり、前記選択が、様々なタイプのイベントの頻度を決定し、及び該頻度に少なくとも部分的に基づいて該様々なタイプのイベントにスコアを付与することを更に含む、請求項１に記載の方法。
【請求項５】
前記選択が、各イベントの時間と所与の時間窓との比較に少なくとも部分的に基づいて行われ、前記スコアの付与が、該時間窓の長さに基づいて行われ、より短い時間窓は、より長い時間窓よりも高いスコアを生じさせるものとなる、請求項４に記載の方法。
【請求項６】
前記スコアの付与が、前記イベントのタイプに基づく因子により調整され、より具体性の高いユーザアクションを示すイベントのタイプが、より具体性の低いユーザアクションを示すイベントよりも高いスコアを受容する、請求項４に記載の方法。
【請求項７】
前記ホームオートメーションシステムのコンフィギュレーション情報、該ホームオートメーションシステムにおいて定義されたユーザコンテンツ、又は該ホームオートメーションシステムのシステム状態のうちの少なくとも１つに基づいて前記意図リストを動的に生成することを更に含む、請求項１に記載の方法。
【請求項８】
現在のユーザ又は制御されている部屋に基づいて前記意図リストを動的に生成することを更に含む、請求項１に記載の方法。
【請求項９】
ネットワークを介して前記リモコン又は前記モバイルデバイスと通信可能な状態にあるホストコントローラ上に前記履歴データベースを格納することを更に含む、請求項１に記載の方法。
【請求項１０】
前記意図リストが、１つ以上のサービス意図を含み、該サービス意図のアクションが、その実行時に所与の部屋内の１つ以上のサービスを起動する、請求項１に記載の方法。
【請求項１１】
前記意図リストが、１つ以上のシーン意図を含み、該シーン意図のアクションが、その実行時に１つ以上のシーンを起動する、請求項１に記載の方法。
【請求項１２】
前記意図リストが、１つ以上のお気に入り意図を含み、該お気に入り意図のアクションが、その実行時に前記現在のユーザに関連付けられた１つ以上のタイプのメディアコンテンツを提示する、請求項１に記載の方法。
【請求項１３】
前記リモコン又は前記モバイルデバイスのマイクからのスピーチ入力を前記音声認識エンジンで受信し、
該音声認識エンジンにより該スピーチ入力を前記意図リストの前記キーフレーズと比較して一致する意図を見出し、
該一致する意図に関連付けられたアクションをトリガする
ことを更に含む、請求項１に記載の方法。
【請求項１４】
前記アクションが、前記ホームオートメーションシステムにおいて、１つ以上のサービスを起動し、１つ以上のシーンを起動し、又は１つ以上のタイプのメディアコンテンツを提示する、システムアクションである、請求項１３に記載の方法。
【請求項１５】
前記アクションが、ホームオートメーションシステム制御UIの１つ以上の態様を制御するユーザインターフェース（UI）アクションである、請求項１３に記載の方法。
【請求項１６】
音声制御のための履歴ベースのキーフレーズの提案を提供するホームオートメーションシステムであって、
ホームオートメーションを提供するために建造物内の１つ以上のオーディオ／ビデオ（A/V）装置、照明装置、冷暖房空調（HVAC）装置、又はセキュリティ装置を制御するように接続され構成されたホストコントローラであって、
前記建造物内で発生したイベントを維持する履歴データベースを構築するホストアクティビティ記録ソフトウェアであって、その各イベントが、起動された１つ以上のサービス、起動された１つ以上のシーン、又は提示された１つ以上のタイプのメディアコンテンツを示す、ホストアクティビティ記録ソフトウェアと、
前記ホームオートメーションシステムの現在の状態に基づいて前記履歴データベースの前記イベントのサブセットを選択して予測データセットを生成するよう構成された予測プロセスとを含む、ホストコントローラと、
ネットワークを介して該ホストコントローラと通信可能な状態にあるリモコン又はモバイルデバイスであって、
音声認識エンジンと、
前記予測データセットに基づいて意図リストから１つ以上の意図を選択するよう構成された音声提案ソフトウェアであって、その各意図が、前記音声認識エンジンにより認識されるキーフレーズを含み、該キーフレーズが、該キーフレーズに応じて実行されるアクションと対をなし、及び、該ホームオートメーションシステムの現在のユーザに対して、該リモコン又は該モバイルデバイスの画面上に、前記選択された１つ以上の意図からのキーフレーズをキーフレーズの提案として表示するよう構成されている、音声提案ソフトウェアとを含む、リモコン又はモバイルデバイスと
を備えている、音声制御のための履歴ベースのキーフレーズの提案を提供するホームオートメーションシステム。
【請求項１７】
前記イベントの前記履歴における各イベントが、少なくとも該イベントに関する時間の指示を含み、前記ホームオートメーションシステムの前記現在の状態が現在の時間を含み、前記選択が、各イベントの時間と該現在の時間との比較に基づいて行われる、請求項１６に記載のホームオートメーションシステム。
【請求項１８】
前記音声提案ソフトウェアが、前記ホームオートメーションシステムのコンフィギュレーション情報、該ホームオートメーションにおいて定義されたユーザーコンテンツ、又は該ホームオートメーションシステムのシステム状態のうちの少なくとも１つに基づいて前記意図リストを動的に生成するよう構成された文法プロセスを含む、請求項１６に記載のホームオートメーションシステム。
【請求項１９】
前記音声提案ソフトウェアが、現在のユーザ又は制御されている部屋に基づいて前記意図リストを動的に生成するよう構成された文法プロセスを含む、請求項１６に記載のホームオートメーションシステム。
【請求項２０】
前記音声認識エンジンが、前記リモコン又は前記モバイルデバイスのマイクからスピーチ入力を受信し、該スピーチ入力を前記意図リストのキーフレーズと比較して一致する意図を見出し、及び該一致する意図に関連付けられたアクションをトリガするよう構成された認識プロセスを含む、請求項１６に記載のホームオートメーションシステム。
【請求項２１】
ソフトウェアを格納した非一時的な電子デバイス読み取り可能媒体であって、該ソフトウェアが、１つ以上のプロセッサ上で実行された際に、
現在の時間に関連する以前の時間にホームオートメーションシステムで発生したイベントを含む予測データセットを受信し、その各イベントが、該ホームオートメーションシステムにより起動された１つ以上のサービス、該ホームオートメーションシステムにより起動された１つ以上のシーン、又は該ホームオートメーションシステムにより提示された１つ以上のタイプのメディアコンテンツを示すものであり、
該ホームオートメーションシステムの音声認識エンジンにより使用されるキーフレーズのリストから１つ以上のキーフレーズを前記予測データセットに基づいて選択し、
前記選択された１つ以上のキーフレーズを１つ以上のキーフレーズの提案としてユーザに対して表示し、
該１つ以上のキーフレーズの選択肢のうちの１つに対応するユーザからのスピーチ入力を受信し、
該スピーチ入力を前記音声認識エンジンにより使用されるキーフレーズのリストと比較して一致を見出し、
該一致したキーフレーズに関連付けられたアクションをトリガし、該アクションが、該ホームオートメーションシステムにおいて、１つ以上のサービスを起動し、１つ以上のシーンを起動し、又は１つ以上のタイプのメディアコンテンツを提示する、
ソフトウェアを格納した非一時的な電子デバイス読み取り可能媒体。
【請求項２２】
前記キーフレーズのリストが、意図リストの一部であり、その各意図が、キーフレーズと該キーフレーズに応じて実行されるアクションとを対にし、１つ以上のキーフレーズの前記選択が、１つ以上の意図の選択を含む、請求項２１に記載の非一時的な電子デバイス読み取り可能媒体。
【請求項２３】
前記ソフトウェアが、前記１つ以上のプロセッサ上で実行された際に、
前記ホームオートメーションシステムのコンフィギュレーション情報、該ホームオートメーションシステムにおいて定義されたユーザコンテンツ、又は該ホームオートメーションシステムのシステム状態のうちの少なくとも１つに基づいて意図リストを動的に生成する
よう更に動作する、請求項２１に記載の非一時的な電子デバイス読み取り可能媒体。
【請求項２４】
前記ソフトウェアが、前記１つ以上のプロセッサ上で実行された際に、
現在のユーザまたは制御されている部屋に基づいて意図リストを動的に生成する
よう更に動作する、請求項２１に記載の非一時的な電子デバイス読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にホームオートメーションシステムに関し、特にホームオートメーションシステムの音声制御に関するものである。
【背景技術】
【０００２】
ホームオートメーションシステムは、住宅及び商業ビルの両方で次第に一般的なものとなってきている。かかるシステムは、照明装置、セキュリティ装置、オーディオ／ビデオ（A/V）装置、冷暖房空調（HVAC）装置、及び／又はその他のタイプの装置といった広範な複数の装置を制御し、それら装置間でデータを交換し、及びその他の態様でそれら装置と相互作用することが可能である。従来、ホームオートメーションシステムは、様々なタイプのボタンを中心とした制御又はタッチスクリーンベースの制御を提供してきた。より最近では、音声制御を提供することが施行されてきた。しかし、音声制御の様々な制約が、ホームオートメーションシステムにおけるその広範な採用の妨げとなり、音声制御は、ボタンを中心とした制御又はタッチスクリーンベースの制御の直接的な代替策というよりも単に珍しいものとなってしまった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
音声制御に関する１つの問題は、ユーザが所望の結果を生じさせるために何と言ったら良いか分からないことが多いことである。多くの音声認識システムは、制御動作にそれぞれマッピングされた限られた数のキーフレーズ（キーフレーズの辞書）しか理解しないように構成される。所定のアクションをトリガするために、ユーザは、該辞書中の複数のキーフレーズのうちの１つを言わなければならない。ユーザは、最初にユーザマニュアル、チュートリアル、又はその他の類のトレーニング資料を介してキーフレーズを学習する。しかし、時間の経過と共に、ユーザは、特定の所望のアクションのためのキーフレーズを忘れ、ホームオートメーションシステムを所望の態様で応答させることができずに不満を抱く可能性がある。この問題に対処すべく、ホームオートメーションシステムによっては、全てのキーフレーズのオンデマンドリストを提供するよう構成されたものがある。しかし、ユーザが現在行おうとしていることとは殆ど無関係の他のキーフレーズのリスト中に該ユーザの現在の希望に関する情報が埋め込まれた辞書全体の表示は、該ユーザを圧倒するものとなる場合が多い。
【課題を解決するための手段】
【０００４】
したがって、ホームオートメーションシステムにおいて音声制御を実施するための改善された技術が必要とされている。
【図面の簡単な説明】
【０００５】
【図１】建造物に関する複数の装置を制御するよう動作することが可能なホームオートメーションシステムの例示的なアーキテクチャを示すブロック図である。
【図２】ホームオートメーションシステムにおける履歴的なアクティビティを履歴データベース内にイベントとして維持することが可能なホストアクティビティ記録ソフトウェアを含む例示的なホストソフトウェアを示すブロック図である。
【図３】リモコン又はモバイルデバイス上で実行することが可能な音声認識エンジンを含む例示的なアプリケーションを示すブロック図である。
【図４】動的に構築することが可能な例示的な意図リストのキーフレーズの例示的なリストである。
【図５】プリケーションの例示的な音声認識ソフトウェア及びホストソフトウェアの予測プロセスを示すブロック図である。
【図６】リモコン又はモバイルデバイス上に表示することが可能な例示的な音声制御UIのスクリーンショットである。
【図７】履歴ベースのキーフレーズの提案を提供するために実施することが可能な一連のステップを示すフローチャートである。
【発明を実施するための形態】
【０００６】
音声制御ユーザインタフェイス（UI）において履歴ベースのキーフレーズの提案を提供することによりホームオートメーションシステムにおける音声制御を改善するための例示的な技術を提供する。かかるキーフレーズの提案は、ユーザの履歴的な使用パターンを考慮して適切であり得るスピーチ入力に関してユーザに促すことが可能である。キーフレーズの提案は、大量の情報でユーザを圧倒しないように、限られた数の提案とすることが可能である。
【０００７】
例示的な一実施形態では、ホストコントローラ上のホストアクティビティ記録ソフトウェアは、ホームオートメーションシステムで発生したイベントを維持する履歴データベースを構築することが可能である。各イベントは、起動された１つ以上のサービス、起動された１以上のシーン、提示された１つ以上のタイプのメディアコンテンツ、又は他の履歴情報を示すことが可能である。ホームオートメーションシステムのホストコントローラ上の予測プロセスは、ホームオートメーションシステムの現在の状態（例えば、時間）に基づいて履歴データベースからイベントのサブセットを選択して予測データセットを生成することが可能である。例えば、該予測プロセスは、現在の曜日と同じ曜日に発生した履歴データベース内のイベントを、任意の曜日の現在の時刻を含む時間窓、又は現在の曜日と同じ曜日の現在の時刻を含む時間窓において選択することが可能である。リモコン又はモバイルデバイス上の音声提案ソフトウェアは、前記予測データセットに基づいて意図リストから１つ以上の意図を選択することが可能であり、その各意図は、音声認識エンジンにより認識されたキーフレーズであって、該キーフレーズに応じてホームオートメーションシステムで実行されたアクションと対をなすキーフレーズを含む。該音声提案ソフトウェアは、１つ以上の選択された意図からのキーフレーズをキーフレーズの提案として提示する音声制御UIをリモコン又はモバイルデバイスの画面上に表示することが可能である。かかる催促に応じてユーザはキーフレーズを話すことが可能である。このユーザからのスピーチ入力が与えられると、リモコン又はモバイルデバイス上の音声認識エンジンは、該スピーチ入力を意図リストのキーフレーズと比較して一致する意図を見出し、該一致する意図に関連付けられたアクションをトリガすることが可能である。
【０００８】
上述したもの以外の様々な追加の特徴及び代替的な実施形態を実施することが可能であることを理解されたい。上記説明は、単に簡単な序論を意図したものであり、本書で説明する実施形態が本開示の全ての側面をカバーすること又は本開示の必要不可欠な態様であることを示し又は示唆するものではない。
●定義
本書で用いる場合、用語「ホームオートメーションシステム」は、様々なタイプのホーム制御、「スマートホーム」、及び／又は、住居又は商業ビルといった建造物内の装置（例えば、照明装置、セキュリティ装置、A/V装置、HVAC装置、電子ドアロック、及び／又はその他のタイプの装置）を制御することが可能な装置制御システムを包含するものとして広範に解釈されるべきである。ホームオートメーションシステムは、様々な異なるタイプの装置、又は特定のタイプの装置のみ（例えば、照明デバイスのみ、A/V装置のみなど）を制御することが可能である。
【０００９】
本書で用いる場合、用語「モバイルデバイス」とは、汎用オペレーティングシステムを実行し及び身に着けて搬送するのに適した電子的な装置を指す。スマートフォンやタブレットコンピュータ等のデバイスは、モバイルデバイスと見なすべきものである。デスクトップコンピュータ、サーバー、又はその他の主として固定されるコンピューティングデバイスは、一般にモバイルデバイスと見なすべきものではない。
【００１０】
本書で使いる場合、用語「サービス」とは、ホームオートメーションシステムにより提供されるアクティビティを指し、該アクティビティは、該ホームオートメーションシステムの１つ以上の装置間の対話を含む。１つのサービスは、複数のコマンドのリストを定義することが可能であるが、必ずしもそうである必要はない。
【００１１】
本書で用いる場合、用語「シーン」とは、起動された際に、ホームオートメーションシステムの１つ以上の装置を所定の態様で制御する、一組の命令を指す。１つのシーンは、ホームオートメーションシステムの初期設定中に定義することが可能であるが、必ずしもそうである必要はない。
【００１２】
本書で用いる場合、用語「メディアコンテンツ」とは、記録され、放送され、及び／又はストリーミングされるオーディオ及び／又はビデオを指す。メディアコンテンツは、ケーブル又は衛星テレビ局、ストリーミング又はブロードキャストラジオ局、格納された映画又はテレビ番組、格納された音楽などを含むことが可能である。
【００１３】
本書で用いる場合、用語「意図」とは、音声認識エンジンにより認識されるキーフレーズと該キーフレーズに応じて実行されるアクションとの間の関係を格納することができるデータ構造を指す。
●ホームオートメーションシステムの一実施形態
図１は、建造物（例えば、住居又は商業ビル）に関して複数の装置を制御するよう動作することが可能なホームオートメーションシステムの例示的なアーキテクチャ100を示すブロック図である。該システムの中心には、家庭内ローカルエリアネットワーク（LAN）（例えば、Wi-Fiネットワーク）150に接続されたホストコントローラ110が存在する。該ホストコントローラは、プロセッサ、メモリ、記憶装置等のハードウェア要素を含み、該ハードウェア要素は、ホストソフトウェア111を包括的に格納し及び実行し、該ホストソフトウェア111は、装置112-122の動作の制御を監視し、並びにUI解釈、システム管理及び監視、クラウドサービス180及びモバイルデバイス160との同期、アクティビティの記録、アクティビティの予測、及びその他のタイプの機能を提供するよう構成される。
【００１４】
ホストコントローラ110は、その記憶装置にホームデータベース130を維持することが可能であり、該ホームデータベース130は、ホームオートメーションシステムが提供するよう構成されたサービス、ホームオートメーションシステムのユーザのために設定されたシーン等のユーザコンテンツ、ホームオートメーションシステムのユーザに関連付けられたメディアコンテンツ（例えば、お気に入り）、ホームオートメーションシステムの現在の状態を示すシステム状態情報、並びにその他のタイプのデータを含むコンフィギュレーション情報を格納する。該ホームデータベース130は更に、ホームオートメーションシステムにおける過去に行われたアクティビティの記録を維持することが可能である。ホームデータベースのかかる部分は、履歴データベース132と称することが可能である。特定の代替的な実施形態では、該履歴データベース132は、ホームデータベース130の一部ではなく別個のデータベースとすることが可能であり、及びホストコントローラ110の記憶装置内に維持すること、クラウドサービス180により維持すること、又はその他の場所に維持することが可能である、ということが理解されよう。
【００１５】
ホームオートメーションシステムの装置112-122は、照明コントローラ、ランプモジュール、調光モジュール、スイッチ、キーパッド、ファンコントローラ等の照明装置112、ホームモニタ／カメラ、モーションセンサ、ホームヘルスケアセンサ、関連コントローラ等のセキュリティ装置114、A/V装置コントローラ、赤外線（IR）ブラスタ、マトリクススイッチャ、メディアサーバ、オーディオアンプ、ケーブルTV用チューナ等のオーディオ装置116及びビデオ装置118（包括的にA/V装置と称す）、電子ドアロック120及びその他のタイプのモータ又はリレー作動式装置、サーモスタット等のHVAC装置122、並びにその他のタイプの装置を含むことが可能である。
【００１６】
実施態様に応じて、ホームオートメーションシステムの装置112-122の通信能力は変化し得る。例えば、該装置の少なくとも幾つかは、それら装置が家庭内LAN150を介してホストコントローラ110及び他の装置と通信することを可能にするLANインタフェイスを含むことが可能である。同様に、その他の装置は、有線通信又は二点間無線通信のためのポート又は送受信器（例えば、RS-232ポート、赤外線（IR）送受信器、リレー制御ポート、汎用入出力（GPIO）ポートなど）のみを有し、かかるポートを使用してホストコントローラ110及びその他の装置と通信することが可能である。更に、装置によっては、LANインタフェイス（例えば、Wi-Fiインタフェイス）を含み、家庭内LAN150を介してホストコントローラ110と直接通信するようには構成されず、最初にインターネット170及びサードパーティインフラストラクチャ190を介してクラウドサービス180と通信することが可能である。図１では、HVAC装置122は、上述のようにして通信することができる特定のタイプの装置の一例として示されているが、他のタイプの装置112-122が代替的にこの通信方法を用いることが可能である（逆も又同様）ことが理解されよう。
【００１７】
ユーザは、リモコン140を使用してホームオートメーションシステムを制御することが可能であり、該リモコン140は、家庭内LAN150（例えば、Wi-Fi）を介してホストコントローラ110と通信し、又は（例えば、IR又は無線周波数RF信号により）該ホストコントローラ110と直接通信する。リモコン140は、プロセッサ、メモリ、及び記憶装置といったハードウェア要素を含むことが可能であり、該ハードウェア要素は、ホストコントローラ110及びクラウドサービス180とインタフェイスするよう構成されたソフトウェア（例えば、アプリケーション（app））を格納し及び実行し、ホームオートメーション制御UI（音声制御UIを含む）を生成し及び表示し、並びに数ある機能の中でも特に（例えば、音声認識エンジンを使用して）ユーザのスピーチ入力を認識することが可能である。リモコン140は、他の構成要素の中でも特に、ホームオートメーション制御UI（音声制御UIを含む）を表示するための表示画面（例えば、タッチスクリーン）と、ユーザのスピーチ入力を受信するためのマイクとを更に含むことが可能である。
【００１８】
ユーザは更に、家庭内LAN150を介してホストコントローラ110と通信し、又はインターネット170へのモバイルデータ接続を使用する、モバイルデバイス160を使用してホームオートメーションシステムを制御することが可能である。該モバイルデバイス160は、プロセッサ、メモリ、及び記憶装置といったハードウェア要素を含むことが可能であり、該ハードウェア要素は、ホストコントローラ110及び／又はクラウドサービス180とインタフェイスするよう構成されたアプリケーション162（例えば、モバイルアプリケーション）を格納し及び実行し、ホームオートメーション制御UI（音声制御UIを含む）を生成し及び表示し、並びに他の機能の中でも特に（例えば、音声認識エンジンを使用して）ユーザのスピーチ入力を認識する。モバイルデバイス160は更に、他の構成要素の中でも特に、ホームオートメーション制御UI（音声制御UIを含む）を表示するための表示画面（例えば、タッチスクリーン）と、ユーザのスピーチ入力を受信するためのマイクとを含むことが可能である。
【００１９】
ホストコントローラ110及びモバイルデバイス160は、インターネット170を介してクラウドサービス180及びホストアプリケーションプログラムインタフェイス（API）182及びモバイルAPI184と通信することが可能である。クラウドサービス180は、数ある機能の中でもとりわけ、ホームオートメーション制御へのリモートアクセス、（コンフィギュレーションデータベース186内にデータを格納する）ホームデータベース130の恒常的なバックアップ、（サードパーティアダプタ188を介した）サードパーティインフラストラクチャへのインタフェイス、（ユーザデータベース189内にデータを格納する）ユーザプロファイル及び使用状態の追跡、無線更新用のメカニズム、ホストクラッシュレポート、及びライセンス管理を提供する。
●アクティビティの記録
図２は、ホストアクティビティ記録ソフトウェア200を含む例示的なホストソフトウェア111を示すブロック図であり、該ホストアクティビティ記録ソフトウェア200は、ホームオートメーションシステムにおいて過去に行われたアクティビティの記録を履歴データベース132内にイベントとして維持することが可能である。該ホストアクティビティ記録ソフトウェア200は、起動されたサービス、起動されたシーン、ホームオートメーションシステムにより提示されたメディアコンテンツなどに関するメッセージを（例えば、ホストコントローラ110上の）他のソフトウェアからプロセス間通信（IPC）を介して受信するアクティビティプロセス210を含むことが可能である。該アクティビティプロセス210は、かかるメッセージをメッセージルータプロセス220に渡すことが可能である。アクティビティプロセス210は、ホームオートメーションシステムにおけるアクティビティに関する要求に対する応答を、該メッセージルータプロセス220から受信することが可能である。アクティビティプロセス210は、かかる応答を、以下で更に説明する予測プロセスのような他のソフトウェアに渡すことが可能である。
【００２０】
メッセージルータプロセス220は、アクティビティプロセス210からイベント230へのメッセージの変換、イベント230のレコーダインタフェイス250へのルーティング、及び要求に対する応答のアクティビティプロセス210へのルーティングを含む、いくつかの機能を実行する。イベント230は、起動されたサービス、起動されたシーン、提示されたメディアコンテンツのタイプなどを含むホームオートメーションシステムで過去に行われたアクティビティを記述する情報を維持するオブジェクトである。各イベント230は、イベントをトリガしたユーザを示すユーザプロパティ、イベントのタイプを記述するタイププロパティ、同様のタイプのイベントをまとめてグループ化するグループキー、起動されたサービスを記述するサービスプロパティ（又はイベントがサービスを含まない場合にはゼロ（null）、イベントが発生した時刻（曜日や時刻を含む）を示す時間プロパティ、及び追加情報を格納する引数（arguments）プロパティを含むことが可能である。
【００２１】
要求240は、レコーダ260-270から入手することが可能なホームオートメーションシステムにおけるアクティビティに関するクライアントプロセスからのデータについてのクエリを表すオブジェクトである。要求240を発行することができる１つのクライアントプロセスは、以下に一層詳細に説明する予測プロセスである。
【００２２】
レコーダインタフェイス250は、数ある用途の中でもとりわけ、イベント230及び要求240を受容するフィードプロセス260及び履歴プロセス270などのレコーダプロセスに対するインタフェイスを提供することが可能である。該フィードプロセス260は、ホームオートメーションシステムにおけるイベント230の簡単な履歴を提供してこれをクラウドサービス180に渡すアクティビティフィードを生成することが可能である。履歴プロセス270は、イベント230を履歴データベース132に格納して、ユーザ、タイプ、グループキー、サービス、時間、及び引数を含む特性のログを生成することが可能である。
●音声制御
上述のように、ホームオートメーションシステムは、スピーチ入力に応じてそれに対応するユーザインタフェイスアクションがトリガされるように、その音声制御を行うことが可能である。かかる音声制御は、ホームオートメーションシステムにおけるアクション（例えば、サービスの起動、シーンの起動、メディアコンテンツの提示など）にそれぞれ関連づけされた限定された数のキーフレーズを認識するよう構成された音声認識エンジンにより実施することが可能である。
【００２３】
図３は、リモコン140又はモバイルデバイス160上で実行することが可能な音声認識エンジン300を含む例示的なアプリケーション162を示すブロック図である。音声認識エンジン300は、様々な異なる機能を実行する文法プロセス310を含むことが可能である。該文法プロセス310の１つの機能は、（例えば、意図ルックアップテーブルとして構築される）意図リスト320の構築とすることが可能である。各意図は、音声認識エンジンにより認識されるキーフレーズであって、該キーフレーズに応じてホームオートメーションシステムにより実行されるアクションと対をなす、キーフレーズを含む。該アクションは、ホームオートメーションシステム制御UIの１つ以上の態様を制御するUIアクション370、及びホームオートメーションシステムのサービス、シーン、メディアコンテンツ、又はその他の操作を制御するシステムアクション380を含むことが可能である。意図リスト320は、ホームデータベース130から取得したデータを使用して動的に構築することが可能である。該データは、ホームオートメーションシステムが提供するよう構成されたサービスの指示などのコンフィギュレーション情報330、ホームオートメーションシステムで定義されたシーン又はユーザに関連付けられたメディアコンテンツ（例えば、お気に入り）などのユーザコンテンツ340、及びアクティブなサービスの指示などのシステム状態350を含むことが可能である。該動的な構築は、現在のユーザの身元（identity）、及び（例えば、特定の部屋といったリモコン140又ははモバイル機器160の動的に決定された場所に基づいて、又は特定の部屋にリモコン140又はモバイルデバイス160が固定されていることに基づいて）該ユーザが位置している建造物の部屋に合わせて行うことが可能である。該動的な構築は、現在のコンフィギュレーション情報330、ユーザコンテンツ340、システム状態350、並びにユーザ及び部屋に関する意図をリストに追加する一方、該当しない意図（例えば、部屋内で現在設定されていないサービスに関する意図、部屋内で定義されていないシーンに関する意図、現在のユーザのお気に入りではないユーザコンテンツに関する意図、現在のシステム状態以外の動作状態に関する意図など）を省略することが可能である。文法プロセス310は、コンフィギュレーション情報330、ユーザコンテンツ340、システム状態350、並びにユーザ及び部屋を継続的に監視し、必要に応じて意図リストを再構築することが可能である。効率を向上させるために、意図リストのうち変更の影響を受ける部分のみを再構築すること（例えば、部分的な更新）が可能である。
【００２４】
文法プロセス310が実行することができる別の機能は、意図のキーフレーズの有効性を確認して該キーフレーズを認識プロセス360により確実に認識できるようにすることである。有効性が確認されなかったキーフレーズを有する意図は意図リストから削除することが可能である。有効性が確認された場合、文法プロセス310は、意図を認識プロセス360に出力することが可能である。認識プロセス360は、（例えば、リモコン140又はモバイルデバイス160のマイクを介して受信した）スピーチ入力を意図リストのキーフレーズと比較し、それらが一致した際に対応するアクションをトリガすることが可能である。
【００２５】
更に、以下で一層詳細に説明するように、文法プロセス310はまた、音声制御UIでキーフレーズの提案として表示されることになるキーフレーズを有する意図を選択する役割を果たすことが可能である。
【００２６】
図４は、動的に構築することが可能な例示的な意図リストのキーフレーズ400の例示的なリストである。該意図は、サービス意図、シーン意図、お気に入り意図、コマンド意図、及びナビゲーション意図を含む、幾つかのカテゴリに分類することが可能である。サービス意図は、所与の部屋をスコープ（対象範囲）とし、該部屋内のサービスに影響を与えるアクションと対をなすキーワードを含むことが可能である。サービス意図のキーフレーズは、「サービス」という形式にすることが可能であり（この場合には、サービスの名称のみ（例えば、「Apple TV」、「Blueray」、「Cable」など）が提供され）、又は、「Watch サービス」という形式にすることが可能である（この場合には、サービスの名称の前にコマンド「Watch」が付与される（例えば、「Watch Apple TV」、「Watch Blueray」、「Watch Cable」など））。これらのキーフレーズは、オーディオ／ビデオバージョンのサービスを起動するアクションに関連付けることが可能である。サービス意図のキーフレーズはまた、「Listen to サービス」という形式にすることが可能であり、この場合には、サービスの名称の前にコマンド「Listen to」が付与される（例えば、「Listen to Apple TV Live」、「Listen to CD」、「Listen to Radio」など）。これらのキーフレーズは、オーディオのみのバージョンのサービス（利用可能な場合）を起動するアクションに関連付けることが可能である。
【００２７】
シーン意図は、現在のユーザのシーンを起動し、スケジュールを設定し、又はスケジュールを解除するアクションと対をなすキーワードを含むことが可能である。シーン意図は、現在のユーザをスコープ（対象範囲）とし、該ユーザに関連付けされたシーンに影響を与えるアクションと対をなすキーワードを含むことが可能である。シーン意図のキーフレーズは、「シーン」という形式にすることが可能であり、この場合には、シーンの名称のみ（（例えば、「Dinner」、「Goodnight」、「Play Time」など））が提供される。これらのキーフレーズは、シーンを起動するアクションに関連付けることが可能である。シーン意図のキーフレーズはまた、「Schecule シーン」という形式にすることが可能であり、この場合には、シーンの名称の前にコマンド「Schecule」が付与される（例えば、「Schecule Dinner」、「Schecule Goodnight」、「Schecule Play Time」など）。これらのキーフレーズは、シーンのスケジュールが既に設定されている場合に該シーンのスケジュールを起動するアクションに関連付けることが可能である。更に、シーン意図のキーフレーズは、「Unschedule シーン」という形式にすることも可能であり、この場合には、シーンの名称の前にコマンド「Unschedule」が付与される。これらのキーフレーズは、アクティブなシーンのスケジュールを非アクティブにするアクションに関連付けることが可能である。
【００２８】
お気に入り意図は、現在のユーザにより選択された１つ以上のタイプのメディアコンテンツを提示するアクションと対をなすキーワードを含むことが可能である。お気に入り意図は、現在のユーザと部屋の両方をスコープ（対象範囲）とし、該部屋内に存在し及び該ユーザに関連付けられたメディアコンテンツに影響を与えるアクションと対をなすキーワードを含むことが可能である。お気に入り意図のアクションは、最初に所与のサービスをアクティブにし、次いでチャネルを設定し又は該サービスで使用されるメディアファイル又はストリームを選択することが可能である。お気に入り意図のキーフレーズは、「サービス」という形式にすることが可能であり、この場合には、サービスの名称のみ（例えば、「ABC」、「CBS」、「CNN」など）が提供され、又は「Watch サービス」という形式にすることが可能であり、この場合には、サービスの名称の前にコマンド「Watch」が付与される（例えば、「Watch ABC」、「Watch CBS」、「Watch CNN」など）。これらのキーフレーズは、対応するチャネルに設定された（又は対応するメディアファイル若しくはストリームを使用する）オーディオ／ビデオバージョンのサービスをアクティブにするアクションに関連付けることが可能である。お気に入り意図のキーフレーズはまた、「Listen to サービス」という形式にすることも可能であり、この場合には、サービスの名称の前にコマンド「Listen to」が付与される。これらのキーフレーズは、対応するチャネルに設定された（又は対応するメディアファイル若しくはストリームを使用する）オーディオのみのバージョンのサービス（使用可能な場合）をアクティブにするアクションに関連付けることが可能である。
【００２９】
コマンド意図は、ホームオートメーションシステムの現在の状態（すなわち、コンテキスト）に関係する単一のコマンドを送信するアクションと対をなすキーワードを含むことが可能である。コマンド意図は、部屋をスコープ（対象範囲）とすることが可能である。コマンド意図のキーフレーズは、予め定義されたコマンドリストからのものとすることが可能であり、例えば、部屋の照明レベルを増減させるアクションと対をなす「Brighter（もっと明るく）」又は「Dimmer（もっと暗く）」といったキーフレーズを含むことが可能であり、又は、例えば、部屋の温度を上下させるアクションと対をなす「I'm Cold（寒い）」又は「I'm Hot（暑い）」といったキーフレーズを含むことが可能である。
【００３０】
ナビゲーション意図は、ホームオートメーション制御UIにおけるナビゲーションショートカットを提供するアクションと対をなすキーワードを含むことが可能である。ナビゲーション意図は、スコープ（対象範囲）を異ならせることが可能であり、一部をグローバルとし、その他をアクティブなサービス又は部屋に応じて決定することが可能である。例示的なナビゲーション意図は、ホームオートメーション制御UIにおける現在アクティブなサービスのキーパッド画面（利用可能な場合）に切り替えるアクションと対をなすキーフレーズ「Keypad」を含むことが可能である。ナビゲーション意図のもう１つの例として、ホームオートメーション制御UIにおけるシーンキャプチャ画面に切り替えるアクションと対をなすキーフレーズ「Capture」が挙げられる。
【００３１】
ホームオートメーションシステムでは広範な他のタイプの意図を提供することが可能であることを理解されたい。
●履歴ベースのキーフレーズの提案
履歴データベース132及び意図リスト320を利用して、過去に行われたユーザの使用パターンが与えられた場合に、ユーザにとって有用である可能性が高いキーフレーズの提案を生成することが可能である。かかる履歴に基づくキーフレーズの提案は、リモコン140又はモバイルデバイス160上の音声制御UIで表示して、所望の結果を生成し得るスピーチ入力をユーザに促すことが可能である。
【００３２】
図５は、アプリケーション162の例示的な音声提案ソフトウェア500及びホストソフトウェア111の予測プロセス510を示すブロック図である。最初に、予測プロセス510は、１つ以上の要求をアクティビティプロセス210に発行して、ホームオートメーションシステムがその現在の状態と類似した状態にあったときの様々なタイプのイベントの頻度を（履歴データベース132に基づいて）決定することが可能である。かかる類似は、時間（例えば、時刻と曜日の両方）に基づくものとすることが可能であり、これにより、前記要求は、現在の曜日と同じ曜日におけるイベントの頻度を、任意の曜日における現在の時刻を包含する時間窓で、同じ曜日における現在の時刻を包含する時間窓で、又はその他の時間に関係する基準に基づいて、探し求めることが可能である。予測プロセス510は、該要求に応じて返される結果にスコアを付与することが可能である。該スコアは、頻度、並びにイベントの選択に使用された時間窓の長さに基づくものとすることが可能であり、短い時間窓は長い時間窓よりも高いスコアを生じさせるものとなる。更に、該スコアは、イベントのタイプに基づいて調整することが可能であり、この場合、具体性の高いユーザアクションを示すイベントのタイプは具体性の低いユーザアクションを示すイベントよりも高いスコアを受容することになる。次いで、該スコアが付与された結果は、予測データセットとしてリモコン140又はモバイルデバイス160上の音声提案ソフトウェア500に提供することが可能である。
【００３３】
音声提案ソフトウェア500は、前記予測データセットを提案プロセス530に渡すホストコントローラ110とのインタフェイスに使用される通信API520を含むことが可能である。該提案プロセス530は、予測データセットを取得し、該予測データセットを文法プロセスにとって有用な形式へと処理する（例えば、所定数の最も頻繁なイベントを選択する）。かかる処理は、予測データセットを、意図リスト320からの意図に容易に関連付けることができる形式へと変換することが可能である。処理された予測データセット及び意図リスト320は文法プロセス310に提供され、該文法プロセス310は、該予測データセットからのイベントを意図リスト320に関連付けして意図を選択する。次いで、少なくともかかる選択された意図からのキーフレーズが音声UIプロセス540に提供される。該音声UIプロセス540は、該選択された意図のキーフレーズを、リモコン140又はモバイルデバイス160の表示画面上の音声制御UI内にキーフレーズの提案として表示する。
【００３４】
図６は、リモコン140又はモバイルデバイス160上に表示することが可能な例示的な音声制御UI600のスクリーンショットを示している。キーフレーズ提案610は、スピーチ入力として試すことをユーザに促すプロンプトに関連してリスト表示することが可能である。実施形態によっては、音声制御UI600は、リモコン140又はモバイルデバイス160のタッチスクリーン上に表示することが可能であり、キーフレーズの提案は、選択可能なボタンとしても機能することが可能である。該ボタンへのタッチは、そのキーフレーズを話すことと等価であるとみなして、それに対応する意図のアクションをトリガすることが可能である。
●要約及び結論
図７は、履歴ベースのキーフレーズの提案を提供するために実施することが可能な一連のステップを示すフローチャートである。該一連のステップ700は、上述した様々な動作の高レベルの要約を提供するものであり、該動作の全体的な流れをよりよく説明するために特定の詳細を省略している。ステップ710で、ホストコントローラ110上のホストアクティビティ記録ソフトウェア200（詳細には、アクティビティプロセス210及びメッセージルータプロセス220と共に動作する履歴レコーダ270）は、発生したイベントを維持する履歴データベース132を構築することが可能である。各イベントは、例えば、起動された１つ以上のサービス、起動された１つ以上のシーン、又は提示された１つ以上のタイプのメディアコンテンツを示すことが可能である。ステップ720で、ホストコントローラ110上の（アクティビティプロセス210と協働する）予測プロセス510は、ホームオートメーションシステムの現在の状態（例えば、時間）に基づいて履歴データベース132のイベントのサブセットを選択して予測データセットを生成することが可能である。ステップ730で、リモコン140又はモバイルデバイス160上の音声提案ソフトウェア500（詳細には、提案プロセス530及び文法プロセス310）は、前記予測データセットに基づいて、意図リストから１つ以上の意図を選択することが可能であり、その各意図は、キーフレーズに応じて実行されるアクションと対をなす音声認識エンジン300により認識される該キーフレーズを含む。ステップ740で、音声提案ソフトウェア500（詳細には、音声UIプロセス540）は、リモコン140又はモバイルデバイス160の表示画面上に音声制御UI600を表示することが可能であり、該音声制御UI600は、前記選択された１つ以上の意図からのキーフレーズをキーフレーズの提案610として提示する。最後に、ステップ750で、ユーザからのスピーチ入力に応じて、リモコン140又はモバイルデバイス160上の音声認識エンジン300（詳細には、認識プロセス360）は、該スピーチ入力を意図リストのキーフレーズと比較して、一致する意図を見出し、該一致する意図に関連付けられたアクションをトリガすることが可能である。
【００３５】
上記で説明した一連のステップ及び上記で開示した他の部分に対して様々な適応及び変更を行うことが可能であることを理解されたい。上述の実施形態は、照明装置、セキュリティ装置、A/V装置、電子ドアロック、HVAC装置などの様々な異なるタイプの装置を含むホームオートメーションシステムを含むが、本開示の技術は、一層限定されたタイプのホームオートメーションシステムでの使用に適合させることが可能である。例えば、本開示の技術は、照明制御（すなわち、照明制御システム）のみを提供するホームオートメーションシステム、又はA/V制御（すなわち、A/V制御システム）のみを提供するホームオートメーションシステムで使用することが可能である。
【００３６】
更に、上記で提供した開示は、様々なソフトウェアプロセスが（ホストコントローラ110、リモコン140、又はモバイルデバイス160などの）特定の装置上で実行可能であることを示唆しているが、かかるソフトウェアプロセスを様々なハードウェアデバイス（クラウドサービス180の一部としてのクラウドベースのハードウェアを含む）上で実行することが可能であることが理解されよう。
【００３７】
更に、上述したように、履歴ベースのキーフレーズの提案は、ホームオートメーションシステム自体で発生したイベントの履歴に基づくものとすることが可能であるが、他のホームオートメーションシステムで発生したイベントを考慮することも可能であることが理解されよう。例えば、クラウドサービス180が、複数のホームオートメーションシステムからのイベントを収集し、その組み合わせられたイベントセットに予測アルゴリズムを適用してキーフレーズの提案を生成することが可能である。一層大きなユーザベースを考慮することにより、単一のホームオートメーションシステムのイベントでは識別することができない様々な使用パターンが統計的に重要となり得る。
【００３８】
更に、上記でソフトウェアで実施するよう示唆した機能の少なくとも一部をハードウェアで実施することが可能であることが理解されよう。一般に、機能は、ソフトウェア、ハードウェア、又はそれらの様々な組み合わせで実施することが可能である。ソフトウェアによる実施は、揮発性メモリ又は持続性メモリ、ハードディスク、コンパクトディスク（CD）、又は他の有形の媒体といった非一時的な電子デバイス読み取り可能媒体（例えば、非一時的なコンピュータ読み取り可能媒体）に格納された電子デバイス実行可能命令（例えば、コンピュータ実行可能命令）を含むことが可能である。ハードウェアによる実施は、論理回路、特定用途向け集積回路、及び／又はその他のタイプのハードウェア要素を含むことが可能である。更に、ソフトウェア／ハードウェアを組み合わせた実施は、非一時的な電子デバイス読み取り可能媒体に格納された電子デバイス実行可能命令及び１つ以上のハードウェア要素（例えば、プロセッサ、メモリなど）の両方を含むことが可能である。とりわけ、上記実施形態は例示としてのみ解釈されることを意図したものであることを理解されたい。
【図１】
2018531404.tif 000003
【図２】
2018531404.tif 000004
【図３】
2018531404.tif 000005
【図４】
2018531404.tif 000006
【図５】
2018531404.tif 000007
【図６】
2018531404.tif 000008
【図７】
2018531404.tif 000009
【国際調査報告】
2018531404.tif 000010
2018531404.tif 000011
2018531404.tif 000012