(57)【要約】  複数の異なる接続デバイスとインタラクトするために合成グラフィカルアシスタントインターフェースを調整するための方法、装置、システム、およびコンピュータ可読媒体が提供される。合成グラフィカルアシスタントインターフェースは、自動アシスタントが、接続デバイスに特定の機能を実行させることの要求を、ユーザが与えたことに応答して生成され得る。自動アシスタントが要求を受信したことに応答して、自動アシスタントは、接続デバイスが実行することができる他の機能を識別することができる。次いで、他の機能は、ユーザがそこから接続デバイスとインタラクトすることができる合成グラフィカルアシスタントインターフェースを提供するために、様々なグラフィカル制御要素にマッピングされ得る。各グラフィカル制御要素は、接続デバイスが、合成グラフィカルアシスタントインターフェースの提示と同時にどのように動作しているかを反映するために、接続デバイスのステータスに従って配列され得る。
2021523456.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実装される方法であって、
自動アシスタントインターフェースを介して検出された音声発話が、クライアントデバイスとリンクされた接続デバイスの状態を修正するための要求を含むと決定するステップであって、前記音声発話がユーザによって与えられる、ステップと、
前記要求を受信したことに応答して、前記要求に対応する機能を識別するステップと、
前記機能を識別したことに基づいて、前記接続デバイスに前記要求に対応する前記機能を実行させるステップと、
前記接続デバイスの現在の状態を決定するステップであって、前記接続デバイスの前記現在の状態が前記機能の実行によって影響を受ける、ステップと、
前記接続デバイスによって実行され得る1つまたは複数の他の機能を識別するステップであって、前記接続デバイスの前記現在の状態が、前記1つまたは複数の他の機能の実行によってさらに影響を受ける、ステップと、
前記機能および前記1つまたは複数の他の機能を識別したことに基づいて、前記接続デバイスによって実行される前記機能を制御するための第1のグラフィカル制御要素と前記1つまたは複数の他の機能を制御するための第2のグラフィカル制御要素とを決定するステップと、
前記接続デバイスの前記現在の状態に基づいて、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定するステップと、
前記要求を受信したことに応答して、前記クライアントデバイスと関連づけられたディスプレイパネルに、前記接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供させるステップとを含み、
前記合成グラフィカルアシスタントインターフェースが、各グラフィカル制御要素に対して前記決定された構成に従って配列される、前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素を含む、方法。
【請求項２】
前記ユーザが前記ディスプレイパネルにおいて前記1つまたは複数の他の機能のうちの追加の機能に対応する前記第2のグラフィカル制御要素を選択したと決定するステップと、
前記ユーザが前記第2のグラフィカル制御要素を選択したと決定したことに応答して、前記接続デバイスに前記追加の機能を実行させるステップであって、前記追加の機能の実行が、前記接続デバイスに修正された状態を示させる、ステップと、
前記接続デバイスが前記追加の機能を実行したことに応答して、前記第2のグラフィカル制御要素を前記修正された状態に従って再構成させるステップとをさらに含む、請求項1に記載の方法。
【請求項３】
前記ディスプレイパネルがタッチインターフェースを含み、前記ユーザが前記タッチインターフェースを介して、1つまたは複数のジェスチャー入力を使用して前記第1のグラフィカル制御要素および前記第2のグラフィカル制御要素を直接制御することができる、請求項2に記載の方法。
【請求項４】
前記1つまたは複数の機能のうちの追加の機能を制御するための第3のグラフィカル制御要素と、前記第3のグラフィカル制御要素にリンクするように構成された選択可能なリンクとを決定するステップをさらに含み、
前記第1のクライアントデバイスと関連づけられた前記ディスプレイパネルに前記合成グラフィカルアシスタントインターフェースを提供させるステップが、前記選択可能なリンクを前記合成グラフィカルアシスタントインターフェースにおいて提供させるステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記ユーザが前記ディスプレイパネルにおいて前記選択可能なリンクを選択したと決定するステップと、
前記ユーザが前記選択可能なリンクを選択したと決定したことに応答して、前記合成グラフィカルアシスタントインターフェースに前記第3のグラフィカル制御要素を提供させるステップとをさらに含む、請求項4に記載の方法。
【請求項６】
前記クライアントデバイスが一体化されたディスプレイパネルを欠いており、前記方法が、
前記クライアントデバイスが前記一体化されたディスプレイパネルを欠いていると決定するステップと、
前記クライアントデバイスが前記一体化されたディスプレイパネルを欠いていると決定したことに応答して、前記ディスプレイパネルを組み込みかつ前記クライアントデバイスにリンクされた追加の接続デバイスを識別するステップとをさらに含み、
前記ディスプレイパネルに前記合成グラフィカルアシスタントインターフェースを提供させるステップが、前記追加の接続デバイスの前記ディスプレイパネルに前記合成グラフィカルアシスタントインターフェースをレンダリングさせるステップを含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記追加の接続デバイスを識別するステップが、
前記クライアントデバイスに対する前記追加の接続デバイスの近接を示す記憶されたデバイストポロジーに基づいて、複数の候補デバイスから前記追加の接続デバイスを選択するステップを含む、請求項6に記載の方法。
【請求項８】
1つまたは複数のプロセッサによって実装される方法であって、
自動アシスタントインターフェースを介して検出された音声発話が、接続デバイスが機能を実行することの要求を含むと決定するステップであって、前記音声発話がユーザによってあたえられ、前記接続デバイスがクライアントデバイスにリンクされる、ステップと、
前記要求を受信したことに応答して、前記要求に対応する前記機能を識別するステップと、
前記機能を識別したことに基づいて、前記接続デバイスに前記要求に対応する前記機能を実行させるステップと、
前記クライアントデバイスにアクセス可能な履歴的インタラクションデータに基づいて、前記ユーザからの前の要求に従って前記接続デバイスによって前に実行された1つまたは複数の他の機能を決定するステップと、
前記1つまたは複数の他の機能を識別したことに基づいて、前記1つまたは複数の他の機能を制御するためのグラフィカル制御要素を決定するステップと、
前記要求を受信したことに応答して、前記クライアントデバイスと関連づけられたディスプレイパネルに前記接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供させるステップとを含み、
前記合成グラフィカルアシスタントインターフェースが、前記グラフィカル制御要素を含む、方法。
【請求項９】
前記音声発話と関連づけられた音声特性に基づいて前記ユーザに対するプロフィールを決定するステップをさらに含み、前記合成グラフィカルアシスタントインターフェースを前記クライアントデバイスにおいて提供させるステップが、前記合成グラフィカルアシスタントインターフェースに、前記決定されたプロフィールに基づいて配列された複数のグラフィカル制御要素を含ませるステップを含む、請求項8に記載の方法。
【請求項１０】
前記複数のグラフィカル制御要素が、前記決定されたプロフィールによって示される前記ユーザの選好に基づいて、少なくとも1つの利用可能なグラフィカル制御要素を省略する、請求項9に記載の方法。
【請求項１１】
前記接続デバイスの現在の状態を示す状態データをリモートサーバデバイスに要求するステップであって、前記接続デバイスの前記現在の状態が、前記接続デバイスによって前に実行された前記1つまたは複数の機能によって影響を受ける、ステップと、
前記リモートサーバデバイスから前記状態データを受信するステップと、
前記状態データに基づいて前記グラフィカル制御要素に対する構成を決定するステップとをさらに含み、
前記グラフィカル制御要素が、前記決定された構成に従って前記合成グラフィカルアシスタントインターフェースにおいて配列される、請求項1から10のいずれか一項に記載の方法。
【請求項１２】
前記状態データを要求したことに応答して、前記接続デバイスの前記現在の状態を修正するための追加の機能に対応するコマンドデータを受信するステップをさらに含む、請求項11に記載の方法。
【請求項１３】
前記追加の機能を制御するための追加のグラフィカル制御要素と選択可能なリンクとを決定するステップをさらに含み、前記クライアントデバイスと関連づけられた前記ディスプレイパネルに前記合成グラフィカルアシスタントインターフェースを提供させるステップが、前記合成グラフィカルアシスタントインターフェースに前記選択可能なリンクを含ませるステップを含み、前記選択可能なリンクが、前記選択可能なリンクのユーザ選択を受信したことに応答して、前記追加のグラフィカル制御要素を公開するように構成される、請求項12に記載の方法。
【請求項１４】
1つまたは複数のプロセッサによって実装される方法であって、
ユーザが、クライアントデバイスと関連づけられたディスプレイパネルにおいて提供された第1の合成グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素を選択したと決定するステップであって、前記第1の合成グラフィカルアシスタントインターフェースを介して、前記ユーザは、前記クライアントデバイスと通信している接続デバイスを制御することができる、ステップと、
前記ユーザが前記グラフィカル制御要素を選択したと決定したことに応答して、前記接続デバイスに、前記グラフィカル制御要素に対応する機能を実行させるステップであって、前記接続デバイスが、複数の異なる機能を実行するように構成される、ステップと、
前記ユーザが前記グラフィカル制御要素を選択したと決定したことに応答して、前記複数の異なる機能のうちの1つまたは複数の他の機能を制御するために前記ユーザの履歴的性向を特徴づけるユーザ選好を決定するステップと、
前記ユーザ選好を決定したことに基づいて、前記複数の異なる機能のうちの前記1つまたは複数の他の機能を識別するステップと、
前記1つまたは複数の他の機能を識別したことに基づいて、前記接続デバイスの前記1つまたは複数の他の機能を制御するための1つまたは複数のグラフィカル制御要素を決定するステップと、
前記ユーザが前記グラフィカル制御要素を選択したと決定したことに応答して、前記クライアントデバイスと関連づけられた前記ディスプレイパネルに、前記第1の合成グラフィカルアシスタントインターフェースを、前記1つまたは複数のグラフィカル制御要素を含む第2の合成グラフィカルアシスタントインターフェースと置き換えさせるステップとを含む、方法。
【請求項１５】
前記接続デバイスの状態を決定するステップであって、前記状態が、前記機能および前記1つまたは複数の他の機能の実行によって影響を受ける、ステップと、
前記接続デバイスの前記状態に基づいて、前記1つまたは複数のグラフィカル制御要素の各グラフィカル制御要素に対する配列を決定するステップとをさらに含む、請求項14に記載の方法。
【請求項１６】
前記接続デバイスの前記状態が、前記1つまたは複数の他の機能の各機能の実行または不実行によってもたらされた状況に基づく、請求項15に記載の方法。
【請求項１７】
前記接続デバイスの前記状態が、前記機能の実行によってもたらされた状況に基づき、前記第2の合成グラフィカルアシスタントインターフェースが、前記状況を示すグラフィカルインターフェース要素を含む、請求項15に記載の方法。
【請求項１８】
前記第2の合成グラフィカルアシスタントインターフェースが、前記機能に対応する前記グラフィカル制御要素を排除する、請求項17に記載の方法。
【請求項１９】
前記ユーザ選好が、少なくとも、前記ユーザと、前記クライアントデバイスの自動アシスタントインターフェースを介してアクセス可能な自動アシスタントとの間の前のインタラクションに基づいて、前記複数の異なる機能のうちの1つまたは複数の他の機能を制御するために前記ユーザの前記履歴的性向を特徴づける、請求項14に記載の方法。
【請求項２０】
前記前のインタラクションが、前記ユーザが前記グラフィカル制御要素を選択する前の、前記ユーザと前記自動アシスタントとの間の対話セッションに対応し、前記対話セッションの間に、前記ユーザが、前記接続デバイスに前記機能を実行させることの要求を与えている、請求項19に記載の方法。
【請求項２１】
命令を含むコンピュータプログラム製品であって、前記命令が、1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の前記方法を遂行させる、コンピュータプログラム製品。
【請求項２２】
命令を含むコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の前記方法を実行させる、コンピュータ可読記憶媒体。
【請求項２３】
請求項1から20のいずれか一項に記載の前記方法を実行するための1つまたは複数のプロセッサを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供するための方法、システムおよび装置に関する。
【背景技術】
【０００２】
人間は、本明細書で「自動アシスタント」と呼ばれる(同じく、「デジタルエージェント」、「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などと呼ばれる)インタラクティブソフトウェアアプリケーションを用いて人間とコンピュータの会話を行い得る。たとえば、人間(自動アシスタントと対話するときに「ユーザ」と呼ばれることがある)は、場合によってはテキストに変換されて処理されることがある音声の自然言語入力(すなわち、発話)を使用して、および/またはテキストの(たとえば、タイプされた)自然言語入力を提供することによって、自動アシスタントにコマンドおよび/または要求を提供し得る。
【０００３】
いくつかの自動アシスタントは、モノのインターネット(「IoT」)デバイスを制御するために使用され得る。しかしながら、多くのIoTデバイスは、それら自体の対応するアプリケーションを搭載していることができる。その結果、複数の異なるIoTデバイスを獲得したユーザは、ユーザのパーソナルコンピューティングデバイス上に多様なサードパーティアプリケーションをインストールする任務を負う場合がある。アプリケーションは一般的にメモリ、ネットワーク帯域幅、アップデート、および/または他のリソースを要求することができるので、単一のデバイス上に多様な同様のアプリケーションを有することは、非効率であり得る。ユーザは、ユーザと特定のIoTデバイスとの間のインタラクションを仲介することを自動アシスタントに依存し得るが、そのようなインタラクションは、ユーザからの音声発話(spoken utterance)がオーディオからテキストに変換されることをしばしば必要とすることがある。オーディオからテキストへの変換をもたらすために、オーディオデータがネットワーク上でしばしば送られなければならず、それによって著しいネットワーク帯域幅が消費される。さらに、そのような方法でインタラクションを仲介することは、ユーザが、会話している他の人々に囲まれているか、または場合によっては、背景雑音がある環境の中にいるときには信頼できないことを証明し得る。その結果、ユーザと自動アシスタントとの間の対話セッションは、IoTデバイスが特定の機能を実行することの要求が最終的に識別されないか、または場合によっては満足されないときには、計算リソースおよびネットワークリソースを浪費する場合がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、一般に、それを介して複数の異なるデバイスを制御する合成グラフィカルアシスタントインターフェースを提供するための方法、装置、および(一時的および非一時的)コンピュータ可読媒体を対象にする。電球および他の電気器具などの一般的デバイスのネットワーク接続がより普及するにつれて、ネットワーク上でそのようなデバイスとインターフェースする方法が増加し得る。これは、いくぶん、同様のデバイスを作るメーカーの数の増加に起因し得る。たとえば、数十のスマート電球メーカーがあって、電球メーカーの大部分が、それらのそれぞれの電球を制御するためのアプリケーションまたはインターフェースを提供する場合がある。その結果、異なるメーカーからの電球をインストールするユーザは、電球を制御するために彼らのパーソナルコンピューティングデバイスに様々なアプリケーションをダウンロードする場合がある。これはメモリを浪費することがある。なぜならば、1つのデバイス上に複数のアプリケーションを有することは、それぞれのメーカーに対してアップデート、共有データ、および/またはプッシュ通知をデバイスにチェックさせることがあるので、複数のアプリケーションをインストールすることは、かなりの量のデバイスメモリを占有すると同時に、ネットワーク帯域幅を浪費することがあるからである。これらのおよび/または他の制限を克服するために、本明細書で説明するいくつかの実装形態は、デバイスが異なるサードパーティによって提供されるにもかかわらず、様々なデバイスを制御するための合成グラフィカルアシスタントインターフェースを生成するために、自動アシスタントのための様々な技法を提供する。
【０００５】
合成グラフィカルアシスタントインターフェースは、1つまたは複数のデバイスの制御をもたらすために1つまたは複数のグラフィカル要素からコンパイルされるインターフェースであり得る。合成グラフィカルアシスタントインターフェースは、ユーザと任意の接続デバイスとの間の仲介として働くことができる自動アシスタントによって採用され得る。たとえば、ユーザは、「アシスタント、私の台所の照明を点けて」などの音声発話を与えることができる。音声発話は、1つまたは複数のマイクロフォンおよびディスプレイパネルを含むことができるクライアントデバイスにおいて受信され得、それに応答して、自動アシスタントは、ユーザの家の台所内の任意の照明を点灯させることができる。さらに、自動アシスタントは、ユーザが自動アシスタントに制御することを要求した「モノのインターネット」(IoT)デバイスのタイプを識別して、IoTデバイスのタイプと関連づけられた1つまたは複数の制御パラメータを識別することができる。制御パラメータは、IoTデバイスの状態を修正するためにIoTデバイスに供給され得るスロット値に対応することができ、それゆえ、制御パラメータは、IoTデバイスに対して受け入れ可能なスロット値を分析することによって識別され得る。たとえば、スマート電球などのIoTデバイスは、電球の照明状態に対応し得る「オン」および「オフ」などのスロット値、および/または電球の色状態に対応し得る「赤」、「緑」および「青」などの色値とを受信することができる。さらに、IoTデバイスは、電球の輝度状態に対応し得る、0と100との間の任意の数などのスロット値を受信することができる。自動アシスタントが、IoTデバイスのすべての可能なスロット値および/または得られた状態を識別したとき、自動アシスタントは、合成グラフィカルアシスタントインターフェースをそれらからコンパイルするのに好適なグラフィカル制御要素を識別することができる。
【０００６】
たとえば、いくつかの実装形態では、自動アシスタントは、特定のIoTデバイスの所与の機能に対するスロット値の総数を識別して、機能とグラフィカル制御要素とを相互に関連付けることができる。自動アシスタントは、2つのスロット値(たとえば、「オン」および「オフ」)を有する機能に対するグラフィカル制御要素を選択するとき、2位置電気スイッチと同様の、2つの状態を有するグラフィカル制御要素を選択することができる。さらに、自動アシスタントは、スロット値として色の名前(たとえば、「赤」、「緑」および「青」)を有する機能に対するグラフィカル制御要素を選択するとき、色付きボタンの配列など、色分けされた入力を有するグラフィカル制御要素を選択することができる。その上、自動アシスタントは、スロット値の少なくとも1つのしきいの数(たとえば、3以上、6以上、11以上など)を有する機能に対するグラフィカル制御要素を選択するとき、ポテンショメータなど、ダイアル制御のようなグラフィカル制御要素を選択することができる。
【０００７】
自動アシスタントが、合成グラフィカルアシスタントインターフェースをそれらから生成するために1つまたは複数の好適なグラフィカル制御要素を選択したとき、自動アシスタントは、次いで、クライアントデバイスに合成グラフィカルアシスタントインターフェースを表示させることができる。たとえば、「アシスタント、私の台所の照明を点けて」という音声発話を受信したことに応答して、自動アシスタントは、台所の照明を点灯させるとともに、クライアントデバイスに選択されたグラフィカル制御要素を有する合成グラフィカルアシスタントインターフェースを表示させることができる。それゆえ、合成グラフィカルアシスタントインターフェースは、照明をオンオフするための2位置スイッチ、照明の色を制御するための色分けされた入力、および/または照明の輝度を調節するためのダイアル制御などのグラフィカル制御要素を用いてクライアントデバイスのディスプレイパネルにおいて表示される。各それぞれのデバイスおよび/または各それぞれのデバイスメーカーに対する唯一のアプリケーションにアクセスする必要がある方式ではなく、これらのおよび他の方式では、自動アシスタントは、ユーザがいくつかのデバイスの状態を修正するために関与することができる、よく知られたグラフィカル制御要素を有する同様のインターフェースを生成することができる。同じく、そのような方式で合成グラフィカルアシスタントインターフェースをコンパイルすることによって、ネットワーク帯域幅は保存され得る。なぜならば、クライアントデバイスは、必ずしも、音声発話を処理するためにリモートサーバと通信する必要はないからである。
【０００８】
その上、様々な実装形態では、上記でおよび本明細書の他の場所で説明したように、接続デバイスの機能を制御するためのグラフィカルアシスタントインターフェースは、接続デバイスを制御するための音声コマンドに応答してレンダリングされる。たとえば、「サーモスタットを72度に調節して」との音声入力に応答して、サーモスタットの設定点を72度に変更することを反映し、タッチインタラクションが制御された設定点機能をさらに調節することを可能にし、かつタッチインタラクションが追加の機能(たとえば、湿度機能、ファンオン/オフ機能など)をさらに調節することを可能にする、インタラクティブアシスタントインターフェースがレンダリングされ得る。これらのおよび他の方式では、提示されたアシスタントインターフェースは、接続デバイスの制御の実行の継続において、ユーザをさらに支援する。さらに、提示されたインターフェースは、たとえばさらなる音声入力を介してもたらされるさらなる調節と比較して、よりネットワークリソースおよび/または計算リソース効率が高い、機能のさらなる調節を可能にすることができる。
【０００９】
いくつかの実装形態では、デバイスの状態が、自動アシスタントによって提示される合成グラフィカルアシスタントインターフェースにおいて反映され得る。たとえば、「アシスタント、私の台所の照明を点けて」という音声発話を受信したことに応答して、自動アシスタントは、前述の合成グラフィカルアシスタントインターフェースをクライアントデバイスのディスプレイパネルにおいて提示させることができる。さらに、自動アシスタントが台所の照明を点灯させた後、自動アシスタントは、台所の照明の得られた状態(たとえば、状態:[照明「オン」、...]を識別して、台所の照明の状態を表すように合成グラフィカルアシスタントインターフェースのグラフィカル制御要素を構成することができる。たとえば、台所の照明を制御するためのグラフィカル制御要素は、ユーザが音声発話を自動アシスタントに対して発することによって生じた状態の変化を反映するために、「オン」状態にあることを提示し続けることができる。いくつかの実装形態では、デバイスの他の状態もまた、合成グラフィカルアシスタントインターフェースにおいて反映され得る。たとえば、台所の照明の輝度レベルが50%である時、ユーザが音声発話を与えると、自動アシスタントは、台所の照明の輝度レベルを制御するダイアルに50%を示させることができる。言い換えれば、自動アシスタントがIoTデバイスの状態を修正する特定の音声発話を受信したことに応答して、自動アシスタントは、IoTデバイスの状態をユーザに正確に示すために、追加の状態情報をIoTデバイスから検索(または受信)することができる。さらに、自動アシスタントが特定の音声発話を受信したことに応答して、自動アシスタントは、IoTデバイスによって実行され得る他の機能を決定することができる。これは、IoTデバイスの状態を修正するために採用され得る複数の制御を反映している、より包括的な合成グラフィカルアシスタントインターフェースを自動アシスタントがコンパイルすることを可能にすることができる。
【００１０】
ユーザの以前の自動アシスタントとのインタラクションを反映しているグラフィカルアシスタントインターフェースを提供することによって、改善された効率のユーザインタラクションが促進され得る。特に、IoTデバイスの制御などの関連するアシスタントタスクが、低減されたインタラクションのセットを用いて促進され、それによって、それらのインタラクションに関連するコンピュータおよびネットワークのリソースの消費が低減され得る。その上、いくつかの例では、最初のインタラクションは、発話の認識を介するなど、代替様式を介して遂行されてよく、発話は、いくつかの制御(たとえば、オン状態またはオフの状態の二者選択)に特に適切であるが、関連機能(望ましいレベルまたはバランスの精密制御など)に対しては、それほど効率的ではない。それゆえ、各機能に対して適切な様式が、自動化された効率的な方式で提示され得る。さらに、グラフィカルインターフェースの提供が、最初のユーザ入力に関連する機能の発見可能性を強化し得る。
【００１１】
上記の説明は、本開示のいくつかの実装形態の概観として提供される。それらの実装形態および他の実装形態のさらなる説明は、以下でより詳細に説明される。
【００１２】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法は、自動アシスタントインターフェースを介して検出された音声発話が、クライアントデバイスとリンクされる接続デバイスの状態を修正することの要求を含むと決定することなどの動作を含むとして説明される。音声発話はユーザによって与えられる。方法は、要求を受信したことに応答して、受信された要求に対応する機能を識別するステップと、機能を識別したことに基づいて、接続デバイスに受信された要求に対応する機能を実行させるステップと、接続デバイスの現在の状態を決定するステップとをさらに含むことができる。接続デバイスの現在の状態は、機能の実行によって影響を受けることがある。方法は、接続デバイスによって実行され得る1つまたは複数の他の機能を識別するステップを含むこともできる。接続デバイスの現在の状態は、1つまたは複数の他の機能の実行によってさらに影響を受けることがある。方法は、機能および1つまたは複数の他の機能を識別したことに基づいて、接続デバイスによって実行される機能を制御するための第1のグラフィカル制御要素と1つまたは複数の他の機能を制御するための第2のグラフィカル制御要素とを決定するステップをさらに含むことができる。方法はまた、接続デバイスの現在の状態に基づいて、第1のグラフィカル制御要素および第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定するステップと、要求を受信したことに応答して、クライアントデバイスと関連づけられたディスプレイパネルに接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供させるステップとを含むことができる。合成グラフィカルアシスタントインターフェースは、各グラフィカル制御要素に対して決定された構成に従って配列される、第1のグラフィカル制御要素および第2のグラフィカル制御要素を含むことができる。
【００１３】
いくつかの実装形態では、方法は、ユーザがディスプレイパネルにおいて1つまたは複数の他の機能のうちの追加の機能に対応する第2のグラフィカル制御要素を選択したと決定するステップと、ユーザが第2のグラフィカル制御要素を選択したと決定したことに応答して、接続デバイスに追加の機能を実行させるステップであって、追加の機能の実行が接続デバイスに修正された状態を示させる、ステップと、接続デバイスが追加の機能を実行したことに応答して、第2のグラフィカル制御要素を修正された状態に従って再構成させるステップとを含むことができる。
【００１４】
いくつかの実装形態では、ディスプレイパネルは、ユーザが、1つまたは複数のジェスチャー入力を使用して第1のグラフィカル制御要素および第2のグラフィカル制御要素を直接制御することができるタッチインターフェースを含む。いくつかの実装形態では、方法は、1つまたは複数の機能のうちの追加の機能を制御するための第3のグラフィカル制御要素と、第3のグラフィカル制御要素にリンクするように構成された選択可能なリンクとを決定するステップを含むことができる。第1のクライアントデバイスと関連づけられたディスプレイパネルに、合成グラフィカルアシスタントインターフェースを提供させるステップは、選択可能なリンクを合成グラフィカルアシスタントインターフェースにおいて提供させるステップを含むことができる。
【００１５】
いくつかの実装形態では、方法は、ユーザが選択可能なリンクをディスプレイパネルにおいて選択したと決定するステップと、ユーザが選択可能なリンクを選択したと決定したことに応答して、合成グラフィカルアシスタントインターフェースに第3のグラフィカル制御要素を提供させるステップとを含むことができる。
【００１６】
いくつかの実装形態では、クライアントデバイスは一体化されたディスプレイパネルを欠いており、方法は、クライアントデバイスが一体化されたディスプレイパネルを欠いていると決定するステップと、クライアントデバイスが一体化されたディスプレイパネルを欠いていると決定するステップに応答して、ディスプレイパネルを組み込みかつクライアントデバイスにリンクされる追加の接続デバイスを識別するステップとをさらに含むことができる。ディスプレイパネルに合成グラフィカルアシスタントインターフェースを提供させるステップは、追加の接続デバイスのディスプレイパネルに合成グラフィカルアシスタントインターフェースをレンダリングさせるステップを含むことができる。いくつかの実装形態では、追加の接続デバイスを識別するステップは、クライアントデバイスに対する追加の接続デバイスの近接を示す記憶されたデバイストポロジーに基づいて、複数の候補デバイスから追加の接続デバイスを選択するステップを含む。
【００１７】
他の実装形態では、1つまたは複数のプロセッサによって実装される方法は、自動アシスタントインターフェースを介して検出された音声発話が、接続デバイスが機能を実行することの要求を含むと決定することなどの動作を含むとして説明される。音声発話はユーザによって提供され得、接続デバイスはクライアントデバイスにリンクされる。方法はまた、要求を受信したことに応答して、受信された要求に対応する機能を識別するステップと、機能を識別したことに基づいて、接続デバイスに受信された要求に対応する機能を実行させるステップと、クライアントデバイスにアクセス可能な履歴的インタラクションデータに基づいて、ユーザからの前の要求に従って接続デバイスによって前に実行された1つまたは複数の他の機能を決定するステップとを含むことができる。方法は、1つまたは複数の他の機能を識別したことに基づいて、1つまたは複数の他の機能を制御するためのグラフィカル制御要素を決定するステップと、要求を受信したことに応答して、クライアントデバイスと関連づけられたディスプレイパネルに接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供させるステップとをさらに含むことができる。合成グラフィカルアシスタントインターフェースは、グラフィカル制御要素を含むことができる。
【００１８】
いくつかの実装形態では、方法は、音声発話と関連づけられた音声特性に基づいて、ユーザに対するプロフィールを決定するステップを含むことができる。合成グラフィカルアシスタントインターフェースをクライアントデバイスにおいて提供させるステップは、合成グラフィカルアシスタントインターフェースに、決定されたプロフィールに基づいて配列された複数のグラフィカル制御要素を含ませるステップを含むことができる。
【００１９】
いくつかの実装形態では、複数のグラフィカル制御要素は、決定されたプロフィールによって示されるユーザの選好に基づいて、少なくとも1つの利用可能なグラフィカル制御要素を省略する。いくつかの実装形態では、方法は、接続デバイスの現在の状態を示す状態データをリモートサーバデバイスに要求するステップを含むことができる。接続デバイスの現在の状態は、接続デバイスによって前に実行された1つまたは複数の機能によって影響を受けることがある。方法は、リモートサーバデバイスから状態データを受信するステップと、状態データに基づいて、グラフィカル制御要素に対する構成を決定するステップとをさらに含むことができる。グラフィカル制御要素は、決定された構成に従って合成グラフィカルアシスタントインターフェースにおいて配列され得る。
【００２０】
いくつかの実装形態では、方法は、状態データを要求したことに応答して、接続デバイスの現在の状態を修正するための追加の機能に対応するコマンドデータを受信するステップを含むことができる。いくつかの実装形態では、方法は、追加の機能を制御するための追加のグラフィカル制御要素と選択可能なリンクとを決定するステップを含むことができる。クライアントデバイスと関連づけられたディスプレイパネルに合成グラフィカルアシスタントインターフェースを提供させるステップは、合成グラフィカルアシスタントインターフェースに選択可能なリンクを含ませるステップを含むことができる。選択可能なリンクは、選択可能なリンクのユーザ選択を受信したことに応答して、追加のグラフィカル制御要素を公開するように構成され得る。
【００２１】
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法は、クライアントデバイスと関連づけられたディスプレイパネルにおいて提供される第1の合成グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素をユーザが選択したと決定することなどの動作を含むとして説明される。第1の合成グラフィカルアシスタントインターフェースは、クライアントデバイスと通信している接続デバイスをユーザが制御することができる様式であり得る。方法は、ユーザがグラフィカル制御要素を選択したと決定したことに応答して、接続デバイスにグラフィカル制御要素に対応する機能を実行させるステップをさらに含むことができる。接続デバイスは、複数の異なる機能を実行するように構成され得る。方法は、ユーザがグラフィカル制御要素を選択したと決定したことに応答して、複数の異なる機能のうちの1つまたは複数の他の機能を制御するためにユーザの履歴的性向を特徴づけるユーザ選好を決定するステップを含むこともできる。方法は、ユーザ選好を決定したことに基づいて、複数の異なる機能のうちの1つまたは複数の他の機能を識別するステップと、1つまたは複数の他の機能を識別したことに基づいて、接続デバイスの1つまたは複数の他の機能を制御するための1つまたは複数のグラフィカル制御要素を決定するステップとをさらに含むことができる。方法は、ユーザがグラフィカル制御要素を選択したと決定したことに応答して、クライアントデバイスと関連づけられたディスプレイパネルに、第1の合成グラフィカルアシスタントインターフェースを1つまたは複数のグラフィカル制御要素を含む第2の合成グラフィカルアシスタントインターフェースと置き換えさせるステップを含むこともできる。
【００２２】
いくつかの実装形態では、方法は、接続デバイスの状態を決定するステップを含むことができる。状態は、機能および1つまたは複数の他の機能の実行によって影響を受けることがある。方法は、接続デバイスの状態に基づいて、1つまたは複数のグラフィカル制御要素の各グラフィカル制御要素に対する配列を決定するステップを含むこともできる。いくつかの実装形態では、接続デバイスの状態は、1つまたは複数の他の機能の各機能の実行または不実行によってもたらされる得られた状況に基づき得る。
【００２３】
いくつかの実装形態では、接続デバイスの状態は、機能の実行によってもたらされる得られた状況に基づくことができ、第2の合成グラフィカルアシスタントインターフェースは、得られた状況を示すグラフィカルインターフェース要素を含む。第2の合成グラフィカルアシスタントインターフェースは、機能に対応するグラフィカル制御要素を排除することができる。いくつかの実装形態では、ユーザ選好は、少なくとも、ユーザと、クライアントデバイスの自動アシスタントインターフェースを介してアクセス可能な自動アシスタントとの間の前のインタラクションに基づいて、複数の異なる機能のうちの1つまたは複数の他の機能を制御するためにユーザの履歴的性向を特徴づける。いくつかの実装形態では、前のインタラクションは、ユーザがグラフィカル制御要素を選択する前の、ユーザと自動アシスタントとの間の対話セッションに対応し、対話セッションの間に、ユーザは、接続デバイスに機能を実行させることの要求を与えている。
【００２４】
他の実装形態は、上記でおよび/または本明細書の他の場所で説明した方法のうちの1つまたは複数などの方法を実行するために、1つまたは複数のプロセッサ(たとえば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、および/またはテンソル処理装置(TPU))によって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体を含み得る。さらに他の実装形態は、上記および/または本明細書の他の場所で説明した方法のうちの1つまたは複数などの方法を実行するために、1つまたは複数のコンピュータおよび/または記憶された命令を実行するために動作可能な1つまたは複数のプロセッサを含む1つまたは複数のロボットのシステムを含み得る。
【００２５】
本明細書で非常に詳細に説明する前述の概念と追加の概念とのすべての組合せは、本明細書で開示する主題の一部であるとして企図されていることを諒解されたい。たとえば、本開示の最後に現れる特許請求される主題のすべての組合せは、本明細書で開示する主題の一部であるとして意図されている。
【図面の簡単な説明】
【００２６】
【図１】接続デバイスとインタラクトするための合成グラフィカルアシスタントインターフェースをアセンブルするためのシステムを示す図である。
【図２Ａ】接続デバイスが特定の機能を実行することの要求をユーザが与えたことに応答して生成された合成グラフィカルアシスタントインターフェースの例の図である。
【図２Ｂ】接続デバイスが特定の機能を実行することの要求をユーザが与えたことに応答して生成された合成グラフィカルアシスタントインターフェースの例の図である。
【図３Ａ】多様な異なる機能を使用して接続デバイスとインタラクトするために提言を用いて生成された合成グラフィカルアシスタントインターフェースの例の図である。
【図３Ｂ】多様な異なる機能を使用して接続デバイスとインタラクトするために提言を用いて生成された合成グラフィカルアシスタントインターフェースの例の図である。
【図４Ａ】接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供するための方法を示す図である。
【図４Ｂ】接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供するための方法を示す図である。
【図５】ユーザが合成グラフィカルアシスタントインターフェースを介して接続デバイスを制御するために、ユーザ選好に基づいて合成グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素を提供するための方法を示す図である。
【図６】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２７】
図1は、接続デバイスとインタラクトするための合成グラフィカルアシスタントインターフェースをアセンブルするためのシステム100を示す。合成グラフィカルアシスタントインターフェースは、クライアントデバイス102(たとえば、タブレットデバイス128)などの1つまたは複数のコンピューティングデバイスおよび/またはサーバデバイス112などのリモートコンピューティングデバイス124において提供される自動アシスタント118によって部分的に生成され得る。ユーザ120は、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーションとの間のインターフェースを提供することができる任意の他の装置であり得るアシスタントインターフェース110を介してクライアント自動アシスタント104とインタラクトすることができる。たとえば、ユーザ120は、言語入力、テキスト入力および/またはグラフィカル入力をアシスタントインターフェース110に与えて、クライアント自動アシスタント104に動作を実行させる(たとえば、データを提供させる、周辺デバイスを制御させる、エージェントにアクセスさせる、など)ことによって、クライアント自動アシスタント104を初期化することができる。クライアントデバイス102は、ユーザがタッチインターフェースを介してクライアントデバイス102のアプリケーションを制御することを可能にするために、タッチ入力および/またはジェスチャーを受信するためのタッチインターフェースを含むディスプレイパネルであり得るディスプレイデバイス108を含むことができる。
【００２８】
クライアントデバイス102は、インターネットなどのネットワーク122上でリモートコンピューティングデバイス124と通信することができる。クライアントデバイス102は、クライアントデバイス102において計算リソースを節約するために、計算タスクをリモートコンピューティングデバイス124にオフロードすることができる。たとえば、リモートコンピューティングデバイス124は自動アシスタント118をホストすることができ、クライアントデバイス102は、1つまたは複数のアシスタントインターフェースにおいて受信された入力をリモートコンピューティングデバイス124に送信することができる。しかしながら、いくつかの実装形態では、自動アシスタント118は、クライアントデバイス102において完全にホストされ得る。様々な実装形態では、クライアント自動アシスタント104のすべての態様またはすべてに満たない態様が、クライアントデバイス102上に実装され得る。それらの実装形態のうちのいくつかでは、自動アシスタント118の態様は、クライアントデバイス102のクライアント自動アシスタント104を介して実装され、クライアント自動アシスタント104の他の態様を実装するリモートコンピューティングデバイス124とインターフェースする。リモートコンピューティングデバイス124は、随意に、複数のスレッドを介して複数のユーザおよびユーザの関連するアシスタントアプリケーションに役立つことができる。自動アシスタント118のすべての態様またはすべてに満たない態様が、クライアントデバイス102のクライアント自動アシスタント104を介して実装されるいくつかの実装形態では、クライアント自動アシスタント104は、クライアントデバイス102のオペレーティングシステムから切り離された(たとえば、オペレーティングシステムの「上に」インストールされた)アプリケーションであり得るか、または代替的に、クライアントデバイス102のオペレーティングシステムによって直接実装され得る(たとえば、オペレーティングシステムのアプリケーションであるが、オペレーティングシステムと一体であると見なされる)。
【００２９】
いくつかの実装形態では、リモートコンピューティングデバイス124は、オーディオデータ内に統合されたテキストを識別するために、アシスタントインターフェース110において受信されたオーディオデータを処理することができる音声テキスト変換エンジン116を含むことができる。オーディオデータをテキストに変換するためのプロセスは、ニューラルネットワーク、word2vecアルゴリズム、および/またはワードもしくはフレーズに対応するオーディオデータのグループを識別するための統計モデルを採用することができる音声認識アルゴリズムを含むことができる。オーディオデータから変換されたテキストは、テキストパーサーエンジン114によってパースされ、ユーザおよび/またはサードパーティアプリケーションからのコマンドフレーズを生成および/または識別するために使用され得るテキストデータとして自動アシスタント104に対して利用可能にされ得る。
【００３０】
ユーザ120は、ユーザのクライアントデバイス102および/またはクライアント自動アシスタント104を使用して接続デバイス132とインタラクトすることができる。接続デバイス132は、ローカルエリアネットワークおよびまたはワイドエリアネットワーク上でクライアントデバイス102と接続され得るかまたは通信することができる1つまたは複数のIoTデバイスであり得る。たとえば、クライアントデバイス102と接続デバイス132の両方は、家または他の環境内でWi-Fiネットワークに接続され得る。ユーザ120が接続デバイス132とインタラクトするために、ユーザ120は、接続デバイス132と関連づけられたアプリケーションを初期化することができる。しかしながら、ユーザ120が複数の異なる接続デバイスと頻繁にインタラクトする場合、ユーザ120は、各接続デバイス132を制御するために多様な異なるアプリケーションを動作させることを必要とする場合がある。計算リソースをより効率的に使用して、ネットワーク帯域幅の浪費を防止するために、クライアント自動アシスタント104および/または自動アシスタント118は、ユーザがそれを介して1つまたは複数の接続デバイス132とインタラクトすることができる合成グラフィカルアシスタントインターフェースを提供することができる。
【００３１】
合成グラフィカルアシスタントインターフェースが生成されるために、ユーザ120は、音声発話130をアシスタントインターフェース110に提供することができる。音声発話は、ユーザ120が特定の機能を実行するために接続デバイス132を好むことを示す要求を統合することができる。音声発話130に対応するオーディオデータは、クライアントデバイス102からリモートデバイス124に送信され得る。次いで、オーディオデータは、音声テキスト変換エンジン116によっておよびテキストパーサーエンジン114によって処理され得る。オーディオデータの処理から得られたテキストは、ユーザ120がユーザの音声発話130の中で言及している1つまたは複数の機能を識別するために、機能識別エンジン142によって使用され得る。たとえば、機能識別エンジン142は、音声発話130からのテキストと、接続デバイスサーバ134など、離れたリモートデバイス126において利用可能にされた機能データ136とを比較することができる。機能データ136は、1つまたは複数の接続デバイスが実行することができる機能の包括的リストを提供することができる。機能識別エンジン142は、接続デバイス132によって実行され得、ユーザが言及している1つまたは複数の機能を識別するために、テキストと機能データ136とを比較することができる。
【００３２】
テキストが1つまたは複数の機能に対応するすると決定ことに応答して、自動アシスタント118またはクライアント自動アシスタント104は、接続デバイス132に1つまたは複数の識別された機能を実行させることができる。たとえば、接続デバイス132が、限定はしないがサーモスタットなどのIoTデバイスであるとき、機能は、接続デバイス132の温度設定を変更することを含むことができる。接続デバイス132において機能を実行させるためのコマンドは、サーバデバイス112から接続デバイス132に提供され得る。代替的に、接続デバイス132に機能を実行させるためのコマンドは、サーバデバイス112から接続デバイスサーバ134に提供され得、接続デバイスサーバ134は、接続デバイス132と通信して接続デバイス132に機能を実行させることができる。代替的に、クライアントデバイス102はコマンドを接続デバイス132に伝達することができるか、またはサーバデバイス112はコマンドをクライアントデバイス102に伝達することができ、クライアントデバイス102は、接続デバイス132と通信して接続デバイス132に機能を実行させることができる。
【００３３】
音声発話130を受信して接続デバイス132に機能を実行させたことに応答して、自動アシスタントは、クライアントデバイス102のディスプレイデバイス108またはクライアントデバイス102と関連づけられた離れたディスプレイデバイスにおいて、合成グラフィカルアシスタントインターフェースを提供させることができる。合成グラフィカルアシスタントインターフェースを生成するために、自動アシスタント118は、接続デバイス132によって実行され得る1つまたは複数の他の機能を機能データ136から識別することができる。識別された他の機能は、ディスプレイデバイス108において識別された他の機能の各機能を制御するために働くことができるグラフィカル制御要素140を識別するための基準(basis)として使用され得る。たとえば、ファンをオンオフすることなどの機能は、二路スイッチに対応するグラフィカル制御要素140によって制御され得る。さらに、湿度を調節することなどの機能は、ある範囲の値のうちの1つの値を回して選択することができるダイアルに対応するグラフィカル制御要素140を使用して制御され得る。自動アシスタント118またはクライアント自動アシスタント104は、識別された他の機能をグラフィカル制御要素140にマッピングすることができ、それは、サーバデバイス112に記憶され得るか、または場合によっては、サーバデバイス112にアクセス可能であり得る。
【００３４】
合成インターフェースエンジン144は、合成グラフィカルアシスタントインターフェースを生成するために、グラフィカル制御要素140を識別された他の機能にマッピングすることができる。いくつかの実装形態では、自動アシスタント118は、接続デバイス132のステータスまたは状態に対応するステータスデータ138にアクセスすることができる。ステータスデータ138は、接続デバイス132の1つまたは複数の機能の実行または不実行によって影響を受けることがあるステータスを示すことができる。たとえば、接続デバイス132の機能が実行されていないとき、接続デバイス132のステータスは「オフ」であり得る。代替的に、ステータスは、接続デバイス132の特定の機能の状況またはパラメータを示すデータの表またはストリングに対応することができる。接続デバイス132のステータスは、接続デバイス132の機能にマッピングされた各グラフィカル制御要素140に対する構成を決定するための基準として使用され得る。たとえば、接続デバイス132がオフ状態にある照明を含み、接続デバイス132の機能が照明をオンオフすることである場合、照明スイッチに対応するグラフィカル制御要素が、合成グラフィカルアシスタントインターフェースにおいて提供され、照明スイッチがオフになることを示すように構成され得る。言い換えれば、各グラフィカル制御要素は、合成グラフィカルアシスタントインターフェースがディスプレイデバイス108において提示されるとき、接続デバイス132の現在の状態を反映することができる。
【００３５】
いくつかの実装形態では、合成グラフィカルアシスタントインターフェースに対するグラフィカル制御要素の配列および/または選択は、ユーザ120と自動アシスタントおよび/または接続デバイス132との間のインタラクションと関連づけられたデータに基づくことができる。たとえば、機能の特定のグループに対応するグラフィカル制御要素の特定のグループは、ユーザが以前に、時間のしきいの期間内にそのような機能を実行させたことに基づいて、合成グラフィカルアシスタントインターフェースに対して選択され得る。代替または追加として、機能の特定のグループに対応するグラフィカル制御要素の特定のグループは、機能が、特定のユーザ、特定のロケーション、特定のデバイス、および/またはデバイスの機能によって示され得る任意の他の関係にどのように影響を及ぼすかに基づいて、合成グラフィカルアシスタントインターフェースに対して選択され得る。たとえば、ユーザに対して生成される合成グラフィカルアシスタントインターフェースは、ユーザが現在位置している家に影響を及ぼす接続デバイスの機能に対応するグラフィカル制御要素を含むことができる。それゆえ、グラフィカル制御要素の選択は、ユーザのロケーション、接続デバイスに対する識別子、ユーザのカレンダースケジュール、および/またはユーザに対するジオロケーションデータを推定するために使用され得る任意の他のデータに基づくことができる。
【００３６】
いくつかの実装形態では、ユーザ120は、一体化されたディスプレイパネルを欠いているか、または場合によっては、アシスタントデバイスにおいて合成グラフィカルアシスタントインターフェースを容易に提示することができないアシスタントデバイスに音声発話130を与えることができる。そのような実装形態では、自動アシスタントは、アシスタントデバイスにおいて音声発話130を受信して、ユーザ120によって要求された機能を接続デバイス132によって実行させることができる。しかしながら、機能を実行することの要求を受信し、ディスプレイパネルがアシスタントデバイスにおいて利用できないと決定したことに応答して、自動アシスタントは、1つまたは複数の候補デバイスを識別することができる。候補デバイスは、アシスタントインターフェースを表示するそれらの能力、ユーザ120に対するそれらの近接性、アシスタントデバイスに対するそれらの近接性、接続デバイス132に対するそれらの近接性、および/または特定の候補デバイスに対するユーザ120の選好に基づいて識別され得る。たとえば、自動アシスタントが、ディスプレイパネルはアシスタントデバイスにおいて利用できないと決定しかつタブレットデバイスまたはテレビはアシスタントデバイスに次に最も近いディスプレイデバイスであると決定するとき、自動アシスタントは、タブレットデバイスまたはテレビに合成グラフィカルアシスタントインターフェースを提示させることができる。この方法では、特定の機能が接続デバイス132によって実行されることをユーザ120が要求するとき、ユーザ120は必ずしもディスプレイパネルの近くにいるとは限らないので、自動アシスタントは、依然として、合成グラフィカルアシスタントインターフェースを近隣のディスプレイデバイスにおいて生成させることができる。いくつかの実装形態では、自動アシスタントは、接続デバイス132が機能を実行することの要求をユーザ120が与えたことに応答して、アシスタントデバイスに、合成グラフィカルアシスタントインターフェースのロケーションをユーザ120に音声で通知させることができる。たとえば、ユーザ120が「アシスタント、私の台所の照明を点けて」という音声発話を発したことに応答して、自動アシスタントは、「オーケー、私はあなたのタブレットデバイスにおいて、インターフェースを追加の制御とともに準備しました」という応答を、アシスタントデバイスに音声で出力させることができる。それゆえ、自動アシスタントは、ユーザ120が彼らのタブレットデバイスを取りに行けば、ユーザ120は彼らの接続デバイスに対する追加の制御を見つけることができることを、ユーザ120に通知することができる。
【００３７】
図2Aおよび図2Bは、接続デバイスが特定の機能を実行することの要求をユーザ202が与えたことに応答して生成された合成グラフィカルアシスタントインターフェース212の例の図200および210を示す。具体的には、ユーザ202は、音声発話208をクライアントデバイス204のオーディオインターフェースに与えることによって、タブレットデバイスなどのクライアントデバイス204とインタラクトすることができる。音声発話は、たとえば、「アシスタント、私の家の中の温度を上げて」であり得る。音声発話を受信したことに応答して、クライアントデバイス204において利用可能な自動アシスタントは、音声発話208の中に統合された要求を識別するために、音声発話を処理させることができる。要求は、サーモスタットにおける温度を上げることなど、接続デバイスの機能に対応することができる。自動アシスタントは、機能を接続デバイスによって実行させることができ、同じく、合成グラフィカルアシスタントインターフェース212をクライアントデバイス204のディスプレイパネル206において提供させることができる。
【００３８】
図2Bは、合成グラフィカルアシスタントインターフェース212が、クライアントデバイス204のディスプレイパネル206において提供されている図210を示す。具体的には、温度設定が上げられることをユーザ202が要求したので、合成グラフィカルアシスタントインターフェース212は、温度設定が「72」に上げられたことの通知214を含むことができる。さらに、合成グラフィカルアシスタントインターフェース212は、ユーザ202が接続デバイスの他の機能をそれらを介して制御することができる、複数の異なるグラフィカル制御要素を含むことができる。たとえば、合成グラフィカルアシスタントインターフェース212は、接続デバイスの湿度設定を制御するためのダイアル218を提供することができる。加えて、合成グラフィカルアシスタントインターフェース212は、ファン設定を制御するためのスイッチ216と、セキュリティ設定を制御するためのスイッチ220とを含むことができる。このようにして、ユーザ202は、接続デバイスに異なる機能を実行させるために、必ずしも別の音声発話をクライアントデバイス204に与える必要はない。むしろ、機能に対する制御は、複数の音声発話を与えることと比べて、それらの機能を制御するための計算集約をより低くする方式で提示され得る。図2Bに明確には示していないが、様々な実装形態では、音声発話208に応答して調節された機能のさらなる調節を可能にするグラフィカル制御要素もまた、合成グラフィカルアシスタントインターフェース212の中に提示され得る。たとえば、通知214は、接続デバイスの温度設定の制御を可能にするダイアル(たとえば、ダイアル218に類似する)によって置き換えられ得る。そのようなダイアルは、温度設定が(たとえば、ダイアルの調節要素の上または近隣に提供される「72」の表示を介して)「72」に上げられたことを反映することもできる。
【００３９】
図3Aおよび図3Bは、多様な異なる機能を使用して接続デバイスとインタラクトするための提言によって生成された合成グラフィカルアシスタントインターフェース312の例の図300および310を示す。たとえば、ユーザ302は、接続デバイスとインタラクトするかまたは接続デバイスを制御するために、音声発話308をクライアントデバイス304のオーディオインターフェースに与えることができる。音声発話は、たとえば、「アシスタント、私の家の温度を変更してほしい」であり得る。自動アシスタントは、音声発話308を受信し、ユーザ302が影響を及ぼしたいかまたは制御したい特定の機能を識別するために、音声発話308を処理させることができる。
【００４０】
特定の機能(たとえば、温度を制御すること)を識別したことに応答して、自動アシスタントは、識別された特定の機能を制御するために、少なくとも1つのグラフィカル制御要素を含む合成グラフィカルアシスタントインターフェース312をコンパイルすることができる。自動アシスタントは、合成グラフィカルアシスタントインターフェースをそれらからコンパイルするための他の要素を選択することもできる。たとえば、合成グラフィカルアシスタントインターフェース312は、温度を制御するためのダイアル318、および同じく、接続デバイスの別の機能(たとえば、湿度を調節すること)を制御するための第1のリンク314および接続デバイスのさらに別の機能(たとえば、ファンを調節すること)を制御するための第2のリンク316を含むことができる。ユーザ302が、たとえば第1のリンク314を選択するとき、合成グラフィカルアシスタントインターフェースは、  湿度を調節するためのダイアル(図2Bのダイアル218など)を含む異なる合成グラフィカルアシスタントインターフェースで置き換えられ得る。このようにして、一連の音声発話を自動アシスタントに与えて接続デバイスの他の機能を決定する代わりに、様々な機能が、ユーザ302が接続デバイスに関連する最初の音声発話を与えたことに応答して、ユーザ302に提案され得る。いくつかの実装形態では、合成グラフィカルアシスタントインターフェース312は、接続デバイスの現在の状態を示すことができる。たとえば、ダイアル318は、接続デバイスの現在温度設定を反映するように構成され得る。
【００４１】
図4Aおよび図4Bは、接続デバイスを制御するための合成グラフィカルアシスタントインターフェースを提供するための方法400および410を示す。方法400および410は、コンピューティングデバイス、アプリケーション、ならびに/あるいは接続デバイスおよび/または自動アシスタントとインタラクトすることができる任意の他の装置またはモジュールのうちの1つまたは複数によって実行され得る。方法400は、クライアントデバイスの自動アシスタントインターフェースを介して検出された音声発話が、クライアントデバイスにリンクされている接続デバイスの状態を修正することの要求を含むと決定する動作402を含むことができる。自動アシスタントインターフェースは、マイクロフォン、タッチディスプレイ、カメラ、ならびに/あるいはユーザがそれらを介して自動アシスタントおよび/またはコンピューティングデバイスと通信することができる任意の他の装置のうちの1つまたは複数を含むことができる。いくつかの実装形態では、接続デバイスは、クライアントデバイスおよび/またはクライアントデバイスを介してアクセス可能な自動アシスタントと通信している1つまたは複数のデバイスであり得る。たとえば、クライアントデバイスおよび接続デバイス(たとえば、IoTデバイス)は、ユーザの家の中のローカルエリアネットワーク(たとえば、Wi-Fiネットワーク)に接続され得るか、またはクライアントデバイスおよび接続デバイスは、インターネット上で接続され得る。
【００４２】
方法400は、要求を受信したことに応答して、受信され要求に対応する機能を識別する動作404をさらに含むことができる。機能は、接続デバイスが実行または遂行することができる動作であり得る。いくつかの実装形態では、機能は、1つまたは複数の候補接続デバイスにおいて実行され得る複数の異なる動作に対応することができる。機能は、たとえば、ユーザの家の台所の照明を点灯する動作であり得る。音声発話は、機能を実行するための要求を統合することができる。たとえば、音声発話は、「アシスタント、私の台所の照明を点けて」であり得る。音声発話を受信したことに応答して、クライアントデバイスは、音声発話から導出されたテキストと自動アシスタントの指示において初期化され得る利用可能な機能とを比較することによって、受信された音声発話に最もよく対応する機能を識別することができる。
【００４３】
方法400は、機能を識別したことに基づいて、接続デバイスに、受信された要求に対応する機能を実行させる動作406を含むこともできる。たとえば、いくつかの実装形態では、クライアントデバイスは、要求を受信して、識別された機能を実行するために接続デバイスにコマンドを発行することができる。他の実装形態では、要求は、クライアントデバイスにおいて捕捉され、さらなる処理のためにリモートサーバに送信され得る。次いで、リモートサーバは、機能を識別し、接続デバイスまたは接続デバイスと関連づけられたサーバにコマンドを送信して、接続デバイスに機能を実行させることができる。代替または追加として、いくつかの実装形態では、リモートサーバは、機能を識別してクライアントデバイスにコマンドを送信し、それに応答して、クライアントデバイスは、接続デバイスと通信して、接続デバイスに機能を実行させることができる。
【００４４】
方法400は、接続デバイスの現在の状態を決定する動作408をさらに含むことができる。接続デバイスの現在の状態は、1つまたは複数の機能の実行によって影響を受けるかまたは左右されることがある。たとえば、機能が照明を点灯させるための要求に対応するとき、機能の実行は、接続デバイス(たとえば、スマート照明)の得られる状況を「オン」にさせることができる。それゆえ、現在の状態は、1つまたは複数の機能の実行または不実行のそれぞれによって左右される1つまたは複数の状況に基づくことができる。たとえば、オンである照明を接続デバイスが有することに応答して、接続デバイスの現在の状態は、「smart_light(状態): ([照明:オン]、[輝度:50%]、[色:flat_white])」であり得る。接続デバイスの現在の状態は、クライアントデバイスが、接続デバイスにクエリを発行し、その応答として、接続デバイスの現在の状態を示すデータを受信することによって決定され得る。代替または追加として、接続デバイスに識別された機能を実行させるためのコマンドを接続デバイスが受信したことに応答して、接続デバイスは、機能を実行し、機能が実行されたことの確認を、接続デバイスの現在の状態を示されたデータとともに提供することができる。代替または追加として、接続デバイスは、接続デバイスの現在の状態をサーバに伝達することができ、クライアントデバイスは、1つまたは複数の接続デバイスの1つまたは複数の現在の状態にアクセスすることができるリモートサーバと直接的または間接的に通信することによって、接続デバイスの現在の状態を決定することができる。
【００４５】
図4Aと図4Bの両方において丸で囲まれた継続要素「A」で示されるように、図4Aの方法400は図4Bの方法410に継続することができる。方法410は、接続デバイスによって実行され得る1つまたは複数の他の機能を識別する動作412を含むことができる。1つまたは複数の他の機能は、前に識別された機能と異なることがある。たとえば、識別された機能が照明を点灯させる動作に対応するとき、1つまたは複数の他の機能は、照明の輝度レベルを設定する動作および/または照明の色彩を設定する動作に対応することができる。さらに、1つまたは複数の他の機能は、それらの実行または不実行が接続デバイスにおいて特定の状況をもたらしたかどうかに応じて、接続デバイスの現在の状態に影響を及ぼすことができる。
【００４６】
方法410は、機能および1つまたは複数の他の機能を識別したことに基づいて、接続デバイスによって実行される機能を制御するための第1のグラフィカル制御要素と1つまたは複数の他の機能を制御するための第2のグラフィカル制御要素とを決定する動作414をさらに含むことができる。第1のグラフィカル制御要素および第2のグラフィカル制御要素を決定するステップは、合成グラフィカルアシスタントインターフェースがそれらからコンパイルされ得る複数の異なるグラフィカル制御要素を含む、ローカルまたはリモートのメモリ記憶装置からグラフィカル制御要素を選択するステップを含むことができる。各グラフィカル制御要素は、それぞれのグラフィカル制御要素が制御することができるパラメータを示すことができるメタデータと関連づけて記憶され得る。たとえば、第1のグラフィカル制御要素は、2進または「オンオフ」のパラメータと関連づけられてよく、それによって、第1のグラフィカル制御要素は、2つの状態または状況を有する機能を制御することができることを示す。その上、第2のグラフィカル制御要素は、パラメータの範囲(たとえば、0と1との間または0と100との間の2つ以上の値の範囲)と関連づけられて記憶され得、それによって、第2のグラフィカル制御要素は、輝度レベルの変更および/または色彩の変更など、一見するとアナログのような機能を制御することができることを示す。
【００４７】
方法400は、接続デバイスの現在の状態に基づいて、第1のグラフィカル制御要素および第2のグラフィカル制御要素の各グラフィカル制御要素に対する構成を決定する動作416をさらに含むことができる。構成は、接続デバイスの現在の状態を反映する各グラフィカル制御要素の外観を指すことができる。たとえば、最初の要求が照明を点灯させるための機能に対応し、かつ照明がそれに応答して点灯されたとき、第1のグラフィカル制御要素は、「オン」位置において構成される照明スイッチに似せることができ、それによって、接続デバイスの現在の状態を反映する。さらに、接続デバイスの現在の状態が90%の輝度レベルに対応するとき、第2のグラフィカル制御要素は、90%の位置において構成されるアナログダイアルに似せることができ、第2のグラフィカル制御要素のノブまたはダイアルは、アナログダイアルの範囲の半分以内に配置される。いくつかの実装形態では、各グラフィカル制御要素と関連づけられたメタデータは、各グラフィカル制御要素の構成を示すことができ、それゆえ、メタデータは、合成グラフィカルアシスタントインターフェースが生成されるとき、接続デバイスの現在の状態を反映するために修正またはアップデートされ得る。
【００４８】
方法410は、要求を受信したことに応答して、クライアントデバイスと関連づけられたディスプレイパネルに、第1のグラフィカル制御要素および第2のグラフィカル制御要素を含む合成グラフィカルアシスタントインターフェースを提供させる動作418を含むこともできる。第1のグラフィカル制御要素および第2のグラフィカル制御要素の各々は、ユーザに対して接続デバイスの現在の状態を反映するために、決定された構成に従って配列され得る。このようにして、ユーザは、最初の要求が満足されたこと、および追加の音声発話を唱える必要なしに、それらのグラフィカル制御要素は、接続デバイスの他の機能も制御し得ることを速やかに認識することができる。これは、計算リソースを節約することができる。なぜならば、追加の音声発話を処理することは、グラフィカルユーザインターフェースにおいて入力を受信するよりも高い処理集約を必要とすることがあるからである。さらに、さらなる追加の音声発話の処理を回避することによって、クライアントデバイスは、ネットワーク帯域幅を保存することができる。なぜならば、追加の音声発話と関連づけられるオーディオデータは、処理(たとえば、発話テキスト変換処理(speech-to-text processing))のためにリモートサーバに送信される必要がないからである。
【００４９】
図5は、ユーザが合成グラフィカルアシスタントインターフェースを介して接続デバイスを制御するために、ユーザ選好に基づいて合成グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素を提供するための方法500を示す。方法500は、1つまたは複数のコンピューティングデバイス、アプリケーション、ならびに/あるいはクライアントデバイスおよび/または自動アシスタントとインタラクトすることができる任意の他の装置またはモジュールによって実行され得る。方法500は、クライアントデバイスと関連づけられたディスプレイパネルにおいて提供される第1の合成グラフィカルアシスタントインターフェースにおいてグラフィカル制御要素をユーザが選択したと決定する動作を含むことができる。第1の合成グラフィカルアシスタントインターフェースは、ローカルエリアネットワークまたはワイドエリアネットワーク上でクライアントデバイスと通信している接続デバイスを制御するためにクライアントデバイスにおいて提供され得る。第1の合成グラフィカルアシスタントインターフェースが提供されるディスプレイパネルは、接続デバイスにおいて特定の機能の実行をユーザが初期化することを可能にするタッチインターフェースであり得る。第1の合成グラフィカルアシスタントインターフェースは、複数の異なる接続デバイスを制御するために使用され得る自動アシスタントアプリケーションによって提供され得る。ディスプレイパネルは、クライアントデバイスに一体化されてよく、またはクライアントデバイスと離れてもよく、それによって、必ずしも接続デバイスと直接接触しなくても、ユーザが接続デバイス上に何らかの制御を示すことを可能にする。むしろ、ユーザは、異なるサードパーティからの異なるデバイスとインタラクトするための標準インターフェースを提供するために、自動アシスタントによって生成される合成グラフィカルアシスタントインターフェースを介して接続デバイスとインタラクトすることができる。
【００５０】
方法500は、ユーザがグラフィカル制御要素を選択したと決定したことに応答して、接続デバイスに、グラフィカル制御要素に対応する機能を実行させる動作504をさらに含むことができる。グラフィカル制御要素は、タッチディスプレイパネルを介して選択可能な第1の合成グラフィカルアシスタントインターフェースの一部であり得、クライアントデバイスおよび/または接続デバイスにおいて特定のプロセスを発生させることができる。たとえば、第1の合成グラフィカルアシスタントインターフェースは、ユーザの家の電気機械システムと関連づけられてよく、グラフィカル制御要素を選択することで、電気機械システムに機能を実行させることができる。たとえば、グラフィカル制御要素は、HVACシステムの温度出力を調節するために使用され得るスライド可能要素であり得る。いくつかの実装形態では、第1の合成グラフィカルアシスタントインターフェースは、ユーザがHVACシステムの特定の機能を制御することができる、複数の異なるグラフィカル制御要素を含むことができる。しかしながら、第1のグラフィカル制御要素は、ユーザが最も頻繁に使用したグラフィカル制御要素、および/または第1の合成グラフィカルアシスタントインターフェースの境界内に適切に適合するグラフィカル制御要素の数に限定されることがある。
【００５１】
方法500は、接続デバイスによって実行され得る複数の異なる機能のうちの1つまたは複数の機能を制御するためにユーザの履歴的性向を特徴づけるユーザ選好を決定する動作506を含むこともできる。ユーザ選好は、クライアントデバイスにおいて利用可能な、またはクライアントデバイスにアクセス可能な1つまたは複数のファイルの一部として統合され得る。ユーザ選好は、ユーザと、自動アシスタント、クライアントデバイス、接続デバイス、および/またはユーザの指示で制御され得る任意の他のアプリケーションもしくは装置との間の履歴的インタラクションに基づいて生成されるデータのサブセットであり得る。たとえば、ユーザ選好は、ユーザが、HVACシステム(すなわち、接続デバイス)の温度出力を修正するためにHVACシステムを以前に操作し、そのすぐ後に、HVACシステムのファンをオンに操作したことを示すことができる。それゆえ、履歴的性向は、ユーザがHVACシステムの温度出力を調節するときに、ユーザはHVACシステムのファンを調節することを好むことであり得る。いくつかの実装形態では、ユーザ選好は、接続デバイスの複数の機能を調節するために、ユーザの複数の履歴的性向を特徴づけることができる。
【００５２】
方法500は、1つまたは複数の他の機能を識別したことに基づいて、接続デバイスの1つまたは複数の他の機能を制御するために1つまたは複数のグラフィカル制御要素を決定する動作510をさらに含むことができる。たとえば、HVACシステムなどの接続デバイスは、温度、湿度、空気流、および/または任意の他の動作を変更することを含む複数の機能を実行することができる。様々な機能は、リモートサーバおよび/または接続デバイスから機能のリストにアクセスすることができる自動アシスタントによって識別され得る。代替または追加として、クライアントデバイスは、接続デバイスと関連づけられたアプリケーションを含むことができ、それゆえ、接続デバイスの機能ならびに/あるいはクライアントデバイスおよび/または自動アシスタントを介して制御され得る任意の機能に対応するデータを提供することができる。
【００５３】
いくつかの実装形態では、1つまたは複数の他のグラフィカル制御要素は、クライアントデバイス、異なるクライアントデバイス、および/またはクライアントデバイスにアクセス可能なリモートサーバにおいて提供されるグラフィカル制御要素の記憶装置から選択され得る。グラフィカル制御要素は、それらが受信および/または提供するために採用され得る入力および/または出力のタイプを示されたメタデータとともに記憶され得る。それゆえ、自動アシスタントは、グラフィカル制御要素と、接続デバイスによって実行され得る機能とを相互に関連付けるためのメタデータを使用することができる。たとえば、接続デバイスが2つの可能なパラメータ(たとえば、オンまたはオフ)を有する単一のスロット値を使用する機能を実行することができる場合、自動アシスタントは、機能と2進スイッチグラフィカル制御要素(たとえば、照明スイッチなど)とを相互に関連付けることができる。
【００５４】
方法500は、クライアントデバイスと関連づけられたディスプレイパネルに、第1の合成グラフィカルアシスタントインターフェースを、1つまたは複数のグラフィカル制御要素を含む第2の合成グラフィカルアシスタントインターフェースと置き換えさせる動作512を含むこともできる。第1の合成グラフィカルアシスタントインターフェースを第2の合成グラフィカルアシスタントインターフェースと置き換えるステップは、第1の合成グラフィカルアシスタントインターフェースを、第2の合成グラフィカルアシスタントインターフェースによって少なくとも部分的にまたは完全に置き換えさせるステップを含むことができる。いくつかの実装形態では、第2の合成グラフィカルアシスタントインターフェースは、第1の合成グラフィカルアシスタントインターフェースにおいて選択されたグラフィカル制御要素と関連づけられた機能の完了に成功したことを示すことができる。いくつかの実装形態では、第2の合成グラフィカルアシスタントインターフェースは、第1の合成グラフィカルアシスタントインターフェースにおいて提供された選択可能なリンクと関連づけられたグラフィカル制御要素を含むことができる。たとえば、第1の合成グラフィカルアシスタントインターフェースは、利用可能な機能を示す選択可能なリンクを含むことができ、選択可能なリンクの選択に応答して、第2の合成グラフィカルアシスタントインターフェースは、利用可能な機能を制御するためのグラフィカル要素を提供され得る。
【００５５】
いくつかの実装形態では、第2の合成グラフィカルアシスタントインターフェースは、選択されたグラフィカル制御要素と関連づけられた機能を制御することの文脈において、ユーザが前に制御した機能に対応する複数の異なるグラフィカル制御要素を含むように配列され得る。このようにして、ユーザは、必ずしも、前に制御した機能に影響を及ぼすために音声発話を与える必要はなく、ディスプレイパネルにおいて第2の合成グラフィカルアシスタントインターフェースとインタラクトするだけでよい。その結果、計算リソースおよび/またはネットワーク帯域幅は、特定の機能を制御するために発生させる必要がある音声処理の量を除外することによって保存され得る。
【００５６】
いくつかの実装形態では、第2の合成グラフィカルアシスタントインターフェースにおいて提供されるグラフィカル制御要素は、グラフィカル制御要素に対応する機能間の関係に基づくことができる。たとえば、接続デバイスが、家および/または異なる地理的領域の異なるロケーションに影響を及ぼす機能と関連づけられるとき、各合成グラフィカルアシスタントインターフェースにおいて提供されるグラフィカル制御要素は、それらの割り当てられた機能と関連づけられたロケーションまたは地理的領域によって編成され得る。代替または追加として、第2の合成グラフィカルアシスタントインターフェースにおいて提示されるグラフィカル制御要素は、それらの対応する機能のランキングに基づいて選択され得る。ランキングは、ユーザもしくはユーザに関連する人々、ユーザによって所有または採用される他のデバイスもしくはアプリケーション、および/または特定の機能をユーザに推奨するために使用され得る任意の他のデータによる各機能の使用の頻度に基づくことができる。さらに、第2の合成グラフィカルアシスタントインターフェースは、特定のランキングしきい値を満足するランキングを有する機能に対応するグラフィカル制御要素に限定され得る。
【００５７】
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は、一般的に、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリ625およびファイル記憶サブシステム626と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含む記憶サブシステム624を含み得る。入力および出力デバイスは、コンピュータシステム610とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【００５８】
ユーザインターフェース出力デバイス622は、キーボード;  マウス、トラックボール、タッチパッドまたはグラフィックタブレットなどのポインティングデバイス;  スキャナ;  ディスプレイに組み込まれたタッチスクリーン;  音声認識システム、マイクロフォンなどの音声入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピュータシステム610内または通信ネットワーク上に入力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図されている。
【００５９】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を生成するためのいくつかの他のメカニズムを含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなど、非視覚的表示も提供し得る。一般に、「出力デバイス」という用語の使用は、情報をコンピュータシステム610からユーザに、または別のマシンもしくはコンピュータシステムに出力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図されている。
【００６０】
記憶サブシステム624は、本明細書で説明するモジュールの一部または全部の機能を提供するプログラム構造およびデータ構造を記憶する。たとえば、記憶サブシステム624は、方法400、方法500の選択された態様を実行するため、ならびに/あるいは接続デバイスサーバ134、サーバデバイス112、自動アシスタント118、クライアントデバイス102、接続デバイス132、機能識別エンジン142、合成インターフェースエンジン144、クライアントデバイス204、クライアントデバイス304、および/または本明細書で説明する任意の他の動作または装置のうちの1つまたは複数を実装するための論理を含み得る。
【００６１】
これらのソフトウェアモジュールは、一般に、プロセッサ614によって単独に、または他のプロセッサとの組合せによって実行される。記憶サブシステム624内で使用されるメモリ625は、プログラムを実行する間に命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)630と、固定命令が記憶されるリードオンリーメモリ(ROM)632とを含むいくつかのメモリを含むことができる。ファイル記憶サブシステム626は、プログラムおよびデータファイルのための永続記憶装置を提供することができ、ハードディスクドライブ、関連する取り外し可能媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能媒体カートリッジを含む場合がある。いくつかの実装形態の機能を実装するモジュールは、記憶サブシステム624内、またはプロセッサ614によってアクセス可能な他のマシン内のファイル記憶サブシステム626によって記憶され得る。
【００６２】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムが意図通りに互いに通信することを許容するためのメカニズムを提供する。バスシステム612は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【００６３】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプであり得る。コンピュータおよびネットワークの常に変化している性質に起因して、図6に示すコンピュータシステム610の説明は、いくつかの実装形態を示すための特定の例としてのみ意図されている。コンピュータシステム610の多くの他の構成は、図6に示すコンピュータシステムより多いまたは少ない構成要素を有することが可能である。
【００６４】
本明細書で説明するシステムが、ユーザ(または本明細書ではしばしば「参加者」と呼ばれる)についての個人情報を収集するか、または個人情報を使用し得る状況では、ユーザは、プログラムまたは機能(feature)がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの嗜好、またはユーザの現在の地理的位置についての情報)を収集するかどうかを管理すること、あるいはユーザにとってより適切であり得るコンテンツをコンテンツサーバから受信するかどうかおよび/またはいかに受信するかを管理することを行う機会を提供され得る。同じく、いくつかのデータは、データが記憶されるかまたは使用される前に1つまたは複数の方法で処理されてよく、それにより、個人識別可能情報が除去される。たとえば、ユーザのアイデンティティは、個人識別可能情報がユーザに対して特定できないように処理され得るか、またはユーザの地理的位置は、ユーザの特定の地理的位置が特定できないように、地理的位置情報が取得される場所に(都市、郵便番号、または州レベルなどに)一般化され得る。したがって、ユーザは、情報がどのように、ユーザについて収集されるかおよび/または使用されるかに対する管理を有することができる。
【００６５】
いくつかの実装形態が本明細書において説明され、図示されたが、機能を実行するため、ならびに/あるいは結果および/または本明細書で説明する利点のうちの1つまたは複数を取得するための多様な他の手段および/または構造が利用されてよく、そのような変化形態および/または変更形態の各々は、本明細書で説明する実装形態の範囲内にあるものと見なされる。より一般的には、本明細書で説明するすべてのパラメータ、寸法、材料および構成は、模範例であること、ならびに実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される特定のアプリケーションに依存することになることを意図している。当業者は、ただの通常の実験を使用して、本明細書で説明する特定の実装形態に対する多くの同等物を認識するか、または究明することができるであろう。それゆえ、前述の実装形態は例としてのみ提示されていること、ならびに添付の特許請求の範囲およびその同等物の範囲内で、実装形態は、具体的に説明され、特許請求されるものと異なって実行されてもよいことを理解されたい。本開示の実装形態は、本明細書で説明するそれぞれの個々の特徴、システム、品目、材料、道具、および/または方法を対象とする。加えて、そのような特徴、システム、品目、材料、道具、および/または方法の2つ以上の任意の組合せは、そのような特徴、システム、品目、材料、道具、および/または方法が互いに矛盾していないならば、本開示の範囲内に含まれる。
【符号の説明】
【００６６】
100  システム
102  クライアントデバイス
104  クライアント自動アシスタント
108  ディスプレイデバイス
110  アシスタントインターフェース
112  サーバデバイス
114  テキストパーサーエンジン
116  音声テキスト変換エンジン
118  自動アシスタント
120  ユーザ
122  ネットワーク
124  リモートコンピューティングデバイス
126  離れたリモートデバイス
128  タブレットデバイス
130  音声発話
132  接続デバイス
134  接続デバイスサーバ
136  機能データ
138  ステータスデータ
140  グラフィカル制御要素
142  機能識別エンジン
144  合成インターフェースエンジン
200  図
202  ユーザ
204  クライアントデバイス
206  ディスプレイパネル
208  音声発話
210  図
212  合成グラフィカルアシスタントインターフェース
214  通知
216  スイッチ
218  ダイアル
220  スイッチ
300  図
302  ユーザ
304  クライアントデバイス
308  音声発話
310  図
312  合成グラフィカルアシスタントインターフェース
314  第1のリンク
316  第2のリンク
318  ダイアル
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリ
626  ファイル記憶サブシステム
630  主ランダムアクセスメモリ(RAM)
632  リードオンリーメモリ(ROM)
【図１】
2021523456.tif 000003
【図２Ａ】
2021523456.tif 000004
【図２Ｂ】
2021523456.tif 000005
【図３Ａ】
2021523456.tif 000006
【図３Ｂ】
2021523456.tif 000007
【図４Ａ】
2021523456.tif 000008
【図４Ｂ】
2021523456.tif 000009
【図５】
2021523456.tif 000010
【図６】
2021523456.tif 000011
【国際調査報告】
2021523456.tif 000012
2021523456.tif 000013