(57)【要約】  自動化されたアシスタントのコンテンツをレンダリングする自動化されたアシスタントインターフェースに対するユーザの距離に応じて自動化されたアシスタントのコンテンツを生成するおよび/または適応させるための方法、装置、システム、およびコンピュータ可読媒体が、提供される。たとえば、自動化されたアシスタントは、クライアントデバイスがレンダリングするためのデータを提供することができる。クライアントデバイスは、ユーザがクライアントデバイスのより近くにまたはより遠くに移動するとき、追加のデータを要求し得る。一部の実装において、追加のデータの要求は、ユーザとクライアントデバイスとの間の距離を特定し得る。このようにして、追加のデータが、要求内の距離に応じて生成されるかまたは選択され得る。その他の実装は、自動化されたアシスタントが環境内のユーザのグループからアクティブなユーザを決定し、任意のレンダリングされるコンテンツがアクティブなユーザに合わせて調整され得るためにアクティブなユーザとクライアントデバイスとの間の距離を決定することを可能にすることができる。
2021522636.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実行される方法であって、
自動化されたアシスタントにアクションの実行を初期化させる要求を受信するステップであって、前記自動化されたアシスタントが、ディスプレイデバイスおよびセンサと通信しているクライアントデバイスの自動化されたアシスタントインターフェースを介してアクセス可能であり、前記センサが、前記ディスプレイデバイスに対するユーザの距離を示す出力を提供する、ステップと、
前記ディスプレイデバイスに対する前記ユーザの推定された距離に対応する距離の測定値を前記センサの前記出力に基づいて決定するステップと、
前記アクションを完了するためのエージェントを前記受信された要求に基づいて特定するステップであって、前記エージェントが、前記自動化されたアシスタントによってアクセス可能であり、前記ディスプレイデバイスに対する前記ユーザの前記推定された距離に基づいて前記クライアントデバイスのためのデータを提供するように構成される、ステップと、
前記要求を受信したことおよび前記受信された要求に基づいて前記エージェントを特定したことに応じて、前記特定されたエージェントに前記アクションを促進するためにコンテンツアイテムを提供させるエージェント要求を生成するステップであって、前記エージェント要求が、前記決定された距離の測定値を特定する、ステップと、
前記アクションのためのコンテンツアイテムのサブセットを、候補のコンテンツアイテムの前記サブセットと前記エージェント要求に含まれる前記距離の測定値との間の対応に基づいて前記エージェントに選択させるために前記エージェントに前記エージェント要求を送信するステップであって、前記候補のコンテンツアイテムの前記サブセットが、コンテンツアイテムの前記サブセットから除外されたその他のコンテンツアイテムに比べて独特に前記クライアントデバイスにおいてレンダリングされるように構成される、ステップと、
前記クライアントデバイスに候補のコンテンツアイテムの前記選択されたサブセットをレンダリングさせるステップとを含む、
方法。
【請求項２】
コンテンツアイテムの前記サブセットが、前記ユーザの前記推定された距離を包含する距離の第1の範囲に対応する第1のサブセット、および距離の第2の範囲に対応する第2のサブセットを含み、距離の前記第2の範囲が、前記推定された距離を除外し、距離の前記第1の範囲との共通の境界を有し、前記クライアントデバイスに候補のコンテンツアイテムの前記選択されたサブセットをレンダリングさせるステップが、
前記クライアントデバイスに前記第1のサブセットのみを最初にレンダリングさせるステップと、
前記クライアントデバイスに前記第2のサブセットをバッファリングさせるとともに、次いで、前記ユーザが距離の前記第2の範囲内にある新しい距離に移動したと判定したことに応じて前記第2のサブセットをレンダリングさせるステップとを含む、
請求項1に記載の方法。
【請求項３】
前記クライアントデバイスに前記第2のサブセットをレンダリングさせるステップが、前記ユーザが前記新しい距離に移動したと判定したことに応じて前記クライアントデバイスに前記第1のサブセットを前記第2のサブセットと取り替えさせるステップを含む、
請求項2に記載の方法。
【請求項４】
前記第2のサブセットが、前記第1のサブセットに含まれるいかなるコンテンツも持たない、
請求項3に記載の方法。
【請求項５】
前記第1のサブセットが、オーディオデータを含み、前記クライアントデバイスに前記第1のサブセットのみを最初にレンダリングさせるステップが、前記クライアントデバイスに前記オーディオデータを聞こえるようにレンダリングさせるステップを含み、前記第2のサブセットが、グラフィカルなコンテンツを含み、前記クライアントデバイスに前記第2のサブセットをレンダリングさせるステップが、前記クライアントデバイスに前記オーディオデータの可聴のレンダリングと一緒に前記グラフィカルなコンテンツをレンダリングさせるステップを含む、
請求項2に記載の方法。
【請求項６】
前記グラフィカルなコンテンツが、画像であるか、または前記オーディオデータと同期してレンダリングされるビデオである、
請求項5に記載の方法。
【請求項７】
前記エージェントが、前記距離の測定値に対応する前記ユーザの前記推定された距離を包含する距離の前記第1の範囲に対応する第1のサブセットに基づいて前記第1のサブセットを選択し、前記エージェントが、前記ユーザの前記推定された距離が前記第2のサブセットに対応する距離の前記第2の範囲の閾値の距離以内にあることに基づいて前記第2のサブセットを選択する、
請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記推定された距離の推定された変化率を前記センサからの前記出力に基づいて決定するステップと、
前記エージェント要求に前記推定された変化率のインジケーションを含めるステップとをさらに含み、
前記エージェントが、前記距離の測定値に対応する前記ユーザの前記推定された距離を包含する距離の前記第1の範囲に対応する第1のサブセットに基づいて前記第1のサブセットを選択し、前記エージェントが、前記推定された変化率の前記インジケーションに基づいて前記第2のサブセットを選択する、
請求項2から6のいずれか一項に記載の方法。
【請求項９】
前記ユーザおよび1人または複数のさらなるユーザが、前記クライアントデバイスの環境内におり、前記方法が、
前記ユーザが前記自動化されたアシスタントの現在アクティブなユーザであると判定するステップをさらに含み、
前記ユーザの前記推定された距離に対応する前記距離の測定値を決定するステップが、前記ユーザが前記自動化されたアシスタントの前記現在アクティブなユーザであると判定したことに応じて前記1人または複数のさらなるユーザの代わりに前記ユーザの前記距離の測定値を決定するステップを含む、
請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記ユーザがアクティブなユーザであると判定するステップが、前記センサからの前記出力および少なくとも1つの追加のセンサからの追加の出力のうちの一方または両方に基づく、
請求項9に記載の方法。
【請求項１１】
前記センサまたは前記追加のセンサが、カメラを含み、前記出力または前記追加の出力が、1つまたは複数の画像を含み、前記ユーザが前記アクティブなユーザであると判定するステップが、1つもしくは複数の画像に基づいて決定された前記ユーザの姿勢および前記1つもしくは複数の画像に基づいて決定された前記ユーザの凝視のうちの一方または両方に基づく、
請求項10に記載の方法。
【請求項１２】
前記エージェントに前記エージェント要求を送信するとともに、前記クライアントデバイスに候補のコンテンツアイテムの前記選択されたサブセットをレンダリングさせた後、
別個の距離の測定値を決定するステップであって、前記別個の距離の測定値が、前記ディスプレイデバイスに対する前記ユーザの前記距離が変わったことを示す、ステップと、
前記別個の距離の測定値を決定したことに応じて、前記特定されたエージェントに関する別個のエージェント要求を生成するステップであって、前記別個のエージェント要求が、前記別個の距離の測定値を含む、ステップと、
前記候補のコンテンツアイテムの別個のサブセットと前記エージェント要求に含まれる前記別個の距離の測定値との間の対応に基づいて前記アクションのための前記候補のコンテンツアイテムの前記別個のサブセットを前記エージェントに選択させるために前記エージェントに前記別個のエージェント要求を送信するステップと、
前記クライアントデバイスに候補のコンテンツアイテムの前記選択された別個のサブセットをレンダリングさせるステップとをさらに含む、
請求項1から9のいずれか一項に記載の方法。
【請求項１３】
前記受信された要求が、前記自動化されたアシスタントインターフェースにおいて受け取られた口頭の発話に基づき、前記ユーザの声紋を具現化するオーディオデータを含み、前記方法が、
近さに適応するコンテンツに関連するユーザプリファレンスを示すユーザプロファイルを前記ユーザの前記声紋に基づいて選択するステップであって、コンテンツアイテムの前記サブセットが、前記ユーザプリファレンスに基づいて選択される、ステップをさらに含む、
請求項1に記載の方法。
【請求項１４】
前記距離の測定値が、前記受信された要求において具現化されるか、または前記受信された要求とは別に受信される、
請求項1に記載の方法。
【請求項１５】
前記クライアントデバイスが、前記センサの前記出力から前記距離の測定値を生成し、前記要求または追加の送信で前記距離の測定値を送信し、前記距離の測定値を決定するステップが、前記要求または前記追加の送信に前記距離の測定値が含まれることに基づいて前記距離の測定値を決定し、前記センサの前記出力に直接アクセスすることなく前記距離の測定値を決定するサーバデバイスにおいて実行される、
請求項1に記載の方法。
【請求項１６】
1つまたは複数のプロセッサによって実行される方法であって、
ユーザと自動化されたアシスタントとの間のインタラクション中に前記ユーザによって既に要求されたアクションを促進するために第1のコンテンツをレンダリングするステップであって、前記自動化されたアシスタントが、クライアントデバイスの自動化されたアシスタントインターフェースを介してアクセス可能であり、前記第1のコンテンツが、前記クライアントデバイスのローカルに記憶されるコンテンツアイテムの第1のサブセットに基づいてレンダリングされる、ステップと、
前記クライアントデバイスに接続されるセンサの出力に基づいて、前記クライアントデバイスが前記第1のコンテンツをレンダリングしている間に、前記ユーザの位置が第1の位置から第2の位置に変わったと判定するステップと、
前記アクションを促進するために第2のコンテンツをそこからレンダリングするためのコンテンツアイテムの第2のサブセットを前記センサの前記出力に基づいて特定するステップであって、コンテンツアイテムの前記第2のサブセットが、コンテンツアイテムの前記第1のサブセットと排他的なデータを含み、前記クライアントデバイスのローカルに記憶される、ステップと、
コンテンツアイテムの前記特定された第2のサブセットに基づいて前記第2のコンテンツをレンダリングするステップと、
前記クライアントデバイスが前記第2のコンテンツをレンダリングしている間、前記センサの後続の出力を監視するステップと、
前記センサの前記後続の出力が、前記ユーザが前記第1の位置および前記第2の位置と異なる第3の位置に移動したことを示すときに、
前記ユーザが前記第3の位置にいるときに第3のコンテンツをそこからレンダリングするためのコンテンツアイテムの第3のサブセットが前記クライアントデバイスのローカルで利用され得ないと判定するステップと、
前記自動化されたアシスタントによってアクセスされ得る遠隔のサーバデバイスからコンテンツアイテムの前記第3のサブセットを受信する要求を生成するステップとを含む、
方法。
【請求項１７】
前記第3の位置が、前記第1の位置および前記第2の位置よりも前記クライアントデバイスに近く、前記方法が、
コンテンツアイテムの前記第3のサブセットを受信するステップと、
コンテンツアイテムの前記第3のサブセットに基づいて前記第3のコンテンツをレンダリングするステップであって、前記第1のコンテンツが、第1のモダリティによってレンダリングされ、前記第3のコンテンツが、前記第1のモダリティと異なる第2のモダリティによってレンダリングされる、ステップとをさらに含む、
請求項16に記載の方法。
【請求項１８】
前記第3のコンテンツをレンダリングするステップが、前記第2のコンテンツを前記第3のコンテンツと取り替えるステップを含む、
請求項17に記載の方法。
【請求項１９】
前記第1のモダリティが、オーディオモダリティであり、前記第1のコンテンツが、前記クライアントデバイスに接続される1つまたは複数のスピーカによってレンダリングされ、前記第2のモダリティが、ディスプレイモダリティであり、前記第3のコンテンツが、前記クライアントデバイスに接続されるディスプレイデバイスによってレンダリングされる、
請求項18に記載の方法。
【請求項２０】
前記クライアントデバイスの前記自動化されたアシスタントインターフェースにおいて口頭の発話を受け取るステップであって、前記センサが、前記自動化されたアシスタントインターフェースに不可欠であり、前記ユーザからの可聴入力に応答するように構成される1つまたは複数のマイクロフォンを含む、ステップと、
前記受け取られた口頭の発話に対応するオーディオデータに基づいて、前記アクションを実行するための目標アプリケーションおよび前記クライアントデバイスに対する前記ユーザの向きを決定するステップとをさらに含む、
請求項16に記載の方法。
【請求項２１】
前記センサが、カメラを含み、前記方法が、
前記センサの前記後続の出力が、前記ユーザが前記第3の位置に移動したことを示すときに、
前記カメラによってキャプチャされた1つまたは複数の画像に基づいて、前記ユーザがアクティブなユーザであるかどうかを、1つもしくは複数の画像の処理に基づいて決定された前記ユーザの姿勢、前記1つもしくは複数の画像の処理に基づいて決定された前記ユーザの凝視の方向、前記1つもしくは複数の画像の処理に基づいて決定された前記ユーザの口の動き、および前記1つまたは複数の画像の処理に基づいて検出された前記ユーザのジェスチャのうちの1つまたは複数に基づいて判定するステップをさらに含む、
請求項16に記載の方法。
【請求項２２】
1つまたは複数のプロセッサによって実行される方法であって、
ディスプレイデバイスを含むクライアントデバイスによって送信された自動化されたアシスタントの要求を遠隔の自動化されたアシスタントシステムにおいて受信するステップと、
前記遠隔の自動化されたアシスタントシステムによって、前記自動化されたアシスタントの要求の内容に基づいて、
前記自動化されたアシスタントの要求のための自動化されたアシスタントエージェント、および
前記クライアントデバイスとユーザとの間の現在の距離を示すユーザの距離の測定値であって、前記ユーザが、前記クライアントデバイスの環境内にいる、ユーザの距離の測定値を決定するステップと、
前記遠隔の自動化されたアシスタントシステムによって、前記自動化されたアシスタントの要求のための前記決定された自動化されたアシスタントエージェントに、前記ユーザの距離の測定値を含むエージェント要求を送信するステップと、
前記遠隔の自動化されたアシスタントシステムによって、前記エージェント要求に応じて前記自動化されたアシスタントエージェントから、前記ユーザの距離の測定値に適応されるコンテンツアイテムを受信するステップと、
前記ユーザの距離の測定値に適応される前記コンテンツアイテムを送信するステップであって、前記コンテンツアイテムが、前記自動化されたアシスタントの要求に応じて前記遠隔の自動化されたアシスタントから前記クライアントデバイスに送信される、ステップとを含み、
応答コンテンツを送信することが、前記クライアントデバイスに前記クライアントデバイスの前記ディスプレイデバイスによって前記応答コンテンツをレンダリングさせる、
方法。
【請求項２３】
前記ユーザの距離の測定値を決定するステップが、前記ユーザの距離の測定値が第1の距離の閾値および第2の距離の閾値を満たすと判定するステップを含み、前記コンテンツアイテムが、前記第1の距離の閾値に適応されたコンテンツアイテムの第1のサブセットおよび前記第2の距離の閾値に適応されたコンテンツアイテムの第2のサブセットを含む、
請求項22に記載の方法。
【請求項２４】
前記クライアントデバイスが、前記ユーザの距離の測定値を決定し、コンテンツアイテムの前記第1のサブセットおよびコンテンツアイテムの前記第2のサブセットのうちの一方から前記応答コンテンツをレンダリングするためのデータを選択するように構成される、
請求項23に記載の方法。
【請求項２５】
前記クライアントデバイスが、前記ユーザの距離の測定値が前記第1の距離の閾値だけを満たすとき、コンテンツアイテムの第1のサブセットに基づいて前記応答コンテンツをレンダリングし、前記ユーザの距離の測定値が前記第2の距離の閾値だけを満たすとき、コンテンツアイテムの前記第2のサブセットに基づいて前記応答コンテンツをレンダリングするようにさらに構成される、
請求項24に記載の方法。
【請求項２６】
コンテンツアイテムの前記第1のサブセットが、コンテンツアイテムの前記第2のサブセットから除外されるデータフォーマットを具現化するデータを含む、
請求項23に記載の方法。
【請求項２７】
少なくとも1つのプロセッサと、実行されるときに前記少なくとも1つのプロセッサに請求項1から26のいずれか一項に記載の方法を実行させる前記少なくとも1つのプロセッサによって実行可能な命令を記憶する少なくとも1つのメモリとを含む、
システム。
【請求項２８】
少なくとも1つのコンピューティング装置によって実行されるときに前記少なくとも1つのコンピューティング装置に請求項1から26のいずれか一項に記載の方法を実行させるコンピュータが実行可能な命令を含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動化されたアシスタントのコンテンツをレンダリングする自動化されたアシスタントインターフェースに対するユーザの距離に応じて自動化されたアシスタントのコンテンツを生成するおよび/または適応させるための方法、装置、システム、およびコンピュータ可読媒体に関する。
【背景技術】
【０００２】
人は、本明細書において「自動化されたアシスタント」と呼ばれるインタラクティブなソフトウェアアプリケーション(「デジタルエージェント」、「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)を用いて人間とコンピュータとの対話に従事する可能性がある。たとえば、人(自動化されたアシスタントとインタラクションするときは「ユーザ」と呼ばれることがある)は、場合によってはテキストに変換され、次いで処理される可能性がある口頭の自然言語入力(つまり、発話)を使用して、および/またはテキスト(たとえば、タイピングされた)自然言語入力を与えることによって自動化されたアシスタントにコマンドおよび/または要求を与える可能性がある。自動化されたアシスタントは、可聴のおよび/または視覚的なユーザインターフェース出力を含み得る応答ユーザインターフェース出力を提供することによって要求に応答する。
【発明の概要】
【課題を解決するための手段】
【０００３】
出願人は、自動化されたアシスタントがユーザインターフェース出力を(たとえば、ユーザからの要求に応じて)ユーザに対して提示するためにレンダリングさせているときに、概して、ユーザインターフェース出力がコンテンツをレンダリングするユーザインターフェース出力デバイスに対するユーザの距離と無関係にレンダリングされることを認識した。結果として、ユーザは、ユーザの現在位置からユーザインターフェース出力を知覚することができない可能性がある(たとえば、表示された出力が小さすぎる可能性があるおよび/または可聴出力の音量が小さすぎる可能性がある)。これは、ユーザに移動し、もう一度出力がレンダリングされることを要求するユーザインターフェース入力を与えることを必要とさせ得る。そのようなユーザインターフェース入力を処理することおよび/またはコンテンツを再びレンダリングすることは、計算リソースおよび/またはネットワークリソースの余計な消費を引き起こし得る。さらに、あまり器用でないユーザに関して、そのユーザは、ユーザインターフェース入力が知覚され得る位置に移動することが難しい可能性がある。追加的にまたは代替的に、自動化されたアシスタントからのユーザインターフェース出力は、ユーザの距離と無関係に出力をレンダリングした結果として必要以上に計算コストが高い方法でレンダリングされ得る。たとえば、可聴出力が、必要以上に大きな音量でレンダリングされる可能性があり、および/または表示される出力が、複数フレームのコンテンツがその代わりに単一のフレームによって表示されるとした場合よりも長い継続時間の間、複数フレームによって表示され得る。
【０００４】
さらに、出願人は、ユーザインターフェース出力がレンダリングされているときに、ユーザが移動し、自動化されたアシスタントからのさらなる出力を知覚するユーザの能力を潜在的に邪魔する可能性があることを認識した。さらに、自動化されたアシスタントが特定のクライアントデバイスに出力を提供させており、ユーザがクライアントデバイスにより近付くとき、ユーザは、クライアントデバイスの特定のインターフェースとのそのユーザの近さのおかげでより多くの出力を知覚することを望む可能性がある。しかし、多くの自動化されたアシスタントはユーザの距離を通常知らないので、それらの自動化されたアシスタントは、ユーザによって知覚されない可能性がある出力をレンダリングすることに計算リソースを無駄にさせる可能性がある。さらに、ユーザが出力を知覚することができる方法の数を考慮すると、レンダリングされる出力が近くのユーザのために適応されないとき、計算リソースは効率的に使用されない可能性がある。
【０００５】
本明細書において開示される実装は、自動化されたアシスタントのコンテンツをレンダリングする自動化されたアシスタントインターフェースに対する少なくとも1人のユーザの距離に応じて自動化されたアシスタントのコンテンツを生成するおよび/または適応させるための方法、装置、ならびに(一時的および非一時的)コンピュータ可読媒体を対象とする。少なくとも1人のユーザの距離に応じて自動化されたアシスタントのコンテンツを生成する一部の実装は、ユーザの現在の決定された距離に基づく距離測定基準を含むエージェントの要求を生成したことに基づいてコンテンツを生成する。ユーザの現在の距離は、視覚センサ(たとえば、モノグラフィックカメラ、ステレオグラフィックカメラ)、専用の距離センサ(たとえば、レーザ距離計)、(たとえば、ビームフォーミングおよび/またはその他の技術を使用する)マイクロフォンなどの1つまたは複数のセンサからの信号に基づいて決定され得る。さらに、エージェントの要求は、対応するエージェントに送られる、対応するエージェントは、距離測定基準に適応されるエージェントのデータによってエージェントの要求に応答する。次いで、自動化されたアシスタントは、エージェントのデータ(またはその変換)をユーザに対してレンダリングするためのコンテンツとして提供することができる。コンテンツが距離測定基準に適応され、ユーザの現在の距離においてユーザによって容易に知覚され得るので、自動化されたアシスタントとのユーザのインタラクションが、改善される。さらにエージェントのデータは、要求のために利用可能な候補のエージェントのデータのサブセットであることが可能であり、サブセットは、エージェントの要求の距離測定基準とのサブセットの適合に基づいてエージェントによって選択される。これらのおよびその他の方法では、候補のエージェントのデータのサブセットのみが、(送信するためにより多くのネットワークリソースを必要とする)候補のエージェントのデータの全体の代わりにエージェントによって提供される。さらに、コンテンツをレンダリングする自動化されたアシスタントのクライアントデバイスは、候補のエージェントのデータの全体(またはその変換)の代わりにエージェントのデータのサブセット(またはその変換)のみを受信し得る。距離測定基準に適応されたコンテンツの特定の性質が、自動化されたアシスタントを実行するユーザデバイスなどのコンピューティング装置におけるコンピューティングおよびその他のハードウェアリソースの効率的使用を保証する可能性がある。これは、少なくとも、ユーザによって知覚され得ないアシスタントの潜在的に計算コストの高い能力の実施が避けられるからである。たとえば、(たとえば、サブセットのみをクライアントデバイスに送信する際の)ネットワークリソース、(たとえば、クライアントデバイスにサブセットのみをバッファリングする際の)クライアントデバイスのメモリリソース、ならびに/または(たとえば、サブセットの一部またはすべてのみをレンダリングする際の)クライアントデバイスのプロセッサおよび/もしくは電力リソースの節約が、あり得る。
【０００６】
ユーザの距離に応じて自動化されたアシスタントのコンテンツを生成する1つの非限定的な例として、ユーザがアシスタントインターフェースを有するクライアントデバイスのディスプレイから7フィート離れていると仮定する。さらに、ユーザが、口頭の発話「地元の天気予報」を与えると仮定する。ユーザの推定された距離が、クライアントデバイスのセンサおよび/またはクライアントデバイスの近傍にあるその他のセンサからの信号に基づいて決定され得る。口頭の発話は、(たとえば、「天気予報」の意図およびクライアントデバイスの位置に対応する位置の値を指定する)エージェントの要求を生成するために処理されることが可能であり、ユーザの推定された距離に基づく距離測定基準が、エージェントの要求に含められ得る。エージェントの要求は、対応するエージェントに送信されることが可能であり、それに応じて、対応するエージェントは、その場所の3日間の天気予報のグラフィカルな表現のみを含むグラフィカルなコンテンツを返すことができる。3日間の天気予報のグラフィカルな表現は、クライアントデバイスに送信され、クライアントデバイスのディスプレイを介してグラフィカルにレンダリングされ得る。対応するエージェントは、3日間の天気予報のグラフィカルな表現との距離測定基準の対応に基づいて(たとえば、1日、5日間、またはその他の異なる天気予報の代わりに)3日間の天気予報のグラフィカルな表現を選択し得る。
【０００７】
例の変化形として、その代わりに、ユーザがディスプレイから20フィート離れており、同じ口頭の発話「地元の天気予報」を与えたと仮定する。そのような変化形において、エージェントの要求に含まれる距離測定基準は、(7フィートの距離の推定値の代わりに)20フィートの距離の推定値を反映し、結果として、要求に応じてエージェントによって返されるコンテンツは、その場所の3日間の天気予報を伝えるテキストまたは可聴コンテンツを含む可能性がある--およびすべてのグラフィカルなコンテンツを除外する可能性がある。可聴コンテンツ(またはテキストコンテンツ、またはテキストコンテンツのテキストトゥスピーチ変換であるオーディオ)は、いかなる天気に関連するグラフィカルなコンテンツも視覚的にレンダリングされることなく、クライアントデバイスのスピーカによって聞こえるようにレンダリングするためにクライアントデバイスに送信され得る。対応するエージェントは、3日間のテキストのまたは可聴の天気予報との距離測定基準の対応に基づいて(たとえば、天気予報のグラフィカルな表現の代わりに)3日間のテキストのまたは可聴の天気予報を選択し得る。
【０００８】
例のさらなる変化形として、その代わりに、ユーザがディスプレイから12フィート離れており、同じ口頭の発話「地元の天気予報」を与えたと仮定する。そのようなさらなる変化形において、エージェントの要求に含まれる距離測定基準は、12フィートの距離の推定値を反映し、結果として、要求に応じてエージェントによって返されるコンテンツは、その場所の3日間の天気予報を伝えるテキストまたは可聴コンテンツを含む可能性がある--およびその場所の1日の(つまり、その日の)予報のみを伝えるグラフィカルなコンテンツも含む可能性がある。可聴コンテンツ(またはテキストコンテンツ、またはテキストコンテンツのテキストトゥスピーチ変換であるオーディオ)は、クライアントデバイスのスピーカによって聞こえるようにレンダリングするためにクライアントデバイスに送信されることが可能であり、1日の天気のグラフィカルなコンテンツも、クライアントデバイスのディスプレイによってグラフィカルにレンダリングするために送信されることが可能である。この場合も、対応するエージェントは、返されるコンテンツとの距離測定基準の対応に基づいて返されるコンテンツを選択し得る。
【０００９】
一部の実装において、クライアントデバイスによってレンダリングされる自動化されたアシスタントのコンテンツは、追加的にまたは代替的に、ユーザの距離に応じて適応され得る。たとえば、自動化されたアシスタントが特定の自動化されたアシスタントのアクションを実行しているとき、自動化されたアシスタントは、コンテンツをレンダリングするクライアントデバイスのローカルで利用され得る候補の自動化されたアシスタントのコンテンツ(たとえば、クライアントデバイスのローカルメモリに記憶された候補の自動化されたアシスタントのコンテンツ)のサブセットなどの候補の自動化されたアシスタントのコンテンツの異なるサブセットのレンダリングを「切り替える」ことができる。自動化されたアシスタントは、所与の時間にクライアントデバイスにおいてレンダリングするために使用される候補の自動化されたアシスタントのコンテンツのサブセットを選択するために所与の時間の距離の測定値を使用することができる。候補の自動化されたアシスタントのコンテンツは、たとえば、遠隔のデバイスが自動化されたアシスタントのアクションに関連する要求を受信したことに応じて遠隔のデバイスからクライアントデバイスに提供され得る。提供されるコンテンツは、ユーザの複数の異なる位置および/または距離のためにクライアントデバイスによって適応されることが可能である自動化されたアシスタントのコンテンツに対応し得る。このようにして、ユーザが対応する位置および/または距離に応じて位置を変えている限り、自動化されたアシスタントは、自動化されたアシスタントのコンテンツのレンダリングまたは提示をユーザの位置および/またはユーザの距離の変化に応じて適応させることができる。ユーザがレンダリングされるコンテンツのいかなる好適な適応にも対応しない位置および/もしくは場所に位置を変える(ならびに/またはそのような位置および/もしくは場所の近くに位置を変える)とき、自動化されたアシスタントは、その位置および/または場所のための追加の自動化されたアシスタントのコンテンツをクライアントデバイスに要求させることができる。そして、追加の自動化されたアシスタントのコンテンツが、クライアントデバイスにおいてより好適なコンテンツをレンダリングするために使用され得る。
【００１０】
例として、自動化されたアシスタントは、複数の異なるアクションを含むルーチンを実行し得る。自動化されたアシスタントは、ユーザのコマンド(たとえば、口頭の発話、ユーザインターフェース要素のタップ)に応じておよび/または(たとえば、ユーザの存在を検出することに基づく、特定の時刻であることに基づく、目覚ましアラームがユーザによって解除されることに基づく)1つもしくは複数の条件の発生に応じてルーチンを実行し得る。一部の実装においては、ルーチンの複数の異なるアクションのうちのアクションの1つが、ポッドキャストに対応するコンテンツをレンダリングすることを含み得る。コンテンツは、クライアントデバイスのローカルで利用され得るデータを使用してレンダリングされることが可能であり、クライアントデバイスに対するユーザの距離に応じて適応され得る。たとえば、ユーザがクライアントデバイスから第1の距離にいるとき、自動化されたアシスタントは、利用可能なデータの一部を可聴コンテンツに制限されるコンテンツとしてレンダリングさせ得る。さらに、ユーザが第1の距離よりも短い第2の距離に移動するとき、自動化されたアシスタントは、レンダリングされるコンテンツをビデオコンテンツを含むように適応させることができ、および/または可聴コンテンツをより大きな音量でレンダリングさせることができる。たとえば、ビデオコンテンツはインタビューのビデオ録画に対応することが可能であり、そのビデオ録画からオーディオコンテンツが導出された。可聴コンテンツおよびビデオコンテンツの基礎を提供するデータは、ルーチンの初期化に応じて(たとえば、遠隔の自動化されたアシスタント構成要素によって)クライアントデバイスに送信されることが可能であり、および/または(たとえば、ユーザがそのようなコンテンツが自動的にダウンロードされてほしいことを示す加入データもしくはユーザのプリファレンスに従って自動化されたアシスタントの指示で)ルーチンの初期化の前にクライアントデバイスによって先を見越してダウンロードされることが可能である。
【００１１】
これらのおよびその他の方法で、レンダリングされるコンテンツは、ユーザが移動する度に追加のデータを必ずしも要求することなくユーザの位置および/またはユーザの場所の変化に適応され得る。これは、レンダリングされるコンテンツの適応の際のレイテンシを削減することができる。ユーザがローカルで利用され得るデータに対応しない位置または場所に位置を変えるとすると、自動化されたアシスタントは、クライアントデバイスに追加のデータの要求を生成させることができ、および/または自動化されたアシスタントが、追加のデータの要求を生成することができる。任意で、要求は、距離の測定値に基づく情報を含み得る。クライアントデバイスがそれに応じて(たとえば、ポッドキャストデータをホストするサーバから)追加のデータを受信するとき、自動化されたアシスタントは、クライアントデバイスに--追加のデータを使用しておよび距離データに基づいて--コンテンツをレンダリングさせることができる。
【００１２】
一部の実装において、クライアントデバイスは、ユーザが特定のレンダリングされるコンテンツに対応する位置に移動すると予想してコンテンツを先を見越して要求するおよび/またはバッファリングすることができる。たとえば、クライアントデバイスは、ユーザがクライアントデバイスから5フィートから10フィートまでの間にいるときに対応するローカルで利用され得るデータを持ち得る。ユーザがクライアントデバイスの5から10フィート以内にいるが、クライアントデバイスに向かってまだ移動しているとき、クライアントデバイスは、ローカルで利用され得るデータをレンダリングし、追加のデータを先を見越して要求することができる。追加のデータは、クライアントデバイスから2フィートから5フィートまでの間の距離に対応することができ、したがって、ユーザが2から5までの間にあるエリアに入るとき、クライアントデバイスは、追加のデータをレンダリングすることができる。これは、ユーザがクライアントデバイスに向かってまたはクライアントデバイスから離れて移動しているときにレンダリングするデータのサブセットを切り替えるときのレイテンシを削減することができる。
【００１３】
例として、ユーザは、「アシスタント、私の歌をかけて」などの口頭の発話を与えることができる。それに応じて、クライアントデバイスは、様々な距離と相互に関連付けられるデータを要求し、クライアントデバイスからのユーザの検出された距離に基づいて、検出された距離に基づいてレンダリングされるコンテンツを決定することができる。たとえば、ユーザがクライアントデバイスから20フィート離れているとき、クライアントデバイスは、オーディオに制限されるコンテンツをレンダリングし、ユーザが20フィートよりも近いが12フィートよりも遠いときにレンダリングされるように予め構成されるアルバムアートを先を見越してロードすることができる。一部の実装においては、ユーザが20フィートから12フィートまでの間の距離にある場所に移動するとき、アルバムアートが、クライアントデバイスにおいて任意の以前のグラフィカルなコンテンツ(たとえば、歌詞)に取って代わることができる。代替的にまたは追加的に、ユーザが12フィートよりも近いが6フィートよりも遠いとき、クライアントデバイスは、ビデオをレンダリングさせ、レンダリングされている任意のオーディオと同期させることができる。一部の実装において、レンダリングされるビデオは、ユーザが20フィート離れていたときにはローカルで利用され得なかったが、ユーザがクライアントデバイスに向かう軌道を進んでいると判定したことに応じてクライアントデバイスによって要求されたデータに基づくことができる。このようにして、要求されたデータは、レンダリングされるオーディオデータの基礎として提供されるデータと相互排他的であり、レンダリングされるビデオは、ユーザがクライアントデバイスから12フィートから6フィートまでの間の距離に到達する前にレンダリングされる任意のグラフィカルなコンテンツに取って代わる。さらに、ユーザが6フィートよりも近いとき、クライアントデバイスは、ビデオをレンダリングさせ続けることができるが、タッチ可能なメディアコントロール(たとえば、戻る、一時停止、および/または進むのインタラクティブなコントロール要素)をさらに追加で視覚的にレンダリングすることができ、しかし、それらのコントロールは、ユーザが6フィートよりも近付く前はレンダリングされていなかった。
【００１４】
一部の実装においては、複数のユーザが、自動化されたアシスタントにアクセスすることができるクライアントデバイスによって共有される環境内にいることが可能である。したがって、距離の測定値を決定することは、「アクティブ」であるかまたはそうでなければ自動化されたアシスタントと直接的もしくは間接的に関わり合っている少なくとも1人のユーザに応じて決まり得る。たとえば、クライアントデバイスと通信している1つまたは複数のセンサが、ユーザが複数の人のグループの中でアクティブなユーザであるかどうかを検出するために使用され得る。たとえば、視覚的センサ(たとえば、クライアントデバイスのカメラ)の出力から生成されたデータが、たとえば、アクティブなユーザの姿勢、凝視、および/または口の動きに基づいて複数のユーザの中からアクティブなユーザを判定するために処理され得る。1つの特定の例として、ユーザの姿勢および凝視がクライアントデバイスに真っ直ぐ向けられていることに基づいて、ならびにその他のユーザの姿勢および凝視がクライアントデバイスに真っ直ぐ向けられていないことに基づいて、単一のユーザがアクティブなユーザであると判定され得る。特定の例において、距離の測定値は、(視覚的センサからの出力および/またはその他のセンサからの出力に基づいて決定され得る)単一のユーザの決定された距離に基づくことができる。別の特定の例として、2人のユーザの姿勢および凝視がクライアントデバイスに真っ直ぐ向けられていることに基づいて、2人のユーザが、アクティブなユーザであると判定され得る。そのような別の特定の例において、距離の測定値は、2人のユーザの決定された距離(たとえば、2つの距離の平均)に基づくことができる。
【００１５】
代替的にまたは追加的に、トランスデューサ(たとえば、クライアントデバイスのマイクロフォン)の出力から生成された可聴データが、複数のユーザの中からアクティブなユーザを特定するためにビームフォーミング、音声識別、および/またはその他の技術を使用して処理され得る。たとえば、口頭の発話が、口頭の発話を与えるユーザの距離を推定するためにビームフォーミングを使用して処理されることが可能であり、口頭の発話を与えるユーザが、アクティブなユーザであると考えられ、推定された距離が、アクティブなユーザの距離として利用される。また、たとえば、口頭の発話の音声識別が、口頭の発話に適合するユーザプロファイルを特定するために利用されることが可能であり、キャプチャされた画像内のアクティブなユーザが、ユーザプロファイルの対応する特徴に適合するアクティブなユーザの顔の特徴および/またはその他の特徴に基づいて決定され得る。さらに別の例として、口頭の発話が、口頭の発話を与えるユーザの方向を推定するためにビームフォーミングを使用して処理されることが可能であり、口頭の発話を与えたアクティブなユーザが、アクティブなユーザがキャプチャされた画像および/またはその他のセンサデータ内でその方向にいることに基づいて決定される。これらのおよびその他の方法で、クライアントデバイスの環境内の複数のユーザの中のアクティブなユーザが、特定されることが可能であり、コンテンツが、生成され、および/または環境内のその他のユーザの代わりにそのアクティブなユーザに適応される。そのような情報が、その後、ユーザのためにコンテンツを生成するおよび/または適応させるための基礎として使用されることになり得る。その他の実装において、ユーザの声紋(voice signature)または声識別子(ID)が、検出されることが可能であり、声紋および/または声IDが、ユーザのステータスを特定するためにカメラからの1つまたは複数の画像と組み合わせて処理されることが可能である。たとえば、マイクロフォンの出力に基づいて収集されたオーディオデータが、音声の特徴を検出し、音声の特徴を自動化されたアシスタントによってアクセスされ得る1つまたは複数のプロファイルと比較するために処理され得る。音声の特徴と最も高い相関があるプロファイルが、ユーザのためにコンテンツをどのようにして生成するおよび/または適応させるべきかを決定するために使用され得る。
【００１６】
上記説明は、本開示の一部の実装の概要として与えられた。それらの実装およびその他の実装のさらなる説明が、下により詳細に示される。
【００１７】
一部の実装においては、自動化されたアシスタントにアクションの実行を初期化させる要求を受信するステップを含む、1つまたは複数のプロセッサによって実行される方法が、提供される。自動化されたアシスタントは、ディスプレイデバイスおよびセンサと通信しているクライアントデバイスの自動化されたアシスタントインターフェースを介してアクセス可能であり、センサは、ディスプレイデバイスに対するユーザの距離を示す出力を提供する。方法は、ディスプレイデバイスに対するユーザの推定された距離に対応する距離の測定値をセンサの出力に基づいて決定するステップをさらに含む。方法は、アクションを完了するためのエージェントを受信された要求に基づいて特定するステップをさらに含む。エージェントは、自動化されたアシスタントによってアクセス可能であり、ディスプレイデバイスに対するユーザの推定された距離に基づいてクライアントデバイスのためのデータを提供するように構成される。方法は、要求を受信したことおよび受信された要求に基づいてエージェントを特定したことに応じて、特定されたエージェントにアクションを促進するためにコンテンツアイテムを提供させるエージェント要求を生成するステップをさらに含む。エージェント要求は、決定された距離の測定値を特定する。方法は、アクションのためのコンテンツアイテムのサブセットを、候補のコンテンツアイテムのサブセットとエージェント要求に含まれる距離の測定値との間の対応に基づいてエージェントに選択させるためにエージェントにエージェント要求を送信するステップであって、候補のコンテンツアイテムのサブセットが、コンテンツアイテムのサブセットから除外されたその他のコンテンツアイテムに比べて独特に(uniquely)クライアントデバイスにおいてレンダリングされるように構成される、ステップをさらに含む。方法は、クライアントデバイスに候補のコンテンツアイテムの選択されたサブセットをレンダリングさせるステップをさらに含む。
【００１８】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００１９】
一部の実装において、コンテンツアイテムのサブセットは、ユーザの前記推定された距離を包含する距離の第1の範囲に対応する第1のサブセット、および距離の第2の範囲に対応する第2のサブセットを含む。距離の第2の範囲は、推定された距離を除外し、距離の第1の範囲との共通の境界を有する。それらの実装において、クライアントデバイスに候補のコンテンツアイテムの選択されたサブセットをレンダリングさせるステップは、クライアントデバイスに第1のサブセットのみを最初にレンダリングさせるステップと、クライアントデバイスに第2のサブセットをバッファリングさせるとともに、次いで、ユーザが距離の第2の範囲内にある新しい距離に移動したと判定したことに応じて第2のサブセットをレンダリングさせるステップとを含む。それらの実装の一部のバージョンにおいて、クライアントデバイスに第2のサブセットをレンダリングさせるステップは、ユーザが新しい距離に移動したと判定したことに応じてクライアントデバイスに第1のサブセットを第2のサブセットと取り替えさせるステップを含む。それらのバージョンの一部において、第2のサブセットは、任意で、第1のサブセットに含まれるいかなるコンテンツも持たないことが可能である。それらの実装の一部のその他のバージョンにおいて、第1のサブセットは、オーディオデータを含み、第2のサブセットは、グラフィカルなコンテンツを含み、クライアントデバイスに第1のサブセットのみを最初にレンダリングさせるステップは、クライアントデバイスにオーディオデータを聞こえるようにレンダリングさせるステップを含み、クライアントデバイスに第2のサブセットをレンダリングさせるステップは、クライアントデバイスにオーディオデータの可聴のレンダリングと一緒にグラフィカルなコンテンツをレンダリングさせるステップを含む。それらのその他のバージョンの一部において、グラフィカルなコンテンツは、画像であるか、またはグラフィカルなコンテンツは、オーディオデータと同期してレンダリングされるビデオである。一部の追加的なまたは代替的なバージョンにおいて、エージェントは、距離の測定値に対応するユーザの推定された距離を包含する距離の第1の範囲に対応する第1のサブセットに基づいて第1のサブセットを選択し、エージェントは、ユーザの推定された距離が第2のサブセットに対応する距離の第2の範囲の閾値の距離以内にあることに基づいて第2のサブセットを選択する。さらにその他の追加的なまたは代替的なバージョンにおいて、方法は、推定された距離の推定された変化率をセンサからの出力に基づいて決定するステップと、エージェント要求に推定された変化率のインジケーションを含めるステップとをさらに含む。それらのその他の追加的なまたは代替的なバージョンにおいて、エージェントは、距離の測定値に対応するユーザの推定された距離を包含する距離の第1の範囲に対応する第1のサブセットに基づいて第1のサブセットを選択し、エージェントは、推定された変化率のインジケーションに基づいて第2のサブセットを選択する。
【００２０】
一部の実装においては、ユーザおよび1人または複数のさらなるユーザが、クライアントデバイスの環境内におり、方法は、ユーザが自動化されたアシスタントの現在アクティブなユーザであると判定するステップをさらに含む。それらの実装において、ユーザの推定された距離に対応する距離の測定値を決定するステップは、ユーザが自動化されたアシスタントの現在アクティブなユーザであると判定したことに応じて1人または複数のさらなるユーザの代わりにユーザの距離の測定値を決定するステップを含む。それらの実装の一部において、ユーザがアクティブなユーザであると判定するステップは、センサからの出力および少なくとも1つの追加のセンサからの追加の出力のうちの一方または両方に基づく。たとえば、センサまたは追加のセンサは、カメラを含むことが可能であり、出力または追加の出力は、1つまたは複数の画像を含むことが可能であり、ユーザがアクティブなユーザであると判定するステップは、1つもしくは複数の画像に基づいて決定されたユーザの姿勢および1つもしくは複数の画像に基づいて決定されたユーザの凝視のうちの一方または両方に基づくことが可能である。
【００２１】
一部の実装において、方法は、エージェントにエージェント要求を送信するとともに、クライアントデバイスに候補のコンテンツアイテムの選択されたサブセットをレンダリングさせた後、別個の距離の測定値を決定するステップであって、別個の距離の測定値が、ディスプレイデバイスに対するユーザの距離が変わったことを示す、ステップと、別個の距離の測定値を決定したことに応じて、特定されたエージェントに関する別個のエージェント要求を生成するステップであって、別個のエージェント要求が、別個の距離の測定値を含む、ステップと、候補のコンテンツアイテムの別個のサブセットとエージェント要求に含まれる別個の距離の測定値との間の対応に基づいてアクションのための候補のコンテンツアイテムの別個のサブセットをエージェントに選択させるためにエージェントに別個のエージェント要求を送信するステップと、クライアントデバイスに候補のコンテンツアイテムの選択された別個のサブセットをレンダリングさせるステップとをさらに含む。
【００２２】
一部の実装において、受信された要求は、自動化されたアシスタントインターフェースにおいて受け取られた口頭の発話に基づき、ユーザの声紋を具現化するオーディオデータを含み、方法は、近さに適応するコンテンツに関連するユーザプリファレンスを示すユーザプロファイルをユーザの声紋に基づいて選択するステップをさらに含む。それらの実装において、コンテンツアイテムのサブセットは、ユーザプリファレンスに基づいて選択される。
【００２３】
一部の実装において、距離の測定値は、受信された要求において具現化されるか、または受信された要求とは別に受信される。
【００２４】
一部の実装において、クライアントデバイスは、センサの出力から距離の測定値を生成し、要求または追加の送信で距離の測定値を送信し、距離の測定値を決定するステップは、サーバデバイスにおいて実行される。たとえば、サーバデバイスは、要求または追加の送信に距離の測定値が含まれることに基づいて距離の測定値を決定することが可能であり、センサの出力に直接アクセスすることなく距離の測定値を決定することが可能である。
【００２５】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法が、提供され、ユーザと自動化されたアシスタントとの間のインタラクション中にユーザによって既に要求されたアクションを促進するために第1のコンテンツをレンダリングするステップを含む。自動化されたアシスタントは、クライアントデバイスの自動化されたアシスタントインターフェースを介してアクセス可能であり、第1のコンテンツは、クライアントデバイスのローカルに記憶されるコンテンツアイテムの第1のサブセットに基づいてレンダリングされる。方法は、クライアントデバイスに接続されるセンサの出力に基づいて、クライアントデバイスが第1のコンテンツをレンダリングしている間に、ユーザの位置が第1の位置から第2の位置に変わったと判定するステップをさらに含む。方法は、アクションを促進するために第2のコンテンツをそこからレンダリングするためのコンテンツアイテムの第2のサブセットをセンサの出力に基づいて特定するステップをさらに含む。コンテンツアイテムの第2のサブセットは、コンテンツアイテムの第1のサブセットと排他的なデータを含み、クライアントデバイスのローカルに記憶される。方法は、コンテンツアイテムの特定された第2のサブセットに基づいて第2のコンテンツをレンダリングするステップをさらに含む。方法は、クライアントデバイスが第2のコンテンツをレンダリングしている間、センサの後続の出力を監視するステップと、センサの後続の出力が、ユーザが第1の位置および第2の位置と異なる第3の位置に移動したことを示すときに、ユーザが第3の位置にいるときに第3のコンテンツをそこからレンダリングするためのコンテンツアイテムの第3のサブセットがクライアントデバイスのローカルで利用され得ないと判定するステップと、自動化されたアシスタントによってアクセスされ得る遠隔のサーバデバイスからコンテンツアイテムの第3のサブセットを受信する要求を生成するステップとをさらに含む。
【００２６】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００２７】
一部の実装において、第3の位置は、第1の位置および第2の位置よりもクライアントデバイスに近く、方法は、コンテンツアイテムの第3のサブセットを受信するステップと、コンテンツアイテムの第3のサブセットに基づいて第3のコンテンツをレンダリングするステップとをさらに含む。それらの実装の一部において、第1のコンテンツは、第1のモダリティ(modality)によってレンダリングされ、第3のコンテンツは、第1のモダリティと異なる第2のモダリティによってレンダリングされる。一部のバージョンにおいて、第3のコンテンツをレンダリングするステップは、第2のコンテンツを第3のコンテンツと取り替えるステップを含み、および/または第1のモダリティは、オーディオモダリティであり、第1のコンテンツは、クライアントデバイスに接続される1つもしくは複数のスピーカによってレンダリングされ、第2のモダリティは、ディスプレイモダリティであり、第3のコンテンツは、クライアントデバイスに接続されるディスプレイデバイスによってレンダリングされる。
【００２８】
一部の実装において、方法は、クライアントデバイスの自動化されたアシスタントインターフェースにおいて口頭の発話を受け取るステップをさらに含み、センサは、自動化されたアシスタントインターフェースに不可欠であり(integral to)、ユーザからの可聴入力に応答するように構成される1つまたは複数のマイクロフォンを含む。それらの実装の一部において、方法は、受け取られた口頭の発話に対応するオーディオデータに基づいて、アクションを実行するための目標アプリケーションおよびクライアントデバイスに対するユーザの向きを決定するステップをさらに含む。
【００２９】
一部の実装において、センサは、カメラを含み、方法は、センサの後続の出力が、ユーザが第3の位置に移動したことを示すときに、カメラによってキャプチャされた1つまたは複数の画像に基づいて、ユーザがアクティブなユーザであるかどうかを、1つもしくは複数の画像の処理に基づいて決定されたユーザの姿勢、1つもしくは複数の画像の処理に基づいて決定されたユーザの凝視の方向、1つもしくは複数の画像の処理に基づいて決定されたユーザの口の動き、および1つもしくは複数の画像の処理に基づいて検出されたユーザのジェスチャのうちの1つまたは複数に基づいて判定するステップをさらに含む。
【００３０】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法が、提供され、ディスプレイデバイスを含むクライアントデバイスによって送信された自動化されたアシスタントの要求を遠隔の自動化されたアシスタントシステムにおいて受信するステップを含む。方法は、遠隔の自動化されたアシスタントシステムによって、自動化されたアシスタントの要求の内容に基づいて、自動化されたアシスタントの要求のための自動化されたアシスタントエージェント、およびクライアントデバイスとクライアントデバイスの環境内にいるユーザとの間の現在の距離を示すユーザの距離の測定値を決定するステップをさらに含む。方法は、遠隔の自動化されたアシスタントシステムによって、自動化されたアシスタントの要求のための決定された自動化されたアシスタントエージェントに、ユーザの距離の測定値を含むエージェント要求を送信するステップをさらに含む。方法は、遠隔の自動化されたアシスタントシステムによって、エージェント要求に応じて自動化されたアシスタントエージェントから、ユーザの距離の測定値に適応されるコンテンツアイテムを受信するステップをさらに含む。方法は、ユーザの距離の測定値に適応されるコンテンツアイテムを、自動化されたアシスタントの要求に応じて遠隔の自動化されたアシスタントからクライアントデバイスに送信するステップをさらに含む。応答コンテンツを送信することは、クライアントデバイスにクライアントデバイスのディスプレイデバイスによって応答コンテンツをレンダリングさせる。
【００３１】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００３２】
一部の実装において、ユーザの距離の測定値を決定するステップは、ユーザの距離の測定値が第1の距離の閾値および第2の距離の閾値を満たすと判定するステップを含み、コンテンツアイテムは、第1の距離の閾値に適応されたコンテンツアイテムの第1のサブセットおよび第2の距離の閾値に適応されたコンテンツアイテムの第2のサブセットを含む。それらの実装の一部のバージョンにおいて、クライアントデバイスは、ユーザの距離の測定値を決定し、コンテンツアイテムの第1のサブセットおよびコンテンツアイテムの第2のサブセットのうちの一方から応答コンテンツをレンダリングするためのデータを選択するように構成される。それらのバージョンの一部において、クライアントデバイスは、ユーザの距離の測定値が第1の距離の閾値だけを満たすとき、コンテンツアイテムの第1のサブセットに基づいて応答コンテンツをレンダリングし、ユーザの距離の測定値が第2の距離の閾値だけを満たすとき、コンテンツアイテムの第2のサブセットに基づいて応答コンテンツをレンダリングするようにさらに構成される。コンテンツアイテムの第1のサブセットは、コンテンツアイテムの第2のサブセットから除外されるデータフォーマットを具現化するデータを含み得る。
【００３３】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法が、提供され、環境内のクライアントデバイスに関連する1つまたは複数のセンサからの出力に基づいて、環境内の複数のユーザのうちの所与のユーザがクライアントデバイスを介してアクセスされ得る自動化されたアシスタントの現在アクティブなユーザであると判定するステップを含む。方法は、1つもしくは複数のセンサからの出力に基づいておよび/または(1つもしくは複数のセンサおよび/もしくはその他のセンサからの)追加の出力に基づいて、クライアントデバイスに対する所与のユーザの距離に対応する距離の測定値を決定するステップをさらに含む。方法は、所与のユーザの距離に合わせて調整される(tailor)コンテンツをクライアントデバイスによってレンダリングさせるステップをさらに含み得る。コンテンツは、所与のユーザが自動化されたアシスタントの現在アクティブなユーザであると判定したことに基づいて環境内のユーザのうちのその他のユーザの代わりに所与のユーザの距離に合わせて調整される。
【００３４】
テクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含み得る。
【００３５】
一部の実装において、方法は、所与のユーザの距離に合わせて調整されるコンテンツを生成するステップをさらに含むことが可能であり、所与のユーザの距離に合わせて調整されるコンテンツを生成するステップが、所与のユーザが自動化されたアシスタントの現在アクティブなユーザであると判定したことに基づく。それらの実装の一部において、所与のユーザの距離に合わせて調整されるコンテンツを生成するステップは、所与のエージェントにエージェント要求を送信するステップであって、エージェント要求が、距離の測定値を含む、ステップと、エージェント要求を送信したことに応じて所与のエージェントからコンテンツを受信するステップとを含む。
【００３６】
一部の実装において、方法は、コンテンツのレンダリング中に、所与のユーザが移動し、クライアントデバイスに対して新しい推定された距離にいると判定するステップをさらに含み得る。それらの実装の一部において、方法は、所与のユーザが現在アクティブなユーザであることに基づいて、所与のユーザが移動し、クライアントデバイスに対して新しい推定された距離にいると判定したことに応じて、新しい推定された距離に合わせて調整される第2のコンテンツをクライアントデバイスによってレンダリングさせるステップをさらに含み得る。それらの実装の一部のバージョンにおいて、第2のコンテンツをクライアントデバイスによってレンダリングさせるステップは、クライアントデバイスにコンテンツを第2のコンテンツと取り替えさせるステップを含み得る。それらの実装の一部のその他のバージョンにおいて、コンテンツは、可聴コンテンツのみを含むことが可能であり、第2のコンテンツは、グラフィカルなコンテンツを含むことが可能であり、第2のコンテンツをクライアントデバイスによってレンダリングさせるステップは、第2のコンテンツをコンテンツと一緒にレンダリングさせるステップを含み得る。
【００３７】
一部の実装において、所与のユーザの距離に合わせて調整されるコンテンツをクライアントデバイスによってレンダリングさせるステップは、選択されたコンテンツが距離の測定値に対応することおよびその他の候補のコンテンツが距離の測定値に対応しないことに基づいてその他の候補のコンテンツの代わりにコンテンツを選択するステップを含み得る。
【００３８】
その他の実装は、上におよび/または本明細書の他の箇所に記載の方法のうちの1つまたは複数などの方法を実行するために1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU: tensor processing unit))によって実行可能な命令を記憶する非一時的コンピュータ可読ストレージ媒体を含む可能性がある。さらにその他の実装は、上におよび/または本明細書の他の箇所に記載の方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つもしくは複数のコンピュータおよび/または1つもしくは複数のロボットのシステムを含む可能性がある。
【００３９】
上述の概念および本明細書においてより詳細に説明される追加的な概念のすべての組合せは、本明細書において開示される対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【図面の簡単な説明】
【００４０】
【図１】クライアントデバイスおよび/または自動化されたアシスタントインターフェースに対するユーザの距離に応じて応答コンテンツを適応させる例を提供する図である。
【図２Ａ】クライアントデバイスに対するユーザの距離に基づいてコンテンツがレンダリングされる例を与える図である。
【図２Ｂ】クライアントデバイスに対するユーザの距離に基づいてコンテンツがレンダリングされる例を与える図である。
【図２Ｃ】クライアントデバイスに対するユーザの距離に基づいてコンテンツがレンダリングされる例を与える図である。
【図３】ユーザと自動化されたアシスタントインターフェースとの間の距離に応じて自動化されたアシスタントのコンテンツをレンダリングするための方法を示す図である。
【図４】自動化されたアシスタントインターフェースに対するユーザの位置に基づいて自動化されたアシスタントのコンテンツを適応させるために方法を示す図である。
【図５】クライアントデバイスおよび/または自動化されたアシスタントインターフェースに対するユーザの距離に応じて応答コンテンツを適応させるためのシステムを示す図である。
【図６】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００４１】
図1は、クライアントデバイス104および/または自動化されたアシスタントインターフェースに対するユーザ102の距離に応じて応答コンテンツを適応させる例を提供する図100を示す。本明細書において検討される実装は、自動化されたアシスタントを介してコンテンツにアクセスしようと直接的または間接的に試みているユーザ102の位置の変化に応じてコンテンツを生成することおよび/または適応させることに関する。概して、コンピューティングデバイスは、コンピューティングデバイスに対するユーザの距離に応じてコンテンツを適応させることができるが、そのようなコンテンツは、コンピューティングデバイスのローカルで利用され得るものに制限され得る。さらに、データの可用性をローカルでアクセス可能なものにそのように制限することは、より好適なデータが遠隔のサーバなどの外部ソースから迅速に取り出され得るとき、コンピューティングデバイスの効率を抑制し得る。たとえば、ディスプレイパネルおよびスピーカを有するコンピューティングデバイスにより近いユーザは、スピーカを介してオーディオとして出されるのではなくディスプレイパネルに提示される週間天気予報などのデータをより容易にまたは迅速に理解する可能性がある。したがって、コンピューティングデバイスとのユーザの近さに応じてそのようなデータを適応させることによって、コンピューティングデバイスは、コンピューティングデバイスのスピーカなどのインターフェースにおいて特定の出力が提示される時間の量を削減し得る。
【００４２】
本明細書において検討される一部の実装において、ユーザ102は、アクションが自動化されたアシスタントによって実行されるかまたは初期化されることを要求することができ、それに応じて、要求を遂行するために提供される任意のデータが、クライアントデバイス104に対するユーザ102の位置または位置の変化に応じて適応され得る。自動化されたアシスタントは、自動化されたアシスタントインターフェースとして動作するおよび/またはクライアントデバイス104からのユーザの距離を決定するための出力を提供することができる1つまたは複数のセンサを含み得る、タブレットコンピューティングデバイスなどであるがこれに限定されないクライアントデバイス104の自動化されたアシスタントインターフェースを介してユーザによってアクセスされ得る。自動化されたアシスタントを呼び出すために、ユーザは、たとえば、「アシスタント、今日の天気は」のような口頭の発話を与えることができる。それに応じて、クライアントデバイス104は、口頭の発話をオーディオデータに変換することができ、オーディオデータは、クライアントデバイス104において処理されるおよび/または処理のために遠隔のデバイス116(たとえば、遠隔のサーバ)に送信されることが可能である。さらに、口頭の発話を受け取ったことに応じて、クライアントデバイス104は、ユーザ102とクライアントデバイス104との間の距離、またはユーザ102とクライアントデバイス104と通信している周辺デバイスとの間の距離に対応する距離の測定値を決定することができる。クライアントデバイス104は、ユーザが自動化されたアシスタントを介して初期化しようとしているアクションおよび/またはアプリケーションを遠隔のデバイス116が決定するためにオーディオデータおよび距離の測定値を遠隔のデバイス116に送信することができる。
【００４３】
様々な実装において、クライアントデバイス104は、1つまたは複数のセンサからの出力に基づいてローカルで距離の測定値を決定する。たとえば、クライアントデバイス104は、ユーザの距離を推定するためにクライアントデバイス104のモノグラフィックカメラによってキャプチャされた画像を処理することができる。たとえば、クライアントデバイス104は、人の頭を含む可能性が高いものとして画像の領域を分類するために(たとえば、1つまたは複数のローカルの機械学習モデルを使用して)画像を処理することによってユーザの距離を推定することができ、画像内のユーザの頭のサイズに基づいて(たとえば、領域のサイズに基づいて)ユーザの距離を推定することができる。別の例として、クライアントデバイス104は、深度チャネルを含むステレオグラフィック画像などのクライアントデバイス104のステレオグラフィックカメラからの出力に基づいてユーザの距離を推定することができる。たとえば、クライアントデバイス104は、人を含む可能性が高いものとしてステレオグラフィック画像の領域を分類するために(たとえば、1つまたは複数のローカルの機械学習モデルを使用して)画像を処理することができ、その領域の深度値に基づいて(たとえば、複数の深度値の平均値、中央値、またはその他の統計的測定値に基づいて)その人の距離を推定することができる。さらに別の例として、クライアントデバイス104は、クライアントデバイス104のマイクロフォンからの出力に基づいてユーザの距離を推定することができる。たとえば、クライアントデバイスは、ユーザの距離を推定するためにビームフォーミングおよび/またはその他の技術を使用してユーザの口頭の発話に対応するオーディオデータを分析することができる。さらに別の例として、クライアントデバイス104は、視覚センサからの出力に基づきおよびマイクロフォンからの出力に基づくなど、センサの組合せからの出力に基づいて距離を推定することができる。専用の距離センサ、光検出および測距(LIDAR: Light Detection and Ranging)センサなどの追加的なおよび/または代替的なセンサが、利用され得る。また、一部の実装において、クライアントデバイス104は、クライアントデバイス104の外部にあるがクライアントデバイス104と通信して
いる1つまたは複数のセンサからの出力に頼ることができる。さらに、様々な実装において、クライアントデバイス104は、任意で、センサからの出力(および/またはその変換)を遠隔のデバイス116に提供することができ、遠隔のデバイス116は、任意で、そのような提供されたデータに基づいて距離の測定値を決定することができる。
【００４４】
決定されたアクションは、自動化されたアシスタントによって提供され得るコンテンツアイテム、クライアントデバイスによってアクセスされ得るアプリケーション、および/または別個の遠隔のデバイス116においてホストされるサードパーティ(もしくはファーストパーティ)エージェントに関連付けられることが可能である。一部の実装において、遠隔のデバイス116は、ユーザのためのコンテンツをレンダリングするために使用され得るコンテンツアイテムの好適なサブセットを決定するために受信された距離の測定値を1つまたは複数の距離の閾値(たとえば、第1の距離の閾値108および第2の距離の閾値110に対応する閾値)と比較することができる。代替的にまたは追加的に、遠隔のデバイス116は、コンテンツアイテムを提供することを任されるアプリケーションに距離の測定値を提供することができ、アプリケーションは、コンテンツアイテムの好適なサブセットを特定するために1つまたは複数の距離の閾値との距離の測定値の比較を実行することができる。代替的にまたは追加的に、アプリケーションは、距離の測定値を受信し、コンテンツアイテムのサブセットを生成するおよび/または選択するための基礎を提供し得る1つまたは複数の値を提供するように構成されるモデルに入力として距離の測定値を与えることができる。
【００４５】
特定の距離の測定値のためのコンテンツアイテムの好適なサブセットは、その他の距離の測定値に基づいてレンダリングされるコンテンツと比較してユーザ102によってより容易に知覚されるコンテンツをレンダリングするために使用され得るサブセットであることが可能である。たとえば、ユーザ102の位置がクライアントデバイスに最も近いまたはクライアントデバイスの可視範囲内にある第1の距離の閾値108(たとえば、Nがデバイスの可視範囲の限界を定義することができる任意の距離であり得るものとして、クライアントデバイスからの距離N)に対応するとき、第1のコンテンツ112をレンダリングするために選択されるコンテンツアイテムのサブセットが、ビデオデータ(たとえば、天気予報を提示する画像またはビデオ)を含み得る。さらに、ユーザ102の位置が(たとえば、mが任意の正の実数であるものとして、NからN+mまでの間の)クライアントデバイスの不可視範囲に近い第2の距離の閾値110に対応するとき、第2のコンテンツ114をレンダリングするために選択されるコンテンツアイテムのサブセットが、画像データおよびまたは上述のビデオデータに比べてより低品質のビデオデータ(たとえば、上述の画像またはビデオよりも大きくて少ないグラフィカルな要素を含む画像またはビデオ)を含み得る。さらに、ユーザの位置が(たとえば、pがmよりも大きな任意の正の実数であるものとして、N+mからN+pまでの間の)クライアントデバイスの不可視範囲内の第3の距離の閾値118に対応するとき、コンテンツをレンダリングするために選択されるコンテンツアイテムのサブセットは、オーディオデータ(たとえば、人が天気予報を提供する声の録音)を含み得る。コンテンツアイテムのサブセットが距離の測定値に基づいて選択されたとき、コンテンツアイテムのサブセットは、クライアントデバイス104がコンテンツアイテムの選択されたサブセットを使用してコンテンツをレンダリングすることができるために遠隔のデバイス116からクライアントデバイス104に送信され得る。ラベル「A」および「B」は、それぞれの距離の閾値(すなわち、第1の距離の閾値108および第2の距離の閾値110)とそれぞれのレンダリングするコンテンツ(すなわち、第1のコンテンツ112および第2のコンテンツ114)との間の相関を示すこと
に留意されたい。
【００４６】
一部の実装においては、コンテンツアイテムの選択されたサブセットを使用して第1のコンテンツ112をレンダリングしている間に、ユーザ102が、第1の位置120から第2の位置122に移動し得る。ユーザ102の距離の変化またはユーザ102の最新の距離が、クライアントデバイス104において検出されることが可能であり、追加の距離の測定値が、クライアントデバイス104および/または遠隔のデバイス116において生成されることが可能である。そして、追加の距離の測定値は、ユーザが第2の位置122に残っている間、ユーザ102のためのさらなるコンテンツをレンダリングするためのコンテンツアイテムの追加のサブセットを選択するために使用され得る。たとえば、クライアントデバイス104が天気予報に対応する視覚的コンテンツ(すなわち、第1のコンテンツ112)をレンダリングしており、ユーザがクライアントデバイス104の可視範囲(たとえば、第1の閾値108に対応する領域)内にいるが、ユーザ102は、第1の位置120から、ユーザがクライアントデバイス104を見ることを可能にしない第2の位置122(たとえば、第3の閾値118に対応する位置)に移動し得る。それに応じて、クライアントデバイス104は、検出されたまたは推定された距離の測定値を生成することができ、この距離の測定値が、遠隔のデバイス116に提供され得る。
【００４７】
遠隔のデバイス116は、コンテンツアイテムのサブセットを既に選択したアプリケーションが、ユーザ102のためのさらなるコンテンツをレンダリングするためにコンテンツアイテムの追加のサブセットを選択することを可能にし得る。コンテンツアイテムの追加のサブセットは、たとえば、第2の位置122へのユーザ102の移動にもかかわらずユーザ102によって知覚され得るさらなるコンテンツをレンダリングするために使用され得るオーディオデータであることが可能である。このようにして、クライアントデバイス104は、ユーザの距離の変化に適応させるためにローカルのデータに厳密に制限されず、むしろ、コンテンツをレンダリングするためのより好適なデータを特定するために遠隔のサービスおよび/またはアプリケーションを使用することができる。さらに、これは、任意のレンダリングされるコンテンツが自身の相対的な位置を変えるユーザに適応されるために、自動化されたアシスタントがアクションの実行中にデータを取り替えることを可能にする。
【００４８】
一部の実装において、ユーザ102は、複数の距離の閾値に対応する値の許容範囲または重なり合う範囲に対応する位置に移動する可能性がある。結果として、コンテンツをレンダリングするためのコンテンツアイテムのサブセットを選択することを任されるアプリケーションまたはデバイスが、コンテンツアイテムの複数のサブセットを選択し得る。このようにして、ユーザが第1の距離の閾値を満たす第1の位置から第2の距離の閾値を満たす第2の位置に移動するならば、クライアントデバイス104は、ユーザの位置の変化に応じて任意のレンダリングされるコンテンツをローカルで適応させることができる。一部の実装においては、ユーザの軌道および/または速度が、ユーザが移動106の最中であるときにリアルタイムでレンダリングされるコンテンツを適応させるために、コンテンツをレンダリングするためのコンテンツアイテムの複数の異なるサブセットを選択するために同様に使用され得る。たとえば、ユーザ102は、ユーザが自分のテレビまたは表示プロジェクタに向かって歩く間、歌をかけるように自分の自動化されたアシスタントに要求することができ(たとえば、「アシスタント、私のテレビで私の好きな歌をかけて」)、それに応じて、コンテンツアイテムの第1のサブセットおよびコンテンツアイテムの第2のサブセットが、テレビまたは表示プロジェクタでコンテンツをレンダリングするために選択され得る。コンテンツアイテムの第1のサブセットは、ユーザの移動中にユーザがテレビまたは表示プロジェクタからもっと離れているときにテレビまたは表示プロジェクタによってレンダリングされ得るオーディオデータに対応することが可能であり、コンテンツアイテムの第2のサブセットは、ユーザがテレビまたは表示プロジェクタに最も近いときにテレビまたは表示プロジェクタによってレンダリングされ得るオーディオビデオデータに対応することが可能である。このようにして、コンテンツアイテムの第2のサブセットは、コンテンツアイテムの第1のサブセットがビデオデータを含まなかったので、コンテンツアイテムの第1のサブセットをいくらかの量の相互排他的なデータによって補足する。一部の実装において、ユーザの位置もしくは場所の変化率および/またはユーザの軌道が、距離を決定することに加えてまたは距離を決定する代わりにクライアントデバイスおよび/または自動化されたアシスタントによって決定され得る。このようにして、コンテンツが、ユーザの位置もしくは場所の変化率および/またはユーザの軌道に応じて先を見越して要求されおよび/またはバッファリングされ得る。たとえば、ユーザが特定の変化率の閾値を満たす変化率で移動していると判定されるおよび/または少なくとも部分的にクライアントデバイスに向かうもしくはクライアントデバイスから離れる軌道を呈するとき、クライアントデバイスは、判定に応じて異なるコンテンツをレンダリングすることができる、および/またはユーザがクライアントデバイスに向かってもしくはクライアントデバイスから離れて移動するときにその他のコンテンツがレンダリングされ得る追加のデータを要求することができる。
【００４９】
図2A〜図2Cは、クライアントデバイス204に対するユーザの距離に基づいてコンテンツがレンダリングされる例を与える図を示す。特に、図2Aは、台所などの環境218内にあるクライアントデバイス210に近付くユーザ208の図200を示す。ユーザ208は、ユーザ208が1つまたは複数のアクションを実行するために自動化されたアシスタントを初期化した後にクライアントデバイス210に近付き得る。たとえば、ユーザ208は、ユーザ208が自分の台所に設置したセンサをトリガすることができ、センサがトリガされたことに応じて、自動化されたアシスタントは、アクションの実行を初期化することができる。代替的に、ユーザ208は、本明細書において検討されるように、クライアントデバイス210の自動化されたアシスタントインターフェースを介して自動化されたアシスタントを呼び出し得る。
【００５０】
自動化されたアシスタントを初期化したことに応じて実行されるアクションは、ユーザ208のために音楽などのメディアコンテンツを提示することを含み得る。最初に、自動化されたアシスタントは、グラフィカルなコンテンツをほとんどまたはまったく提供せず、むしろ、可聴コンテンツを提供する第1のコンテンツ212をクライアントデバイス210にレンダリングさせ得る。これは、ユーザ208がクライアントデバイス210から遠く離れており、したがって、グラフィカルなコンテンツを知覚することができない可能性があることを考慮して計算リソースおよび/またはネットワークリソースを節約することができる。
【００５１】
図204に与えられるように、ユーザ208がクライアントデバイス210のより近くに移動するとき、クライアントデバイス210は、ユーザ208が図2Aに比べてクライアントデバイス210のより近くに移動したというインジケーションを提供することが可能な1つまたは複数の信号を受信するおよび/または処理することができる。それに応じて、自動化されたアシスタントは、1つまたは複数の信号に基づくいくらかの量のデータを受信し、クライアントデバイス210にクライアントデバイス210において第2のコンテンツ214をレンダリングさせることができる。第2のコンテンツ214は、第1のコンテンツ212よりもグラフィカルなコンテンツ、第1のコンテンツ212に比べて量の多いコンテンツを含む、および/または第1のコンテンツ212に比べて高いビットレートを有するコンテンツを提供することが可能である。一部の実装において、第2のコンテンツ214は、第1のコンテンツ212と排他的な少なくともいくらかの量のコンテンツを含み得る。代替的にまたは追加的に、第2のコンテンツ214は、ユーザ208が図2Aに対応する位置にいたときにクライアントデバイス210のローカルで利用され得ず、むしろ、ユーザ208が図2Bに対応する位置に移動したことに応じて取り出されたデータに基づいてレンダリングされ得る。
【００５２】
さらに、図206は、図2Aおよび図2Bのユーザ208に比べてクライアントデバイス210のより近くの位置にユーザ208が移動するときに第3のコンテンツ216がクライアントデバイス210においてどのようにしてレンダリングされ得るかを示す。特に、第3のコンテンツ216は、クライアントデバイス210に最も近いユーザに合わせて調整されるコンテンツを含み得る。たとえば、自動化されたアシスタントは、ユーザ208が図2Aおよび図2Bに比べてクライアントデバイス210により一層近いと判定し、クライアントデバイス210にテキストコンテンツ(たとえば、「[CONTENT]」)をレンダリングさせることができる。テキストコンテンツの基礎を提供するデータは、ユーザ208がさらに遠くにいるときにローカルで利用され得るか、またはユーザ208がクライアントデバイス210に向かう軌道を有することに応じて遠隔のデバイスにクライアントデバイス210によって要求され得る。このようにして、自動化されたアシスタントの指示で提供されるコンテンツは、クライアントデバイス210からのユーザ208の距離に応じて動的であることが可能である。さらに、クライアントデバイス210は、ユーザ208がクライアントデバイス210に対してどこに位置するかに応じて一意のコンテンツをレンダリングすることができる。
【００５３】
図3は、ユーザと自動化されたアシスタントインターフェースとの間の距離に応じて自動化されたアシスタントのコンテンツをレンダリングするための方法300を示す。方法300は、自動化されたアシスタントとインタラクションすることができる1つまたは複数のコンピューティングデバイス、アプリケーション、および/または任意のその他の装置もしくはモジュールによって実行され得る。方法300は、自動化されたアシスタントにアクションの実行を初期化させる要求を受信する動作302を含み得る。自動化されたアシスタントは、クライアントデバイスの自動化されたアシスタントインターフェースを介してアクセスされ得ることが可能であり、クライアントデバイスは、ディスプレイデバイスおよびセンサを含むかまたはディスプレイデバイスおよびセンサと通信していることがある。センサは、ディスプレイデバイスに対するユーザの距離が決定され得る出力を提供することができる。たとえば、センサは、ユーザとディスプレイデバイスとの間の距離を決定するために画像が生成され得る出力を提供するカメラであることが可能である。代替的にまたは追加的に、クライアントデバイスは、1つまたは複数の音響センサを含むことが可能であり、音響センサからの出力が、クライアントデバイスに対するユーザの位置を特定するために(たとえば、ビームフォーミング技術を使用して)分析されることが可能である。
【００５４】
方法300は、アクションを完了するためのエージェントを受信された要求に基づいて特定する動作304をさらに含み得る。エージェントは、自動化されたアシスタントによってアクセスされ得る、自動化されたアシスタントを管理するエンティティと分かれているサードパーティに関連する1つまたは複数のアプリケーションまたはモジュールであることが可能である。さらに、エージェントは、ディスプレイデバイスに対するユーザの距離に基づいてクライアントデバイスのためのデータを提供するように構成され得る。一部の実装において、エージェントは、ユーザの直接的な要求(たとえば、「Assistant, perform [action].」)または間接的な要求(たとえば、学習されたユーザのスケジュールの一部として実行されるアクション)に基づいて実行される1つまたは複数のアクションを促進するために自動化されたアシスタントによって呼び出され得る複数の異なるエージェントのうちの1つであることが可能である。
【００５５】
方法300は、クライアントデバイスに対するユーザの推定距離に対応する距離の測定値を決定する動作306も含み得る。距離の測定値は、クライアントデバイスによって提供されたデータに基づいて決定され得る。たとえば、クライアントデバイスのセンサが、センサに対するユーザの位置に関する情報を具現化する出力を提供することができる。出力は、処理され、自動化されたアシスタントにアクションの実行を初期化させる要求において具現化され得る。一部の実装において、距離の測定値は、ユーザの位置および/または場所の特徴が決定されることが可能な様々なデータに対応し得る。たとえば、距離の測定値は、ユーザとクライアントデバイスとの間の距離およびクライアントデバイスに対するユーザの向き(たとえば、ユーザがクライアントデバイスと向かい合っているのかまたは向かい合っていないのか)を示すこともできる。
【００５６】
方法300は、実行されるアクションを促進するために、決定された距離の測定値に基づいて特定されたエージェントにコンテンツアイテムを提供させるエージェント要求を生成する動作308をさらに含み得る。エージェント要求は、自動化されたアシスタントによって生成され、特定されたエージェントによって処理される1つまたは複数のスロット値を含み得る。たとえば、エージェント要求のスロット値は、距離の測定値、時刻などの受信された要求に関連するコンテキストデータ、ユーザのプリファレンス、以前のエージェント要求に基づく履歴データ、および/またはエージェントアプリケーションによって処理され得る任意のその他のデータを特定することができる。
【００５７】
方法300は、要求および決定された距離の測定値に基づいてエージェントにコンテンツアイテムのサブセットを選択させるためにエージェントに要求を送信する動作310も含み得る。エージェントによって選択されるコンテンツのサブセットは、ユーザの距離の閾値に対応し得る。さらに、コンテンツのサブセットは、ユーザの距離の閾値と距離の測定値との間の対応に基づいてその他のコンテンツアイテムに比べて独特にクライアントデバイスによってレンダリングされ得る。言い換えると、エージェントはコンテンツアイテムのグループからコンテンツアイテムのサブセットを選択し得るが、選択されたサブセットは、決定された距離の測定値に合わせて調整される。したがって、異なる距離の測定値が決定されるとすると、コンテンツアイテムの異なるサブセットが選択され、クライアントデバイスはコンテンツアイテムの異なるサブセットに基づいて異なるコンテンツをレンダリングする。
【００５８】
方法300は、クライアントデバイスにコンテンツアイテムの選択されたサブセットをレンダリングさせる動作312をさらに含み得る。コンテンツアイテムの選択されたサブセットは、クライアントデバイスのディスプレイデバイスにおいて提示されるコンテンツとしてレンダリングされ得る。しかし、一部の実装において、コンテンツアイテムの選択されたサブセットは、可聴コンテンツ、ビデオコンテンツ、オーディオビデオコンテンツ、静止画像、触覚フィードバックコンテンツ、制御信号、および/または人に知覚され得る任意のその他の出力としてレンダリングされることが可能である。一部の実装においては、エージェントがコンテンツアイテムの選択されたサブセットを生成したおよび/または適応させたが、クライアントデバイスが、クライアントデバイスによって利用され得るコンテキストデータに応じてコンテンツアイテムの選択されたサブセットをさらに適応させることができる。たとえば、クライアントデバイスは、ユーザの位置、ユーザの表情、時刻、クライアントデバイスおよびユーザが参加する環境の占有、クライアントデバイスのジオロケーション、ユーザのスケジュール、ならびに/またはユーザが自動化されたアシスタントとインタラクションしているコンテキストを示すことができる任意のその他の情報に応じてコンテンツアイテムのサブセットをさらに適応させ得る。たとえば、--ユーザがクライアントデバイスの可聴範囲内にいるので、実行されるアクションは可聴コンテンツをレンダリングすることを含むことが可能であり、コンテンツアイテムの選択されたサブセットはオーディオデータを含むことが可能であるが--クライアントデバイスは、環境内の他者の存在に応じておよび/またはユーザが電話をしているもしくは別個のアクションのためにクライアントデバイスのオーディオサブシステムを使用しているかどうかに応じて任意のレンダリングされるオーディオの音量を動的に適応させることができる。代替的にまたは追加的に、--ユーザがクライアントデバイスの可聴範囲内にいるので、実行されるアクションは可聴コンテンツをレンダリングすることを含むことが可能であり、コンテンツアイテムの選択されたサブセットはオーディオデータを含むことが可能であるが--クライアントデバイスは、コンテキストデータがユーザが異なるクライアントデバイスのより近くに移動したこと(つまり、距離の測定値によって前に示された距離よりも遠い別個の距離)を示すとき、異なるクライアントデバイスにオーディオデータをレンダリングさせ得る。
【００５９】
図4は、自動化されたアシスタントインターフェースに対するユーザの位置に基づいて自動化されたアシスタントのコンテンツを適応させるための方法400を示す。方法400は、自動化されたアシスタントとインタラクションすることができる1つまたは複数のコンピューティングデバイス、アプリケーション、および/または任意のその他の装置もしくはモジュールによって実行され得る。方法400は、ユーザと自動化されたアシスタントとの間のインタラクション中にユーザによって既に要求されたアクションを促進するために第1のコンテンツをレンダリングする動作402を含み得る。第1のコンテンツは、タッチディスプレイパネル、スピーカ、触覚フィードバックデバイス、および/またはコンピューティングデバイスによって使用され得るその他のインターフェースなどであるがこれらに限定されないクライアントデバイスの1つまたは複数の異なるモダリティを通じてクライアントデバイスによってレンダリングされ得る。さらに、第1のコンテンツは、クライアントデバイスのローカルで利用され得るコンテンツアイテムの第1のサブセットに基づいてレンダリングされ得る。たとえば、第1のコンテンツは、ユーザが自動化されたアシスタントの指示で実行されるルーチンを初期化したことに応じて遠隔のサーバデバイスから取り出されるコンテンツアイテムのサブセットであることが可能である。たとえば、ルーチンは、ユーザが朝にユーザの台所に入ることおよび台所のクライアントデバイスに接続されたセンサがユーザの存在を示すことに応じて初期化される「モーニング」ルーチンであることが可能である。「モーニング」ルーチンの一部として、自動化されたアシスタントは、ユーザのスケジュールに対応するコンテンツアイテムをダウンロードし得る。したがって、第1のコンテンツアイテムは、ユーザのスケジュールに関連付けられることが可能であり、レンダリングされる第1のコンテンツは、k個の表示要素を有するグラフィカルユーザインターフェース(GUI)に対応することが可能であり、kは、任意の正の整数である。
【００６０】
方法400は、クライアントデバイスに接続される1つまたは複数のセンサの出力に基づいて、クライアントデバイスが第1のコンテンツをレンダリングしている間に、ユーザの近さが第1の位置から第2の位置に変わったと判定する動作404をさらに含み得る。たとえば、センサは、ユーザの位置を特定するためにビームフォーミング技術を使用するために複数のマイクロフォンを含み得る。代替的にまたは追加的に、センサは、ユーザの向き、凝視、および/または位置が決定されることが可能であるカメラも含み得る。センサからの情報を使用して、自動化されたアシスタントは、アクティブなユーザのためにコンテンツを生成するおよび/または適応させるために、アクティブである1人または複数のユーザのサブセットを環境内の複数のユーザから特定することができる。たとえば、コンテンツは、アクティブなユーザであると判定されたサブセットに含まれないユーザの距離と無関係にアクティブなユーザの距離に基づいて生成され得る。さらに、センサからの情報が、自動化されたアシスタントインターフェース、クライアントデバイス、および/またはクライアントデバイスと通信していることがある任意のその他の装置からのユーザの距離を決定するために使用され得る。たとえば、ユーザがレンダリングされた第1のコンテンツを見ている間に、ユーザは、第1のコンテンツがレンダリングされているディスプレイパネルに向かってまたはそのディスプレイパネルから離れて移動し得る。
【００６１】
方法400は、アクションを促進するために第2のコンテンツをそこからレンダリングするためのコンテンツアイテムの第2のサブセットをセンサの出力に基づいて特定する動作406も含み得る。たとえば、アクションが「モーニング」ルーチンに関連し、コンテンツアイテムがユーザのスケジュールに関連付けられるとき、コンテンツアイテムの第2のサブセットが、コンテンツアイテムの第2のサブセットを知覚するユーザの能力に応じて選択され得る。より詳細には、第2の位置が第1の位置よりも自動化されたアシスタントインターフェース(たとえば、ディスプレイパネル)のより近くにある場合、コンテンツアイテムの第2のサブセットは、ユーザがより多くの情報を知覚することができる追加のグラフィカルな要素を含み得る。結果として、ユーザは、ユーザが自動化されたアシスタントインターフェースのより近くに移動するにつれて、ユーザのスケジュールについてさらなる詳細を収集することができる。さらに、第2の位置が第1の位置よりもインターフェースのより近くにあることに応じてトリガされる可能性がある追加のグラフィカルな要素のレンダリングのために使用される計算リソースが、上の検討に沿って効率的な方法で使用される。
【００６２】
方法400は、コンテンツアイテムの特定された第2のサブセットに基づいて第2のコンテンツをレンダリングする動作408をさらに含み得る。レンダリングされる第2のコンテンツは、l個の表示要素を有するGUIに対応することが可能であり、lは、kよりも大きいかまたはkよりも小さい任意の正の整数である。たとえば、レンダリングされる第1のコンテンツは、数時間の間のユーザのスケジュールに対応するk個の表示要素を含み得る。さらに、レンダリングされる第2のコンテンツは、全日のユーザのスケジュールに対応するl個の表示要素を含み得る。このようにして、コンテンツアイテムの第2のサブセットは、コンテンツアイテムの第1のサブセットと相互排他的な1つまたは複数のコンテンツアイテムを持つ。結果として、ユーザは、ユーザがディスプレイパネルのより近くに位置を変えるにつれて異なるグラフィカルな要素を見る。
【００６３】
方法400は、クライアントデバイスが第2のコンテンツをレンダリングしている間、センサの後続の出力を監視する動作410をさらに含み得る。一部の実装において、自動化されたアシスタントは、ユーザが自動化されたアシスタントインターフェースからさらに離れてまたは自動化されたアシスタントインターフェースのより近くに移動したかどうかを判定するためにユーザの許可の下でセンサの出力を監視することができる。このようにして、自動化されたアシスタントは、コンテンツがユーザによってより効率的に知覚されるためにレンダリングされるコンテンツをさらに適応させることができる。方法400の動作412において、ユーザが第1の位置および第2の位置と異なる第3の位置に移動したかどうかに関する判定が、行われる。ユーザが第3の位置に移動しなかった場合、自動化されたアシスタントは、少なくとも動作410に従ってセンサの出力を監視し続けることができる。ユーザが第3の位置に移動した場合、方法400は、動作414に進むことができる。
【００６４】
方法400の動作414において、第3のコンテンツがクライアントデバイスのローカルで利用され得るかどうかに関する判定が、行われる。第3のコンテンツは、第3のコンテンツがクライアントデバイスにおいてレンダリングされたとする場合にユーザにユーザのスケジュールについての追加の情報を提供するコンテンツアイテムの第3のサブセットに対応し得る。たとえば、コンテンツアイテムの第3のサブセットは、コンテンツアイテムの第1のサブセットおよび/またはコンテンツアイテムの第2のサブセットに含まれなかったユーザのスケジュールについての情報を含み得る。特に、コンテンツアイテムの第3のサブセットは、コンテンツアイテムの第1のサブセットおよびコンテンツアイテムの第2のサブセットに対して相互排他的な少なくともいくらかの量のデータを含み得る。たとえば、コンテンツアイテムの第3のサブセットは、コンテンツアイテムの第1のサブセットおよび/またはコンテンツアイテムの第2のサブセットに含まれなかった画像および/またはビデオなどの異なる種類のデータを含み得る。コンテンツアイテムの第3のサブセットは、ユーザの次週または次月のスケジュールに関連するデータを含むことが可能であり、それによって、ユーザが自動化されたアシスタントインターフェースのより近くに移動するにつれてユーザがユーザのスケジュールについての追加の情報を知覚することを可能にする。
【００６５】
コンテンツアイテムの第3のサブセットがクライアントデバイスのローカルで利用され得ないとき、方法400は、コンテンツアイテムの第3のサブセットを受信する要求を生成することを含み得る動作416に進むことができる。要求は、コンテンツアイテムの第3のサブセットを受信するためにインターネットなどのネットワークを介して遠隔のサーバデバイスに送信され得る。たとえば、遠隔のサーバデバイスは、自動化されたアシスタントによってアクセスされ得るスケジュールアプリケーションに関連付けられるエージェントをホストし得る。エージェントは、要求を受信し、要求に関連する追加のコンテンツアイテムを特定することができる。次いで、エージェントは、追加のコンテンツアイテムをコンテンツアイテムの第3のサブセットとして自動化されたアシスタントおよび/またはクライアントデバイスに送信することができる。その後、方法400は、コンテンツアイテムの第3のサブセットに基づいて第3のコンテンツをレンダリングすることを含み得る動作418に進むことができる。代替的に、コンテンツアイテムの第3のサブセットがクライアントデバイスのローカルで利用され得るとき、動作416は、飛ばされることが可能であり、方法400は、動作414から動作418に進むことができる。
【００６６】
図5は、クライアントデバイス516および/または自動化されたアシスタントインターフェース518に対するユーザの距離に応じて応答コンテンツを適応させるためのシステム500を示す。自動化されたアシスタントインターフェース518は、ユーザが自動化されたアシスタント504と通信することを可能にすることができ、自動化されたアシスタント504は、クライアントデバイス516などの1つもしくは複数のコンピューティングデバイス(たとえば、タブレットデバイス、スタンドアロンのスピーカデバイス、および/もしくは任意のその他のコンピューティングデバイス)、ならびに/またはサーバデバイス502などの遠隔のコンピューティングデバイス512において提供されるアシスタントアプリケーションの一部として動作することができる。アシスタントインターフェース518は、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーションとの間のインターフェースを提供することができる任意のその他の装置もしくは装置の組合せのうちの1つまたは複数を含み得る。たとえば、ユーザは、自動化されたアシスタント504に機能を実行させる(たとえば、データを提供させる、周辺デバイスを制御させる、エージェントまたはサードパーティアプリケーションにアクセスさせるなど)ためにアシスタントインターフェースに口頭の、テキストの、および/またはグラフィカルな入力を与えることによって自動化されたアシスタント504を初期化し得る。クライアントデバイス516は、タッチインターフェースを介してユーザがクライアントデバイス516のアプリケーションを制御することを可能にするためにタッチ入力および/またはジェスチャを受け取るためのタッチインターフェースを含むディスプレイパネルであることが可能であるディスプレイデバイスを含み得る。
【００６７】
クライアントデバイス516は、インターネットなどのネットワーク514を介して遠隔のコンピューティングデバイス512と通信していることがある。クライアントデバイス516は、クライアントデバイス516において計算リソースを節約するために遠隔のコンピューティングデバイス512に計算タスクをオフロードすることができる。たとえば、遠隔のコンピューティングデバイス512が、自動化されたアシスタント504をホストすることができ、クライアントデバイス516は、1つまたは複数のアシスタントインターフェース518において受け取られた入力を遠隔のコンピューティングデバイス512に送信することができる。しかし、一部の実装において、自動化されたアシスタント504は、クライアントデバイス516においてホストされ得る。様々な実装において、自動化されたアシスタント504のすべてのまたは一部の態様は、クライアントデバイス516に実装され得る。それらの実装の一部において、自動化されたアシスタント504の態様は、クライアントデバイス516のローカルのアシスタントアプリケーションによって実装され、ローカルのアシスタントアプリケーションは、自動化されたアシスタント504のその他の態様を実装するための遠隔のコンピューティングデバイス512とインターフェースをとることができる。遠隔のコンピューティングデバイス512は、任意で、複数のスレッドによって複数のユーザおよびそれらのユーザの関連するアシスタントアプリケーションにサービスを提供し得る。自動化されたアシスタント504のすべてのまたは一部の態様がクライアントデバイス516のローカルのアシスタントアプリケーションによって実装される一部の実装において、ローカルのアシスタントアプリケーションは、クライアントデバイス516のオペレーティングシステムと分かれている(たとえば、オペレーティングシステムの「上に」インストールされる)アプリケーションであることが可能である--または代替的に、第1のクライアントデバイス516のオペレーティングシステムに直接実装される(たとえば、オペレーティングシステムのアプリケーションであるがオペレーティングシステムと一体的なアプリケーションであると考えられる)ことが可能である。
【００６８】
一部の実装において、遠隔のコンピューティングデバイス512は、オーディオデータ内に具現化されたテキストを特定するためにアシスタントインターフェースにおいて受信されたオーディオデータを処理することができるボイストゥテキストエンジン506を含み得る。オーディオデータをテキストに変換するためのプロセスは、単語または語句に対応するオーディオデータのグループを特定するためにニューラルネットワーク、word2vecアルゴリズム、および/または統計モデルを使用することができる音声認識アルゴリズムを含み得る。オーディオデータから変換されたテキストは、テキストパーサエンジン508によって解析され、ユーザからの命令フレーズを生成するおよび/または特定するために使用され得るテキストデータとして自動化されたアシスタント504が利用可能であるようにされ得る。
【００６９】
一部の実装において、自動化されたアシスタント504は、クライアントデバイス516および自動化されたアシスタント504によってアクセスされ得るエージェント532のためにコンテンツを適応させることができる。ユーザと自動化されたアシスタント504との間のインタラクション中に、ユーザデータ506および/またはコンテキストデータ522が、クライアントデバイス516、サーバデバイス502、および/またはユーザに関連付けられ得る任意のその他のデバイスにおいて収集されることが可能である。ユーザデータ506および/またはコンテキストデータ522は、クライアントデバイス516と一体的なまたはクライアントデバイス516によってアクセスされ得る1つまたは複数のアプリケーションまたはデバイスによってユーザの許可の下で使用され得る。たとえば、コンテキストデータ522は、時間データ、位置データ、イベントデータ、メディアデータ、および/またはユーザと自動化されたアシスタント504との間のインタラクションに関連し得る任意のその他のデータに対応するデータを含むことが可能である。さらに、ユーザデータ506は、アカウント情報、メッセージ情報、カレンダー情報、ユーザプリファレンス、ユーザと自動化されたアシスタント504との間の履歴的なインタラクションデータ、クライアントデバイス516によってアクセスされ得るアプリケーションおよび/もしくはエージェントに関連するコンテンツアイテム、ならびに/またはユーザに関連付けられ得る任意のその他のデータを含むことが可能である。
【００７０】
自動化されたアシスタント504がコンテンツをユーザのために適応させるために、自動化されたアシスタント504は、エージェント532とインタラクションすることができ、エージェント532は、自動化されたアシスタントインターフェース518においてコンテンツをレンダリングするために遠隔のデバイス512および/またはクライアントデバイス516にエージェントデータ536(すなわち、コンテンツアイテム)を提供することができる。本明細書において使用されるとき、「エージェント」は、自動化されたアシスタントと分かれている1つまたは複数のコンピューティングデバイスおよび/またはソフトウェアを参照する。場合によっては、エージェントは、そのエージェントが自動化されたアシスタントを管理する者とは別の者によって管理されるのでサードパーティ(3P)エージェントである可能性がある。一部の実装において、自動化されたアシスタント504は、ユーザからの直接的なまたは間接的な要求に応じて特定のアクションを実行するためのエージェントを複数の異なるエージェントから選択するためにエージェント選択エンジン528を使用し得る。選択されるエージェントは、自動化されたアシスタントから要求を(たとえば、ネットワークおよび/またはAPIを介して)受信するように構成され得る。要求を受信したことに応じて、エージェントは、要求に基づいて応答コンテンツを生成し、応答コンテンツに基づいて出力を提供するために応答コンテンツを送信する。たとえば、エージェント532は、応答コンテンツに基づく出力の自動化されたアシスタント504および/またはクライアントデバイス516による提供のために自動化されたアシスタント504に応答コンテンツを送信し得る。別の例として、エージェント538自体が、出力を提供し得る。たとえば、ユーザは、クライアントデバイス516を介して自動化されたアシスタント504とインタラクションすることができ(たとえば、自動化されたアシスタントは、クライアントデバイスに実装されるおよび/またはクライアントデバイスとネットワーク通信することが可能であり)、エージェント538は、クライアントデバイス516にインストールされたアプリケーション、またはクライアントデバイス516の遠隔で実行可能であるが、クライアントデバイス516上で「ストリーミ
ング可能」であるアプリケーションであることが可能である。アプリケーションが呼び出されるとき、アプリケーションは、クライアントデバイス516によって実行され、および/またはクライアントデバイスによって前面に出され得る(たとえば、アプリケーションのコンテンツが、クライアントデバイスの表示を引き継ぐことができる)。
【００７１】
エージェントを呼び出すことは、呼び出しパラメータに関する値(たとえば、意図パラメータに関する値、意図スロットパラメータに関する値、および/またはその他のパラメータに関する値)を含み、1つまたは複数のユーザインターフェース出力デバイスを介して(たとえば、自動化されたアシスタントとの対話において利用されるユーザインターフェース出力デバイスのうちの1つまたは複数を介して)ユーザに対して提示するためのコンテンツをエージェントに生成させる要求を(たとえば、アプリケーションプログラミングインターフェース(API)を利用して)送信することを含み得る。エージェントによって生成される応答コンテンツは、要求のパラメータに合わせて調整され得る。たとえば、自動化されたアシスタント504は、1つまたは複数の距離の測定値を生成するためにクライアントデバイス516において1つまたは複数のセンサからの出力に基づいて生成されたデータを使用することができる。距離の測定値は、エージェントデータ536(すなわち、応答コンテンツ)が距離の測定値に基づいて生成される、選択される、および/またはそうでなければ適応されることが可能であるためにエージェント538への要求のパラメータとして具現化され得る。一部の実装において、エージェント538は、遠隔のデバイス512および/またはクライアントデバイス516から受信された要求のパラメータに少なくとも基づいてエージェントデータ536を生成する、選択する、および/または適応させるエージェントデータ選択エンジン534を含み得る。このようにして、クライアントデバイス516は、少なくともユーザに対応する距離の測定値に応じてエージェント532によって提供されるエージェントデータ536のサブセットに基づいてユーザのためにコンテンツをレンダリングすることができる。
【００７２】
図6は、例示的なコンピュータシステム610のブロック図である。概して、コンピュータシステム610は、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリ625およびファイルストレージサブシステム626を含むストレージサブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含む可能性がある。入力および出力デバイスは、コンピュータシステム610とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、その他のコンピュータシステムの対応するインターフェースデバイスに結合される。
【００７３】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含む可能性がある。概して、用語「入力デバイス」の使用は、コンピュータシステム610または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【００７４】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含む可能性がある。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含む可能性がある。ディスプレイサブシステムは、オーディオ出力デバイスなどの非視覚的表示を与える可能性もある。概して、用語「出力デバイス」の使用は、コンピュータシステム610からユーザまたは別のマシンもしくはコンピュータシステムに情報を出力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【００７５】
ストレージサブシステム624は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造体を記憶する。たとえば、ストレージサブシステム624は、方法300、方法400の選択された態様を実行するための、ならびに/またはクライアントデバイス104、遠隔のデバイス116、クライアントデバイス516、サーバデバイス502、遠隔のデバイス512、遠隔のデバイス530、自動化されたアシスタント504、エージェント532、および/もしくは本明細書において検討された任意のその他の装置もしくは動作のうちの1つもしくは複数を実装するための論理を含む可能性がある。
【００７６】
これらのソフトウェアモジュールは、概して、プロセッサ614のみによって、またはその他のプロセッサと組み合わされたプロセッサ614によって実行される。ストレージサブシステム624において使用されるメモリ625は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM)630と、決まった命令が記憶される読み出し専用メモリ(ROM)632とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム626は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含む可能性がある。特定の実装の機能を実装するモジュールは、ストレージサブシステム624内のファイルストレージサブシステム626によって、またはプロセッサ614によりアクセスされ得るその他のマシンに記憶される可能性がある。
【００７７】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
【００７８】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であることが可能である。コンピュータおよびネットワークの変わり続ける性質が原因で、図6に示されたコンピュータシステム610の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図6に示されたコンピュータシステムよりも多くのまたは図6に示されたコンピュータシステムよりも少ない構成要素を有するコンピュータシステム610の多くのその他の構成が、可能である。
【００７９】
本明細書において説明されたシステムがユーザ(もしくは本明細書においては「参加者」と呼ばれることが多い)についての個人情報を収集するかまたは個人情報を利用する可能性がある状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信するべきかどうかおよび/またはどのようにして受信するべきかを制御する機会を与えられる可能性がある。また、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザのアイデンティティが、個人を特定できる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される可能性があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理される可能性がある。したがって、ユーザは、情報がユーザについてどのようにして収集されるかおよび/または使用されるかを制御することができる可能性がある。
【００８０】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、主張されたのとは異なる方法で実行される可能性があることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【符号の説明】
【００８１】
100  図
102  ユーザ
104  クライアントデバイス
106  移動
108  第1の距離の閾値
110  第2の距離の閾値
112  第1のコンテンツ
114  第2のコンテンツ
116  遠隔のデバイス
118  第3の距離の閾値
120  第1の位置
122  第2の位置
200  図
204  クライアントデバイス
206  図
208  ユーザ
210  クライアントデバイス
212  第1のコンテンツ
214  第2のコンテンツ
216  第3のコンテンツ
218  環境
300  方法
400  方法
500  システム
502  サーバデバイス
504  自動化されたアシスタント
506  ボイストゥテキストエンジン、ユーザデータ
508  テキストパーサエンジン
512  遠隔のコンピューティングデバイス
516  クライアントデバイス
518  自動化されたアシスタントインターフェース
522  コンテキストデータ
528  エージェント選択エンジン
530  遠隔のデバイス
532  エージェント
534  エージェントデータ選択エンジン
536  エージェントデータ
538  エージェント
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  ストレージサブシステム
625  メモリ
626  ファイルストレージサブシステム
630  主ランダムアクセスメモリ(RAM)
632  読み出し専用メモリ(ROM)
【図１】
2021522636.tif 000003
【図２Ａ】
2021522636.tif 000004
【図２Ｂ】
2021522636.tif 000005
【図２Ｃ】
2021522636.tif 000006
【図３】
2021522636.tif 000007
【図４】
2021522636.tif 000008
【図５】
2021522636.tif 000009
【図６】
2021522636.tif 000010
【国際調査報告】
2021522636.tif 000011
2021522636.tif 000012
2021522636.tif 000013