IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特開2025-98949エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク
<>
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図1
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図2
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図3
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図4
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図5
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6A
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6B
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6C
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6D
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6E
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6F
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図6G
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図7
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図8
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図9A
  • 特開-エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク 図9B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025098949
(43)【公開日】2025-07-02
(54)【発明の名称】エージェントコンパニオン用のアンビエントマルチデバイスフレームワーク
(51)【国際特許分類】
   H04L 67/303 20220101AFI20250625BHJP
   G06F 3/01 20060101ALI20250625BHJP
   G06F 3/16 20060101ALI20250625BHJP
   G06F 3/14 20060101ALI20250625BHJP
   G06F 16/90 20190101ALI20250625BHJP
   H04L 67/60 20220101ALI20250625BHJP
【FI】
H04L67/303
G06F3/01 510
G06F3/16 530
G06F3/14 360A
G06F16/90 100
H04L67/60
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024203206
(22)【出願日】2024-11-21
(11)【特許番号】
(45)【特許公報発行日】2025-04-15
(31)【優先権主張番号】18/390,768
(32)【優先日】2023-12-20
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】ヴィクター・カルブネ
(72)【発明者】
【氏名】アラシュ・サドル
(72)【発明者】
【氏名】マシュー・シャリフィ
【テーマコード(参考)】
5B069
5B175
5E555
【Fターム(参考)】
5B069KA04
5B069LA03
5B175EA01
5E555AA26
5E555AA29
5E555AA46
5E555AA71
5E555BA02
5E555BA05
5E555BA06
5E555BA15
5E555BA19
5E555BB02
5E555BB05
5E555BB06
5E555BB15
5E555BB19
5E555BC09
5E555BC14
5E555CA02
5E555CA12
5E555CA18
5E555CA42
5E555CA47
5E555CB02
5E555CB12
5E555CB45
5E555CB64
5E555CB73
5E555CC01
5E555DA23
5E555DB25
5E555DB44
5E555DB53
5E555DB54
5E555DB58
5E555DC01
5E555DD07
5E555EA03
5E555EA19
5E555EA22
5E555EA23
5E555EA27
5E555FA00
(57)【要約】      (修正有)
【課題】環境にあるデバイスに基づいて出力生成を規定し、どのコンピューティングデバイスが出力を提供するかを決定するシステム及び非一時的コンピュータ可読媒体を提供する。
【解決手段】マルチデバイスシステムで出力を生成及び提供する方法であって、動的応答の生成及び表示を提供するために、環境ベースのプロンプト生成及び生成モデル応答生成を活用し、環境内の1つまたは複数のコンピューティングデバイスに関連付けられる入力データを取得することと、環境内の複数のコンピューティングデバイスを記述する環境データを取得することと、入力データ及び環境データに基づいてプロンプトを生成することと、モデル生成出力を生成するために生成モデルを用いてプロンプトを処理することと、モデル生成出力を、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに送信することと、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
クエリ応答を提供するための出力デバイスを決定するためのコンピューティングシステムであって、
1つまたは複数のプロセッサ、及び
前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングシステムに動作を実行させる命令を集合的に格納する、1つまたは複数の非一時的コンピュータ可読媒体、
を備え、前記動作が、
入力データを取得することであって、前記入力データは特定のユーザに関連付けられるクエリを含む、取得することと、
環境データを取得することであって、前記環境データは、前記ユーザの環境にある複数のコンピューティングデバイスを記述し、前記複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられる、取得することと、
前記入力データ及び前記環境データに基づいてプロンプトを生成することであって、前記プロンプトは、前記クエリを記述するデータ、及び前記複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含む、生成することと、
モデル生成出力を生成するために生成モデルを用いて前記プロンプトを処理することであって、前記モデル生成出力が前記クエリへの応答を含み、前記モデル生成出力が、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに提供されるように生成される、処理することと、
前記モデル生成出力を前記特定のコンピューティングデバイスに送信することと、
を含む、システム。
【請求項2】
前記モデル生成出力は、前記複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され、
前記生成モデルは出力デバイス命令を生成し、前記出力デバイス命令は前記モデル生成出力を提供する前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述し、前記特定のコンピューティングデバイスは前記特定の出力コンポーネントに関連付けられ、
前記モデル生成出力は、前記出力デバイス命令に基づいて、前記特定のコンピューティングデバイスに送信される、請求項1に記載のシステム。
【請求項3】
前記モデル生成出力を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
複数のモデル出力を生成することであって、前記複数のモデル出力は、複数の候補の応答を含む、生成すること、を含み、
前記モデル生成出力を前記特定のコンピューティングデバイスに送信することは、
前記複数のモデル出力のうちの第1のモデル出力を前記複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスに送信することと、
前記複数のモデル出力のうちの第2のモデル出力を前記複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスに送信することと、
を含む、請求項1に記載のシステム。
【請求項4】
前記第1のモデル出力が、ビジュアルディスプレイを介して表示するためのビジュアルデータを含み、前記第2のモデル出力が、スピーカコンポーネントを介して再生するためのオーディオデータを含む、請求項3に記載のシステム。
【請求項5】
前記第1のコンピューティングデバイスは、スマートテレビを含み、前記第2のコンピューティングデバイスは、スマートスピーカを含む、請求項4に記載のシステム。
【請求項6】
前記入力データ及び前記環境データに基づいて前記プロンプトを生成することは、
前記環境データに基づいて環境固有のデバイス構成を決定することと、
前記環境固有のデバイス構成に基づいて、プロンプトライブラリからプロンプトテンプレートを取得することと、
前記プロンプトを生成するために、前記入力データに基づいて前記プロンプトテンプレートを拡張することと、
を含む、請求項1に記載のシステム。
【請求項7】
前記環境固有のデバイス構成が、前記複数のコンピューティングデバイスのそれぞれの出力タイプ及びそれぞれの出力品質を記述し、前記プロンプトライブラリが、複数の異なるデバイス構成に関連付けられる複数の異なるプロンプトテンプレートを含む、請求項6に記載のシステム。
【請求項8】
前記複数のコンピューティングデバイスは、クラウドコンピューティングシステムを介して接続され、前記複数のコンピューティングデバイスのそれぞれは、前記クラウドコンピューティングシステムのプラットフォームに登録され、前記環境データは、前記クラウドコンピューティングシステムを使用して取得され、前記モデル生成出力は、前記クラウドコンピューティングシステムを介して送信される、請求項1に記載のシステム。
【請求項9】
前記複数のコンピューティングデバイスが、前記複数のコンピューティングデバイス内の他のコンピューティングデバイスのそれぞれに近接して配置され、前記複数のコンピューティングデバイスがローカルネットワークを介して通信可能に接続され、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスが、入力データの取得及びモデル生成出力の送信を促進する、請求項1に記載のシステム。
【請求項10】
前記生成モデルは、アプリケーションプログラミングインターフェースを介して検索エンジンと通信可能に接続され、
前記モデル生成出力を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
前記プロンプトに基づいてアプリケーション・プログラミング・インターフェース・コールを生成することと、
前記アプリケーション・プログラミング・インターフェース・コールに基づいて、前記検索エンジンを用いて複数の検索結果を決定することと、
前記モデル生成出力を生成するために前記生成モデルを用いて前記複数の検索結果を処理することと、
を含む、請求項1に記載のシステム。
【請求項11】
コンピュータ実装方法であって、
1つまたは複数のプロセッサを含むコンピューティングシステムによって、入力データを取得することであって、前記入力データは特定のユーザに関連付けられるクエリを含む、取得することと、
前記コンピューティングシステムによって、環境データを取得することであって、前記環境データは、前記ユーザの環境にある複数のコンピューティングデバイスを記述し、前記複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられる、取得することと、
前記コンピューティングシステムによって、前記入力データ及び前記環境データに基づいてプロンプトを生成することであって、前記プロンプトは、前記クエリを記述するデータ、及び前記複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含む、生成することと、
前記コンピューティングシステムによって、モデル生成出力及び出力デバイス命令を生成するために生成モデルを用いて前記プロンプトを処理することであって、前記モデル生成出力は、前記クエリへの応答を含み、前記モデル生成出力は、前記複数の異なる出力コンポーネントのうちの特定の出力コンポーネントを提供されるよう生成され、前記出力デバイス命令が、前記モデル生成出力を提供する前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述し、前記特定のコンピューティングデバイスが、前記特定の出力コンポーネントに関連付けられる、処理することと、
前記コンピューティングシステムによって、前記出力デバイス命令に基づいて、前記特定のコンピューティングデバイスに前記モデル生成出力を送信することと、
を含む、方法。
【請求項12】
前記複数の異なる出力コンポーネントが、前記複数のコンピューティングデバイスに関連付けられる複数のそれぞれの出力機能に関連付けられ、
前記複数のそれぞれの出力機能のそれぞれが、それぞれのコンピューティングデバイスを介して利用可能な出力タイプ及び出力品質を記述する、請求項11に記載の方法。
【請求項13】
前記出力デバイス命令は、前記モデル生成出力を前記特定のコンピューティングデバイスに送信するためのアプリケーション・プログラミング・インターフェース・コールを含む、請求項11に記載の方法。
【請求項14】
前記複数の異なる出力コンポーネントが、第1のデバイスに関連付けられたスピーカ、及び第2のデバイスに関連付けられたビジュアルディスプレイを含む、請求項11に記載の方法。
【請求項15】
前記コンピューティングシステムによって、前記特定の出力コンポーネントが前記クエリの意図に関連付けられていると決定すること、をさらに含み、
前記プロンプトは、前記クエリの前記意図に関連付けられている前記特定の出力コンポーネントに基づいて生成される、請求項11に記載の方法。
【請求項16】
前記コンピューティングシステムによって、前記環境データに基づいて、前記複数の異なる出力コンポーネントの仕様情報に基づいて出力階層を決定すること、をさらに含み、
前記プロンプトは、前記出力階層及び前記クエリに基づいて生成される、請求項11に記載の方法。
【請求項17】
1つまたは複数のコンピューティングデバイスによって実行されると、前記1つまたは複数のコンピューティングデバイスに動作を実行させる命令を集合的に格納する、1つまたは複数の非一時的コンピュータ可読媒体であって、前記動作が、
環境データを取得することであって、前記環境データは、特定のユーザに関連付けられた環境内の複数のコンピューティングデバイスを記述する、取得することと、
前記複数のコンピューティングデバイスに関連付けられた複数のそれぞれの入力機能及び複数のそれぞれの出力機能を決定するために前記環境データを処理することであって、前記複数のそれぞれの入力機能は、前記複数のコンピューティングデバイスに関連付けられた候補の入力タイプに関連付けられ、前記複数のそれぞれの出力機能は、前記複数のコンピューティングデバイスに関連付けられた候補の出力タイプに関連付けられる、処理することと、
前記複数のそれぞれの入力機能及び前記複数のそれぞれの出力機能に基づいて、前記複数のコンピューティングデバイスのために複数のそれぞれのインターフェースを生成することであって、前記複数のそれぞれのインターフェースは、前記複数のそれぞれの入力機能及び前記複数のそれぞれの出力機能に基づいた前記複数のコンピューティングデバイスに基づき、前記複数のコンピューティングデバイスに対して特化される、生成することと、
前記複数のコンピューティングデバイスに前記複数のそれぞれのインターフェースを提供することと、
を含む、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項18】
前記複数のそれぞれのインターフェースが、前記特定のユーザに関連付けられた前記環境内で前記複数のコンピューティングデバイスを示す複数のデバイスインジケータを備え、前記複数のコンピューティングデバイスが、入力を受信し、出力を提供するために通信可能に接続されるユーザ固有のデバイスエコシステムとして構成される、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項19】
前記複数のそれぞれのインターフェースの各々は、前記複数のコンピューティングデバイスのうちの前記特定のコンピューティングデバイスについてのそれぞれの入力機能及びそれぞれの出力機能に基づいて、特定の入力タイプを受信し、特定の出力タイプを提供するように構成される、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項20】
前記動作が、
前記複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスの第1のインターフェースを介してユーザ入力を取得することと、
複数の検索結果を決定するために、検索エンジンを用いて前記ユーザ入力を処理することと、
モデル出力を生成するために生成モデルを用いて前記複数の検索結果を処理することと、
前記複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスの第2のインターフェースを介して表示のために前記モデル出力を提供することと、
をさらに含む、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
優先権の主張
本願は、2023年12月20日に出願を行った米国非仮出願第18/390,768号に基づき、その優先権を主張するものであり、参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、マルチデバイスシステムにおける出力を生成及び提供することに関する。より具体的には、本開示は、環境にあるデバイスに基づいて出力生成を規定し、どのコンピューティングデバイスが出力を提供するかを決定することに関する。
【背景技術】
【0003】
コンピューティングデバイスは、ユーザの応接室、寝室、勉強部屋、オフィス、及び/または他の環境全体で見出すことができる。複合的なデバイス環境は、インタラクトする複数のコンピューティングデバイスをユーザに提供し得、それは、スマートテレビ、スマートスピーカ、スマートアプライアンス、仮想アシスタントデバイス、タブレット、スマートウェアラブル、スマートフォン、及び/または他のコンピューティングデバイスを含み得、ユーザの環境全体に提供され得る。しかしながら、これらのデバイスの機能が、デバイス間に相互接続性がないことに基づいて利用されない場合がある。例えば、ユーザがスマートフォンで検索を実行している場合があるが、それが、スマートテレビが数フィート離れているにも拘らずスマートフォンでビデオ検索結果を再生させることができる。
【0004】
状況全体を理解することが困難な場合がある。個人が、目の前にあるオブジェクトが何であるかを理解しようとしている場合でも、オブジェクトが他の場所で見つかるかどうか決定しようとしている場合でも、及び/またはインターネットの画像がどこからキャプチャされたかを決定しようとしている場合でも、テキスト検索だけでは困難な場合がある。特に、ユーザは、どの単語を使用するかを決定するのに苦労する場合がある。さらに、それらの言葉は、所望の結果を生成するのに十分に記述的ではない及び/または十分に富んでいない場合がある。
【発明の概要】
【0005】
本開示の実施形態の態様及び利点は、以下の説明において部分的に示され、または説明から学習することができ、または実施形態の実践を通じて学習することができる。
【0006】
本開示の1つの例示的な態様は、クエリ応答を提供するための出力デバイスを決定するためのコンピューティングシステムを対象とする。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに動作を実行させる命令を集合的に格納する1つまたは複数の非一時的コンピュータ可読媒体とを含むことができる。動作は、入力データを取得することを含むことができる。入力データは、特定のユーザに関連付けられるクエリを含むことができる。動作は、環境データを取得することを含むことができる。環境データは、ユーザの環境にある複数のコンピューティングデバイスを記述することができる。いくつかの実施態様では、複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられ得る。動作は、入力データ及び環境データに基づいてプロンプトを生成することを含むことができる。プロンプトは、クエリを記述するデータ、及び複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含むことができる。動作は、モデル生成出力を生成するために、生成モデルを用いてプロンプトを処理することを含むことができる。モデル生成出力は、クエリに対する応答を含むことができる。いくつかの実施態様では、モデル生成出力は、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに提供されるように生成され得る。動作は、モデル生成出力を特定のコンピューティングデバイスに送信することを含むことができる。
【0007】
いくつかの実施態様では、モデル生成出力は、複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され得る。生成モデルは、出力デバイス命令を生成できる。出力デバイス命令は、モデル生成出力を提供する複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述することができる。特定のコンピューティングデバイスは、特定の出力コンポーネントに関連付けられ得る。モデル生成出力は、出力デバイス命令に基づいて、特定のコンピューティングデバイスに送信できる。
【0008】
いくつかの実施態様では、モデル生成出力を生成するために生成モデルを用いてプロンプトを処理することは、複数のモデル出力を生成することを含み得る。複数のモデル出力は複数の候補の応答を含むことができる。モデル生成出力を特定のコンピューティングデバイスに送信することは、複数のモデル出力の第1のモデル出力を複数のコンピューティングデバイスの第1のコンピューティングデバイスに送信すること、及び複数のモデル出力の第2のモデル出力を複数のコンピューティングデバイスの第2のコンピューティングデバイスに送信することを含み得る。第1のモデル出力は、ビジュアルディスプレイを介して表示するためのビジュアルデータを含むことができる。第2のモデル出力は、スピーカコンポーネントを介して再生するためのオーディオデータを含むことができる。いくつかの実施態様では、第1のコンピューティングデバイスは、スマートテレビを含むことができ、第2のコンピューティングデバイスは、スマートスピーカを含む。
【0009】
いくつかの実施態様では、入力データ及び環境データに基づいてプロンプトを生成することは、環境データに基づいて環境固有のデバイス構成を決定すること、環境固有のデバイス構成に基づいてプロンプトライブラリからプロンプトテンプレートを取得すること、及びプロンプトを生成するために、入力データに基づいてプロンプトテンプレートを拡張することを含み得る。環境固有のデバイス構成は、複数のコンピューティングデバイスのそれぞれの出力タイプ及びそれぞれの出力品質を記述することができる。プロンプトライブラリは、複数の異なるデバイス構成に関連付けられる複数の異なるプロンプトテンプレートを含み得る。
【0010】
いくつかの実施態様では、複数のコンピューティングデバイスをクラウドコンピューティングシステムを介して接続することができる。複数のコンピューティングデバイスのそれぞれは、クラウドコンピューティングシステムのプラットフォームに登録することができる。環境データは、クラウドコンピューティングシステムで取得できる。モデル生成出力は、クラウドコンピューティングシステムを介して送信できる。いくつかの実施態様では、複数のコンピューティングデバイスは、複数のコンピューティングデバイス内部の他のコンピューティングデバイスのそれぞれに近接して配置することができる。複数のコンピューティングデバイスは、ローカルネットワークに亘って通信可能に接続され得る。複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスは、入力データの取得及びモデル生成出力の送信を促進し得る。
【0011】
いくつかの実施態様では、生成モデルは、アプリケーションプログラミングインターフェースを介して検索エンジンと通信可能に接続され得る。モデル生成出力を生成するために生成モデルを用いてプロンプトを処理することは、プロンプトに基づいてアプリケーション・プログラミング・インターフェース・コールを生成すること、アプリケーション・プログラミング・インターフェース・コールに基づいて、検索エンジンを用いて複数の検索結果を決定すること、及びモデル生成出力を生成するために生成モデルを用いて複数の検索結果を処理することを含み得る。
【0012】
本開示の他の例示的な態様は、コンピュータ実装方法を対象とする。方法は、1つまたは複数のプロセッサを含むコンピューティングシステムによって、入力データを取得することを含むことができる。入力データは、特定のユーザに関連付けられるクエリを含むことができる。方法は、コンピューティングシステムによって、環境データを取得することを含むことができる。環境データは、ユーザの環境にある複数のコンピューティングデバイスを記述することができる。複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられ得る。方法は、コンピューティングシステムによって、入力データ及び環境データに基づいてプロンプトを生成することを含むことができる。プロンプトは、クエリを記述するデータ、及び複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含むことができる。方法は、コンピューティングシステムによって、モデル生成出力及び出力デバイス命令を生成するために生成モデルを用いてプロンプトを処理することを含むことができる。モデル生成出力は、クエリに対する応答を含むことができる。いくつかの実施態様では、モデル生成出力は、複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され得る。出力デバイス命令は、モデル生成出力を提供する複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述することができる。特定のコンピューティングデバイスは、特定の出力コンポーネントに関連付けることができる。方法は、コンピューティングシステムによって、出力デバイス命令に基づいて、モデル生成出力を特定のコンピューティングデバイスに送信することを含むことができる。
【0013】
いくつかの実施態様では、複数の異なる出力コンポーネントは、複数のコンピューティングデバイスに関連付けられる複数のそれぞれの出力機能に関連付けられ得る。複数のそれぞれの出力機能の各々は、それぞれのコンピューティングデバイスを介して利用可能な出力タイプ及び出力品質を記述できる。出力デバイス命令は、モデル生成出力を特定のコンピューティングデバイスに送信するためのアプリケーション・プログラミング・インターフェース・コールを含むことができる。いくつかの実施態様では、複数の異なる出力コンポーネントは、第1のデバイスに関連付けられたスピーカ、及び第2のデバイスに関連付けられたビジュアルディスプレイを含むことができる。方法は、コンピューティングシステムによって、特定の出力コンポーネントがクエリの意図に関連付けられていると決定することを含むことができる。プロンプトは、クエリの意図に関連付けられている特定の出力コンポーネントに基づいて生成され得る。
【0014】
いくつかの実施態様では、方法は、コンピューティングシステムによって、環境データに基づいて、複数の異なる出力コンポーネントの仕様情報に基づいて出力階層を決定することを含むことができる。プロンプトは、出力階層及びクエリに基づいて生成され得る。
【0015】
本開示の他の例示的な態様は、1つまたは複数のコンピューティングデバイスによって実行されると、1つまたは複数のコンピューティングデバイスに動作を実行させる命令を集合的に格納する1つまたは複数の非一時的コンピュータ可読媒体を対象とする。動作は、環境データを取得することを含むことができる。環境データは、特定のユーザに関連付けられる環境内の複数のコンピューティングデバイスを記述することができる。動作は、複数のコンピューティングデバイスに関連付けられた複数のそれぞれの入力機能及び複数のそれぞれの出力機能を決定するために環境データを処理することを含むことができる。複数のそれぞれの入力機能は、複数のコンピューティングデバイスに関連付けられた候補の入力タイプに関連付けられ得る。複数のそれぞれの入力機能は、複数のコンピューティングデバイスに関連付けられた候補の出力タイプに関連付けられ得る。動作は、複数のそれぞれの入力機能及び複数のそれぞれの出力機能に基づいて、複数のコンピューティングデバイスのために複数のそれぞれのインターフェースを生成することを含むことができる。複数のそれぞれのインターフェースは、複数のそれぞれの入力機能及び複数のそれぞれの出力機能に基づいて、複数のコンピューティングデバイスに基づいて、複数のコンピューティングデバイスに対して特化することができる。動作は、複数のコンピューティングデバイスに複数のそれぞれのインターフェースを提供することを含むことができる。
【0016】
いくつかの実施態様では、複数のそれぞれのインターフェースは、特定のユーザに関連付けられた環境内の複数のコンピューティングデバイスを示す複数のデバイスインジケータを含むことができる。複数のコンピューティングデバイスは、入力を受信し、出力を提供するために通信可能に接続されるユーザ固有のデバイスエコシステムとして構成することができる。複数のそれぞれのインターフェースのそれぞれは、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスについてのそれぞれの入力機能及びそれぞれの出力機能に基づいて、特定の入力タイプを受信し、特定の出力タイプを提供するように構成することができる。
【0017】
いくつかの実施態様では、動作は、複数のコンピューティングデバイスの第1のコンピューティングデバイスの第1のインターフェースを介してユーザ入力を取得すること、複数の検索結果を決定するために検索エンジンを用いてユーザ入力を処理すること、モデル出力を生成するために生成モデルを用いて複数の検索結果を処理すること、及び複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスの第2のインターフェースを介して表示するためにモデル出力を提供すること、を含むことができる。
【0018】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、及び電子デバイスを対象とする。
【0019】
本開示の様々な実施形態のこれら及び他の特徴、態様及び利点は、以下の説明及び添付の特許請求の範囲を参照して、よりよく理解されるようになる。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を例示し、発明を実施するための形態と併せて、関連する原理を説明する役目を果たしている。
【0020】
当業者を対象にした実施形態の詳細な説明は、添付図面を参照する本明細書で示されている。
【図面の簡単な説明】
【0021】
図1】本開示の例示的な実施形態による、例示的な生成モデルシステムのブロック図を示す。
図2】本開示の例示的な実施形態による、例示的な応答生成システムのブロック図を示す。
図3】本開示の例示的な実施形態による、応答生成を行うための例示的な方法のフローチャート図を示す。
図4】本開示の例示的な実施形態による、例示的なマルチデバイス管理システムのブロック図を表す。
図5】本開示の例示的な実施形態による、例示的な環境個別化システムのブロック図を表す。
図6A】本開示の例示的な実施形態による、例示的なインターフェースの図を示す。
図6B】本開示の例示的な実施形態による、例示的な画像キャプチャエントリポイントの図を示す。
図6C】本開示の例示的な実施形態による、例示的なスマートテレビエントリポイントの図を示す。
図6D】本開示の例示的な実施形態による、例示的なカレンダーインターフェースの図を示す。
図6E】本開示の例示的な実施形態による、例示的なビデオ会議インターフェースの図を示す。
図6F】本開示の例示的な実施形態による、例示的な電子メールインターフェースの図を示す。
図6G】本開示の例示的な実施形態による、例示的なビデオプレーヤインターフェースの図を示す。
図7】本開示の例示的な実施形態による、出力生成及びルーティングを行うための例示的な方法のフローチャート図を示す。
図8】本開示の例示的な実施形態による、インターフェース生成を行うための例示的な方法のフローチャート図を示す。
図9A】本開示の例示的な実施形態による、マルチデバイス出力管理を実行する例示的なコンピューティングシステムのブロック図を表す。
図9B】本開示の例示的な実施形態による、マルチデバイス出力管理を実行する例示的なコンピューティングシステムのブロック図を表す。
【発明を実施するための形態】
【0022】
複数の図面にわたって繰り返される参照符号は、様々な実施態様で同じ特徴を識別することを意図している。
【0023】
一般に、本開示は、複数のコンピューティングデバイスを含む環境のための入力の取得及び出力の生成を管理するためのマルチデバイスフレームワークを対象とする。具体的には、本明細書に開示されるシステム及び方法は、環境ベースのプロンプト生成及び生成モデル処理を活用して、環境で利用可能なコンピューティングデバイスに基づいて生成できる出力を生成及び/または提供することができる。例えば、マルチデバイスフレームワークは、複数のコンピューティングデバイスに関連付けられる入力データ及び環境データを取得すること、及び複数のコンピューティングデバイスのうちの1つまたは複数の特定のコンピューティングデバイスに提供されるように構成された1つまたは複数のモデル生成出力を生成することを促進するコンピューティングシステムを含むことができる。コンピューティングシステムは、環境内の異なるコンピューティングデバイスの多様な入力機能及び/または出力機能を活用するために利用でき、これは、異なるデバイスから異なるタイプの入力を自動的に取得すること、及び/または異なるデバイスを介して異なるタイプの出力を提供することを含み得る(例えば、音声コマンドは、スマートフォンを介して受信され得、対して出力は、テレビの視覚的ディスプレイ及び/またはサウンドシステムのスピーカを介して提供され得る)。
【0024】
環境内の複数のコンピューティングデバイスに関連付けられた環境データは、プロンプト生成、環境理解、及び/またはインターフェース生成のために活用することができる。ユーザの環境と適合性がある、及び/またはユーザの環境での表示及び/または再生のために最適化される、生成モデルの出力生成を規定できるプロンプトを生成するよう環境データが処理されてもよい。プロンプト生成は、環境に関連付けられたコンピューティングデバイスに基づいてプロンプトライブラリから特定のプロンプトテンプレートを取得することを含み得、及び/または、プロンプトを生成するために、入力データ及び/または環境データを機械学習済みモデルを用いて処理することによる、プロンプト生成を含み得る。追加的に及び/または代替的に、環境データを処理して、特定のタイプの入力取得及び/または特定のタイプの出力再生に、環境に関連付けられたどのコンピューティングデバイスを利用するかを決定することができる。いくつかの実施態様では、環境内のコンピューティングデバイスを理解し、環境に関連付けられたコンピューティングデバイスの決定された入力及び/または出力の機能に基づいて、複数のコンピューティングデバイスのためのそれぞれのインターフェースを生成するように環境データを処理できる。
【0025】
アンビエントマルチデバイスフレームワークを利用して、複数の異なるコンピューティングデバイスから入力を受信し、それで出力を提供できる没入型仮想アシスタントを提供することができる。アンビエントマルチデバイスフレームワークは、ユーザからクエリ及び/またはプロンプトを取得し、環境にある他のデバイスよりも高品質であり得る関連するコンテンツタイプを提供する環境のコンピューティングデバイスを用いて、関連するコンテンツタイプで応答を提供することができる。コンピューティングデバイスの決定は、デバイスの仕様の情報(及び/またはデバイスの機能の情報)に基づいて決定され得る決定された階層に基づくことができる。
【0026】
コンピューティングデバイスは、ユーザの環境全体に、それがオフィス、自宅、及び/または他の位置にあるかどうかに関係なく、見出され得る。スマートテレビ、スマートスピーカ、スマートアプライアンス、仮想アシスタントデバイス、タブレット、スマートウェアラブル、スマートフォン、及び/または他のコンピューティングデバイスを、ユーザの環境全体に提供することができる。しかしながら、これらのデバイスの機能が、デバイス間の相互接続性の欠如及び/または協調性の欠如に基づいて利用されない場合がある。特に、コンピューティングデバイスは、入力を取得するために、及び/またはコンテキスト固有の出力を提供するために、いつ及び/またはどのように相互作用するかを決定できない場合がある。
【0027】
アンビエントマルチデバイスフレームワークは、入力及び/または出力機能と関連付けられた情報を含む環境のコンピューティングデバイスを記述する情報を取得すること及び/または生成することを含むことができる。情報は、次に、どのデータが取得される、及び/または出力のために生成されるのか、及び/またはどのコンピューティングデバイスがユーザのクエリに関連付けられる出力に利用されるのかを規定し得る、生成モデル(例えば、ラージ言語モデル)のプロンプトを生成する際に利用することができる。いくつかの実施態様では、生成モデルは、マルチデバイスフレームワークについて微調整され得て(例えば、パラメータに効率的な微調整、及び/またはソフトプロンプトの調整)、これは、環境的コンテキストを用いてプロンプトを処理し、クエリ及び環境的コンテキストの両方に基づいて出力を生成するために生成モデルを調整することを含み得る。
【0028】
詳細には、異なるコンピューティングデバイスは、異なる形式の入力データ(例えば、テキスト入力、音声コマンド、ジェスチャ入力など)のキャプチャのため、及び/または異なるタイプの出力データをユーザに提供する(例えば、ビジュアルディスプレイ、オーディオ再生など)ために、異なるコンポーネントを有することができる。アンビエントマルチデバイスフレームワークは、環境のコンピューティングデバイスに関連付けられる機能の情報を活用して、環境内の複数の異なるコンピューティングシステムで入力を取得し、出力を提供できる、没入型で多面的なコンピューティングシステムを提供することができる。
【0029】
スマートフォン、スマートウォッチ、スマートスピーカ、スマートテレビ、スマートアシスタントデバイス、及び/または他のコンピューティングデバイスは、常にユーザの周りにある。しかしながら、相互接続性が制限される場合があり、最高の品質の入力及び/または出力データが効率的に利用されない場合がある。例えば、ユーザが、自分のスマートフォンを介してクエリを入力でき、それにより、ビデオ及び/またはオーディオが応答としてスマートフォンにおいて提供され得るが、高い品質のスマートテレビ及び/またはスマートスピーカがユーザにとって容易にアクセス可能で、近接し得る。コンテンツが本質的にエンターテインメントであるか、教育であるか、及び/または他の目的であるかに関係なく、マルチデバイスフレームワークは、追加の形式の入力を取得するために活用する、及び/または単一のデバイスシステムよりも高品質であり得る追加の出力の形式を提供することができる。
【0030】
本明細書に開示されるシステム及び方法は、複合的なデバイスからの入力の取得、及び/または複合的なデバイスを介した出力の提供を管理するために利用することができる。いくつかの実施態様では、入力は、スマートフォン及びスマートウォッチから受信され得、入力に応答する出力は、スマートテレビ及びスマートスピーカを介して提供され得る。追加的に及び/または代替的に、システム及び方法は、環境内の特定のコンピューティングデバイスが最高の処理能力を有すると判断することができ、システム及び方法は次いで、モデル推定を実行するためにその特定のコンピューティングデバイスを利用することができる。いくつかの実施態様では、処理タスクは、環境内の複合的なコンピューティングデバイス間で分割されてもよく、及び/またはサーバコンピューティングシステムによって実行されてもよい。
【0031】
本開示のシステム及び方法は、いくつかの技術的効果及び利点を提供する。一例として、システム及び方法は、相互接続されたマルチデバイスエコシステムを提供するために利用され得る。特に、本明細書に開示されるシステム及び方法は、エコシステム内部の1つまたは複数のデバイスから入力データを取得することができる。システム及び方法は、環境内のデバイスを記述する環境データを取得することができ、次に、環境にあるデバイスに基づいて生成された入力データに対する応答を生成するために、生成モデルを用いて処理することができる入力データと環境データに基づいてプロンプトを生成することができる。次に、応答は、環境内の1つまたは複数の特定のデバイスに送信され得る。例えば、テキスト入力はタブレットを介して取得することができ、出力はスマートスピーカを介して提供することができる。
【0032】
他の例示的な技術的な効果及び利益は、計算効率の改善及びコンピューティングシステムの機能の改善に関係する。例えば、本開示のシステム及び方法の技術的利点は、環境内で複数のコンピューティングデバイスとインタラクトするために必要な計算リソースを削減できることである。特に、マルチデバイスフレームワークは、データの処理とフローを一元化することができ、これにより、エコシステム内部のデバイス間での反復的な処理のインスタンスを減らすことができる。
【0033】
本開示のシステム及び方法は、いくつかの技術的効果及び利点を提供する。一例として、システム及び方法は、インターフェース生成システムを提供することができる。インターフェース生成システムは、マルチデバイスエコシステム内部で利用可能な入力機能及び出力機能に基づいて専用に生成され得る環境固有及びデバイス固有のインターフェースを生成するために活用され得る。
【0034】
本開示のシステム及び方法の他の技術的利点は、インターフェース生成を活用して没入型マルチデバイス環境を提供できることである。特に、インターフェースは、相互接続システムの複数の異なるデバイスから複数の異なる入力タイプを取得する機能をユーザに提供するように生成及び提供することができ、相互接続されたシステムの複数の異なるデバイスを介して複数の異なる出力タイプを提供し得る。
【0035】
ここで図面を参照して、本開示の例示的な実施形態がさらに詳細に議論される。
【0036】
図1は、本開示の例示的な実施形態による例示的な生成モデルシステム10のブロック図を示す。いくつかの実施態様では、生成モデルシステム10は、クエリ及び/またはコンテキストを記述する入力データ12のセットを受信及び/または取得し、入力データ12の受信の結果として、クエリに対する応答を記述するモデル生成出力20を生成、決定、及び/または提供するように構成される。したがって、いくつかの実施態様では、生成モデルシステム10は、環境の特定のコンピューティングデバイスによって提供されるように構成されたクエリに対する応答を生成するために、プロンプト16を処理するように動作可能な生成モデル18を含み得る。
【0037】
特に、生成モデルシステム10は、入力データ12及び環境データ14を取得することができる。入力データ12は、1つまたは複数の入力を記述することができる。入力データ12は、クエリ(例えば、「今日は誰がプレイしているの?」、「フォカッチャはどうやって作るの?」、「この年の映画の終わりに流れた曲は何ですか?」)を記述し得る。入力データ12は、直接入力された入力(例えば、ユーザがグラフィカルキーボードにタイプする、画像をキャプチャする、グラフィカルユーザインターフェース要素を選択する、音声コマンドを提供する、など)及び/またはコンテキスト入力(例えば、ユーザの検索履歴、時刻、ユーザの習慣データ、ユーザの閲覧履歴、アプリケーションアクティビティ、現在開いているアプリケーション、温度、ユーザの位置、及び/または環境内の他のコンピューティングデバイスから取得されたデータ)を含むことができる。
【0038】
環境データ14は、環境内の複数のコンピューティングデバイスを記述できる。環境は、部屋、部屋のセット、ユーザに近接しているもの、及び/または互いに近接する複数のコンピューティングデバイスを含む空間であってよい。環境データ14は、環境内の複数のコンピューティングデバイスのそれぞれに関する仕様の情報を含むことができる。代替的に及び/または追加的に、環境データ14は、複数のコンピューティングデバイスの記述識別データ(例えば、デバイス名、デバイスのシリアル番号、デバイスのラベル、登録データなど)、複数のコンピューティングデバイスの機能データ(例えば、複数のコンピューティングデバイス用の入力機能、複数のコンピューティングデバイス用の処理機能、及び/または複数のコンピューティングデバイスの出力機能)、及び/または他の環境データであり得る。
【0039】
生成モデルシステム10は、入力データ12及び環境データ14を処理して、プロンプト16を生成することができる。プロンプト16は、クエリ及び複数のコンピューティングデバイスに関連付けられる情報を含むことができる。プロンプト16は、クエリ、及び出力を提供する1つまたは複数の候補のコンピューティングデバイスのインジケータを含み得る。プロンプト16は、プロンプトライブラリにクエリ実行して、環境データ14に基づいてプロンプトテンプレートを決定することによって生成され得る。次に、入力データ12に基づいてプロンプトテンプレートを記入することができる。代替的に及び/または追加的に、プロンプト16は、プロンプト生成モデルにより入力データ12及び環境データ14を処理することによって生成され得る。プロンプト生成モデルは、機械学習済みモデルを含むことができ、これは、生成モデル(例えば、自己回帰言語モデル、拡散モデル、視覚言語モデル、及び/または他の生成モデル)を含み得る。
【0040】
次に、生成モデル18は、モデル生成出力20を生成するためにプロンプト16を処理することができる。生成モデル18は、生成言語モデル(例えば、大言語モデル、視覚言語モデル、及び/または他の言語モデル)、画像生成モデル(例えば、テキストから画像への生成モデル)、及び/または他の生成モデルを含むことができる。生成モデル18は、トランスフォーマモデル、畳み込みモデル、フィードフォワードモデル、回帰型モデル、セルフアテンションモデル、及び/または他のモデルを含み得る。
【0041】
モデル生成出力20は、入力データ12のクエリに対する予測応答を含むことができる。モデル生成出力20は、複数の予測された特徴(例えば、予測されたテキスト文字、予測オーディオ信号、予測ピクセルなど)を含む新規の生成出力であり得る。モデル生成出力20は、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスにより提供されるように生成され得る。例えば、モデル生成出力20は、プロンプト及び/または生成モデル18の処理に基づいて決定される好ましいコンピューティングデバイス(特定の機能を有する)に基づいて、特定のサイズ、品質、及び/またはコンテンツタイプとなるように生成されてもよい。
【0042】
モデル生成出力20は次に、環境内の特定のコンピューティングデバイスに提供され得る。モデル生成出力20を特定のコンピューティングデバイスに提供することは、データを送信することを含み得、これは、生成モデルを用いてアプリケーション・プログラミング・インターフェース・コールを生成すること、及び1つまたは複数のアプリケーションプログラミングインターフェースを用いてAPIコールを実行することを含み得る。次に、特定のコンピューティングデバイスは、モデル生成出力20をユーザに提供し得る(例えば、特定のコンピューティングデバイスの視覚的ディスプレイ、スピーカ、及び/または他の出力コンポーネントを介して)。
【0043】
図2は、本開示の例示的な実施形態による例示的な応答生成システム200のブロック図を示す。応答生成システム200は、応答生成システム200がプロンプトライブラリ224及び検索エンジン226をさらに含むことを除いて、図1の生成モデルシステム10と同様である。
【0044】
具体的には、応答生成システム200は、入力データ212及び環境データ214を取得することができる。入力データ212は、テキストデータ、画像データ、オーディオデータ、埋め込みデータ、信号データ、検索履歴データ、閲覧履歴データ、アプリケーションインタラクションデータ、潜在的符号化データ、マルチモーダルデータ、グローバルデータ、及び/または他のデータを含むことができる。入力データ212は、環境内の複合的なコンピューティングデバイスから入力を取得することを含み得る1つまたは複数の入力の記述であり得る。入力データ212は、クエリ(例えば、「今日は誰がプレイしているの?」、「フォカッチャはどうやって作るの?」、「この年の映画の終わりに流れた曲は何ですか?」)を記述し得る。入力データ212は、直接入力された入力(例えば、ユーザがグラフィカルキーボードにタイプする、画像をキャプチャする、グラフィカルユーザインターフェース要素を選択する、音声コマンドを提供する、など)及び/またはコンテキスト入力(例えば、ユーザの検索履歴、時刻、ユーザの習慣データ、ユーザの閲覧履歴、アプリケーションアクティビティ、現在開いているアプリケーション、温度、ユーザの位置、及び/または環境内の他のコンピューティングデバイスから取得されたデータ)を含むことができる。入力データ12は、クエリに関連すると決定されたコンテキストデータを含み得る。代替的に及び/または追加的に、入力データ12は、1つまたは複数の決定されたユーザコンテキストに基づいて、ユーザが関心を抱く可能性のあるものの予測に基づき生成され得る予測クエリを含み得る(例えば、特定のサッカーチームに対する関心の決定、一連の検索を利用して、恐怖映画に関心がある可能性を決定すること、及び/または同様の製品が購入されていることに基づいて、購入用の特定の製品が関心のあるものであり得ると決定することができる)。いくつかの実施態様では、応答生成システム200は、個別化信号及び/またはコンテキスト化信号に基づいて入力データを生成することによって、ユーザにコンテンツを提案し得る。
【0045】
環境データ214は、環境内の複数のコンピューティングデバイス222を記述できる。環境は、部屋、部屋のセット、ユーザに近接しているもの、及び/または互いに近接する複数のコンピューティングデバイスを含む空間であってよい。環境データ214は、環境内の複数のコンピューティングデバイス222のそれぞれに関する仕様の情報を含むことができる。代替的に及び/または追加的に、環境データ214は、複数のコンピューティングデバイス222の記述識別データ(例えば、デバイス名、デバイスのシリアル番号、デバイスのラベル、登録データなど)、複数のコンピューティングデバイス222の機能データ(例えば、複数のコンピューティングデバイス222用の入力機能、複数のコンピューティングデバイス222用の処理機能、及び/または複数のコンピューティングデバイス222の出力機能)、及び/または他の環境データであり得る。複数のコンピューティングデバイス222は、スマートフォン、スマートウェアラブル(例えば、スマートウォッチ及び/またはスマートグラス)、スマートスピーカ、スマートテレビ、ラップトップ、デスクトップ、スマートアプライアンス(例えば、スマート冷蔵庫、スマート洗浄器、スマート乾燥機、及び/またはスマートディスペンサ)、仮想アシスタントデバイス(例えば、スマートホームパネル、室内ベースアシスタント、及び/または他のアシスタントデバイス)、タブレット、及び/または他のコンピューティングデバイスを含むことができる。複数のコンピューティングデバイス222は、モバイルコンピューティングデバイス及び/または固定のコンピューティングデバイスを含むことができる。いくつかの実施態様では、複数のコンピューティングデバイス222は、ユーザに近接するデバイス、ユーザのモバイルデバイスと共に登録されたデバイス、ユーザのプロファイルに登録されたデバイス、特定のインターネットハブに接続されたデバイス、特定のアシスタントデバイスに登録されたデバイス、及び/または他の相関関係を有するデバイスを含み得る。
【0046】
応答生成システム200は、入力データ212及び/または環境データ214を処理して、プロンプト216を生成することができる。プロンプト216は、クエリ及び複数のコンピューティングデバイスに関連付けられる情報を含むことができる。プロンプト216は、クエリ、及び出力を提供する1つまたは複数の候補のコンピューティングデバイスのインジケータを含み得る。プロンプト216は、プロンプトライブラリ224にクエリ実行して、環境データ214に基づいてプロンプトテンプレートを決定することによって生成され得る。プロンプトライブラリ224に対してクエリ実行することは、ユーザの環境に関連付けられる環境構成に関連付けられるプロンプトテンプレートを決定することを含むことができる。代替的に及び/または追加的に、プロンプトライブラリ224に対してクエリ実行することは、環境データ214に基づいて埋め込みを生成すること、及び次に最近傍検索に基づいて埋め込みに関連付けられるプロンプトテンプレートを決定することを含み得る。次に、入力データ212に基づいてプロンプトテンプレートを記入することができる。代替的に及び/または追加的に、プロンプト216は、プロンプト生成モデルにより入力データ212及び環境データ214を処理することによって生成され得る。プロンプト生成モデルは、機械学習済みモデルを含むことができ、これは、生成モデル(例えば、自己回帰言語モデル、拡散モデル、視覚言語モデル、及び/または他の生成モデル)を含み得る。プロンプト216は、テキストデータ、画像データ、オーディオデータ、潜在的符号化データ、マルチモーダルデータ、埋め込みデータ、及び/またはその他のデータを含むことができる。プロンプト216は、ハードプロンプト(例えば、テキスト文字列及び/または他のデータ入力)及び/またはソフトプロンプト(例えば、学習されたパラメータのセット)を含み得る。いくつかの実施態様では、プロンプト216は、ゼロショットプロンプト及び/または少数ショットプロンプトであってもよい。プロンプト216は、ユーザ要求を複数のタスクに分離してよく、タスクは複数のプロンプトとして提供され得る。
【0047】
次に、生成モデル218は、モデル生成出力220を生成するためにプロンプト216を処理することができる。生成モデル218は、生成言語モデル(例えば、大言語モデル、視覚言語モデル、及び/または他の言語モデル)、画像生成モデル(例えば、テキストから画像への生成モデル)、及び/または他の生成モデルを含むことができる。生成モデル218は、トランスフォーマーモデル、畳み込みモデル、フィードフォワードモデル、回帰型モデル、セルフアテンションモデル、及び/または他のモデルを含み得る。
【0048】
いくつかの実施態様では、生成モデル218は、1つまたは複数の処理エンジン(例えば、検索エンジン、レンダリングエンジン、及び/または他のエンジン)及び/または1つまたは複数の機械学習済みモデル(例えば、分類モデル、拡張モデル、セグメンテーションモデル、検出モデル、埋め込みモデル、及び/または他のモデル)と通信可能に接続され得る。例えば、生成モデル218は、検索エンジン226との間で通信を往復させて、入力データ212、環境データ214、及び/または推定に基づいて検索結果を取得することができる。検索エンジン226は、検索結果を出力してもよく、検索結果は、次に、検索結果のサマリーを生成するよう、及び/または検索結果からの情報に基づいてクエリに対する応答を決定するよう、生成モデル218によって処理され得、それは次にモデル生成出力220を生成するよう利用され得る。モデル生成出力220は、テキストデータ、画像データ、オーディオデータ、潜在的符号化データ、マルチモーダルデータ、及び/または他のデータを含むことができる。
【0049】
モデル生成出力220は、入力データ212のクエリに対する予測応答を含むことができる。モデル生成出力220は、複数の予測された特徴(例えば、予測されたテキスト文字、予測オーディオ信号、予測ピクセルなど)を含む新規の生成出力であり得る。モデル生成出力220は、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスにより提供されるように生成され得る。例えば、モデル生成出力220は、プロンプト及び/または生成モデル218の処理に基づいて決定される好ましいコンピューティングデバイス(特定の機能を有する)に基づいて、特定のサイズ、品質、及び/またはコンテンツタイプとなるように生成されてもよい。
【0050】
生成モデル218は、プロンプト216を処理して、出力デバイス命令230を生成し得る。出力デバイス命令230は、モデル生成出力220を複数のコンピューティングデバイス222の特定のコンピューティングデバイス228に送信するための命令を含むことができる。出力デバイス命令230は、アプリケーション・プログラミング・インターフェース・コール、登録ファイル、及び/または特定のコンピューティングデバイス228の命令を含み得る。
【0051】
次に、モデル生成出力220は、出力デバイス命令230に基づいて、及び/または出力デバイス命令230と共に、環境内の特定のコンピューティングデバイスに提供され得る。モデル生成出力220を特定のコンピューティングデバイスに提供することは、データを送信することを含み得、これは、生成モデルを用いてアプリケーション・プログラミング・インターフェース・コールを生成すること、及び1つまたは複数のアプリケーションプログラミングインターフェースを用いてAPIコールを実行することを含み得る。次に、特定のコンピューティングデバイスは、モデル生成出力220をユーザに提供し得る(例えば、特定のコンピューティングデバイスの視覚的ディスプレイ、スピーカ、及び/または他の出力コンポーネントを介して)。
【0052】
図3は、本開示の例示的な実施形態に従って機能するための例示的な方法のフローチャート図を示す。図3は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法300の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略、再配置、結合、及び/または適合できる。
【0053】
302で、コンピューティングシステムは入力データを取得できる。入力データは、特定のユーザに関連付けられるクエリを含むことができる。入力データは、テキストデータ、オーディオデータ、画像データ、ジェスチャデータ、潜在的符号化データ、マルチモーダルデータ、及び/またはその他のデータを含むことができる。入力データは、環境の1つまたは複数のコンピューティングデバイスから取得される、及び/または1つまたは複数のコンピューティングデバイスで生成される場合がある。入力データは、生成モデルのプロンプトを含み得る。いくつかの実施態様では、入力データは、1つまたは複数のトピックに関連付けられる質問を記述したものであってよい。質問は、環境内の1つまたは複数のコンピューティングデバイス及び/または特徴で視聴されるコンテンツに関連付けられてよい。
【0054】
304で、コンピューティングシステムは環境データを取得することができる。環境データは、ユーザの環境の複数のコンピューティングデバイスを記述することができる。複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられ得る。いくつかの実施態様では、複数のコンピューティングデバイスは、複数のコンピューティングデバイス内部の他のコンピューティングデバイスのそれぞれに近接して配置することができる。複数のコンピューティングデバイスは、ネットワークに亘って通信可能に接続され得る。いくつかの実施態様では、環境データは、複数のコンピューティングデバイスの仕様を記述することができる。例えば、環境データは、入力コンポーネント及び/または出力コンポーネントを含み得るコンピューティングデバイスのコンポーネントを示すことができる。追加的及び/または代替的に、環境データは、複数の異なるコンピューティングデバイスの入力機能及び/または出力機能を記述する情報を含み得る。
【0055】
306で、コンピューティングシステムは、入力データ及び環境データに基づいてプロンプトを生成することができる。プロンプトは、クエリを記述するデータ、及び複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含むことができる。プロンプトは、テキストデータ、画像データ、オーディオデータ、埋め込みデータ、統計データ、グラフィック表現データ、潜在的符号化データ、セマンティックデータ、マルチモーダルデータ、及び/または他のデータを含み得る。プロンプトは、決定論的関数、ヒューリスティックス、及び/またはハイブリッド手法に基づいて、機械学習済みモデルにより生成され得る。プロンプトは、環境データに基づいてプロンプトテンプレートライブラリにクエリを実行し、入力データに基づいて選択されたプロンプトテンプレートに入力することによって生成され得る。
【0056】
いくつかの実施態様では、入力データ及び環境データに基づいてプロンプトを生成することは、環境データに基づいて環境固有のデバイス構成を決定すること、環境固有のデバイス構成に基づいてプロンプトライブラリからプロンプトテンプレートを取得すること、及びプロンプトを生成するために、入力データに基づいてプロンプトテンプレートを拡張することを含み得る。環境固有のデバイス構成は、複数のコンピューティングデバイスのそれぞれの出力タイプ及びそれぞれの出力品質を記述することができる。プロンプトライブラリは、複数の異なるデバイス構成に関連付けられる複数の異なるプロンプトテンプレートを含み得る。
【0057】
308で、コンピューティングシステムは、モデル生成出力を生成するために生成モデルを用いてプロンプトを処理できる。モデル生成出力は、クエリに対する応答を含むことができる。いくつかの実施態様では、モデル生成出力は、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに提供されるように生成されてもよい。モデル生成出力は、複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され得る。生成モデルは、出力デバイス命令を生成できる。出力デバイス命令は、モデル生成出力を提供する複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述することができる。特定のコンピューティングデバイスは、特定の出力コンポーネントに関連付けることができる。例えば、モデル生成出力は、特定のコンピューティングデバイスのそれぞれの出力コンポーネント(例えば、スマートサラウンドシステムのスピーカ及び/またはスマートテレビのディスプレイ画面)を介してユーザに提供されるように生成され得る。
【0058】
いくつかの実施態様では、生成モデルは、アプリケーションプログラミングインターフェースを介して検索エンジンと通信可能に接続されてもよい。モデル生成出力を生成するために生成モデルを用いてプロンプトを処理することは、プロンプトに基づいてアプリケーション・プログラミング・インターフェース・コールを生成すること、アプリケーション・プログラミング・インターフェース・コールに基づいて、検索エンジンで複数の検索結果を決定すること、及びモデル生成出力を生成するために生成モデルを用いて複数の検索結果を処理することを含み得る。
【0059】
310において、コンピューティングシステムは、モデル生成出力を特定のコンピューティングデバイスに送信することができる。モデル生成出力は、出力デバイス命令に基づいて、特定のコンピューティングデバイスに送信できる。モデル生成出力を特定のコンピューティングデバイスに送信することは、生成モデルによって生成されたアプリケーション・プログラミング・インターフェース・コールを実行することを含み得る。モデル生成出力は、ユーザ環境の仮想アシスタントデバイスに送信されてよく、仮想アシスタントデバイスは次に、モデル生成出力を特定のユーザに提供するように特定のコンピューティングデバイスを制御し得る。
【0060】
いくつかの実施態様では、複数のコンピューティングデバイスをクラウドコンピューティングシステムを介して接続することができる。複数のコンピューティングデバイスのそれぞれは、クラウドコンピューティングシステムのプラットフォームに登録することができる。環境データは、クラウドコンピューティングシステムで取得できる。モデル生成出力は、クラウドコンピューティングシステムを介して送信できる。代替的に及び/または追加的に、複数のコンピューティングデバイスは、ネットワークに亘って通信可能に接続され得る。複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスは、入力データの取得及びモデル生成出力の送信を促進し得る。
【0061】
いくつかの実施態様では、モデル生成出力を生成するために生成モデルを用いてプロンプトを処理することは、複数のモデル出力を生成することを含み得る。複数のモデル出力は複数の候補の応答を含むことができる。追加的及び/または代替的に、モデル生成出力を特定のコンピューティングデバイスに送信することは、複数のモデル出力の第1のモデル出力を複数のコンピューティングデバイスの第1のコンピューティングデバイスに送信すること、及び複数のモデル出力の第2のモデル出力を複数のコンピューティングデバイスの第2のコンピューティングデバイスに送信することを含み得る。第1のモデル出力は、ビジュアルディスプレイを介して表示するためのビジュアルデータを含むことができる。第2のモデル出力は、スピーカコンポーネントを介して再生するためのオーディオデータを含むことができる。いくつかの実施態様では、第1のコンピューティングデバイスは、スマートテレビを含むことができる。追加的及び/または代替的に、第2のコンピューティングデバイスは、スマートスピーカを含むことができる。
【0062】
図4は、本開示の例示的な実施形態による、例示的なマルチデバイス管理システム400のブロック図を表す。具体的には、マルチデバイス管理システム400は、複数のユーザコンピューティングデバイス、及びサーバコンピューティングシステム420を含むコンピューティングシステムを含むことができる。複数のユーザコンピューティングデバイスとサーバコンピューティングシステム420とは、ネットワーク410を介して通信可能に接続することができる。
【0063】
複数のユーザコンピューティングデバイスは、第1のコンピューティングデバイス402、第2のコンピューティングデバイス404、第3のコンピューティングデバイス406、及び/または第nのコンピューティングデバイス408を含むことができる。複数のユーザコンピューティングデバイスは、異なる入力、処理、及び/または出力の機能を有し得る複数の異なるコンピューティングデバイスを含むことができる。例えば、第1のコンピューティングデバイス402は、画像センサ、オーディオセンサ、タッチセンサ、モーションセンサ、スピーカ、視覚ディスプレイ、触覚コンポーネント、及び/またはライトを備えたスマートフォンを含むことができる。第2のコンピューティングデバイス404は、バイオメトリックセンサ、モーションセンサ、タッチセンサ、視覚ディスプレイ、及び/または触覚コンポーネントを含み得るスマートウェアラブル(例えば、スマートウォッチ)を含むことができる。第3のコンピューティングデバイス406は、ハイクオリティのスピーカ及び/またはBluetooth送信機を含み得るスマートスピーカを含むことができる。第nのコンピューティングデバイス408は、スマートテレビを含むことができ、スマートテレビは赤外線センサ受信機、送信機-受信機、スピーカ、ビジュアルディスプレイ、及び/または複数の入力ポートを含むことができる。複数のユーザコンピューティングデバイスは、イーサネット、WiFi、及び/またはコンパニオンデバイスへのBluetooth接続を介してネットワーク410に接続することができる。
【0064】
複数のユーザコンピューティングデバイスは、デバイスの登録、位置、及び/または近接度に基づいて、環境に関連付けられ得る。環境データは、複数のユーザコンピューティングデバイスに基づいて生成され得、これは、複数のユーザコンピューティングデバイスから信号を取得することを含み得る。
【0065】
サーバコンピューティングシステム420は、ネットワーク410を介して複数のユーザコンピューティングデバイスから入力データ及び/または環境データを取得することができる。サーバコンピューティングシステム420は、入力データ及び/または環境データを処理するための複数の処理サービスを含むことができる。例えば、サーバコンピューティングシステム420は、1つまたは複数の生成モデル422、1つまたは複数の検索エンジン424、1つまたは複数のプロンプト生成モデル426、1つまたは複数のインターフェースモデル428、及び/または1つまたは複数の他のモデルを含み得る。1つまたは複数の生成モデル422は、入力データ及び/または環境データに関連付けられるプロンプトを処理して、入力データに応答するモデル生成出力を生成するように構成、トレーニング、及び/または調整され得、かつ環境データに基づいて特定のコンテンツタイプであるように構成され得る。1つまたは複数の検索エンジン424は、入力データ及び/または環境データを理解するために、及び/または入力データ及び/または環境データに応答するために利用され得る検索結果を取得するために通信可能に接続され得る。1つまたは複数のプロンプト生成モデル426は、入力データ及び/または環境データを処理して、1つまたは複数の生成モデル422のためのプロンプトを生成するように構成、トレーニング、及び/または調整され得る。1つまたは複数のインターフェースモデル428は、複数のユーザコンピューティングデバイスに関連付けられる環境データを処理し、複数のユーザコンピューティングデバイスのために複数のそれぞれのインターフェースを生成するように構成、トレーニング、及び/または調整され得る。複数の各々のインターフェースは、環境内のデバイスの入力及び/または出力機能に基づいて生成できる。
【0066】
図5は、本開示の例示的な実施形態による、例示的な環境個別化システム500のブロック図を表す。具体的には、環境個別化システム500は、複数のアプリケーション及び/またはプラットフォームからの情報を活用して、個別化された応答及び/または個別化された経験を提供することができる。例えば、検索アシスタント502、ドキュメントアシスタント504、オペレーティングシステムアシスタント506、ビデオプレーヤアシスタント508、ブラウザアシスタント510、及び/またはチャットインターフェースアシスタント512からのデータが、ユーザコンテキストを決定し、及び/またはクエリ及び/または提案を生成する。
【0067】
検索アシスタント502は、検索アプリケーション(及び/またはプラットフォーム)に関連付けることができる。検索アシスタント502は、現在のクエリ、セッション状態、検索履歴、傾向データ、及び/または他の検索データを取得することができる。
【0068】
ドキュメントアシスタント504は、1つまたは複数のドキュメントアプリケーションに関連付けられ得る。ドキュメントアシスタント504は、視聴及び/または編集されている現在のドキュメントに関連付けられるデータ、駆動データ(例えば、格納されているドキュメント情報)、共有パーミッションデータ、及び/または他のドキュメントデータを取得することができる。
【0069】
オペレーティングシステムアシスタント506は、1つまたは複数のコンピューティングデバイスのオペレーティングシステムに関連付けることができる。オペレーティングシステムアシスタント506は、表示のために現在提供されているコンテンツに関連付けられるデータ、アプリケーションデータ(例えば、アプリディープリンク、アプリケーションプログラミングインターフェース(API)、及び/または使用状況データ)、及び/または他の動作データを取得することができる。
【0070】
ビデオプレーヤアシスタント508は、ビデオプレーヤアプリケーション(及び/またはプラットフォーム)に関連付けられ得る。ビデオプレーヤアシスタント508は、現在表示されているビデオのビデオデータ、ビデオ保存、視聴履歴、フォローしているメディアプロバイダ、サブスクリプション、コメント履歴、及び/または他のビデオプレーヤデータを取得するために利用され得る。
【0071】
ブラウザアシスタント510は、ブラウザアプリケーションに関連付けられ得る。ブラウザアシスタント510は、現在のページに関連付けられるデータ、ブックマークデータ、タブデータ、閲覧履歴データ、及び/または他のブラウザデータを取得することができる。
【0072】
チャットインターフェースアシスタント512は、1つまたは複数のチャットロボットに関連付けることができる。チャットインターフェースアシスタントは、セッション履歴データ、応答履歴、入力履歴、トピック、リンク、及び/または他のチャットロボットデータを取得することができる。
【0073】
マルチデバイス管理システム514は、複数のアプリケーション及び/またはプラットフォームからデータを取得し、コアモデル516、グラウンドサービスモデル518、及び/または個別化モデル520を含み得る1つまたは複数の他のシステムにデータを提供できる。
【0074】
例えば、コアモデル516は、要約、計画及び推論、並びに/または関数コールのために活用することができる。グラウンドサービスモデル518は、ツールライブラリの利用、外部コネクタのアプリケーションプログラミングインターフェース(API)の利用、検索結果へのアクセス、及び/またはコンテキスト及び/またはメモリへのアクセスのために活用することができる。コアモデル516及び/またはグラウンドサービスモデル518は、1つまたは複数のクラウドAPIを介して、1つまたは複数の他のモデル及び/またはサービスとインタラクトすることができる。コアモデル516及び/またはグラウンドサービスモデル518の出力は、マルチデバイス管理システム514に提供され返して、次いで個別化モデル520に提供され得る。
【0075】
個別化モデル520は、予測プロンプト(及び/または提案プロンプト)を含み得る個別化された出力を生成するようデータを処理し得る。個別化された出力は、ユーザの好み、インタラクション、及び/またはデバイスに関連付けられるユーザデータに基づいて拡張されたプロンプト応答であってよい。
【0076】
図6Aは、本開示の例示的な実施形態による、例示的なインターフェースの図を示す。具体的には、本明細書に開示されるシステム及び方法を活用して、コンピューティングデバイスに関連付けられる環境データを生成及び処理して、環境内の複数のコンピューティングデバイス用の複数のそれぞれのインターフェースを生成することができる。複数のそれぞれのインターフェースは、複数の他のコンピューティングデバイスを考慮することができ、不明瞭化及び/または既存のインターフェースと融合する場合がある。図6Aは、環境にある異なるデバイスに関連付けられ得る及び/または異なる環境に関連付けられ得る3つの例示的なインターフェースを示す。
【0077】
例えば、第1のインターフェース602は、環境内の第1のコンピューティングデバイス(例えば、モバイルデバイス)に関連付けられ得、第2のインターフェース604は、環境内の第2のコンピューティングデバイス(例えば、スマートウォッチ)に関連付けられ得、第3のインターフェース606は、環境内の第3のコンピューティングデバイス(例えば、スマート冷蔵庫)に関連付けられ得る。代替的に及び/または追加的に、同じコンピューティングデバイスが、異なる環境にあることに基づいて、及び/または異なるユーザコンテキストに基づいて、異なるインターフェースを有し得る。
【0078】
図6Bは、本開示の例示的な実施形態による、例示的な画像キャプチャエントリポイントの図を示す。詳細には、マルチデバイスの入力及び/または出力を活用する検索及び/またはアシスタントインターフェースのための1つのエントリポイントは、コンテキストに基づいて提供されるユーザインターフェース要素を介して提供され得る。
【0079】
例えば、ユーザが画像610をキャプチャしている場合がある(例えば、冷蔵庫の画像をキャプチャしている)。画像は、画像の中のオブジェクトを決定(及び/または識別)する(例えば、オブジェクトをブランドXモデルYの冷蔵庫として分類する)ように処理され得る。次に、選択可能なユーザインターフェース要素をビューファインダ612に提供することができる。次に、画像及び/または識別したものを処理して、識別されたオブジェクトに類似したオブジェクトに関連付けられる検索結果614を含み得る応答を生成することができる。応答とインタラクトするために他のオプションも提供され得る。他のオプションは、拡張現実体験を含み得、これは、オブジェクトをユーザの住宅616の画像にレンダリングすることを含み得る。
【0080】
図6Cは、本開示の例示的な実施形態による、例示的なスマートテレビエントリポイントの図を示す。詳細には、1つのエントリポイントは、提案された検索エントリポイントインジケータを1つのデバイスに提供することを含むことができ、この1つのデバイスは、他のデバイスとインタラクトされ得る。
【0081】
例えば、第1のコンピューティングデバイス620(例えば、スマートテレビ)に表示するために提供されるコンテンツは、ユーザが検索の際に関心を抱き得る特徴を含むように決定することができる。したがって、提案されたエントリポイントユーザインターフェース要素は、コンテンツに亘りレンダリングされてもよい。次に、ユーザは、第2のコンピューティングデバイス(例えば、モバイルコンピューティングデバイス)で選択可能なユーザインターフェース要素622を選択して、モデル生成出力624を見ることができる。モデル生成出力は、第1のコンピューティングデバイス620、第2のコンピューティングデバイス、及び/または第3のコンピューティングデバイスを介して提供することができる。モデル生成出力624は、検索結果、生成モデル出力、1つまたは複数のレンダリング、1つまたは複数の提案、及び/または他のオプションを含み得る。
【0082】
図6Dは、本開示の例示的な実施形態による、例示的なカレンダーインターフェースの図を示す。特に、図6Dは、カレンダーデータに基づいて規定することができる検索ウィンドウを含む例示的なカレンダーインターフェースを示す。例えば、検索ウィンドウは、テキスト入力フィールドと2つの提案されたアクションとを含むことができる。提案されたアクションは、会議のための部屋を見つけること(630)、及び/または集中時間のためにブロックする時間を提案すること(632)を含むことができる。提案は、複数のアプリケーション及び/または複数のコンピューティングデバイスからの情報に基づいて生成され得る。検索ウィンドウは、カレンダーアプリケーションが開いているデバイスに提供され得る、及び/または他のデバイスに提供され得る。
【0083】
図6Eは、本開示の例示的な実施形態による、例示的なビデオ会議インターフェース634の図を示す。具体的には、図6Eは、会議データに基づいて規定することができる検索ウィンドウ636を含む例示的なビデオ会議インターフェース634を示す。例えば、検索ウィンドウ636は、テキスト入力フィールドと1つまたは複数の提案されたアクションとを含むことができる。提案されたアクションは、会議についてメモを取ること(例えば、会議で書き込むこと、及び/またはメモ用アプリケーションを開くこと)、リマインダを設定すること、会議を再スケジュールすること、及び/または同様の会議からメモを取得することを含み得る。提案は、複数のアプリケーション及び/または複数のコンピューティングデバイスからの情報に基づいて生成され得る。検索ウィンドウ636は、ビデオ会議アプリケーションが開いているデバイスに提供され得る、及び/または他のデバイスに提供され得る。
【0084】
図6Fは、本開示の例示的な実施形態による、例示的な電子メールインターフェースの図を示す。具体的には、図6Fは、電子メールデータ及び/または会議データに基づいて規定され得る検索ウィンドウ640を含む例示的な電子メールインターフェース638を示す。例えば、検索ウィンドウ640は、テキスト入力フィールドと1つまたは複数の提案されたアクションとを含むことができる。提案されるアクションは、会議のメモ及び/または議事録の要約、他の会議のスケジューリング、会議由来の主題に関する情報の取得、会議のメモに関連付けられるコンテキストに基づいたフォローアップの電子メールの起草、及び/または電子メールデータ及び/または会議データに基づく電子メールの起草を含み得る。提案は、複数のアプリケーション及び/または複数のコンピューティングデバイスからの情報に基づいて生成され得る。検索ウィンドウ640は、電子メールアプリケーションが開いているデバイスに提供され得る、及び/または他のデバイスに提供され得る。
【0085】
図6Gは、本開示の例示的な実施形態による、例示的なビデオプレーヤインターフェースの図を示す。詳細には、図6Gは、ビデオデータ及び/または視聴履歴データに基づいて規定され得る検索ウィンドウ654を含む例示的なビデオプレーヤインターフェース650を示す。例えば、検索ウィンドウ654は、テキスト入力フィールドと1つまたは複数の提案されたアクションとを含むことができる。提案されるアクションは、表示されたビデオ652に描写された類似した製品の製品リストを取得すること、ビデオを要約すること、表示されたビデオのエンティティラベルを取得すること、類似したビデオを発見すること、及び/または表示されたビデオ652に関連付けられる追加情報を取得することを含むことができる。例えば、ユーザは、表示されたビデオ652に描写されたドレスに関するさらなる情報を要求し得る。1つまたは複数のフレームをビデオからセグメンテーションし、検索することができ、これにはフレームクロッピングが含まれる場合がある。代替的に及び/または追加的に、描かれたフレームに関連付けられたエンティティラベルが取得及び検索され得る。検索結果は、表示されたビデオに亘りに重ねて表示される検索ウィンドウ654に表示するために提供され得る。検索結果には、製品リスト、ウェブリンク、及び/またはその他のデータが含まれ得る。提案は、複数のアプリケーション及び/または複数のコンピューティングデバイスからの情報に基づいて生成され得る。検索ウィンドウ654は、ビデオプレーヤアプリケーションが開いているデバイスに提供され得る、及び/または他のデバイスに提供され得る。
【0086】
図7は、本開示の例示的な実施形態に従って機能するための例示的な方法のフローチャート図を示す。図7は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法700の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略、再配置、結合、及び/または適合できる。
【0087】
702で、コンピューティングシステムは入力データを取得できる。入力データは、特定のユーザに関連付けられるクエリを含むことができる。クエリは、1つまたは複数のトピックに関連付けられる質問を含むことができ、クエリは、質問への応答を要求することができる。入力データは、マイクロフォンを介して取得された音声コマンド、グラフィカルキーボードを介して入力されたテキスト文字列、及び/またはカメラ、慣性測定ユニット、及び/またはタッチセンサを介して取得されたジェスチャを含み得る。いくつかの実施態様では、入力データは、環境内の複合的なコンピューティングデバイスから取得された入力を記述するデータを含み得る(例えば、スマートフォンのマイクロフォンを介して取得された音声コマンド、スマートウォッチのタッチセンサを介したジェスチャ、スマート冷蔵庫からの画像データ、及び/またはスマートテレビから取得された視聴履歴)。
【0088】
704で、コンピューティングシステムは、環境データを取得できる。環境データは、ユーザの環境の複数のコンピューティングデバイスを記述することができる。複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられ得る。複数の異なる出力コンポーネントは、複数のコンピューティングデバイスに関連付けられた複数のそれぞれの出力機能に関連付けられ得る。いくつかの実施態様では、複数のそれぞれの出力機能の各々は、それぞれのコンピューティングデバイスを介して利用可能な出力タイプと出力品質を記述できる。複数の出力コンポーネントは、第1のデバイスに関連付けられたスピーカと、第2のデバイスに関連付けられたビジュアルディスプレイとを含め得る。環境データは、環境に登録されたコンピューティングデバイス、WiFiルータ、仮想アシスタントデバイス、ユーザコンピューティングデバイス、及び/またはユーザプロファイルに関連付けられた登録データを含むことができる。いくつかの実施態様では、環境データは、複数の候補の出力タイプについての出力階層を含むことができ、この出力階層は、複数の異なる出力タイプ(例えば、視覚的表示、オーディオ出力、触覚フィードバックなど)に対する複数のコンピューティングデバイスのパフォーマンス機能の階層表現を含み得る。
【0089】
706で、コンピューティングシステムは、入力データ及び環境データに基づいてプロンプトを生成することができる。プロンプトは、クエリを記述するデータ、及び複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含むことができる。プロンプトは、プロンプト生成モデルを用いて入力データ及び環境データを処理することによって生成され得る。プロンプト生成モデルは、言語モデル(例えば、生成言語モデル(例えば、ラージ言語モデル))を含み得る。プロンプト生成モデルは、クエリの意図を理解すること、及び環境データに基づいて、意図に関連付けられる出力タイプ及び/または利用可能な出力タイプを決定することに基づいて、プロンプトを生成するようにトレーニング及び/または調整され得る。プロンプト生成モデルは、生成モデルの出力生成を規定するプロンプト埋め込みを生成することができる。
【0090】
いくつかの実施態様では、コンピューティングシステムは、特定の出力コンポーネントがクエリの意図に関連付けられていると決定することができる。プロンプトは、クエリの意図に関連付けられている特定の出力コンポーネントに基づいて生成され得る(例えば、曲のリクエストはスピーカ出力コンポーネントに関連付けられてもよく、ビデオを再生する要求はテレビの視覚的表示に関連付けられ得る)。
【0091】
追加的及び/または代替的に、コンピューティングシステムは、環境データに基づいて、複数の異なる出力コンポーネントの仕様情報に基づいて出力階層を決定することができる。プロンプトは、出力階層及びクエリに基づいて生成され得る。例えば、プロンプトは、環境内のコンピューティングデバイスの出力機能に基づいて出力生成を規定するテキスト及び/または埋め込みを含み得る。
【0092】
708で、コンピューティングシステムは、モデル生成出力と出力デバイス命令を生成するためにプロンプトを生成モデルで処理することができる。モデル生成出力は、クエリに対する応答を含むことができる。いくつかの実施態様では、モデル生成出力は、複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され得る。出力デバイス命令は、モデル生成出力を提供する複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述することができる。特定のコンピューティングデバイスは、特定の出力コンポーネントに関連付けることができる。いくつかの実施態様では、出力デバイス命令は、モデル生成出力を特定のコンピューティングデバイスに送信するためのアプリケーション・プログラミング・インターフェース・コールを含むことができる。
【0093】
710において、コンピューティングシステムは、出力デバイス命令に基づいて、特定のコンピューティングデバイスにモデル生成出力を送信できる。いくつかの実施態様では、送信は、ネットワークに亘る信号送信を介して実行され得る。代替的に及び/または追加的に、他のデバイス用に構成された出力が利用可能であることを示す通知が入力コンピューティングデバイスに提供されてよく、次いで、ユーザは、モデル生成出力が特定のコンピューティングデバイスに送信される前に、通知とインタラクトし得る。いくつかの実施態様では、生成モデルは、複数のモデル生成出力を生成することができ、コンピューティングシステムは、複数のモデル生成出力を、環境内の複数の異なるコンピューティングデバイスに送信することができる(例えば、スライドショーが再生のためにスマートテレビに送信され得、テキストドキュメントが電子リーダーまたはパーソナルコンピューティングデバイス(例えば、スマートフォンもしくはタブレット)に送信され得、オーディオファイルがスマートスピーカに送信され得、及び/またはスケジュールされた色及び明度の命令セットが、RGBスマートライトセットアップに送信され得る)。
【0094】
図8は、本開示の例示的な実施形態に従って行うための例示的な方法のフローチャート図を示す。図8は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法800の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略、再配置、結合、及び/または適合できる。
【0095】
802で、コンピューティングシステムは、環境データを取得できる。環境データは、特定のユーザに関連付けられる環境内の複数のコンピューティングデバイスを記述することができる。環境データは、複数のコンピューティングデバイスの仕様情報を記述し得る。いくつかの実施態様では、複数のコンピューティングデバイスは、特定のネットワークとのデバイスの登録、特定のユーザデバイスとのデバイスの登録、特定のユーザプロファイルでのデバイスの登録、ユーザデバイスへの近接度に基づいて、及び/またはデバイスとユーザデバイスとの間の信号交換に基づいて決定され得る。ユーザデバイスは、スマートフォン、タブレット、スマートウォッチ、スマートグラス、及び/または他のコンピューティングデバイスであってもよい。
【0096】
804で、コンピューティングシステムは、複数のコンピューティングデバイスに関連付けられた複数のそれぞれの入力機能及び複数のそれぞれの出力機能を決定するために環境データを処理することができる。複数のそれぞれの入力機能は、複数のコンピューティングデバイスに関連付けられる候補の入力タイプに関連付けられ得る。いくつかの実施態様では、複数のそれぞれの出力機能は、複数のコンピューティングデバイスに関連付けられる候補の入力タイプに関連付けられ得る。複数の入力機能及び/または複数の出力機能は、複数のコンピューティングデバイスに関連付けられる仕様情報(及び/またはコンポーネント情報)に基づいて決定され得る。いくつかの実施態様では、複数の入力機能及び/または複数の出力機能は、機械学習済みモデルを用いて、1つまたは複数の検索に基づいて、ヒューリスティックに基づいて、及び/または1つまたは複数の他の決定技術に基づいて決定され得る。複数の入力機能は、入力タイプの取得及び/または生成に関連付けられる品質の範囲(例えば、マイクロフォンのデシベルの範囲、及び/またはカメラの解像度)と共に利用可能な入力のタイプを記述し得る。複数の出力機能は、利用可能な出力のタイプを、その出力タイプの出力を提供することに関連付けられる品質の範囲(例えば、オーディオの品質(例えば、ボリュームの範囲、周波数の範囲など))と共に記述し得る。
【0097】
806で、コンピューティングシステムは、複数のそれぞれの入力機能及び複数のそれぞれの出力機能に基づいて、複数のコンピューティングデバイス用の複数のそれぞれのインターフェースを生成することができる。複数のそれぞれのインターフェースは、複数のそれぞれの入力機能及び複数のそれぞれの出力機能に基づいて、複数のコンピューティングデバイスに基づいて、複数のコンピューティングデバイスに特化することができる。いくつかの実施態様では、複数のそれぞれのインターフェースは、特定のユーザに関連付けられる環境内の複数のコンピューティングデバイスを示す複数のデバイスインジケータを含むことができる。複数のコンピューティングデバイスは、入力を受信し、出力を提供するために通信可能に接続されるユーザ固有のデバイスエコシステムとして構成することができる。複数のそれぞれのインターフェースのそれぞれは、複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスについてのそれぞれの入力機能及びそれぞれの出力機能に基づいて、特定の入力タイプを受信し、特定の出力タイプを提供するように構成することができる。
【0098】
808で、コンピューティングシステムは、複数のコンピューティングデバイスに複数のそれぞれのインターフェースを提供することができる。複数のそれぞれのインターフェースは、インターフェースの生成に応答して、及び/またはユーザが特定のコンピューティングデバイスと対話することに応答して、複数のコンピューティングデバイスに送信され得る。複数のそれぞれのインターフェースは、サーバコンピューティングシステムによって格納されてもよく、使用時にコンピューティングデバイスに提供されてもよい。代替的に及び/または追加的に、それぞれのコンピューティングデバイスのためのそれぞれのインターフェースは、ローカルにダウンロードされてよく、オフライン状態及びオンライン状態の間に提供され得る。
【0099】
いくつかの実施態様では、コンピューティングシステムは、複数のコンピューティングデバイスの第1のコンピューティングデバイスの第1のインターフェースを介してユーザ入力を取得することができる。コンピューティングシステムは、複数の検索結果を決定するために検索エンジンでユーザ入力を処理して、モデル出力を生成するために生成モデルを用いて複数の検索結果処理して、複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスの第2のインターフェースを介して表示するためにモデル出力を提供することができる。
【0100】
ユーザはますます、オペレーティングシステム、アプリ、及び/またはプラットフォームを共有してもしなくてもよい複合的なデバイスを所有することが可能になる。基礎モデル(例えば、生成モデルを含み得る大規模な基礎モデル)は、ユーザが自分のデバイスとインタラクトする主要な技術として利用することができる。システムは、すべてのデバイスでの入力と出力の両方を統合した方法で規定できるこれらの基本的なモデルによって可能になる、幅広い新しい経験を提供できる。
【0101】
基本モデルを活用するマルチデバイスフレームワークは、複数の異なるコンパニオンタスクに利用することができ、複数の異なるコンパニオンタスクは出力の規定、インターフェース生成、入力取得の促進、及び/または他のタスクを含み得る。
【0102】
例えば、マルチデバイスフレームワークは、デバイスとサーフェスに依存する流動性の相互作用メカニズムを備えたアンビエントエージェントコンパニオンに利用することができる。ユーザは、アンビエントLLMコンパニオンが存在する中で、場合によっては解体したエコシステムを使用する可能性があるいくつかのデバイスを所有している場合がある。エージェント(例えば、マルチデバイスフレームワークを含むコンピューティングシステム)は、デバイスの詳細に基づいて入力/出力インタラクションモデルを適応させる基礎モデル(生成モデル及び/またはプロンプト生成モデルの基礎モデルなど)を含み得る。例えば、スピーカは、主要なインタラクションモデルとして音声のみのインターフェースを有してよく、タッチのないスクリーンを備えたデバイスは、ハイブリッドテキスト/音声インターフェースを有してよく、及び/または電話及び/またはスマートウェアラブル(例えば、スマートウォッチ、スマートジャケット、及び/またはスマートグラス)は、それらのフォームファクタに基づいてアドホックで生成されるユーザインターフェースを有してよい。
【0103】
インターフェースは、存在するサーフェスとブレンドするように生成され得る(例えば、ユーザインターフェースは、1つまたは複数のアプリ要素に最小化され得る(例えば、エージェントインターフェースは、特定のアプリインターフェース内のテキスト及び/またはアニメーションに変化させることができる)。生成されたインターフェースは、マルチデバイス/サーフェス認識要素を有することができ、これは、デバイスに対するユーザの近接度に基づいて、デバイスのうちアンビエントコンパニオンが能動的にリスニング及び/または監視しているものを強調できる。1つのデバイスにおけるコンパニオンとのインタラクションが、他のデバイスからのコンテキストを必要とする場合、及び/または他のデバイスにおいてアクションを実行する必要がある場合、ユーザインターフェースは、これらの他のデバイスが利用されている及び/または考慮されていることを強調するユーザインターフェース要素を含み得る。
【0104】
追加的及び/または代替的に、システム及び方法は、デバイスのフォームファクタ及び特性に関してアンビエントコンパニオンモデルの出力を規定し得る。例えば、スマートテレビ及びスマートホームデバイス(例えば、仮想アシスタントデバイス)を備えた環境のユーザは、クエリ(例えば、「オスカーの作曲賞にノミネートされた映画は何ですか」という類のクエリ)を出す入力(例えば、音声コマンドを介して)を提供し得る。LLM対応の検索エンジン/アシスタント/コンパニオンは、クエリへの追加の入力を取得することができ、追加の入力は、デバイスの詳細を記述し得る(例えば、環境を指定する入力は、それらの特定のパラメータと共に、スクリーン及びスピーカを含む)。より高品質のスマートスピーカが、LLMプロンプトの一部として提供され得る。プロンプトに基づいて、生成モデル(例えば、LLM)は、スマートスピーカをターゲットにする応答(例えば、「映画をリストアップし、その賞を獲得したサウンドトラックのサンプルをスピーカでプレイする」)を生成し得る。一方、同じクエリを発する他のユーザは、同じスマートテレビがあるが低品質のスピーカという環境にある場合があり、したがってスマートテレビを介して視覚表示の形式で応答を受信し得る(例えば、応答は、「その映画の予告編の一部をテレビで流します。その中の賞を獲得したサウンドトラックの一部を後で聞くことができます」ということを含む場合がある。)
【0105】
いくつかの実施態様では、システム及び方法は、近くのデバイスの可用性及びコンテキストを取得及び/または決定してから、ユーザのために実行されるアクションを変更するために活用され得る。例えば、ユーザが、アンビエントコンパニオンを備えた複数のモノのインターネット(IoT)デバイス、モバイルコンピューティングデバイス(例えば、スマートフォン、タブレット、スマートウォッチなど)、自動車、及び/またはラップトップを備えた環境にいる場合がある。次に、ユーザは、コンパニオンに(コンピューティングデバイスの入力センサを介して)近くのレクリエーションエリアへのドライブについて尋ねることができる。次に、アンビエントコンパニオンは、環境の全デバイスを考慮に入れることができる方法で、入力を取得する、及び/または決定することができる。入力の決定及び/または応答の提供は、複数のデバイスにわたってクエリに応答することを含み得る。例えば、コンパニオンは典型的な経路及び/または宛先を識別でき、1つまたは複数の特定のコンピューティングデバイスのマップアプリケーション内部で提供され得る特定の視覚化を生成し得る。車のエージェントのコンパニオン変形版は、ローカル推定を実行でき、目的地のうちの1つまたは複数に向かうには自動車を再充電することが必要であると決定する場合がある。メインのエージェントコンパニオンハンドリングが使用するマップアプリで、クエリを処理して、図示のルートでハイライト表示される関連する充電ステーションを出力し得る。
【0106】
いくつかの実施態様では、本明細書に開示されるシステム及び方法を利用して、コンピューティングデバイスの製造元及び/またはオペレーティングシステムに関係なく、相互接続され得る及び/または類似のスタイル、レイアウト、及び/またはセマンティクスを有し得る異なるコンピューティングデバイスに亘るインターフェースを、生成及び/または提供することができる。例えば、システム及び方法は、異なる製造元の異なるコンピューティングデバイス用にネイティブインターフェース及び/またはオペレーティングシステム間の差異を不明瞭にするインターフェースを生成する場合がある。
【0107】
システム及び方法は、流動性のクロスデバイスの表現を含むことができる。クロスデバイスの表現は、複合的なデバイス及びサーフェス(例えば、アプリ)上の入力/出力挙動を規定することができる基礎モデルの出力に基づいて提供され得る。クロスデバイスの表現は、(1)デバイスノードが直接報告するクラウドで実行される集中型の基礎モデル、(2)ハイブリッドモデルであって、集中型の基礎モデルが、デバイス固有のコンテキストを使用して推論を実行し、メインモデルでのより高いタスクの解決を調整することができる分散型のローカルな大きなモデルと機能する、ハイブリッドモデル、及び/または(3)分散アーキテクチャであって、個々のデバイスがコンパニオンのバージョンを有し、それらをすべて所有するユーザによって同じ物理空間または同じ論理ユニットにまとめられる分散アーキテクチャを介して実装され得る。モデルがインタラクトできるように、ある特定のレベルの推論が必要とされる場合がある(例えば>10B params)。
【0108】
ハイブリッド手法は、集中型及び/または分散型アーキテクチャに対する適合を含み得る複数の異なる構成を介して実装され得る。
【0109】
例えば、ユーザは、いくつかの登録された相互接続されたデバイスを有する場合がある。これらのデバイスの特性は、知られている場合、及び/または決定されている場合がある。相互運用性の程度は異なり得て、プラグに差し込まれるとデバイスを完全に制御できるAPIが含まれる場合がある。APIは、デバイスのスピーカがオーディオを出力するために利用し得る。APIは、オペレーティングシステムで直接要素をレンダリングするために(及び/またはアプリ内の複雑な機能などのために)利用され得る。
【0110】
APIは、ローカル基礎モデルが存在するかどうかに基づいて、さまざまな構成で公開され得る。基礎モデルが存在しない場合、生の機能が、アクセス可能ないくつかのドキュメントライブラリで記述されてもよく、及び/または代替的にローカルモデルが存在し、提供されている場合、自然言語インターフェースが利用可能であってもよい。デバイスはまた、他の外部システム(例えば、環境の温度を読み取る、窓のブラインドを操作する、及び/または特定のタスクを実行するために住宅中を自律的にナビゲートするために利用可能なセンサ)とインターフェースする機能を提供し得る。APIの例及び情報は、ユーザに代わって応答の生成及びタスクの解決を規定するために利用できる方法でアンビエントコンパニオンエージェントにパワーを供給する基本的なモデルに供給され得る。
【0111】
プロンプト生成は、デバイスのAPIの使用方法を理解するために処理する基礎モデルのゼロショットまたは数ショットのプロンプトを取得すること、及び/または生成することを含むことができる。十分でない場合、デバイスは、それらに関連付けられる小さいデータセットを有することができる(例えば、デバイスを動作する方法を理解するための基礎モデルのプロンプト調整及び/または重みに使用され得る約1000の例)。これらの例には、APIを使用したタスク->分解(decomposition)が含まれ得る。
【0112】
表面化されると、デバイスはネットワークを介して一緒に配置でき、ネットワークにおいて各デバイスはノードである。このネットワークのエッジは、永続的(例えば、常時オン)であってもよく、及び/またはある時点で2つのデバイスの関連性を定量化する何らかの重みが関連付けられていてもよい。例えば、2つのデバイスが互いに非常に近接している場合があり、2つのデバイス間の重みが、より小さい/より大きい数値を有することによってこの情報を定量化することができる。また、2つのデバイスが特定のコンテキストを共有し得る(例えば、それらが同じアプリを相互に動作させる、及び/または表示する場合(例えば、状態は、メッセージパッシングを介して動的にグラフの端で符号化することもできる))。
【0113】
利用可能なデバイスが、推論時にクエリ実行され得る。クエリ実行は、メタデータを有するリストとして供給され得る、及び/またはグラフネットワークを介して表され得て、グラフネットワークはまた、推論時にアンビエントコンパニオン基礎モデルに供給され得る。モデル推定の前に、基礎モデルは、デバイスネットワークトポロジ及び/または特徴と動作するように微調整されている場合がある。グラフネットワークは、基礎モデルが動作できるモダリティーであってよい。いくつかの実施態様では、ネットワークは、直接シリアル化することができ、プロンプトの一部として生成モデル(LLMなど)に渡され得る。不十分な場合、アンビエントコンパニオンに電力を供給する大規模な基礎モデルが、マルチデバイスグラフネットワークの例を使用して微調整され得る(例えば、1000以上の例でも、各々の例は、タスクをより良く解決する際に複合的なデバイスを使用する方法に関するいくつかのタスク->ステップバイステップ分解(step-by-step decomposition)を有する)。
【0114】
いくつかの実施態様では、システム及び方法は、例を含むLLM(または他の生成モデル)をプロンプトすることを含めることができる(例えば、「[デバイスコンテキスト][応答][メタデータ:この応答は、朝食時のスマートスピーカに適している]及び/または「[デバイスコンテキスト][応答][メタデータ:応答は、電話での各応答に対する3つのチェックボックスを含むUIをレンダリングすることにより視覚化される])。デバイス分解の例では、プロンプトは、「[デバイスコンテキスト][応答][メタデータ:この応答はスマートスピーカに渡されるべきであり、ユーザがスピーカの近くにいない可能性があるため、サマリーと共に小規模の通知を携帯電話に表示するべきである」を含み得る。次に、ユーザは自分のデバイスの1つと向かい合うことができ、アンビエントコンパニオンとインターフェースすることを決定することができる。
【0115】
入力は、フォームファクタの詳細に特に依拠する場合がある。例えば、ユーザが電話を引き出すときに、コンパニオンは音声のみの方法でアクティブ化し得る。電話がロックされているとき、またはユーザが電話のロックを解除するときに、コンパニオンは、キーボード入力を可能にするUIで自身をレンダリングし得る。デバイスの状態に依拠するモダリティーは、近くのデバイスとの関係におけるユーザのコンテキストに対して規定され得る。例えば、ユーザの時計が利用可能である場合、音声入力が代わりにそこでアクティブ化され得る。
【0116】
発行されたクエリは、すべてのデバイスの協力によって解決され得る。例えば、ユーザが「もう寝なきゃ。何時に起きないといけないのかしら」というタイプのことを言った場合、システムは、デバイスから利用可能なすべてのコンテキストを使用して、クエリ及び/またはコンテキストに基づいて行動するように、基礎モデルをトリガし得る。決定されたアクションに基づいて、応答は最初に、ワーク及び/またはカレンダーコンテキストにアクセスできるサーフェスを処理し、いくつかの実際の提案時間を設けてスピーカに応答し得る。
【0117】
処理が続行され得て、例えば、スマートホームにおいて、照明システムが、ユーザが就寝するという意図を決定することができ、そのローカル推論コンパニオンをアクティブ化させて、ユーザが定めた就寝ルーチンに照明をゆっくりと調節するように設定し得る。情報は、視覚的に伝達されて、ユーザの電話及び/または時計にUI要素としてレンダリングされ得て、決定について知るようにする。
【0118】
アンビエントLLMコンパニオンにプロアクティブなコンポーネントが存在する場合がある。例えば、デバイスの一部は、ユーザ入力が必要であるかどうかを決定するためにインタラクトされ得る。例えば、センサを有し、デバイスを自律的に動作できるコンパニオン対応デバイスは、ユーザのコンテキストに基づいて、入力が受信されるべきであること、及び/またはプロンプトが生成されるべきであることを決定し得る。
【0119】
いくつかの実施態様では、カーコンパニオンを内部で構築し得る。カーコンパニオンは、推定されたユーザの出発時刻の15分前にユーザが気温や雨量などを確認するように予定するようにプロンプト、構成、及び/またはトレーニングが行われ得て、プロンプト、構成、及び/またはトレーニングに応答して、カーコンパニオンはユーザにアクション(例えば、Xを乗せる)を実行するように通知する、及び/またはレインコートを忘れないように通知し得る。
【0120】
決定されたコンテキストは、アンビエントコンパニオンによって受信され得、コンテキストがユーザに伝達されるサーフェスは、そこで決定され得る。例えば、コンパニオンはスマートスピーカを使用することを決定する場合がある(例えば、音声通知、「雨が降っていても、駐車場まで歩く代わりに、車で迎えに来てもらうことができます」)。代替的に及び/または追加的に、システムは、デバイスの使用コンテキストに基づいて、ユーザの時計に同じ情報及び/またはアクションをレンダリングし得る。
【0121】
すべてのデバイスにわたって、ブランド要素を可能にし得る入力及び/または出力に関して統一した動作があることがある。統一した動作は、デバイス固有のプロンプトと利用可能ないくつかのショットの例を通じて可能であり得る。デバイスには、5つの音声サンプルに対して10秒間のオーディオが付属し得る。デバイスはまた、その特定のデバイスでアシスタントがどのようにレンダリングされ得るかに関して5つのUIの例が備えられることがある。アンビエント基礎モデルは、それらの例に関する応答を生成し、その製造メーカからの、ユーザがよく知っている可能性のあるインターフェースの均一な出力を生成するように規定することができる。
【0122】
ハイブリッドフレームワークアプローチは、ある程度の自律性を有するが、一般的には集中型コンパニオンを介して相互に動作し得るデバイスを含み得る。変形例では、デバイスがローカル基礎モデルを実行する機能を有さず、決定の全体が集中型コンパニオンによって行われ得る場合が含まれてよい。変形版のアプローチは、情報の継続的なストリーミングを含み得る。他の変形版は、デバイスが完全な自律性を有し、中央のコンパニオンが存在しない場合を含み得る。中央のコンパニオンがいないアプローチでは、ネットワークのバックボーンがより重要になる場合があり、より単純な信号に基づいて、所与のクエリを解決するために、特定の時間にどのデバイスが相互接続されるかをガイドすることができる。
【0123】
本明細書に開示されるシステム及び方法は、生成人工知能モデルを使用してフラグメントシステムを接続し、単一のサービスレベルコンパニオンを提供することによって、ユーザに新しい価値あるものを明らかにさせることができる。
【0124】
会話インターフェース(チャットロボット)の機能は、単一のデバイス及び/またはアプリケーションに関連付けられたQ&Aを超えるよう拡張することができる。例えば、ユーザがショッピングブログを見ていて、「この記事/ビデオが推奨する製品のレビューを見せて」と言う場合がある。システムは、ショッピング・グラフでレビューを取得して、比較しやすくするためにレビューを要約するのに、製品が何であるかを理解する必要がある場合がある。他の例では、ユーザがレシピを見ていて、「材料をショッピングアプリのカートに追加して」と言う場合がある。次に、システムは、成分を抽出し、ショッピングアプリAPIをコールする必要がある場合がある。他の例では、ユーザが旅行のビデオログを見て、「この記事/ビデオで言っていた場所をマップに示して」と言うことがある。システムは、言及された場所の理解を必要とし、アドレスを抽出し、カスタムマップアプリにピンを作成するためにAPIをコールする必要があり得る。他の例では、ドキュメントアプリを視聴している間に、ユーザは、「南北戦争に焦点を当て、5年生でも理解できるように、自身の困難を説明するリンカーンに関する1000語のエッセイを書いて」と頼むことにより、エイブラハム・リンカーンについてのエッセイを書いている場合がある。したがって、システムは、リンカーンの重要な事実、リンカーンの著作のリスト、それらの著作の内容、歴史学の論文を理解すること、及びその全情報を要約することを必要とし得る。他の例では、マップアプリを視聴している間、ユーザはズームレベルでマップを見て、「この周辺でやるべきことについてのビデオを見せて」と言う場合がある。システムは、その位置で行うべき重要なこと、ビデオで言及された場所、及び適切なビデオ(複数可)を取得することの理解を必要とする場合がある。他の例では、電話でコンテンツを視聴している間、ユーザは、トレイルハイキングのアプリの画面を表示しており、「登山口の近くのレストランを見せて」と言う場合がある。したがって、システムは、視聴されている画面の登山口の位置を理解する必要があり得、その位置の近くにあるレストランのために地元の結果を取得し得る。
【0125】
基礎となる依存は、これらの製品のチャットロボットが、それらがどのように統合されるかに関係なく、推論、根拠付け、取得、関数のコール、ユーザの状態、個人的好みなどの共通の要素に依存する場合があり、これらの多くは検索及び/またはナレッジグラフサービスに由来する。
【0126】
本明細書に開示されるシステム及び方法は、チャットロボットラージ言語モデル(LLM)、検索理解ラージ言語モデル及び検索エンジン、クラウドサービスラージ言語モデル、並びに/または1つまたは複数の他のモデル対応システムを利用することができる。チャットロボットラージ言語モデル(LLM)のアーキテクチャと、検索理解ラージ言語モデルと、検索エンジンとに対するアーキテクチャは同一であるように見えることがあるが、それらは、異なるRLHF(人間のフィードバックからの強化学習)トレーニング、異なる計画アルゴリズム、異なる第三者のプラグインのセット、バックエンドを検索するための異なるインターフェース、及び/またはその他の違いなど、各ブロックでの違いによって、独立して実装され得る。異なるパイプライン及び/またはシステムは、推定、理解、及び/またはコンテキスト決定のために情報を交換し得る。
【0127】
別個のアーキテクチャは、製品が独立的かつ反復的に開発されることを可能にし得る。しかしながら、最適なプロセスを遵守することにより、個々の製品の成功が確保され得るが、全体的なサービス指向のアプローチを採用できないことにより、最終的に製品間が断絶される可能性がある。
【0128】
図5は、実装できるチャットロボット機能の層ケーキを構築する例示的なアーキテクチャと、サービスがインスタンス化される製品に関連し得る適切なコンテキスト及びパーソナリティを付与するチャットロボットサービスのインスタンス化とのセットを示す。
【0129】
例えば、対応可能なLLMで構築され、命令追従などの一般的なタスク用に微調整され、バックエンドを検索するアクセスを有し、1p/3p APIにアクセスし、関数をコールする機能などを有する一般的なチャットロボットサービスが存在し得る。入力を取得する、及び/またはコンテキストを決定するために活用できるいくつかのサービスの例としては、検索プラットフォーム(例えば、ユーザ検索履歴にアクセスして簡潔な事実データを取得する)、ドキュメントアプリケーション(例えば、ドキュメントファイル、電子メール、表示されている現在の電子メール/ファイル、お気に入りなどにアクセスしながら、冗長及び独創的なデータを取得する)、及び/またはブラウザアプリケーション(例えば、現在のタブ、他のタブ、ブックマーク、履歴などにアクセスしながら、簡潔で事実に基づいたデータを入手する)を挙げることができる。
【0130】
いくつかの実施態様では、システム及び方法は、ユースケースに固有の例及びコンテンツを使用して、異なる製品に対して基礎となるモデルを異なるように微調整することを含むことができる。
【0131】
本明細書で開示されるシステム及び方法は、コンパニオンモデル(例えば、プロンプト生成モデル及び/または生成モデルを含み得る基礎モデル)を含むことができる。
【0132】
他のあらゆるユーザアクティビティとは別に、AI及びLLM機能をユーザインターフェース(UI)内のスタンドアロンエンティティとして統合することによって、システム及び方法は、ユーザがそれらを必要とするときいつでも即時にアクセスするため永続的に利用可能であることを確実にし得る。この統合により、AI及びLLMは、オープンなままで、ユーザの動作が様々なアプリケーション及びタスク間で遷移するときに、ユーザの動作とシームレスに接続されることが可能になる。
【0133】
この構成は、現在使用しているアプリから離れることなく、情報にすばやくアクセスする、またはタスクを実行することを望むユーザにとって役立ち得る。さらに、永続的なシステムは、他の製品と共にコンパニオンを使用したいと思うユーザにとって有用であり得る。例えば、ユーザが、ナビゲートのためマップアプリケーションも使用しながら、コンパニオンを使用してトピックに関する情報を検索する場合がある。
【0134】
システム及び方法は、2つの追加の利点を提供し得る。第1に、システムは、適合性のない可能性のあるアーキテクチャによる既存のソリューションを構築する必要性を取り除き、それによって潜在的な統合の困難を回避することができる。第2に、ユーザがすでに慣れている既存のソリューションを変更しないことで、最適ではない可能性がある大幅な変更を導入することによって引き起こされる混乱を最小限に抑えることができる。
【0135】
ユーザが店舗で製品を見ている場合、ユーザはLLMを使用して製品に関する情報(例えば、価格、レビュー、及び仕様)を取得することができる。ユーザはまた、カメラを使用して製品の写真を撮影し、次にLLMを使用して類似の製品をオンラインで検索することもできる。多面的なシステムによって、ユーザは、店舗を出る必要なく、製品についてユーザが知る必要のあるすべての情報を取得することができ得る。
【0136】
他の例は、ユーザが美術館で絵画を鑑賞する場合、ユーザはLLMを使用して、アーティスト、絵画、及び絵画の歴史に関する情報を取得できるというものであり得る。ユーザはまた、カメラを使って絵画の写真を撮り、次いでLLMを使って同じアーティストによる他の絵画、または似たテーマの絵画を検索することができる。このシステムによって、ユーザは、美術館が提供する情報に依存することなく、見ている芸術作品についてより多くのことを学ぶことができるようになる。
【0137】
いくつかの実施態様では、ユーザは製品を探していることがあるが、探しているものを見つけることができない場合がある。次に、ユーザは、携帯電話を開いて、探している製品を記述することができ、携帯電話は製品を検索して見つける。
【0138】
システム及び方法は、ユーザが自分の他のデバイスをコンパニオンとして接続することを可能にすることによって、アンビエントエコシステムを活用することができる。この接続により、ユーザはデバイス全体でよりシームレスで統合された体験をすることが可能となり得る。例えば、ユーザは、携帯電話でタスクを開始してから、いずれかの情報を再入力する必要なく、ラップトップでタスクを続行することができる。アンビエントエコシステムは、ユーザに対してより個別化された便利な体験を生み出すことができる。
【0139】
図9Aは、本開示の例示的な実施形態による、マルチデバイス出力管理を実行する例示的なコンピューティングシステム100のブロック図を表す。システム100は、ネットワーク180を介して通信可能に結合されたユーザコンピューティングシステム102、サーバコンピューティングシステム130、及び/または第3のコンピューティングシステム150を含む。
【0140】
ユーザコンピューティングシステム102は、例えば、パーソナルコンピューティングデバイス(例えば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(例えば、スマートフォンもしくはタブレット)、ゲームコンソールもしくはコントローラ、ウェアラブルコンピューティングデバイス、埋め込みコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、任意のタイプのコンピューティングデバイスを含むことができる。
【0141】
ユーザコンピューティングシステム102は、1つまたは複数のプロセッサ112と、メモリ114と、を含む。1つまたは複数のプロセッサ112は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)である場合があり、また、1つのプロセッサ、または動作可能に接続された複数のプロセッサである場合がある。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ114は、データ116と、ユーザコンピューティングシステム102に動作を実行させるためのプロセッサ112によって実行される命令118とを格納することができる。
【0142】
いくつかの実施態様では、ユーザコンピューティングシステム102は、1つまたは複数の機械学習済みモデル120を格納する、または含むことができる。例えば、機械学習済みモデル120は、ニューラルネットワーク(例えば、ディープニューラルネットワーク)などの様々な機械学習済みモデル、または非線形モデル及び/または線形モデルを含む他のタイプの機械学習済みモデルであることができ、またはそうでなければ、それらを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(例えば、長期短期記憶回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形式のニューラルネットワークを含むことができる。
【0143】
いくつかの実施態様では、1つまたは複数の機械学習済みモデル120は、ネットワーク180を通じてサーバコンピューティングシステム130から受信され得、ユーザコンピューティングデバイスメモリ114に格納され得、次に、1つまたは複数のプロセッサ112によって使用され得、またはそうでなければ、実装され得る。いくつかの実施態様では、ユーザコンピューティングシステム102は、(例えば、入力データ及び/または検出された特徴の複合的なインスタンスにわたって並列機械学習済みモデル処理を行うために)単一の機械学習済みモデル120の複合的な並列インスタンスを実装できる。
【0144】
より具体的には、1つまたは複数の機械学習済みモデル120は、1つまたは複数の検出モデル、1つまたは複数の分類モデル、1つまたは複数のセグメンテーションモデル、1つまたは複数の拡張モデル、1つまたは複数の生成モデル、1つまたは複数の自然言語処理モデル、1つまたは複数の光学特性認識モデル、及び/または1つまたは複数のその他の機械学習済みモデルを含み得る。1つまたは複数の機械学習済みモデル120は、1つまたは複数のトランスフォーマモデルを含むことができる。1つまたは複数の機械学習済みモデル120には、1つまたは複数のニューラルラディアンスフィールドモデル、1つまたは複数の拡散モデル、及び/または1つまたは複数の自己回帰言語モデルが含まれ得る。
【0145】
1つまたは複数の機械学習済みモデル120を利用して、1つまたは複数のオブジェクト特徴を検出することができる。検出されたオブジェクトの特徴は、分類及び/または埋め込まれていてもよい。次に、分類及び/または埋め込みを利用して検索を実行し、1つまたは複数の検索結果を決定し得る。代替的に及び/または追加的に、1つまたは複数の検出された特徴を利用して、特徴が検出されたことを示すためにインジケータ(例えば、検出された特徴を示すユーザインターフェース要素)が提供されるべきかを決定し得る。次に、ユーザはインジケータを選択して、特徴の分類、埋め込み、及び/または検索を実行させてよい。いくつかの実施態様では、インジケータが選択される前に、分類、埋め込み、及び/または検索が実行され得る。
【0146】
いくつかの実施態様では、1つまたは複数の機械学習済みモデル120は、画像データ、テキストデータ、オーディオデータ、及び/または潜在的符号化データを処理して、画像データ、テキストデータ、オーディオデータ、及び/または潜在的符号化データを含み得る出力データを生成することができる。1つまたは複数の機械学習済みモデル120は、光学文字認識、自然言語処理、画像分類、オブジェクト分類、テキスト分類、オーディオ分類、コンテキスト決定、アクションの予測、画像修正、画像拡張、テキスト拡張、感情分析、オブジェクト検出、エラー検出、インペインティング、ビデオ安定化、オーディオ訂正、オーディオ拡張、及び/またはデータセグメンテーション(例えば、マスクベースのセグメンテーション)を実行し得る。
【0147】
追加的または代替的に、1つまたは複数の機械学習済みモデル140は、クライアントサーバ関係に従ってユーザコンピューティングシステム102と通信するサーバコンピューティングシステム130に含まれる、またはさもなければ格納されてこのシステムによって実装され得る。例えば、機械学習済みモデル140は、ウェブサービス(例えばビューファインダサービス、視覚検索サービス、画像処理サービス、アンビエントコンピューティングサービス、及び/またはオーバーレイアプリケーションサービス)の一部として、サーバコンピューティングシステム130によって実装され得る。よって、1つまたは複数のモデル120は、ユーザコンピューティングシステム102において格納及び実装され得、及び/または、1つまたは複数のモデル140は、サーバコンピューティングシステム130において格納及び実装され得る。
【0148】
ユーザコンピューティングシステム102はまた、ユーザ入力を受信する1つまたは複数のユーザ入力コンポーネント122を含むことができる。例えば、ユーザ入力コンポーネント122は、ユーザ入力オブジェクト(例えば、指またはスタイラス)のタッチに感応するタッチ感応コンポーネント(例えば、タッチ感応表示画面またはタッチパッド)であり得る。タッチセンサ式コンポーネントは、仮想キーボードを実装するように機能することができる。他の例示的なユーザ入力コンポーネントは、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供できる他の手段を含む。
【0149】
いくつかの実施態様では、ユーザコンピューティングシステムは、1つまたは複数のアプリケーションに関連付けられてよい1つまたは複数のユーザインターフェース124を格納及び/または提供することができる。1つまたは複数のユーザインターフェース124は、入力を受信する、及び/または表示のためのデータ(例えば、画像データ、テキストデータ、オーディオデータ、1つまたは複数のユーザインターフェース要素、拡張現実体験、仮想現実体験、及び/または表示のための他のデータ)を提供するよう構成され得る。ユーザインターフェース124は、1つまたは複数の他のコンピューティングシステム(例えば、サーバコンピューティングシステム130及び/またはサードパーティコンピューティングシステム150)に関連付けられてよい。ユーザインターフェース124は、ビューファインダインターフェース、検索インターフェース、生成モデルインターフェース、ソーシャルメディアインターフェース、及び/またはメディアコンテンツギャラリインターフェースを含むことができる。
【0150】
ユーザコンピューティングシステム102は、1つまたは複数のセンサ126を含んでもよく、及び/またはそれからデータを受信し得る。1つまたは複数のセンサ126は、1つまたは複数のプロセッサ112、メモリ114、及び/または1つまたは複数のハードウェアコンポーネントを収容する収容コンポーネントに収容されてもよく、ハードウェアコンポーネントは、1つまたは複数のソフトウェアパケットを格納してもよく、及び/または実行させてもよい。1つまたは複数のセンサ126は、1つまたは複数の画像センサ(例えば、カメラ)、1つまたは複数のライダーセンサ、1つまたは複数のオーディオセンサ(例えば、マイクロフォン)、1つまたは複数の慣性センサ(例えば、慣性測定ユニット)、1つまたは複数の生物学的センサ(例えば、心拍センサ、パルスセンサ、網膜センサ、及び/またはフィンガープリントセンサ)、1つまたは複数の赤外線センサ、1つまたは複数の位置センサ(例えば、GPS)、1つまたは複数のタッチセンサ(例えば、導電性タッチセンサ及び/または機械的タッチセンサ)、及び/または1つまたは複数の他のセンサを含むことができる。1つまたは複数のセンサを利用して、ユーザの環境に関連付けられるデータ(例えば、ユーザの環境の画像、環境の記録、及び/またはユーザの位置)を取得することができる。
【0151】
ユーザコンピューティングシステム102は、ユーザコンピューティングデバイス104を含んでもよく、及び/またはその一部であってもよい。ユーザコンピューティングデバイス104は、モバイルコンピューティングデバイス(例えば、スマートフォンまたはタブレット)、デスクトップコンピュータ、ラップトップコンピュータ、スマートウェアラブル、及び/またはスマートアプライアンスを含み得る。追加的及び/または代替的に、ユーザコンピューティングシステムは、1つまたは複数のユーザコンピューティングデバイス104からデータを取得してもよく、及び/またはそれらを用いてデータを生成し得る。例えば、スマートフォンのカメラを利用して、環境を記述する画像データをキャプチャしてもよく、及び/またはユーザコンピューティングデバイス104のオーバーレイアプリケーションを利用して、ユーザに提供されているデータを追跡及び/または処理し得る。同様に、スマートウェアラブルに関連付けられた1つまたは複数のセンサを利用して、ユーザに関するデータ及び/またはユーザの環境に関するデータを取得し得る(例えば、画像データは、ユーザのスマートグラスに収容されたカメラによって取得することができる)。追加的及び/または代替的に、データは、データの取得または生成に特化され得る他のユーザデバイスから取得及びアップロードされ得る。
【0152】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132と、メモリ134とを含む。1つまたは複数のプロセッサ132は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)である場合があり、また、1つのプロセッサ、または動作可能に接続された複数のプロセッサである場合がある。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実行させるためのプロセッサ132によって実行される命令138とを格納できる。
【0153】
いくつかの実施態様では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければそれらによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む場合、そのようなサーバコンピューティングデバイスは、シーケンシャルコンピューティングアーキテクチャ、パラレルコンピューティングアーキテクチャ、またはそれらの何らかの組み合わせに従って動作できる。
【0154】
上記のように、サーバコンピューティングシステム130は、1つまたは複数の機械学習済みモデル140を格納する、またはさもなければ含むことができる。例えば、モデル140は、様々な機械学習済みモデルであるか、またはそれ以外の場合、様々な機械学習済みモデルを含むことができる。例示的な機械学習済みモデルは、ニューラルネットワークまたはその他の多層非線形モデルを含む。例示的なニューラルネットワークは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、再帰型ニューラルネットワーク、及び畳み込みニューラルネットワークを含む。例示的なモデル140は、図9Bを参照して説明される。
【0155】
追加的及び/または代替的に、サーバコンピューティングシステム130は、1つまたは複数のデータベース(及び/またはリソース)をクロールするために利用され得る検索エンジン142を含むこと、及び/または通信可能に接続されることがある。検索エンジン142は、ユーザコンピューティングシステム102、サーバコンピューティングシステム130、及び/またはサードパーティコンピューティングシステム150からのデータを処理して、入力データに関連付けられる1つまたは複数の検索結果を決定することができる。検索エンジン142は、用語ベースの検索、ラベルベースの検索、ブールベースの検索、画像検索、埋め込みベースの検索(例えば、最近傍検索)、マルチモーダル検索、及び/または1つまたは複数の他の検索手法を実行し得る。
【0156】
サーバコンピューティングシステム130は、入力データを取得するため、及び/または1人以上のユーザに出力データを提供するための1つまたは複数のユーザインターフェース144を格納及び/または提供し得る。1つまたは複数のユーザインターフェース144は、1つまたは複数のユーザインターフェース要素を含むことができ、それらは、入力フィールド、ナビゲーションツール、コンテンツチップ、選択可能なタイル、ウィジェット、データ表示カルーセル、動的アニメーション、情報ポップアップ、画像拡張、テキストツースピーチ、スピーチツーテキスト、拡張現実、仮想現実、フィードバックループ、及び/または他のインターフェース要素を含むことができる。
【0157】
ユーザコンピューティングシステム102及び/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されたサードパーティコンピューティングシステム150とのインタラクションを介して、モデル120及び/または140をトレーニングできる。サードパーティコンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってもよく、またはサーバコンピューティングシステム130の一部であってもよい。代替的及び/または追加的に、サードパーティコンピューティングシステム150は、1つまたは複数のウェブリソース、1つまたは複数のウェブプラットフォーム、1人または複数の他のユーザ、及び/または1つまたは複数のコンテキストに関連付けられてよい。
【0158】
サードパーティコンピューティングシステム150は、1つまたは複数のプロセッサ152と、メモリ154とを含み得る。1つまたは複数のプロセッサ152は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)である場合があり、また、1つのプロセッサ、または動作可能に接続された複数のプロセッサである場合がある。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ154は、データ156と、サードパーティコンピューティングシステム150に動作を実行させるためのプロセッサ152によって実行される命令158とを格納できる。いくつかの実施態様では、サードパーティコンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、または他の方法でそれらによって実装される。
【0159】
ネットワーク180は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、またはそれらの何らかの組み合わせなどの、いずれかのタイプの通信ネットワークであり得、いずれかの数の有線リンクまたは無線リンクを含むことができる。概して、ネットワーク180を介した通信は、多種多様な通信プロトコル(例えば、TCP/IP、HTTP、SMTP、FTP)、符号化またはフォーマット(例えば、HTML、XML)、及び/または保護スキーム(例えば、VPN、セキュアHTTP、SSL)を用いて、任意のタイプの有線接続及び/または無線接続を介して行うことができる。
【0160】
本明細書で説明する機械学習済みモデルは、様々なタスク、用途、及び/またはユースケースで使用され得る。
【0161】
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、画像データである場合がある。機械学習済みモデル(複数可)は、出力を生成するために、画像データを処理することができる。例として、機械学習済みモデル(複数可)は、画像データを処理して、画像認識出力(例えば、画像データの認識、画像データの潜在的埋め込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像分類出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像データ変更出力(例えば、画像データの変更など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、符号化された画像データ出力(例えば、画像データの符号化及び/または圧縮された表現など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、アップスケールされた画像データ出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、予測出力を生成するために、画像データを処理することができる。
【0162】
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、テキストまたは自然言語データである場合がある。機械学習済みモデル(複数可)は、出力を生成するために、テキストまたは自然言語データを処理することができる。他の例として、機械学習済みモデル(複数可)は、自然言語データを処理して、言語符号化出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、潜在テキスト埋め込み出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して翻訳出力を生成できる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、分類出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理してテキストセグメンテーション出力を生成できる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理してセマンティックインテント出力を生成できる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、アップスケーリングされたテキストまたは自然言語出力(例えば、入力テキストまたは自然言語よりも高品質のテキストまたは自然言語データなど)を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して予測出力を生成できる。
【0163】
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、音声データであることができる。機械学習済みモデル(複数可)は、出力を生成するために、音声データを処理することができる。一例として、機械学習済みモデル(複数可)は、音声データを処理して音声認識出力を生成できる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、音声翻訳出力を生成することができる。他の例として、機械学習済みモデル(複数可)は音声データを処理して潜在埋め込み出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、符号化された音声出力(例えば、音声データの符号化された及び/または圧縮された表現など)を生成するために、音声データを処理することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、アップスケーリングされた音声出力(例えば、入力音声データよりも高品質の音声データなど)を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、テキスト表現出力(例えば、入力音声データのテキスト表現など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、予測出力を生成することができる。
【0164】
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、センサデータである場合がある。機械学習済みモデル(複数可)は、出力を生成するために、センサデータを処理することができる。例として、機械学習済みモデル(複数可)は、センサデータを処理して認識出力を生成できる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して予測出力を生成できる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して分類出力を生成できる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して、セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して、セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して視覚化出力を生成できる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して診断出力を生成できる。他の例として、機械学習済みモデル(複数可)は、センサデータを処理して検出出力を生成できる。
【0165】
いくつかの場合、入力はビジュアルデータを含み、タスクはコンピュータビジョンタスクである。いくつかの場合、入力は1つまたは複数の画像のピクセルデータを含み、タスクは画像処理のタスクである。例えば、画像処理タスクは、画像分類であり得、出力は、スコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、1つまたは複数の画像がそのオブジェクトクラスに属するオブジェクトを描出する可能性を表す。画像処理タスクは、オブジェクト検出であってよく、画像処理出力は、1つまたは複数の画像の1つまたは複数の領域と、各領域について、その領域が関心のあるオブジェクトを描出する尤度とを識別する。他の例として、画像処理タスクは画像セグメンテーションであり得、画像処理出力は、1つまたは複数の画像の各ピクセルについて、所定のカテゴリのセットの各カテゴリのそれぞれの尤度を定める。例えば、カテゴリのセットは、フォアグラウンド及びバックグラウンドである場合がある。他の例として、カテゴリのセットは、オブジェクトクラスであることができる。他の例として、画像処理タスクは、深度の推定であり得、画像処理出力は、1つまたは複数の画像のピクセルごとに、それぞれの深度の値を定める。他の例として、画像処理タスクは、運動の推定であることができ、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの各ピクセルに、ネットワーク入力の中の画像の間のピクセルに描写されるシーンの運動を定める。
【0166】
ユーザコンピューティングシステムは、いくつかのアプリケーション(例えば、アプリケーション1~N)を含み得る。各アプリケーションは、独自のそれぞれの機械学習ライブラリと、機械学習済みモデル(複数可)とを含み得る。例えば、各々のアプリケーションは、機械学習済みモデルを含むことができる。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0167】
各々のアプリケーションは、例えば1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、及び/または追加のコンポーネントなど、コンピューティングデバイスのいくつかの他のコンポーネントと通信することができる。いくつかの実施態様では、各アプリケーションは、API(例えば、公開API)を使用して各デバイスコンポーネントと通信できる。いくつかの実施態様では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
【0168】
ユーザコンピューティングシステム102は、いくつかのアプリケーション(例えば、アプリケーション1~N)を含み得る。各々のアプリケーションは、中央インテリジェンス層と通信する。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実施態様では、各々のアプリケーションは、API(例えば、すべてのアプリケーションにわたる共通API)を使用して中央インテリジェンス層(及びその中に格納されたモデル(複数可))と通信することができる。
【0169】
中央インテリジェンス層は、いくつかの機械学習済みモデルを含むことができる。例えば、それぞれの機械学習済みモデル(例えば、モデル)は、アプリケーションごとに提供することができ、中央インテリジェンス層によって管理できる。他の実施態様では、2つ以上のアプリケーションは、単一の機械学習済みモデルを共有することができる。例えば、いくつかの実施態様では、中央インテリジェンス層は、アプリケーションのすべてに対して単一のモデル(例えば、単一のモデル)を提供できる。いくつかの実施態様では、中央インテリジェンス層は、コンピューティングシステム100のオペレーティングシステム内に含まれるか、またはそれ以外の場合、コンピューティングシステム100のオペレーティングシステムによって実装される。
【0170】
中央インテリジェンス層は、中央デバイスデータ層と通信することができる。中央デバイスデータ層は、コンピューティングシステム100のデータの集中型リポジトリであり得る。中央デバイスデータ層は、例えば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、及び/または追加コンポーネントなど、コンピューティングデバイスの他のいくつかのコンポーネントと通信できる。いくつかの実施態様では、中央デバイスデータ層は、API(例えば、プライベートAPI)を使用して各デバイスコンポーネントと通信することができる。
【0171】
図9Bは、本開示の例示的な実施形態による、マルチデバイス出力管理を実行する例示的なコンピューティングシステム50のブロック図を表す。詳細には、例示的なコンピューティングシステム50は、センサ処理システム60及び/または出力決定システム80によって処理され得る1つまたは複数のデータセットを取得及び/または生成して、1つまたは複数の取得されたデータセットの特徴に関する情報を提供し得るユーザへフィードバックするために利用できる1つまたは複数のコンピューティングデバイス52を含み得る。1つまたは複数のデータセットは、画像データ、テキストデータ、オーディオデータ、マルチモーダルデータ、潜在的符号化データなどを含むことができる。1つまたは複数のデータセットは、1つまたは複数のコンピューティングデバイス52(例えば、コンピューティングデバイス52の1つまたは複数のセンサ)に関連付けられた1つまたは複数のセンサを介して取得され得る。追加的及び/または代替的に、1つまたは複数のデータセットは、格納データ及び/または取得データ(例えば、ウェブリソースから取得されたデータ)であり得る。例えば、画像、テキスト、及び/または他のコンテンツアイテムが、ユーザによってインタラクトされ得る。次に、コンテンツアイテムとインタラクトされたコンテンツを利用して、1つまたは複数の決定を生成することができる。
【0172】
1つまたは複数のコンピューティングデバイス52は、画像キャプチャ、センサ追跡、データストレージの検索、コンテンツのダウンロード(例えば、ウェブリソースからインターネットを介して画像または他のコンテンツアイテムをダウンロードすること)に基づいて、及び/または1つまたは複数の他の技術を介して、1つまたは複数のデータセットを取得及び/または生成することができる。1つまたは複数のデータセットは、センサ処理システム60で処理できる。センサ処理システム60は、1つまたは複数の機械学習済みモデル、1つまたは複数の検索エンジン、及び/または1つまたは複数の他の処理技術を用いて、1つまたは複数の処理技術を実行し得る。1つまたは複数の処理技術は、任意の組み合わせで及び/または個別に実行できる。1つまたは複数の処理技術は、連続して及び/または並行して実行できる。特に、1つまたは複数のデータセットは、コンテキスト決定ブロック62で処理することができ、コンテキスト決定ブロック62は、1つまたは複数のコンテンツアイテムに関連付けられるコンテキストを決定することができる。コンテキスト決定ブロック62は、ユーザに関連付けられる特定のコンテキストを決定するために、メタデータ、ユーザプロファイルデータ(例えば、好み、ユーザ検索履歴、ユーザ閲覧履歴、ユーザの購入履歴、及び/またはユーザ入力データ)、以前のインタラクションデータ、グローバル傾向データ、位置データ、時間データ、及び/または他のデータを識別及び/または処理し得る。コンテキストは、イベント、決定された傾向、特定のアクション、特定のタイプのデータ、特定の環境、及び/またはユーザ及び/または検索されたもしくは取得されたデータに関連付けられる他のコンテキストに関連付けられ得る。
【0173】
センサ処理システム60は、画像前処理ブロック64を含み得る。画像前処理ブロック64を利用して、取得された画像及び/または受信した画像の1つまたは複数の値を調整して、1つまたは複数の機械学習済みモデル及び/または1つまたは複数の検索エンジン74によって処理される画像を作成し得る。画像前処理ブロック64は、画像をリサイズし、彩度の値を調整し、解像度を調整し、メタデータを除去し及び/または追加し、並びに/あるいは1つまたは複数の他の動作を実行し得る。
【0174】
いくつかの実施態様では、センサ処理システム60は、検出モデル66、セグメンテーションモデル68、分類モデル70、埋め込みモデル72、及び/または1つまたは複数の他の機械学習済みモデルを含み得る1つまたは複数の機械学習済みモデルを含むことができる。例えば、センサ処理システム60は、処理されたデータセットの特定の特徴を検出するために利用できる1つまたは複数の検出モデル66を含み得る。詳細には、1つまたは複数の画像を1つまたは複数の検出モデル66で処理して、1つまたは複数の画像で検出された特徴に関連付けられる1つまたは複数の境界ボックスを生成することができる。
【0175】
追加的及び/または代替的に、1つまたは複数のセグメンテーションモデル68を利用して、データセットの1つまたは複数の部分を1つまたは複数のデータセットからセグメンテーションすることができる。例えば、1つまたは複数のセグメンテーションモデル68は、1つまたは複数のセグメンテーションマスク(例えば、手動で生成された及び/または1つまたは複数の境界ボックスに基づいて生成された1つまたは複数のセグメンテーションマスク)を利用して、画像の一部、オーディオファイルの一部、及び/またはテキストの一部をセグメンテーションすることができる。セグメンテーションは、1つまたは複数の検出されたオブジェクトを分離すること、及び/または1つまたは複数の検出されたオブジェクトを画像から除去することを含み得る。
【0176】
1つまたは複数の分類モデル70を利用して、画像データ、テキストデータ、オーディオデータ、潜在的符号化データ、マルチモーダルデータ、及び/または他のデータを処理して、1つまたは複数の分類を生成することができる。1つまたは複数の分類モデル70は、1つまたは複数の画像分類モデル、1つまたは複数のオブジェクト分類モデル、1つまたは複数のテキスト分類モデル、1つまたは複数のオーディオ分類モデル、及び/または1つまたは複数の他の分類モデルを含むことができる。1つまたは複数の分類モデル70は、データを処理して、1つまたは複数の分類を決定することができる。
【0177】
いくつかの実施態様では、データは、1つまたは複数の埋め込みモデル72で処理されて、1つまたは複数の埋め込みを生成することができる。例えば、1つまたは複数の画像を1つまたは複数の埋め込みモデル72で処理して、埋め込み空間における1つまたは複数の画像の埋め込みを生成することができる。1つまたは複数の画像の埋め込みは、1つまたは複数の画像の1つまたは複数の画像特徴に関連付けられ得る。いくつかの実施態様では、1つまたは複数の埋め込みモデル72は、マルチモーダル埋め込みを生成するためにマルチモーダルデータを処理するように構成されてもよい。1つまたは複数の埋め込みは、分類、検索、及び/または埋め込み空間分布の学習に利用することができる。
【0178】
センサ処理システム60は、1つまたは複数の検索を実行するために利用できる1つまたは複数の検索エンジン74を含み得る。1つまたは複数の検索エンジン74は、1つまたは複数のデータベース(例えば、1つまたは複数のローカルデータベース、1つまたは複数のグローバルデータベース、1つまたは複数のプライベートデータベース、1つまたは複数の公開データベース、1つまたは複数の専用データベース、及び/または1つまたは複数の一般的なデータベース)をクロールして、1つまたは複数の検索結果を決定し得る。1つまたは複数の検索エンジン74は、特徴マッチング、テキストベース検索、埋め込みベース検索(例えば、k最近傍検索)、メタデータベース検索、マルチモーダル検索、ウェブリソース検索、画像検索、テキスト検索、及び/またはアプリケーション検索を実行し得る。
【0179】
追加的及び/または代替的に、センサ処理システム60は、マルチモーダルデータの処理を支援するために利用することができる、1つまたは複数のマルチモーダル処理ブロック76を含み得る。1つまたは複数のマルチモーダル処理ブロック76は、1つまたは複数の機械学習済みモデル及び/または1つまたは複数の検索エンジン74によって処理されるマルチモーダルクエリ及び/またはマルチモーダル埋め込みを生成することを含み得る。
【0180】
センサ処理システム60の出力(複数可)は、次に、出力決定システム80で処理されて、ユーザに提供する1つまたは複数の出力を決定することができる。出力決定システム80は、ヒューリスティックベースの決定、機械学習済みモデルベースの決定、ユーザ選択ベースの決定、及び/またはコンテキストベースの決定を含み得る。
【0181】
出力決定システム80は、検索結果インターフェース82において1つまたは複数の検索結果を提供する方法及び/または場所を決定し得る。追加的及び/または代替的に、出力決定システム80は、機械学習済みモデル出力インターフェース84において、1つまたは複数の機械学習済みモデル出力を提供する方法及び/または場所を決定し得る。いくつかの実施態様では、1つまたは複数の検索結果及び/または1つまたは複数の機械学習済みモデル出力は、1つまたは複数のユーザインターフェース要素を介して表示のために提供され得る。1つまたは複数のユーザインターフェース要素は、表示されたデータ上にオーバーレイされ得る。例えば、1つまたは複数の検出インジケータが、ビューファインダの検出されたオブジェクトに亘ってオーバーレイされ得る。1つまたは複数のユーザインターフェース要素は、1つまたは複数の追加の検索及び/または1つまたは複数の追加の機械学習済みモデルプロセスを実行するように選択可能であり得る。いくつかの実施態様では、ユーザインターフェース要素は、特定のアプリケーションに専用のユーザインターフェース要素として提供されてもよく、及び/または異なるアプリケーションにわたって均一に提供されてもよい。1つまたは複数のユーザインターフェース要素は、ポップアップディスプレイ、インターフェースオーバーレイ、インターフェースタイル及び/またはチップ、カルーセルインターフェース、オーディオフィードバック、アニメーション、インタラクティブウィジェット、及び/または他のユーザインターフェース要素を含むことができる。
【0182】
追加的及び/または代替的に、センサ処理システム60の出力(複数可)に関連付けられるデータを利用して、拡張現実体験及び/または仮想現実体験86が生成及び/または提供されてもよい。例えば、1つまたは複数の取得されたデータセットを処理して、1つまたは複数の拡張現実レンダリングアセット及び/または1つまたは複数の仮想現実レンダリングアセットが生成され得て、次に、これらを利用して、拡張現実体験及び/または仮想現実体験86をユーザにもたらすことができる。拡張現実体験は、環境に関連付けられる情報をそれぞれの環境にレンダリングし得る。代替的及び/または追加的に、処理されたデータセット(複数可)に関連するオブジェクトは、ユーザの環境及び/または仮想環境内にレンダリングされ得る。レンダリングデータセットの生成は、1つまたは複数のオブジェクトの3次元表現を学習するように1つまたは複数のニューラルラディアンスフィールドモデルをトレーニングすることを含み得る。
【0183】
いくつかの実施態様では、1つまたは複数のアクションプロンプト88が、センサ処理システム60の出力(複数可)に基づいて決定され得る。例えば、検索プロンプト、購入プロンプト、生成プロンプト、予約プロンプト、コールプロンプト、リダイレクトプロンプト、及び/または1つまたは複数の他のプロンプトが、センサ処理システム60の出力(複数可)に関連付けられると決定され得る。次に、1つまたは複数のアクションプロンプト88は、1つまたは複数の選択可能なユーザインターフェース要素を介してユーザに提供され得る。1つまたは複数の選択可能なユーザインターフェース要素の選択に応答して、それぞれのアクションプロンプトのそれぞれのアクションが実行され得る(例えば、検索が実行され得る、購入アプリケーションプログラミングインターフェースが利用され得る、及び/または他のアプリケーションが開放され得る)。
【0184】
いくつかの実施態様では、センサ処理システム60の1つまたは複数のデータセット及び/または出力(複数可)は、1つまたは複数の生成モデル90により処理されて、モデル生成型コンテンツアイテムを生成でき、次にユーザに提供され得る。生成は、ユーザ選択に基づいてプロンプトされ得る、及び/または自動的に実行され得る(例えば、1つまたは複数の条件に基づいて自動的に実行され、条件は識別されていない閾値の数量の検索結果に関連付けられ得る)。
【0185】
1つまたは複数の生成モデル90は、言語モデル(例えば、ラージ言語モデル及び/または視覚言語モデル)、画像生成モデル(例えば、テキストツーイメージ生成モデル及び/または画像拡張モデル)、オーディオ生成モデル、ビデオ生成モデル、グラフ生成モデル、及び/またはその他のデータ生成モデル(例えば、その他のコンテンツ生成モデル)を含み得る。1つまたは複数の生成モデル90は、1つまたは複数のトランスフォーマモデル、1つまたは複数の畳み込みニューラルネットワーク、1つまたは複数の回帰型ニューラルネットワーク、1つまたは複数のフィードフォワードニューラルネットワーク、1つまたは複数の生成的敵対的ネットワーク、1つまたは複数のセルフアテンションモデル、1つまたは複数の埋め込みモデル、1つまたは複数のエンコーダ、1つまたは複数のデコーダ、及び/または1つまたは複数の他のモデルを含むことができる。いくつかの実施態様では、1つまたは複数の生成モデル90は、1つまたは複数の自己回帰モデル(例えば、以前の挙動データに基づいて予測値を生成するようにトレーニングされた機械学習済みモデル)及び/または1つまたは複数の拡散モデル(例えば、入力データに関連付けられる分布データを生成及び処理することに基づいて予測データを生成するようにトレーニングされた機械学習済みモデル)を含むことができる。
【0186】
1つまたは複数の生成モデル90は、入力データを処理し、モデル生成コンテンツアイテムを生成するようにトレーニングされ得、モデル生成コンテンツアイテムは複数の予測されたワード、ピクセル、信号、及び/または他のデータを含み得る。モデル生成コンテンツアイテムは、いずれの既存のワークとも同じではない新規のコンテンツアイテムを含み得る。1つまたは複数の生成モデル90は、学習された表現、シーケンス、及び/または確率分布を活用して、コンテンツアイテムを生成することができ、コンテンツアイテムは、フレーズ、ストーリー展開、セッティング、オブジェクト、キャラクター、ビート、歌詞、及び/または既存のコンテンツアイテムに含まれない他の態様を含むことができる。
【0187】
1つまたは複数の生成モデル90には、視覚言語モデルが含まれていてもよい。視覚言語モデルは、画像データ及び/またはテキストデータを処理して自然言語出力を生成するように、トレーニング、調整、及び/または構成することができる。視覚言語モデルは、事前にトレーニングされたラージ言語モデル(例えば、ラージ自己回帰言語モデル)を1つまたは複数のエンコーダ(例えば、1つまたは複数の画像エンコーダ及び/または1つまたは複数のテキストエンコーダ)と活用して、人間によって作られた自然言語をエミュレートする詳細な自然言語出力を提供することができる。
【0188】
視覚言語モデルは、ゼロショット画像分類、少数ショット画像分類、画像キャプション付け、マルチモーダルクエリ蒸留、マルチモーダル質問応答に利用されてもよく、並びに/あるいは複数の異なるタスク用に調整及び/またはトレーニングされてもよい。視覚言語モデルは、視覚的質問応答、画像キャプション生成、特徴検出(例えば、コンテンツ監視(不適切なコンテンツなど))、オブジェクト検出、シーン認識、及び/または他のタスクを実行することができる。
【0189】
視覚言語モデルは、事前にトレーニングされた言語モデルを活用することができ、その後、その言語モデルをマルチモダリティー用に調整することができる。視覚言語モデルのトレーニング及び/または調整は、画像-テキストマッチング、マスクされた言語モデリング、クロスアテンションを伴うマルチモーダル融合、対照学習、プレフィックス言語モデルトレーニング、及び/または他のトレーニング技術を含み得る。例えば、視覚言語モデルは、画像を処理して、グラウンドトゥルーステキストデータ(例えば、画像のグラウンドトゥルースキャプション)と同様の予測テキストを生成するようにトレーニングされ得る。いくつかの実施態様では、視覚言語モデルは、自然言語テンプレートのマスクされたトークンを、入力画像に描出された特徴を記述するテキストトークンに置き換えるようにトレーニングされ得る。代替的に及び/または追加的に、トレーニング、調整、及び/またはモデル推定は、ビジュアル及びテキストの埋め込み特徴の多層連結を含み得る。いくつかの実施態様では、視覚言語モデルは、画像埋め込みとテキスト埋め込みの生成とを共同で学習することによって、トレーニング及び/または調整されてよく、これは、テキスト特徴及び画像特徴を、共有された埋め込み空間へマッピングする共同特徴埋め込み空間に、埋め込みをマッピングするシステムをトレーニング及び/または調整することを含み得る。共同のトレーニングは、画像-テキストペアの平行埋め込みを含み得る、及び/またはトリプレットトレーニングを含み得る。いくつかの実施態様では、画像は、言語モデルのプレフィックスとして利用及び/または処理され得る。
【0190】
出力決定システム80は、1つまたは複数のデータセット及び/またはセンサ処理システム60の出力(複数可)をデータ拡張ブロック92を用いて処理して、拡張データを生成し得る。例えば、1つまたは複数の画像をデータ拡張ブロック92で処理して、1つまたは複数の拡張画像を生成することができる。データ拡張は、データ修正、データクロッピング、1つまたは複数の特徴の除去、1つまたは複数の特徴の追加、解像度の調整、照明の調整、彩度の調整、及び/または他の拡張を含むことができる。
【0191】
いくつかの実施態様では、センサ処理システム60の1つまたは複数のデータセット及び/または出力(複数可)は、データ記憶ブロック94の決定に基づいて格納され得る。
【0192】
次に、出力決定システム80の出力(複数可)は、ユーザコンピューティングデバイス52の1つまたは複数の出力コンポーネントを介してユーザに提供され得る。例えば、1つまたは複数の出力に関連付けられる1つまたは複数のユーザインターフェース要素を、ユーザコンピューティングデバイス52の視覚的ディスプレイを介して表示するために提供し得る。
【0193】
プロセスは、反復的に及び/または連続的に実行され得る。提供されたユーザインターフェース要素への1つまたは複数のユーザ入力は、連続した処理ループを規定する、及び/または影響する場合がある。
【0194】
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、及び他のコンピュータベースのシステム、ならびに実行されるアクション及びそのようなシステムに送信される情報及びそのようなシステムから送信される情報を参照する。コンピュータベースのシステムに固有の柔軟性により、コンポーネント間のタスク及び機能の多種多様な実現可能な構成、組み合わせ、分割が可能になる。例えば、本明細書で論じるプロセスは、単一のデバイスまたはコンポーネント、あるいは組み合わせて作動する複合的なデバイスまたはコンポーネントを使用して実装できる。データベース及びアプリケーションは、単一のシステムに実装し得るか、または複数のシステムに分散し得る。分散されたコンポーネントは、順次または並列に動作できる。
【0195】
本開示の主題は、その様々に具体的で例示的な実施形態について詳細に説明されてきたが、それぞれの例は、説明するために提供されており、本開示を限定するものではない。当業者は、上述の内容を理解すると、そのような実施形態の変更、変形を容易に行い、均等物を容易に作成できる。したがって、本開示は、当業者にとって容易に明らかであろうように、本主題に対するそのような修正、変更、及び/または追加を含めることを除外しない。例えば、一実施形態の一部として図示または説明されている特徴を他の実施形態と使用して、さらに他の実施形態を生み出すことができる。したがって、本開示は、そのような変更、変形、及び均等物を網羅することを意図している。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図6E
図6F
図6G
図7
図8
図9A
図9B
【手続補正書】
【提出日】2024-11-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
クエリ応答を提供するための出力デバイスを決定するためのコンピューティングシステムであって、
1つまたは複数のプロセッサ、及び
前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングシステムに動作を実行させる命令を集合的に格納する、1つまたは複数の非一時的コンピュータ可読媒体、を備え、前記動作は、
入力データを取得することであって、前記入力データは特定のユーザに関連付けられるクエリを含む、取得することと、
環境データを取得することであって、前記環境データは、前記ユーザの環境にある複数のコンピューティングデバイスを記述し、前記複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられる、取得することと、
前記入力データ及び前記環境データに基づいてプロンプトを生成することであって、前記プロンプトは、前記クエリを記述するデータ、及び前記複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含み、前記プロンプトを生成することは、
前記環境データに基づいて複数のコンピューティングデバイスの出力能力を決定すること、
前記複数のコンピューティングデバイスのパフォーマンス能力の表現を生成すること、及び
前記複数のコンピューティングデバイスのパフォーマンス能力の前記表現と前記入力データに基づいて、前記プロンプトを生成すること、を含む、生成することと、
前記クエリを記述する前記データ及び前記デバイス情報に基づいてモデル生成出力を生成するために生成モデルを用いて前記プロンプトを処理することであって、前記モデル生成出力を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
前記生成モデルを用いて前記クエリを記述する前記データを処理することに基づいて前記クエリに対する応答を生成すること、及び
前記生成モデルを用いて、前記表現及び前記応答に基づいて、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに提供されるモデル生成出力を前記デバイス情報に基づいて生成すること、を含む、処理することと、
前記モデル生成出力を前記特定のコンピューティングデバイスに送信することと、を含む、システム。
【請求項2】
前記モデル生成出力は、前記複数の異なる出力コンポーネントのうちの特定の出力コンポーネントに提供されるように生成され、
前記生成モデルは出力デバイス命令を生成し、前記出力デバイス命令は前記モデル生成出力を提供する前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスを記述し、前記特定のコンピューティングデバイスは前記特定の出力コンポーネントに関連付けられ、
前記モデル生成出力は、前記出力デバイス命令に基づいて、前記特定のコンピューティングデバイスに送信される、請求項1に記載のシステム。
【請求項3】
前記モデル生成出力を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
複数のモデル出力を生成することであって、前記複数のモデル出力は、複数の候補の応答を含む、生成すること、を含み、
前記モデル生成出力を前記特定のコンピューティングデバイスに送信することは、
前記複数のモデル出力のうちの第1のモデル出力を前記複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスに送信することと、
前記複数のモデル出力のうちの第2のモデル出力を前記複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスに送信することと、を含む、請求項1に記載のシステム。
【請求項4】
前記第1のモデル出力が、ビジュアルディスプレイを介して表示するためのビジュアルデータを含み、前記第2のモデル出力が、スピーカコンポーネントを介して再生するためのオーディオデータを含む、請求項3に記載のシステム。
【請求項5】
前記第1のコンピューティングデバイスは、スマートテレビを含み、前記第2のコンピューティングデバイスは、スマートスピーカを含む、請求項4に記載のシステム。
【請求項6】
前記入力データ及び前記環境データに基づいて前記プロンプトを生成することは、
前記環境データに基づいて環境固有のデバイス構成を決定することと、
前記環境固有のデバイス構成に基づいて、プロンプトライブラリからプロンプトテンプレートを取得することと、
前記プロンプトを生成するために、前記入力データに基づいて前記プロンプトテンプレートを拡張することと、を含む、請求項1に記載のシステム。
【請求項7】
前記環境固有のデバイス構成が、前記複数のコンピューティングデバイスのそれぞれの出力タイプ及びそれぞれの出力品質を記述し、前記プロンプトライブラリが、複数の異なるデバイス構成に関連付けられる複数の異なるプロンプトテンプレートを含む、請求項6に記載のシステム。
【請求項8】
前記複数のコンピューティングデバイスは、クラウドコンピューティングシステムを介して接続され、前記複数のコンピューティングデバイスのそれぞれは、前記クラウドコンピューティングシステムのプラットフォームに登録され、前記環境データは、前記クラウドコンピューティングシステムを用いて取得され、前記モデル生成出力は、前記クラウドコンピューティングシステムを介して送信される、請求項1に記載のシステム。
【請求項9】
前記複数のコンピューティングデバイスが、前記複数のコンピューティングデバイス内部の他のコンピューティングデバイスのそれぞれに近接して配置され、前記複数のコンピューティングデバイスがローカルネットワークを介して通信可能に接続され、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスが、入力データの取得及びモデル生成出力の送信を促進する、請求項1に記載のシステム。
【請求項10】
前記生成モデルは、アプリケーションプログラミングインターフェースを介して検索エンジンと通信可能に接続され、前記モデル生成出力を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
前記プロンプトに基づいてアプリケーション・プログラミング・インターフェース・コールを生成することと、
前記アプリケーション・プログラミング・インターフェース・コールに基づいて、前記検索エンジンを用いて複数の検索結果を決定することと、
前記モデル生成出力を生成するために前記生成モデルを用いて前記複数の検索結果を処理することと、を含む、請求項1に記載のシステム。
【請求項11】
コンピュータ実装方法であって、
1つまたは複数のプロセッサを含むコンピューティングシステムによって、入力データを取得することであって、前記入力データは特定のユーザに関連付けられるクエリを含む、取得することと、
前記コンピューティングシステムによって、環境データを取得することであって、前記環境データは、前記ユーザの環境にある複数のコンピューティングデバイスを記述し、前記複数のコンピューティングデバイスは、複数の異なる出力コンポーネントに関連付けられる、取得することと、
前記コンピューティングシステムによって、前記入力データ及び前記環境データに基づいてプロンプトを生成することであって、前記プロンプトは、前記クエリを記述するデータ、及び前記複数のコンピューティングデバイスの少なくともサブセットに関連付けられるデバイス情報を含み、前記プロンプトを生成することは、
前記環境データに基づいて複数のコンピューティングデバイスの出力能力を決定すること、
前記複数のコンピューティングデバイスのパフォーマンス能力の表現を生成すること、及び
前記複数のコンピューティングデバイスのパフォーマンス能力の前記表現と前記入力データに基づいて、前記プロンプトを生成すること、を含む、生成することと、
前記コンピューティングシステムによって、前記クエリを記述する前記データ及び前記デバイス情報に基づいてモデル生成出力及び出力デバイス命令を生成するために生成モデルを用いて前記プロンプトを処理することであって、前記モデル生成出力及び前記出力デバイス命令を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
前記生成モデルを用いて前記クエリを記述する前記データを処理することに基づいて前記クエリに対する応答を生成すること、及び
前記生成モデルを用いて、前記表現及び前記応答に基づいて、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに提供されるモデル生成出力と、前記デバイス情報に基づく出力デバイス命令とを生成することを含み、前記出力デバイス命令は、前記複数のコンピューティングデバイスのうちの特定のコンピューティングデバイスに前記モデル生成出力を提供する命令を含む、処理することと、
前記コンピューティングシステムによって、前記出力デバイス命令に基づいて、前記特定のコンピューティングデバイスに前記モデル生成出力を送信することと、を含む、方法。
【請求項12】
前記複数の異なる出力コンポーネントが、前記複数のコンピューティングデバイスに関連付けられる複数のそれぞれの出力能力に関連付けられ、前記複数のそれぞれの出力能力のそれぞれが、それぞれのコンピューティングデバイスを介して利用可能な出力タイプ及び出力品質を記述する、請求項11に記載の方法。
【請求項13】
前記出力デバイス命令は、前記モデル生成出力を前記特定のコンピューティングデバイスに送信するためのアプリケーション・プログラミング・インターフェース・コールを含む、請求項11に記載の方法。
【請求項14】
前記複数の異なる出力コンポーネントが、第1のデバイスに関連付けられたスピーカ、及び第2のデバイスに関連付けられたビジュアルディスプレイを含む、請求項11に記載の方法。
【請求項15】
前記コンピューティングシステムによって、前記特定の出力コンポーネントが前記クエリの意図に関連付けられていると決定すること、をさらに含み、
前記プロンプトは、前記クエリの前記意図に関連付けられている前記特定の出力コンポーネントに基づいて生成される、請求項11に記載の方法。
【請求項16】
前記コンピューティングシステムによって、前記環境データに基づいて、前記複数の異なる出力コンポーネントの仕様情報に基づいて出力階層を決定すること、をさらに含み、
前記プロンプトは、前記出力階層及び前記クエリに基づいて生成される、請求項11に記載の方法。
【請求項17】
1つまたは複数のコンピューティングデバイスによって実行されると、前記1つまたは複数のコンピューティングデバイスに動作を実行させる命令を集合的に格納する、1つまたは複数の非一時的コンピュータ可読媒体であって、前記動作が、
環境データを取得することであって、前記環境データは、特定のユーザに関連付けられた環境の内部の複数のコンピューティングデバイスを記述する、取得することと、
前記複数のコンピューティングデバイスに関連付けられた複数のそれぞれの入力能力及び複数のそれぞれの出力能力を決定するために前記環境データを処理することであって、前記複数のそれぞれの入力能力は、前記複数のコンピューティングデバイスに関連付けられた候補の入力タイプに関連付けられ、前記複数のそれぞれの出力能力は、前記複数のコンピューティングデバイスに関連付けられた候補の出力タイプに関連付けられる、処理することと、
前記複数のそれぞれの入力能力及び前記複数のそれぞれの出力能力に基づいて、前記複数のコンピューティングデバイスのために複数のそれぞれのインターフェースを生成することであって、前記複数のそれぞれのインターフェースは、前記複数のそれぞれの入力能力及び前記複数のそれぞれの出力能力に基づいた前記複数のコンピューティングデバイスに基づき、前記複数のコンピューティングデバイスに対して特化される、生成することと、
前記複数のコンピューティングデバイスに前記複数のそれぞれのインターフェースを提供することと、
前記複数のそれぞれのインターフェースのうちの1つまたは複数を用いて、前記複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスからクエリを取得することと、
プロンプトを生成するために前記クエリ及び前記環境データを処理することであって、前記プロンプトを生成することは、
前記決定された複数のそれぞれの入力能力及び前記複数のそれぞれの出力能力を取得すること、
前記複数のコンピューティングデバイスのパフォーマンス能力の表現を生成すること、及び
前記複数のコンピューティングデバイスのパフォーマンス能力の前記表現と前記クエリに基づいて、前記プロンプトを生成すること、を含む、処理することと、
モデル生成出力及び出力デバイス命令を生成するために生成モデルを用いて前記プロンプトを処理することであって、前記モデル生成出力及び出力デバイス命令を生成するために前記生成モデルを用いて前記プロンプトを処理することは、
前記生成モデルを用いて前記クエリを処理することに基づいて前記クエリに対する応答を生成すること、及び
前記生成モデルを用いて、前記複数のそれぞれの入力能力、前記複数のそれぞれの出力能力、及び前記応答に基づいて、前記複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスに提供されるモデル生成出力、及び出力デバイス命令を生成することを含み、前記出力デバイス命令は、前記複数のコンピューティングデバイスのうちの前記第2のコンピューティングデバイスに前記モデル生成出力を提供するための命令を含む、処理することと、
前記モデル生成出力を、前記出力デバイス命令に基づいて、前記第2のコンピューティングデバイスに送信することと、を含む、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項18】
前記複数のそれぞれのインターフェースが、前記特定のユーザに関連付けられた前記環境の内部で前記複数のコンピューティングデバイスを示す複数のデバイスインジケータを備え、前記複数のコンピューティングデバイスが、入力を受信し、出力を提供するために通信可能に接続されるユーザ固有のデバイスエコシステムとして構成される、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項19】
前記複数のそれぞれのインターフェースの各々は、前記複数のコンピューティングデバイスのうちの前記特定のコンピューティングデバイスについてのそれぞれの入力能力及びそれぞれの出力能力に基づいて、特定の入力タイプを受信し、特定の出力タイプを提供するように構成される、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項20】
前記動作が、
前記複数のコンピューティングデバイスのうちの前記第1のコンピューティングデバイスの第1のインターフェースを介してユーザ入力を取得することと、
複数の検索結果を決定するために、検索エンジンを用いて前記ユーザ入力を処理することと、
モデル出力を生成するために生成モデルを用いて前記複数の検索結果を処理することと、
前記複数のコンピューティングデバイスのうちの前記第2のコンピューティングデバイスの第2のインターフェースを介して表示のために前記モデル出力を提供することと、をさらに含む、請求項17に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【外国語明細書】