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

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

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

特表2024-521053自動アシスタント応答を生成する際に大規模言語モデルを使用すること
<>
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図1
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図2
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図3
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図4
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図5
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図6
  • 特表-自動アシスタント応答を生成する際に大規模言語モデルを使用すること 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-28
(54)【発明の名称】自動アシスタント応答を生成する際に大規模言語モデルを使用すること
(51)【国際特許分類】
   G10L 15/22 20060101AFI20240521BHJP
   G10L 13/00 20060101ALI20240521BHJP
【FI】
G10L15/22 300U
G10L13/00 100M
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023569990
(86)(22)【出願日】2021-11-30
(85)【翻訳文提出日】2023-11-20
(86)【国際出願番号】 US2021061214
(87)【国際公開番号】W WO2023038654
(87)【国際公開日】2023-03-16
(31)【優先権主張番号】63/241,232
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/532,794
(32)【優先日】2021-11-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マーティン・バウムル
(72)【発明者】
【氏名】トゥシャン・アマラシリワルデナ
(72)【発明者】
【氏名】ロベルト・ピエラッチーニ
(72)【発明者】
【氏名】ヴィクラム・スリダール
(72)【発明者】
【氏名】ダニエル・デ・フライタス・アディワルダナ
(72)【発明者】
【氏名】ノーム・エム・シャジール
(72)【発明者】
【氏名】クォック・レ
(57)【要約】
ユーザと自動アシスタントと間の対話セッションの一部として、実装形態は、アシスタントクエリを含む発話を捉えるオーディオデータのストリームを受信し、オーディオデータのストリームを処理したことに基づいて、アシスタントクエリに応答すると各々予測されるアシスタント出力のセットを決定し、修正されたアシスタント出力のセットを生成するために、大規模言語モデル(LLM)出力を使用して、アシスタント出力および対話セッションの文脈を処理し、修正されたアシスタント出力のセットの中から、所与の修正されたアシスタント出力が、発話に応答してユーザへの提示のために提供されるようすることができる。いくつかの実装形態では、LLM出力は、オンライン方式で後で使用するために、オフライン方式で生成され得る。追加または代替の実装形態では、LLM出力は、発話が受け取られるときにオンライン方式で生成され得る。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、生成することと、
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する追加のアシスタントクエリを生成すること
のために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のアシスタントクエリに基づいて、前記追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、
前記LLM出力の1つまたは複数または前記LLMを使用して生成される1つまたは複数の追加のLLM出力を使用して追加の修正されたアシスタント出力のセットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップであって、前記追加のLLM出力の各々が、前記対話セッションの前記文脈および前記追加のアシスタント出力に少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットからの所与の修正されたアシスタント出力、および追加の修正されたアシスタント出力の前記セットからの所与の追加の修正されたアシスタント出力が、前記ユーザへの提示のために提供されるようにするステップと
を備える、方法。
【請求項2】
オーディオデータの前記ストリームを処理したことに基づいて前記発話に含まれる前記アシスタントクエリに応答する前記アシスタント出力を決定するステップが、
自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータの前記ストリームを処理するステップと、
自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力の前記ストリームを処理するステップと、
アシスタント出力の前記セットがNLUの前記ストリームに基づいて決定されるようにするステップとを備える、請求項1に記載の方法。
【請求項3】
前記LLMを使用して生成される前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記LLM出力の1つまたは複数を生成するために、前記LLMを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記LLM出力の1つまたは複数に基づいて、修正されたアシスタント出力の前記セットを決定するステップとを備える、請求項2に記載の方法。
【請求項4】
前記LLMを使用して前記LLM出力の1つまたは複数を生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
複数の別々のパーソナリティのうちの第1のパーソナリティを有する前記LLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第1のセットを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップを備え、
修正されたアシスタント出力の前記セットが、前記第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含む、請求項3に記載の方法。
【請求項5】
前記LLMを使用して前記LLM出力の1つまたは複数を生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
複数の別々のパーソナリティのうちの第2のパーソナリティを有する前記LLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第2のセットを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップを備え、
修正されたアシスタント出力の前記セットが、前記第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含み、
前記第2のパーソナリティが前記第1のパーソナリティとは別である、請求項4に記載の方法。
【請求項6】
修正されたアシスタント出力の前記セットに含まれ、前記第1のパーソナリティを反映する、前記1つまたは複数の第1のパーソナリティアシスタント出力が、前記第1のパーソナリティに関連する第1の語彙を使用して決定され、修正されたアシスタント出力の前記セットに含まれ、前記第2のパーソナリティを反映する、前記1つまたは複数の第2のパーソナリティアシスタント出力が、前記第2のパーソナリティに関連する第2の語彙を使用して決定され、前記第2のパーソナリティが、前記第2の語彙が前記第1の語彙とは別であることに基づいて、前記第1のパーソナリティとは別である、請求項5に記載の方法。
【請求項7】
修正されたアシスタント出力の前記セットに含まれ、前記第1のパーソナリティを反映する、前記1つまたは複数の第1のパーソナリティアシスタント出力が、前記ユーザへの可聴の提示のために前記所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第1のセットと関連付けられ、修正されたアシスタント出力の前記セットに含まれ、前記第2のパーソナリティを反映する、前記1つまたは複数の第2のパーソナリティアシスタント出力が、前記ユーザへの可聴の提示のために前記所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第2のセットと関連付けられ、前記第2のパーソナリティが、韻律的な性質の前記第2のセットが韻律的な性質の前記第1のセットとは別であることに基づいて、前記第1のパーソナリティとは別である、請求項5に記載の方法。
【請求項8】
前記LLMを使用して生成される前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記LLM出力の1つまたは複数が前記対話セッションの前記アシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいて以前に生成されていることに基づいて、および/または、前記LLM出力の1つまたは複数が前記対話セッションの前記文脈に対応する前記以前の対話セッションの以前の文脈のために以前に生成されていることに基づいて、前記LLMを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップと、
修正されたアシスタント出力の前記セットを決定するために、アシスタント出力の前記セットが前記LLM出力の1つまたは複数を用いて修正されるようにするステップとを備える、請求項2から7のいずれか一項に記載の方法。
【請求項9】
前記LLMモデルを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップが、
複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力を特定するステップを備え、
修正されたアシスタント出力の前記セットが、前記第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含む、請求項8に記載の方法。
【請求項10】
前記LLMモデルを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップが、
複数の別々のパーソナリティのうちの第2のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第2のLLM出力を特定するステップを備え、
修正されたアシスタント出力の前記セットが、前記第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含み、
前記第2のパーソナリティが前記第1のパーソナリティとは別である、請求項9に記載の方法。
【請求項11】
前記ASR出力が前記以前の対話セッションの前記以前のアシスタントクエリの1つまたは複数の用語に対応する前記アシスタントクエリの1つまたは複数の用語を含むことに基づいて、前記以前の対話セッションの前記以前のアシスタントクエリが前記対話セッションの前記アシスタントクエリに対応すると決定するステップをさらに備える、請求項8から10のいずれか一項に記載の方法。
【請求項12】
前記アシスタントクエリに対応する前記ASR出力の中の1つまたは複数の用語に基づいて、前記アシスタントクエリの埋め込みを生成するステップと、
前記アシスタントクエリの前記埋め込みを前記以前の対話セッションの前記以前のアシスタントクエリの以前に生成された埋め込みと比較することに基づいて、前記以前の対話セッションの前記以前のアシスタントクエリが前記対話セッションの前記アシスタントクエリに対応すると決定するステップをさらに備える、請求項8から11のいずれか一項に記載の方法。
【請求項13】
前記対話セッションの1つまたは複数の文脈信号が前記以前の対話セッションの1つまたは複数の文脈信号に対応することに基づいて、前記以前の対話セッションの前記以前の文脈が前記対話セッションの前記文脈に対応すると決定するステップをさらに備える、請求項8から12のいずれか一項に記載の方法。
【請求項14】
前記1つまたは複数の文脈信号が、時刻、曜日、前記クライアントデバイスの位置、前記クライアントデバイスの環境における周辺雑音のうちの1つまたは複数を含む、請求項13に記載の方法。
【請求項15】
前記対話セッションの文脈信号に基づいて、前記対話セッションの前記文脈の埋め込みを生成するステップと、
前記1つまたは複数の文脈信号の前記埋め込みを前記以前の対話セッションの前記以前の文脈の以前に生成された埋め込みと比較することに基づいて、前記以前の対話セッションの前記以前の文脈が前記対話セッションの前記文脈に対応すると決定するステップをさらに備える、請求項8から14のいずれか一項に記載の方法。
【請求項16】
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する前記追加のアシスタントクエリを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記NLUの出力に基づいて、前記発話に含まれる前記アシスタントクエリに関連する意図を決定するステップと、
前記発話に含まれる前記アシスタントクエリに関連する前記意図に基づいて、前記発話に含まれる前記アシスタントクエリに関連する前記意図に関する少なくとも1つの関連する意図を特定するステップと、
前記少なくとも1つの関連する意図に基づいて、前記発話に関連する前記追加のアシスタントクエリを生成するステップとを備える、請求項2から15のいずれか一項に記載の方法。
【請求項17】
前記追加のアシスタントクエリに基づいて前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を決定するステップが、
前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を生成するために、前記追加のアシスタントクエリがアプリケーションプログラミングインターフェース(API)を介して1つまたは複数のファーストパーティシステムに送信されるようにするステップを備える、請求項16に記載の方法。
【請求項18】
前記追加のアシスタントクエリに基づいて前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を決定するステップが、
前記追加のアシスタントクエリが1つまたは複数のネットワークを介して1つまたは複数のサードパーティシステムに送信されるようにするステップと、
前記追加のアシスタントクエリが前記サードパーティシステムの1つまたは複数に送信されることに応答して、前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を受信するステップとを備える、請求項16に記載の方法。
【請求項19】
前記LLMを使用して決定される前記LLM出力の1つまたは複数または前記追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力の前記セットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップが、
前記追加のLLM出力の1つまたは複数を決定するために、前記LLMを使用して、追加のアシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のLLM出力の1つまたは複数に基づいて、追加の修正されたアシスタント出力の前記セットを決定するステップとを備える、請求項16から18のいずれか一項に記載の方法。
【請求項20】
前記LLMを使用して決定される前記LLM出力の1つまたは複数または前記追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力の前記セットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップが、
前記追加のLLM出力の1つまたは複数が前記対話セッションの前記追加のアシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいて以前に生成されていることに基づいて、および/または、前記追加のLLM出力の1つまたは複数が前記対話セッションの前記文脈に対応する前記以前の対話セッションの以前の文脈のために以前に生成されていることに基づいて、前記LLMモデルを使用して以前に生成された前記追加のLLM出力の1つまたは複数を特定するステップと、
追加の修正されたアシスタント出力の前記セットを生成するために、追加のアシスタント出力の前記セットが前記追加のLLM出力の1つまたは複数を用いて修正されるようにするステップとを備える、請求項16から18のいずれか一項に記載の方法。
【請求項21】
1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、アシスタント出力の前記セットおよび修正されたアシスタント出力の前記セットを少なくとも含む、ステップと、
順位に基づいて、修正されたアシスタント出力の前記セットから前記所与の修正されたアシスタント出力を選択するステップとをさらに備える、請求項1から20のいずれか一項に記載の方法。
【請求項22】
前記順位付け基準の1つまたは複数に基づいて、追加のアシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、前記追加のアシスタント出力および追加の修正されたアシスタント出力の前記セットを少なくとも含む、ステップと、
前記順位に基づいて、追加の修正されたアシスタント出力の前記セットから前記所与の追加の修正されたアシスタント出力を選択するステップとをさらに備える、請求項21に記載の方法。
【請求項23】
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力が前記ユーザへの提示のために提供されるようにするステップが、
前記所与の修正されたアシスタント出力と前記所与の追加の修正されたアシスタント出力を組み合わせるステップと、
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を処理するステップと、
前記合成音声オーディオデータが、前記クライアントデバイスのスピーカを介して前記ユーザへの提示のために可聴にレンダリングされるようにするステップとを備える、請求項22に記載の方法。
【請求項24】
1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、アシスタント出力の前記セット、修正されたアシスタント出力の前記セット、前記追加のアシスタント出力、および追加の修正されたアシスタント出力の前記セットを含む、ステップと、
順位に基づいて、修正されたアシスタント出力の前記セットから前記所与の修正されたアシスタント出力を選択し、追加の修正されたアシスタント出力の前記セットから前記所与の追加の修正されたアシスタント出力を選択するステップとをさらに備える、請求項1から23のいずれか一項に記載の方法。
【請求項25】
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力が前記ユーザへの提示のために提供されるようにするステップが、
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を処理するステップと、
前記合成音声オーディオデータが、前記クライアントデバイスのスピーカを介して前記ユーザへの提示のために可聴にレンダリングされるようにするステップとを備える、請求項24に記載の方法。
【請求項26】
前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成するステップがさらに、前記発話に含まれる前記アシスタントクエリの少なくとも一部を処理することに基づく、請求項1から25のいずれか一項に記載の方法。
【請求項27】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、生成することと、
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する追加のアシスタントクエリを生成すること
のために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のアシスタントクエリに基づいて、前記追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、
追加の修正されたアシスタント出力のセットを生成するために、前記追加のアシスタントクエリに応答する前記追加のアシスタント出力に基づいて、修正されたアシスタント出力の前記セットを処理するステップと、
追加の修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の追加の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項28】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定され、前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成することが、
(i)アシスタント出力の前記セット、(ii)前記対話セッションの前記文脈、および(iii)複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力に基づいて、第1のパーソナリティ返答のセットを生成することを備える、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項29】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項30】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
前記発話の前記処理に基づいて、アシスタント出力の前記セットに含まれるアシスタント出力の1つまたは複数を修正するかどうかを決定するステップと、
アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正することを決定したことに応答して、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項31】
前記発話の前記処理に基づいてアシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正するかどうか決定するステップが、
自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータの前記ストリームを処理するステップと、
自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力の前記ストリームを処理するステップと、
NLUデータの前記ストリームに基づいて、前記発話を提供する際の前記ユーザの意図を特定するステップと、
前記発話を提供する際の前記ユーザの前記意図に基づいて、前記アシスタント出力を修正するかどうかを決定するステップとを備える、請求項30に記載の方法。
【請求項32】
アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正するかどうかを決定するステップがさらに、前記アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストに基づく、請求項30または31に記載の方法。
【請求項33】
前記アシスタント出力の1つまたは複数を修正することに関連する前記1つまたは複数の計算コストが、電池消費、前記アシスタント出力の1つまたは複数を修正することに関連するプロセッサ消費、または前記アシスタント出力の1つまたは複数を修正することに関連するレイテンシのうちの1つまたは複数を含む、請求項32に記載の方法。
【請求項34】
1つまたは複数のプロセッサによって実施される方法であって、
自動アシスタントに向けられる複数のアシスタントクエリ、および前記複数のアシスタントクエリの各々のための対応する以前の対話セッションの対応する文脈を取得するステップと、
前記複数のアシスタントクエリの各々に対して、
前記複数のアシスタントクエリのうちの所与のアシスタントクエリに応答する対応する大規模言語モデル(LLM)出力を生成するために、1つまたは複数のLLMを使用して、前記所与のアシスタントクエリを処理するステップと、
前記所与のアシスタントクエリおよび/または前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に基づいて、クライアントデバイスにおいてアクセス可能なメモリにおいて前記対応するLLM出力をインデクシングするステップと、
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングした後、クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の現在の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成される、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、前記所与のアシスタントクエリに対応する現在のアシスタントクエリを前記発話が含むこと、および/または、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に対応する前記現在の対話セッションの現在の文脈において前記発話が受け取られることを決定するステップと、
前記自動アシスタントに、前記発話に応答して前記ユーザへの提示のために提供されるべきアシスタント出力を生成する際に、前記対応するLLM出力を利用させるステップと
を備える、方法。
【請求項35】
前記自動アシスタントに向けられる前記複数のアシスタントクエリが、前記クライアントデバイスを介して前記ユーザによって以前に出された、請求項34に記載の方法。
【請求項36】
前記自動アシスタントに向けられる前記複数のアシスタントクエリが、それぞれのクライアントデバイスを介して、前記クライアントデバイスの前記ユーザに加えて、複数の追加のユーザによって以前に出された、請求項34に記載の方法。
【請求項37】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリを処理する際に生成された前記所与のアシスタントクエリの埋め込みに基づく、請求項34から36のいずれか一項に記載の方法。
【請求項38】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリを処理する際に生成された前記所与のアシスタントクエリに含まれる1つまたは複数の用語または語句に基づく、請求項34から36のいずれか一項に記載の方法。
【請求項39】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈の埋め込みに基づく、請求項34から36のいずれか一項に記載の方法。
【請求項40】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に含まれる1つまたは複数の文脈信号に基づく、請求項34から36のいずれか一項に記載の方法。
【請求項41】
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項1から40のいずれか一項に対応する動作を実行させる命令を記憶するメモリとを備える、システム。
【請求項42】
実行されると、少なくとも1つのプロセッサに請求項1から40のいずれか一項に対応する動作を実行させる命令を記憶する、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
人間は、本明細書で「自動アシスタント」と呼ばれる(「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話エージェント」などとも呼ばれる)対話型ソフトウェアアプリケーションとの人間対コンピュータ対話に関わることがある。自動アシスタントは通常、発話を解釈してそれに応答する際に、コンポーネントのパイプラインに依存する。たとえば、自動音声認識(ASR)エンジンは、ユーザの発話に対応するオーディオデータを処理して、発話のASR仮説(すなわち、一連の用語および/または他のトークン)などのASR出力を生成することができる。さらに、自然言語理解(NLU)エンジンは、ASR出力(またはタッチ/タイプされる入力)を処理して、発話(またはタッチ/タイプされる入力)を提供する際にユーザにより表現される要求(たとえば、意図)などのNLU出力を、および任意選択で、その意図に関連するパラメータのためのスロット値を生成することができる。最終的に、NLU出力は、発話に応答する応答コンテンツおよび/または発話に応答して実行され得る1つまたは複数の行動などの、履行出力を生成するために、様々な履行コンポーネントによって処理され得る。
【0002】
一般に、自動アシスタントとの対話セッションは、発話を提供するユーザによって開始され、自動アシスタントは、前述のコンポーネントのパイプラインを使用して発話に応答することができる。ユーザは、追加の発話を提供することによって対話セッションを続けることができ、自動アシスタントは、前述のコンポーネントのパイプラインを使用して、再び追加の発話に応答することができる。言い換えると、これらの対話セッションは一般に、対話セッションにおいて発話を提供するための番がユーザにあり、対話セッションにおいて発話に応答するための番が自動アシスタントにあり、対話セッションにおいて追加の発話を提供するための追加の番がユーザにあり、対話セッションにおいて追加の発話に応答するための追加の番が自動アシスタントにある、などという点で、順番ベースである。しかしながら、ユーザの観点からは、これらの順番ベースの対話セッションは、人間が実際に互いに会話する方式を反映しないので自然ではないことがある。
【0003】
たとえば、第1の人物が、対話セッションの間に最初の考えを第2の人物に伝えるための発話を提供する場合(たとえば、「I'm going to the beach today」)、第2の人物は、第1の人物への応答を述べる際に対話セッションの文脈の中でその発話を考慮することができる(たとえば、「sounds fun, what are you going to do at the beach?」、「nice, have you looked at the weather?」など)。特に、第2の人物は、第1の人物に応答する際に、第1の人物を自然な方式で対話セッションに関与したままにする発話を提供することができる。言い換えると、対話セッションの間、一方の人物が対話セッションを牽引するのではなく、第1の人物と第2の人物の両方が、自然な会話を促すための発話を提供することができる。
【0004】
しかしながら、上記の例において第2の人物が自動アシスタントにより置き換えられる場合、自動アシスタントは、第1の人物を対話セッションに関与したままにする応答を提供しないことがある。たとえば、第1の人物が「I'm going to the beach today」という発話を提供したことに応答して、自動アシスタントは、ビーチで何をするつもりなのか第1の人物に率先して尋ねること、第1の人物が訪れることの多いビーチの天気予報を率先して調べて天気予報を応答に含めること、天気予報に基づいて何らかの推測を率先して行うことなどの、対話セッションを促すための何らかの行動を実行することおよび/または何らかの応答を提供することが可能であるにもかかわらず、対話セッションを促すための追加の応答を何ら提供することなく、単に「sound fun」または「nice」と応答することがある。結果として、第1の人物の発話に応答して自動アシスタントによって提供される応答は、複数の人物の間での自然な会話を反映しないことがあるので、第1の人物に響かないことがある。さらに、第1の人物は、自動アシスタントが率先して提供することができる何らかの情報(たとえば、ビーチの天気予報)を明確に要求するために追加の発話を提供しなければならないことがあるので、自動アシスタントに向けられる発話の量が増え、これらの発話を処理する際に利用されるクライアントデバイスの計算リソースが浪費される。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書で説明される実装形態は、自動アシスタントが対話セッションの間にユーザとの自然な会話を実行することを可能にすることを対象とする。いくつかの実装形態は、ユーザの発話を捉えるオーディオデータのストリームを受信することができる。オーディオデータのストリームは、クライアントデバイスの1つまたは複数のマイクロフォンによって生成されてもよく、発話はアシスタントクエリを含んでもよい。いくつかの実装形態はさらに、オーディオデータのストリームを処理したことに基づいて、自動アシスタントのセットを決定し、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理することができる。1つまたは複数のLLM出力の各々は、対話セッションの文脈の少なくとも一部、およびアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数に基づいて決定され得る。いくつかの実装形態はさらに、修正されたアシスタント出力のセットの中から、ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにすることができる。さらに、1つまたは複数のLLM出力の各々は、たとえば、1つまたは複数の語彙にまたがる一連の1つまたは複数の語および/または語句にわたる確率分布を含むことができ、その一連の語および/または語句の1つまたは複数が、確率分布に基づいて1つまたは複数のLLM出力として選択され得る。その上、対話セッションの文脈は、たとえば、時刻、曜日、クライアントデバイスの位置、クライアントデバイスの環境において検出される周辺雑音、ユーザプロファイルデータ、ソフトウェアアプリケーションデータ、クライアントデバイスのユーザの既知の環境についての環境データ、ユーザと自動アシスタントとの間の対話セッションの対話履歴、および/または他の文脈信号を含む、1つまたは複数の文脈信号に基づいて決定され得る。
【0006】
いくつかの実装形態では、アシスタント出力のセットは、発話に対応すると予測される1つまたは複数の認識された用語もしくは語句、発話に対応すると予測される1つまたは複数の音素、1つまたは複数の認識された用語もしくは語句および/もしくは1つまたは複数の予測される音素の各々に関連する1つまたは複数の予測される尺度、ならびに/または他の自動音声認識(ASR)出力などの、ASR出力のストリームを生成するために、ストリーミングASRモデルを使用して、オーディオデータのストリームを処理することに基づいて決定され得る。さらに、ASR出力は、発話を提供する際のユーザの1つまたは複数の予測される意図、および1つまたは複数の予測される意図の各々に関連する1つまたは複数のパラメータのための1つまたは複数の対応するスロット値などの、自然言語理解(NLU)出力のストリームを生成するために、NLUモデルを使用して処理され得る。その上、NLUデータのストリームは、アシスタント出力のセットを生成するために、1つまたは複数のファーストパーティ(1P)および/またはサードパーティ(3P)システムによって処理され得る。本明細書では、1つまたは複数の1Pシステムは、本明細書で説明される自動アシスタントを開発および/または保守するのと同じエンティティ(たとえば、共通のパブリッシャ)によって開発および/または保守されるシステムを含むが、1つまたは複数の3Pシステムは、本明細書で説明される自動アシスタントを開発および/または保守するエンティティとは別個のエンティティによって開発および/または保守されるシステムを含む。特に、本明細書で説明されるアシスタント出力のセットは、発話に応答するために典型的に考慮されるアシスタント出力を含む。しかしながら、特許請求される技法を使用することによって、上で説明された方式で生成されるアシスタント出力のセットはさらに、修正されたアシスタント出力のセットを生成するために処理され得る。具体的には、アシスタント出力のセットは、1つまたは複数のLLM出力を使用して修正されてもよく、所与の修正されたアシスタント出力が、修正されたアシスタント出力のセットから、発話を受け取ったことに応答してユーザへの提示のために提供されるものとして選択され得る。
【0007】
たとえば、クライアントデバイスのユーザが、「Hey Assistant, I'm thinking about going surfing today」という発話を提供すると仮定する。この例では、自動アシスタントは、アシスタント出力のセットおよび修正されたアシスタント出力のセットを生成するために、上で説明された方式で発話を処理することができる。この例におけるアシスタント出力のセットに含まれるアシスタント出力は、たとえば、「That sounds like fun!」、「Sounds fun!」などを含み得る。さらに、この例における修正されたアシスタント出力のセットに含まれるアシスタント出力は、たとえば、「That sounds like fun, how long have you been surfing?」、「Enjoy it, but if you're going to Example Beach again, be prepared for some light showers」などを含み得る。特に、アシスタント出力のセットに含まれるアシスタント出力は、クライアントデバイスのユーザを対話セッションにさらに関わらせるような方式で対話セッションを牽引するどのようなアシスタント出力も含まないが、修正されたアシスタント出力のセットに含まれるアシスタント出力は、文脈的に関連する質問(たとえば、「how long have you been surfing?」)を行うことによってクライアントデバイスのユーザを対話セッションにさらに関わらせる方式で対話セッションを牽引するアシスタント出力、文脈的に関連する情報(たとえば、「but if you're going to Example Beach again, be prepared for some light showers」)を提供するアシスタント出力、および/または対話セッションの文脈内でクライアントデバイスのユーザに別様に響くアシスタント出力を含む。
【0008】
いくつかの実装形態では、修正されたアシスタント応答のセットは、オンライン方式で生成される1つまたは複数のLLM出力を使用して生成され得る。たとえば、発話を受け取ったことに応答して、自動アシスタントは、アシスタント出力のセットが上で説明された方式で生成されるようにすることができる。さらに、やはり発話を受け取ったことに応答して、自動アシスタントは、1つまたは複数のLLMを使用して生成される1つまたは複数のLLM出力に基づいて修正されたアシスタント出力のセットを生成するために、アシスタント出力のセット、対話セッションの文脈、および/または発話に含まれるアシスタントクエリが、1つまたは複数のLLMを使用して処理されるようにすることができる。
【0009】
追加または代替の実装形態では、修正されたアシスタント応答のセットは、オフライン方式で生成される1つまたは複数のLLM出力を使用して生成され得る。たとえば、発話を受け取る前に、自動アシスタントは、複数のアシスタントクエリと、アシスタント活動データベース(これはクライアントデバイスのユーザの限られたアシスタント活動であり得る)からの複数のアシスタントクエリの各々のための対応する以前の対話セッションの対応する文脈とを取得することができる。さらに、自動アシスタントは、複数のアシスタントクエリの所与のアシスタントクエリのために、アシスタント出力のセットが上で説明された方式で、かつ所与のアシスタントクエリのために生成されるようにすることができる。その上、自動アシスタントは、1つまたは複数のLLMを使用して生成される1つまたは複数のLLM出力に基づいて修正されたアシスタント出力のセットを生成するために、アシスタント出力のセット、対話セッションの対応する文脈、および/または所与のアシスタントクエリが、1つまたは複数のLLMを使用して処理されるようにすることができる。このプロセスは、複数のクエリの各々および自動アシスタントによって取得される以前の対話セッションの対応する文脈のために繰り返され得る。
【0010】
加えて、自動アシスタントは、ユーザのクライアントデバイスによってアクセス可能なメモリにおいて、1つまたは複数のLLM出力をインデクシングすることができる。いくつかの実装形態では、自動アシスタントは、1つまたは複数のLLMが、複数のアシスタントクエリに含まれる1つまたは複数の用語に基づいて、メモリにおいてインデクシングされるようにすることができる。追加または代替の実装形態では、自動アシスタントは、複数のアシスタントクエリの各々のための対応する埋め込み(たとえば、word2vec埋め込み、または別のより低次元の表現)を生成し、対応する埋め込みの各々をアシスタントクエリ埋め込み空間にマッピングして、1つまたは複数のLLM出力をインデクシングすることができる。追加または代替の実装形態では、自動アシスタントは、1つまたは複数のLLMが、対応する以前の文脈に含まれる1つまたは複数の文脈信号に基づいて、メモリにおいてインデクシングされるようにすることができる。追加または代替の実装形態では、自動アシスタントは、対応する文脈の各々のための対応する埋め込みを生成し、対応する埋め込みの各々を文脈埋め込み空間にマッピングして1つまたは複数のLLM出力をインデクシングすることができる。追加または代替の実装形態では、自動アシスタントは、1つまたは複数のLLMが、複数のアシスタントクエリの各々のためのアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数の用語または語句に基づいて、メモリにおいてインデクシングされるようにすることができる。追加または代替の実装形態では、自動アシスタントは、アシスタント出力のセットに含まれるアシスタント出力の各々のための対応する埋め込み(たとえば、word2vec埋め込み、または別のより低次元の表現)を生成し、対応する埋め込みの各々をアシスタント出力埋め込み空間にマッピングして、1つまたは複数のLLM出力をインデクシングすることができる。
【0011】
したがって、発話が続いてユーザのクライアントデバイスにおいて受け取られるとき、自動アシスタントは、複数のクエリに含まれるアシスタントクエリの1つまたは複数に対応する現在のアシスタントクエリ、対応する以前の文脈の1つまたは複数に対応する現在の文脈、および/または以前のアシスタント出力の1つまたは複数に対応する1つまたは複数の現在のアシスタント出力に基づいて以前に生成された、1つまたは複数のLLM出力を特定することができる。たとえば、1つまたは複数のLLM出力が、以前のアシスタントクエリのための対応する埋め込みに基づいてインデクシングされる実装形態では、自動アシスタントは、現在のアシスタントクエリのための埋め込みが生成されてアシスタントクエリ埋め込み空間にマッピングされるようにすることができる。さらに、自動アシスタントは、クエリ埋め込み空間における、現在のアシスタントクエリのための埋め込みと、以前のアシスタントクエリのための対応する埋め込みとの間の距離が閾値を満たすことに基づいて、現在のアシスタントクエリが以前のアシスタントクエリに対応すると決定することができる。自動アシスタントは、メモリから、以前のアシスタントクエリを処理したことに基づいて生成される1つまたは複数のLLM出力を取得し、修正されたアシスタント出力のセットを生成する際に1つまたは複数のLLM出力を利用することができる。また、たとえば、複数のアシスタントクエリに含まれる1つまたは複数の用語に基づいて、1つまたは複数のLLMがインデクシングされる実装形態では、自動アシスタントは、たとえば、現在のアシスタントクエリに対応する以前のアシスタントクエリを特定するために、現在のアシスタントクエリと複数の以前のアシスタントクエリとの間の編集距離を決定することができる。同様に、自動アシスタントは、メモリから、以前のアシスタントクエリを処理したことに基づいて生成される1つまたは複数のLLM出力を取得し、修正されたアシスタント出力のセットを生成する際に1つまたは複数のLLM出力を利用することができる。
【0012】
いくつかの実装形態では、1つまたは複数のLLM出力に加えて、アシスタントクエリおよび/または対話セッションの文脈を処理したことに基づいて、追加のアシスタントクエリが生成され得る。たとえば、アシスタントクエリおよび/または対話セッションの文脈を処理する際、自動アシスタントは、NLUデータのストリームに基づいて、所与のアシスタントクエリに関連する意図を決定することができる。さらに、自動アシスタントは、所与のアシスタントクエリに関連する意図に基づいて、(たとえば、クライアントデバイスがアクセス可能なデータベースもしくはメモリにおける少なくとも1つの関連する意図への意図のマッピングに基づいて、および/または、1つまたは複数の機械学習(ML)モデルもしくはヒューリスティックに定義されるルールを使用して所与のアシスタントクエリに関連する意図を処理したことに基づいて)アシスタントクエリと関連付けられる意図に関する少なくとも1つの関連する意図を特定することができる。その上、自動アシスタントは、少なくとも1つの関連する意図に基づいて、追加のアシスタントクエリを生成することができる。たとえば、ユーザがビーチに行く予定であることをアシスタントクエリが示すと仮定する(たとえば、「Hey assistant, I'm going to the beach today」)。この例では、追加のアシスタントクエリは、たとえば、「what's the weather at Example Beach?」に対応し得る(たとえば、Example Beachという名前のユーザが通常訪れるビーチにおける天気情報を率先して決定するために)。特に、追加のアシスタントクエリは、クライアントデバイスのユーザへの提示のために提供されなくてもよい。
【0013】
むしろ、これらの実装形態では、追加のアシスタント出力は、追加のアシスタントクエリを処理したことに基づいて決定され得る。たとえば、自動アシスタントは、追加のアシスタント出力として天気情報を取得するために、構造化された要求を1つまたは複数の1Pおよび/または3Pシステムに送信することができる。さらに、Example Beachで雨が予想されていることを天気情報が示すと仮定する。これらの実装形態のいくつかのバージョンでは、自動アシスタントはさらに、修正されたアシスタント出力の追加のセットを生成するために、LLM出力および/または1つまたは複数の追加のLLM出力の1つまたは複数を使用して追加のアシスタントが処理されるようにすることができる。したがって、上で与えられた初期の例において、修正されたアシスタント出力の初期のセットからの、「Hey Assistant, I'm thinking about going surfing today」という発話を受け取ったことに応答してユーザに提供される所与の修正されたアシスタント出力は、「Enjoy it」であってもよく、修正されたアシスタント出力の追加のセットからの、所与の追加の修正されたアシスタント出力は、「but if you're going to Example Beach again, be prepared for some light showers」であってもよい。言い換えると、自動アシスタント
【0014】
様々な実装形態において、修正されたアシスタント出力のセットを生成する際に、利用される1つまたは複数のLLM出力の各々は、パラメータの複数の別々のセットのうちのパラメータのある対応するセットを使用して生成され得る。パラメータの複数の別々のセットの各々は、自動アシスタントのための別々のパーソナリティと関連付けられ得る。それらの実装形態のいくつかのバージョンでは、別々のパーソナリティの各々のためのパラメータの対応するセットを使用して1つまたは複数の対応するLLM出力を生成するために、単一のLLMを利用することができ、一方、それらの実装形態の他のバージョンでは、別々のパーソナリティの各々のためのパラメータの対応するセットを使用して1つまたは複数の対応するLLM出力を生成するために、複数のLLMを利用することができる。したがって、修正されたアシスタント出力のセットから、所与の修正されたアシスタント出力がユーザへの提示のために提供されるとき、それは、異なるパーソナリティの韻律的な性質(たとえば、これらの異なるパーソナリティのイントネーション、抑揚、声調、休止、テンポ、ストレス、リズムなど)を介して、様々な変化する文脈的なパーソナリティを反映することができる。
【0015】
特に、本明細書で説明されるこれらのパーソナリティの返答は、異なるパーソナリティの韻律的な性質を反映するだけではなく、異なるパーソナリティの別々の語彙および/または異なるパーソナリティの別々の話し方(たとえば、冗長な話し方、簡潔な話し方など)も反映することができる。たとえば、ユーザへの提示のために提供される所与の修正されたアシスタント出力は、自動アシスタントによって利用されることになる第1の語彙、および/またはユーザへの可聴の提示のために修正されたアシスタント出力を提供する際に利用されることになる韻律的な性質の第1のセットに関して、自動アシスタントの第1のパーソナリティを反映する、パラメータの第1のセットを使用して生成され得る。代替として、ユーザへの提示のために提供される修正されたアシスタント出力は、自動アシスタントによって利用されることになる第2の語彙、および/またはユーザへの可聴の提示のために修正されたアシスタント出力を提供する際に利用されることになる韻律的な性質の第2のセットに関して、自動アシスタントの第2のパーソナリティを反映する、パラメータの第2のセットを使用して生成され得る。
【0016】
したがって、自動アシスタントは、自動アシスタントによって利用される語彙と、ユーザへの可聴の提示のために修正されたアシスタント出力をレンダリングする際に利用される韻律的な性質との両方に基づいて、ユーザへの提示のために修正されたアシスタント出力を提供する際に利用されるパーソナリティを動的に適応させることができる。特に、自動アシスタントは、ユーザから受け取られた以前の発話、ならびに自動アシスタントによって提供された以前のアシスタント出力および/または本明細書で説明されるあらゆる他の文脈信号を含む、対話セッションの文脈に基づいて、修正されたアシスタント出力を提供する際に利用されるこれらのパーソナリティを動的に適応させることができる。結果として、自動アシスタントによって提供される修正されたアシスタント出力は、クライアントデバイスのユーザにより響くことがある。その上、所与の対話セッション全体で使用されるパーソナリティは、所与の対話セッションの文脈が更新されるにつれて動的に適応させられ得ることに留意されたい。
【0017】
いくつかの実装形態では、自動アシスタントは、1つまたは複数の順位付け基準に従って、アシスタント出力のセット(すなわち、1つまたは複数のLLM出力を使用して生成されない)および修正されたアシスタント出力のセット(すなわち、1つまたは複数のLLM出力を使用して生成される)に含まれるアシスタント出力を順位付けてもよい。したがって、ユーザへの提示のために提供されるものとして所与のアシスタント出力を選択する際に、自動アシスタントは、アシスタント出力のセットと修正されたアシスタント出力のセットの両方から選択することができる。1つまたは複数の順位付け基準は、たとえば、アシスタント出力のセットおよび修正されたアシスタント出力のセットに含まれるアシスタント出力の各々が発話に含まれるアシスタントクエリに対してどれだけ応答性がよいと予測されるかを示す1つまたは複数の予測される尺度(たとえば、ASR出力のストリームを生成する際に生成されるASR尺度、NLU出力のストリームを生成する際に生成されるNLU尺度、アシスタント出力のセットを生成する際に生成される履行尺度)、NLU出力のストリームに含まれる1つまたは複数の意図、および/または他の順位付け基準を含み得る。たとえば、ユーザが事実に関する回答を望むことをクライアントデバイスのユーザの意図が示す場合(たとえば、「why is the sky blue?」というアシスタントクエリを含む発話を提供したことに基づいて)、ユーザはアシスタントクエリへの簡単な回答を望む可能性が高いので、自動アシスタントは、1つまたは複数のアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を重用することができる。しかしながら、ユーザが自由回答方式の入力を提供したことをクライアントデバイスのユーザの意図が示す場合(たとえば、「what time is it?」というアシスタントクエリを含む発話を提供したことに基づいて)、ユーザはより会話的な様相を好む可能性が高いので、自動アシスタントは、修正されたアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を重用することができる。
【0018】
いくつかの実装形態では、修正されたアシスタント出力のセットを生成する前に、自動アシスタントは、修正されたアシスタント出力のセットを生成するかどうかすらも決定してもよい。それらの実装形態のいくつかのバージョンでは、自動アシスタントは、NLUデータのストリームによって示されるような発話を提供する際に、ユーザの予測される意図の1つまたは複数に基づいて、修正されたアシスタント出力のセットを生成するかどうかすらも決定してもよい。たとえば、検索を実行することを自動アシスタントに対して発話が要求している(たとえば、「Why is the sky blue?」というアシスタントクエリ)と、自動アシスタントが決定する実装形態では、ユーザが事実に関する回答を求めているので、自動アシスタントは、修正されたアシスタント出力のセットを生成しないと決定してもよい。それらの実装形態の追加または代替のバージョンでは、自動アシスタントは、アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストに基づいて、修正されたアシスタント出力のセットを生成するかどうかすらも決定してもよい。アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストは、たとえば、電池消費、アシスタント出力の1つまたは複数を修正することに関連するプロセッサ消費、またはアシスタント出力の1つまたは複数を修正することに関連するレイテンシのうちの1つまたは複数を含み得る。たとえば、クライアントデバイスが低電力モードにある場合、自動アシスタントは、クライアントデバイスの電池消費を減らすために、修正されたアシスタント出力のセットを生成しないと決定してもよい。
【0019】
本明細書において説明される技法を使用することによって、1つまたは複数の技術的利点が達成され得る。1つの比限定的な例において、本明細書で説明される技法は、自動アシスタントが対話セッションの間にユーザとの自然な会話に関与することを可能にする。たとえば、自動アシスタントは、より会話的な性質の1つまたは複数のLLM出力を使用して、修正されたアシスタント出力を生成することができる。したがって、自動アシスタントは、ユーザによって直接求められなかった対話セッションに関連する文脈情報を(たとえば、本明細書で説明されるような追加のアシスタントクエリを生成することによって、および追加のアシスタントクエリに基づいて決定される追加のアシスタント出力を提供することによって)率先して提供することができ、それにより、修正されたアシスタント出力がユーザに響くようにする。さらに、修正されたアシスタント出力は、対話セッション全体で文脈的に適応させられた語彙と、修正されたアシスタント出力を可聴にレンダリングするために利用される韻律的な性質との両方に関して、様々なパーソナリティを伴って生成されてもよく、それにより、修正されたアシスタント出力をユーザにさらに響くようにする。これは、クライアントデバイスにおける計算リソースを節約する様々な技術的利点をもたらし、対話セッションがより迅速かつ効率的な方式で終結するようにし、および/または対話セッションの量が減るようにすることができる。たとえば、対話セッションに文脈的に関連する情報が自動アシスタントによるユーザへの提示のために率先して提供され得ることにより、そのような情報をユーザが要求しなければならない状況の量を減らすことができるので、クライアントデバイスにおいて受信されるユーザ入力の量を減らすことができる。また、たとえば、1つまたは複数のLLM出力が、オフライン方式で生成され、続いてオンライン方式で利用される実装形態では、ランタイムにおいてレイテンシを減らすことができる。
【0020】
本明細書では、「対話セッション」は、ユーザと自動アシスタント(およびいくつかの場合には、他の人間の参加者)との間の、論理的に自己完結型の交換を含み得る。自動アシスタントは、セッションとセッションの間の時間の経過、セッションとセッションの間でのユーザ状況の変化(たとえば、位置、予定されている会議の前/間/後など)、ユーザと自動アシスタントとの間の対話以外のユーザとクライアントデバイスとの間の1つまたは複数の干渉する相互作用の検出(たとえば、ユーザがしばらくアプリケーションを切り替える、ユーザがスタンドアロンの音声で作動する製品から離れ、後で戻ってくる)、セッションとセッションの間のクライアントデバイスのロック/スリープ、自動アシスタントとインターフェースするために使用されるクライアントデバイスの変化などの、様々な信号に基づいて、ユーザとの複数の対話セッションを区別し得る。特に、所与の対話セッションの間に、ユーザは、限定はされないが、話される入力、タイプされる入力、および/またはタッチ入力を含む、様々な入力様式を使用して自動アシスタントと相互作用することができる。
【0021】
上の説明は、本明細書において開示されるいくつかの実装形態のみの概要として提供される。それらの実装形態および他の実装形態が、本明細書における追加の詳細において説明される。
【0022】
本明細書で開示される技法は、クライアントデバイス上でローカルに、1つまたは複数のネットワークを介してクライアントデバイスに接続されるサーバによってリモートで、および/またはその両方で実装され得ることが理解されるべきである。
【図面の簡単な説明】
【0023】
図1】本開示の様々な態様を例証し、本明細書で開示される実装形態が実装され得る、例示的な環境のブロック図である。
図2】様々な実装形態による、アシスタント出力を生成する際に大規模言語モデルを利用することの例示的なプロセスフローを示す図である。
図3】様々な実装形態による、オンライン方式において後で使用するために、オフライン方式でアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法を示すフローチャートである。
図4】様々な実装形態による、アシスタントクエリを生成したことに基づいてアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法を示すフローチャートである。
図5】様々な実装形態による、アシスタントパーソナリティの返答を生成したことに基づいてアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法を示すフローチャートである。
図6】様々な実装形態による、自動アシスタントがアシスタント出力を生成する際に大規模言語モデルを利用するような、ユーザと自動アシスタントとの間の対話セッションの非限定的な例を示す図である。
図7】様々な実装形態による、コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【0024】
ここで図1を見ると、本開示の様々な態様を例証し、本明細書で開示される実装形態が実施され得る、例示的な環境100のブロック図が示される。例示的な環境100は、クライアントデバイス110および自然会話システム120を含む。いくつかの実装形態では、自然会話システム120は、クライアントデバイス110においてローカルに実装され得る。追加または代替の実装形態では、自然会話システム120は、図1に示されるようにクライアントデバイス110からリモートで(たとえば、リモートサーバにおいて)実装され得る。これらの実装形態において、クライアントデバイス110および自然会話システム120は、1つまたは複数の有線またはワイヤレスローカルエリアネットワーク(Wi-Fi LAN、メッシュネットワーク、Bluetooth、近接場通信などを含む「LAN」)またはワイドエリアネットワーク(インターネットを含む「WAN」)などの、1つまたは複数のネットワーク199を介して互いに通信可能に結合され得る。
【0025】
クライアントデバイス110は、たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、携帯電話、車両のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンの対話型スピーカ(任意選択でディスプレイを有する)、スマートテレビなどのスマートアプライアンス、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)のうちの1つまたは複数であり得る。追加および/または代替のクライアントデバイスが提供され得る。
【0026】
クライアントデバイス110は、自動アシスタントクライアント114を実行することができる。自動アシスタントクライアント114の実例は、クライアントデバイス110のオペレーティングシステムとは別個の(たとえば、オペレーティングシステムの「上に」インストールされる)アプリケーションであってもよく、または代替として、クライアントデバイス110のオペレーティングシステムによって直接実装されてもよい。自動アシスタントクライアント114は、クライアントデバイス110においてローカルに実装される、または図1に示されるようにネットワーク199の1つまたは複数を介してリモートで実装され呼び出される、自然会話システム120と相互作用することができる。自動アシスタントクライアント114は(および任意選択で他のリモートシステム(たとえば、サーバ)との相互作用によって)、ユーザがそれとの人間対コンピュータの対話に関わり得る自動アシスタント115の論理的実例であるようにユーザの観点からは見えるものを形成し得る。自動アシスタント115の実例は、図1に示されており、クライアントデバイス110の自動アシスタントクライアント114および自然会話システム120を含む破線によって囲まれている。したがって、クライアントデバイス110で実行される自動アシスタントクライアント114と関わるユーザは、実質的に、自動アシスタント115の自分自身の論理的実例(または世帯もしくは他のユーザのグループの間で共有される自動アシスタント115の論理的実例)と関わり得ることが理解されるべきである。簡潔かつ簡単にするために、本明細書で使用されるような自動アシスタント115は、クライアントデバイス110でローカルに実行される、および/または、自然会話システム120を実装し得る1つまたは複数のリモートサーバにおいてリモートで実行される、自動アシスタントクライアント114を指す。
【0027】
様々な実装形態において、クライアントデバイス110は、1つまたは複数のユーザインターフェース入力デバイスを使用してクライアントデバイス110のユーザによって提供されるユーザ入力を検出するように構成されるユーザ入力エンジン111を含み得る。たとえば、クライアントデバイス110は、クライアントデバイス110の環境におけるユーザの発話または他の音に対応するオーディオデータなどの、オーディオデータを捉える1つまたは複数のマイクロフォンを装備し得る。追加または代替として、クライアントデバイス110は、視覚コンポーネントの1つまたは複数の視野において検出される画像および/または動き(たとえば、ジェスチャ)に対応する視覚データを捉えるように構成される1つまたは複数の視覚コンポーネントを装備し得る。追加または代替として、クライアントデバイス110は、クライアントデバイス110に向けられるタッチ入力に対応する信号を捉えるように構成される1つまたは複数のタッチ感知コンポーネント(たとえば、キーボードおよびマウス、スタイラス、タッチスクリーン、タッチパネル、1つまたは複数のハードウェアボタンなど)を装備し得る。
【0028】
様々な実装形態において、クライアントデバイス110は、1つまたは複数のユーザインターフェース出力デバイスを使用してクライアントデバイス110のユーザへの可聴のおよび/または視覚的な提示のためにコンテンツを提供するように構成される、レンダリングエンジン112を含み得る。たとえば、クライアントデバイス110は、クライアントデバイス110を介したユーザへの可聴の提示のためにコンテンツが提供されることを可能にする1つまたは複数のスピーカを装備し得る。追加または代替として、クライアントデバイス110は、クライアントデバイス110を介したユーザへの視覚的な提示のためにコンテンツが提供されることを可能にするディスプレイまたはプロジェクタを装備し得る。
【0029】
様々な実装形態において、クライアントデバイス110は、対応するユーザからの承認により、検出された存在、特に人の存在を示す信号を提供するように構成される、1つまたは複数の存在センサ113を含み得る。それらの実装形態のいくつかでは、自動アシスタント115は、クライアントデバイス110(またはクライアントデバイス110のユーザに関連する別のコンピューティングデバイス)におけるユーザの存在に少なくとも一部基づいて、発話を満足させるべきクライアントデバイス110(またはクライアントデバイス110のユーザに関連する別のコンピューティングデバイス)を特定することができる。クライアントデバイス110および/またはクライアントデバイス110のユーザに関連する他のコンピューティングデバイスにおいて(たとえば、レンダリングエンジン112を介して)応答コンテンツをレンダリングすることによって、クライアントデバイス110および/もしくはクライアントデバイス110のユーザに関連する他のコンピューティングデバイスが制御されるようにすることによって、ならびに/または、クライアントデバイス110および/もしくはクライアントデバイス110のユーザに関連する他のコンピューティングデバイスに発話を満足させるためのあらゆる他の行動を実行させることによって、発話を満足させることができる。本明細書で説明されるように、自動アシスタント115は、ユーザがどこの近くにいるか、または最近いたかに基づいて、クライアントデバイス110(または他のコンピューティングデバイス)を決定する際に、存在センサ113に基づいて決定されるデータを活用し、対応するコマンドをそのクライアントデバイス110(またはそれらの他のコンピューティングデバイス)だけに提供することができる。いくつかの追加または代替の実装形態では、自動アシスタント115は、いずれかのユーザ(任意のユーザまたは特定のユーザ)が現在クライアントデバイス110(または他のコンピューティングデバイス)の近くにいるかどうかを決定する際に、存在センサ113に基づいて決定されるデータを活用することができ、クライアントデバイス110(または他のコンピューティングデバイス)の近くにいるユーザに基づいてクライアントデバイス110(または他のコンピューティングデバイス)への、および/またはそれからのデータの提供を任意選択で抑制することができる。
【0030】
存在センサ113は様々な形態であってもよい。たとえば、クライアントデバイス110は、ユーザの存在を検出するためにユーザ入力エンジン111に関して上で説明されたユーザインターフェース入力コンポーネントの1つまたは複数を利用することができる。追加または代替として、クライアントデバイス110は、視野内の物体から放射する赤外(「IR」)光を測定する受動赤外(「PIR」)センサなどの、他のタイプの光ベースの存在センサ113を装備し得る。
【0031】
追加または代替として、いくつかの実装形態では、存在センサ113は、人の存在またはデバイスの存在に関連する他の現象を検出するように構成され得る。たとえば、いくつかの実施形態では、クライアントデバイス110は、たとえば、ユーザによって携帯/操作される他のコンピューティングデバイス(たとえば、モバイルデバイス、ウェアラブルコンピューティングデバイス)および/または他のコンピューティングデバイスによって放出される様々なタイプのワイヤレス信号(たとえば、無線波、超音波、電磁波などの波)を検出する存在センサ113を装備し得る。たとえば、クライアントデバイス110は、他のコンピューティングデバイスによって(たとえば、超音波対応マイクロフォンなどの超音波/赤外受信機を介して)検出され得る、超音波または赤外波などの、人が知覚不可能な波を放出するように構成され得る。
【0032】
追加または代替として、クライアントデバイス110は、ユーザによって携帯/操作され、ユーザの具体的な位置を決定するために使用される他のコンピューティングデバイス(たとえば、モバイルデバイス、ウェアラブルコンピューティングデバイスなど)によって検出され得る無線波(たとえば、Wi-Fi、Bluetooth、セルラーなど)などの、他のタイプの人が知覚不可能な波を放出することがある。いくつかの実装形態では、GPSおよび/またはWi-Fi三角測量が、たとえばクライアントデバイス110への/からのGPSおよび/またはWi-Fi信号に基づいて、人の位置を検出するために使用され得る。他の実装形態では、ユーザによって携帯/操作される他のコンピューティングデバイスによって放出される信号に基づいて特定の人の位置を決定するために、飛行時間、信号強度などの他のワイヤレス信号特性が、単独でまたは集合的にクライアントデバイス110によって使用され得る。追加または代替として、いくつかの実装形態では、クライアントデバイス110は、ユーザの声からユーザを認識するための話者識別(SID)、および/またはユーザの顔を捉える視覚データからユーザを認識するための顔識別(FID)を実行し得る。
【0033】
いくつかの実装形態では、次いで話者の動きが、たとえばクライアントデバイス110の存在センサ113(および任意選択でクライアントデバイス110のGPSセンサ、Soliチップ、および/または加速度計)によって決定され得る。いくつかの実装形態では、そのような検出された動きに基づいて、ユーザの位置が予測されてもよく、この位置は、ユーザの位置へのクライアントデバイス110および/または他のコンピューティングデバイスの近さに少なくとも一部基づいて、クライアントデバイス110および/または他のコンピューティングデバイスにおいてあらゆるコンテンツがレンダリングされるようになされるとき、ユーザの位置であると想定されてもよい。いくつかの実装形態では、ユーザは単に、自動アシスタント115と関わった最後の位置にいると想定されてもよく、その最後の関わりからあまり時間が経過していない場合には特にそうである。
【0034】
さらに、クライアントデバイス110および/または自然会話システム120は、データおよび/またはソフトウェアアプリケーションの記憶のための1つまたは複数のメモリ、データにアクセスしてソフトウェアアプリケーションを実行するための1つまたは複数のプロセッサ、および/またはネットワーク199の1つまたは複数を介した通信を容易にする他のコンポーネントを含み得る。いくつかの実装形態では、ソフトウェアアプリケーションの1つまたは複数は、クライアントデバイス110においてローカルにインストールされ得るが、他の実装形態では、ソフトウェアアプリケーションの1つまたは複数は、リモートで(たとえば、1つまたは複数のサーバによって)ホストされてもよく、ネットワーク199の1つまたは複数を介してクライアントデバイス110によってアクセス可能であり得る。
【0035】
いくつかの実装形態では、自動アシスタント115によって実行される動作は、自動アシスタントクライアント114を介してクライアントデバイス110においてローカルに実装されてもよい。図1に示されるように、自動アシスタントクライアント114は、自動音声認識(ASR)エンジン130A1、自然言語理解(NLU)エンジン140A1、大規模言語モデル(LLM)エンジン150A1、およびテキストツースピーチ(TTS)エンジン160A1を含んでもよい。いくつかの実装形態では、自動アシスタント115によって実行される動作は、自然会話システム120が図1に示されるようなクライアントデバイス110からリモートで実装されるときなどは、複数のコンピュータシステムにわたって分散していてもよい。これらの実装形態では、自動アシスタント115は、追加または代替として、自然会話システム120のASRエンジン130A2、NLUエンジン140A2、LLMエンジン150A2、およびTTSエンジン160A2を利用してもよい。
【0036】
これらのエンジンの各々は、1つまたは複数の機能を実行するように構成され得る。たとえば、ASRエンジン130A1および/または130A2は、ASR出力のストリームを生成するために、機械学習(ML)モデルデータベース115A(たとえば、再帰ニューラルネットワーク(RNN)モデル、transformerモデル、および/またはASRを実行することが可能な任意の他のタイプのMLモデル)に記憶されているストリーミングASRモデルを使用して、発話を捉えクライアントデバイス110のマイクロフォンによって生成されるオーディオデータのストリームを処理することができる。特に、オーディオデータのストリームが生成されるにつれてASR出力のストリームを生成するために、ストリーミングASRモデルが利用され得る。さらに、NLUエンジン140A1および/または140A2は、NLU出力のストリームを生成するために、MLモデルデータベース115Aに記憶されているNLUモデル(たとえば、長短期メモリ(LSTM)、ゲート付き回帰型ユニット(GRU)、ならびに/または、NLUを実行することが可能な任意の他のタイプのRNNもしくは他のMLモデル)および/または文法ベースのルールを使用して、ASR出力のストリームを処理することができる。その上、自動アシスタント115は、履行データのストリームを生成するためにNLU出力が処理されるようにすることができる。たとえば、自動アシスタント115は、ネットワーク199の1つまたは複数(または1つまたは複数のアプリケーションプログラミングインターフェース(API))を介して1つまたは複数のファーストパーティ(1P)システム191に、および/または、ネットワークの1つまたは複数を介して1つまたは複数のサードパーティ(3P)システム192に1つまたは複数の構造化された要求を送信し、履行データのストリームを生成するために1Pシステム191および/または3Pシステム192の1つまたは複数から履行データを受信することができる。1つまたは複数の構造化された要求は、たとえば、履行データのストリームに含まれるNLUデータを含み得る。履行データのストリームは、たとえば、ASRエンジン130A1および/または130A2によって処理されるオーディオデータのストリームにおいて捉えられる発話に含まれるアシスタントクエリに応答すると予測される、アシスタント出力のセットに対応し得る。
【0037】
さらに、LLMエンジン150A1および/または150A2は、ASRエンジン130A1および/または130A2によって処理されるオーディオデータのストリームにおいて捉えられる発話に含まれるアシスタントクエリに応答すると予測される、アシスタント出力のセットを処理することができる。(たとえば、図2図6に関して)本明細書で説明されるように、いくつかの実装形態では、LLMエンジン150A1および/または150A2は、修正されたアシスタント出力のセットを生成するために、1つまたは複数のLLM出力を使用して、アシスタント出力のセットが修正されるようにすることができる。それらの実装形態のいくつかのバージョンでは(たとえば、図3に関して説明されるように)、自動アシスタント115は、LLM出力の1つまたは複数がオフライン方式で(たとえば、発話が対話セッションの間に受け取られることに応答せずに)生成され、続いて修正されたアシスタント出力のセットを生成するためにオンライン方式で利用される(たとえば、発話が対話セッションの間に受け取られるとき)ようにすることができる。それらの実装形態の追加または代替の実装形態では(たとえば、図4および図5に関して説明されるように)、自動アシスタント115は、LLM出力の1つまたは複数がオンライン方式で生成される(たとえば、発話が対話セッションの間に受け取られるとき)ようにすることができる。これらの実装形態では、1つまたは複数のLLM出力は、モデルデータベース115Aに記憶されている1つまたは複数のLLM(たとえば、Meena、RNN、および/または任意の他のLLMなどの1つまたは複数のtransformerモデル)を使用して、アシスタント出力のセット(たとえば、履行データのストリーム)、発話が受け取られる対話セッションの文脈(たとえば、文脈データベース110Aに記憶されている1つまたは複数の文脈信号に基づく)、発話に含まれるアシスタントクエリに対応する認識されたテキスト、および/またはLLM出力の1つまたは複数を生成する際に自動アシスタント115が活用できる他の情報を処理することに基づいて生成され得る。1つまたは複数のLLM出力の各々は、たとえば、1つまたは複数の語彙にまたがる一連の1つまたは複数の語および/または語句にわたる確率分布を含むことができ、その一連の語および/または語句の1つまたは複数が、確率分布に基づいて1つまたは複数のLLM出力として選択され得る。様々な実装形態において、LLM出力の1つまたは複数は、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を修正する際に後で利用するために、LLM出力データベース150Aに記憶され得る。
【0038】
その上、いくつかの実装形態では、TTSエンジン160A1および/または160A2は、コンピュータで生成される合成音声を含む合成音声オーディオデータを生成するために、MLモデルデータベース115Aに記憶されているTTSモデルを使用して、テキストデータ(たとえば、自動アシスタント115によって述べられるテキスト)を処理することができる。テキストデータは、たとえば、履行データのストリームに含まれるアシスタント出力のセットからの1つまたは複数のアシスタント出力、修正されたアシスタント出力のセットからの修正されたアシスタント出力の1つまたは複数、および/または本明細書で説明される任意の他のテキストデータに対応し得る。特に、MLモデルデータベース115Aに記憶されているMLモデルは、クライアントデバイス110においてローカルに記憶されているオンデバイスMLモデルであってもよく、または、自然会話システム120がクライアントデバイス110においてローカルに実装されないときにはクライアントデバイス110および/もしくはリモートシステムの両方がアクセス可能な共有MLモデルであってもよい。追加または代替の実装形態では、履行データのストリームに含まれるアシスタント出力のセットからの1つまたは複数のアシスタント出力に対応するオーディオデータ、修正されたアシスタント出力のセットからの修正されたアシスタント出力の1つまたは複数、および/または本明細書で説明される任意の他のテキストデータが、クライアントデバイス110によってアクセス可能なメモリまたは1つまたは複数のデータベースに記憶され得るので、自動アシスタントは、オーディオデータがユーザへの可聴の提示のために提供されるようにする際に、あらゆる合成音声オーディオデータを生成するために、TTSエンジン160A1および/または160A2を使用する必要がない。
【0039】
様々な実装形態において、ASR出力のストリームは、たとえば、オーディオデータのストリームにおいて捉えられるユーザの発話に対応すると予測されるASR仮説(たとえば、用語仮説および/または転写仮説)のストリーム、ASR仮説の各々のための1つまたは複数の対応する予測される値(たとえば、確率、対数尤度、および/または他の値)、オーディオデータのストリームにおいて捉えられるユーザの発話に対応すると予測される複数の音素、および/または他のASR出力を含み得る。それらの実装形態のいくつかのバージョンでは、ASRエンジン130A1および/または130A2は、(たとえば、対応する予測される値に基づいて)発話に対応する認識されたテキストとしてASR仮説の1つまたは複数を選択することができる。
【0040】
様々な実装形態において、NLU出力のストリームは、たとえば、認識されたテキストの用語の1つまたは複数(たとえば、すべて)のための認識されたテキストの1つまたは複数のアノテーションを含む、アノテートされた認識されたテキストのストリームを含み得る。たとえば、NLUエンジン140A1および/または140A2は、用語の文法的な役割で用語をアノテートするように構成される音声タガー(図示せず)の一部を含み得る。追加または代替として、NLUエンジン140A1および/または140A2は、人々(たとえば、文学の登場人物、有名人、公人などを含む)、組織、位置(現実のおよび架空の)などへの言及などの、認識されたテキストの1つまたは複数のセグメントにおけるエンティティ参照をアノテートするように構成されるエンティティタガー(図示せず)を含み得る。いくつかの実装形態では、エンティティについてのデータは、既知のグラフ(図示せず)などにおいて、1つまたは複数のデータベースに記憶され得る。いくつかの実装形態では、既知のグラフは、既知のエンティティ(および場合によっては、エンティティ属性)を表すノード、ならびにノードを接続してエンティティ間の関係を表すエッジを含み得る。エンティティタガーは、高水準の粒度で(たとえば、人々などのエンティティクラスへのすべての言及の識別を可能にするために)、および/または低水準の粒度で(たとえば、特定の人物などの特定のエンティティへのすべての言及の識別を可能にするために)、エンティティへの言及をアノテートし得る。エンティティタガーは、特定のエンティティを解決するために自然言語入力の内容に依存してもよく、および/または、任意選択で、特定のエンティティを解決するために既知のグラフもしくは他のエンティティデータベースと任意選択で通信してもよい。
【0041】
追加または代替として、NLUエンジン140A1および/または140A2は、1つまたは複数の文脈キューに基づいて、同じエンティティへの言及をグループ化し、または「クラスタ化」するように構成される、共参照リゾルバ(図示せず)を含み得る。たとえば、共参照リゾルバは、自然言語入力「buy them」を受け取る直前にレンダリングされたクライアントデバイス通知において「theatre tickets」が言及されていることに基づいて、入力「buy them」において「them」という用語を「buy theatre tickets」に対して解決するために使用され得る。いくつかの実装形態では、NLUエンジン140A1および/または140A2の1つまたは複数のコンポーネントは、NLUエンジン140A1および/または140A2の1つまたは複数の他のコンポーネントからのアノテーションに依存し得る。たとえば、いくつかの実装形態では、エンティティタガーは、特定のエンティティへのすべての言及をアノテートする際に、共参照リゾルバからのアノテーションに依存し得る。また、たとえば、いくつかの実装形態では、共参照リゾルバは、同じエンティティへの言及をクラスタ化する際に、エンティティタガーからのアノテーションに依存し得る。
【0042】
図1は、単一のユーザを有する単一のクライアントデバイスに関して説明されるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。たとえば、ユーザの1つまたは複数の追加のクライアントデバイスも、本明細書で説明される技法を実装することができる。たとえば、クライアントデバイス110、1つまたは複数の追加のクライアントデバイス、および/またはユーザの任意の他のコンピューティングデバイスが、本明細書で説明される技法を利用できるデバイスのエコシステムを形成することができる。これらの追加のクライアントデバイスおよび/またはコンピューティングデバイスは、クライアントデバイス110と(たとえば、ネットワーク199を介して)通信していてもよい。別の例として、所与のクライアントデバイスは、共有される設定(たとえば、ユーザのグループ、世帯)において複数のユーザによって利用され得る。
【0043】
本明細書で説明されるように、自動アシスタント115は、LLM出力の1つまたは複数を使用してアシスタント応答のセットを修正するかどうかを決定し、および/または、LLM出力の1つまたは複数に基づいて修正されたアシスタント出力の1つまたは複数のセットを決定することができる。自動アシスタント115は、自然会話システム120を利用してこれらの決定を行うことができる。様々な実装形態において、図1に示されるように、自然会話システム120は、追加または代替として、オフライン出力修正エンジン170、オンライン出力修正エンジン180、および/または順位付けエンジン190を含み得る。オフライン出力修正エンジン170は、たとえば、アシスタント活動エンジン171およびインデクシングエンジン172を含み得る。さらに、オンライン出力修正エンジン180は、たとえば、アシスタントクエリエンジン181およびアシスタントパーソナリティエンジン182を含み得る。自然会話システム120のこれらの様々なエンジンは、図2から図5に関してより詳しく説明される。
【0044】
ここで図2を見ると、アシスタント出力を生成する際にLLMを利用することの例示的なプロセスフロー200が示されている。図1のクライアントデバイス110の1つまたは複数のマイクロフォンによって生成されるオーディオデータ201のストリームは、ASR出力203のストリームを生成するために、ASRエンジン130A1および/または130A2によって処理され得る。さらに、ASR出力203は、NLU出力204のストリームを生成するために、NLUエンジン140A1および/または140A2によって処理され得る。いくつかの実装形態では、NLUエンジン140A1および/または140A2は、ユーザのクライアントデバイス110において少なくとも一部実行される、クライアントデバイス110のユーザと自動アシスタント115との間の対話セッションの文脈202を処理し得る。それらの実装形態のいくつかのバージョンでは、対話セッションの文脈202は、クライアントデバイス110によって生成される1つまたは複数の文脈信号(たとえば、時刻、曜日、クライアントデバイス110の位置、クライアントデバイス110の環境において検出される周辺雑音、および/またはクライアントデバイス110によって生成される他の文脈信号)に基づいて決定され得る。それらの実装形態の追加または代替のバージョンでは、対話セッションの文脈202は、クライアントデバイス110においてアクセス可能な文脈データベース110Aに記憶されている1つまたは複数の文脈信号(たとえば、ユーザプロファイルデータ、ソフトウェアアプリケーションデータ、クライアントデバイス110のユーザの既知の環境についての環境データ、ユーザと自動アシスタント115との間の進行中の対話セッションの対話履歴および/もしくはユーザと自動アシスタント115との間の1つまたは複数の以前の対話セッションの過去の対話履歴、ならびに/または文脈データベース110Aに記憶されている他の文脈データ)に基づいて決定され得る。その上、NLU出力204のストリームは、1つまたは複数のアシスタント出力205のセットを含む履行データのストリームを生成するために、1Pシステム191および/または3Pシステムの1つまたは複数によって処理されてもよく、1つまたは複数のアシスタント出力205のセットに含まれる1つまたは複数のアシスタント出力の各々は、オーディオデータ201のストリームにおいて捉えられる発話に応答すると予測される。
【0045】
通常、LLMを利用しない順番ベースの対話セッションでは、順位付けエンジン190は、1つまたは複数の順位付け基準に従って、1つまたは複数のアシスタント出力205のセットに含まれる1つまたは複数のアシスタント出力の各々を順位付けるために、1つまたは複数のアシスタント出力205のセットを処理してもよく、その自動アシスタント115は、1つまたは複数のアシスタント出力205のセットからの1つまたは複数の所与のアシスタント出力207を、発話を受け取ったことに応答してクライアントデバイス110のユーザへの提示のために提供されるものとして選択してもよい。いくつかの実装形態では、選択された1つまたは複数の所与のアシスタント出力207は、選択された1つまたは複数の所与のアシスタント出力207に対応する合成音声を含む合成音声オーディオデータを生成するために、TTSエンジン160A1および/または160A2によって処理されてもよく、レンダリングエンジン112は、クライアントデバイス110のユーザへの可聴の提示のために、合成音声オーディオデータがクライアントデバイス110のスピーカによって可聴にレンダリングされるようにすることができる。追加または代替の実装形態では、レンダリングエンジン112は、選択された1つまたは複数の所与のアシスタント出力207に対応するテキストデータが、クライアントデバイス110のユーザへの視覚的な提示のためにクライアントデバイス110のディスプレイによって視覚的にレンダリングされるようにすることができる。
【0046】
しかしながら、特許請求される技法を使用する際に、自動アシスタント115はさらに、1つまたは複数の修正されたアシスタント出力206のセットを生成するために、1つまたは複数のアシスタント出力205のセットがLLMエンジン150A1および/または150A2によって処理されるようにすることができる。いくつかの実装形態では、1つまたは複数のLLM出力は、オフライン出力修正エンジン170を使用して、オフライン方式で事前に(たとえば、クライアントデバイス110のマイクロフォンの1つまたは複数によって生成されるオーディオデータ201のストリームを受信する前に)生成されてもよく、1つまたは複数のLLM出力は、LLM出力データベース150Aに記憶されてもよい。図3に関して説明されたように、1つまたは複数のLLM出力は、対応するアシスタントクエリ、および/または対応するアシスタントクエリが受信された対応する対話セッションの対応する文脈に基づいて、LLM出力データベース150Aにおいて事前にインデクシングされ得る。さらに、LLMエンジン150A1および/または150A2は、オーディオデータ201のストリームにおいて捉えられる発話に含まれるアシスタントクエリが、対応するアシスタントクエリと一致する、および/または、アシスタントクエリが受信される対話セッションの文脈202が、対応するアシスタントクエリが受信された対応する対話セッションの対応する文脈と一致すると、決定することができる。LLMエンジン150A1および/または150A2は、1つまたは複数のアシスタント出力205のセットを修正するために、対応するアシスタントクエリ、および/またはアシスタントクエリと一致する対応する文脈によってインデクシングされる1つまたは複数のLLM出力を取得することができる。その上、1つまたは複数のアシスタント出力205のセットは、LLM出力の1つまたは複数に基づいて修正されてもよく、それにより、1つまたは複数の修正されたアシスタント出力206のセットが得られる。
【0047】
追加または代替の実装形態では、1つまたは複数のLLM出力は、オンライン出力修正エンジン180を使用して、オンライン方式で(たとえば、クライアントデバイス110のマイクロフォンの1つまたは複数によって生成されるオーディオデータ201のストリームを受信したことに応答して)生成され得る。図4および図5に関して説明されたように、1つまたは複数のLLM出力は、MLモデルデータベース115Aに記憶されている1つまたは複数のLLMを使用して、1つまたは複数のLLM出力を生成するために、1つまたは複数のアシスタント出力205のセット、オーディオデータ201のストリームにおいて捉えられる発話に含まれる(たとえば、ASR出力203のストリームに含まれる)アシスタントクエリに対応する認識されたテキスト、および/または、クライアントデバイス110のユーザと自動アシスタント115との間の対話セッションの文脈202を処理してことに基づいて、生成され得る。さらに、1つまたは複数のアシスタント出力205のセットは、LLM出力の1つまたは複数に基づいて修正されてもよく、それにより、1つまたは複数の修正されたアシスタント出力206のセットが得られる。言い換えると、これらの実装形態では、LLMエンジン150A1および/または150A2は、MLモデルデータベース115Aに記憶されているLLMの1つまたは複数を使用して、1つまたは複数の修正されたアシスタント出力206のセットを直接生成することができる。
【0048】
これらの実装形態では、LLMを利用しない上で説明された典型的な順番ベースの対話セッションとは対照的に、順位付けエンジン190は、1つまたは複数の順位付け基準に従って、1つまたは複数のアシスタント出力205のセットと1つまたは複数の修正されたアシスタント出力206のセットの両方に含まれる1つまたは複数のアシスタント出力の各々を順位付けるために、1つまたは複数のアシスタント出力205のセットおよび1つまたは複数の修正されたアシスタント出力206のセットを処理し得る。したがって、1つまたは複数の所与のアシスタント出力207を選択する際、自動アシスタント207は、1つまたは複数のアシスタント出力205のセットおよび1つまたは複数の修正されたアシスタント出力206のセットから選択することができる。特に、1つまたは複数の修正されたアシスタント出力206のセットに含まれるアシスタント出力は、1つまたは複数のアシスタント出力205のセットに基づいて生成され、同じまたは同様の情報を伝えることがあるが、(たとえば、図4に関して説明されたような)対話の文脈202に関連する、および/または、より自然で流暢な、および/または自動アシスタントの性格により合った追加の情報とともに、同じまたは同様の情報を伝えることもあるので、1つまたは複数の所与のアシスタント出力207は、クライアントデバイス110のユーザにより響くようになる。
【0049】
1つまたは複数の順位付け基準は、たとえば、1つまたは複数のアシスタント出力205のセットおよび1つまたは複数の修正されたアシスタント出力206のセットに含まれるアシスタント出力の各々が、オーディオデータ201のストリームにおいて捉えられる発話に含まれるアシスタントクエリに対してどれだけ応答性が良いと予測されるかを示す1つまたは複数の予測される尺度(たとえば、ASR出力203のストリームを生成する際にASRエンジン130A1および/または130A2によって生成されるASR尺度、NLU出力204のストリームを生成する際にNLUエンジン140A1および/または140A2によって生成されるNLU尺度、1Pシステム191および/または3Pシステム192の1つまたは複数によって生成される履行尺度)、NLU出力204のストリームに含まれる1つまたは複数の意図、ユーザへの提示のために提供されるときにアシスタント出力の各々がどれだけ自然か、流暢か、および/もしくは自動アシスタントの性格に合っているかを決定するための、1つまたは複数のアシスタント出力205のセットおよび1つまたは複数の修正されたアシスタント出力206のセットに含まれるアシスタント出力の各々を処理する分類器から導出される尺度、ならびに/または他の順位付け基準を含み得る。たとえば、ユーザが事実に関する回答を望むことをクライアントデバイス110のユーザの意図が示す場合(たとえば、「why is the sky blue?」というアシスタントクエリを含む発話を提供したことに基づいて)、ユーザはアシスタントクエリへの簡単な回答を望む可能性が高いので、順位付けエンジン190は、1つまたは複数のアシスタント出力205のセットに含まれるアシスタント出力の1つまたは複数を重用することができる。しかしながら、ユーザが自由回答方式の入力を提供したことをクライアントデバイス110のユーザの意図が示す場合(たとえば、「what time is it?」というアシスタントクエリを含む発話を提供したことに基づいて)、ユーザはより会話的な様相を好む可能性が高いので、順位付けエンジン190は、1つまたは複数の修正されたアシスタント出力206のセットに含まれるアシスタント出力の1つまたは複数を重用することができる。
【0050】
図1および図2は、音声ベースの対話セッションに関して本明細書において説明されるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。むしろ、本明細書で説明される技法は、ユーザの入力様式にかかわらず利用され得ることが理解されるべきである。たとえば、ユーザがアシスタントクエリとしてタイプされた入力および/またはタッチ入力を提供するいくつかの実装形態では、自動アシスタント115は、NLU出力204のストリームを生成するためにNLUエンジン140A1および/または140A2を使用してタイプされた入力を処理することができ(たとえば、オーディオデータ201のストリームの処理を飛ばす)、LLMエンジン150A1および/または150A2は、上で説明されたのと同じまたは同様の方式で、1つまたは複数の修正されたアシスタント出力206のセットを生成する際に、アシスタントクエリに対応するテキスト入力(たとえば、タイプされた入力および/またはタッチ入力から導出される)を利用することができる。
【0051】
ここで図3を見ると、オンライン方式において後で使用するために、オフライン方式でアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法300を示すフローチャートが示されている。便宜上、方法300の動作は、図2のプロセスフロー200からの動作を実行するシステムを参照して説明される。方法300のこのシステムは、コンピューティングデバイス(たとえば、図1のクライアントデバイス110、図6のクライアントデバイス610、および/または図7のコンピューティングデバイス710、1つまたは複数のサーバ、および/または他のコンピューティングデバイス)の1つまたは複数のプロセッサ、メモリ、および/または他のコンポーネントを含む。その上、方法300の動作は特定の順序で示されるが、これは限定的であることを意図しない。1つまたは複数の動作が並べ替えられてもよく、省略されてもよく、かつ/または追加されてもよい。
【0052】
ブロック352において、システムは、自動アシスタントに向けられる複数のアシスタントクエリ、および複数のアシスタントクエリの各々のための対応する以前の対話セッションの対応する文脈を取得する。たとえば、システムは、図1および図2のオフライン出力修正エンジンのアシスタント活動エンジン171に、複数のアシスタントクエリと、たとえば図1に示されるアシスタント活動データベース170Aから複数のアシスタントクエリが受信された以前の対話セッションの対応する文脈とを取得させることができる。いくつかの実装形態では、複数のアシスタントクエリ、および複数のアシスタントクエリが受信された以前の対話セッションの対応する文脈は、クライアントデバイスのユーザ(たとえば、図1のクライアントデバイス110のユーザ)に関連するものに限定され得る。他の実装形態では、複数のアシスタントクエリ、および複数のアシスタントクエリが受信された以前の対話セッションの対応する文脈は、それぞれのクライアントデバイスの複数のユーザ(たとえば、図1のクライアントデバイス110のユーザを含むことも含まないこともある)に関連するものに限定され得る。
【0053】
ブロック354において、システムは、1つまたは複数の対応するLLM出力を生成するために、1つまたは複数のLLMを使用して、複数のアシスタントクエリの所与のアシスタントクエリを処理し、1つまたは複数の対応するLLM出力の各々は、所与のアシスタントクエリに応答すると予測される。1つまたは複数の対応するLLM出力の各々は、たとえば、1つまたは複数の語彙にまたがる一連の1つまたは複数の語および/または語句にわたる確率分布を含むことができ、その一連の語および/または語句の1つまたは複数が、確率分布に基づいて1つまたは複数の対応するLLM出力として選択され得る。様々な実装形態において、所与のアシスタントクエリのための1つまたは複数の対応するLLM出力を生成する際に、システムは、LLMの1つまたは複数を使用して、アシスタントクエリとともに、所与のアシスタントクエリが受信された対応する以前の対話セッションの対応する文脈、および/または、所与のアシスタントクエリに応答すると予測されるアシスタント出力のセット(たとえば、ASRエンジン130A1および/または130A2、NLUエンジン140A1および/または140A2、ならびに図2に関して説明されたような1Pシステム191および/または3Pシステム192の1つまたは複数を使用して所与のアシスタントクエリに対応するオーディオデータを処理したことに基づいて生成される)を処理することができる。いくつかの実装形態では、システムは、所与のアシスタントクエリに対応する認識されたテキストを処理することができ、追加または代替の実装形態では、システムは、所与のアシスタントクエリを含む発話を捉えるオーディオデータを処理することができる。いくつかの実装形態では、システムは、LLMエンジン150A1に、ユーザ(たとえば、図1のクライアントデバイス110のユーザ)のクライアントデバイスにおいてローカルにLLMの1つまたは複数を使用して所与のアシスタントクエリを処理させることができるが、他の実装形態では、システムは、LLMエンジン150A2に、ユーザのクライアントデバイスからリモートで(たとえば、リモートサーバにおいて)LLMの1つまたは複数を使用して所与のアシスタントクエリを処理させることができる。本明細書で説明されるように、1つまたは複数の対応するLLM出力は、自動アシスタントによって提供され得る典型的なアシスタント出力よりも自然な会話出力を反映することができ、これは、自動アシスタントがより流暢に対話セッションを牽引することを可能にするので、対応するLLM出力の1つまたは複数に基づいて修正されるアシスタント出力は、修正されたアシスタント出力を知覚するユーザにより響く可能性が高い。
【0054】
いくつかの実装形態では、1つまたは複数の対応するLLM出力に加えて、追加のアシスタントクエリが、所与のアシスタントクエリおよび/または所与のアシスタントクエリが受信された対応する以前の対話セッションの対応する文脈を処理したことに基づいて、LLMモデルの1つまたは複数を使用して生成され得る。たとえば、所与のアシスタントクエリおよび/または所与のアシスタントクエリが受信された対応する以前の対話セッションの対応する文脈を処理する際、LLMの1つまたは複数は、(たとえば、図2のNLUエンジン140A1および/または140A2を使用して生成されるNLU出力204のストリームに基づいて)所与のアシスタントクエリに関連する意図を決定することができる。さらに、LLMの1つまたは複数は、所与のアシスタントクエリに関連する意図に基づいて、(たとえば、クライアントデバイス110がアクセス可能なデータベースもしくはメモリにおける少なくとも1つの関連する意図への意図のマッピングに基づいて、および/または、1つまたは複数の機械学習(ML)モデルもしくはヒューリスティックに定義されるルールを使用して所与のアシスタントクエリに関連する意図を処理したことに基づいて)所与のアシスタントクエリと関連付けられる意図に関する少なくとも1つの関連する意図を特定することができる。その上、LLMの1つまたは複数は、少なくとも1つの関連する意図に基づいて、追加のアシスタントクエリを生成することができる。たとえば、ユーザが夕食をまだ食べていないことをアシスタントクエリが示すと仮定する(たとえば、食べたいということを示すユーザの意図に関連する対応する以前の対話セッションの対応する文脈によって示されるような、ユーザの物理的な居所において夕方に受け取られる「I'm feeling pretty hungry」という所与のアシスタントクエリ)。この例では、追加のアシスタントクエリは、たとえば、「what types of cuisine has the user indicated he/she prefers?」(たとえば、食べたいということを示すユーザの意図と関連付けられる、関連する料理の種類の意図を反映する)、「what restaurants nearby are open?」(たとえば、食べたいということを示すユーザの意図と関連付けられる、関連する飲食店の検索の意図を反映する)、および/または他の追加のアシスタントクエリに相当し得る。
【0055】
これらの実装形態では、追加のアシスタント出力は、追加のアシスタントクエリを処理したことに基づいて決定され得る。追加のアシスタントクエリが「what types of cuisine has the user indicated he/she prefers?」である上の例では、クライアントデバイス110にローカルに記憶されている1Pシステム191の1つまたは複数からのユーザプロファイルデータが、地中海料理およびインド料理を好むことをユーザが示したことを決定するために利用され得る。ユーザが地中海料理およびインド料理を好むことを示すユーザプロファイルデータに基づいて、1つまたは複数の対応するLLM出力は、地中海料理および/またはインド料理がユーザの食欲をそそるかどうかをユーザに尋ねるように修正され得る(たとえば、「how does Mediterranean cuisine or Indian cuisine sound for dinner」)。
【0056】
追加のアシスタントクエリが「what restaurants nearby are open?」である上の例では、1Pシステム191および/または3Pシステム192の1つまたは複数からの飲食店データが、ユーザの主要な居所の近くのどの飲食店が開いているかを決定するために利用され得る(かつ任意選択で、ユーザプロファイルデータに基づいて地中海料理およびインド料理を出す飲食店に限定される)。結果に基づいて、1つまたは複数の対応するLLM出力は、ユーザの主要な居所の近くで開いている1つまたは複数の飲食店の一覧をユーザに提供するように修正され得る(たとえば、「Example Mediterranean Restaurant is open until 9:00 PM and Example Indian Restaurant is open until 10:00 PM」)。特に、LLMを使用して最初に生成される追加のアシスタントクエリ(たとえば、上の例では「what types of cuisine has the user indicated he/she prefers?」および「what types of cuisine has the user indicated he/she prefers?」)は、1つまたは複数の対応するLLM出力に含められないことがあり、結果として、ユーザへの提示のために提供されないことがある。むしろ、追加のアシスタントクエリに基づいて決定される追加のアシスタント出力(たとえば、「how does Mediterranean cuisine or Indian cuisine sound for dinner」および「Example Mediterranean Restaurant is open until 9:00 PM and Example Indian Restaurant is open until 10:00 PM」)が、1つまたは複数の対応するLLM出力に含められることがあり、結果として、ユーザへの提示のために提供されることがある。
【0057】
追加または代替の実装形態では、1つまたは複数の対応するLLM出力の各々(および任意選択で、追加のアシスタントクエリに基づいて決定される追加のアシスタント出力)は、LLMの1つまたは複数のパラメータの複数の別々のセットの、パラメータの対応するセットを使用して生成され得る。パラメータの複数の別々のセットの各々は、自動アシスタントのための別々のパーソナリティと関連付けられ得る。それらの実装形態のいくつかのバージョンでは、別々のパーソナリティの各々のためのパラメータの対応するセットを使用して1つまたは複数の対応するLLM出力を生成するために、単一のLLMを利用することができ、一方、それらの実装形態の他のバージョンでは、別々のパーソナリティの各々のためのパラメータの対応するセットを使用して1つまたは複数の対応するLLM出力を生成するために、複数のLLMを利用することができる。たとえば、第1のパーソナリティ(たとえば、所与のアシスタントクエリが「I'm feeling pretty hungry」に対応する上の例における料理人のパーソナリティ)を反映するパラメータの第1のセットを使用して第1のLLM出力を生成し、第2のパーソナリティ(たとえば、所与のアシスタントクエリが「I'm feeling pretty hungry」に対応する上の例における執事のパーソナリティ)を反映するパラメータの第2のセットを使用して第2のLLM出力を生成し、複数の他の別々のパーソナリティについて同じことを行うために、単一のLLMが利用され得る。また、たとえば、第1のパーソナリティ(たとえば、所与のアシスタントクエリが「I'm feeling pretty hungry」に対応する上の例における料理人のパーソナリティ)を反映するパラメータの第1のセットを使用して第1のLLM出力を生成するために、第1のLLMが利用されてもよく、第2のパーソナリティ(たとえば、所与のアシスタントクエリが「I'm feeling pretty hungry」に対応する上の例における執事のパーソナリティ)を反映するパラメータの第2のセットを使用して第2のLLM出力を生成するために、第2のLLMが利用されてもよく、複数の他の別々のパーソナリティについても同じである。したがって、対応するLLM出力がユーザへの提示のために提供されるとき、それは、異なるパーソナリティの韻律的な性質(たとえば、これらの異なるパーソナリティのイントネーション、抑揚、声調、休止、テンポ、ストレス、リズムなど)を介して、様々な変化する文脈的なパーソナリティを反映することができる。追加または代替として、ユーザは、一貫した方式で(たとえば、常に執事のパーソナリティを使用する)、および/または文脈に応じた方式で(たとえば、朝と夕方には執事のパーソナリティを使用するが、昼には異なるパーソナリティを使用する)、(たとえば、本明細書で説明される自動アシスタントに関連する自動アシスタントアプリケーションの設定を介して)自動アシスタントによって利用されるべき1つまたは複数のパーソナリティを定めることができる。
【0058】
特に、本明細書で説明されるこれらのパーソナリティの返答は、異なるパーソナリティの韻律的な性質を反映するだけではなく、異なるパーソナリティの語彙および/または異なるパーソナリティの別々の話し方(たとえば、冗長な話し方、簡潔な話し方、親切なパーソナリティ、嫌味なパーソナリティなど)も反映することができる。たとえば、上で説明された料理人のパーソナリティは、特定の料理人の語彙を有することがあるので、料理人のパーソナリティのためのパラメータのセットを使用して生成される1つまたは複数の対応するLLM出力のための一連の1つまたは複数の語および/または語句にわたる確率分布は、他のパーソナリティ(たとえば、科学者のパーソナリティ、司書のパーソナリティ)のための他の一連の語および/または語句よりも、料理人により使用される一連の語および/または語句を重用することができる。したがって、対応するLLM出力の1つまたは複数がユーザへの提示のために提供されるとき、それは、異なるパーソナリティの韻律的な性質に関してだけではなく、異なるパーソナリティの正確で現実的な語彙に関しても、様々な変化する文脈に応じたパーソナリティを反映することができるので、1つまたは複数の対応するLLM出力は、様々な文脈シナリオにおいてユーザにより響くようになる。その上、異なるパーソナリティの語彙および/または話し方は、可変の度合いの粒度で定義され得ることが理解されるべきである。上の例について続けると、上で説明された料理人のパーソナリティは、追加のアシスタントクエリが地中海料理に関連することに基づいて、地中海料理について尋ねるときの固有の地中海料理人の語彙を有していてもよく、追加のアシスタントクエリがインド料理に関連することに基づいて、インド料理について尋ねるときの固有のインド料理人の語彙を有していてもよく、以下同様である。
【0059】
ブロック356において、システムは、所与のアシスタントクエリおよび/または所与のアシスタントクエリのための対応する以前の対話セッションの対応する文脈に基づいて、クライアントデバイスにおいてアクセス可能なメモリ(たとえば、図1のLLM出力データベース150A)において、対応するLLM出力の1つまたは複数をインデクシングする。たとえば、システムは、図1および図2のオフライン出力修正エンジンのインデクシングエンジン172に、LLM出力データベース150Aにおいて1つまたは複数の対応するLLM出力をインデクシングさせることができる。いくつかの実装形態では、インデクシングエンジン172は、所与のアシスタントクエリに含まれる1つまたは複数の用語、および/または所与のアシスタントクエリが受信された対応する以前の対話セッションの対応する文脈に含まれる1つまたは複数の文脈信号に基づいて、1つまたは複数の対応するLLM出力をインデクシングすることができる。追加または代替の実装形態では、インデクシングエンジン172は、所与のアシスタントクエリの埋め込み(たとえば、word2vec埋め込みまたは任意の他の低次元表現)が生成されるようにすることができ、および/または、所与のアシスタントクエリが受信された対応する以前の対話セッションの対応する文脈に含まれる1つまたは複数の文脈信号の埋め込みが生成されるようにすることができ、これらの埋め込みの1つまたは複数は、埋め込み空間(たとえば、低次元空間)にマッピングされ得る。これらの実装形態では、LLM出力データベース150Aにおいてインデクシングされる1つまたは複数の対応するLLM出力は、(たとえば、図3の方法300のブロック362、364、および366に関して以下で説明されるように)アシスタント出力のセットを修正するために、オンライン出力修正エンジン180によって後で利用され得る。様々な実装形態において、システムは、追加または代替として、所与のアシスタントクエリに応答すると予測される(しかしLLMエンジン150A1および/または150A2を使用して生成されない)1つまたは複数のアシスタント出力(たとえば、図2に関して説明されるような1つまたは複数のアシスタント出力205)を生成することができ、1つまたは複数の対応するLLM出力は、追加または代替として、1つまたは複数のアシスタント出力によってインデクシングされ得る。
【0060】
いくつかの実装形態では、ブロック358において示されるように、システムは任意選択で、対応するLLM出力の1つまたは複数を評価および/または修正するためのユーザ入力を受け取り得る。たとえば、人間の評価者が、1つまたは複数のLLMモデルを使用して生成される1つまたは複数の対応するLLM出力を分析し、1つまたは複数の対応するLLM出力に含まれる用語および/または語句の1つまたは複数を変更することによって対応するLLM出力の1つまたは複数を修正することができる。また、たとえば、人間の評価者は、1つまたは複数の対応するLLM出力のインデックスを再インデクシングし、廃棄し、および/または別様に修正することができる。したがって、これらの実装形態では、1つまたは複数のLLMを使用して生成される1つまたは複数の対応するLLM出力は、1つまたは複数の対応するLLM出力の品質を確保するために、人間の評価者によって選ばれ得る。その上、あらゆる廃棄されない、再インデクシングされた、および/または選ばれたLLM出力が、オフライン方式でLLMを修正または再訓練するために利用され得る。
【0061】
ブロック360において、システムは、LLMの1つまたは複数を使用して処理されていない、ブロック352において取得された複数のアシスタントクエリに含まれる追加のアシスタントクエリがあるかどうかを決定する。ブロック360の反復において、システムが、LLMの1つまたは複数を使用して処理されていない、ブロック352において取得された複数のアシスタントクエリに含まれる追加のアシスタントクエリがあると決定する場合、システムはブロック354に戻り、ブロック354および356の追加の反復を、所与のアシスタントクエリではなく追加のアシスタントに関して実行する。これらの動作は、ブロック352において取得された複数のアシスタントクエリに含まれるアシスタントクエリの各々に対して繰り返され得る。言い換えると、システムは、アシスタントクエリ、および/または複数のアシスタントクエリの対応する1つが受信される対応する以前の対話セッションの対応する文脈の各々のための1つまたは複数の対応するLLM出力を、それらの1つまたは複数の対応するLLM出力が利用されるようにする前にインデクシングすることができる。
【0062】
ブロック360の反復において、システムが、LLMの1つまたは複数を使用して処理されていない、ブロック352において取得された複数のアシスタントクエリに含まれる追加のアシスタントクエリがないと決定する場合、システムはブロック362に進み得る。ブロック362において、システムは、オーディオデータのストリームが自動アシスタントに向けられるクライアントデバイスのユーザの発話を捉えるかどうかを決定するために、クライアントデバイスの1つまたは複数のマイクロフォンによって生成されるオーディオデータのストリームを監視することができる。たとえば、システムは、オーディオデータのストリームに含まれる1つまたは複数の特定の語または語句を監視してもよい(たとえば、ホットワード検出モデルを使用して自動アシスタントを呼び出す1つまたは複数の特定の語または語句を監視してもよい)。また、たとえば、システムは、クライアントデバイスに向けられる発話を、任意選択で1つまたは複数の他の信号(たとえば、クライアントデバイスの視覚センサによって捉えられる1つまたは複数のジェスチャ、クライアントデバイスに向けられる凝視など)に加えて監視してもよい。ブロック362の反復において、システムが、オーディオデータのストリームが自動アシスタントに向けられるクライアントデバイスのユーザの発話を捉えなかったと決定する場合、システムは、ブロック362においてオーディオデータのストリームの監視を続け得る。ブロック362の反復において、システムが、オーディオデータのストリームが自動アシスタントに向けられるクライアントデバイスのユーザの発話を捉えると決定する場合、システムはブロック364に進み得る。
【0063】
ブロック364において、システムは、オーディオデータのストリームを処理したことに基づいて、複数のアシスタントクエリの1つに対応する現在のアシスタントクエリを発話が含むこと、および/または、複数のアシスタントクエリの1つのための対応する以前の対話セッションの対応する文脈に対応する現在の対話セッションの現在の文脈において発話が受け取られることを決定する。たとえば、システムは、ASR出力のストリーム(たとえば、図2のASR出力203のストリーム)を生成するために、ASRエンジン130A1および/または130A2を使用してオーディオデータのストリーム(たとえば、図2のオーディオデータ201のストリーム)を処理することができる。さらに、システムは、NLU出力のストリーム(たとえば、図2のNLU出力204のストリーム)を生成するために、NLUエンジン140A1および/または140A2を使用してASR出力のストリームを処理することができる。その上、ASR出力のストリームおよび/またはNUL出力のストリームに基づいて、システムは現在のアシスタントクエリを特定することができる。いくつかの実装形態では、システムはさらに、1Pシステム191および/または3Pシステムの1つまたは複数にASR出力のストリームおよび/またはNLU出力のストリームを処理させることによって、1つまたは複数のアシスタント出力(たとえば、図2の1つまたは複数のアシスタント出力205)のセットを決定することができる。
【0064】
図3の方法300のいくつかの実装形態では、システムは、オンライン出力修正エンジン180を利用して、現在のアシスタントクエリの1つまたは複数の用語または語句が、対応するLLM出力の1つまたは複数がそのためにインデクシングされた複数のアシスタントクエリの1つの1つまたは複数の用語または語句に対応すると決定することができる(たとえば、完全マッチング技法、ソフトマッチング技法、編集距離技法、音声類似性技法、埋め込み技法などの、用語または語句が互いに対応するかどうかを決定するためのあらゆる既知の技法を使用して)。現在のアシスタントクエリの1つまたは複数の用語または語句が複数のアシスタントクエリの1つの1つまたは複数の用語または語句に対応すると決定したことに応答して、システムは、ブロック356の反復においてインデクシングされ、複数のアシスタントクエリの1つと関連付けられる、対応するLLM出力の1つまたは複数を(たとえば、LLM出力データベース150Aから)取得することができる。たとえば、現在のクエリが「I'm hungry」という語句を含む場合、システムは、所与のアシスタントクエリに関して説明された上の例において生成される対応するLLM出力の1つまたは複数を取得することができる。たとえば、システムは、現在のクエリの用語と所与のアシスタントクエリの用語との間の編集距離を比較することに基づいて、上で説明された現在のクエリと所与のアシスタントクエリの両方が語句「I'm hungry」を両方とも含むと決定することができる。また、たとえば、システムは、現在のアシスタントクエリの埋め込みを生成し、ブロック356に関して上で説明された埋め込み空間に現在のクエリの埋め込みをマッピングすることができる。さらに、システムは、埋め込み空間における、現在のクエリの生成された埋め込みと所与のアシスタントクエリのための以前に生成された埋め込みとの間の距離が、距離の閾値を満たすことに基づいて、現在のアシスタントクエリが所与のアシスタントクエリに対応すると決定することができる。
【0065】
図3の方法300の追加または代替の実装形態では、システムは、オンライン出力修正エンジン180を利用して、現在のアシスタントクエリが受信されるときに検出される1つまたは複数の文脈信号が、複数のアシスタントクエリの1つが受信されたときの1つまたは複数の対応する文脈信号に対応すると決定することができる(たとえば、同じ曜日に受信される、同じ時刻に受信される、同じ位置で受信される、クライアントデバイスの環境に同じ周辺雑音が存在する、対話セッションの間の特定の一連の発話において受信される、など)。現在のアシスタントクエリに関連する文脈信号の1つまたは複数が複数のアシスタントクエリの1つの1つまたは複数の文脈信号に対応すると決定したことに応答して、システムは、ブロック356の反復においてインデクシングされ、複数のアシスタントクエリの1つと関連付けられる、対応するLLM出力の1つまたは複数を(たとえば、LLM出力データベース150Aから)取得することができる。たとえば、現在のクエリがユーザの主要な居所において夕方に受信された場合、システムは、所与のアシスタントクエリに関して説明された上の例において生成される対応するLLM出力の1つまたは複数を取得することができる。たとえば、システムは、説明された現在のクエリと所与のアシスタントクエリの両方が、「夕方」という時間的な文脈信号および「主要な居所」という位置の文脈信号と関連付けられると決定することができる。また、たとえば、システムは、現在のアシスタントクエリに関連する1つまたは複数の文脈信号の埋め込みを生成し、ブロック356に関して上で説明された埋め込み空間に現在のクエリに関連する1つまたは複数の文脈信号の埋め込みをマッピングすることができる。さらに、システムは、埋め込み空間における、現在のクエリに関連する1つまたは複数の文脈信号の生成された埋め込みと所与のアシスタントクエリに関連する1つまたは複数の文脈信号のための以前に生成された埋め込みとの間の距離が、閾値の距離を満たすことに基づいて、現在のアシスタントクエリに関連する1つまたは複数の文脈信号が所与のアシスタントクエリに関連する1つまたは複数の文脈信号に対応すると決定することができる。
【0066】
特に、システムは、現在のアシスタントクエリに応答してユーザへの提示のために提供されるべき1つまたは複数の現在のアシスタント出力を生成する際に利用されるべき1つまたは複数の対応するLLM出力を決定する際に、現在のアシスタントクエリと、現在のアシスタントクエリが受信される対話セッションの文脈(たとえば、検出される1つまたは複数の文脈信号)の、一方または両方を活用することができる。様々な実装形態において、システムは、追加または代替として、現在のアシスタントクエリに応答してユーザへの提示のために提供されるべき1つまたは複数の現在のアシスタント出力を生成する際に利用されるべき1つまたは複数の対応するLLM出力を決定する際に、現在のアシスタントクエリのために生成されるアシスタント出力の1つまたは複数を利用することができる。たとえば、システムは、追加または代替として、現在のアシスタントクエリに応答すると予測される(しかしLLMエンジン150A1および/または150A2を使用して生成されない)1つまたは複数のアシスタント出力(たとえば、図2に関して説明されるような1つまたは複数のアシスタント出力205)を生成することができ、現在のアシスタントクエリに応答すると予測されるアシスタント出力の1つまたは複数が、上で説明された様々な技法を使用して複数のアシスタントクエリの1つのための1つまたは複数の以前に生成されたアシスタント出力に対応すると決定することができる。
【0067】
ブロック366において、システムは、クライアントデバイスのユーザへの提示のために提供されるべき1つまたは複数の現在のアシスタント出力を生成する際に、対応するLLM出力の1つまたは複数を自動アシスタントに利用させる。たとえば、システムは、1つまたは複数の順位付け基準に従って、1つまたは複数のアシスタント出力(たとえば、図2に関して説明されたような1つまたは複数のアシスタント出力205)、および1つまたは複数の対応するLLM出力(たとえば、図2に関して説明されたような1つまたは複数の修正されたアシスタント出力206)を順位付けることができる。さらに、システムは、1つまたは複数のアシスタント出力および1つまたは複数の対応するLLM出力の中から1つまたは複数の現在のアシスタント出力を選択することができる。その上、システムは、1つまたは複数の現在のアシスタント出力が、クライアントデバイスのユーザへの提示のために視覚的および/または可聴にレンダリングされるようにすることができる。
【0068】
図3の方法300の実装形態は、(たとえば、オフライン出力修正エンジン170を利用して、LLMの1つまたは複数を使用して対応するLLM出力を生成し、LLM出力データベース150Aにおいて1つまたは複数の対応するLLM出力をインデクシングすることによって)オフライン方式で1つまたは複数の対応するLLM出力を生成し、続いて、(たとえば、オンライン出力修正エンジン180を利用して、現在のアシスタントクエリに基づいてLLM出力データベース150Aからの利用するべきLLM出力を決定することによって)オンライン方式で1つまたは複数の対応するLLM出力を利用することについて説明されるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。たとえば、図4および図5に関して以下で説明されるように、オンライン出力修正エンジン180は、追加または代替として、好ましい実装形態では、オンライン方式でLLMエンジン150A1および/または150A2を利用することができる。
【0069】
ここで図4を見ると、アシスタントクエリを生成したことに基づいてアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法400を示すフローチャートが示されている。便宜上、方法400の動作は、図2のプロセスフロー200からの動作を実行するシステムを参照して説明される。方法400のこのシステムは、コンピューティングデバイス(たとえば、図1のクライアントデバイス110、図6のクライアントデバイス610、および/または図7のコンピューティングデバイス710、1つまたは複数のサーバ、および/または他のコンピューティングデバイス)の1つまたは複数のプロセッサ、メモリ、および/または他のコンポーネントを含む。その上、方法400の動作は特定の順序で示されるが、これは限定的であることを意図しない。1つまたは複数の動作が並べ替えられてもよく、省略されてもよく、かつ/または追加されてもよい。
【0070】
ブロック452において、システムは、ユーザの発話を捉えるオーディオデータのストリームを受信し、発話は自動アシスタントに向けられるアシスタントクエリを含み、発話はユーザと自動アシスタントとの間の対話セッションの間に受信される。いくつかの実装形態では、システムは、1つまたは複数の条件が満たされると決定したことに応答して、システムがアシスタントクエリを捉えると決定するために、オーディオデータのストリームを処理するだけであってもよい。たとえば、システムは、オーディオデータのストリームに含まれる1つまたは複数の特定の語または語句を監視してもよい(たとえば、ホットワード検出モデルを使用して自動アシスタントを呼び出す1つまたは複数の特定の語または語句を監視してもよい)。また、たとえば、システムは、クライアントデバイスに向けられる発話を、任意選択で1つまたは複数の他の信号(たとえば、クライアントデバイスの視覚センサによって捉えられる1つまたは複数のジェスチャ、クライアントデバイスに向けられる凝視など)に加えて監視してもよい。
【0071】
ブロック454において、システムは、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定し、セットに含まれるアシスタント出力の各々は、発話に含まれるアシスタントクエリに応答する。たとえば、システムは、ASR出力のストリーム(たとえば、ASR出力203)を生成するために、ASRエンジン130A1および/または130A2を使用してオーディオデータのストリーム(たとえば、オーディオデータ201のストリーム)を処理することができる。さらに、システムは、NLU出力のストリーム(たとえば、NLU出力204のストリーム)を生成するために、NLUエンジン140A1および/または140A2を使用してASR出力のストリーム(たとえば、オーディオデータ201のストリーム)を処理することができる。その上、システムは、1つまたは複数の1Pシステム191および/または3Pシステム192に、アシスタント出力のセット(たとえば、アシスタント出力のセット)205を生成するためにNLU出力のストリーム(たとえば、NLU出力204のストリーム)を処理させることができる。特に、アシスタント出力のセットは、本明細書で説明される技法(すなわち、本明細書で説明されるようなアシスタント出力を修正する際にLLMエンジン150A1および/または150A2を利用しない技法)なしで、発話に応答する際に自動アシスタントが利用を考え得る、1つまたは複数の候補アシスタント出力に対応し得る。
【0072】
ブロック456において、システムは、アシスタント出力のセットおよび対話セッションの文脈を処理して、(1)1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成し、1つまたは複数のLLM出力の各々が、対話セッションの文脈および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力に少なくとも基づいて決定され、(2)対話セッションの文脈に少なくとも一部基づいて、かつ発話に含まれるアシスタントクエリに少なくとも一部基づいて、発話に関連する追加のアシスタントクエリを生成する。様々な実装形態において、LLM出力の各々は、オーディオデータのストリームにおいて捉えられる発話に含まれるアシスタントクエリにさらに基づいて決定され得る。いくつかの実装形態では、修正されたアシスタント出力のセットを生成する際に、1つまたは複数のLLM出力が、オフライン方式で事前に(たとえば、図3に関して上で説明されたように、発話を受け取る前に、オフライン出力修正エンジン170を使用して)生成されていてもよい。これらの実装形態では、システムは、オーディオデータのストリームにおいて捉えられる発話に含まれるアシスタントクエリが、1つまたは複数のLLM出力がそのために以前に生成されている以前のアシスタントクエリに対応すること、対話セッションの文脈が、以前のアシスタントクエリが受信された以前の対話セッションの以前の文脈に対応すること、および/または、ブロック454において決定されたアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数が、以前のクエリに基づいて決定される1つまたは複数の以前のアシスタント出力に対応することを決定することができる。さらに、システムは、図3の方法300に関して説明されたように、アシスタントクエリ、文脈、および/または、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数にそれぞれ対応する、以前のアシスタントクエリ、以前の文脈、および/またはアシスタントクエリに対応する1つまたは複数の以前のアシスタント出力に基づいてインデクシングされる、1つまたは複数のLLM出力を(たとえば、オンライン出力修正エンジン180を使用して)取得し、修正されたアシスタント出力のセットとして1つまたは複数のLLM出力を利用することができる。
【0073】
追加または代替の実装形態では、修正されたアシスタント出力のセットを生成する際に、システムは、1つまたは複数のLLM出力を生成するために、オンライン方式で(たとえば、発話を受け取ったことに応答して、オンライン出力修正エンジン180を使用して)対話セッションの文脈および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を少なくとも処理することができる。たとえば、システムは、修正されたアシスタント出力のセットを生成するために、LLMエンジン150A1および/または150A2に、1つまたは複数のLLMを使用して、対話セッションの文脈、アシスタントクエリ、および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を処理させることができる。1つまたは複数のLLM出力は、オフライン方式で1つまたは複数のLLM出力を生成することに関して図3の方法300のブロック354に関して上で説明されたのと同じまたは同様の方式で、しかしクライアントデバイスにおいて発話が受け取られたことに応答して、オンライン方式で生成され得る。たとえば、システムは、図3の方法300のブロック354に関して上で説明されたように、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力の各々に対する1つまたは複数のパーソナリティ返答を生成するために、1つまたは複数のLLMを使用して、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を処理することができる。言い換えると、アシスタント出力のセットに含まれるアシスタント出力の各々は、アシスタント出力の各々に関連する韻律的な性質に関して、限られた語彙および一貫したパーソナリティを有し得る。しかしながら、修正されたアシスタント出力のセットを生成するためにアシスタント出力のセットに含まれるアシスタント出力の各々を処理する際に、修正されたアシスタント出力の各々は、1つまたは複数の修正されたアシスタント出力を生成する際に1つまたは複数のLLMを使用することに応じてはるかにより大きな語彙を有することがあり、このとき、修正されたアシスタント出力の各々に関連する韻律的な性質に関する変動ははるかに大きい。結果として、修正されたアシスタント出力の各々は、自動アシスタントとの対話セッションに関わるユーザにより響く、文脈的に関連するアシスタント出力に対応し得る。
【0074】
同様に、いくつかの実装形態では、追加のアシスタントクエリを生成する際に、追加のアシスタントが、オフライン方式で事前に(たとえば、図3に関して上で説明されたように、発話を受け取る前に、オフライン出力修正エンジン170を使用して)生成されていてもよい。これらの実装形態では、オフライン方式で事前に生成された1つまたは複数のLLM出力を取得することに関して上で説明されたのと同様に、システムは、図3の方法300に関して説明されたように、アシスタントクエリ、文脈、および/または、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数にそれぞれ対応する、以前のアシスタントクエリ、以前の文脈、および/またはアシスタントクエリに対応する1つまたは複数の以前のアシスタント出力に基づいてインデクシングされる、追加のアシスタントクエリを取得することができ、以前に生成された追加のアシスタントクエリを追加のアシスタントクエリとして利用することができる。
【0075】
また、同様に、追加または代替の実装形態では、追加のアシスタントクエリを生成する際に、システムは、追加のアシスタントクエリを生成するために、オンライン方式で(たとえば、発話を受け取ったことに応答して、オンライン出力修正エンジン180を使用して)少なくとも対話セッションの文脈および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を処理することができる。たとえば、システムは、LLMエンジン150A1および/または150A2に、追加のアシスタントクエリを生成するために、1つまたは複数のLLMを使用して、対話セッションの文脈、アシスタントクエリ、および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を処理させることができる。追加のアシスタントクエリは、オフライン方式で追加のアシスタントクエリを生成することに関して図3の方法300のブロック354に関して上で説明されたのと同じまたは同様の方式で、しかしクライアントデバイスにおいて発話が受け取られたことに応答して、オンライン方式で生成され得る。いくつかの実装形態では、本明細書で説明される1つまたは複数のLLMは、いくつかの機能を実行することに専用の複数の別々の層を有し得る。たとえば、1つまたは複数のLLMの1つまたは複数の第1の層が、本明細書で説明されるパーソナリティ返答を生成する際に利用されてもよく、1つまたは複数のLLMの1つまたは複数の第2の層が、本明細書で説明される追加のアシスタントクエリを生成する際に利用されてもよい。追加または代替の実装形態では、1つまたは複数のLLMは、本明細書で説明される追加のアシスタントクエリを生成する際に、1つまたは複数のLLMに含まれない1つまたは複数の追加の層と通信することができる。たとえば、1つまたは複数のLLMの1つまたは複数の層が、本明細書で説明されるパーソナリティ返答を生成する際に利用されてもよく、1つまたは複数のLLMと通信している別のMLモデルの1つまたは複数の追加の層が、本明細書で説明される追加のアシスタントクエリを生成する際に利用されてもよい。パーソナリティ返答および追加のアシスタントクエリの非限定的な例は、以下で図6に関してより詳しく説明される。
【0076】
ブロック458において、システムは、追加のアシスタントクエリに基づいて、追加のアシスタントクエリに応答する追加のアシスタント出力を決定する。いくつかの実装形態では、システムは、追加のアシスタント出力を生成するために、追加のアシスタントクエリが、図2においてアシスタントクエリを処理することに関して説明されたのと同じまたは同様の方式で1Pシステム191および/または3Pシステム192の1つまたは複数によって処理されるようにすることができる。いくつかの実装形態では、追加のアシスタント出力は単一の追加のアシスタント出力であってもよいが、他の実装形態では、追加のアシスタント出力は、追加のアシスタント出力のセット(たとえば、図2の追加のアシスタント出力205のセットと同様)に含まれてもよい。追加または代替の実装形態では、追加のアシスタントクエリは、たとえば、発話および/または自動アシスタントがアクセス可能な任意の他のデータを提供したユーザのユーザプロファイルデータに基づいて、追加のアシスタント出力に直接マッピングされてもよい。
【0077】
ブロック460において、システムは、追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタントクエリに応答する追加のアシスタント出力に基づいて、修正されたアシスタント出力のセットを処理する。いくつかの実装形態では、システムは、ブロック456において生成された修正されたアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力の各々への修正されたアシスタント出力の1つまたは複数の最初または最後に、追加のアシスタント出力を追加してもよい。追加または代替の実装形態では、ブロック460Aにおいて示されるように、システムは、ブロック456において利用されるLLM出力、および/または、ブロック456において利用される1つまたは複数のLLM出力に加えて、対話セッションの文脈の少なくとも一部に基づき追加のアシスタント出力の少なくとも一部に基づいて生成される、1つまたは複数の追加のLLM出力の1つまたは複数を使用して、追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタント出力および対話セッションの文脈を処理してもよい。追加の修正されたアシスタント出力のセットは、修正されたアシスタント出力のセットを生成することに関して上で説明されたのと同じまたは同様の方式で、しかし、アシスタント出力のセットではなく追加のアシスタント出力に基づいて(たとえば、オフライン方式で生成される1つまたは複数のLLM出力を使用して、ならびに/または、オンライン方式でLLMエンジン150A1および/もしくは150A2を使用して)生成され得る。
【0078】
ブロック462において、システムは、修正されたアシスタント出力のセットからの所与の修正されたアシスタント出力、および/または、追加の修正されたアシスタント出力のセットからの所与の追加の修正されたアシスタント出力が、ユーザへの提示のために提供されるようにする。いくつかの実装形態では、システムは、順位付けエンジン190に、1つまたは複数の順位付け基準に従って、修正されたアシスタント出力のセットに含まれる1つまたは複数の修正されたアシスタント出力の各々(および任意選択で、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力の各々)を順位付けさせ、修正されたアシスタント出力のセットから所与の修正されたアシスタント出力(またはアシスタント出力のセットから所与のアシスタント出力)を選択させてもよい。さらに、システムはさらに、順位付けエンジン190に、1つまたは複数の順位付け基準に従って、追加の修正されたアシスタント出力のセットに含まれる1つまたは複数の追加の修正されたアシスタント出力の各々(および任意選択で、追加のアシスタント出力)を順位付けさせ、追加の修正されたアシスタント出力のセットから所与の追加の修正されたアシスタント出力(または所与の追加のアシスタント出力として追加のアシスタント出力)を選択させてもよい。これらの実装形態では、システムは、所与の修正されたアシスタント出力と所与の追加のアシスタント出力を組み合わせて、所与の修正されたアシスタント出力および所与の追加のアシスタント出力が、自動アシスタントとの対話セッションに関わるクライアントデバイスのユーザへの視覚的なおよび/または可聴の提示のために提供されるようにすることができる。
【0079】
ここで図5を見ると、アシスタントパーソナリティ返答を生成したことに基づいてアシスタント出力を生成する際に大規模言語モデルを利用することの例示的な方法500を示すフローチャートが示されている。便宜上、方法500の動作は、図2のプロセスフロー200からの動作を実行するシステムを参照して説明される。方法500のこのシステムは、コンピューティングデバイス(たとえば、図1のクライアントデバイス110、図6のクライアントデバイス610、および/または図7のコンピューティングデバイス710、1つまたは複数のサーバ、および/または他のコンピューティングデバイス)の1つまたは複数のプロセッサ、メモリ、および/または他のコンポーネントを含む。その上、方法500の動作は特定の順序で示されるが、これは限定的であることを意図しない。1つまたは複数の動作が並べ替えられてもよく、省略されてもよく、かつ/または追加されてもよい。
【0080】
ブロック552において、システムは、ユーザの発話を捉えるオーディオデータのストリームを受信し、発話は自動アシスタントに向けられるアシスタントクエリを含み、発話はユーザと自動アシスタントとの間の対話セッションの間に受信される。ブロック554において、システムは、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定し、セットに含まれるアシスタント出力の各々は、発話に含まれるアシスタントクエリに応答する。図5の方法500のブロック552および554の動作は、それぞれ、図4の方法400のブロック452および454に関して説明されたのと同じまたは同様の方式で実行され得る。
【0081】
ブロック556において、システムは、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力を修正するかどうかを決定する。システムは、たとえば、(たとえば、NLU出力204のストリームに含まれる)発話を提供する際のユーザの意図、アシスタント出力のセット(たとえば、アシスタント出力205のセット)に含まれる1つまたは複数のアシスタント出力、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コスト(たとえば、電池消費、プロセッサ消費、レイテンシなど)、自動アシスタントと相互作用する時間の長さ、および/または他の考慮事項に基づいて、1つまたは複数のアシスタント出力を修正するかどうかを決定することができる。たとえば、発話を提供したユーザが迅速なおよび/または事実に関する回答を予想していることをユーザの意図が示す場合(たとえば、「why is the sky blue?」、「what's the weather?」、「what time is it」など)、いくつかの事例では、システムは、発話に応答するコンテンツを提供する際の計算リソースのレイテンシと消費を減らすために、アシスタント出力の1つまたは複数を修正しないと決定することがある。また、たとえば、ユーザのクライアントデバイスが節電モードにある場合、システムは、電池の電力を節約するために、アシスタント出力の1つまたは複数を修正しないと決定することがある。また、たとえば、ユーザが、閾値の時間長(たとえば、30秒、1分など)を超える時間長のセッションをもつ対話に関わっている場合、システムは、より迅速で効率的な方式で対話セッションを終結させようとして、アシスタント出力の1つまたは複数を修正しないと決定することがある。
【0082】
ブロック556の反復において、システムが、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正しないと決定する場合、システムはブロック558に進み得る。ブロック558において、システムは、アシスタント出力のセットからの所与のアシスタント出力がユーザへの提示のために提供されるようにする。たとえば、システムは、順位付けエンジン190に、1つまたは複数の順位付け基準に従って、アシスタント出力のセットに含まれるアシスタント出力の各々を順位付けさせ、順位に基づいて、ユーザへの視覚的および/または可聴の提示のために提供されるべき所与のアシスタント出力を選択させることができる。
【0083】
ブロック556の反復において、システムが、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正すると決定する場合、システムはブロック560に進み得る。ブロック560において、システムは、1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理し、1つまたは複数のLLM出力の各々が、対話セッションの文脈および/またはアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力に基づいて決定され、1つまたは複数のLLM出力の各々が、複数の別々のパーソナリティの中からの、自動アシスタントの対応するパーソナリティを反映する。図3の方法300のブロック354に関して説明されたように、1つまたは複数のLLM出力は、自動アシスタントの異なるパーソナリティを反映するために、様々な別々のパラメータを使用して生成され得る。様々な実装形態において、LLM出力の各々は、オーディオデータのストリームにおいて捉えられる発話に含まれるアシスタントクエリにさらに基づいて決定され得る。いくつかの実装形態では、システムは、本明細書で説明されるようにオフライン方式で事前に生成されたLLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈(および任意選択でアシスタントクエリ)を処理してもよいが、追加または代替の実装形態では、システムは、本明細書で説明されるようにオンライン方式で修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈(および任意選択でアシスタントクエリ)を処理してもよい。図4の方法400に関して上で述べられたように、パーソナリティ返答および追加のアシスタントクエリの非限定的な例は、以下で図6に関してより詳しく説明される。
【0084】
ブロック562において、システムは、アシスタント出力のセットからの所与のアシスタント出力がユーザへの提示のために提供されるようにする。いくつかの実装形態では、システムは、順位付けエンジン190に、1つまたは複数の順位付け基準に従って、修正されたアシスタント出力のセットに含まれる1つまたは複数の修正されたアシスタント出力の各々(および任意選択で、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力の各々)を順位付けさせ、修正されたアシスタント出力のセットから所与の修正されたアシスタント出力(またはアシスタント出力のセットから所与のアシスタント出力)を選択させてもよい。さらに、システムは、所与の修正されたアシスタント出力がユーザへの視覚的および/または可聴の提示のために提供されるようにしてもよい。
【0085】
図5は、追加のアシスタントクエリを生成することに関して説明されないが、これは例示のためであり、限定することは意図されないことが理解されるべきである。むしろ、図4の方法400において追加のアシスタントクエリを生成することは、ユーザのより自然な会話体験を提供することに関して、対話セッションを促すために提供され得る文脈的に関連のある追加のアシスタント出力があると決定することに基づき、それにより、ユーザへの提示のために提供されるあらゆるアシスタント出力が人と人の対話セッションをより反映するようになり、ユーザと自動アシスタントとの対話セッションがよりユーザに響くようになることが理解されるべきである。その上、図3および図4は、アシスタント出力のセットを修正するかどうかを決定することに関して説明されないが、これは例示のためであり、限定することは意図されないことも理解されるべきである。むしろ、1つまたは複数のLLMを使用してアシスタント応答のセットの修正を引き起こすかどうかを決定することは、図3図4、および図5の例示的な方法のいずれにおいても実行され得ることが理解されるべきである。
【0086】
ここで図6を見ると、自動アシスタントがアシスタント出力を生成する際に1つまたは複数のLLMを利用するような、ユーザと自動アシスタントとの間の対話セッションの非限定的な例が示されている。本明細書で説明されるように、いくつかの実装形態では、自動アシスタントは、(たとえば、図3の方法300に関して上で説明されたように)修正されたアシスタント出力のセットを生成するために、オフライン方式で事前に生成された1つまたは複数のLLM出力を利用することができる。たとえば、自動アシスタントは、1つまたは複数のLLM出力がそのために事前に生成されている、以前のアシスタントクエリが、発話に含まれるアシスタントクエリに対応すること、以前の対話セッションの以前の文脈が、発話が受け取られるユーザと自動アシスタントとの間の対話セッションの文脈に対応すること、および/または、1つまたは複数の以前のアシスタント出力が、発話に含まれるアシスタントクエリのためのアシスタント出力のセットに含まれる1つまたは複数のアシスタント出力に対応することを決定することができる。さらに、自動アシスタントは、以前のアシスタントクエリ、以前の文脈、および/またはアシスタント出力の以前のセットに含まれる以前のアシスタント出力の1つまたは複数に従って(たとえば、LLM出力データベース150Aにおいて)インデクシングされる1つまたは複数のLLM出力を取得し、修正されたアシスタント出力のセットとして1つまたは複数のLLM出力を利用することができる。追加または代替の実装形態では、自動アシスタントは、(たとえば、図4の方法400および図5の方法500に関して上で説明されたように)オンライン方式で修正されたアシスタント出力のセットとして利用されるべき1つまたは複数のLLM出力を生成するために、アシスタントクエリ、対話セッションの文脈、および/または、アシスタント出力のセットに含まれる1つまたは複数のアシスタント出力が、1つまたは複数のLLMを使用して処理されるようにすることができる。したがって、図6の非限定的な例は、本明細書で説明される技法によるLLMの利用が、ユーザと自動アシスタントとの間の改善された自然な会話をどのようにもたらすかを示すために与えられる。
【0087】
クライアントデバイス610(たとえば、図1のクライアントデバイス110の実例)は、たとえば、発話および/もしくは他の可聴の入力に基づいてオーディオデータを生成するためのマイクロフォン、合成音声および/もしくは他の可聴の出力を可聴にレンダリングするためのスピーカ、ならびに/または視覚的出力を視覚的にレンダリングするためのディスプレイ680を含む、様々なユーザインターフェースコンポーネントを含み得る。さらに、クライアントデバイス610のディスプレイ680は、クライアントデバイス610に1つまたは複数の行動を実行させるために、クライアントデバイス610のユーザが相互作用し得る様々なシステムインターフェース要素681、682、および683(たとえば、ハードウェアおよび/またはソフトウェアインターフェース要素)を含み得る。クライアントデバイス610のディスプレイ680は、タッチ入力によって(たとえば、ディスプレイ680もしくはその一部(たとえば、テキスト入力ボックス(図示せず)、キーボード(図示せず)、またはディスプレイ680の他の部分)にユーザ入力を向けることによって)、および/または話される入力によって(たとえば、マイクロフォンインターフェース要素684を選択することによって、または、クライアントデバイス610においてマイクロフォンインターフェース要素684を必ずしも選択することなくただ話すことによって(すなわち、自動アシスタントは、1つまたは複数の用語もしくは語句、ジェスチャ、凝視、口の動き、唇の動き、および/または話される入力を有効にするための他の条件))、ディスプレイ680にレンダリングされる内容とユーザが相互作用することを可能にする。図6に示されるクライアントデバイス610は携帯電話であるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。たとえば、クライアントデバイス610は、ディスプレイをもつスタンドアロンスピーカ、ディスプレイのないスタンドアロンスピーカ、ホームオートメーションデバイス、車載システム、ラップトップ、デスクトップコンピュータ、および/または、クライアントデバイス610のユーザとの人間対コンピュータの対話セッションに関わるために自動アシスタントを実行することが可能な任意の他のデバイスであってもよい。
【0088】
たとえば、クライアントデバイス610のユーザが、「Hey Assistant, what time is it?」という発話652を提供すると仮定する。この例では、自動アシスタントは、ASR出力のストリームを生成するために、ASRエンジン130A1および/または130A2を使用して、発話652を捉えるオーディオデータが処理されるようにすることができる。さらに、自動アシスタントは、NLU出力のストリームを生成するために、NLUエンジン140A1および/または140A2を使用して、ASR出力のストリームが処理されるようにすることができる。その上、自動アシスタントは、1つまたは複数のアシスタント出力のセットを生成するために、1Pシステム191および/または3Pシステム192の1つまたは複数によってNLU出力のストリームが処理されるようにすることができる。アシスタント出力のセットは、たとえば、「8:30 AM」、「Good morning, it's 8:30 AM」、および/またはクライアントデバイス610のユーザに現在の時刻を伝えるあらゆる他の出力を含み得る。
【0089】
図6の例では、自動アシスタントは、修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正すると決定する。たとえば、自動アシスタントは、発話652に含まれるアシスタントクエリが、ユーザへの提示のために現在の時刻を提供するように自動アシスタントに要求していると、決定することができる。自動アシスタントは、ユーザへの提示のために現在の時刻を提供することを自動アシスタントに要求する、そのための1つまたは複数のLLM出力が事前に生成されている、以前のアシスタントクエリの実例が、図6の発話652に含まれるアシスタントクエリに対応すること、以前の対話セッションの以前の文脈が、図6のユーザと自動アシスタントとの間の対話セッションの文脈に対応すること(たとえば、ユーザが、朝に現在の時刻を提供するように自動アシスタントに要求すること(および任意選択で、対話セッションを開始することによって要求を行うこと)、クライアントデバイス610が特定の位置に位置していること、および/または他の文脈信号)、および/または、1つまたは複数の以前のアシスタント出力が、図6の発話652に含まれるアシスタントクエリのためのアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数に対応することを決定することができる。さらに、自動アシスタントは、以前のアシスタントクエリ、以前の文脈、および/またはアシスタント出力の以前のセットに含まれる以前のアシスタント出力の1つまたは複数に従って(たとえば、LLM出力データベース150Aにおいて)インデクシングされる1つまたは複数のLLM出力を取得し、修正されたアシスタント出力のセットとして1つまたは複数のLLM出力を利用することができる。また、たとえば、自動アシスタントは、オンライン方式で修正されたアシスタント出力のセットとして利用されるべき1つまたは複数のLLM出力を生成するために、アシスタントクエリ、対話セッションの文脈、および/または、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数が、1つまたは複数のLLMを使用して処理されるようにすることができる。
【0090】
図6の例では、自動アシスタントが、ユーザへの提示のために、「Good morning [User]! It's 8:30 AM. Any fun plans today?」という修正されたアシスタント出力654を提供することを決定し、修正されたアシスタント出力654がLLM出力の1つまたは複数に基づいて決定されるとさらに仮定する。ユーザへの提示のために提供される修正されたアシスタント出力654は、修正されたアシスタント出力654が文脈的に適切なあいさつ(たとえば、「Good Morning」)でユーザにあいさつしてクライアントデバイス610のユーザを名前(たとえば、「[User]」)で呼ぶという点で、クライアントデバイス610のユーザおよび対話セッションの文脈に個人化または適合される。特に、LLM出力の1つまたは複数は、自動アシスタントがアクセス可能なユーザプロファイルデータで埋められ得る1つまたは複数の対応する代用語(たとえば、修正されたアシスタント出力654において「[User]!」によって示されるような)を含み得る。図6の例はクライアントデバイス610のユーザの名前のための対応する代用語を含むが、これは例示のためであり、限定することは意図されないことが理解されるべきである。たとえば、対応する代用語の1つまたは複数は、スマートネットワーク接続デバイス識別子(たとえば、スマート照明、スマートTV、スマートアプライアンス、スマートスピーカ、スマートドアロックなど)、クライアントデバイス610のユーザに関連する既知の位置(たとえば、都市、州、郡、領域、地域、国、職場、ユーザの事務所、またはクライアントデバイス610のユーザの主要な居所の物理的な住所など)、エンティティ基準(たとえば、基準の人々、場所、物など)、ユーザのクライアントデバイス610においてアクセス可能なソフトウェアアプリケーション、および/または自動アシスタントがアクセス可能な任意の他のデータなどの、自動アシスタントがアクセス可能な任意のデータで埋められ得る。
【0091】
その上、修正されたアシスタント出力654は、発話652に含まれるアシスタントクエリに応答することに関して機能するものである(たとえば、「It's 8:30 AM」)。しかしながら、修正されたアシスタント出力654は、ユーザに個人化または適合され、アシスタントクエリに応答することに関して機能するものであるだけではなく、修正されたアシスタント出力654は、対話セッションにおいてユーザとさらに関わることによって、ユーザと自動アシスタントとの間の対話セッションを牽引することも助ける(たとえば、「Any fun plans today?」)。発話652を処理したことに基づいてアシスタント出力の元の生成されたセットを修正する際に、1つまたは複数のLLM出力を使用することに関して本明細書で説明される技法を使用しないと、自動アシスタントは、クライアントデバイス610のユーザにあいさつすることなく(たとえば、「Good morning」)、クライアントデバイス610のユーザを名前で呼ぶことなく(たとえば、「[User]」)、また対話セッションにおいてクライアントデバイス610のユーザとさらに関わることなく(たとえば、「Any fun plans today?」)、単に「It's 8:30 AM」と返答する可能性がある。したがって、修正されたアシスタント出力654は、1つまたは複数のLLM出力を利用しないアシスタント出力の元の生成されたセットに含まれるアシスタント出力のいずれよりも、クライアントデバイス610のユーザに響くことがある。
【0092】
図6の例では、クライアントデバイス610のユーザが、「Yes, I'm thinking about going to the beach」という発話656を提供するとさらに仮定する。この例では、自動アシスタントは、1つまたは複数のLLM出力を使用せずに生成されるアシスタント出力のセットを生成するために、発話656を捉えるオーディオデータが処理されるようにすることができる。さらに、自動アシスタントは、1つまたは複数のLLM出力を使用して決定される修正されたアシスタント出力のセットを生成する(たとえば、オフラインおよび/またはオンライン方式で)ために、および任意選択で、アシスタントクエリに基づいて追加のアシスタントクエリを生成するために、発話656に含まれるアシスタントクエリ、アシスタント出力のセット、および/または対話セッションの文脈が処理されるようにすることができる。
【0093】
この例では、アシスタント出力のセットに含まれる(すなわち、1つまたは複数のLLM出力を使用せずに生成される)アシスタント出力は、何らかの行動をとることを発話656に含まれるアシスタントクエリが自動アシスタントに要求しないので、限られていることがある。たとえば、アシスタント出力のセットに含まれるアシスタント出力は、「Sounds fun!」、「Surf's up!」、「That sounds like fun!」、および/または発話656に応答するが対話セッションにおいてクライアントデバイス610のユーザとさらに関わらない、他のアシスタント出力を含み得る。言い換えると、アシスタント出力のセットに含まれるアシスタント出力は、本明細書で説明されるように1つまたは複数のLLM出力を使用して生成されないので、語彙の多様性が限られていることがある。それでも、自動アシスタントは、アシスタント出力のセットに含まれるアシスタント出力を活用して、LLM出力の1つまたは複数を使用してアシスタント出力の1つまたは複数をどのように修正するかを決定することができる。
【0094】
その上、図3および図4に関して説明されるように、自動アシスタントは、アシスタントクエリに基づいて、およびLLMの1つまたは複数またはLLMの1つまたは複数と通信している別個のMLモデルを使用して、追加のアシスタントクエリを生成することができる。たとえば、図6の例では、クライアントデバイス610のユーザによって提供される発話656は、ユーザがビーチに行く予定であることを示す。ユーザがビーチに行く予定であることを発話656に関連する意図が示すことを特定したことに基づいて、自動アシスタントは、クライアントデバイス610のユーザが頻繁に訪れるビーチ(たとえば、「Half Moon Bay」という名前の例示的なビーチ)の天気を調べることと関連付けられる、関連する意図を決定することができる。関連する意図を特定したことに基づいて、自動アシスタントは、「Half Moon Bay」という位置パラメータとともに「What's the weather?」という追加のアシスタントクエリを生成し、たとえば、「Half Moon Bay」で一日中雨が降り気温が低いことを示す、「Half Moon Bay」の「weather」を含む追加のアシスタント出力を取得するために、1Pシステム191および/または3Pシステム192の1つまたは複数にクエリを出すことができる。いくつかの実装形態では、自動アシスタントは、LLM出力の1つまたは複数および/または1つまたは複数の追加のLLM出力を使用して決定される追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタント出力および/または対話セッションの文脈が処理されるようにすることができる。
【0095】
図6の例では、自動アシスタントは、1つまたは複数の順位付け基準に従って、アシスタント出力のセットに含まれるアシスタント出力および修正されたアシスタント出力のセットが順位付けられるようにすることができ、順位に基づいてアシスタント出力の1つまたは複数を選択する(たとえば、「Sounds fun!」という所与のアシスタント出力を選択する)ことができる。さらに、自動アシスタントは、1つまたは複数の順位付け基準に従って、追加の修正されたアシスタント出力のセットに含まれるアシスタント出力および追加のアシスタント出力が順位付けられるようにすることができ、順位に基づいてアシスタント出力の1つまたは複数を選択する(たとえば、「But if you're going to Half Moon Bay again, expect rain and chilly temps」という所与の追加のアシスタント出力を選択する)ことができる。その上、自動アシスタントは、選択された所与のアシスタント出力と選択された所与の追加のアシスタント出力を組み合わせて、「Sounds fun! But if you're going to Half Moon Bay again, expect rain and chilly temps」という修正されたアシスタント出力658をもたらすことができ、修正されたアシスタント出力658がクライアントデバイス610のユーザのユーザへの視覚的なおよび/または可聴の提示のために提供されるようにすることができる。したがって、この例では、自動アシスタントは、発話656を処理し、対話セッションにおいてクライアントデバイス610のユーザとさらに関わるために、発話に関連する追加の文脈情報(たとえば、クライアントデバイス610のユーザが訪れる可能性の高いビーチにおける天気)を提供することができる。本明細書で説明される技法がないと、クライアントデバイス610のユーザは、自動アシスタントが天気情報を決定して提供することが可能であるにもかかわらず、自動アシスタントから天気情報を率先して要求することを求められることがあり、それにより、ユーザ入力の量が増え、その増えた量のユーザ入力を処理する際にクライアントデバイス610において計算リソースが浪費され、またクライアントデバイス610のユーザの認知負荷が増える。
【0096】
図6の例では、クライアントデバイス610のユーザが「Oh no ... thanks for the heads up, can you remind me to check the weather again in two hours?」という発話660を提供することをさらに仮定する。この例では、自動アシスタントは、1つまたは複数のLLM出力を使用せずに生成されるアシスタント出力のセットを生成するために、発話660を捉えるオーディオデータが処理されるようにすることができる。さらに、自動アシスタントは、1つまたは複数のLLM出力を使用して決定される修正されたアシスタント出力のセットを生成する(たとえば、オフラインおよび/またはオンライン方式で)ために、発話660に含まれるアシスタントクエリ、アシスタント出力のセット、および/または対話セッションの文脈が処理されるようにすることができる。発話660を処理したことに基づいて、自動アシスタントは、「Half Moon Bay」の天気を調べることをクライアントデバイス610のユーザに思い出させるリマインダーを10:30 AM(たとえば、対話セッションの2時間後)に設定すること、または、10:30 AMにクライアントデバイス610のユーザに「Half Moon Bay」の天気を率先して提供することを決定することができる。さらに、自動アシスタントは、修正されたアシスタント出力のセット(すなわち、1つまたは複数のLLM出力を使用して生成される)から、「Sure thing, I set the reminder and hope the weather clears up for you」という修正されたアシスタント出力662が、クライアントデバイス610のユーザへの視覚的なおよび/または可聴の提示のために提供されるようにすることができる。特に、図6の例における修正されたアシスタント出力662は、天気が晴れるように望んでいることをユーザに示すという点で、対話セッションに関して文脈的である。対照的に、アシスタント出力のセットに含まれる(すなわち、LLM出力の1つまたは複数を使用せずに生成される)アシスタント出力は、対話セッションの文脈を考慮せずに、リマインダーが設定されたことの標示を提供するだけであってもよい。
【0097】
図6は、1つまたは複数のLLM出力を使用し、特定の発話および対話セッションの文脈に基づいて、特定の修正されたアシスタント出力を生成し、ユーザへの提示のために提供されるべき特定の修正されたアシスタント出力を選択することに関して説明されるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。むしろ、本明細書で説明される技法は、任意のユーザと自動アシスタントの対応する実例との間の任意の対話セッションのために利用され得る。さらに、ユーザと自動アシスタントとの間の対話セッションに対応する転写がクライアントデバイス610のディスプレイ680において示されているが、これは例示のためであり、限定することは意図されないことも理解されるべきである。たとえば、対話セッションは、自動アシスタントを実行することが可能なあらゆるデバイスにおいて、クライアントデバイスがディスプレイを含むかどうかにかかわらず実行され得ることが理解されるべきである。
【0098】
その上、図6の対話セッションにおいてユーザへの提示のために提供されるアシスタント出力は、本明細書で説明される様々なパーソナリティ返答を含み得ることも理解されるべきである。たとえば、修正されたアシスタント出力654は、自動アシスタントによって利用されることになる第1の語彙、および/またはユーザへの可聴の提示のために修正されたアシスタント出力654を提供する際に利用されることになる韻律的な性質の第1のセットに関して、自動アシスタントの第1のパーソナリティを反映する、パラメータの第1のセットを使用して生成され得る。さらに、修正されたアシスタント出力658は、自動アシスタントによって利用されることになる第2の語彙、および/またはユーザへの可聴の提示のために修正されたアシスタント出力658を提供する際に利用されることになる韻律的な性質の第2のセットに関して、自動アシスタントの第2のパーソナリティを反映する、パラメータの第2のセットを使用して生成され得る。この例では、第1のパーソナリティは、たとえば、朝のあいさつを提供するために利用される執事またはメードのパーソナリティを反映し、現在の時刻を要求するユーザに応答し、今日の予定があるかどうかをユーザに尋ねることができる。さらに、第2のパーソナリティは、たとえば、ビーチに行くのが楽しそうであること、しかしその日の天気がそのビーチにおいて理想的ではない可能性があることを示すために利用される、天気予報係、サーファー、または監視員(またはこれらの組合せ)のパーソナリティを反映することができる。たとえば、ユーザがビーチに行く予定であることを示したので、サーファーのパーソナリティが、修正されたアシスタント出力658の「Sounds fun!」部分を提供するために利用されてもよく、自動アシスタントが天気情報をユーザに提供しているので、天気予報係のパーソナリティが、「But if you're going to Half Moon Bay again, expect rain and chilly temps」を提供するために利用されてもよい。
【0099】
したがって、自動アシスタントは、自動アシスタントによって利用される語彙と、ユーザへの可聴の提示のために修正されたアシスタント出力をレンダリングする際に利用される韻律的な性質との両方に基づいて、ユーザへの提示のために修正されたアシスタント出力を提供する際に利用されるパーソナリティを動的に適応させることができる。特に、自動アシスタントは、ユーザから受け取られた以前の発話、ならびに自動アシスタントによって提供された以前のアシスタント出力および/または本明細書で説明されるあらゆる他の文脈信号を含む、対話セッションの文脈に基づいて、修正されたアシスタント出力を提供する際に利用されるこれらのパーソナリティを動的に適応させることができる。結果として、自動アシスタントによって提供される修正されたアシスタント出力は、クライアントデバイスのユーザにより響くことがある。
【0100】
その上、図6は、ユーザが対話セッション全体で発話を提供することに関連して本明細書において説明されるが、これは例示のためであり、限定することは意図されないことが理解されるべきである。たとえば、ユーザは、追加または代替として、タイプされた入力および/またはタッチ入力を対話セッション全体で提供することができる。これらの実装形態では、自動アシスタントは、タイプされた入力を(たとえば、NLUエンジン140A1および/または140A2を使用して)処理して、NLU出力のストリームを生成する(たとえば、および任意選択で、ASRエンジン130A1および/または130A2を使用するあらゆる処理を飛ばす)ことができ、上で説明されたのと同じまたは同様の方式で、1つまたは複数の修正されたアシスタント出力のセットを生成する際に、(たとえば、LLMエンジン150A1および/または150A2を使用して)タイプされた入力および/またはタッチ入力から導出されるアシスタントクエリに対応する、NLUデータのストリームおよびテキスト入力を処理することができる。
【0101】
ここで図7を見ると、本明細書において説明される技法の1つまたは複数の態様を実行するために任意選択で利用され得る、例示的なコンピューティングデバイス710のブロック図が示されている。いくつかの実装形態では、クライアントデバイス、クラウドベースの自動アシスタントコンポーネント、および/または他のコンポーネントの1つまたは複数は、例示的なコンピューティングデバイス710の1つまたは複数のコンポーネントを備えてもよい。
【0102】
コンピューティングデバイス710は通常、バスサブシステム712を介していくつかの周辺デバイスと通信する、少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリサブシステム725およびファイルストレージサブシステム726を含むストレージサブシステム724と、ユーザインターフェース出力デバイス720と、ユーザインターフェース入力デバイス722と、ネットワークインターフェースサブシステム716とを含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス710とのユーザ対話を可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイスの中の対応するインターフェースデバイスに結合される。
【0103】
ユーザインターフェース入力デバイス722は、キーボード、およびマウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピューティングデバイス710にまたは通信ネットワークに入力するすべての可能なタイプのデバイスおよび方法を含むことが意図される。
【0104】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するためのいくつかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介するなどして非視覚的ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス710からユーザに、または別の機械もしくはコンピューティングデバイスに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことが意図される。
【0105】
ストレージサブシステム724は、本明細書で説明されるモジュールの一部またはすべての機能を提供する、プログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム724は、本明細書で開示される方法の選択された態様を実行するための、ならびに図1および図2において示される様々なコンポーネントを実装するための論理を含み得る。
【0106】
これらのソフトウェアモジュールは、一般に、プロセッサ714によって単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム724において使用されるメモリ725は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)730、および固定命令が記憶される読取り専用メモリ(ROM)732を含めて、いくつかのメモリを含み得る。ファイルストレージサブシステム726は、プログラムおよびデータファイルのための永続記憶装置を提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ファイルストレージサブシステム726によって、ストレージサブシステム724に、またはプロセッサ714によってアクセス可能な他の機械に記憶され得る。
【0107】
バスサブシステム712は、コンピューティングデバイス710の様々なコンポーネントおよびサブシステムを、意図されるように互いに通信させるための機構を提供する。バスサブシステム712は、単一のバスとして概略的に示されているが、バスサブシステム712の代替の実装形態は、複数のバスを使用し得る。
【0108】
コンピューティングデバイス710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、異なるタイプのものであり得る。コンピュータおよびネットワークの常に変化し続ける性質のために、図7に示されたコンピューティングデバイス710についての説明は、いくつかの実装形態を例示するための具体例であることのみが意図される。図7に示されたコンピューティングデバイスよりも多いかまたは少ないコンポーネントを有する、コンピューティングデバイス710の多数の他の構成が可能である。
【0109】
本明細書において説明されるシステムがユーザについての個人情報を収集するもしくは別様に監視する、または個人および/または監視される情報を利用し得る状況において、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的な行動もしくは活動、職業、ユーザの選好、またはユーザの現在の地理的位置)を収集するかどうかを制御するための、または、ユーザにより関連があり得るコンテンツサーバからコンテンツを受信するかどうか、および/もしくはどのように受信するかを制御するための、機会を与えられ得る。また、いくつかのデータは、個人を識別できる情報が削除されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについて個人を識別できる情報を決定することができないように扱われることがあり、または、ユーザの地理的位置が一般化されることがあり、その場合、地理的位置情報は、ユーザの特定の地理的位置を決定することができないように(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、情報がどのようにユーザについて収集されかつ/または使用されるかを制御することができる。
【0110】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として提供され、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの生成された1つまたは複数のマイクロフォンによって生成され、発話がアシスタントクエリを含む、ステップと、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力のセットの中の各アシスタント出力が、発話に含まれるアシスタントクエリに応答する、ステップと、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、1つまたは複数のLLM出力の各々が、対話セッションの文脈の少なくとも一部およびアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数に基づいて決定される、生成することと、対話セッションの文脈の少なくとも一部に基づいて、およびアシスタントクエリの少なくとも一部に基づいて、発話に関連する追加のアシスタントクエリを生成することとのために、アシスタント出力のセットおよび対話セッションの文脈を処理するステップと、追加のアシスタントクエリに基づいて、追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、LLM出力の1つまたは複数、またはLLMを使用して生成される1つまたは複数の追加のLLM出力を使用して、追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタント出力および対話セッションの文脈を処理するステップであって、追加のLLM出力の各々が、対話セッションの文脈および追加のアシスタント出力の少なくとも一部に基づいて決定される、ステップと、修正されたアシスタント出力のセットからの所与の修正されたアシスタント出力、および追加の修正されたアシスタント出力のセットからの所与の追加の修正されたアシスタント出力が、ユーザへの提示のために提供されるようにするステップとを含む。
【0111】
本明細書において開示される技術のこれらの実装形態および他の実装形態は任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
【0112】
いくつかの実装形態では、オーディオデータのストリームを処理したことに基づいて発話に含まれるアシスタントクエリに応答するアシスタント出力を決定することは、自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータのストリームを処理するステップと、自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力のストリームを処理するステップと、アシスタント出力のセットがNLUのストリームに基づいて決定されるようにするステップとを含み得る。
【0113】
それらの実装形態のいくつかのバージョンでは、LLMを使用して生成されるLLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理することは、LLM出力の1つまたは複数を生成するために、LLMを使用してアシスタント出力のセットおよび対話セッションの文脈を処理することと、LLM出力の1つまたは複数に基づいて修正されたアシスタント出力のセットを決定することとを含み得る。それらの実装形態のいくつかのさらなるバージョンでは、LLMを使用してLLM出力の1つまたは複数を生成するためにアシスタント出力のセットおよび対話セッションの文脈を処理することは、複数の別々のパーソナリティのうちの第1のパーソナリティを有するLLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第1のセットを使用して、アシスタント出力のセットおよび対話セッションの文脈を処理することを含み得る。修正されたアシスタント出力のセットは、第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含み得る。それらの実装形態のまたさらなるバージョンでは、LLMを使用してLLM出力の1つまたは複数を生成するためにアシスタント出力のセットおよび対話セッションの文脈を処理することは、複数の別々のパーソナリティのうちの第2のパーソナリティを有するLLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第2のセットを使用して、アシスタント出力のセットおよび対話セッションの文脈を処理することを含み得る。修正されたアシスタント出力のセットは、第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含んでもよく、第2のパーソナリティは第1のパーソナリティとは別であり得る。それらの実装形態のまたまたさらなるバージョンでは、修正されたアシスタント出力のセットに含まれ、第1のパーソナリティを反映する、1つまたは複数の第1のパーソナリティアシスタント出力は、第1のパーソナリティに関連する第1の語彙を使用して決定されてもよく、修正されたアシスタント出力のセットに含まれ、第2のパーソナリティを反映する、1つまたは複数の第2のパーソナリティアシスタント出力は、第2のパーソナリティに関連する第2の語彙を使用して決定されてもよく、第2のパーソナリティは、第2の語彙が第1の語彙とは別であることに基づいて、第1のパーソナリティとは別である。それらの実装形態のまたさらなる追加または代替のバージョンでは、修正されたアシスタント出力のセットに含まれ、第1のパーソナリティを反映する、1つまたは複数の第1のパーソナリティアシスタント出力は、ユーザへの可聴の提示のために所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第1のセットと関連付けられてもよく、修正されたアシスタント出力のセットに含まれ、第2のパーソナリティを反映する、1つまたは複数の第2のパーソナリティアシスタント出力は、ユーザへの可聴の提示のために所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第2のセットと関連付けられてもよく、第2のパーソナリティは、韻律的な性質の第2のセットが韻律的な性質の第1のセットとは別であることに基づいて、第1のパーソナリティとは別であり得る。
【0114】
それらの実装形態のいくつかのバージョンでは、LLMを使用して生成されるLLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理することは、対話セッションのアシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいてLLM出力の1つまたは複数が以前に生成されていることに基づいて、および/または、対話セッションの文脈に対応する以前の対話セッションの以前の文脈のためにLLM出力の1つまたは複数が以前に生成されていることに基づいて、LLMモデルを使用して以前に生成されたLLM出力の1つまたは複数を特定することと、修正されたアシスタント出力のセットを決定するために、アシスタント出力のセットがLLM出力の1つまたは複数を用いて修正されるようにすることとを含み得る。それらの実装形態のいくつかのさらなるバージョンでは、LLMモデルを使用して以前に生成されたLLM出力の1つまたは複数を特定することは、複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力を特定することを含み得る。修正されたアシスタント出力のセットは、第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含み得る。それらの実装形態のまたさらなるバージョンでは、LLMモデルを使用して以前に生成されたLLM出力の1つまたは複数を特定することは、複数の別々のパーソナリティのうちの第2のパーソナリティを反映する、1つまたは複数のLLM出力のうちの1つまたは複数の第2のLLM出力を特定することを含み得る。修正されたアシスタント出力のセットは、第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含んでもよく、第2のパーソナリティは第1のパーソナリティとは別であり得る。それらの実装形態のまたさらなる追加または代替のバージョンでは、方法はさらに、ASR出力が以前の対話セッションの以前のアシスタントクエリの1つまたは複数の用語に対応するアシスタントクエリの1つまたは複数の用語を含むことに基づいて、以前の対話セッションの以前のアシスタントクエリが対話セッションのアシスタントクエリに対応すると決定するステップを含み得る。それらの実装形態のまたさらなる追加または代替のバージョンでは、方法はさらに、アシスタントクエリに対応するASR出力の中の1つまたは複数の用語に基づいて、アシスタントクエリの埋め込みを生成するステップと、アシスタントクエリの埋め込みを以前の対話セッションの以前のアシスタントクエリの以前に生成された埋め込みと比較することに基づいて、以前の対話セッションの以前のアシスタントクエリが対話セッションのアシスタントクエリに対応すると決定するステップとを含み得る。それらの実装形態のまたさらなる追加または代替のバージョンでは、方法はさらに、対話セッションの1つまたは複数の文脈信号が以前の対話セッションの1つまたは複数の文脈信号に対応することに基づいて、以前の対話セッションの以前の文脈が対話セッションの文脈に対応すると決定するステップを含み得る。それらの実装形態のまたまたさらなるバージョンでは、1つまたは複数の文脈信号は、時刻、曜日、クライアントデバイスの位置、クライアントデバイスの環境における周辺雑音のうちの1つまたは複数を含み得る。それらの実装形態のまたさらなる追加または代替のバージョンでは、方法はさらに、対話セッションの文脈信号に基づいて、対話セッションの文脈の埋め込みを生成するステップと、1つまたは複数の文脈信号の埋め込みを以前の対話セッションの以前の文脈の以前に生成された埋め込みと比較することに基づいて、以前の対話セッションの以前の文脈が対話セッションの文脈に対応すると決定するステップとを含み得る。
【0115】
それらの実装形態のいくつかのバージョンでは、対話セッションの文脈に少なくとも一部基づいて、アシスタントクエリに少なくとも一部基づいて、発話に関連する追加のアシスタントクエリを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理することは、NLU出力に基づいて、発話に含まれるアシスタントクエリに関連する意図を決定するステップと、発話に含まれるアシスタントクエリに関連する意図に基づいて、発話に含まれるアシスタントクエリに関連する意図に関する少なくとも1つの関連する意図を特定するステップと、少なくとも1つの関連する意図に基づいて、発話に関する追加のアシスタントクエリを生成するステップとを含み得る。それらの実装形態のいくつかのさらなるバージョンでは、追加のアシスタントクエリに基づいて追加のアシスタントクエリに応答する追加のアシスタント出力を決定することは、追加のアシスタントクエリに応答する追加のアシスタント出力を生成するために、追加のアシスタントクエリがアプリケーションプログラミングインターフェース(API)を介して1つまたは複数のファーストパーティシステムに送信されるようにすることを含み得る。それらの実装形態のいくつかの追加または代替のさらなるバージョンでは、追加のアシスタントクエリに基づいて追加のアシスタントクエリに応答する追加のアシスタント出力を決定することは、追加のアシスタントクエリが1つまたは複数のネットワークを介して1つまたは複数のサードパーティシステムに送信されるようにすることと、追加のアシスタントクエリがサードパーティシステムの1つまたは複数に送信されることに応答して、追加のアシスタントクエリに応答する追加のアシスタント出力を受信することとを含み得る。それらの実装形態のいくつかの追加または代替のさらなるバージョンでは、LLMを使用して決定される追加のLLM出力の1つまたは複数または追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタント出力および対話セッションの文脈を処理することは、追加のLLM出力の1つまたは複数を決定するために、LLMを使用して追加のアシスタント出力のセットおよび対話セッションの文脈を処理することと、追加のLLM出力の1つまたは複数に基づいて追加の修正されたアシスタント出力のセットを決定することとを含み得る。それらの実装形態のいくつかの追加または代替のさらなるバージョンでは、LLMを使用して決定されるLLM出力の1つまたは複数または追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタント出力および対話セッションの文脈を処理することは、対話セッションの追加のアシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいて追加のLLM出力の1つまたは複数が以前に生成されていることに基づいて、および/または、対話セッションの文脈に対応する以前の対話セッションの以前の文脈のために追加のLLM出力の1つまたは複数が以前に生成されていることに基づいて、LLMモデルを使用して以前に生成された追加のLLM出力の1つまたは複数を特定することと、追加の修正されたアシスタント出力のセットを決定するために、追加のアシスタント出力のセットが追加のLLM出力の1つまたは複数を用いて修正されるようにすることとを含み得る。
【0116】
いくつかの実装形態では、方法はさらに、1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の上位セットが、アシスタント出力のセットおよび修正されたアシスタント出力のセットを少なくとも含む、ステップと、順位に基づいて、修正されたアシスタント出力のセットから所与の修正されたアシスタント出力を選択するステップとを含み得る。それらの実装形態のいくつかのバージョンでは、方法はさらに、順位付け基準の1つまたは複数に基づいて、追加のアシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の上位セットが、追加のアシスタント出力および追加の修正されたアシスタント出力のセットを少なくとも含む、ステップと、順位に基づいて、追加の修正されたアシスタント出力のセットから所与の追加の修正されたアシスタント出力を選択するステップとを含み得る。それらの実装形態のいくつかのさらなるバージョンでは、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力がユーザへの提示のために提供されるようにすることは、所与の修正されたアシスタント出力と所与の追加の修正されたアシスタント出力を組み合わせることと、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力を処理するステップと、合成音声オーディオデータがクライアントデバイスのスピーカを介してユーザへの提示のために可聴にレンダリングされるようにするステップとを含み得る。
【0117】
いくつかの実装形態では、方法はさらに、1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の上位セットが、アシスタント出力のセット、修正されたアシスタント出力のセット、追加のアシスタント出力、および追加の修正されたアシスタント出力のセットを含む、ステップと、順位に基づいて、修正されたアシスタント出力のセットから所与の修正されたアシスタント出力を選択し、追加の修正されたアシスタント出力のセットから所与の追加の修正されたアシスタント出力を選択するステップとを含み得る。それらの実装形態のいくつかのさらなるバージョンでは、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力がユーザへの提示のために提供されるようにすることは、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、所与の修正されたアシスタント出力および所与の追加の修正されたアシスタント出力を処理するステップと、合成音声オーディオデータがクライアントデバイスのスピーカを介してユーザへの提示のために可聴にレンダリングされるようにするステップとを含み得る。
【0118】
いくつかの実装形態では、LLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成することはさらに、発話に含まれるアシスタントクエリの少なくとも一部を処理することに基づき得る。
【0119】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として提供され、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの1つまたは複数のマイクロフォンによって生成され、発話がアシスタントクエリを含む、ステップと、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力のセットの中の各アシスタント出力が、発話に含まれるアシスタントクエリに応答する、ステップと、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、1つまたは複数のLLM出力の各々が、対話セッションの文脈と、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、生成することと、対話セッションの文脈に少なくとも一部基づいて、およびアシスタントクエリに少なくとも一部基づいて、発話に関連する追加のアシスタントクエリを生成することとのために、アシスタント出力のセットおよび対話セッションの文脈を処理するステップと、追加のアシスタントクエリに基づいて、追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、追加の修正されたアシスタント出力のセットを生成するために、追加のアシスタントクエリに応答する追加のアシスタント出力に基づいて、修正されたアシスタント出力のセットを処理するステップと、追加の修正されたアシスタント出力のセットの中から、所与の追加の修正されたアシスタント出力がユーザへの提示のために提供されるようにするステップとを含む。
【0120】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として提供され、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの1つまたは複数のマイクロフォンによって生成され、発話がアシスタントクエリを含む、ステップと、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力のセットの中の各アシスタント出力が、発話に含まれるアシスタントクエリに応答する、ステップと、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理するステップとを含み、1つまたは複数のLLM出力の各々が、対話セッションの文脈と、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される。LLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成することは、(i)アシスタント出力のセット、(ii)対話セッションの文脈、および(iii)複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力に基づいて、第1のパーソナリティ返答のセットを生成することを含む。方法はさらに、修正されたアシスタント出力のセットの中から、ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップを含む。
【0121】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として提供され、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの1つまたは複数のマイクロフォンによって生成され、発話がアシスタントクエリを含む、ステップと、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力のセットの中の各アシスタント出力が、発話に含まれるアシスタントクエリに応答する、ステップと、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理するステップであって、1つまたは複数のLLM出力の各々が、対話セッションの文脈と、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、修正されたアシスタント出力のセットの中から、所与の修正されたアシスタント出力がユーザへの提示のために提供されるようにするステップとを含む。
【0122】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として提供され、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの1つまたは複数のマイクロフォンによって生成され、発話がアシスタントクエリを含む、ステップと、オーディオデータのストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力のセットの中の各アシスタント出力が、発話に含まれるアシスタントクエリに応答する、ステップと、発話の処理に基づいて、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正するかどうかを決定するステップと、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正することを決定したことに応答して、大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力のセットおよび対話セッションの文脈を処理するステップであって、1つまたは複数のLLM出力の各々が、対話セッションの文脈と、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、修正されたアシスタント出力のセットの中から、所与の修正されたアシスタント出力がユーザへの提示のために提供されるようにするステップとを含む。
【0123】
本明細書において開示される技術のこれらの実装形態および他の実装形態は任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
【0124】
いくつかの実装形態では、発話の処理に基づいてアシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正するかどうかを決定することは、自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータのストリームを処理することと、自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力のストリームを処理することと、NLUデータのストリームに基づいて、発話を提供する際のユーザの意図を特定することと、発話を提供する際のユーザの意図に基づいて、アシスタント出力を修正するかどうかを決定することとを含み得る。
【0125】
いくつかの実装形態では、アシスタント出力のセットに含まれるアシスタント出力の1つまたは複数を修正するかどうかを決定することはさらに、アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストに基づき得る。それらの実装形態のいくつかのバージョンでは、アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストは、電池消費、アシスタント出力の1つまたは複数を修正することに関連するプロセッサ消費、またはアシスタント出力の1つまたは複数を修正することに関連するレイテンシのうちの1つまたは複数を含み得る。
【0126】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、自動アシスタントに向けられる複数のアシスタントクエリと、複数のアシスタントクエリの各々のための対応する以前の対話セッションの対応する文脈とを取得するステップと、複数のアシスタントクエリの各々に対して、所与のアシスタントクエリに応答する対応する大規模言語モデル(LLM)出力を生成するために、1つまたは複数のLLMを使用して、複数のアシスタントクエリのうちの所与のアシスタントクエリを処理するステップと、所与のアシスタントクエリおよび/または所与のアシスタントクエリのための対応する以前の対話セッションの対応する文脈に基づいて、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングするステップと、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングした後、クライアントデバイスのユーザとクライアントデバイスによって実施される自動アシスタントとの間の現在の対話セッションの一部として、ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータのストリームがクライアントデバイスの1つまたは複数のマイクロフォンによって生成される、ステップと、オーディオデータのストリームを処理したことに基づいて、所与のアシスタントクエリに対応する現在のアシスタントクエリを発話が含むこと、および/または、所与のアシスタントクエリのための対応する以前の対話セッションの対話する文脈に対応する現在の対話セッションの現在の文脈において発話が受け取られることを決定するステップと、自動アシスタントに、発話に応答したユーザへの提示のために提供されるべきアシスタント出力を生成する際に、対応するLLM出力を利用させるステップとを含む。
【0127】
本明細書において開示される技術のこれらの実装形態および他の実装形態は任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
【0128】
いくつかの実装形態では、自動アシスタントに向けられる複数のアシスタントクエリは、クライアントデバイスを介してユーザによって以前に出されていてもよい。いくつかの実装形態では、自動アシスタントに向けられる複数のアシスタントクエリは、それぞれのクライアントデバイスを介して、クライアントデバイスのユーザに加えて、複数の追加のユーザによって以前に出されていてもよい。
【0129】
いくつかの実装形態では、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングすることは、所与のアシスタントクエリを処理する際に生成された所与のアシスタントクエリの埋め込みに基づいてもよい。いくつかの実装形態では、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングすることは、所与のアシスタントクエリを処理する際に生成された所与のアシスタントクエリに含まれる1つまたは複数の用語または語句に基づいてもよい。いくつかの実装形態では、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングすることは、所与のアシスタントクエリのための対応する以前の対話セッションの対応する文脈の埋め込みに基づいてもよい。いくつかの実装形態では、クライアントデバイスにおいてアクセス可能なメモリにおいて対応するLLM出力をインデクシングすることは、所与のアシスタントクエリのための対応する以前の対話セッションの対応する文脈に含まれる1つまたは複数の文脈信号に基づいてもよい。
【0130】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサ(たとえば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、および/またはテンソル処理装置(TPU))を含み、ここで、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、ここで、命令は、前述の方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態はまた、前述の方法のいずれかを実行するために、1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態はまた、前述の方法のいずれかを実行するために1つまたは複数のプロセッサによって実行可能な命令を含むコンピュータプログラム製品も含む。
【符号の説明】
【0131】
110 クライアントデバイス
111 ユーザ入力エンジン
112 レンダリングエンジン
113 存在センサ
114 自動アシスタントクライアント
115 自動アシスタント
120 自然会話システム
130 ASRエンジン
140 NLUエンジン
150 LLMエンジン
160 TTSエンジン
170 オフライン出力修正エンジン
171 アシスタント活動エンジン
172 インデクシングエンジン
180 オンライン出力修正エンジン
181 アシスタントクエリエンジン
182 アシスタントパーソナリティエンジン
190 順位付けエンジン
191 1Pシステム
192 3Pシステム
199 ネットワーク
201 オーディオデータのストリーム
202 文脈
203 ASR出力
204 NLU出力
205 アシスタント出力
206 修正されたアシスタント出力
207 所与のアシスタント出力
710 コンピューティングデバイス
712 バスサブシステム
714 プロセッサ
716 ネットワークインターフェース
720 ユーザインターフェース出力デバイス
722 ユーザインターフェース入力デバイス
724 ストレージサブシステム
725 メモリサブシステム
726 ファイルストレージサブシステム
730 RAM
732 ROM
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2023-11-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、生成することと、
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する追加のアシスタントクエリを生成すること
のために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のアシスタントクエリに基づいて、前記追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、
前記LLM出力の1つまたは複数または前記LLMを使用して生成される1つまたは複数の追加のLLM出力を使用して追加の修正されたアシスタント出力のセットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップであって、前記追加のLLM出力の各々が、前記対話セッションの前記文脈および前記追加のアシスタント出力に少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットからの所与の修正されたアシスタント出力、および追加の修正されたアシスタント出力の前記セットからの所与の追加の修正されたアシスタント出力が、前記ユーザへの提示のために提供されるようにするステップと
を備える、方法。
【請求項2】
オーディオデータの前記ストリームを処理したことに基づいて前記発話に含まれる前記アシスタントクエリに応答する前記アシスタント出力を決定するステップが、
自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータの前記ストリームを処理するステップと、
自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力の前記ストリームを処理するステップと、
アシスタント出力の前記セットがNLUの前記ストリームに基づいて決定されるようにするステップとを備える、請求項1に記載の方法。
【請求項3】
前記LLMを使用して生成される前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記LLM出力の1つまたは複数を生成するために、前記LLMを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記LLM出力の1つまたは複数に基づいて、修正されたアシスタント出力の前記セットを決定するステップとを備える、請求項2に記載の方法。
【請求項4】
前記LLMを使用して前記LLM出力の1つまたは複数を生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
複数の別々のパーソナリティのうちの第1のパーソナリティを有する前記LLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第1のセットを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップを備え、
修正されたアシスタント出力の前記セットが、前記第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含む、請求項3に記載の方法。
【請求項5】
前記LLMを使用して前記LLM出力の1つまたは複数を生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
複数の別々のパーソナリティのうちの第2のパーソナリティを有する前記LLM出力の1つまたは複数を決定するために、LLMパラメータの複数の別々のセットのうちのLLMパラメータの第2のセットを使用して、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップを備え、
修正されたアシスタント出力の前記セットが、前記第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含み、
前記第2のパーソナリティが前記第1のパーソナリティとは別である、請求項4に記載の方法。
【請求項6】
修正されたアシスタント出力の前記セットに含まれ、前記第1のパーソナリティを反映する、前記1つまたは複数の第1のパーソナリティアシスタント出力が、前記第1のパーソナリティに関連する第1の語彙を使用して決定され、修正されたアシスタント出力の前記セットに含まれ、前記第2のパーソナリティを反映する、前記1つまたは複数の第2のパーソナリティアシスタント出力が、前記第2のパーソナリティに関連する第2の語彙を使用して決定され、前記第2のパーソナリティが、前記第2の語彙が前記第1の語彙とは別であることに基づいて、前記第1のパーソナリティとは別である、請求項5に記載の方法。
【請求項7】
修正されたアシスタント出力の前記セットに含まれ、前記第1のパーソナリティを反映する、前記1つまたは複数の第1のパーソナリティアシスタント出力が、前記ユーザへの可聴の提示のために前記所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第1のセットと関連付けられ、修正されたアシスタント出力の前記セットに含まれ、前記第2のパーソナリティを反映する、前記1つまたは複数の第2のパーソナリティアシスタント出力が、前記ユーザへの可聴の提示のために前記所与の修正されたアシスタント出力を提供する際に利用される韻律的な性質の第2のセットと関連付けられ、前記第2のパーソナリティが、韻律的な性質の前記第2のセットが韻律的な性質の前記第1のセットとは別であることに基づいて、前記第1のパーソナリティとは別である、請求項5に記載の方法。
【請求項8】
前記LLMを使用して生成される前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記LLM出力の1つまたは複数が前記対話セッションの前記アシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいて以前に生成されていることに基づいて、および/または、前記LLM出力の1つまたは複数が前記対話セッションの前記文脈に対応する前記以前の対話セッションの以前の文脈のために以前に生成されていることに基づいて、前記LLMを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップと、
修正されたアシスタント出力の前記セットを決定するために、アシスタント出力の前記セットが前記LLM出力の1つまたは複数を用いて修正されるようにするステップとを備える、請求項2から7のいずれか一項に記載の方法。
【請求項9】
前記LLMを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップが、
複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力を特定するステップを備え、
修正されたアシスタント出力の前記セットが、前記第1のパーソナリティを反映する1つまたは複数の第1のパーソナリティアシスタント出力を含む、請求項8に記載の方法。
【請求項10】
前記LLMを使用して以前に生成された前記LLM出力の1つまたは複数を特定するステップが、
複数の別々のパーソナリティのうちの第2のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第2のLLM出力を特定するステップを備え、
修正されたアシスタント出力の前記セットが、前記第2のパーソナリティを反映する1つまたは複数の第2のパーソナリティアシスタント出力を含み、
前記第2のパーソナリティが前記第1のパーソナリティとは別である、請求項9に記載の方法。
【請求項11】
前記ASR出力が前記以前の対話セッションの前記以前のアシスタントクエリの1つまたは複数の用語に対応する前記アシスタントクエリの1つまたは複数の用語を含むことに基づいて、前記以前の対話セッションの前記以前のアシスタントクエリが前記対話セッションの前記アシスタントクエリに対応すると決定するステップをさらに備える、請求項8から10のいずれか一項に記載の方法。
【請求項12】
前記アシスタントクエリに対応する前記ASR出力の中の1つまたは複数の用語に基づいて、前記アシスタントクエリの埋め込みを生成するステップと、
前記アシスタントクエリの前記埋め込みを前記以前の対話セッションの前記以前のアシスタントクエリの以前に生成された埋め込みと比較することに基づいて、前記以前の対話セッションの前記以前のアシスタントクエリが前記対話セッションの前記アシスタントクエリに対応すると決定するステップをさらに備える、請求項8から11のいずれか一項に記載の方法。
【請求項13】
前記対話セッションの1つまたは複数の文脈信号が前記以前の対話セッションの1つまたは複数の文脈信号に対応することに基づいて、前記以前の対話セッションの前記以前の文脈が前記対話セッションの前記文脈に対応すると決定するステップをさらに備える、請求項8から12のいずれか一項に記載の方法。
【請求項14】
前記1つまたは複数の文脈信号が、時刻、曜日、前記クライアントデバイスの位置、前記クライアントデバイスの環境における周辺雑音のうちの1つまたは複数を含む、請求項13に記載の方法。
【請求項15】
前記対話セッションの文脈信号に基づいて、前記対話セッションの前記文脈の埋め込みを生成するステップと、
前記1つまたは複数の文脈信号の前記埋め込みを前記以前の対話セッションの前記以前の文脈の以前に生成された埋め込みと比較することに基づいて、前記以前の対話セッションの前記以前の文脈が前記対話セッションの前記文脈に対応すると決定するステップをさらに備える、請求項8から14のいずれか一項に記載の方法。
【請求項16】
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する前記追加のアシスタントクエリを生成するために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップが、
前記NLUの出力に基づいて、前記発話に含まれる前記アシスタントクエリに関連する意図を決定するステップと、
前記発話に含まれる前記アシスタントクエリに関連する前記意図に基づいて、前記発話に含まれる前記アシスタントクエリに関連する前記意図に関する少なくとも1つの関連する意図を特定するステップと、
前記少なくとも1つの関連する意図に基づいて、前記発話に関連する前記追加のアシスタントクエリを生成するステップとを備える、請求項2から15のいずれか一項に記載の方法。
【請求項17】
前記追加のアシスタントクエリに基づいて前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を決定するステップが、
前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を生成するために、前記追加のアシスタントクエリがアプリケーションプログラミングインターフェース(API)を介して1つまたは複数のファーストパーティシステムに送信されるようにするステップを備える、請求項16に記載の方法。
【請求項18】
前記追加のアシスタントクエリに基づいて前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を決定するステップが、
前記追加のアシスタントクエリが1つまたは複数のネットワークを介して1つまたは複数のサードパーティシステムに送信されるようにするステップと、
前記追加のアシスタントクエリが前記サードパーティシステムの1つまたは複数に送信されることに応答して、前記追加のアシスタントクエリに応答する前記追加のアシスタント出力を受信するステップとを備える、請求項16に記載の方法。
【請求項19】
前記LLMを使用して決定される前記LLM出力の1つまたは複数または前記追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力の前記セットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップが、
前記追加のLLM出力の1つまたは複数を決定するために、前記LLMを使用して、追加のアシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のLLM出力の1つまたは複数に基づいて、追加の修正されたアシスタント出力の前記セットを決定するステップとを備える、請求項16から18のいずれか一項に記載の方法。
【請求項20】
前記LLMを使用して決定される前記LLM出力の1つまたは複数または前記追加のLLM出力の1つまたは複数を使用して追加の修正されたアシスタント出力の前記セットを生成するために、前記追加のアシスタント出力および前記対話セッションの前記文脈を処理するステップが、
前記追加のLLM出力の1つまたは複数が前記対話セッションの前記追加のアシスタントクエリに対応する以前の対話セッションの以前のアシスタントクエリに基づいて以前に生成されていることに基づいて、および/または、前記追加のLLM出力の1つまたは複数が前記対話セッションの前記文脈に対応する前記以前の対話セッションの以前の文脈のために以前に生成されていることに基づいて、前記LLMを使用して以前に生成された前記追加のLLM出力の1つまたは複数を特定するステップと、
追加の修正されたアシスタント出力の前記セットを生成するために、追加のアシスタント出力の前記セットが前記追加のLLM出力の1つまたは複数を用いて修正されるようにするステップとを備える、請求項16から18のいずれか一項に記載の方法。
【請求項21】
1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、アシスタント出力の前記セットおよび修正されたアシスタント出力の前記セットを少なくとも含む、ステップと、
順位に基づいて、修正されたアシスタント出力の前記セットから前記所与の修正されたアシスタント出力を選択するステップとをさらに備える、請求項1から20のいずれか一項に記載の方法。
【請求項22】
前記順位付け基準の1つまたは複数に基づいて、追加のアシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、前記追加のアシスタント出力および追加の修正されたアシスタント出力の前記セットを少なくとも含む、ステップと、
前記順位に基づいて、追加の修正されたアシスタント出力の前記セットから前記所与の追加の修正されたアシスタント出力を選択するステップとをさらに備える、請求項21に記載の方法。
【請求項23】
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力が前記ユーザへの提示のために提供されるようにするステップが、
前記所与の修正されたアシスタント出力と前記所与の追加の修正されたアシスタント出力を組み合わせるステップと、
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を処理するステップと、
前記合成音声オーディオデータが、前記クライアントデバイスのスピーカを介して前記ユーザへの提示のために可聴にレンダリングされるようにするステップとを備える、請求項22に記載の方法。
【請求項24】
1つまたは複数の順位付け基準に基づいて、アシスタント出力の上位セットを順位付けるステップであって、アシスタント出力の前記上位セットが、アシスタント出力の前記セット、修正されたアシスタント出力の前記セット、前記追加のアシスタント出力、および追加の修正されたアシスタント出力の前記セットを含む、ステップと、
順位に基づいて、修正されたアシスタント出力の前記セットから前記所与の修正されたアシスタント出力を選択し、追加の修正されたアシスタント出力の前記セットから前記所与の追加の修正されたアシスタント出力を選択するステップとをさらに備える、請求項1から23のいずれか一項に記載の方法。
【請求項25】
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力が前記ユーザへの提示のために提供されるようにするステップが、
前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を捉える合成音声を含む合成音声オーディオデータを生成するために、テキストツースピーチ(TTS)モデルを使用して、前記所与の修正されたアシスタント出力および前記所与の追加の修正されたアシスタント出力を処理するステップと、
前記合成音声オーディオデータが、前記クライアントデバイスのスピーカを介して前記ユーザへの提示のために可聴にレンダリングされるようにするステップとを備える、請求項24に記載の方法。
【請求項26】
前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力のセットを生成するステップがさらに、前記発話に含まれる前記アシスタントクエリの少なくとも一部を処理することに基づく、請求項1から25のいずれか一項に記載の方法。
【請求項27】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成することであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、生成することと、
前記対話セッションの前記文脈に少なくとも一部基づいて、かつ前記アシスタントクエリに少なくとも一部基づいて、前記発話に関連する追加のアシスタントクエリを生成すること
のために、アシスタント出力の前記セットおよび前記対話セッションの前記文脈を処理するステップと、
前記追加のアシスタントクエリに基づいて、前記追加のアシスタントクエリに応答する追加のアシスタント出力を決定するステップと、
追加の修正されたアシスタント出力のセットを生成するために、前記追加のアシスタントクエリに応答する前記追加のアシスタント出力に基づいて、修正されたアシスタント出力の前記セットを処理するステップと、
追加の修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の追加の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項28】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定され、前記LLM出力の1つまたは複数を使用して修正されたアシスタント出力の前記セットを生成することが、
(i)アシスタント出力の前記セット、(ii)前記対話セッションの前記文脈、および(iii)複数の別々のパーソナリティのうちの第1のパーソナリティを反映する、前記1つまたは複数のLLM出力のうちの1つまたは複数の第1のLLM出力に基づいて、第1のパーソナリティ返答のセットを生成することを備える、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項29】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項30】
1つまたは複数のプロセッサによって実施される方法であって、
クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成され、前記発話がアシスタントクエリを含む、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、アシスタント出力のセットを決定するステップであって、アシスタント出力の前記セットの中の各アシスタント出力が、前記発話に含まれる前記アシスタントクエリに応答する、ステップと、
前記発話の前記処理に基づいて、アシスタント出力の前記セットに含まれるアシスタント出力の1つまたは複数を修正するかどうかを決定するステップと、
アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正することを決定したことに応答して、
大規模言語モデル(LLM)を使用して生成される1つまたは複数のLLM出力を使用して修正されたアシスタント出力のセットを生成するために、アシスタント出力の前記セットおよび前記対話セッションの文脈を処理するステップであって、前記1つまたは複数のLLM出力の各々が、前記対話セッションの文脈と、アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数とに少なくとも一部基づいて決定される、ステップと、
修正されたアシスタント出力の前記セットの中から、前記ユーザへの提示のために所与の修正されたアシスタント出力が提供されるようにするステップと
を備える、方法。
【請求項31】
前記発話の前記処理に基づいてアシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正するかどうか決定するステップが、
自動音声認識(ASR)出力のストリームを生成するために、ASRモデルを使用して、オーディオデータの前記ストリームを処理するステップと、
自然言語理解(NLU)データのストリームを生成するために、NLUモデルを使用して、ASR出力の前記ストリームを処理するステップと、
NLUデータの前記ストリームに基づいて、前記発話を提供する際の前記ユーザの意図を特定するステップと、
前記発話を提供する際の前記ユーザの前記意図に基づいて、前記アシスタント出力を修正するかどうかを決定するステップとを備える、請求項30に記載の方法。
【請求項32】
アシスタント出力の前記セットに含まれる前記アシスタント出力の1つまたは複数を修正するかどうかを決定するステップがさらに、前記アシスタント出力の1つまたは複数を修正することに関連する1つまたは複数の計算コストに基づく、請求項30または31に記載の方法。
【請求項33】
前記アシスタント出力の1つまたは複数を修正することに関連する前記1つまたは複数の計算コストが、電池消費、前記アシスタント出力の1つまたは複数を修正することに関連するプロセッサ消費、または前記アシスタント出力の1つまたは複数を修正することに関連するレイテンシのうちの1つまたは複数を含む、請求項32に記載の方法。
【請求項34】
1つまたは複数のプロセッサによって実施される方法であって、
自動アシスタントに向けられる複数のアシスタントクエリ、および前記複数のアシスタントクエリの各々のための対応する以前の対話セッションの対応する文脈を取得するステップと、
前記複数のアシスタントクエリの各々に対して、
前記複数のアシスタントクエリのうちの所与のアシスタントクエリに応答する対応する大規模言語モデル(LLM)出力を生成するために、1つまたは複数のLLMを使用して、前記所与のアシスタントクエリを処理するステップと、
前記所与のアシスタントクエリおよび/または前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に基づいて、クライアントデバイスにおいてアクセス可能なメモリにおいて前記対応するLLM出力をインデクシングするステップと、
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングした後、クライアントデバイスのユーザと前記クライアントデバイスによって実施される自動アシスタントとの間の現在の対話セッションの一部として、
前記ユーザの発話を捉えるオーディオデータのストリームを受信するステップであって、オーディオデータの前記ストリームが前記クライアントデバイスの1つまたは複数のマイクロフォンによって生成される、ステップと、
オーディオデータの前記ストリームを処理したことに基づいて、前記所与のアシスタントクエリに対応する現在のアシスタントクエリを前記発話が含むこと、および/または、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に対応する前記現在の対話セッションの現在の文脈において前記発話が受け取られることを決定するステップと、
前記自動アシスタントに、前記発話に応答して前記ユーザへの提示のために提供されるべきアシスタント出力を生成する際に、前記対応するLLM出力を利用させるステップと
を備える、方法。
【請求項35】
前記自動アシスタントに向けられる前記複数のアシスタントクエリが、前記クライアントデバイスを介して前記ユーザによって以前に出された、請求項34に記載の方法。
【請求項36】
前記自動アシスタントに向けられる前記複数のアシスタントクエリが、それぞれのクライアントデバイスを介して、前記クライアントデバイスの前記ユーザに加えて、複数の追加のユーザによって以前に出された、請求項34に記載の方法。
【請求項37】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリを処理する際に生成された前記所与のアシスタントクエリの埋め込みに基づく、請求項34から36のいずれか一項に記載の方法。
【請求項38】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリを処理する際に生成された前記所与のアシスタントクエリに含まれる1つまたは複数の用語または語句に基づく、請求項34から36のいずれか一項に記載の方法。
【請求項39】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈の埋め込みに基づく、請求項34から36のいずれか一項に記載の方法。
【請求項40】
前記クライアントデバイスにおいてアクセス可能な前記メモリにおいて前記対応するLLM出力をインデクシングするステップが、前記所与のアシスタントクエリのための前記対応する以前の対話セッションの前記対応する文脈に含まれる1つまたは複数の文脈信号に基づく、請求項34から36のいずれか一項に記載の方法。
【請求項41】
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項1から40のいずれか一項に対応する動作を実行させる命令を記憶するメモリとを備える、システム。
【請求項42】
実行されると、少なくとも1つのプロセッサに請求項1から40のいずれか一項に対応する動作を実行させる命令を記憶する、非一時的コンピュータ可読記憶媒体。
【国際調査報告】