(57)【要約】  複数の異なる接続デバイスとインタラクションを行うように複合グラフィカルアシスタントインターフェースを調整するための方法、装置、システム、およびコンピュータ可読媒体が提供される。ユーザによる、接続デバイスに特定の機能を実行させるための、自動アシスタントに対する要求の提供に応答して、複合グラフィカルアシスタントインターフェースが生成される。自動アシスタントによる要求を受信したことに応答して、自動アシスタントは、別の接続デバイスを特定することができ、別の機能は、別の接続デバイスによって実行されることが可能である。別の機能は、次いで、そこからユーザが異なる接続デバイスとインタラクションを行い得る複合グラフィカルアシスタントインターフェースを提供するために、様々なグラフィカル制御要素にマッピングされ得る。各グラフィカル制御要素は、各接続デバイスが複合グラフィカルアシスタントインターフェースの提示と同時にどのように動作しているかを反映するように配置され得る。
2021523465.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの接続デバイスに対する要求を含むと決定するステップであって、前記接続デバイスが、前記クライアントデバイスとリンクされ、前記音声発話がユーザによって提供される、ステップと、
前記要求を受信したことに応答して、前記受信された要求に対応する機能を特定するステップと、
前記機能を特定したことに基づいて、前記接続デバイスに前記受信された要求に対応する前記機能を実行させるステップと、
前記要求を受信したことに応答して、自動アシスタントによって、前記自動アシスタントがアクセス可能なデータに基づいて、前記ユーザに推奨するための別の機能を決定するステップであって、前記別の機能が、前記特定された機能とは異なり、かつ別の接続デバイスによって実行されることが可能である、ステップと、
前記別の機能を決定したことに基づいて、前記別の接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を特定するステップと、
前記要求を受信したことに応答して、複合グラフィカルアシスタントインターフェースを前記クライアントデバイスに関連するディスプレイパネルにおいて提供させるステップであって、前記複合グラフィカルアシスタントインターフェースが、前記特定されたグラフィカル制御要素を備える、ステップと、
前記グラフィカル制御要素の選択が前記複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、
前記グラフィカル制御要素の前記選択が受信されたと決定したことに応答して、前記別の接続デバイスに前記別の機能を実行させるステップと
を含む、方法。
【請求項２】
前記データが、前記別の接続デバイスの現在のステータスを特定し、前記現在のステータスを、前記グラフィカル制御要素の前記選択に応答して、異なるステータスに変更させる、請求項1に記載の方法。
【請求項３】
前記別の機能を決定するステップが、
前記データに基づいて、特定の機能が前記別の接続デバイスの前記現在のステータスを少なくとも部分的に実現したと決定するステップと、
前記特定の機能が前記別の機能とは異なることに少なくとも部分的に基づいて、前記ユーザに推奨するための前記別の機能を選択するステップと
を含む、請求項2に記載の方法。
【請求項４】
前記別の機能を決定するステップが、
前記別の接続デバイスの前記現在のステータスを少なくとも部分的に実現する機能の1つまたは複数のスロット値を決定するステップと、
前記接続デバイスの前記現在のステータスに影響を及ぼすことが可能な1つまたは複数の候補機能の1つまたは複数のパラメータを特定するステップと、
前記特定の機能が前記別の機能とは異なることに少なくとも基づいて、前記ユーザに推奨するための前記別の機能を前記選択するステップが、前記別の機能が前記特定の機能の別のパラメータとは異なるパラメータを含むかどうかに従って、前記1つまたは複数の候補機能から前記別の機能を選択するステップを含む、請求項3に記載の方法。
【請求項５】
前記自動アシスタントインターフェースに提供されると、前記自動アシスタントを初期化して、前記別の接続デバイスの前記別の機能を実行させる音声表現可能コマンドを決定するステップ
をさらに含み、
前記複合グラフィカルアシスタントインターフェースを前記ディスプレイパネルにおいて提供させるステップが、前記ディスプレイパネルに前記音声表現可能コマンドを示させるステップを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記自動アシスタントがアクセス可能なデータに基づいて、前記ユーザに推奨するための別の機能を決定するステップが、
前記クライアントデバイスまたは前記接続デバイスに対する1つまたは複数の追加の接続デバイスの関係を示す、記憶されたデバイストポロジーに基づいて、複数の接続デバイスから前記1つまたは複数の追加の接続デバイスを特定するステップと、
前記1つまたは複数の追加の接続デバイスによって実行されることが可能な1つまたは複数の追加の機能を特定するステップであって、前記別の機能が前記特定された1つまたは複数の追加の機能から決定される、ステップと
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記データが、前記別の機能を前に実行したこと、または実行していないことに基づく、前記1つまたは複数の追加の接続デバイスのステータスを示し、前記複合グラフィカルアシスタントインターフェースにおける前記グラフィカル制御要素の構成が、前記1つまたは複数の追加の接続デバイスの前記示されたステータスに基づく、請求項6に記載の方法。
【請求項８】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの自動アシスタントに対する要求を含むと決定するステップであって、前記音声発話がユーザによって提供される、ステップと、
前記要求が前記ユーザによって提供されたと決定したことに応答して、前記ユーザによって提供された前記要求に対応する機能を特定するステップと、
前記機能を特定したことに基づいて、前記自動アシスタントに前記ユーザによって提供された前記要求に対応する前記機能を実行させるステップと、
前記クライアントデバイスにリンクされた第1の接続デバイスの第1の現在のステータスを決定するステップであって、前記接続デバイスの前記第1の現在のステータスが、第1の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記クライアントデバイスにリンクされた第2の接続デバイスの第2の現在のステータスを決定するステップであって、前記第2の接続デバイスの前記第2の現在のステータスが、第2の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記第1の接続デバイスの前記第1の機能を制御するための第1のグラフィカル制御要素および前記第2の接続デバイスの前記第2の機能を制御するための第2のグラフィカル制御要素を決定するステップと、
前記第1の接続デバイスの前記第1の現在のステータスおよび前記第2の接続デバイスの前記第2の現在のステータスに基づいて、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定するステップと、
前記要求が受信されたと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記第1の接続デバイスおよび前記第2の接続デバイスを制御するための複合グラフィカルアシスタントインターフェースを提供させるステップであって、前記複合グラフィカルアシスタントインターフェースが、各グラフィカル制御要素に対する前記決定された構成に従って配置される、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素を含む、ステップと
を含む、方法。
【請求項９】
前記音声発話に関連する音声特性に基づいて、前記ユーザに関するプロファイルにアクセスするステップであって、前記第1の機能および前記第2の機能のうちの少なくとも1つの機能を特定するステップが、前記プロファイルから利用可能な情報に基づく、ステップ
をさらに含む、請求項8に記載の方法。
【請求項１０】
前記プロファイルが、特定のコンテキストにおいて前記第1の接続デバイスおよび前記第2の接続デバイスのうちの少なくとも1つの接続デバイスとインタラクションを行っている前記ユーザの履歴傾向を示す、請求項9に記載の方法。
【請求項１１】
前記特定のコンテキストが、前記第1の接続デバイスまたは前記第2の接続デバイスのステータス、前記ユーザの地理的ロケーション、時間、イベント、または1人または複数の他のユーザの存在のうちの1つまたは複数に対応する、請求項10に記載の方法。
【請求項１２】
前記第1の接続デバイスの第1の現在のステータスを決定するステップが、前記第1の現在のステータス、および前記第1の機能に関連するコマンドデータをリモートサーバデバイスから要求するステップであって、前記第1の機能が、前記自動アシスタントによって実行される前記機能とは異なる、ステップを含む、請求項8から11のいずれか一項に記載の方法。
【請求項１３】
前記第1の機能を制御するための前記第1のグラフィカル制御要素の選択を受信するステップと、
前記クライアントデバイスに、前記第1の機能に関連する前記コマンドデータに従って、前記第1の接続デバイスとインタラクションを行わせるステップと
をさらに含む、請求項12に記載の方法。
【請求項１４】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップであって、前記要求がクライアントデバイスの自動アシスタントインターフェースにおいて受信される、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントに前記要求に対応する前記機能を実行させるステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントによって実行される前記機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するために前記ユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップであって、前記接続デバイスが、前記クライアントデバイスにリンクされる、ステップと、
前記ユーザプリファレンスを決定したことに基づいて、前記接続デバイス、および前記接続デバイスの前記別の機能を特定するステップと、
前記接続デバイスを特定したことに基づいて、前記接続デバイスの現在のステータスを決定するステップであって、前記現在のステータスが、前記別の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記接続デバイスの前記別の機能および前記現在のステータスを特定するステップに基づいて、前記接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を決定するステップであって、前記グラフィカル制御要素は、結果として前記接続デバイスの前記現在のステータスを異なるステータスに変更されることになる前記接続デバイスによって前記別の機能を実行させるという前記グラフィカル制御要素の能力を示す、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記グラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップと
を含む、方法。
【請求項１５】
前記ユーザプリファレンスに基づいて、前記接続デバイスの別個の接続デバイスに関連する選択可能なサジェッション要素を決定するステップ
をさらに含み、前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記選択可能なサジェッション要素を含めさせるステップを含む、請求項14に記載の方法。
【請求項１６】
前記選択可能なサジェッション要素の選択が前記複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、
1つまたは複数のグラフィカル制御要素を前記別個の接続デバイスの1つまたは複数の機能を制御するために前記ディスプレイデバイスにおいて提示させるステップと
をさらに含む、請求項15に記載の方法。
【請求項１７】
前記クライアントデバイスの前記自動アシスタントインターフェースにおいて受信されると、前記自動アシスタントを起動させて、前記別個の接続デバイスに前記別個の接続デバイスの前記1つまたは複数の機能を実行させる音声表現可能コマンドを決定するステップ
をさらに含み、
前記クライアントデバイスに関連する前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記音声表現可能コマンドの自然言語表現を含めさせるステップを含む、請求項15に記載の方法。
【請求項１８】
前記接続デバイスに前記機能を実行させたことに応答して、前記接続デバイスの最終結果ステータスを決定するステップであって、前記最終結果ステータスが前記機能の実行による影響を受ける、ステップ
をさらに含み、
前記クライアントデバイスに関連する前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記接続デバイスの前記最終結果ステータスを示すグラフィカルインターフェース要素を含めさせるステップを含む、請求項15に記載の方法。
【請求項１９】
前記ユーザプリファレンスが、前記ユーザと前記自動アシスタントとの間の前のインタラクションに少なくとも部分的に基づいて、前記別の機能を制御するために前記ユーザの前記履歴傾向を特徴付ける、請求項14から18のいずれか一項に記載の方法。
【請求項２０】
前記前のインタラクションが、前記ユーザが前記グラフィカル制御要素を選択する前の前記ユーザと前記自動アシスタントとの間のダイアログセッションに対応し、前記ダイアログセッション中に、前記ユーザが、前記接続デバイスに前記別の機能を実行させる要求を提供していた、請求項19に記載の方法。
【請求項２１】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップであって、前記要求が、クライアントデバイスの自動アシスタントインターフェースにおいて受信される、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントに前記要求に対応する前記機能を実行させるステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントによって実行された前記機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するために前記ユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップであって、前記接続デバイスが、前記クライアントデバイスにリンクされる、ステップと、
前記ユーザプリファレンスを決定したことに基づいて、前記接続デバイス、および前記接続デバイスに対する所望のステータスを特定するステップと、
前記接続デバイスを特定したことに基づいて、前記接続デバイスの現在のステータスを決定するステップであって、前記現在のステータスが、前記別の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記所望のステータスが前記接続デバイスの前記現在のステータスとは異なるとき、
前記接続デバイスの前記別の機能および前記現在のステータスを特定したことに基づいて、前記接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を決定するステップであって、前記グラフィカル制御要素は、結果として前記接続デバイスの前記現在のステータスを前記所望のステータスに変更されることになる前記接続デバイスによって前記別の機能を実行させるという前記グラフィカル制御要素の能力を示す、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記グラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップと
を含む、方法。
【請求項２２】
前記所望のステータスが前記接続デバイスの前記現在のステータスに等しいとき、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連する前記ディスプレイパネルに、前記接続デバイスの前記別の機能を制御するための特定のグラフィカル制御要素を省いた特定の複合グラフィカルアシスタントインターフェースを提供させるステップ
をさらに含む、請求項21に記載の方法。
【請求項２３】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から22のいずれか一項に記載の方法を実行させる命令を備える、コンピュータプログラム製品。
【請求項２４】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から21のいずれか一項に記載の方法を実行させる命令を備える、コンピュータ可読記憶媒体。
【請求項２５】
請求項1から21のいずれか一項に記載の方法を実行するための1つまたは複数のプロセッサを備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な接続デバイスを制御するための複合グラフィカルアシスタントインターフェースの提供に関する。
【背景技術】
【０００２】
人間は、本明細書で(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)「自動アシスタント」と呼ばれる対話型ソフトウェアアプリケーションを用いて人間対コンピュータダイアログに従事することがある。たとえば、人間(自動アシスタントとインタラクションを行うとき、「ユーザ」と呼ばれることがある)は、場合によっては、テキストに変換され、次いで、処理され得る、話された自然言語入力(すなわち、発話)を使用して、かつ/またはテキスト(たとえば、タイプされた)自然言語入力を提供することによって、コマンドおよび/または要求を自動アシスタントに提供し得る。
【０００３】
いくつかの自動アシスタントは、モノのインターネット(「IoT」)デバイスを制御するために使用され得る。しかしながら、多くのIoTデバイスは、その独自の対応するアプリケーションを備えていることがある。結果として、複数の異なるIoTデバイスを収集したユーザは、様々な第三者アプリケーションをそのパーソナルコンピューティングデバイス上にインストールする任務を課せられることがある。アプリケーションは、一般に、メモリ、ネットワーク帯域幅、更新、および/または他のリソースを必要とし得るため、様々な同様のアプリケーションを単一のデバイス上に有することは、非効率であり得る。ユーザは、ユーザと特定のIoTデバイスとの間のインタラクションを仲介するために自動アシスタントに依存することがあるが、そのようなインタラクションは、ユーザからの音声発話(spoken utterance)をオーディオ(audio)からテキストに変換することをしばしば必要とし得る。オーディオからテキストへの変換を実現するために、オーディオデータは、ネットワーク上で送られなければならないことが多く、それにより、かなりのネットワーク帯域幅を消費する。さらに、ユーザが、会話中の人々に囲まれているとき、またはさもなければ、背景雑音を有する環境にいるとき、そのような方法でインタラクションを仲介することは、信頼に欠くことを証明し得る。結果として、特定の機能を実行するようにとの様々なIoTデバイスに対する要求が最終的に特定されないか、またはさもなければ、履行されないとき、ユーザと自動アシスタントの間のダイアログセッションは、計算リソースおよびネットワークリソースを浪費する可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、一般に、それを通して複数の異なるデバイスを制御する複合グラフィカルアシスタントインターフェースを提供するための方法、装置、および(一時的および非一時的)コンピュータ可読媒体に関する。複合グラフィカルアシスタントインターフェースは、異なるデバイスが異なる第三者によって製造されているにもかかわらず、様々な異なるデバイスを制御するために使用され得る。このように、ユーザは、そのそれぞれのIoTデバイスを制御するために、必ずしも複数の異なる第三者アプリケーションをインストロールしなくてよい。むしろ、ユーザが、特定のIoTデバイスを制御することを希望する特定のコンテキストを認識し、制御すべき特定のIoTデバイスに対する示唆を含む複合グラフィカルアシスタントインターフェースを提供するために、ユーザはその自動アシスタントに依存し得る。
【０００５】
たとえば、ユーザは、自動アシスタントに対するアクセスを提供するクライアントデバイス、そのクライアントデバイスと通信している様々な接続デバイスなど、様々な異なるデバイスを含み得る台所に入ることがある。接続デバイスは、ステレオシステム、オーブン、スマート照明、およびコーヒーメーカを含み得る。接続デバイスの各々は、少なくとも自動アシスタントの製造者に対して、異なる第三者製造者によって製造されていることがある。一般に、ユーザが台所に入る朝、ユーザは、「アシスタント、台所の照明をオンにして」などのコマンドを提供し得る。ユーザは、次いで、別の機能を実行させるために、様々なアプリケーションにアクセスするか、または接続デバイスと手動でインタラクションを行うことができる。ユーザは、自動アシスタントを言語で初期化して各機能を実行させることができるが(たとえば、「アシスタント、コーヒーメーカをオンにして…  アシスタント、音楽をかけて」)、これは、追加の音声(speech)処理を必要とすることになり、それにより、計算およびネットワークリソースを消費する。さらに、ユーザが異なるアプリケーションにアクセスして各デバイスを制御することが必要とされた場合、各アプリケーションは、一定量のネットワーク接続性を必要とすることがあり、それにより、計算およびネットワークリソースをさらに非効率的に消費する。そのようなリソースのより効率的な使用を実現するために、自動アシスタントは、機能を実行する初期要求を受信したことに応答して、かつ/または特定のアシスタントインターフェースにおけるユーザ選択に応答して、複合グラフィカルアシスタントインターフェースを提供し得る。
【０００６】
たとえば、「アシスタント、台所照明をオンにして」などの音声発話を受信したことに応答して、自動アシスタントは、ユーザに推奨するための特定の機能を特定するために、台所内の別の接続デバイスの現在のステータスを特定し得る。たとえば、音声発話が受信された時点で台所のコーヒーメーカがオンにされていると決定された場合、自動アシスタントは、コンパイルされている複合グラフィカルアシスタントインターフェース内のコーヒーメーカに対するいずれの言及も除外し得る。このように、自動アシスタントは、冗長的な示唆を行わないことになり、より好適な示唆のための場所を複合グラフィカルアシスタントインターフェース上にあけることができる。追加として、自動アシスタントが台所のステレオシステムが現在音楽をかけていないと決定した場合、自動アシスタントは、ステレオシステムを制御することをユーザに示唆するための機能を決定し得る。たとえば、自動アシスタントは、ステレオシステムをオンにするための、かつ/またはステレオシステムの音量を変更するためのグラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供し得る。複合グラフィカルアシスタントインターフェースは、クライアントデバイスと一体であるディスプレイパネルにおいて、またはクライアントデバイス(たとえば、やはり台所内に配置されるタブレットデバイス)に関連付けられるディスプレイパネルにおいて提供され得る。このように、ユーザは、それを通してステレオシステムをオンにする計算集約性がより低いモダリティを有し、モダリティは、その初期音声発話に応答して、適時にユーザに提供され得る。
【０００７】
いくつかの実施形態では、接続デバイスによって実行される特定の機能に対する示唆は、特定のコンテキストにおいて特定の接続デバイスとインタラクションを行うユーザの履歴傾向を示すデータに基づいてよい。たとえば、ユーザは、その台所照明がオンになっているとき、または台所照明をオンにすることが要求された直後に、そのステレオシステムをオンにする履歴傾向を有し得る。そのようなコンテキストが後で生じるとき、自動アシスタントは、台所内のディスプレイパネルにおいてまたは別の好適なディスプレイパネルにおいてステレオシステムを制御するためのグラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供し得る。さらに、自動アシスタントは、複合グラフィカルアシスタントインターフェースにおいてさらなる示唆を提供するために、ユーザに関連付けられた別の接続デバイス、ユーザからの要求、その要求のコンテキスト、および/またはユーザに関連する任意の他の情報を特定し得る。たとえば、ユーザはまた、夜間に、台所照明およびステレオシステムからの音楽をオンにした後、その台所のオーブンを予熱させる履歴傾向を有することがある。そのようなコンテキストが後で生じるとき、自動アシスタントは、ベーキング温度およびタイマ設定など、そのオーブンの1つまたは複数の機能を制御するためのグラフィカル制御要素、ならびにその台所照明および/またはステレオシステムの特徴を制御するグラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供し得る。このように、自動アシスタントによって生成される複合グラフィカルアシスタントインターフェースは、様々な異なる製造者によって作られた様々な異なる接続デバイスに対する制御を提供し得る。
【０００８】
上記の説明は、本開示のいくつかの実施形態の概要として提供される。それらの実施形態のさらなる説明、および他の実施形態は、以下でより詳細に説明される。
【０００９】
いくつかの実施形態では、クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの接続デバイスに対する要求を含むと決定するステップなどの動作を含む、1つまたは複数のプロセッサによって実施される方法が記載される。接続デバイスは、クライアントデバイスとリンクされてよく、音声発話はユーザによって提供される。この方法は、要求を受信したことに応答して、受信された要求に対応する機能を特定するステップと、機能を特定するステップに基づいて、接続デバイスに受信された要求に対応する機能を実行させるステップと、要求を受信したことに応答して、自動アシスタントによって、自動アシスタントがアクセス可能なデータに基づいて、ユーザに推奨するための別の機能を決定するステップとをさらに含み得る。別の機能は、特定された機能とは異なり、別の接続デバイスによって実行されることが可能である。この方法はまた、別の機能を決定したことに基づいて、別の接続デバイスの別の機能を制御するためのグラフィカル制御要素を特定するステップと、要求を受信したことに応答して、複合グラフィカルアシスタントインターフェースをクライアントデバイスに関連するディスプレイパネルにおいて提供させるステップであって、複合グラフィカルアシスタントインターフェースが、特定されたグラフィカル制御要素を備える、提供させるステップとを含み得る。この方法は、グラフィカル制御要素の選択が複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、グラフィカル制御要素の選択が受信されたと決定したことに応答して、別の接続デバイスに別の機能を実行させるステップとをさらに含み得る。
【００１０】
いくつかの実施形態では、データは、別の接続デバイスの現在のステータスを特定し、現在のステータスは、グラフィカル制御要素の選択に応答して、異なるステータスに変更させられる。いくつかの実施形態では、別の機能を決定するステップは、データに基づいて、特定の機能が別の接続デバイスの現在のステータスを少なくとも部分的に実現したと決定するステップと、特定の機能が別の機能とは異なることに少なくとも部分的に基づいて、ユーザに推奨するための別の機能を選択するステップとを含む。いくつかの実施形態では、別の機能を決定するステップは、別の接続デバイスの現在のステータスを少なくとも部分的に実現する機能の1つまたは複数のスロット値を決定するステップと、接続デバイスの現在のステータスに影響を及ぼすことが可能な1つまたは複数の候補機能の1つまたは複数のパラメータを特定するステップとをさらに含む。特定の機能が別の機能とは異なることに少なくとも部分的に基づいて、ユーザに推奨するための別の機能を選択するステップは、別の機能が特定の機能の別のパラメータとは異なるパラメータを含むかどうかに従って、1つまたは複数の候補機能から別の機能を選択するステップを含み得る。
【００１１】
いくつかの実施形態では、この方法は、自動アシスタントインターフェースに提供されると、自動アシスタントを初期化して別の接続デバイスの別の機能を実行させる音声表現可能(speakable)コマンドを決定するステップを含み得る。複合グラフィカルアシスタントインターフェースをディスプレイパネルにおいて提供させるステップは、ディスプレイパネルに音声表現可能コマンドを示させるステップを含み得る。
【００１２】
いくつかの実施形態では、自動アシスタントがアクセス可能なデータに基づいて、ユーザに推奨するための別の機能を決定するステップは、クライアントデバイスまたは接続デバイスに対する1つまたは複数の追加の接続デバイスの関係を示す、記憶されたデバイストポロジーに基づいて、複数の接続デバイスから1つまたは複数の追加の接続デバイスを特定するステップと、1つまたは複数の追加の接続デバイスによって実行されることが可能な1つまたは複数の追加の機能を特定するステップとを含む。別の機能は、特定された1つまたは複数の追加の機能から決定され得る。いくつかの実施形態では、データは、別の機能を前に実行したこと、または実行していないことに基づく、1つまたは複数の追加の接続デバイスのステータスを示すことができ、複合グラフィカルアシスタントインターフェースにおけるグラフィカル制御要素の構成は、1つまたは複数の追加の接続デバイスの示されたステータスに基づき得る。
【００１３】
他の実施形態では、クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの自動アシスタントに対する要求を含むと決定するステップであって、音声発話がユーザによって提供される、決定するステップを含む、1つまたは複数のプロセッサによって実施される方法が記載される。この方法はまた、要求がユーザによって提供されたと決定したことに応答して、ユーザによって提供された要求に対応する機能を特定するステップと、機能を特定するステップに基づいて、自動アシスタントにユーザによって提供された要求に対応する機能を実行させるステップとを含み得る。この方法は、クライアントデバイスにリンクされた第1の接続デバイスの第1の現在のステータスを決定するステップをさらに含み得る。接続デバイスの第1の現在のステータスは、第1の機能を実行することまたは実行しないことによる影響を受けることがある。この方法はまた、クライアントデバイスにリンクされた第2の接続デバイスの第2の現在のステータスを決定するステップを含み得る。第2の接続デバイスの第2の現在のステータスは、第2の機能を実行することまたは実行しないことによる影響を受けることがある。この方法は、第1の接続デバイスの第1の機能を制御するための第1のグラフィカル制御要素および第2の接続デバイスの第2の機能を制御するための第2のグラフィカル制御要素を決定するステップと、第1の接続デバイスの第1の現在のステータスおよび第2の接続デバイスの第2の現在のステータスに基づいて、第1のグラフィカル制御要素および第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定するステップとをさらに含み得る。この方法はまた、要求が受信されたと決定したことに応答して、クライアントデバイスに関連するディスプレイパネルに第1の接続デバイスおよび第2の接続デバイスを制御するための複合グラフィカルアシスタントインターフェースを提供させるステップを含み得る。複合グラフィカルアシスタントインターフェースは、各グラフィカル制御要素に対する決定された構成に従って配置される、第1のグラフィカル制御要素および第2のグラフィカル制御要素を含み得る。
【００１４】
いくつかの実施形態では、この方法は、音声発話に関連する音声(voice)特性に基づいて、ユーザに関するプロファイルにアクセスするステップを含み得る。第1の機能および第2の機能の少なくとも1つの機能を特定するステップは、プロファイルから利用可能な情報に基づき得る。いくつかの実施形態では、プロファイルは、特定のコンテキストにおいて第1の接続デバイスおよび第2の接続デバイスのうちの少なくとも1つの接続デバイスとインタラクションを行うユーザの履歴傾向を示し得る。いくつかの実施形態では、特定のコンテキストは、第1の接続デバイスまたは第2の接続デバイスのステータス、ユーザの地理的ロケーション、時間、イベント、または1人または複数の他のユーザの存在のうちの1つまたは複数に対応し得る。
【００１５】
いくつかの実施形態では、第1の接続デバイスの第1の現在のステータスを決定するステップは、第1の現在のステータス、および第1の機能に関連するコマンドデータをリモートサーバデバイスから要求するステップを含み得る。第1の機能は、自動アシスタントによって実行される機能とは異なり得る。いくつかの実施形態では、この方法は、第1の機能を制御するための第1のグラフィカル制御要素の選択を受信するステップと、クライアントデバイスに、第1の機能に関連するコマンドデータに従って、第1の接続デバイスとインタラクションを行わせるステップとを含み得る。
【００１６】
さらに他の実施形態では、ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップなどの動作を含む、1つまたは複数のプロセッサによって実施される方法が記載される。この要求は、クライアントデバイスの自動アシスタントインターフェースにおいて受信され得る。この方法は、ユーザが要求を提供したと決定したことに応答して、自動アシスタントに要求に対応する機能を実行させるステップと、ユーザが要求を提供したと決定したことに応答して、自動アシスタントによって実行される機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するためにユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップとをさらに含み得る。接続デバイスは、クライアントデバイスにリンクされ得る。いくつかの実施形態では、この方法は、ユーザプリファレンスを決定したことに基づいて、接続デバイス、および接続デバイスの別の機能を特定するステップと、接続デバイスを特定するステップに基づいて、接続デバイスの現在のステータスを決定するステップとを含み得る。現在のステータスは、別の機能を実行することまたは実行しないことによる影響を受けることがある。この方法はまた、接続デバイスの別の機能および現在のステータスを特定するステップに基づいて、接続デバイスの別の機能を制御するためのグラフィカル制御要素を決定するステップを含み得る。グラフィカル制御要素は、結果として接続デバイスの現在のステータスを異なるステータスに変更されることになる接続デバイスによって別の機能を実行させるというグラフィカル制御要素の能力を示し得る。この方法は、ユーザが要求を提供したと決定したことに応答して、クライアントデバイスに関連するディスプレイパネルにグラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップをさらに含み得る。
【００１７】
いくつかの実施形態では、この方法は、ユーザプリファレンスに基づいて、接続デバイスの別個の接続デバイスに関連する選択可能なサジェッション要素を決定するステップを含み得る。ディスプレイパネルに複合グラフィカルアシスタントインターフェースを提供させるステップは、複合グラフィカルアシスタントインターフェースに選択可能なサジェッション要素を含めさせるステップを含み得る。いくつかの実施形態では、この方法は、選択可能なサジェッション要素の選択が複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、1つまたは複数のグラフィカル制御要素を別個の接続デバイスの1つまたは複数の機能を制御するためにディスプレイパネルにおいて提示させるステップとを含み得る。いくつかの実施形態では、この方法は、クライアントデバイスの自動アシスタントインターフェースにおいて受信されると、自動アシスタントを起動させて、別個の接続デバイスに別個の接続デバイスの1つまたは複数の機能を実行させる音声表現可能コマンドを決定するステップを含み得る。クライアントデバイスに関連するディスプレイパネルに複合グラフィカルアシスタントインターフェースを提供させるステップは、複合グラフィカルアシスタントインターフェースに音声表現可能コマンドの自然言語表現を含めさせるステップを含み得る。
【００１８】
いくつかの実施形態では、この方法は、接続デバイスに機能を実行させたことに応答して、接続デバイスの最終結果ステータスを決定するステップを含み得る。最終結果ステータスは、機能の実行による影響を受けることがある。さらに、クライアントデバイスに関連するディスプレイパネルに複合グラフィカルアシスタントインターフェースを提供させるステップは、複合グラフィカルアシスタントインターフェースに接続デバイスの最終結果ステータスを示すグラフィカルインターフェース要素を含めさせるステップを含み得る。
【００１９】
いくつかの実施形態では、ユーザプリファレンスは、ユーザと自動アシスタントとの間の前のインタラクションに少なくとも基づいて、別の機能を制御するユーザの履歴傾向を特徴付ける。いくつかの実施形態では、前のインタラクションは、ユーザがグラフィカル制御要素を選択する前のユーザと自動アシスタントとの間のダイアログセッションに対応する。ダイアログセッション中、ユーザは、接続デバイスに別の機能を実行させる要求を提供していたであろう。
【００２０】
他の実施形態では、ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップなどの動作を含む、1つまたは複数のプロセッサによって実施される方法が記載される。要求は、クライアントデバイスの自動アシスタントインターフェースにおいて受信され得る。この方法はまた、ユーザが要求を提供したと決定したことに応答して、自動アシスタントに要求に対応する機能を実行させるステップと、ユーザが要求を提供したと決定したことに応答して、自動アシスタントによって実行される機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するためにユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップとを含み得る。接続デバイスは、クライアントデバイスにリンクされ得る。いくつかの実施形態では、この方法は、ユーザプリファレンスを決定したことに基づいて、接続デバイス、および接続デバイスに対する所望のステータスを特定するステップと、接続デバイスを特定するステップに基づいて、接続デバイスの現在のステータスを決定するステップとを含み得る。現在のステータスは、別の機能を実行することまたは実行しないことによる影響を受けることがある。この方法は、所望のステータスが接続デバイスの現在のステータスとは異なるとき、接続デバイスの別の機能および現在のステータスを特定するステップに基づいて、接続デバイスの別の機能を制御するためのグラフィカル制御要素を決定するステップをさらに含み得る。グラフィカル制御要素は、結果として接続デバイスの現在のステータスを所望のステータスに変更されることになる接続デバイスによって別の機能を実行させるというグラフィカル制御要素の能力を示し得る。さらに、この方法は、ユーザが要求を提供したと決定したことに応答して、クライアントデバイスに関連するディスプレイパネルにグラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップを含み得る。
【００２１】
いくつかの実施形態では、この方法は、所望のステータスが接続デバイスの現在のステータスに等しいとき、ユーザが要求を提供したと決定したことに応答して、クライアントデバイスに関連するディスプレイパネルに接続デバイスの別の機能を制御するための特定のグラフィカル制御要素を省いた特定の複合グラフィカルアシスタントインターフェースを提供させるステップを含み得る。
【００２２】
他の実施形態は、上記でおよび/または本明細書の他の場所で説明した方法のうちの1つまたは複数などの方法を実行するための1つまたは複数のプロセッサ(たとえば、中央処理装置(CPU)、グラフィカル処理ユニット(GPU)、および/またはテンソルプロセシングユニット(TPU))によって実行可能な命令を記憶した非一時的コンピュータ可読記憶媒体を含み得る。さらに他の実施形態は、上記および/または本明細書の他の場所で説明した方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む、1つまたは複数のコンピュータおよび/または1つまたは複数のロボットのシステムを含み得る。
【００２３】
前述の概念および本明細書でより詳細に説明する追加の概念のすべての組合せは、本明細書で開示する主題の部分であるとして企図されることを諒解されたい。たとえば、本開示の最後に出現する、特許請求される主題のすべての組合せは、本明細書で開示する主題の部分として企図される。
【図面の簡単な説明】
【００２４】
【図１】接続デバイスとインタラクションを行うための複合グラフィカルアシスタントインターフェースを提供するためのシステムを示す図である。
【図２Ａ】複数の異なる接続デバイスを制御するための複数の異なるグラフィカル制御要素が提供されている複合グラフィカルアシスタントインターフェースのビューである。
【図２Ｂ】複数の異なる接続デバイスを制御するための複数の異なるグラフィカル制御要素が提供されている複合グラフィカルアシスタントインターフェースのビューである。
【図３Ａ】ユーザと自動アシスタントとの間のインタラクション、および/または1つまたは複数の接続デバイスの現在のステータスに基づいて、1つまたは複数の接続デバイスを制御するための示唆がユーザに提供されているビューである。
【図３Ｂ】ユーザと自動アシスタントとの間のインタラクション、および/または1つまたは複数の接続デバイスの現在のステータスに基づいて、1つまたは複数の接続デバイスを制御するための示唆がユーザに提供されているビューである。
【図４Ａ】複数の異なる接続デバイスによって実行されることが可能な機能に対する示唆を含む複合グラフィカルアシスタントインターフェースを提供するための方法を示す図である。
【図４Ｂ】複数の異なる接続デバイスによって実行されることが可能な機能に対する示唆を含む複合グラフィカルアシスタントインターフェースを提供するための方法を示す図である。
【図５】複合グラフィカルアシスタントインターフェースを、接続デバイスを制御するためグラフィカル制御要素に置換するための方法を示す図である。
【図６】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２５】
図1は、接続デバイスとインタラクションを行うための複合グラフィカルアシスタントインターフェースをアセンブルするためのシステム100を示す。複合グラフィカルアシスタントインターフェースは、クライアントデバイス102(たとえば、アシスタントデバイス128)、追加のクライアントデバイス(たとえば、タブレットデバイス150)、および/またはサーバデバイス112など、1つまたは複数のコンピューティングデバイスにおいて提供される自動アシスタント118によって部分的に生成され得る。ユーザ120は、アシスタントインターフェース110を介してクライアント自動アシスタント104とインタラクションを行うことができ、アシスタントインターフェース110は、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーションとの間にインターフェースを提供することが可能な任意の他の装置であってよい。たとえば、ユーザ120は、クライアント自動アシスタント104に動作(たとえば、データの提供、周辺デバイスの制御、エージェントへのアクセスなど)を実行させるために、口頭、テキスト、および/またはグラフィカル入力をアシスタントインターフェース110、および/またはタブレットデバイス150に提供することによって、クライアント自動アシスタント104を初期化し得る。クライアントデバイス102は、ユーザがタッチインターフェースを介してクライアントデバイス102のアプリケーションを制御することを可能にするためのタッチ入力および/またはジェスチャを受信するためのタッチインターフェースを含むディスプレイパネルであってよいディスプレイデバイスを含み得る。代替として、クライアントデバイス102は、ディスプレイパネルを含まないが、それでもなお、それを通してユーザ120が(たとえば、アシスタントデバイス128においてマイクロフォンにユーザ120によって提供される音声発話を通して)クライアント自動アシスタント104とインタラクションを行い得る1つまたは複数のインターフェースを提供するアシスタントデバイス128であってよい。
【００２６】
クライアントデバイス102は、インターネットなどのネットワーク122を介してサーバデバイス112と通信していることがある。クライアントデバイス102は、クライアントデバイス102において計算リソースを節約するために、かつ/またはサーバデバイス112においてよりロバストなリソースを活用するために、計算タスクをサーバデバイス112にオフロードし得る。たとえば、サーバデバイス112は、自動アシスタント118をホストし得、クライアントデバイス102は、1つまたは複数のアシスタントインターフェースにおいて受信された入力をサーバデバイス112に送信し得る。しかしながら、いくつかの実施形態では、自動アシスタント118は、クライアントデバイス102において完全にホストされ得る。様々な実施形態では、クライアント自動アシスタント104のすべてのまたはすべてに満たない態様がクライアントデバイス102上で実装され得る。それらの実施形態のうちのいくつかでは、自動アシスタント118の態様は、クライアントデバイス102のクライアント自動アシスタント104を介して実装され、クライアント自動アシスタント104の他の態様を実装するサーバデバイス112とインターフェースする。サーバデバイス112は、複数のスレッドを介して複数のユーザおよびそれらのユーザらの関連するアシスタントアプリケーションに随意にサービスし得る。自動アシスタント118のすべてまたはすべてに満たない態様がクライアントデバイス102のクライアント自動アシスタント104を介して実装される、いくつかの実施形態では、クライアント自動アシスタント104は、クライアントデバイス102のオペレーティングシステムとは別個である(たとえば、オペレーティングシステムの「上部に」インストールされた)アプリケーションであってよく、または代替として、(たとえば、オペレーティングシステムのアプリケーションであるが、オペレーティングシステムと一体の)クライアントデバイス102のオペレーティングシステムによって直接的に実装されてよい。
【００２７】
いくつかの実施形態では、サーバデバイス112は、アシスタントインターフェース110において受信されたオーディオデータを処理して、オーディオデータ内で実現されたテキストを特定することができる音声対テキストエンジン116を含み得る。オーディオデータをテキストに変換するためのプロセスは、ニューラルネットワーク、word2vecアルゴリズム、および/または語または句に対応するオーディオデータのグループを特定するための統計モデルを採用し得る音声認識アルゴリズムを含み得る。オーディオデータから変換されたテキストは、テキストパーサエンジン108によってパースされ、ユーザおよび/または第三者アプリケーションからのコマンドフレーズを生成および/または特定するために使用され得るテキストデータとして自動アシスタント104に利用可能にされ得る。
【００２８】
ユーザ120は、それらのクライアントデバイス102および/またはクライアント自動アシスタント104を使用して、第1の接続デバイス132および/または第2の接続デバイス146とインタラクションを行い得る。各接続デバイスは、ローカルエリアネットワークおよび/または広域ネットワーク上でクライアントデバイス102および/またはタブレットデバイス150に接続されることがあるか、またはそれらと通信していることがある、1つまたは複数のIoTデバイスであってよい。たとえば、クライアントデバイス102、タブレットデバイス150、第1の接続デバイス132、および/または第2の接続デバイス146は、住宅または他の環境でWi-Fiネットワークに接続され得る。ユーザ120が第1の接続デバイス132とインタラクションを行うために、ユーザ120は、第1の接続デバイス132に関連するアプリケーションを初期化し得る。しかしながら、ユーザ120が複数の異なる接続デバイスと頻繁にインタラクションを行う場合、ユーザ120は、各接続デバイスを制御するために、様々な異なるアプリケーションを動作させることを要求され得る。計算リソースをより効率的に使用し、ネットワーク帯域幅の浪費を防ぐために、クライアント自動アシスタント104および/または自動アシスタント118は、そこからユーザが1つまたは複数の異なる接続デバイス(たとえば、第1の接続デバイス132および第2の接続デバイス146)とインタラクションを行うことができる複合グラフィカルアシスタントインターフェースを提供し得る。
【００２９】
複合グラフィカルアシスタントインターフェースが生成および/または提供されるために、ユーザ120は、音声発話130をアシスタントインターフェース110に提供し得る。音声発話は、ユーザ120が、第1の接続デバイス132が特定の機能を実行することを希望することを示す要求を実現し得る。音声発話130に対応するオーディオデータは、クライアントデバイス102からサーバデバイス112に送信され得る。オーディオデータは、次いで、音声対テキストエンジン116によって、またテキストパーサエンジン114によって処理され得る。オーディオデータの処理から生じるテキストは、ユーザ120がその音声発話130において言及している1つまたは複数の機能を特定するために、機能識別エンジン142によって使用され得る。たとえば、機能識別エンジン142は、音声発話130からのテキストを接続デバイスサーバ134において利用可能にされた機能データ136と比較することができる。機能データ136は、1つまたは複数の接続デバイス(たとえば、第1の接続デバイス132および第2の接続デバイス146)が実行することが可能な機能の包括的なリストを提供し得る。機能識別エンジン142は、第1の接続デバイス132によって実行されることが可能な、ユーザが言及している、1つまたは複数の機能を特定するために、テキストを機能データ136と比較することができる。機能データ136は、追加または代替として、サーバデバイス112に対して局所的に記憶されてよい。
【００３０】
テキストが1つまたは複数の機能に対応すると決定したことに応答して、自動アシスタント118またはクライアント自動アシスタント104は、第1の接続デバイス132に1つまたは複数の特定された機能を実行させることができる。たとえば、第1の接続デバイス132が、限定しないが、オーブンなどのIoTデバイスであるとき、機能は、オーブンを特定の温度に予熱することを含み得る。第1の接続デバイス132において機能を実行させるためのコマンドは、サーバデバイス112から第1の接続デバイス132に提供され得る。代替として、第1の接続デバイス132に機能を実行させるためのコマンドは、サーバデバイス112から接続デバイスサーバ134に提供されてよく、接続デバイスサーバ134は、第1の接続デバイス132と通信して、第1の接続デバイス132に機能を実行させることができる。代替として、クライアントデバイス102がコマンドを第1の接続デバイス132に通信し得るか、またはサーバデバイス112がコマンドをクライアントデバイス102に通信し得、クライアントデバイス102が、第1の接続デバイス132と通信して第1の接続デバイス132に機能を実行させることができる。
【００３１】
第1の接続デバイス132に機能を実行させるための音声発話130を受信したことに応答して、自動アシスタントは、複合グラフィカルアシスタントインターフェースをクライアントデバイス102に関連するディスプレイデバイス(たとえば、タブレットデバイス150、テレビジョン、ラップトップ、セルフォン)において提供させることができる。複合グラフィカルアシスタントインターフェースを生成するために、自動アシスタント118は、機能データ136から、第1の接続デバイス132によって実行されることが可能な1つまたは複数の別の機能を特定し得る。いくつかの実施形態では、音声発話130がクライアントデバイス102において受信されたと決定したことに応答して、自動アシスタントは、第2の接続デバイス146(たとえば、異なるIoTデバイス)、タブレットデバイス150、および/またはクライアントデバイス102に関連付けられる任意の他のデバイスによって実行されることが可能な1つまたは複数の別の機能を決定し得る。たとえば、機能データ136は、ユーザ120に関連するデバイス、クライアントデバイス102、および/または第1の接続デバイス132に対応する機能の1つまたは複数のリストを含み得る。自動アシスタントは、少なくとも、第1の接続デバイス132に機能を実行させるその要求に鑑みて、ユーザ120が実行されることを望む可能性がある別の機能に対する示唆または推奨を提供するための1つまたは複数の機能を決定し得る。
【００３２】
たとえば、いくつかの実施形態では、ユーザに関するプロファイルは、アシスタントインターフェース110において受信された音声発話の音声特性に基づいて特定される。プロファイルは、ユーザの接続デバイスとの履歴インタラクションに基づいて学習されたプリファレンスなど、ユーザに関連付けられる複数の特定の接続デバイスの各々に関連するプリファレンスを示し得る。さらに、プロファイルは、ユーザ120が、同時に、連続して、かつ/または特定の1つまたは複数のコンテキストにおいてインタラクションを行うことを選好する接続デバイスのグループを特定し得る。たとえば、ユーザ120は、自動アシスタントが、第1の接続デバイス132に第1の機能を実行させ、第2の接続デバイス146に第2の機能させることを要求することができ、プロファイルは、たとえば、互いに時間的に近接して1回以上発生したことに基づいて、第1の機能および第2の機能を関係するとして特定し得る。その後、ユーザ120が自動アシスタントとインタラクションを行って第1の接続デバイス132に第1の機能を実行させるとき、自動アシスタントは、プロファイルにアクセスして、第1の機能とのその記憶された関係に基づいて、第2の機能を特定し、第2の接続デバイス146に第2の機能を実行させるための選択可能な示唆をユーザ120に提供し得る。
【００３３】
いくつかの実施形態では、ユーザ120と自動アシスタントとの間の履歴インタラクションは、ユーザ120が特定のコンテキストにおいて特定の接続デバイスとインタラクションを行う履歴傾向を決定するために、ユーザ120からの許可を用いて処理され得る。たとえば、ユーザ120は、朝に2つのIoTデバイスとインタラクションを行う履歴を有することがあり、したがって、自動アシスタントは、ユーザ120が朝に2つのIoTデバイスのうちの少なくとも1つとインタラクションを行っているとき、少なくとも朝が過ぎるまで、ユーザ120が他のIoTデバイスとインタラクションを行う傾向があることを通知し得る。追加として、または代替として、自動アシスタントは、ユーザ120のロケーションに基づいて示唆を提供し得る。たとえば、ユーザ120がその台所148にいるとき、ユーザ120はそのオーブン(たとえば、第1の接続デバイス132)に第1の機能を実行させ、そのタブレットデバイス150に第2の機能を実行させる履歴を有することがある。したがって、ユーザ120が第1の接続デバイス132に第1の機能を実行させ、ユーザ120が台所148内に入ると決定されると、自動アシスタントは、選択可能なサジェッション要素を複合グラフィカルアシスタントインターフェースにおいて提供させることができる。選択可能なサジェッション要素は、ユーザ120が第2の機能を第2の接続デバイス146において実行させるための示唆として動作し得る。ユーザは、たとえば、クライアントデバイス102またはタブレットデバイス150が第1の機能を実行するためにユーザによって利用されていることに基づいて、台所148内にいると決定され得る。「台所」は、たとえば、デバイス102および/またはデバイス150に台所ラベル148が割り当てられていることに基づいて、明示的なロケーションとして随意に特定され得る。代替として、ユーザのロケーションは、より一般的に、クライアントデバイス102またはタブレットデバイス150に対応するロケーションであってよい。いくつかの実施形態では、コンテキストは、ユーザ120が、自動アシスタントがアクセス可能であるカレンダーデータ内で特定されるイベントなど、特定のイベントに参加しているかどうかであってよい。いくつかの実施形態では、コンテキストは、ユーザ120とは異なる、1人または複数の他のユーザが特定のロケーションに存在するかどうかであってよい。
【００３４】
自動アシスタントがユーザ120に示唆するための別の機能を特定したとき、特定された別の機能は、グラフィカル制御要素140を特定するための基礎として使用され得る。たとえば、ファンをオンおよびオフにするなどの機能は、双方向スイッチに対応するグラフィカル制御要素140によって制御され得る。さらに、オーブンの温度または音楽の音量の調整などの機能は、値範囲のある値を選択するように回転され得るダイアルに対応するグラフィカル制御要素140を使用して制御され得る。自動アシスタント118またはクライアント自動アシスタント104は、サーバデバイス112において記憶され得るか、またはさもなければ、サーバデバイス112がアクセス可能であり得る、特定された別の機能をグラフィカル制御要素140にマッピングし得る。
【００３５】
複合インターフェースエンジン144は、複合グラフィカルアシスタントインターフェースを生成するために、グラフィカル制御要素140を特定された別の機能にマッピングし得る。いくつかの実施形態では、自動アシスタント118は、第1の接続デバイス132のステータスに対応するステータスデータ138にアクセスし得る。ステータスデータ138は、第1の接続デバイス132および/または第2の接続デバイス146の1つまたは複数の機能を実行することまたは実行しないことによる影響を受けることがあるデバイスステータスを示し得る。たとえば、第1の接続デバイス132の機能が何も実行されていないとき、第1の接続デバイス132のステータスは「オフ」であり得る。代替として、ステータスは、第1の接続デバイス132および/または第2の接続デバイス146の特定の機能の状態またはパラメータを示すデータの表またはストリングに対応し得る。第1の接続デバイス132および第2の接続デバイス146の各々に対するステータスは、そこから第1の接続デバイス132および第2の接続デバイス146の機能にマッピングされている各グラフィカル制御要素140に対する構成を決定する基礎として使用され得る。たとえば、第1の接続デバイス132がオフ状態にある加熱要素を含み、第1の接続デバイス132の機能が、加熱要素をオンにすることである場合、双方向スイッチに対応するグラフィカル制御要素が複合グラフィカルアシスタントインターフェースにおいて提供され、加熱要素がオフにされていることを示すような方法で構成され得る。言い換えれば、各グラフィカル制御要素は、複合グラフィカルアシスタントインターフェースがタブレットデバイス150において提示されると、第1の接続デバイス132および第2の接続デバイス146のそれぞれの現状を反映し得る。
【００３６】
いくつかの実施形態では、複合グラフィカルアシスタントインターフェースに対するグラフィカル制御要素の配置および/または選択は、ユーザ120と自動アシスタントおよび/または第1の接続デバイス132との間のインタラクションに関連するデータに基づき得る。たとえば、ユーザが前にそのような機能をしきい時間期間内に実行させたことに基づいて、機能の特定のグループに対応するグラフィカル制御要素の特定のグループが複合グラフィカルアシスタントインターフェースに対して選択され得る。代替として、または追加として、機能の特定のグループに対応するグラフィカル制御要素の特定のグループは、機能が特定のユーザ、特定のロケーション、特定のデバイス、および/またはデバイスの機能によって示され得る任意の他の関係にどのように影響を及ぼすかに基づいて、複合グラフィカルアシスタントインターフェースに対して選択され得る。たとえば、ユーザに対して生成される複合グラフィカルアシスタントインターフェースは、ユーザ120が現在位置する住宅に影響を及ぼす複数の異なる接続デバイスの機能に対応するグラフィカル制御要素を含み得る。したがって、グラフィカル制御要素の選択は、ユーザのロケーション、接続デバイスに対する識別子、ユーザのカレンダースケジュール、および/またはユーザに対するジオロケーションデータを推定するために使用され得る任意の他のデータに基づき得る。
【００３７】
いくつかの実施形態では、ユーザ120は、統合ディスプレイパネルが欠如しているか、またはさもなければ、アシスタントデバイス128において複合グラフィカルアシスタントインターフェースを容易に提示することができないアシスタントデバイス128に音声発話130を提供し得る。そのような実施形態では、自動アシスタントは、音声発話130をアシスタントデバイス128において受信し、ユーザ120によって要求された機能を第1の接続デバイス132によって実行させることができる。しかしながら、機能を実行する要求の受信およびディスプレイパネルがアシスタントデバイス128において利用可能でないと決定したことに応答して、自動アシスタントは、1つまたは複数の候補デバイスを特定し得る。候補デバイスは、アシスタントインターフェースを表示するためのその能力、ユーザ120に対するその近接性、アシスタントデバイス128に対するその近接性、第1の接続デバイス132に対するその近接性、および/または特定の候補デバイスに対するユーザ120のプリファレンスに基づいて特定され得る。たとえば、ディスプレイパネルが、自動アシスタントがアシスタントデバイス128において利用可能でないと決定し、タブレットデバイス150またはテレビジョンがアシスタントデバイス128に対する次に最も近接するディスプレイデバイスであると決定したとき、自動アシスタントは、タブレットデバイス150またはテレビジョンに複合グラフィカルアシスタントインターフェースを提示させることができる。このように、ユーザが特定の機能が接続デバイスによって実行されることを要求しているとき、ユーザ120は常にディスプレイパネル付近にいるとは限らないため、自動アシスタントは、複合グラフィカルアシスタントインターフェースを付近のディスプレイデバイスにおいて依然として生成させることができる。いくつかの実施形態では、自動アシスタントは、ユーザ120による、機能を実行するようにとの接続デバイス132に対する要求の提供に応答して、アシスタントデバイス128に複合グラフィカルアシスタントインターフェースのロケーションをユーザ120に可聴的に通知させることができる。たとえば、ユーザ120による音声発話「アシスタント、オーブンを予熱して」の提供に応答して、自動アシスタントは、アシスタントデバイス128に応答「Ok、あなたのタブレットデバイスに追加の制御のインターフェースを提供しました」を可聴的に出力させることができる。ユーザ120がそのタブレットデバイスを取り出しに行く場合、自動アシスタントは、したがって、ユーザ120が第1の接続デバイス132および第2の接続デバイス146に対する追加の制御を見出せることをユーザ120に通知し得る。
【００３８】
図2Aおよび図2Bは、複数の異なる接続デバイスを制御するための複数の異なるグラフィカル制御要素が提供されている複合グラフィカルアシスタントインターフェース222のビュー200および210を示す。ユーザ202による音声発話208の自動アシスタントインターフェース214を介した自動アシスタントへの提供に応答して、複合グラフィカルアシスタントインターフェース222がユーザ202に提供され得る。自動アシスタントインターフェース214は、たとえば、ユーザ202による自動アシスタントインターフェース214への可聴音声発話208の提供に応答して、信号を提供することが可能な少なくともマイクロフォンであってよい。たとえば、音声発話208は、「アシスタント、私の台所の温度を上げて」であってよい。音声発話208を受信したことに応答して、自動アシスタントは、ユーザ202がインタラクションを行うことを求めている機能および/または接続デバイスを決定することができ、実行されることをユーザ202が要求している機能を接続デバイスに実行させることができる。たとえば、音声発話208を受信したことに応答して、自動アシスタントは、ユーザ202の住宅内のサーモスタッドに住宅の少なくとも台所の温度を調整させることができる。
【００３９】
ユーザ202から提供される後続の音声発話の不要な処理を軽減し、それにより、計算およびネットワークリソースを保存するために、自動アシスタントは、クライアントデバイス204、または別個のデバイスのディスプレイパネル206において機能示唆を提供させることができる。たとえば、音声発話208を受信したことに応答して、自動アシスタント、クライアントデバイス204、および/またはリモートサーバデバイスは、そこから別の接続デバイスの別の機能を制御するための推奨を提供するデータにアクセスし得る。接続デバイスは、クライアントデバイス204および/または自動アシスタントにリンクされた、またはさもなければ、それと通信していることが可能なデバイスであってよい。データは、各接続デバイスのステータスに関する情報を提供することができ、複合グラフィカルアシスタントインターフェース222において提供される示唆は、特定の接続デバイスの特定のステータスに基づき得る。たとえば、ユーザ202が音声発話208を提供した時点の台所照明のステータスは「オフ」であり得、したがって、ユーザ202は台所の環境を変更することに関心を表明したため、ユーザ202は、台所内の照明のステータスを変更することにも関心があり得る。具体的には、台所内の照明は、その輝度に関連するノンバイナリパラメータであってよく、したがって、ユーザ202が台所照明を調整することにも関心があり得ると決定したことに応答して、自動アシスタントは、台所輝度制御218として機能し得るダイアルグラフィカル制御要素を選択し得る。
【００４０】
いくつかの実施形態では、台所輝度制御218は、ユーザ202がその温度を変更することに明確に関心を表明した台所照明が、台所として一般的なロケーション内にあることに基づいて、複合グラフィカルアシスタントインターフェース222に対して選択され得る。代替として、または追加として、台所輝度制御218は、特定のコンテキストにおいて台所温度および台所照明を修正するユーザ202の履歴傾向に基づいて、複合グラフィカルアシスタントインターフェース222においてユーザ202に推奨するために選択され得る。ユーザ202の履歴傾向は、ユーザプロファイルの部分、またはユーザ202と自動アシスタントの間、かつ/またはユーザ202と1つまたは複数の接続デバイスとの間の前のインタラクションに基づいて傾向を特徴付けるプリファレンスデータとして示され得る。いくつかの実施形態では、そのようなインタラクションは、特定の時間212(たとえば、午前6時の後)など、特定のコンテキストにおいて発生し得、したがって、自動アシスタントは、特定のコンテキストに基づいて、複合グラフィカルアシスタントインターフェース222を生成し得る。代替として、または追加として、コンテキストは、1つまたは複数のそれぞれの接続デバイスの1つまたは複数のステータスによって特徴付けられ得る。
【００４１】
代替として、または追加として、自動アシスタントは、ユーザからの要求を特定し、その要求を利用可能なデータ(たとえば、プリファレンスデータおよび/または履歴インタラクションデータ)と比較して、ユーザに示唆するための1つまたは複数の機能を決定し得る。自動アシスタントが示唆するための1つまたは複数の機能を特定したとき、自動アシスタントは、1つまたは複数の特定された機能の各機能に対応する各接続デバイスを特定し得る。次いで、実行するための機能に対する示唆が、冗長でないことを確実にするために、または結果として接続デバイスのステータスを変更させないことになるように、各接続デバイスのステータスが決定され得る。たとえば、ユーザは、一般に、朝にその台所照明をオンにし、その後、そのコーヒーメーカをオンにする。そのようなシナリオでは、自動アシスタントは、台所照明をオンにさせるために自動アシスタントを初期化するための音声発話(たとえば、「アシスタント、私の台所照明をオンにして」)を提供し得る。ユーザが台所照明とコーヒーメーカの両方をオンにする履歴インタラクションを示すデータに基づいて、自動アシスタントは、台所照明をオンにする要求を受信したことに応答して、コーヒーメーカおよび/またはコーヒーメーカをオンにするための機能を特定し得る。機能示唆が重要であることを確実にするために、自動アシスタントは、コーヒーメーカの現在のステータスをユーザが台所照明をオンにするときにユーザが接続デバイスに対して一般に所望するステータスと比較し得る。コーヒーメーカの現在のステータスが所望のステータスを反映する場合、自動アシスタントは、コーヒーメーカを制御するためのグラフィカル制御要素を複合グラフィカルアシスタントインターフェースにおいて提供することを除外し得る。しかしながら、コーヒーメーカの現在のステータスが所望のステータスを反映しない(たとえば、コーヒーメーカがオフである、したがって、所望のステータスを表明していない)場合、自動アシスタントは、コーヒーメーカをオンにするための機能を制御するためのグラフィカル制御要素を選択し得る。このように、複合グラフィカルアシスタントインターフェースは、すでに発生した可能性がある示唆を接続デバイスに提供するのではなく、ユーザが一般に所望することになる変更を実現することになるグラフィカル制御要素を提供するように最適化され得る。
【００４２】
たとえば、複合グラフィカルアシスタントインターフェース222は、それらが対応する特定の接続デバイスのステータスに基づいて、複合グラフィカルアシスタントインターフェース222に対して選択される様々な異なるグラフィカル制御要素を含み得る。たとえば、ユーザ202は台所の温度を上げるように求めたため、自動アシスタントは、オーブンおよび/またはコーヒーメーカなど、ユーザが制御することに関心を有し得る、台所内の別の接続デバイスを特定することができる。これらの接続デバイスの各々はオフであるため(オーブン温度制御216およびコーヒーメーカ制御220の構成によって示されるように)、これらの接続デバイスは、制御示唆に対する候補接続デバイスであり得る。さらに、ユーザ202は、すべて午前6時の後のしきい時間範囲内で、台所の温度を上げる、台所内の照明を調整する、そのオーブンを予熱する、およびそのコーヒーメーカをオンにする履歴を有し得る。これらのデバイスおよび/またはそれらのそれぞれの制御アプリケーションの各々が異なる第三者によって提供されているにもかかわらず、自動アシスタントは、ユーザ202が単一のインターフェースから各デバイスを制御することを可能にするために複合グラフィカルアシスタントインターフェース222をコンパイルし得る。
【００４３】
いくつかの実施形態では、ユーザ202が複合グラフィカルアシスタントインターフェース222においてグラフィカル制御要素のうちの1つを選択した結果として、対応する接続デバイスのステータスが変更され得る。たとえば、当初、台所輝度制御218が最低レベルであることに少なくとも基づいて、台所照明の輝度は「オフ」として示されている。ユーザ202が台所輝度制御218をより高いレベルに調整するとき、台所照明のステータスは、「オン」ステータスを有するように更新され得る。さらに、台所照明のステータスは、グラフィカル制御要素の調整に応答して生成される特定のスロット値を反映するように更新され得る。たとえば、スロット値は、台所輝度制御218が最高で60%まで調整されたことを示す「60%」であり得、したがって、台所照明のステータスは、「kitchen_lights:status(lights[on]、brightness[60]、hue[null])」になるように更新され得る。その後、いずれかの他の後続の示唆も台所照明の更新されたステータスに基づいてよい。たとえば、台所照明はこの時「オン」であるステータスを有するため、自動アシスタントは、台所照明がオンであり、台所照明の「色相」パラメータが「ヌル」、すなわち、デフォルト設定であることに少なくとも基づいて、複合グラフィカルアシスタントインターフェース222に台所照明の色相を修正するためのグラフィカル制御要素を提供させることができる。
【００４４】
いくつかの実施形態では、複合グラフィカルアシスタントインターフェース222は、ユーザ202による音声発話208の提供に応答して実行される機能のステータス指示224を提示し得る。さらに、音声発話208を受信したことに応答して、自動アシスタントは、複合グラフィカルアシスタントインターフェース222に音声発話を特徴付ける自然言語として実現される示唆を提供させることができる。音声発話は、自動アシスタントインターフェースに提供されると、自動アシスタントを初期化して、1つまたは複数の接続デバイスに1つまたは複数の機能を実行させるための音声発話であり得る。たとえば、音声発話208を受信したことに応答して、自動アシスタントは、音声発話208による影響を受けるエリア(たとえば、台所)内に位置する接続デバイスのステータスを特定し得る。自動アシスタントは、次いで、自動アシスタントインターフェースにおいて受信されると、自動アシスタントを初期化して接続デバイスに機能を実行させることになる自然言語入力を特定し得る。たとえば、接続デバイスがコーヒーメーカであるとき、自動アシスタントは、「アシスタント、コーヒーメーカをオンにして」など、コーヒーメーカを制御するために前に採用された音声発話を特定し得る。前述の音声発話の特定に応答して、自動アシスタントは、グラフィカルアシスタントインターフェース222にテキスト「コーヒーメーカをオンにして」を少なくとも含む選択可能なサジェッション要素として音声発話を提示させることができる。このように、ユーザ202は、コーヒーメーカをオンにするための選択可能なサジェッション要素を選択すること、または自動アシスタントを初期化してコーヒーメーカをオンにさせるために音声発話としてテキストを話すことのいずれかを行うことができる。自動アシスタントは、特定の接続デバイスとインタラクションを行うためにクライアントデバイス204によって使用され得るコマンドデータを取り出すこともできる。このように、自動アシスタントがユーザ202に対して行う特定の示唆を決定すると、自動アシスタントは、示唆された機能が接続デバイスによって実行されることを可能にすることになるデータを局所的に提供することもできる。結果として、自動アシスタントおよび/またはクライアントデバイスは、接続デバイスにどのように機能を実行させるかに関する追加の情報を得るために、ユーザによる示唆の選択に応答して、必ずしもリモートサーバと通信しなくてよいことになる。
【００４５】
図3Aおよび図3Bは、ユーザ302と自動アシスタントとの間のインタラクション、および/または1つまたは複数の接続デバイスの現在のステータスに基づいて、1つまたは複数の接続デバイスを制御するための示唆がユーザ302に提供されているビュー300および344を示す。たとえば、ユーザ302は、その台所320の中に入り、クライアントデバイス328(たとえば、アシスタントデバイス326)のアシスタントインターフェース332を介してクライアント自動アシスタント330を初期化し得る。ユーザ302は、「アシスタント、台所で音楽をかけて」など、音声発話322を提供することによって、クライアント自動アシスタントを初期化し得る。クライアント自動アシスタント330は、音声発話322を受信し、実行されることをユーザ302が望むアクションまたは機能を特定するために、音声発話322をクライアントデバイス328または別個のリモートサーバにおいて処理させることができる。クライアントデバイス328はディスプレイパネルを含まないため、クライアントデバイス328は、デバイストポロジーにアクセスして、そこから、要求された機能(すなわち、音楽をかける)に関連する何らかの機能および/またはデバイストポロジー内で特定された別の接続デバイスに関連する何らかの別の機能をさらに制御する複合グラフィカルアシスタントインターフェース306を提供する好適なデバイスを決定し得る。
【００４６】
たとえば、クライアント自動アシスタント330がアクセス可能な記憶されたデバイストポロジーは、台所320内のデバイスを特定するデバイストポロジー内のタブレットデバイス316、第1の接続デバイス318、および第2の接続デバイス324を特定し得る。デバイストポロジーは、ディスプレイパネルを備えた唯一のデバイスであるとしてタブレットデバイス316をさらに特定することができ、したがって、ユーザ302が台所320内にいる間にユーザ302に提示されることになるいずれの複合グラフィカルアシスタントインターフェースもタブレットデバイス316において提供され得る。さらに、好適な複合グラフィカルアシスタントインターフェースを生成するために、自動アシスタントは、各接続デバイスのステータスを特定し得る、かつ/または要求された機能(すなわち、音楽をかける)が実行された後、ユーザ302が接続デバイスのうちの1つとインタラクションを行っている履歴傾向を決定し得る。たとえば、第1の接続デバイス318(たとえば、オーブン)の現在のステータスはオフであるため、自動アシスタントは、複合グラフィカルアシスタントインターフェース306において選択可能なサジェッション要素310を提示することによってユーザがオーブンを制御することを示唆し得る。さらに、第2の接続デバイス324(たとえば、食器洗い機)の現在のステータスはオフであるため、自動アシスタントは、複合グラフィカルアシスタントインターフェース306において選択可能なサジェッション要素312を提示することによって、ユーザが食器洗い機を制御することを示唆し得る。その上、自動アシスタントは、音楽をかける、当初要求された機能に関連する何らかの別の機能が存在するかどうかを決定し、別の機能を制御するためのグラフィカル制御要素を複合グラフィカルアシスタントインターフェース306において提供し得る。たとえば、クライアント自動アシスタント330においてクライアント自動アシスタント330によって実行され得る、音楽をオンにする機能は、クライアントデバイスのステータスを、少なくとも「client_device:status(music[on]、volume[default])」にさせることができる。デフォルトモードであるクライアントデバイス328のパラメータに応答して、自動アシスタントは、対応するパラメータを制御するためのグラフィカル制御要素を提供し得る。たとえば、自動アシスタントは、台所320内の音楽の音量を制御するために、台所音量制御314を提供し得る。しかしながら、ユーザ302が音楽をオンにすることに対応する前の要求を提供しなかった場合、自動アシスタントは、複合グラフィカルアシスタントインターフェース306から台所音量制御314を除外し得る。
【００４７】
図3Bは、図3Aの複合グラフィカルアシスタントインターフェース306におけるユーザ302による選択可能なサジェッション要素の選択に応答して、自動アシスタントによって提供される異なる複合グラフィカルアシスタントインターフェース340のビュー344を示し得る。たとえば、ユーザ302の「オーブンを制御する」選択可能なサジェッション要素310の選択に応答して、自動アシスタントは、オーブン温度を設定するためのダイアル334を含む異なる複合グラフィカルアシスタントインターフェース340を提供し得る。ダイアル334の初期構成は、第1の接続デバイス318に現在のステータス、および/または第1の接続デバイス318の1つまたは複数の現在のパラメータを反映するように「0」であってよい。たとえば、第1の接続デバイス318の現在のステータスは、「oven:status(power[off]、temperature[0])」であってよく、したがって、ダイアル334の構成は、第1の接続デバイス318の複数の現在のパラメータを反映し得る。言い換えれば、ダイアル334がその最低状態にあることは、オーブン自体がオフであることを表し、したがって、温度は0に設定されている。そのようなパラメータは、複合グラフィカルアシスタントインターフェース340内にスペースを保存し、それを通してより多くの情報をユーザ302に提供するより直観的なモダリティを提供するために、単一のグラフィカル制御要素において統合され反映される。ユーザ302が「食器洗い機を制御する」選択可能なサジェッション要素312を選択した場合、「オフ」の現在のステータスおよび制御(オンまたはオフ)のための単一のパラメータを有する特定の第2の接続デバイス324に基づいて、スイッチ336が異なる複合グラフィカルアシスタントインターフェース340において提示される。いくつかの実施形態では、要求された機能に対応するメタデータ、または要求された機能(たとえば、音楽をかける)のステータスがステータス指示342として提示され得る。このように、ユーザ302は、その要求に関連する現在のステータスを決定するために、必ずしも自動アシスタントを再度起動させなくてよく、またはユーザ302は、そのような情報を決定するために、異なるインターフェースをスワップしなくてよい。むしろ、計算およびネットワークリソースの浪費を削減することになる統合インターフェースを提供するために、自動アシスタントメタデータは、他の第3者デバイスに関連するグラフィカル制御要素を用いて提示され得る。
【００４８】
いくつかの実施形態では、台所内の別の接続デバイスの現在のステータスは別の接続デバイスに関連するパラメータが設定されていることを示すため、自動アシスタントは、その接続デバイスに対するグラフィカル制御要素の提供を除外し得る。たとえば、ユーザ302が音声発話322を提供したとき、台所照明の現在のステータスが「オン」である場合、自動アシスタントは、台所照明の現在のステータスを確認応答し、照明をオフにするための機能を示唆することを除外し得る。そのような除外は、台所または住宅の他のエリア内の1つまたは複数のデバイスの1つまたは複数のステータス、および/またはユーザ302が台所内で音楽をかけることを要求するとき、その照明をオフにしないユーザ302の履歴傾向に基づき得る。いくつかの実施形態では、履歴傾向を特定することは、自動アシスタントが、1人または複数のユーザに対して好適な示唆を行うために処理されることになる特定のユーザに関連するデータを特定することを可能にする、ユーザ302の音声特性に基づき得る。いくつかの実施形態では、特定のグラフィカル制御要素の包含または除外は、特定の時間304の前もしくは後、または特定の時間に対するしきい値時間内、地理的ロケーション、イベント、および/または1人もしくは複数のユーザの存在など、ユーザが音声発話322を提供した特定のコンテキストに基づき得る。
【００４９】
図4Aおよび図4Bは、複数の異なる接続デバイスによって実行されることが可能な機能に対する示唆を含む複合グラフィカルアシスタントインターフェースを提供するための方法400および410を示す。方法410は、図4Aおよび図4Bにおいて円で囲まれた継続要素「A」によって示されるように方法400の継続であり得る。方法400および410は、1つまたは複数のコンピューティングデバイス、アプリケーション、および/または接続デバイスまたは自動アシスタントとインタラクションを行うことが可能な任意の他の装置またはモジュールによって実行され得る。方法400は、クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの接続デバイスに対する要求を含むと決定する動作402を含み得る。自動アシスタントインターフェースは、マイクロフォン、タッチディスプレイパネル、カメラ、センサー、および/またはそれを通してユーザが入力をデバイスに提供し得る任意の他の装置のうちの1つまたは複数であってよい。さらに、クライアントデバイスは、コンピューティングデバイスと一体であるか、またはさもなければ、コンピューティングデバイスと通信しているタッチディスプレイパネルを含み得るコンピューティングデバイスであってよい。たとえば、クライアントデバイスは、WiFiネットワークに接続されたアシスタントデバイスであってよく、アシスタントデバイスは、WiFiネットワークを介して別個のディスプレイパネル(たとえば、テレビジョンまたは他のディスプレイデバイス)と通信していてよい。クライアントデバイスが通信しているいずれのデバイスも接続デバイスであってよい。たとえば、クライアントデバイスが接続されたWiFiネットワークを含む住宅内のいずれのIoTデバイスも、接続デバイスとみなされ得る。代替として、または追加として、クライアントデバイスがローカルエリアネットワーク、広域ネットワーク、および/またはインターネット上で通信しているいずれのデバイスも、接続デバイスであり得る。自動アシスタントは、自動アシスタントインターフェースを介してユーザからコマンドを受信し、クライアントデバイスに接続デバイスとインタラクションを行わせることによって、接続デバイスと通信し得る。代替として、または追加として、自動アシスタントによるコマンドを受信したことに応答して、自動アシスタントは、リモートサーバに接続デバイスに対するコマンドを発行させることができる。代替として、または追加として、接続デバイスサーバが接続デバイスに特定の機能を実行させることになるために、自動アシスタントは、接続デバイスに関連付けられた接続デバイスサーバに対するコマンドをリモートサーバに発行させることができる。
【００５０】
方法400は、要求を受信したことに応答して、受信された要求に対応する機能を特定する動作404をさらに含み得る。機能は、クライアントデバイスと通信している1つまたは複数の接続デバイスによって実行されることが可能な利用可能な機能の記憶またはリストにアクセスすることによって特定され得る。いくつかの実施形態では、自動アシスタントを少なくとも部分的にホストするリモートサーバデバイスは、接続デバイスによって実行されることが可能な1つまたは複数の機能を特定するデータを提供し得る別個の接続デバイスサーバに問い合わせることができる。接続デバイスがIoTデバイスであるとき、機能は、限定はしないが、センサーから情報を提供すること、接続デバイスのハードウェア構成要素に対する入力パラメータを変更すること、接続デバイスにネットワーク動作を実行させること、接続デバイスに別の接続デバイスと通信させること、および/またはデバイスによって実行されることが可能な任意の別の機能など、接続デバイスによって実行されることが可能な任意の実行可能動作であり得る。たとえば、機能は、接続デバイスによって実行されると、接続デバイスに接続デバイスによって制御可能ないずれの照明もオフにさせることができ(たとえば、「function(connected_device:lights:{off})」、ここで、「オフ」は、パラメータ「照明」のスロット値である)。
【００５１】
方法400はまた、機能を特定することに基づいて、接続デバイスに受信された要求に対応する機能を実行させる動作406を含み得る。クライアントデバイスまたは自動アシスタントは、コマンドデータを接続デバイスに送信すること、またはコマンドデータを接続デバイスに送信させることによって、接続デバイスに機能を実行させることができる。接続デバイスが機能を実行した結果として、接続デバイスの実行によって実現される任意の変更を反映させるために、接続デバイスのステータスが修正され得る。接続デバイスのステータスは、「connected_device:status(lights[off]、brightness[null]、hue[null])」などのデータによって特徴付けられてよく、ここで、特定のパラメータまたはスロット値は、接続デバイスに提供される特定のスロット値(たとえば、「オフ」)の結果として、空またはヌルであり得る。いくつかの実施形態では、機能が接続デバイスによって実行されたコンテキストに応じて、ユーザに関連するプロファイル、またはコンテキストは、更新されてよく、またはさもなければ、機能を実行する要求を反映するように修正されてよい。このように、ユーザと接続デバイスおよび/または自動アシスタントとの間の履歴インタラクションに対応するデータは、ユーザと接続デバイスおよび/または自動アシスタントとの間の今後のインタラクションを拡張するために後で処理され得る。たとえば、機能が夜間にデバイスの照明をオフにする要求に対応するとき、プロファイルは、夜間に特定の機能をより高くランク付けするように、かつ/またはさもなければ、夜間に機能が実行されることを要求するユーザの履歴傾向を示すように更新され得る。その後、プロファイルは、特定のコンテキストにおいてそれらの、または同様の機能を要求するユーザの履歴傾向に少なくとも従って、様々な異なる接続デバイスによって実行されることになる機能に対する推奨を提供するための基礎として使用され得る。いくつかの実施形態では、プロファイルは、1つまたは複数の接続デバイスのステータスに従って示唆されるべきである機能を示し得る。このように、自動アシスタントは、1つまたは複数の接続デバイスの1つまたは複数のステータスを検査し、1つまたは複数の接続デバイスの1つまたは複数のステータスに基づいて、特定の機能を要求するユーザの履歴傾向を決定し得る。
【００５２】
方法400は、要求を受信したことに応答して、自動アシスタントによって、自動アシスタントがアクセス可能なデータに基づいてユーザに推奨するための別の機能を決定する動作408をさらに含み得る。別の機能は、動作406において実行される機能とは異なってよく、動作406において機能を実行した接続デバイスとは異なる接続デバイスによって実行されてよい。別の機能は、自動アシスタントがアクセス可能であり、現在のコンテキストにおいて別の機能を実行させる、または別の接続デバイスとインタラクションを行っているユーザの履歴傾向を示すデータに基づいて決定され得る。たとえば、別の機能は、動作406において機能を実行した接続デバイスの現在のステータスに基づいて決定され得る。したがって、接続デバイスの現在のステータスが「connected_device:status(lights[off]、brightness[null]、hue[null])」であるとき、示唆される別の機能は、ユーザがその照明をオフにし、照明のステータスを変更させ、そのセキュリティシステムをオンにしたときの前のインタラクションに少なくとも基づいて、セキュリティシステム(たとえば、別の接続デバイス)のセキュリティアラームをオンにすることであり得る。そのような示唆を提供することによって、ユーザが音声コマンドを発行して、そのような機能を実行させ、それにより、音声処理をもたらすことと比較して、計算リソースおよびネットワークリソースが保存され得る。
【００５３】
方法400は、図4Aおよび図4Bにおいて円で囲まれた継続要素「A」によって示すように、方法410に進むことができる。方法410は、別の機能を決定することに基づいて、別の接続デバイスの別の機能を制御するためのグラフィカル制御要素を特定する動作412を含み得る。グラフィカル制御要素は、クライアントデバイスおよび/または自動アシスタントにアクセス可能なメモリ内に記憶された複数のグラフィカル制御要素から選択され得る。いくつかの実施形態では、各グラフィカル制御要素は、グラフィカル制御要素によって特徴付けられることが可能な入力および/またはグラフィカル制御要素によって受信された選択またはジェスチャに応答して提供されることが可能な出力を示すメタデータに関連して記憶され得る。たとえば、双方向スイッチを表すグラフィカル制御要素は、グラフィカル制御要素がタッチ入力および/またはスワイプジェスチャを受信し得ることを示すメタデータに関連して記憶されてよく、かつ/またはグラフィカル制御要素は、1または0、および/またはオンまたはオフなど、二進出力を提供し得る。メモリは、各々が、2つ以上の異なる出力を提供すること、および/または様々な異なる入力を受信することが可能な、様々な異なるグラフィカル制御要素を記憶し得る。
【００５４】
方法410はまた、要求を受信したことに応答して、複合グラフィカルアシスタントインターフェースをクライアントデバイスに関連するディスプレイデバイスにおいて提供させる動作414を含み得る。複合グラフィカルアシスタントインターフェースは、選択および/またはジェスチャが複合グラフィカルアシスタントインターフェースにおいて受信されたとき、特定の機能を接続デバイスにおいて実行させることが可能な1つまたは複数の選択可能要素を備えたグラフィカルユーザインターフェースであってよい。複合グラフィカルアシスタントインターフェースは、接続デバイスがそれらの接続デバイスを制御するための他の異なる第三者アプリケーションに関連付けられているにもかかわらず、それを通してユーザが自動アシスタントおよび/または複数の異なる接続デバイスとインタラクションを行い得るモダリティとして機能し得る。このように、ユーザは、そのそれぞれのIoTデバイスを制御するために、必ずしも複数の異なるアプリケーションをダウンロードおよび/またはそれにアクセスしなくてよく、むしろ、複合グラフィカルアシスタントインターフェースをディスプレイパネルにおいて単に表示させることができる。さらに、複合グラフィカルアシスタントインターフェースは、1つまたは複数のそれぞれの接続デバイスの1つまたは複数のステータス、および/またはユーザが自動アシスタントおよび/またはクライアントデバイスとインタラクションを行っているコンテキストに従って、自動アシスタントによって適応され得る。いくつかの実施形態では、複合グラフィカルアシスタントインターフェースは、複合グラフィカルアシスタントインターフェースにおいて提示される特定のグラフィカル制御要素に対するスロット値を含むデータに関連付けられ得る。スロット値は、対応する機能に提供され得、対応する機能は、次いで、いずれかのそれぞれのグラフィカル制御要素に対応する接続デバイスによって実行され得る。
【００５５】
方法410は、グラフィカル制御要素の選択が複合グラフィカルアシスタントインターフェースにおいて受信されたと決定する動作416をさらに含み得る。グラフィカル制御要素の選択は、ユーザによるタッチ、またはさもなければ、ディスプレイパネルにおけるジェスチャの提供に応答して、複合グラフィカルアシスタントインターフェースを提供するディスプレイパネルによって送信されるデータに基づいて決定され得る。グラフィカル制御要素の決定された選択に対応するいずれのスロット値も、次いで、接続デバイス自体など、それぞれの接続デバイス、または接続デバイスサーバにおいて機能をさらに実行させる役目を果たすデバイスに提供され得る。
【００５６】
方法410はまた、グラフィカル制御要素の選択が受信されたと決定したことに応答して、別の接続デバイスに別の機能を実行させる動作418を含み得る。別の機能は、たとえば、ユーザの住宅のセキュリティシステムをオンにすることであってよい。別の機能は、その照明を手動でオフにし、そのセキュリティシステムをオンにするユーザの履歴傾向に少なくとも基づいて、ユーザに示唆され得る。別の機能も、照明の現在のステータス(たとえば、照明がオフにされていること)に基づいて示唆され得る。代替として、または追加として、別の機能は、照明の現在のステータスを「オフ」に変更することが要求されている、および/または要求が行われた現在のコンテキストが、時刻、ユーザに対する地理的ロケーション、1つまたは複数の他のデバイスのステータス、および/またはコンピュータ機能を実行させるために使用され得る任意の他の情報に対応すると自動アシスタントが決定することに基づいて示唆され得る。別の機能の実行に応答して、現在のステータスは、テーブル、または様々な接続デバイスのステータスに関する識別子を含む他のデータ記憶において更新され得る。このように、自動アシスタントは、ステータスの更新された組合せから、かつステータスが経時的に変更されるにつれて、追加のものを生成し得る。たとえば、この時、セキュリティアラームはオンであり、照明はオフであるため、自動アシスタントは、ユーザが新しい複合グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素とインタラクションを行うことによって、通信デバイスをサイレントモードに設定することを可能にするために、通信デバイスの機能を制御するためのグラフィカル制御要素を決定し得る。
【００５７】
図5は、複合グラフィカルアシスタントインターフェースを、接続デバイスを制御するためのグラフィカル制御要素に置換するための方法500を示す。方法500は、1つまたは複数のコンピューティングデバイス、アプリケーション、および/または接続デバイスおよび/または自動アシスタントとインタラクションを行うことが可能な任意の他の装置もしくはモジュールによって実行され得る。方法500は、ユーザがクライアントデバイスに関連するディスプレイパネルにおいて提供された第1の複合グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素を選択したと決定する動作502を含み得る。ディスプレイパネルは、クライアントデバイスの一体部分として、またはネットワーク上でクライアントデバイスと通信しているデバイスとして、クライアントデバイスに接続され得る。第1の複合グラフィカルアシスタントインターフェースは、接続デバイスが同じまたは異なるエンティティから製造されているにもかかわらず、それを通してユーザが様々な異なる接続デバイスを制御し得るモダリティをユーザに提供するために、ディスプレイパネルにおいて提示され得る。したがって、第1の複合グラフィカルアシスタントインターフェースは、それを通してユーザが様々な異なる接続デバイスを制御し得る複数の異なるグラフィカル制御要素を含み得る。
【００５８】
方法500はまた、ユーザがグラフィカル制御要素を選択したと決定したことに応答して、接続デバイスに選択されたグラフィカル制御要素に対応する機能を実行させる動作504を含み得る。接続デバイスは、クライアントデバイスおよび/または自動アシスタントを介して機能を実行させられ得る。たとえば、第1の複合グラフィカルアシスタントインターフェースによるグラフィカル制御要素の選択を受信したことに応答して、クライアントデバイスおよび/または自動アシスタントは、接続デバイスに機能を実行させるためのデータを接続デバイスに送信し得る。代替として、または追加として、クライアントデバイスは、データをリモートサーバに通信することができ、リモートサーバは、接続デバイスと通信して、接続デバイスに機能を実行させることができる。
【００５９】
方法500は、接続デバイスに関連するコンテキストにおいて別の接続デバイスの別の機能を制御するためにユーザの履歴傾向を特徴付けるユーザプリファレンスを決定する動作506をさらに含み得る。ユーザプリファレンスは、特定のコンテキストにおいて1つまたは複数の接続デバイスの特定の機能を制御するユーザの傾向またはプリファレンスを示すデータであってよい。たとえば、コンテキストは、1つまたは複数のそれぞれのデバイスの1つまたは複数のステータス、時刻、ユーザのジェスチャまたは凝視、スケジュールされたイベント、ユーザと自動アシスタントとの間の前のインタラクションとの一致、および/またはユーザが制御する機能を示唆する基礎として使用され得る任意の他のデータに対応し得る。いくつかの実施形態では、ユーザプリファレンスまたは他のデータは、特定のユーザが特定のコンテキストにおいてそれらの機能を制御するそれらの機能の需要または頻度に従って、機能をランク付けし得る。機能にランクを与えるために、学習モデルを採用して、実行される機能に関する入力を受信し、ユーザに示唆すべき機能に対するランクに対応するデータを出力することができる。学習モデルは、自動アシスタントとユーザとの間、かつ/またはユーザと1つもしくは複数の接続デバイスとの間のインタラクションを特徴付けるデータに基づいてトレーニングされ得る。
【００６０】
方法500はまた、ユーザプリファレンスを決定することに基づいて、別の接続デバイスの別の機能を特定する動作508を含み得る。ユーザプリファレンスデータは、別の機能、複数の異なる接続デバイス、別の機能に対応する、1つまたは複数のパラメータおよび/またはスロット値、特定のコンテキストにおいて別の機能に対して前に提供されているスロット値、および/または特定の機能を実行するのに有用であり得る任意の他のデータを特定し得る。
【００６１】
方法500は、別の機能を特定することに基づいて、別の接続デバイスの別の機能を制御するための別のグラフィカル制御要素を決定する動作510を含み得る。他のグラフィカル制御要素は、クライアントデバイスおよび/または自動アシスタントがアクセス可能なメモリから選択されてよく、他の特定された機能に対して少なくとも一定の対応を提供するメタデータに関連付けられ得る。たとえば、機能は、2つの異なるスロット値のみを利用し得るバイナリパラメータとは対照的に、2つ以上の異なるスロット値を受信し得るパラメータに関連付けられ得る。結果として、グラフィカル制御要素を制御するために選択されることになるグラフィカル制御要素は、ダイアルまたはスクロールバーなど、2つ以上の異なる値化出力(valued outputs)を提供することが可能なグラフィカル制御要素であり得る。
【００６２】
方法500は、クライアントデバイスに関連するディスプレイパネルに、第1の複合グラフィカルアシスタントインターフェースを、他のグラフィカル制御要素を含む第2の複合グラフィカルアシスタントインターフェースに置換させる動作512をさらに含み得る。第2の複合グラフィカルアシスタントインターフェースは、ユーザが特定のコンテキストにおいて特定の接続デバイスを制御するさらなる示唆を提供するために、第1の複合グラフィカルアシスタントインターフェースに取って代わることが可能である。いくつかの実施形態では、第1の複合グラフィカルアシスタントインターフェースは、第3者によって提供される単一の接続デバイスに対応し得、第2の複合グラフィカルアシスタントインターフェースは、複数の異なる第三者によって提供される複数の異なる接続デバイスに対応し得る。このように、ユーザは、異なる接続デバイスを制御するために様々な異なるアプリケーションをインストールすることおよび/または開くことが必要であるとは限らず、むしろ、様々な異なる接続デバイスを制御するために単一の複合グラフィカルアシスタントインターフェースとインタラクションを行い得る。
【００６３】
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は、一般に、バスサブシステム612を介していくつかの周辺デバイスと通信する、少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリ625およびファイル記憶サブシステム626を含む記憶サブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含み得る。入力および出力デバイスは、ユーザがコンピュータシステム610とインタラクションを行うことを可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークに対するインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【００６４】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィカルタブレットなどのポインティングデバイス、スキャナ、ディスプレイ内に組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、コンピュータシステム610内にまたは通信ネットワーク上に情報を入力するためのすべての考えられるタイプのデバイスおよび方法を含むことが意図される。
【００６５】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、オーディオ出力デバイスなどの非視覚ディスプレイをやはり提供し得る。概して、「出力デバイス」という用語の使用は、コンピュータシステム610からユーザにまたは別の機械もしくはコンピュータシステムに情報を出力するためのすべての考えられるタイプのデバイスおよび方法を含むことが意図される。
【００６６】
記憶サブシステム624は、本明細書で説明するモジュールのうちのいくつかまたはすべての機能性を提供するプログラミングおよびデータ構造を記憶する。たとえば、記憶サブシステム624は、方法400、方法410、方法500の選択された態様を実行するための、かつ/または接続デバイスサーバ134、サーバデバイス112、自動アシスタント118、クライアントデバイス102、第1の接続デバイス132、第2の接続デバイス146、機能特定エンジン142、複合インターフェースエンジン144、クライアントデバイス204、クライアントデバイス328、アシスタントデバイス326、および/または本明細書で論じた任意の他の動作または装置のうちの1つまたは複数を実装するための論理を含み得る。
【００６７】
これらのソフトウェアモジュールは、概して、プロセッサ614によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム624内で使用されるメモリ625は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)630、および固定命令が記憶される読取り専用メモリ(ROM)632を含む、いくつかのメモリを含み得る。ファイル記憶サブシステム626は、プログラムおよびデータファイルに対する永久記憶装置を提供し得、ハードディスクドライブ、関連するリムーバブル媒体とともにフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実施形態の機能性を実装するモジュールは、記憶サブシステム624内に、またはプロセッサ614によってアクセス可能な他の機械内に、ファイル記憶サブシステム626によって記憶され得る。
【００６８】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムに意図されるように互いと通信させるための機構を提供する。バスサブシステム612は、概略的に単一のバスとして示されているが、バスシステムの代替実施形態は、複数のバスを使用し得る。
【００６９】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または何らかの他のデータ処理システムもしくはコンピューティングデバイスを含めて、様々なタイプのものであってよい。コンピュータおよびネットワークの常に変化する性質により、図6に示すコンピュータシステム610の記述は、いくつかの実施形態を示すための特定の例であることが単に意図される。図6に示したコンピュータシステムよりも多数のまたは少数の構成要素を有する、多くの他の構成のコンピュータシステム610が可能である。
【００７０】
本明細書で説明したシステムが、ユーザ(または、本明細書で「参加者」と呼ばれることが多い)に関する個人情報を収集するか、または個人情報を活用し得る状況において、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザのプリファレンス、またはユーザの現在の地理的ロケーションに関する情報)を収集するかどうかを制御するため、もしくはユーザにより関連し得るコンテンツをコンテンツサーバから受信するかどうか、かつ/またはどのように受信するかを制御するための機会がユーザに提供され得る。また、一定のデータは、個人的な識別可能情報が除去されるように、そのデータが記憶または使用される前に1つまたは複数の方法で扱われてよい。たとえば、ユーザの識別情報は、ユーザに関して何の個人的な識別可能情報も決定することができないように扱われ得るか、またはユーザの特定の地理的ロケーションを決定することができないように、(市、郵便番号、または州レベルなどに関して)地理的ロケーション情報が取得される場合、ユーザの地理的ロケーションが一般化され得る。したがって、ユーザは、ユーザに関する情報がどのように収集され、かつ/または使用されるかに対して制御を有し得る。
【００７１】
いくつかの実施形態が本明細書において説明され示されてきたが、この機能を実行し、かつ/または本明細書で説明した利点の結果および/またはそれらの利点のうちの1つまたは複数を取得するための様々な他の手段および/または構造が利用されてよく、そのような変形形態および/または変更形態の各々は、本明細書で説明する実施形態の範囲内であるとみなされる。より一般的に、本明細書で説明したすべてのパラメータ、寸法、材料、および構成は、例示であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、この/これらの教示が使用される特定の1つまたは複数の適用例に依存することになる。当業者は、単にルーチン実験を使用して、本明細書で説明した特定の実施形態に対する多くの均等物を認識することになるか、またはそれらを確認することが可能になる。したがって、前述の実施形態は、単なる例として提示され、添付の特許請求の範囲およびそれに対する均等物の範囲内で、具体的に説明および特許請求される以外の実施形態が実践され得ることを理解されたい。本開示の実施形態は、本明細書で説明した各個々の特徴、システム、物品、材料、キット、および/または方法に関する。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法のいずれの組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００７２】
100  システム
102  クライアントデバイス
104  クライアント自動アシスタント、自動アシスタント
108  テキストパーサエンジン
110  アシスタントインターフェース
112  サーバデバイス
114  テキストパーサエンジン
116  音声対テキストエンジン
118  自動アシスタント
120  ユーザ
122  ネットワーク
128  アシスタントデバイス
130  音声発話
132  第1の接続デバイス
134  接続デバイスサーバ
136  機能データ
138  ステータスデータ
140  グラフィカル制御要素
142  機能特定エンジン
144  複合インターフェースエンジン
146  第2の接続デバイス
148  台所ラベル
150  タブレットデバイス、デバイス
200  ビュー
202  ユーザ
204  クライアントデバイス
206  ディスプレイパネル
208  音声発話、可聴音声発話
210  ビュー
214  自動アシスタントインターフェース
216  オーブン温度制御
218  台所輝度制御
220  コーヒーメーカ制御
222  複合グラフィカルアシスタントインターフェース、グラフィカルアシスタントインターフェース
300  ビュー
302  ユーザ
304  特定の時間
306  複合グラフィカルアシスタントインターフェース
310  サジェッション要素
312  サジェッション要素
314  台所音量制御
316  タブレットデバイス
318  第1の接続デバイス
320  台所
322  音声発話
324  第2の接続デバイス
326  アシスタントデバイス
328  クライアントデバイス
330  クライアント自動アシスタント
332  アシスタントインターフェース
334  ダイアル
336  スイッチ
340  複合グラフィカルアシスタントインターフェース
342  ステータス指示
344  ビュー
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリ
626  ファイル記憶サブシステム
【図１】
2021523465.tif 000003
【図２Ａ】
2021523465.tif 000004
【図２Ｂ】
2021523465.tif 000005
【図３Ａ】
2021523465.tif 000006
【図３Ｂ】
2021523465.tif 000007
【図４Ａ】
2021523465.tif 000008
【図４Ｂ】
2021523465.tif 000009
【図５】
2021523465.tif 000010
【図６】
2021523465.tif 000011
【手続補正書】
【提出日】令和3年1月7日(2021.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの接続デバイスに対する要求を含むと決定するステップであって、前記接続デバイスが、前記クライアントデバイスとリンクされ、前記音声発話がユーザによって提供される、ステップと、
前記要求を受信したことに応答して、前記受信された要求に対応する機能を特定するステップと、
前記機能を特定したことに基づいて、前記接続デバイスに前記受信された要求に対応する前記機能を実行させるステップと、
前記要求を受信したことに応答して、自動アシスタントによって、前記自動アシスタントがアクセス可能なデータに基づいて、前記ユーザに推奨するための別の機能を決定するステップであって、前記別の機能が、前記特定された機能とは異なり、かつ別の接続デバイスによって実行されることが可能である、ステップと、
前記別の機能を決定したことに基づいて、前記別の接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を特定するステップと、
前記要求を受信したことに応答して、複合グラフィカルアシスタントインターフェースを前記クライアントデバイスに関連するディスプレイパネルにおいて提供させるステップであって、前記複合グラフィカルアシスタントインターフェースが、前記特定されたグラフィカル制御要素を備える、ステップと、
前記グラフィカル制御要素の選択が前記複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、
前記グラフィカル制御要素の前記選択が受信されたと決定したことに応答して、前記別の接続デバイスに前記別の機能を実行させるステップと
を含む、方法。
【請求項２】
前記データが、前記別の接続デバイスの現在のステータスを特定し、前記現在のステータスを、前記グラフィカル制御要素の前記選択に応答して、異なるステータスに変更させる、請求項1に記載の方法。
【請求項３】
前記別の機能を決定するステップが、
前記データに基づいて、特定の機能が前記別の接続デバイスの前記現在のステータスを少なくとも部分的に実現したと決定するステップと、
前記特定の機能が前記別の機能とは異なることに少なくとも部分的に基づいて、前記ユーザに推奨するための前記別の機能を選択するステップと
を含む、請求項2に記載の方法。
【請求項４】
前記別の機能を決定するステップが、
前記別の接続デバイスの前記現在のステータスを少なくとも部分的に実現する機能の1つまたは複数のスロット値を決定するステップと、
前記接続デバイスの前記現在のステータスに影響を及ぼすことが可能な1つまたは複数の候補機能の1つまたは複数のパラメータを特定するステップと、
前記特定の機能が前記別の機能とは異なることに少なくとも基づいて、前記ユーザに推奨するための前記別の機能を前記選択するステップが、前記別の機能が前記特定の機能の別のパラメータとは異なるパラメータを含むかどうかに従って、前記1つまたは複数の候補機能から前記別の機能を選択するステップを含む、請求項3に記載の方法。
【請求項５】
前記自動アシスタントインターフェースに提供されると、前記自動アシスタントを初期化して、前記別の接続デバイスの前記別の機能を実行させる音声表現可能コマンドを決定するステップ
をさらに含み、
前記複合グラフィカルアシスタントインターフェースを前記ディスプレイパネルにおいて提供させるステップが、前記ディスプレイパネルに前記音声表現可能コマンドを示させるステップを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記自動アシスタントがアクセス可能なデータに基づいて、前記ユーザに推奨するための別の機能を決定するステップが、
前記クライアントデバイスまたは前記接続デバイスに対する1つまたは複数の追加の接続デバイスの関係を示す、記憶されたデバイストポロジーに基づいて、複数の接続デバイスから前記1つまたは複数の追加の接続デバイスを特定するステップと、
前記1つまたは複数の追加の接続デバイスによって実行されることが可能な1つまたは複数の追加の機能を特定するステップであって、前記別の機能が前記特定された1つまたは複数の追加の機能から決定される、ステップと
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記データが、前記別の機能を前に実行したこと、または実行していないことに基づく、前記1つまたは複数の追加の接続デバイスのステータスを示し、前記複合グラフィカルアシスタントインターフェースにおける前記グラフィカル制御要素の構成が、前記1つまたは複数の追加の接続デバイスの前記示されたステータスに基づく、請求項6に記載の方法。
【請求項８】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、機能を実行するようにとの自動アシスタントに対する要求を含むと決定するステップであって、前記音声発話がユーザによって提供される、ステップと、
前記要求が前記ユーザによって提供されたと決定したことに応答して、前記ユーザによって提供された前記要求に対応する機能を特定するステップと、
前記機能を特定したことに基づいて、前記自動アシスタントに前記ユーザによって提供された前記要求に対応する前記機能を実行させるステップと、
前記クライアントデバイスにリンクされた第1の接続デバイスの第1の現在のステータスを決定するステップであって、前記接続デバイスの前記第1の現在のステータスが、第1の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記クライアントデバイスにリンクされた第2の接続デバイスの第2の現在のステータスを決定するステップであって、前記第2の接続デバイスの前記第2の現在のステータスが、第2の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記第1の接続デバイスの前記第1の機能を制御するための第1のグラフィカル制御要素および前記第2の接続デバイスの前記第2の機能を制御するための第2のグラフィカル制御要素を決定するステップと、
前記第1の接続デバイスの前記第1の現在のステータスおよび前記第2の接続デバイスの前記第2の現在のステータスに基づいて、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定するステップと、
前記要求が受信されたと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記第1の接続デバイスおよび前記第2の接続デバイスを制御するための複合グラフィカルアシスタントインターフェースを提供させるステップであって、前記複合グラフィカルアシスタントインターフェースが、各グラフィカル制御要素に対する前記決定された構成に従って配置される、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素を含む、ステップと
を含む、方法。
【請求項９】
前記音声発話に関連する音声特性に基づいて、前記ユーザに関するプロファイルにアクセスするステップであって、前記第1の機能および前記第2の機能のうちの少なくとも1つの機能を特定するステップが、前記プロファイルから利用可能な情報に基づく、ステップ
をさらに含む、請求項8に記載の方法。
【請求項１０】
前記プロファイルが、特定のコンテキストにおいて前記第1の接続デバイスおよび前記第2の接続デバイスのうちの少なくとも1つの接続デバイスとインタラクションを行っている前記ユーザの履歴傾向を示す、請求項9に記載の方法。
【請求項１１】
前記特定のコンテキストが、前記第1の接続デバイスまたは前記第2の接続デバイスのステータス、前記ユーザの地理的ロケーション、時間、イベント、または1人または複数の他のユーザの存在のうちの1つまたは複数に対応する、請求項10に記載の方法。
【請求項１２】
前記第1の接続デバイスの第1の現在のステータスを決定するステップが、前記第1の現在のステータス、および前記第1の機能に関連するコマンドデータをリモートサーバデバイスから要求するステップであって、前記第1の機能が、前記自動アシスタントによって実行される前記機能とは異なる、ステップを含む、請求項8から11のいずれか一項に記載の方法。
【請求項１３】
前記第1の機能を制御するための前記第1のグラフィカル制御要素の選択を受信するステップと、
前記クライアントデバイスに、前記第1の機能に関連する前記コマンドデータに従って、前記第1の接続デバイスとインタラクションを行わせるステップと
をさらに含む、請求項12に記載の方法。
【請求項１４】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップであって、前記要求がクライアントデバイスの自動アシスタントインターフェースにおいて受信される、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントに前記要求に対応する前記機能を実行させるステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントによって実行される前記機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するために前記ユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップであって、前記接続デバイスが、前記クライアントデバイスにリンクされる、ステップと、
前記ユーザプリファレンスを決定したことに基づいて、前記接続デバイス、および前記接続デバイスの前記別の機能を特定するステップと、
前記接続デバイスを特定したことに基づいて、前記接続デバイスの現在のステータスを決定するステップであって、前記現在のステータスが、前記別の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記接続デバイスの前記別の機能および前記現在のステータスを特定するステップに基づいて、前記接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を決定するステップであって、前記グラフィカル制御要素は、結果として前記接続デバイスの前記現在のステータスを異なるステータスに変更されることになる前記接続デバイスによって前記別の機能を実行させるという前記グラフィカル制御要素の能力を示す、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記グラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップと
を含む、方法。
【請求項１５】
前記ユーザプリファレンスに基づいて、前記接続デバイスの別個の接続デバイスに関連する選択可能なサジェッション要素を決定するステップ
をさらに含み、前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記選択可能なサジェッション要素を含めさせるステップを含む、請求項14に記載の方法。
【請求項１６】
前記選択可能なサジェッション要素の選択が前記複合グラフィカルアシスタントインターフェースにおいて受信されたと決定するステップと、
1つまたは複数のグラフィカル制御要素を前記別個の接続デバイスの1つまたは複数の機能を制御するために前記ディスプレイデバイスにおいて提示させるステップと
をさらに含む、請求項15に記載の方法。
【請求項１７】
前記クライアントデバイスの前記自動アシスタントインターフェースにおいて受信されると、前記自動アシスタントを起動させて、前記別個の接続デバイスに前記別個の接続デバイスの前記1つまたは複数の機能を実行させる音声表現可能コマンドを決定するステップ
をさらに含み、
前記クライアントデバイスに関連する前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記音声表現可能コマンドの自然言語表現を含めさせるステップを含む、請求項15に記載の方法。
【請求項１８】
前記接続デバイスに前記機能を実行させたことに応答して、前記接続デバイスの最終結果ステータスを決定するステップであって、前記最終結果ステータスが前記機能の実行による影響を受ける、ステップ
をさらに含み、
前記クライアントデバイスに関連する前記ディスプレイパネルに前記複合グラフィカルアシスタントインターフェースを提供させるステップが、前記複合グラフィカルアシスタントインターフェースに前記接続デバイスの前記最終結果ステータスを示すグラフィカルインターフェース要素を含めさせるステップを含む、請求項15に記載の方法。
【請求項１９】
前記ユーザプリファレンスが、前記ユーザと前記自動アシスタントとの間の前のインタラクションに少なくとも部分的に基づいて、前記別の機能を制御するために前記ユーザの前記履歴傾向を特徴付ける、請求項14から18のいずれか一項に記載の方法。
【請求項２０】
前記前のインタラクションが、前記ユーザが前記グラフィカル制御要素を選択する前の前記ユーザと前記自動アシスタントとの間のダイアログセッションに対応し、前記ダイアログセッション中に、前記ユーザが、前記接続デバイスに前記別の機能を実行させる要求を提供していた、請求項19に記載の方法。
【請求項２１】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザが、機能を実行するようにとの自動アシスタントに対する要求を提供したと決定するステップであって、前記要求が、クライアントデバイスの自動アシスタントインターフェースにおいて受信される、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントに前記要求に対応する前記機能を実行させるステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記自動アシスタントによって実行された前記機能に関連するコンテキストにおいて接続デバイスの別の機能を制御するために前記ユーザの履歴傾向を特徴付けるユーザプリファレンスを決定するステップであって、前記接続デバイスが、前記クライアントデバイスにリンクされる、ステップと、
前記ユーザプリファレンスを決定したことに基づいて、前記接続デバイス、および前記接続デバイスに対する所望のステータスを特定するステップと、
前記接続デバイスを特定したことに基づいて、前記接続デバイスの現在のステータスを決定するステップであって、前記現在のステータスが、前記別の機能を実行することまたは実行しないことによる影響を受ける、ステップと、
前記所望のステータスが前記接続デバイスの前記現在のステータスとは異なるとき、
前記接続デバイスの前記別の機能および前記現在のステータスを特定したことに基づいて、前記接続デバイスの前記別の機能を制御するためのグラフィカル制御要素を決定するステップであって、前記グラフィカル制御要素は、結果として前記接続デバイスの前記現在のステータスを前記所望のステータスに変更されることになる前記接続デバイスによって前記別の機能を実行させるという前記グラフィカル制御要素の能力を示す、ステップと、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連するディスプレイパネルに前記グラフィカル制御要素を含む複合グラフィカルアシスタントインターフェースを提供させるステップと
を含む、方法。
【請求項２２】
前記所望のステータスが前記接続デバイスの前記現在のステータスに等しいとき、
前記ユーザが前記要求を提供したと決定したことに応答して、前記クライアントデバイスに関連する前記ディスプレイパネルに、前記接続デバイスの前記別の機能を制御するための特定のグラフィカル制御要素を省いた特定の複合グラフィカルアシスタントインターフェースを提供させるステップ
をさらに含む、請求項21に記載の方法。
【請求項２３】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から22のいずれか一項に記載の方法を実行させる命令を備える、コンピュータプログラム。
【請求項２４】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から22のいずれか一項に記載の方法を実行させる命令を備える、コンピュータ可読記憶媒体。
【請求項２５】
請求項1から22のいずれか一項に記載の方法を実行するための1つまたは複数のプロセッサを備える、システム。
【国際調査報告】
2021523465.tif 000012
2021523465.tif 000013
2021523465.tif 000014
2021523465.tif 000015
2021523465.tif 000016