(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-15
(54)【発明の名称】アシスタントコマンドの受動的な曖昧さ解消
(51)【国際特許分類】
G06F 3/01 20060101AFI20240207BHJP
G06F 3/16 20060101ALI20240207BHJP
G10L 15/10 20060101ALI20240207BHJP
G10L 15/22 20060101ALI20240207BHJP
【FI】
G06F3/01 510
G06F3/16 620
G06F3/16 650
G10L15/10 500T
G10L15/22 300Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023537388
(86)(22)【出願日】2021-12-09
(85)【翻訳文提出日】2023-08-21
(86)【国際出願番号】 US2021062610
(87)【国際公開番号】W WO2022265667
(87)【国際公開日】2022-12-22
(32)【優先日】2021-06-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ブレット・バロス
(72)【発明者】
【氏名】テオ・ゴーグリ
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA44
5E555AA46
5E555BA04
5E555BB04
5E555BC01
5E555CA12
5E555CA47
5E555CB64
5E555DB03
5E555DC21
5E555DC25
5E555EA23
5E555EA28
5E555FA00
(57)【要約】
本明細書に記載の実装は、ユーザ入力に応じるとやはり予測される代替的な解釈に関連する代替的なアシスタントコマンドに関する提案を同時に提供しながら、ユーザ入力に応じると予測される解釈に関連するアシスタントコマンドの実行を初期化することができる自動化されたアシスタントに関する。提案される代替的なアシスタントコマンドは、選択されるときに、自動化されたアシスタントが、アシスタントコマンドの実行から、選択された代替的なアシスタントコマンドの実行の初期化にピボットすることができるように、選択可能であり得る。さらに、提案される代替的なアシスタントコマンドは、その代替的なアシスタントコマンドのいかなるユーザの選択よりも前に部分的に遂行され得る。したがって、本明細書に記載の実装は、自動化されたアシスタントが、ユーザ入力に応じると予測されるアシスタントコマンドの間を迅速で効率的にピボットすることを可能にし得る。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話に基づいて、前記口頭の発話に応じると予測される複数の解釈を特徴付けるアシスタント入力データを生成するステップであって、前記解釈の各々が、対応する意図、前記対応する意図に関連する1つまたは複数の対応するパラメータ、および前記1つまたは複数の対応するパラメータの各々の1つまたは複数の対応するスロット値を含み、前記解釈の各々が、少なくとも1つの固有の対応するスロット値を含む、ステップと、
前記アシスタント入力データに基づいて、前記複数の解釈の各々と前記口頭の発話に含まれる前記アシスタントコマンドとの間の対応の予測された度合いを特徴付ける測定基準データを生成するステップと、
前記測定基準データおよび前記アシスタント入力データに基づいて、前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための、前記複数の解釈のうちの第1の解釈に関連する第1の動作の実行を自動的に初期化させるステップと、
前記測定基準データおよび前記アシスタント入力データに基づいて、1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスのディスプレイインターフェースにレンダリングさせるステップであって、前記1つまたは複数の選択可能な提案要素の各々が、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための、前記複数の解釈のうちの対応する代替的な解釈に関連付けられ、
前記1つまたは複数の選択可能な提案要素のうちの所与の選択可能な提案要素のユーザの選択が、前記自動化されたアシスタントに、前記所与の選択可能な提案要素に関連する対応する代替的な動作の実行を初期化させる、ステップとを含む、方法。
【請求項2】
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させるステップが、第1のアプリケーションに特定のコンテンツのインスタンスを生成させる請求項1に記載の方法。
【請求項3】
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させることに応答して、
自動音声認識(ASR)プロセスまたは自然言語理解(NLU)プロセスを、前記1つまたは複数の選択可能な提案要素に関連する内容の方に偏らせるステップをさらに含む請求項1または請求項2に記載の方法。
【請求項4】
前記測定基準データおよび前記アシスタント入力データに基づいて、前記自動化されたアシスタントに、前記1つまたは複数の選択可能な提案要素に関連する前記対応する代替的な動作を遂行する準備を促進するために、アプリケーションデータにアクセスさせるステップをさらに含む請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記口頭の発話に基づいて、前記複数の解釈に関連する前記対応するパラメータのうちの1つまたは複数の前記対応するスロット値のうちの1つまたは複数が、前記口頭の発話によって前記ユーザにより指定されなかったと判定するステップであって、
前記自動化されたアシスタントが、前記第1の解釈に関連する前記対応するパラメータのうちの1つまたは複数の特定のスロット値を推測する、ステップをさらに含む請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記口頭の発話に基づいて、前記対応する代替的な解釈の各々の代替的な特定のスロット値を推測するステップであって、
前記所与の選択可能な提案要素の前記ユーザの選択が、前記代替的な動作を、前記代替的な特定のスロット値を使用して初期化させる、ステップをさらに含む請求項5に記載の方法。
【請求項7】
前記特定のスロット値が、特定のコンテンツをレンダリングするための第1のアプリケーションを特定し、前記代替的な特定のスロット値が、代替的な特定のコンテンツをレンダリングするための異なる第2のアプリケーションを特定する請求項6に記載の方法。
【請求項8】
前記特定のスロット値が、特定のコンテンツをレンダリングするための第1のエンティティの参照を特定し、前記代替的な特定のスロット値が、代替的な特定のコンテンツをレンダリングするための異なる第2のエンティティの参照を特定する請求項6に記載の方法。
【請求項9】
前記1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせるステップが、
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させた後に、閾値の継続時間の間、前記1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせることを含む請求項1から8のいずれか一項に記載の方法。
【請求項10】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話に基づいて、第1の動作が前記アシスタントコマンドを満たすと予測される度合いを特徴付ける第1の測定基準、および第2の動作が前記アシスタントコマンドを満たすと予測される別の度合いを特徴付ける第2の測定基準を特定する測定基準データを生成するステップと、
前記第1の動作および前記第2の動作に基づいて、前記口頭の発話に応じるアシスタントグラフィカルユーザインターフェース(GUI)を特徴付けるGUIデータを生成するステップであって、
前記GUIデータが、第1の選択可能な要素および第2の選択可能な要素を特定するために生成され、
前記第1の選択可能な要素が、前記第1の動作の実行を制御するために選択可能であり、前記第2の選択可能な要素が、前記第2の動作の実行を自動的に初期化するために選択可能である、ステップと、
前記口頭の発話の受け取りに応答して、前記自動化されたアシスタントに、前記第1の動作の実行を自動的に初期化させるステップと、
前記コンピューティングデバイスのディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップとを含む、方法。
【請求項11】
前記第1の動作が前記アシスタントコマンドを満たすと予測される前記度合いが前記第2の動作が前記アシスタントコマンドを満たすと予測される前記別の度合いよりも大きいとき、前記アシスタントGUIにおいて、前記第1の選択可能な要素が前記第2の選択可能な要素よりも目立つように配置される請求項10に記載の方法。
【請求項12】
前記ディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップが、
前記第1の選択可能な要素を前記第2の選択可能な要素に隣接して配置させることであって、
前記第1の動作が前記アシスタントコマンドを満たすと予測される前記度合いが前記第2の動作が前記アシスタントコマンドを満たすと予測される前記別の度合いよりも大きいとき、前記アシスタントGUIにおいて、前記第1の選択可能な要素の第1のエリアが前記第2の選択可能な要素の第2のエリアよりも大きい、配置させることを含む請求項10または請求項11に記載の方法。
【請求項13】
前記ディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップが、
前記第1の選択可能な要素を前記第2の選択可能な要素に隣接して配置させることであって、
前記アシスタントGUIにおいて、前記第1の選択可能な要素が、前記第1の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第1の選択可能な要素の対応する第1の位置を特徴付ける第1の配置データに従って配置され、前記第2の選択可能な要素が、前記第2の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第2の選択可能な要素の対応する第2の位置を特徴付ける第2の配置データに従って配置される、配置させることを含む請求項10から12のいずれか一項に記載の方法。
【請求項14】
前記アシスタントGUIにおいて、前記第1の選択可能な要素が、前記第1の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第1の選択可能な要素の対応する第1の表示特性を特徴付ける対応する第1の表示データに基づいて表示され、前記第2の選択可能な要素が、前記第2の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第2の選択可能な要素の対応する第2の表示特性を特徴付ける対応する第2の表示データに基づいて表示される請求項10から13のいずれか一項に記載の方法。
【請求項15】
前記第1の動作が、前記コンピューティングデバイスにおいて実行される特定の動作であり、前記第2の動作が、別のコンピューティングデバイスにおいて実行される前記特定の動作であり、
前記第2の選択可能な要素のユーザの選択が、前記特定の動作を、前記別のコンピューティングデバイスにおいて初期化させる請求項10から14のいずれか一項に記載の方法。
【請求項16】
前記第2の選択可能な要素が、前記第1の動作が実行されているときに、前記コンピューティングデバイスの前記ディスプレイインターフェースにおけるタッチ入力によって選択可能である請求項10から15のいずれか一項に記載の方法。
【請求項17】
前記第2の選択可能な要素が、前記第1の動作が実行されるのと同時の追加の口頭の発話によって選択可能である請求項10から16のいずれか一項に記載の方法。
【請求項18】
前記アシスタントGUIにおいて、前記第2の選択可能な要素に比した前記第1の選択可能な要素のレンダリングの目立ち度が、前記第1の測定基準と前記第2の測定基準との間の差に基づく請求項10から17のいずれか一項に記載の方法。
【請求項19】
前記第1の測定基準と前記第2の測定基準との間の前記差が提案の閾値を満たさないとき、前記第2の選択可能な要素が前記ディスプレイインターフェースにレンダリングされず、
前記ユーザによって前記コンピューティングデバイスの前記ディスプレイインターフェースに与えられた特定のタッチジェスチャが、前記第2の選択可能な要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせる請求項18に記載の方法。
【請求項20】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話の受け取りに応答して、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る第1の動作を特定するステップと、
前記口頭の発話に応答して、前記第1の動作の実行を自動的に初期化するステップと、
前記第1の動作が前記口頭の発話に応じると予測される度合いに基づいて、少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る第2の動作を特定するステップと、
前記口頭の発話に基づいて、前記コンピューティングデバイスのディスプレイインターフェースに、少なくとも、前記第2の動作に関連する第2の選択可能な要素をレンダリングさせるステップであって、前記第2の選択可能な要素が、選択されるときに、前記自動化されたアシスタントに、前記第1の動作の代わりに前記第2の動作を初期化させる、ステップとを含む、方法。
【請求項21】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記第1の動作が前記口頭の発話に応じると予測される前記度合いを特徴付ける測定基準を生成することと、
前記測定基準が測定基準の閾値を満たすかどうかを判定することであって、
前記自動化されたアシスタントが、前記測定基準が前記測定基準の閾値を満たさないときに、前記ユーザに提案するために、少なくとも前記第2の動作を特定する、判定することとを含む請求項20に記載の方法。
【請求項22】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記第1の動作が特定の種類の動作であるかどうかを判定することであって、
前記自動化されたアシスタントが、前記第1の動作が前記特定の種類の動作であるときに、少なくとも前記第2の動作を特定すると決定し、
特定された前記第2の動作が、前記第1の動作の前記特定の種類の動作とは異なる種類の動作である、判定することを含む請求項20または請求項21に記載の方法。
【請求項23】
前記特定の種類の動作が、異なるユーザとコミュニケーションすることを含むコミュニケーション動作を含む請求項22に記載の方法。
【請求項24】
前記第2の選択可能な要素のユーザの選択の受け取りに応答して、
前記第1の動作の実行を終了させるステップをさらに含む請求項20から23のいずれか一項に記載の方法。
【請求項25】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の量を決定することを含む請求項20から24のいずれか一項に記載の方法。
【請求項26】
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の前記量を決定することが、前記コンピューティングデバイスの前記ディスプレイインターフェースのサイズに基づく請求項25に記載の方法。
【請求項27】
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の前記量を決定することが、前記追加の動作の各々が前記口頭の発話に応じると予測される対応する度合いを特徴付ける対応する測定基準に基づく請求項25に記載の方法。
【請求項28】
少なくとも1つのプロセッサと、
実行されるときに、前記少なくとも1つのプロセッサに請求項1から27のいずれか一項に対応する動作を実行させる命令を記憶するメモリとを含むシステム。
【請求項29】
実行されるときに少なくとも1つのプロセッサに請求項1から27のいずれか一項に対応する動作を実行させる命令を記憶する非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【背景技術】
【0001】
人は、本明細書において「自動化されたアシスタント」と呼ばれるインタラクティブなソフトウェアアプリケーション(「デジタルエージェント」、「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)を用いて人間とコンピュータとの対話に従事する可能性がある。たとえば、人(自動化されたアシスタントとインタラクションするときは「ユーザ」と呼ばれる場合がある)は、場合によってはテキストに変換され、それから処理されてよい口頭の自然言語入力(すなわち、発話)を使用して、および/またはテキストの(たとえば、タイピングされた)自然言語入力を与えることによって、自動化されたアシスタントにコマンドおよび/または要求を与える場合がある。
【0002】
多くの場合、自動化されたアシスタントとインタラクションすることは、アシスタントの要求および/またはコマンドを含むあいまいなユーザ入力を誤って解釈する多くの機会を生じ得る。たとえば、ユーザが、複数の異なるメディアアプリケーションを通じて利用可能なメディアコンテンツ(たとえば、楽曲)の再生の要求を与えると仮定する。この例において、自動化されたアシスタントは、--自動化されたアシスタントが要求に応答して自動的に特定のアプリケーションを選択し、メディアコンテンツの即時再生を引き起こすのではなく--ユーザがメディアコンテンツの再生のために利用される特定のアプリケーションを選択することを要求する出力(たとえば、可聴のおよび/または視覚的な出力)を提供する場合がある。さらに、同じ名前を有する複数のメディアコンテンツアイテムが存在すると仮定すると、自動化されたアシスタントは、--自動化されたアシスタントが要求に応答して特定のメディアコンテンツを選択し、特定のアプリケーションでの特定のメディアコンテンツの再生を引き起こすのではなく--ユーザが同じ名前を有する特定のメディアコンテンツアイテムを選択することを要求する追加的または代替的な出力(たとえば、可聴のおよび/または視覚的な出力)を提供する場合がある。結果として、自動化されたアシスタントとユーザとの間の対話が長引き、それによって、自動化されたアシスタントとユーザとの間の対話を実施するために利用されるクライアントデバイスの計算リソースを浪費し、ユーザの時間を浪費する。
【0003】
場合によっては、自動化されたアシスタントが要求に応答してメディアコンテンツの再生のために利用される特定のアプリケーションを自動的に選択するおよび/または特定のメディアコンテンツを自動的に選択すると仮定しても、ユーザが要求にやはり応じる可能性がある代替的なアプリケーションまたは代替的なメディアコンテンツにピボットする(pivot)ための効率的なメカニズムが存在しないことが多い。たとえば、メディアコンテンツの再生の要求が、複数の異なるメディアアプリケーションによる再生のために利用可能な「Crazy」というタイトルの楽曲の再生の要求であると仮定する。少なくとも第1のアーティストおよび第2のアーティストを含む異なるアーティストによる「Crazy」というタイトルの複数の楽曲が存在するとさらに仮定する。この例においては、ユーザが第2のアーティストによる「Crazy」の再生を引き起こすことを意図していたが、自動化されたアシスタントが第1のアーティストによる「Crazy」を自動的に選択し、その再生を自動的に引き起こす場合、ユーザは、第1のアーティストによる「Crazy」の再生をキャンセルするためのさらなるユーザ入力を与え、第2のアーティストによる「Crazy」の再生を提供させるための(多くの場合、第2のアーティストの名前を含むように改善された)さらなる追加のユーザ入力を与えるように要求される場合がある。結果として、自動化されたアシスタントとユーザとの間の対話が長引き、それによって、自動化されたアシスタントとユーザとの間の対話を実施するために利用されるクライアントデバイスの計算リソースを浪費する。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書に記載の一部の実装は、ユーザによって与えられた口頭の発話に含まれるアシスタントコマンドを遂行する(fulfill)ための少なくとも第1の動作の実行を自動的に初期化する自動化されたアシスタントに関する。さらに、同時に、自動化されたアシスタントは、第1の動作が自動化されたアシスタントによって実行されている間に、口頭の発話に含まれるアシスタントコマンドの代替的な遂行に関連する対応する代替的な動作に関する選択可能な要素を、ユーザに提示するために提供させる。したがって、ユーザが選択可能な要素を選択する場合、自動化されたアシスタントは、第1の動作の実行を終了し、口頭の発話に含まれるアシスタントコマンドの代替的な遂行に関連する対応する代替的な動作の実行を自動的に初期化する。本明細書において説明されるこれらのおよびその他の方法で、自動化されたアシスタントは、第1の動作がユーザによって意図された特定の動作に対応しないときに、ユーザが、その後、口頭の発話または任意の明確にするための口頭の発話を再び送らなくてよいように、口頭の発話の曖昧さを受動的に取り除くことができる。別の言い方をすれば、自動化されたアシスタントは、口頭の発話に応じると予測される所与の動作の実行を初期化することができ、口頭の発話に応じるとやはり考えられる代替的な動作に迅速で効率的にピボットすることができる。本明細書において使用されるように、自動化されたアシスタントが同時に、自動化されたアシスタントによって第1の動作が実行されている間に選択可能な要素をユーザに提示するために提供させることは、第1の動作が自動化されたアシスタントによって自動的に初期化されるのと同時に、ならびに/または第1の動作が自動化されたアシスタントによって自動的に初期化される時間の前および/もしくは後の閾値の継続時間内に、選択可能な要素をユーザに提示するために提供させることを含み得る。
【0005】
これらの実装の一部のバージョンにおいては、口頭の発話に応じると予測される複数の解釈を特徴付けるアシスタント入力データが、口頭の発話に基づいて生成され得る。これらの実装において、複数の解釈の各々は、対応する意図(intent)、対応する意図に関連する1つまたは複数の対応するパラメータ、および対応する意図に関連する1つまたは複数の対応するパラメータの1つまたは複数の対応するスロット値を含み得る。さらに、複数の解釈の各々と口頭の発話に含まれるアシスタントコマンドとの間の対応の予測された度合いを特徴付ける測定基準(metric)データが、アシスタント入力データに基づいて生成され得る。一部の実装において、測定基準データは、たとえば、自動音声認識(ASR)モデルを使用して口頭の発話を処理することに基づいて生成されたASR出力に関連するASR測定基準、自然言語理解(NLU)モデルを使用してASR出力を処理することに基づいて生成されたNLU出力に関連するNLU測定基準、遂行モデルおよび/もしくは規則を使用してNLU出力を処理することに基づいて生成された遂行出力に関連する遂行測定基準、ならびに/または口頭の発話を処理することに関連するその他の測定基準などの、様々なコンポーネントを使用して口頭の発話を処理することに関連する信頼レベルを含み得る。追加的または代替的な実装において、測定基準データは、口頭の発話を与えたユーザのユーザプロファイルデータ、口頭の発話を与えたユーザに類似するその他のユーザのユーザプロファイルデータ、特定の地理的地域にわたる要求を含む口頭の発話の総計の増加(aggregate increase)、および/またはその他のデータに基づき得る。それらの実装の一部のバージョンにおいて、測定基準データは、測定基準データを生成するためにこれらの様々な信号を処理する1つまたは複数の機械学習モデルおよび/または発見的プロセスを使用して生成され得る。アシスタント入力データおよび測定基準データに基づいて、自動化されたアシスタントは、複数の解釈のうちの第1の解釈に関連する第1の動作を、口頭の発話に含まれるアシスタントコマンドを遂行するために自動的に初期化させることができ、複数の解釈のうちのその他の解釈に関連する選択可能な要素を、ユーザに提示するために提供させることができる。
【0006】
たとえば、ユーザが「Play the song 'Crazy'(『Crazy』という曲を再生して)」という口頭の発話を与えると仮定する。自動化されたアシスタントは、様々なコンポーネント(たとえば、ASRコンポーネント、NLUコンポーネント、遂行コンポーネント、および/またはその他のコンポーネント)を使用して口頭の発話を処理して、複数の解釈を特徴付けるアシスタント入力データを生成することができる。この例において、複数の解釈の各々は、口頭の発話に応答して「Crazy」というタイトルの曲が再生されることをユーザが意図するという判定に基づいて、音楽の意図に関連付けられてよい。しかし、口頭の発話を与える際、ユーザは、音楽の意図に関連付けられる楽曲パラメータのスロット値(たとえば、「Crazy」)を指定したが、音楽の意図に関連付けられるアーティストパラメータに関連するスロット値、音楽の意図に関連付けられるアプリケーションパラメータのスロット値、または音楽の意図に関連付けられる場合がある任意のその他のパラメータのスロット値を指定しなかった。それにもかかわらず、口頭の発話に応じると予測される複数の解釈を特徴付けるアシスタント入力データを生成する際に、自動化されたアシスタントは、複数の解釈を生成するために様々なスロット値を推測することができる。たとえば、第1の解釈は、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含むことが可能であり、第2の解釈は、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 2」、およびアプリケーションパラメータのスロット値「Application 1」を含むことが可能であり、第3の解釈は、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 2」を含むことが可能であり、以下同様である。
【0007】
上記の例は、それぞれが同じ意図(たとえば、音楽の意図)を共有する複数の解釈に関連して説明されているが、それは例としてであり、限定的であるように意図されていないことを理解されたい。上記の例とは対照的に、ユーザが代わりに「Play 'The Floor is Lava'(『The Floor is Lava』を再生して)」という口頭の発話を与えたと仮定する。同様に、自動化されたアシスタントは、様々なコンポーネント(たとえば、ASRコンポーネント、NLUコンポーネント、遂行コンポーネント、および/またはその他のコンポーネント)を使用して口頭の発話を処理して、複数の解釈を特徴付けるアシスタント入力データを生成することができる。しかし、この例において、複数の解釈は、異なる意図に関連付けられる場合がある。たとえば、第1の解釈は、音楽の意図、楽曲パラメータのスロット値「The Floor is Lava」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含むことが可能であり、第2の解釈は、音楽の意図、楽曲パラメータのスロット値「The Floor is Lava」、アーティストパラメータのスロット値「Artist 2」、およびアプリケーションパラメータのスロット値「Application 1」を含むことが可能であり、第3の解釈は、テレビ番組の意図、ビデオパラメータのスロット値「The Floor is Lava」、およびアプリケーションパラメータのスロット値「Application 2」を含むことが可能であり、第4の解釈は、ゲームの意図、ゲームパラメータのスロット値「The Floor is Lava」、およびアプリケーションパラメータのスロット値「アプリケーション3」を含むことが可能であり、以下同様である。
【0008】
さらに、これらの例において、自動化されたアシスタントは、アシスタント入力データに基づいて、ならびに口頭の発話を処理する際に複数の解釈の各々に関して生成された測定基準データ(たとえば、ASR測定基準データ、NLU測定基準データ、および/または遂行測定基準データ)に基づいて、口頭の発話に含まれるアシスタントコマンドを遂行するために複数の解釈のうちの所与の1つに関連する所与の動作を自動的に初期化することができる。たとえば、第1の例において、自動化されたアシスタントは、第1の解釈が口頭の発話のアシスタントコマンドに対応する可能性が最も高いことを測定基準データが示すと仮定して、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含む第1の解釈に関連する第1の動作の実行を自動的に初期化することができる。それにもかかわらず、この例において、自動化されたアシスタントは、第1の動作が自動的に初期化され、実行される間(たとえば、「Artist 1」による「Crazy」が「Application 1」によって再生される間)に、代替的な解釈に関連する選択可能な要素をユーザに提示するためにレンダリングさせることができる。たとえば、「Artist 1」による「Crazy」が「Application 1」によって再生される間に、第2の解釈(たとえば、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 2」、およびアプリケーションパラメータのスロット値「Application 1」)に関連する対応する選択可能な要素と、第3の解釈(たとえば、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 2」)に関連する対応する選択可能な要素とが、ユーザに提示するためにレンダリングされ得る。
【0009】
したがって、(たとえば、対応する選択可能な要素を対象とするタッチ選択または対応する選択可能な要素の音声選択による)対応する選択可能な要素のうちの1つのユーザの選択に応答して、自動化されたアシスタントは、第1の動作を実行することから離れて、口頭の発話に含まれるアシスタントコマンドを遂行するための代替的な動作に関連付けられる代替的な動作を自動的に初期化し、実行することにピボットすることができる。たとえば、第2の解釈に関連する対応する選択可能な要素のユーザの選択に応答して、自動化されたアシスタントは、第1の動作(たとえば、「Application 1」における「Artist 1」による「Crazy」の再生)の実行を終了し、第2の解釈に関連する第2の動作の実行を自動的に初期化する(たとえば、「Application 1」における「Artist 2」による「Crazy」の再生を初期化する)ことができる。結果として、自動化されたアシスタントは、いかなる動作を初期化させるよりも前に、口頭の発話に関するこれらの異なる解釈の曖昧さをユーザが能動的に取り除くためのプロンプトを生成し、レンダリングする必要なしに、発話に関する異なる解釈の間を迅速で効率的にピボットすることができる。もっと正確に言えば、本明細書において説明されるように、口頭の発話に含まれるアシスタントコマンドの受動的な曖昧さ解消を可能にすることによって、自動化されたアシスタントは、口頭の発話に含まれるアシスタントコマンドを遂行する際のレイテンシを減らすことを優先することができ、自動化されたアシスタントとユーザとの間の人間とコンピュータとの対話をより迅速でより効率的に終結させることを優先することができる。
【0010】
さらに、上記の例は、メディアコンテンツを制御することに関連するアシスタントコマンドに関連して説明されているが、それは例としてであり、限定的であるように意図されていないことを理解されたい。たとえば、ユーザが代わりに「Translate the light to 20 percent(『照明を20%に』を翻訳して」という口頭の発話を与えたと仮定する。同様に、自動化されたアシスタントは、様々なコンポーネント(たとえば、ASRコンポーネント、NLUコンポーネント、遂行コンポーネント、および/またはその他のコンポーネント)を使用して口頭の発話を処理して、複数の解釈を特徴付けるアシスタント入力データを生成することができる。この例においては、口頭の発話が自動化されたアシスタントを介して制御可能な1つまたは複数のスマートライトの明るさを20%に落とさせるようにユーザが意図したと仮定する。しかし、ユーザは、通常、ユーザの照明の明るさ設定を調整するためにこの現地語を使用しなくてよいので、口頭の発話の第1の解釈は、第1言語から1つまたは複数の第2言語に翻訳される用語またはフレーズパラメータとして「the light to 20 percent(照明を20%に)」というスロット値を持つ翻訳の意図を含む場合がある。それでもなお、口頭の発話の第2の解釈は、明るさパラメータのスロット値「20 percent(20パーセント)」および照明位置パラメータのスロット値「kitchen(キッチン)」を持つ照明制御の意図を含む場合があり、口頭の発話の第3の解釈は、明るさパラメータのスロット値「20 percent(20パーセント)」および照明位置パラメータのスロット値「living room(リビングルーム)」を持つ照明制御の意図を含む場合があり、以下同様である。結果として、自動化されたアシスタントは、口頭の発話に含まれるアシスタントコマンドを遂行するために複数の解釈のうちの所与の1つに関連する所与の動作を自動的に初期化する(たとえば、「the light to 20 percent(照明を20パーセントに)」の第1言語から1つまたは複数の第2言語への翻訳を提供する)だけでなく、選択されたときに、選択可能な要素を対象とするタッチ選択または選択可能な要素の音声選択によってユーザが1つまたは複数のスマートライトを調整することを可能にする、口頭の発話の代替的な解釈に関連する選択可能な要素を提供することができる。
【0011】
様々な実装において、ユーザが追加の口頭の発話によって選択可能な要素の音声選択を与えるときなどに、追加の口頭の発話の処理は、ユーザに提示するためにレンダリングされる選択可能な要素に関連する内容の方に偏らされ得る。たとえば、上述のように、ユーザが「Play the song 'Crazy'(『Crazy』という曲を再生して)」という口頭の発話を与えると仮定する。さらに、自動化されたアシスタントは、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含む第1の解釈に関連する第1の動作の実行を自動的に初期化する。さらに、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 2」、およびアプリケーションパラメータのスロット値「Application 1」を含む第2の解釈に関連する対応する選択可能な要素と、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 2」を含む第3の解釈に関連する対応する選択可能な要素とが、ユーザに提示するためにレンダリングされる。この例において、追加の口頭の発話のASRおよび/もしくはNLU処理は、これらの代替的な解釈に関連するスロット値の方に偏らされることが可能であり、または追加の口頭の発話の処理に基づいて生成されるASR出力および/もしくはNLU出力は、これらの代替的な解釈に関連するスロット値の方に偏らされることが可能である。
【0012】
様々な実装において、代替的な解釈に関連する選択可能な要素は、口頭の発話に含まれるアシスタントコマンドを遂行するためにアシスタントコマンドの実行を自動化されたアシスタントが自動的に初期化した後に閾値の継続時間の間、ユーザに提示するためにレンダリングされ得る。これらの実装の一部のバージョンにおいて、閾値の継続時間は静的であることが可能である。たとえば、代替的な解釈に関連する選択可能な要素は、口頭の発話に含まれるアシスタントコマンドを遂行するためにアシスタントコマンドの実行を自動化されたアシスタントが自動的に初期化した後に10秒、15秒、または任意のその他の静的な閾値の継続時間の間、提示するためにレンダリングされ得る。それらの実装のその他のバージョンにおいて、閾値の継続時間は、動的であることが可能であり、たとえば、複数の解釈のうちの1つもしくは複数の意図、または複数の動作のうちの1つもしくは複数に基づいて実行される動作の種類のうちの1つまたは複数に基づくことが可能である。たとえば、複数の動作がメディアコンテンツに関連付けられる実装において、代替的な解釈に関連する選択可能な要素は、10秒間だけユーザに提示するためにレンダリングされる場合がある。しかし、複数の動作がユーザのスマートデバイスを制御することに関連付けられる実装において、代替的な解釈に関連する選択可能な要素は、30秒間だけユーザに提示するためにレンダリングされる場合がある。
【0013】
様々な実装においては、選択可能な要素に関連する代替的な動作のための遂行データが、代替的な動作を実行する際のレイテンシを減らすために、自動化されたアシスタントとインタラクションするためにユーザによって利用されるクライアントデバイスに予めキャッシュされ得る。ユーザが「Play the song 'Crazy'(『Crazy』という曲を再生して)」という口頭の発話を与え、自動化されたアシスタントが、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含む第1の解釈に関連する第1の動作の実行を自動的に初期化する上記の例について続けると、自動化されたアシスタントは、第2の解釈に関して「Application 1」における「Artist 2」による「Crazy」をキューに入れることができ、第3の解釈に関して「Application2」における「Artist 1」による「Crazy」をキューに入れることができる。別の言い方をすれば、自動化されたアシスタントは、クライアントデバイスのバックグラウンドで、様々なアプリケーションとの接続を確立し、クライアントデバイスでの再生のために様々なコンテンツをキューに入れ、クライアントデバイスでの表示のために様々なコンテンツをキューに入れ、および/またはそうでなければ、クライアントデバイスに遂行を予めキャッシュすることができる。
【0014】
様々な実装において、ユーザに提示するためにレンダリングされる選択可能な要素は、口頭の発話に応じるアシスタントグラフィカルユーザインターフェース(GUI)を特徴付けるGUIデータに含まれ得る。GUIデータは、たとえば、自動化されたアシスタントによって自動的に初期化される第1の動作を制御することに関連する1つもしくは複数の制御要素、代替的な動作に関連する選択可能な要素、ならびに/またはユーザへの視覚的提示のためにコンテンツをどのようにしておよび/もしくはいつレンダリングするかに関連する任意のその他のデータを含み得る。たとえば、GUIデータは、代替的な動作に関連する選択可能な要素を表示するために利用されるクライアントデバイスのディスプレイの対応するエリアと、代替的な動作に関連する選択可能な要素を表示するために利用されるクライアントデバイスのディスプレイの対応するエリアの対応するサイズとを示す目立ち度(prominence)データを含み得る。ユーザが「Play the song 'Crazy'(『Crazy』という曲を再生して)」という口頭の発話を与え、自動化されたアシスタントが、音楽の意図、楽曲パラメータのスロット値「Crazy」、アーティストパラメータのスロット値「Artist 1」、およびアプリケーションパラメータのスロット値「Application 1」を含む第1の解釈に関連する第1の動作の実行を自動的に初期化する上記の例について続けると、この例のGUIデータは、たとえば、第2の解釈に関連する選択可能な要素がクライアントデバイスのディスプレイのより大きなエリアを包含する、第2の解釈に関連する選択可能な要素が第3の解釈に関連する選択可能な要素よりも上に表示される、などといったように、第2の解釈に関連する選択可能な要素が第3の解釈に関連する選択可能な要素よりも目立つように表示されるべきであることを示し得る。この例において、GUIデータは、第2の解釈が第3の解釈と比較して口頭の発話に応じる可能性が高いことを示す第2の解釈に関連する測定基準データに基づいて、第2の解釈に関連する選択可能な要素が第3の解釈に関連する選択可能な要素よりも目立つように表示されるべきであることを示し得る。また、この例において、GUIデータは、第3の解釈に関連する選択可能な要素を表示することなく、第2の解釈に関連する選択可能な要素のみが表示されるべきであることを示し得る。GUIデータは、たとえば、第2の解釈に関連する測定基準データが測定基準の閾値を満たし、第3の解釈に関連する測定基準データが測定基準の閾値を満たさないこと、クライアントデバイスのディスプレイのサイズが1つの選択可能な要素しか表示され得ないことを示すこと、および/またはその他の基準に基づいて、第3の解釈に関連する選択可能な要素を表示することなく、第2の解釈に関連する選択可能な要素のみが表示されるべきであることを示す場合がある。
【0015】
様々な実装において、ユーザは、追加の解釈に関連付けられ、ユーザに提示するために最初に提供されない追加の選択可能な要素を表示させるために、1つまたは複数の入力を与えることができる。たとえば、ユーザは、追加の選択可能な要素をユーザに提示するために提供させるために、クライアントデバイスのディスプレイにおいて特定の方向にスワイプ(たとえば、上スワイプ、下スワイプ、左スワイプ、および/もしくは右スワイプ)するかまたはその他のタッチ入力(たとえば、ロングタップ、ハードタップ(hard tap))を与えることができる。別の例として、ユーザは、検出されるときに自動化されたアシスタントに、ユーザに提示するための追加の選択可能な要素を提供させる1つまたは複数の特定の単語またはフレーズ(たとえば、「More(もっと)」、「Show me more(もっと見せて)」など)を含む追加の口頭の発話を与えることができる。
【0016】
様々な実装において、自動化されたアシスタントに口頭の発話に応じると予測される所与の動作の実行を自動的に初期化させる際に、自動化されたアシスタントは、所与の動作に関連する1つまたは複数のコストを考慮することができる。1つまたは複数のコストは、たとえば、所与の動作に関連するアシスタントコマンドがユーザの金銭情報を利用したかどうか、所与の動作に関連するアシスタントコマンドが電子通信(たとえば、電話、テキストメッセージ、電子メールメッセージ、ソーシャルメディアメッセージなど)をユーザのクライアントデバイスからさらなるユーザのさらなるクライアントデバイスに向けて開始および/もしくは送信させるかどうか、所与の動作に関連するアシスタントコマンドが閾値の量の計算リソースを消費するかどうか、所与の動作に関連するアシスタントコマンドがその他のプロセスを遅らせるかどうか、所与の動作が不正確である場合に、所与の動作に関連するアシスタントコマンドがユーザもしくは別の人に何らかの形で影響を与えるかどうか、ならびに/またはその他のコスト、を含み得る。たとえば、金銭情報を利用する、またはクライアントデバイスに電子通信を開始および/もしくは送信させる動作を実行することに関連するコストは、メディアコンテンツをユーザに対して再生するために提供させることに関連するコストよりもずっと大きいと考えられる場合がある。
【0017】
本明細書において説明される技術を使用することによって、様々な技術的利点が実現され得る。1つの非限定的な例として、本明細書において説明される技術は、自動化されたアシスタントが、ユーザによって与えられた口頭の発話に含まれるアシスタントコマンドの曖昧さを受動的に取り除くことを可能にする。たとえば、ユーザは、要求を含む口頭の発話を与えることができ、自動化されたアシスタントは、要求に応じるとやはり予測され、要求のその他の解釈に関連付けられる選択可能な要素を同時に提供しながら、要求の第1の解釈に基づいて、要求に応じると予測されるアシスタントコマンドの実行を自動的に初期化することができる。したがって、ユーザが選択可能な要素のうちの1つのユーザの選択を与える場合、自動化されたアシスタントは、その他の解釈に関連付けられるアシスタントコマンドの実行を自動的に初期化することを迅速で効率的にピボットすることができる。とりわけ、自動化されたアシスタントは、アシスタントコマンドの実行を初期化する前に、プロンプトを生成し、レンダリングする必要がない。結果として、要求を遂行する際のレイテンシが削減されることが可能であり、クライアントデバイスの計算リソースが節約されることが可能であり、人間とコンピュータとの対話の継続時間が短縮されることが可能である。さらに、ユーザが選択可能な要素のうちの1つのユーザの選択を与える場合に、これらの代替的なアシスタントコマンドのうちの1つに実行を切り替える際のレイテンシが削減され得るように、これらのその他の解釈に関連する遂行データが、クライアントデバイスに予めキャッシュされ得る。
【0018】
上の説明は、本開示の一部の実装の概要として与えられている。それらの実装およびその他の実装のさらなる説明が、下により詳細に示される。
【図面の簡単な説明】
【0019】
【
図1A】ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図1B】ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図1C】ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図1D】ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図2A】ユーザ入力に応答して、特定の解釈の実行を初期化するのと同時に、コンピューティングデバイスのディスプレイインターフェースにおいて選択可能な提案を提供することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図2B】ユーザ入力に応答して、特定の解釈の実行を初期化するのと同時に、コンピューティングデバイスのディスプレイインターフェースにおいて選択可能な提案を提供することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図2C】ユーザ入力に応答して、特定の解釈の実行を初期化するのと同時に、コンピューティングデバイスのディスプレイインターフェースにおいて選択可能な提案を提供することができる自動化されたアシスタントをユーザが呼び出す光景を示す図である。
【
図3】ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的なユーザ解釈を提案するための自動化されたアシスタントを呼び出すことができるシステムを示す図である。
【
図4A】様々に異なるように解釈される場合があり、および/または特定のパラメータが欠落している場合がある口頭の発話に応答して代替的な解釈を提供するために自動化されたアシスタントを動作させるための方法を示す図である。
【
図4B】様々に異なるように解釈される場合があり、および/または特定のパラメータが欠落している場合がある口頭の発話に応答して代替的な解釈を提供するために自動化されたアシスタントを動作させるための方法を示す図である。
【
図5】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0020】
図1A、
図1B、
図1C、および
図1Dは、それぞれ、ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案することができる自動化されたアシスタントをユーザ102が呼び出す光景100、光景120、光景140、および光景160を示す。提案される代替的な解釈は、--実行中の解釈がユーザが意図したものではないとユーザ102が判断したならば--ユーザ102が選択するために、コンピューティングデバイス104のディスプレイインターフェース106および/またはその他のインターフェースを介して提案され得る。たとえば、
図1Aに示されるように、ユーザ102は、コンピューティングデバイス104のオーディオインターフェースを介してユーザ102が聴きたい楽曲に言及し得る、「Assistant, 'Play Science Rocks'(アシスタント、『Science Rocksを再生』)」のような口頭の発話108を自動化されたアシスタントに与えることができる。口頭の発話108の受け取りに応答して、自動化されたアシスタントは、ユーザ102によって与えられた口頭の発話108との対応の最大の度合いを有すると予測される口頭の発話の特定の解釈に関連するアシスタントコマンドの実行を初期化することができる。
【0021】
図1Bに示されるように、口頭の発話108に応答して、自動化されたアシスタントは、コンピューティングデバイス104に、コンピューティングデバイス104のディスプレイインターフェース106にグラフィカル要素122をレンダリングさせることができる。グラフィカル要素122は、実行中の意図に対応する1つまたは複数の動作を制御するためのインターフェースとして動作することができる。たとえば、口頭の発話108の受け取りに応答して、グラフィカル要素122が、ディスプレイインターフェース106にレンダリングされることができ、コンピューティングデバイス104がアクセス可能な第1の音楽アプリケーションを介して楽曲「Science Rocks」が再生されていることを示すことができる。一部の実装においては、ユーザ102が、楽曲がレンダリングされるための特定の音楽アプリケーション、または楽曲「Science Rocks」の特定のアーティストを指定しなかったので、自動化されたアシスタントは、ユーザが自動化されたアシスタントにインタラクションさせることを意図している可能性がある1つまたは複数の異なる音楽アプリケーションなどの音楽の意図に関連する対応するパラメータの1つまたは複数の異なるスロット値を推測し、ユーザが楽曲「Science Rocks」の再生のために自動化されたアシスタントに利用させることを意図している可能性がある1人または複数の異なるアーティストを推測することができる。たとえば、自動化されたアシスタントは、口頭の発話108と対応の最大の度合いを有すると予測される対応するパラメータのスロット値を選択してよく、自動化されたアシスタントは、
図1Bのグラフィカル要素122によって示されるように、アプリケーションパラメータの第1の音楽アプリケーションのスロット値およびアーティストパラメータのPop Classのスロット値など、それらのスロット値を用いて楽曲「Science Rocks」の再生を自動的に初期化することができる。
【0022】
一部の実装においては、この初期解釈の実行に加えて、自動化されたアシスタントは、第1の提案要素124および第2の提案要素126などの1つまたは複数の選択可能な要素を介してユーザ102に提案され得る1つまたは複数のその他の代替的な解釈を生成することができる。一部の実装においては、初期解釈が、対応の閾値の度合い(すなわち、測定基準の閾値)を満たす、ユーザ要求および/または口頭の発話108との対応の予測された度合い(すなわち、対応測定基準)を有していないときに、追加の提案される解釈がユーザ102に提供され得る。たとえば、第1の提案要素124は、要求された楽曲が異なる音楽アプリケーション(たとえば、アプリケーションパラメータの第2の音楽アプリケーション)を使用して再生されることを提案することができ、第2の提案要素126は、最初に予測された音楽アプリケーションが、同じ名前(たとえば、「Science Rocks」)を有するが、異なるアーティスト(たとえば、
図1Bに示されるように、「Music Group」)による楽曲を再生することを提案することができる。さらに、第1の提案要素124および第2の提案要素126は、自動化されたアシスタントが初期解釈に関連するアシスタントコマンドを実行するのと同時にレンダリングされ得る。これは、自動化されたアシスタントが、--自動化されたアシスタントが初期解釈について誤っていた場合に備えて--提案も提供しながら、要求されたコマンドとの対応の最大の度合いを有する初期解釈を実行することを可能にし得る。とりわけ、第1の提案要素124および第2の提案要素126は、閾値の継続時間の間だけユーザに提示するために提供される場合がある。
【0023】
様々な実装において、
図3に関してより詳細に説明されるように、解釈は、コンピューティングデバイス104において自動化されたアシスタントが利用可能な様々なコンポーネントを使用して口頭の発話108を処理することに基づいて生成され得る。たとえば、自動音声認識(ASR)コンポーネントが、口頭の発話108をキャプチャするオーディオデータを処理して、ASR出力を生成するために利用され得る。ASR出力は、たとえば、口頭の発話108に対応すると予測されるスピーチ仮説(speech hypothesis)、スピーチ仮説に関連するASR測定基準、口頭の発話108に対応すると予測される音素、および/またはその他のASR出力を含み得る。さらに、自然言語理解(NLU)コンポーネントが、ASR出力を処理してNLU出力を生成するために利用され得る。NLU出力は、たとえば、口頭の発話108を満たすと予測される1つもしくは複数の意図(たとえば、
図1A~
図1Dの例では音楽の意図)、1つもしくは複数の意図の各々に関連する対応するパラメータ、対応するパラメータの対応するスロット値、1つもしくは複数の意図、対応するパラメータ、および/もしくは対応するスロット値に関連するNLU測定基準、ならびに/またはその他のNLU出力を含み得る。さらに、遂行コンポーネントが、NLU出力を処理して遂行データを生成するために利用され得る。遂行データは、実行されるときに、自動化されたアシスタントに、口頭の発話を遂行しようとして対応するアシスタントコマンドを実行させる様々な動作に対応することが可能であり、任意で、所与のアシスタントコマンドのその実行が口頭の発話を満たすと予測される可能性がどのくらい高いかを示す遂行測定基準に関連付けられ得る。とりわけ、本明細書において説明される解釈の各々は、意図、対応するパラメータ、および対応するスロット値の様々な組合せを含むことが可能であり、自動化されたアシスタントは、意図、対応するパラメータ、および対応するスロット値のこれらの様々な組合せを特徴付けるアシスタント入力データを生成することができる。
【0024】
一部の実装において、自動化されたアシスタントは、複数の解釈の各々に関する対応測定基準に基づいて、初期解釈に関連する動作の実行を自動的に初期化することができる。これらの実装の一部のバージョンにおいて、対応測定基準は、複数の解釈の各々に関連するASR測定基準、NLU測定基準、および遂行測定基準に基づいて生成され得る。追加的または代替的な実装において、対応測定基準は、口頭の発話108を与えたユーザのユーザプロファイルデータ(たとえば、ユーザの好み、コンピューティングデバイス104においてアクセス可能な様々なアプリケーションとのユーザのインタラクションの履歴、ユーザの検索履歴、ユーザの購入履歴、ユーザのカレンダー情報、および/もしくはコンピューティングデバイス104のユーザについての任意のその他の情報)、口頭の発話108を与えたユーザに類似するその他のユーザのユーザプロファイルデータ、特定の地理的地域にわたる要求を含む口頭の発話の総計の増加、ならびに/またはその他のデータに基づいて生成され得る。
【0025】
それらの実装の一部のバージョンにおいて、測定基準データは、測定基準データを生成するためにこれらの様々な信号を処理する1つまたは複数の機械学習モデルおよび/または発見的プロセスを使用して生成され得る。たとえば、1つまたは複数の機械学習モデルが、複数の解釈の各々に関して、複数の解釈の各々と口頭の発話108との間の対応の予測された度合いを示す対応測定基準を決定するためにこれらの信号を処理するように訓練され得る。これらの実装の一部において、1つまたは複数の機械学習モデルは、1つまたは複数の機械学習モデルがコンピューティングデバイス104のユーザ102にパーソナライズされるように、コンピューティングデバイス104のローカルで生成されたデータに基づいてオンデバイスで訓練され得る。1つまたは複数の機械学習モデルは、複数の訓練事例に基づいて訓練されることが可能であり、訓練事例の各々は、訓練事例入力および訓練事例出力を含み得る。訓練事例入力は、これらの信号および/または口頭の発話の解釈例の任意の組合せを含むことができ、訓練事例出力は、訓練事例入力のグラウンドトゥルース解釈を示すグラウンドトゥルース(ground truth)出力を含むことができる。所与の訓練事例の訓練事例入力は、解釈例の各々の対応測定基準を含む予測された出力を生成するために1つまたは複数の機械学習モデル全体にわたって入力として適用されることが可能であり、予測された出力は、1つまたは複数の損失を生成するためにグラウンドトゥルース出力と比較されることが可能である。さらに、1つまたは複数の損失は、(たとえば、逆伝播によって)1つまたは複数の機械学習モデルを更新するために利用され得る。1つまたは複数の機械学習モデルは、(たとえば、閾値の量の訓練事例を処理することに基づく、閾値の継続時間の訓練に基づく、訓練中の1つまたは複数の機械学習モデルの性能に基づく、などの)十分な訓練の後にデプロイされ得る。別の例として、複数の解釈の各々に関して、複数の解釈の各々と口頭の発話108との間の対応の予測された度合いを示す対応測定基準を決定するためにこれらの信号および/または複数の解釈を処理するために、1つまたは複数の発見的手法ベースのプロセスまたは規則が利用され得る。アシスタント入力データおよび測定基準データに基づいて、自動化されたアシスタントは、複数の解釈のうちの第1の解釈に関連する第1の動作を、口頭の発話に含まれるアシスタントコマンドを遂行するために自動的に初期化させることができ、複数の解釈のうちのその他の解釈に関連する選択可能な要素を、ユーザに提示するために提供させることができる。
【0026】
たとえば、初期解釈は、口頭の発話を満たすために対応の最大の予測された度合いを初期解釈が有することに基づいて、複数の解釈の中から、口頭の発話を満たす可能性が最も高いものとして選択されてよく、口頭の発話に応答して自動化されたアシスタントによって自動的に初期化されることが可能である。たとえば、
図1Bに示されるように、自動化されたアシスタントは、第1の音楽アプリケーションを使用して、アーティスト「Pop Class」による楽曲「Science Rocks」に対応するオーディオ出力を第1の音楽アプリケーションにレンダリングさせることができる。それにもかかわらず、口頭の発話との対応の次に大きな度合いを有する1つまたは複数のその他の解釈は、第1の選択可能な要素124(たとえば、アーティスト「Pop Class」による楽曲「Science Rocks」、ただし、第1の音楽アプリケーションではなく第2の音楽アプリケーションを使用する)および第2の選択可能な要素126(たとえば、第1の音楽アプリケーションを使用するが、「Pop Class」ではなくアーティスト「Music Class」による楽曲「Science Rocks」)の基礎となり得る。このようにして、一部の実装において、ユーザ102は、口頭の発話との対応の最も高い度合いを有すると予測される初期解釈に関連する動作と同時にまたはその実行後に、1つまたは複数の選択可能な提案要素を選択し得る。
【0027】
一部の実装において、選択可能な提案は、コンピューティングデバイスおよび/または自動化されたアシスタントに関連する任意のその他のデバイスに対する別の口頭の発話および/またはその他の入力ジェスチャなどのアシスタント入力を使用して選択され得る。たとえば、
図1Cに示されるように、ユーザ102は、「Play on the second music application(第2の音楽アプリケーションで再生して)」などの別の口頭の発話142を与えることができる。一部の実装において、自動化されたアシスタントは、(たとえば、
図1Bに示された)選択可能な提案のうちの1つまたは複数に向けられた入力を受け取るためにコンピューティングデバイス104のオーディオインターフェースが初期化されたままであるというインジケーション128を提供することができる。
図1Cおよび
図1Dに示されるように、その他の口頭の発話142の受け取りに応答して、自動化されたアシスタントは、ユーザ102が、自動的に初期化された初期解釈に関連する動作の実行を自動化されたアシスタントが停止する要求を与えていると判定することができ、第1の選択可能な要素124に対応する代替的な解釈に関連する代替的な動作の実行を初期化することができる。その他の口頭の発話142の受け取りに応答して、自動化されたアシスタントは、第1の選択可能な要素124に対応する代替的な解釈に関連する代替的な動作の実行を自動的に初期化することができる。代替的に、一部の実装において、自動化されたアシスタントは、代替的な解釈に関連する代替的な動作が実行されたことを示すために、コンピューティングデバイス104のグラフィカルユーザインターフェース106にグラフィカル要素162をレンダリングさせることができる。
【0028】
一部の実装において、自動化されたアシスタントは、自動化されたアシスタントおよび/またはその他のアプリケーションに、選択可能な要素のうちの1つまたは複数に対応する1つまたは複数のスロット値の語またはフレーズなどの、第1の選択可能な要素124および第2の選択可能な要素126に関連付けられる内容の方に1つまたは複数のASRおよび/またはNLUコンポーネントを偏らせるようにさせることができる。たとえば、
図1Cの例において、自動化されたアシスタントは、口頭の発話142の1つまたは複数の処理を「second application(第2のアプリケーション)」および/または「Music Group」などの語の方に偏らせることができる。このようにして、自動化されたアシスタントが(グラフィカル要素128によって示されるように)オーディオインターフェースを初期化されたままにするときに、ユーザ202は、「second application(第2のアプリケーション)」のような別の口頭の発話を与えることを選択し得る。それに応答して、口頭の発話142をキャプチャするオーディオデータの処理は、第1の選択可能な要素124および第2の選択可能な要素126に関連する任意の語の方に偏らされ得る。
【0029】
一部の実装においては、その他の選択可能な提案および/またはグラフィカル要素に比したそれぞれの選択可能な提案および/またはグラフィカル要素の目立ち度および/またはエリアが、ユーザ102からの要求に関するそのそれぞれの解釈の対応の予測された度合いに基づき得る。たとえば、
図1Bに示されるように、第1の選択可能な要素124に関連付けられるディスプレイインターフェース106の第1のエリアと、第2の選択可能な要素126に関連付けられるディスプレイインターフェース106の第2のエリアとは、口頭の発話108との対応のそれらのそれぞれの度合いが同じであるとき、ディスプレイインターフェース106において同じ面積を持ち得る。しかし、第1の選択可能な要素124の代替的な解釈に関連する対応の予測された度合いが第2の選択可能な要素126の代替的な解釈よりも大きいとき、第1の選択可能な要素124に関連付けられるディスプレイインターフェース106の第1のエリアは、第2の選択可能な要素126に関連付けられるディスプレイインターフェース106の第2のエリアよりも大きくなり得る。一部の実装において、代替的な解釈の一部またはすべてに対応する選択可能な提案は、測定基準に基づいて、コンピューティングデバイス104のディスプレイインターフェース106から省略される場合がある。
【0030】
図2A、
図2B、および
図2Cは、それぞれ、ユーザ入力に応答して、ユーザ入力の特定の解釈の実行を初期化するのと同時に、コンピューティングデバイス204のディスプレイインターフェース206において選択可能な提案を提供することができる自動化されたアシスタントをユーザ202が呼び出す光景200、光景220、および光景240を示す。選択可能な提案は、複数の異なる解釈を有するユーザ入力の自然言語の内容に基づいて生成され得る。たとえば、
図2Aに示されるように、ユーザ202は、「Assistant, translate to 20 percent(アシスタント、『20パーセントに』を翻訳して)」などの口頭の発話208を与えることができる。
図2A~
図2C全体を通じて例として、ユーザ202の家の中の1つまたは複数の照明の明るさのレベルを20%に調整させるために、ユーザ202が口頭の発話208を与えたと仮定する。しかし、口頭の発話208は複数の異なる解釈を持ち得るので、自動化されたアシスタントは、口頭の発話208を処理して、ユーザ202に提示するためにその他の提案がレンダリングされるべきかどうかを判定することができる。
【0031】
たとえば、口頭の発話208の受け取りに応答して、自動化されたアシスタントは、
図2Bに示されるように、コンピューティングデバイス204のディスプレイインターフェース206に第1の選択可能な要素222および第2の選択可能な要素224をレンダリングさせることができる。第1の選択可能な要素222は、自動化されたアシスタントまたはその他のアプリケーションによって、口頭の発話208に具現化された要求を満たす可能性が最も高いと予測される第1の解釈に対応し得る。第2の選択可能な要素224は、第1の選択可能な要素222に関連する第1の解釈よりも要求を満たす可能性が低いと予測される第2の解釈に対応し得る。一部の実装において、自動化されたアシスタントは、ユーザ202が第2の解釈に関連する代替的なアシスタントコマンドの実行を初期化することを可能にする第2の選択可能な要素224を同時にレンダリングしながら、口頭の発話に応答して第1の解釈に関連するアシスタントコマンドを実行させることができる。
【0032】
代替的または追加的に、自動化されたアシスタントは、口頭の発話208の受け取りに応答して、第1の解釈に関連するアシスタントコマンドを自動的に実行させることができる。アシスタントコマンドおよび/または代替的なアシスタントコマンドの自動実行は、アシスタントコマンドおよび/または代替的なアシスタントコマンドを実行する1つまたは複数の「コスト」が閾値を満たすときに実行され得る。たとえば、提案されたユーザの意図を実行するために消費されると予測される処理および/または時間の量の値が推定され得る。値が特定のしきい値を満たすとき、自動化されたアシスタントは、口頭の発話208に応答して、アシスタントコマンドおよび/または代替的なアシスタントコマンドを実行させることができる。たとえば、
図2Bに示されるように、自動化されたアシスタントは、第1の選択可能な要素222に関連するアシスタントコマンドを自動的に実行させ、それによって、IoTホームアプリケーションに、ユーザの家の照明(たとえば、「Kitchen Lights(キッチン照明)」)の明るさを50%から20%に調整させることができる。さらに、自動化されたアシスタントは、翻訳アプリケーションに、口頭の発話208の一部(たとえば、「To 20%(20%に)」)を翻訳させることもできる。この場合、アシスタントコマンドと代替的なアシスタントコマンドとの両方が、多くの処理および/または多くの時間の消費なしに実行され得るので、アシスタントコマンドと代替的なアシスタントコマンドとの両方が実行されることが可能である。しかし、アシスタントコマンドの一方が閾値を超える量の処理および/もしくは時間を要するか、またはそうでなければユーザもしくは追加のユーザに悪影響を与える場合、アシスタントコマンドおよび/または代替的なアシスタントコマンドのどちらも実行されない場合がある。
【0033】
一部の実装においては、自動化されたアシスタントが、口頭の発話208に応答して、コンピューティングデバイス204のディスプレイインターフェース206に特定の選択可能な要素をレンダリングさせてよいが、ユーザ202は、選択するための追加の代替的な解釈を持つことを望む場合がある。たとえば、
図2Cに示されるように、ユーザ202は、第3の選択可能な要素242および第4の選択可能な要素246をディスプレイインターフェース206にレンダリングさせるために、コンピューティングデバイス204に入力ジェスチャ250を与えることができる。それぞれの選択可能な要素の目立ち度は、ユーザ入力との各要素の予測される関連性に依存し得る。たとえば、第3の選択可能な要素242のエリアおよび第4の選択可能な要素246のエリアは、それぞれ、第1の選択可能な要素222および第2の選択可能な要素224の各エリアよりも小さくなり得る。これは、口頭の発話208の(第3の選択可能な要素242を介して制御可能な)第3の解釈および(第4の選択可能な要素246を介して制御可能な)第4の解釈の対応の予測された度合いに部分的に基づき得る。言い換えると、第1の選択可能な要素222に関連する第1の解釈および第2の選択可能な要素224に関連する第2の解釈が、第3の解釈および第4の解釈よりも、口頭の発話208に具現化された要求を満たす確率が高いと予測されるので、第3の選択可能な要素242および第4の選択可能な要素246の表示エリアは、第1の選択可能な要素222よりも小さくなり得る。
【0034】
一部の実装において、入力ジェスチャ250は、自動化されたアシスタントに、第1の解釈および/または第2の解釈に関する1つまたは複数のその他のスロット値を選択させることができる。これらの選択されたスロット値は、第3の選択可能な要素242および第4の選択可能な要素246の基礎となり得る。たとえば、第1の解釈は、第1の解釈の照明位置パラメータに関して「Kitchen Lights(キッチン照明)」を特定する特定のスロット値を含むことができ、第3の解釈は、第3の解釈の照明位置パラメータに関して「Basement Lights(地下室照明)」を特定する別のスロット値を含むことができる。さらに、第4の解釈は、第4の解釈の照明位置パラメータに関して「Hallway Lights(廊下照明)」を特定する異なるスロット値を含むことができる。
【0035】
図3は、ユーザ入力に最も関連性があると予測される特定の解釈の実行と同時に、ユーザ入力に応答して代替的な解釈を提案するための自動化されたアシスタント304を呼び出すことができるシステム300を示す。自動化されたアシスタント304は、コンピューティングデバイス302(たとえば、
図1A~
図1Dのコンピューティングデバイス104、
図2A~
図2Cのコンピューティングデバイス204、および/またはサーバデバイスなどのその他のコンピューティングデバイス)などの1つまたは複数のコンピューティングデバイスにおいて提供されるアシスタントアプリケーションの一部として動作することができる。ユーザは、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザと自動化されたアシスタントとの間のインターフェースを提供することができる任意のその他の装置であることが可能であるアシスタントインターフェース320を介して自動化されたアシスタント304とインタラクションすることができる。たとえば、ユーザは、自動化されたアシスタント304に1つまたは複数のアクションを初期化させる(たとえば、データを提供させる、周辺デバイスを制御させる、エージェントにアクセスさせる、入力および/または出力を生成させるなど)ためアシスタントインターフェース320に口頭の、テキストの、および/またはグラフィカルな入力を与えることによって自動化されたアシスタント304を初期化することができる。代替的に、自動化されたアシスタント304は、1つまたは複数の訓練された機械学習モデルを使用してコンテキストデータ336の処理に基づいて初期化され得る。コンテキストデータ336は、自動化されたアシスタント304がアクセス可能な環境の1つもしくは複数の特徴、および/または自動化されたアシスタント304とインタラクションしていると予測されるユーザの1つもしくは複数の特徴を特徴付けることができる。コンピューティングデバイス302は、タッチインターフェースを介してユーザがコンピューティングデバイス302のアプリケーション334を制御することを可能にするためにタッチ入力および/またはジェスチャを受け取るためのタッチインターフェースを含むディスプレイパネルであることが可能であるディスプレイデバイスを含み得る。一部の実装において、コンピューティングデバイス302は、ディスプレイデバイスを持たず、それによって、グラフィカルユーザインターフェース出力を提供せずに可聴ユーザインターフェース出力を提供することができる。さらに、コンピューティングデバイス302は、ユーザから口頭の自然言語入力を受け取るためのマイクロフォンなどのユーザインターフェースを提供し得る。一部の実装において、コンピューティングデバイス302は、タッチインターフェースを含むことが可能であり、またはカメラもしくはその他の視覚コンポーネントを持たないことが可能であるが、任意で1つまたは複数のその他のセンサーを含むことが可能である。
【0036】
コンピューティングデバイス302および/またはその他のサードパーティクライアントデバイスは、任意で、システム300を実装するために、インターネットなどのネットワークを介してサーバデバイスと通信することができる。さらに、コンピューティングデバイス302および任意のその他のコンピューティングデバイスは、Wi-Fiネットワークなどのローカルエリアネットワーク(LAN)を介して互いに通信することができる。一部の実装において、コンピューティングデバイス302は、コンピューティングデバイス302の計算リソースを節約するために計算タスクをサーバデバイスにオフロードすることができる。たとえば、サーバデバイスは、自動化されたアシスタント304をホストすることができ、および/またはコンピューティングデバイス302は、1つもしくは複数のアシスタントインターフェース320において受け取られた入力をサーバデバイスに送信することができる。しかし、一部の追加的または代替的な実装において、自動化されたアシスタント304は、コンピューティングデバイス302のローカルでホストされることが可能であり、自動化されたアシスタントの動作に関連付けられ得る様々なプロセスは、コンピューティングデバイス302において実行されることが可能である。
【0037】
様々な実装において、自動化されたアシスタント304のすべてのまたは一部の態様は、コンピューティングデバイス302に実装され得る。それらの実装の一部において、自動化されたアシスタント304の態様は、コンピューティングデバイス302によって実装され、自動化されたアシスタント304のその他の態様を実装することができるサーバデバイスとインターフェースを取り得る。サーバデバイスは、任意で、複数のスレッドによって複数のユーザおよびそれらのユーザの関連するアシスタントアプリケーションにサービスを提供し得る。自動化されたアシスタント304のすべてのまたは一部の態様がコンピューティングデバイス302によって実装される実装において、自動化されたアシスタント304は、コンピューティングデバイス302のオペレーティングシステムと別れている(たとえば、オペレーティングシステムの「上に」インストールされる)アプリケーションであることが可能である--または代替的に、コンピューティングデバイス302のオペレーティングシステムによって直接実装される(たとえば、オペレーティングシステムのアプリケーションと考えられるがオペレーティングシステムと一体である)ことが可能である。
【0038】
一部の実装において、自動化されたアシスタント304は、入力処理エンジン306を含むことが可能であり、入力処理エンジン306は、コンピューティングデバイス302および/またはサーバデバイスのための入力および/または出力を処理するために複数の異なるモジュールを採用し得る。たとえば、入力処理エンジン306は、口頭の発話に具現化されたテキストを特定するために、アシスタントインターフェース320において受け取られた口頭の発話をキャプチャするオーディオデータを処理することができるスピーチ処理エンジン308を含み得る。オーディオデータは、コンピューティングデバイス302の計算リソースを節約するために、たとえば、コンピューティングデバイス302からサーバデバイスに送信されることが可能であり、サーバデバイスは、口頭の発話に具現化されたテキストをコンピューティングデバイス302に返送することが可能である。追加的または代替的に、オーディオデータは、コンピューティングデバイス302において排他的に処理され得る。
【0039】
オーディオデータをテキストに変換するためのプロセスは、(たとえば、ASRモデルを使用して)単語またはフレーズに対応するオーディオデータのグループを特定するためにニューラルネットワークおよび/または統計モデルを採用することができる音声認識アルゴリズムを含み得る。オーディオデータから変換されたテキストは、データ解析エンジン310によって解析され、(たとえば、NLUモデルを使用して)ユーザによって指定されたコマンドフレーズ、意図、アクション、スロット値、および/または任意のその他の内容を生成するおよび/または特定するために使用され得るテキストデータとして自動化されたアシスタント304が利用可能であるようにされ得る。一部の実装において、データ解析エンジン310によって提供される出力データは、(たとえば、遂行モデルおよび/または規則を使用して)自動化されたアシスタント304によって実行され得る特定の意図、アクション、および/もしくはルーチンならびに/または自動化されたアシスタント304によってアクセスされ得るアプリケーションもしくはエージェントに対応する入力をユーザが与えたかどうかを判定するためにパラメータエンジン312に提供され得る。たとえば、アシスタントデータ338が、サーバデバイスおよび/またはコンピューティングデバイス302に記憶されることが可能であり、自動化されたアシスタント304によって実行され得る1つまたは複数のアクションを定義するデータと、アクションを実行するために必要なパラメータとを含み得る。パラメータエンジン312は、意図、アクション、および/またはスロット値に関する1つまたは複数のパラメータを生成し、1つまたは複数のパラメータを出力生成エンジン314に提供することができる。出力生成エンジン314は、1つまたは複数のパラメータを使用して、ユーザに出力を提供するためにアシスタントインターフェース320と通信し、および/または1つもしくは複数のアプリケーション334に出力を提供するために1つもしくは複数のアプリケーション334と通信することができる。ユーザへの出力は、たとえば、コンピューティングデバイス302のディスプレイインターフェースもしくはコンピューティングデバイス302と通信する追加のコンピューティングデバイスのディスプレイを介してユーザに提示するために視覚的にレンダリングされ得る視覚的出力、コンピューティングデバイス302のスピーカもしくはコンピューティングデバイス302と通信する追加のコンピューティングデバイスのスピーカを介してユーザに提示するために聞こえるようにレンダリングされ得る可聴出力、コンピューティングデバイス304と通信する1つもしくは複数のネットワーク接続されたスマートデバイスを制御するスマートデバイス制御コマンド、および/またはその他の出力を含み得る。
【0040】
自動化されたアシスタントアプリケーションは、オンデバイスのASR、オンデバイスのNLU、およびオンデバイスの遂行を含み、ならびに/またはオンデバイスのASR、オンデバイスのNLU、およびオンデバイスの遂行にアクセスすることができる。たとえば、オンデバイスのASRは、コンピューティングデバイス302のローカルに記憶されたASRモデルを使用して(マイクロフォンによって検出された)オーディオデータを処理するオンデバイスASRモジュールを使用して実行され得る。オンデバイスASRモジュールは、エンドツーエンドでオーディオデータ内に存在する口頭の発話(もしあれば)の認識されたテキストに対応する1つもしくは複数のスピーチ仮説、または口頭の発話に対応すると予測される予測された音素などのASR出力をオーディオデータの処理に基づいて生成し、認識されたテキストに対応するスピーチ仮説は、予測された音素に基づいて生成され得る。また、たとえば、オンデバイスNLUモジュールは、NLUデータを生成するために、NLUモデルを使用して、ASRモジュールによって生成された認識されたテキストに対応するスピーチ仮説を処理することができる。NLUデータは、口頭の発話に対応する予測された意図と、任意で、意図に関連付けられるパラメータのスロット値とを含み得る。また、たとえば、オンデバイス遂行モジュールは、遂行モデルおよび/または規則、ならびに任意でその他のローカルデータを使用してNLUデータを処理して、口頭の発話の予測された意図を遂行するために実行するアシスタントコマンドを決定することができる。これらのアシスタントコマンドは、たとえば、口頭の発話に対するローカルのおよび/もしくはリモートの応答(たとえば、答え)、口頭の発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、口頭の発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応するリモートシステムを介して)送信するコマンド、ならびに/または口頭の発話に基づいて実行するその他の解決アクションを取得することを含み得る。そのとき、オンデバイスの遂行は、口頭の発話を満たすための決定されたアクションのローカルのおよび/またはリモートの実行/実行(performance/execution)を開始し得る。
【0041】
様々な実装において、リモートのASR、リモートのNLR、および/またはリモートの遂行が、少なくとも選択的に利用され得る。たとえば、認識されたテキストに対応するスピーチ仮説は、リモートのNLUおよび/またはリモートの遂行のためにリモートの自動化されたアシスタントコンポーネントに少なくとも選択的に送信され得る。たとえば、認識されたテキストに対応するスピーチ仮説は、任意で、オンデバイスの実行と並列したリモートの実行のために、またはオンデバイスのNLUおよび/もしくはオンデバイスの遂行の失敗に応じて送信され得る。しかし、オンデバイスのASR、オンデバイスのNLU、オンデバイスの遂行、および/またはオンデバイスの実行が、少なくとも、(口頭の発話を満たすためにクライアント-サーバの往復が必要とされないことによる)口頭の発話を満たすときにそれらが提供するレイテンシの削減が理由で優先され得る。さらに、オンデバイスの機能は、ネットワーク接続性がないかまたは限られている状況で利用可能な唯一の機能であり得る。
【0042】
一部の実装において、コンピューティングデバイス302は、コンピューティングデバイス302および/もしくは自動化されたアシスタント304を提供したエンティティと同じであるファーストパーティエンティティによって、ならびに/またはコンピューティングデバイス302および/もしくは自動化されたアシスタント304を提供したエンティティとは異なるサードパーティエンティティによって提供され得る1つまたは複数のアプリケーション334を含むことが可能である。自動化されたアシスタント304および/またはコンピューティングデバイス302のアプリケーション状態エンジンは、アプリケーションデータ330にアクセスして、1つまたは複数のアプリケーション334によって実行され得る1つまたは複数のアクション、ならびに1つまたは複数のアプリケーション334の各アプリケーションの状態、および/またはコンピューティングデバイス302に関連付けられるそれぞれのデバイスの状態を決定することができる。自動化されたアシスタント304および/またはコンピューティングデバイス302のデバイス状態エンジンは、デバイスデータ332にアクセスして、コンピューティングデバイス302および/またはコンピューティングデバイス302に関連付けられる1つもしくは複数のデバイス(たとえば、コンピューティングデバイス302と通信する1つもしくは複数のネットワーク接続されたスマートデバイス)によって実行され得る1つまたは複数のアクションを決定することができる。さらに、アプリケーションデータ330および/または任意のその他のデータ(たとえば、デバイスデータ332)が、コンテキストデータ336を生成するために自動化されたアシスタント304によってアクセスされることが可能であり、コンテキストデータ336は、特定のアプリケーション334および/もしくはデバイスが実行されているコンテキスト、ならびに/あるいは特定のユーザがコンピューティングデバイス302、アプリケーション334、および/または任意のその他のデバイスもしくはモジュールにアクセスしているコンテキストを特徴付けることができる。
【0043】
1つまたは複数のアプリケーション334がコンピューティングデバイス302において実行されている間、デバイスデータ332は、コンピューティングデバイス302において実行される、および/またはコンピューティングデバイス302のリモートで実行される(たとえば、1つもしくは複数のストリーミングアプリケーション)各アプリケーション334の現在の動作状態を特徴付けることができる。さらに、アプリケーションデータ330は、1つまたは複数のアプリケーション334の指示でレンダリングされている1つまたは複数のグラフィカルユーザインターフェースの内容などの、実行中のアプリケーション334の1つまたは複数の特徴を特徴付けることができる。代替的または追加的に、アプリケーションデータ330は、アクションスキーマ(action schema)を特徴付けることができ、アクションスキーマは、それぞれのアプリケーションの現在の動作状態に基づいて、それぞれのアプリケーションによっておよび/または自動化されたアシスタント304によって更新され得る。代替的または追加的に、1つまたは複数のアプリケーション334のための1つまたは複数のアクションスキーマは、静的なままであるが、自動化されたアシスタント304を介して初期化する好適なアクションを決定するためにアプリケーション状態エンジンによってアクセスされ得る。
【0044】
コンピューティングデバイス302は、1つまたは複数の訓練された機械学習モデルを使用して、アプリケーションデータ330、デバイスデータ332、コンテキストデータ336、および/またはコンピューティングデバイス302がアクセス可能な任意のその他のデータを処理することができるアシスタント呼び出しエンジン322をさらに含み得る。アシスタント呼び出しエンジン322は、自動化されたアシスタント304を呼び出すためにユーザが呼び出しフレーズを明示的に話すのを待つべきか否かを判定する(および、自動化されたアシスタント304を呼び出すためにユーザが呼び出しフレーズを話したか否かを判定する)か、または--呼び出しフレーズを明示的に話すようにユーザに要求する代わりに--データがユーザによる自動化されたアシスタントを呼び出す意図を示すものとみなすためにこのデータを処理することができる。たとえば、1つまたは複数の訓練された機械学習モデルは、複数のデバイスおよび/またはアプリケーションが様々な動作状態を呈している環境内にユーザがいるシナリオに基づく訓練データの事例を使用して訓練され得る。訓練データの事例は、少なくとも呼び出しフレーズを含むオーディオデータ、および/またはユーザが自動化されたアシスタントを呼び出すコンテキスト、およびユーザが自動化されたアシスタントを呼び出さないその他のコンテキストを特徴付ける訓練データをキャプチャするために生成され得る。1つまたは複数の訓練された機械学習モデルが訓練データのこれらの事例によって訓練されるとき、アシスタント呼び出しエンジン322は、自動化されたアシスタント304に、コンテキストおよび/または環境の特徴に基づいて、ユーザからの口頭の呼び出しフレーズを検出させるかまたは検出することを制限させることができる。追加的または代替的に、アシスタント呼び出しエンジン322は、ユーザがいかなる呼び出しフレーズも与える必要なしに、自動化されたアシスタント304に、コンテキストおよび/または環境の特徴に基づいて、ユーザからの1つまたは複数のアシスタントコマンドを検出させるかまたは検出することを制限させることができる。
【0045】
一部の実装において、システム300は、口頭の発話の特定の解釈を実行するべきかどうかを判定する、および/または口頭の発話の代替的な解釈に関する1つもしくは複数の提案を提供するために、ユーザからの入力を処理することを支援することができる提案生成エンジン316を含み得る。アシスタント入力の受け取りに応答して、提案生成エンジン316は、予測された意図および/または予測された意図に関連するパラメータのスロット値の異なる組合せなどの、アシスタント入力に具現化された要求とのある度合いの対応を有する複数の異なる解釈を特定することができる。特定の解釈の対応の度合いは、1つまたは複数の異なる閾値と比較されることが可能な値を持つことができる測定基準によって特徴付けられ得る。たとえば、口頭の発話の特定の解釈が、ユーザ入力に応答して特定されることが可能であり、特定の解釈の測定基準が、目標の閾値を満たすと判定され得る。この判定に基づいて、自動化されたアシスタント304は、特定の解釈に関連付けられる動作の実行を自動的に初期化することができ、より低い値の測定基準に関連するその他の解釈に対応する提案要素のレンダリングを省略することができる。
【0046】
一部の実装においては、特定の解釈が特定のユーザ入力に関して最高の測定基準値を有するが、測定基準値が目標の閾値を満たさないとき、自動化されたアシスタント304は、1つまたは複数の追加の提案要素をレンダリングすると決定することができる。たとえば、自動化されたアシスタントは、特定の解釈に関連付けられる動作の実行を依然として自動的に初期化することができるが、最も高い測定基準値を有するその他の代替的な解釈に対応する選択可能な要素をレンダリングすることもできる。これらの選択可能な要素は、選択可能な要素を要求するいかなる追加のユーザ入力もなしに、コンピューティングデバイス302のディスプレイインターフェースにレンダリングされ得る。一部の実装においては、これらの選択可能な要素のうちの1つまたは複数の目立ち度が、選択可能な要素の各々の代替的な解釈に関連するそれぞれの測定基準値に基づき得る。一部の実装においては、選択可能な要素のうちの対応する選択可能な要素をレンダリングするべきかどうかを判定するために、それぞれの選択可能な提案要素に関連する測定基準値が、提案の閾値と比較され得る。たとえば、一部の実装においては、提案の閾値を満たさない測定基準値に関連する代替的な解釈が、ユーザからのその後の入力(たとえば、追加の提案を明らかにするためのスワイプジェスチャ)に応答して、依然としてレンダリングされ得る。
【0047】
一部の実装において、システム300は、ユーザからの入力の受け取りに応答して、1つまたは複数のGUI要素をレンダリングするためのアシスタントGUIデータを生成することができる提案特徴エンジン318を含み得る。アシスタントGUIデータは、特定の選択可能な要素に関連する対応する測定基準値に基づく特定の選択可能な要素のサイズ、特定の選択可能な要素に関連する対応する測定基準値に基づくディスプレイ上の特定の選択可能な要素の配置(たとえば、特定の選択可能な要素の水平方向および/もしくは垂直方向の変位が、特定の選択可能な要素の対応する配置データによって特徴付けられる)、特定の選択可能な要素の対応する表示特性(たとえば、特定の選択可能な要素の太字特性、背景に対する特定の選択可能な要素の塗りつぶし特性、および/もしくは特定の選択可能な要素を視覚的にレンダリングすることに関連する任意のその他の表示特性)を特徴付けるディスプレイ上の特定の選択可能な要素の表示データ、コンピューティングデバイス302のディスプレイインターフェースのサイズに基づいて、および/もしくは提案の閾値を満たす対応する測定基準値を有する代替的な説明的解釈の量に基づく、表示される特定の選択可能な要素の量、ならびに/またはその他のGUIデータを特徴付けることができる。とりわけ、GUIデータは、口頭の発話を満たすと予測される初期解釈に関連付けられる動作のための制御要素を特徴付けることもできる。制御要素は、動作の種類に基づくことができ、たとえば、動作がメディアコンテンツの再生を含むときのメディア制御要素、動作がIoTデバイス(たとえば、サーモスタットの温度、スマート照明の明るさなど)の制御を含むときの、IoTデバイスのパラメータを調整するためのスライダー要素、および/または動作の種類に基づくその他の制御要素を含み得る。
【0048】
一部の実装において、システム300は、ユーザ入力に応答して、自動化されたアシスタント304によって特定された1つまたは複数のユーザの意図の実行および/または部分的な遂行を初期化するべきかどうかを判定することができる遂行エンジン326を含み得る。たとえば、遂行エンジン326は、特定の解釈に関連する測定基準が目標の閾値を満たすとき、ユーザ入力に応答して、口頭の発話の特定の解釈に関連する動作を実行させることができる。代替的または追加的に、口頭の発話の特定された解釈が目標の閾値を満たさないときは、最も高い測定基準値(たとえば、ユーザ入力との対応の最大の度合い)に関連付けする特定の解釈が、遂行エンジン326によって実行され得る。一部の実装においては、次に高い測定基準値(たとえば、ユーザ入力との対応の次に大きな度合い)を有する1つまたは複数の代替的な解釈が、遂行エンジン326によって少なくとも部分的に遂行および/または実行され得る。たとえば、次に高い測定基準値を有する代替的な解釈を少なくとも部分的に遂行することを促進するために、自動化されたアシスタント304および/または別のアプリケーションによってデータが取り出され得る。
【0049】
一部の実装において、システム300は、本明細書において説明される(たとえば、
図1に関連して説明されたように対応測定基準を生成する際に利用される)1つまたは複数の機械学習モデルを最初に訓練するための訓練事例を生成し、ユーザが自動化されたアシスタント304とどのようにインタラクションするかに基づいて1つまたは複数の機械学習モデルを更新するための訓練事例を生成することができる訓練データエンジン324を含み得る。複数の訓練事例に基づく1つまたは複数の機械学習モデルの初期訓練は、
図1に関連して上で説明されており、複数の訓練事例が、訓練データエンジン324を使用して生成され得る。さらに、本明細書において説明されるようにユーザに提示するために提供される代替的な解釈に関連する任意の選択可能な要素の選択または非選択が、1つまたは複数の機械学習モデルを更新するための追加の訓練事例を生成するために利用され得る。たとえば、ユーザが代替的な解釈に関連する選択可能な要素のいずれも選択しないと仮定する。この例においては、口頭の発話に関連する信号および/または解釈が、訓練事例の入力として利用されることが可能であり、最初に選択された解釈を示すグラウンドトゥルース出力が、初期解釈の選択に正の強化をするために利用されることが可能である。対照的に、ユーザが代替的な解釈に関連する選択可能な要素のうちの1つを選択すると仮定する。この例においては、口頭の発話に関連する信号および/または解釈が、訓練事例の入力として利用されることが可能であり、代替的な解釈を示すグラウンドトゥルース出力が、代替的な解釈の選択に正の強化をする(同時に初期解釈の選択に負の強化をする)ために利用されることが可能である。したがって、1つまたは複数の機械学習モデルは、自動化されたアシスタント304が初期解釈の選択を改善することができるように、経時的に更新され得る。たとえば、選択される初期解釈がメディアの再生のための第1のアプリケーションに関連付けられるが、概してユーザがメディアの再生のための第2のアプリケーションに関連付けられる代替的な解釈を選択する場合、1つまたは複数の機械学習モデルは、ユーザがメディアの再生のための第2のアプリケーションを好むことを反映するように経時的に更新され得る。
【0050】
図4Aおよび
図4Bは、様々に異なるように解釈される場合があり、および/または特定のパラメータが欠落している場合がある口頭の発話に応答して代替的な解釈を提供するために自動化されたアシスタントを動作させるための方法400および方法420を示す。方法400および方法420は、自動化されたアシスタントとインターフェースをとることができる1つまたは複数のアプリケーション、コンピューティングデバイス、および/または任意のその他の装置もしくはモジュールを使用して実行され得る。方法400は、アシスタント入力がコンピューティングデバイスによって検出されたかどうかを判定する動作402を含み得る。アシスタント入力は、自動化されたアシスタントにアシスタントコマンドを実行させるユーザからの要求を含む口頭の発話であることが可能である。口頭の発話の受け取りに応答して、自動化されたアシスタントは、口頭の発話の複数の解釈を生成するために1つまたは複数の動作(たとえば、ASR動作、NLU動作、遂行動作、および/またはその他の動作)を実行することができる。たとえば、「Assistant, play Congolese(アシスタント、コンゴの、再生)」というような口頭の発話である。ユーザは、口頭の発話が自動化されたアシスタントにコンゴ音楽を再生するよう指示することを意図する可能性があるが、自動化されたアシスタントは、口頭の発話の受け取りに応答して、第1の解釈に関連する特定の動作を自動的に初期化し、さらに、代替的な解釈に基づく、ユーザに提案するその他の動作を特定することができる。
【0051】
方法400は、アシスタント入力が検出されるとき、動作402から動作404に進むことができる。そうでない場合、自動化されたアシスタントは、動作402においてユーザ入力を検出し続けることができる。動作404は、異なる解釈を特定することができる入力データを生成することを含み得る。たとえば、前述の口頭の発話に応答して、自動化されたシステムは、第1のアプリケーションによってコンゴ音楽を再生する(たとえば、playMusic("Congolese", first application))、スピーチをコンゴで話されている言語に翻訳する(たとえば、translateSpeech("play", English, Swahili))、および/または第2のアプリケーションによってコンゴ音楽を再生する(たとえば、playMusic("Congolese", second application))などの、口頭の発話の異なる解釈を特徴付けるアシスタント入力データを生成することができる。
【0052】
方法400は、動作404から動作406に進むことができ、動作406は、口頭の発話に含まれるユーザからの要求と口頭の発話の複数の異なる解釈との間の対応の予測された度合いを特徴付ける測定基準データを生成することを含み得る。言い換えると、各解釈に関して、それぞれの解釈と口頭の発話との間の対応の度合いを特徴付けるための測定基準が生成され得る。たとえば、前述の例を進めるために、第1のアプリケーションで音楽を再生するための解釈が、その他の解釈と比較して、ユーザの要求との対応の最大の度合いを持ち得る。第2のアプリケーションで音楽を再生するための解釈は、対応の次に大きな度合いを持つことが可能であり、スピーチを翻訳するための別の解釈は、音楽を再生するためのその他の2つの解釈よりも小さい対応の特定の度合いを持つことが可能である。
【0053】
方法400は、動作406から動作408に進むことができ、動作408は、特定の解釈の測定基準が測定基準の閾値を満たすかどうかを判定することを含み得る。測定基準の閾値は、対応する解釈が、追加の提案される解釈が自動化されたアシスタントによって認められない可能性があるような程度(たとえば、75%、60%、または任意の他の値)に口頭の発話を満たすと予測されると自動化されたアシスタントが判定する閾値であることが可能である。したがって、特定の解釈に対応する測定基準が測定基準の閾値を満たすとき、自動化されたアシスタントは、その他の提案される解釈をレンダリングすることなく、解釈に関連付けられる動作の実行を初期化することができる。しかし、いずれの特定された解釈の測定基準も測定基準の閾値を満たさないとき、自動化されたアシスタントは、測定基準の閾値を満たすのに最も近い測定基準に対応する解釈に関連する動作の実行を初期化し、さらに同時に、その他の解釈をユーザに提案してよい。
【0054】
特定の解釈の測定基準が測定基準の閾値を満たすとき、方法400は、動作408から動作410に進むことができる。そうではなく、いずれの特定の解釈の測定基準も測定基準の閾値を満たさないとき、方法400は、動作408から下で説明される動作412に進むことができる。動作410は、コンピューティングデバイスに、測定基準の閾値を満たす測定基準に対応する特定の解釈の実行を初期化させることを含み得る。たとえば、第1のアプリケーションによって音楽を再生するという解釈に対応する測定基準が測定基準の閾値を満たすとき、自動化されたアシスタントは、コンピューティングデバイスに、その特定の解釈に関連する動作の実行を初期化させることができる。そのような場合、自動化されたアシスタントは、特定の解釈に関連する動作の実行がユーザからの要求を満たすことを客観的に確信している可能性があるが、自動化されたアシスタントは、任意で、代替的な解釈に関連する動作をユーザに提供することができる。
【0055】
たとえば、方法400は、継続要素「A」を介して動作410から
図4Bの方法420において提供される動作422に進むことができる。動作422は、入力が受け取られており、別の解釈を特定することを対象としているかどうかを判定することを含み得る。たとえば、ユーザは、自動化されたアシスタントに、口頭の発話に応答して実行されてよいその他の解釈に関連するその他の動作の追加の提案を提供させるために、コンピューティングデバイスのディスプレイインターフェースにおいてスワイプジェスチャを実行する場合がある。これらのその他の解釈は、たとえば、動作404において特定され得るが、測定基準の閾値を満たした対応する測定基準を持たなかった。たとえば、コンピューティングデバイスが第1のアプリケーションによって音楽を再生しているとき、ユーザは、1つまたは複数の選択可能な要素を明らかにするために、入力ジェスチャまたはその他のアシスタント入力をコンピューティングデバイスに与えることができる(たとえば、コンピューティングデバイスのディスプレイインターフェースをスワイプする)。1つまたは複数の選択可能な要素の各選択可能な要素は、口頭の発話の代替的な解釈に関連する動作に対応し得る。たとえば、第1のアプリケーションが音楽を再生している間にユーザがディスプレイインターフェースをスワイプするとき、代替的な解釈によって示されるように、第2のアプリケーションで音楽を再生する動作に対応する第1の選択可能な要素がレンダリングされ得る。
【0056】
動作422においてユーザ入力が受け取られると判定されるとき、方法420は、動作422から、継続要素「B」を介して、下で説明される動作416に進むことができる。動作408においていずれの解釈の測定基準も測定基準の閾値を満たさないとき、方法400は、動作408から動作412に進むことができる。動作412は、口頭の発話に含まれるユーザからの要求との対応の最大の度合いを有する特定の解釈を特定することを含み得る。たとえば、第1のアプリケーションで音楽を再生するための解釈に対応する測定基準が測定基準の閾値を満たさない可能性があるが、それにもかかわらず、測定基準は、口頭の発話に含まれるユーザからの要求との対応の最大の度合いを有する場合がある。言い換えると、解釈の実行は、少なくとも、口頭の発話に基づいて特定されたその他の解釈と比較して、要求を満たす可能性が最も高いと予測される場合がある。
【0057】
方法400は、動作412から動作414に進むことができ、動作414は、コンピューティングデバイスに、特定の解釈に関連する動作の実行を自動的に初期化させることを含み得る。前述の例によれば、特定の解釈に関連するこの動作は、コンゴ音楽を第1のアプリケーションによって再生させる場合がある。したがって、コンピューティングデバイスは、第1のアプリケーションおよびコンピューティングデバイスのオーディオインターフェースによってコンゴ音楽をレンダリングすることができる。方法400は、動作414から動作416に進むことができ、動作416は、口頭の発話に含まれる要求を満たす可能性がある1つまたは複数のその他の解釈を特定することを含み得る。たとえば、動作416は、動作404において生成されたユーザデータに関連する代替的な解釈を特定することを含み得る。
【0058】
代替的または追加的に、自動化されたアシスタントは、動作404において生成された入力データによって特定されなかった可能性がある1つまたは複数のその他の代替的な解釈を特定することができる。たとえば、動作414において実行される特定の解釈に関連する動作、および/または口頭の発話に含まれるユーザからの要求に関連するコンテキストデータに基づいて、自動化されたアシスタントは、ユーザに提案するその他の解釈に関連するその他の内容および/または動作を特定することができる。たとえば、自動化されたアシスタントは、現在実行されているユーザの意図に似ている可能性があるが、その他のパラメータ、またはパラメータもしくはその他のパラメータのその他のスロット値を含む場合がある解釈を有する動作を特定することができる。たとえば、音楽を再生するという特定の解釈に関連する動作が実行されているとき、提案される代替的な解釈に関連するその他の動作は、進行中の処理中に口頭の発話のスピーチの特性(たとえば、検出された音素)との類似性に基づくスロット値を含めることができる。たとえば、自動化されたアシスタントは、単語「Portuguese(ポルトガルの)」が、口頭の発話によってユーザにより話された口頭の言葉「Congolese(コンゴの)」との対応および/または類似性のある度合いを有すると判定する場合がある。この判定に基づいて、自動化されたアシスタントは、代替的な解釈として第1のアプリケーションによってポルトガル音楽を再生するための選択可能な提案を特徴付ける提案データを生成することができる。
【0059】
方法400は、動作416から動作418に進むことができ、動作418は、コンピューティングデバイスに、1つのまたは複数のその他の解釈に対応する1つまたは複数の選択可能な要素をレンダリングさせることを含み得る。1つまたは複数の選択可能な要素は、自動化されたアシスタントによって実行されている特定の解釈に対応する特定の選択可能な要素と同時にレンダリングされ得る。たとえば、動作416において特定された1つまたは複数の選択可能な要素と同時に、第1のアプリケーションによるコンテンツのオーディオ再生を制御するためのオーディオ制御インターフェースがレンダリングされ得る。
【0060】
方法400は、動作418から、
図4Bの方法420に示されるように、継続要素「C」を介して動作424に進むことができる。動作424は、別の選択可能な要素を選択するためのユーザの選択が受け取られたかどうかを判定することを含み得る。1つまたは複数の選択可能な要素のうちの別の選択可能な要素を選択するためのユーザ入力が受け取られたと判定されるとき、方法420は、動作426に進むことができる。動作426は、コンピューティングデバイスに、選択された選択可能な要素に対応する特定の代替的な解釈に関連する代替的な動作の実行を初期化させることを含み得る。代替的または追加的に、選択可能な要素の選択に応答して、自動化されたアシスタントは、代替的な動作を実行させ、特定の解釈に関連する最初に選択された動作(たとえば、第1のアプリケーションによってコンゴ音楽を再生する)の進行中の実行をキャンセルおよび/または一時停止させることができる。
【0061】
一部の実装において、方法420は、任意で、動作426から任意の動作428に進むことができる。あるいは、別の選択可能な要素の選択から入力が受け取られないとき、方法420は、動作424から任意の動作428に進むことができる。動作428は、1つまたは複数の選択可能な要素の選択または非選択に応じて、1つまたは複数の機械学習モデルを訓練(または更新)させることを含み得る。たとえば、別の選択可能な要素が、実行されているユーザの意図とは異なる別の解釈に対応するとき、訓練された機械学習モデルは、その後、後続の解釈が、要求の後続のインスタンスの受け取りに応答して、選択された解釈の方に偏らされるように、訓練(または更新)され得る。結果として、要求の後続のインスタンスの受け取りに応答して、代替的な解釈(たとえば、第2のアプリケーションでコンゴ音楽を再生する)が初期化される場合がある。
【0062】
図5は、例示的なコンピュータシステム510のブロック
図500である。概して、コンピュータシステム510は、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、たとえば、メモリ525およびファイルストレージサブシステム526を含むストレージサブシステム524、ユーザインターフェース出力デバイス520、ユーザインターフェース入力デバイス522、ならびにネットワークインターフェースサブシステム516を含んでよい。入力および出力デバイスは、コンピュータシステム510とのユーザのインタラクションを可能にする。ネットワークインターフェースサブシステム516は、外部ネットワークへのインターフェースを提供し、その他のコンピュータシステムの対応するインターフェースデバイスに結合される。
【0063】
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含んでよい。概して、用語「入力デバイス」の使用は、コンピュータシステム510または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【0064】
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含んでよい。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含んでよい。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして非視覚的表示を提供する場合もある。概して、用語「出力デバイス」の使用は、コンピュータシステム510からユーザまたは別のマシンもしくはコンピュータシステムに情報を出力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【0065】
ストレージサブシステム524は、本明細書において説明されたモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム524は、方法400および方法420の選択された態様を実行するため、ならびに/あるいはシステム300、コンピューティングデバイス104、コンピューティングデバイス204、自動化されたアシスタント、および/または本明細書において検討される任意のその他のアプリケーション、デバイス、装置、および/もしくはモジュールのうちの1つまたは複数を実装するための論理を含んでよい。
【0066】
これらのソフトウェアモジュールは、概して、プロセッサ514によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム524において使用されるメモリ525は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM)530と、決まった命令が記憶される読み出し専用メモリ(ROM)532とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム526は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体をともなうフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含んでよい。特定の実装の機能を実装するモジュールは、ストレージサブシステム524内のファイルストレージサブシステム526によって、またはプロセッサ514によりアクセスされ得るその他のマシンに記憶される場合がある。
【0067】
バスサブシステム512は、コンピュータシステム510の様々なコンポーネントおよびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム512は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する場合がある。
【0068】
コンピュータシステム510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、クライアントデバイス(たとえば、
図1A~
図1Dのコンピューティングデバイス104、
図3のコンピューティングデバイス302、および/もしくはその他のクライアントデバイス)、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であることが可能である。コンピュータおよびネットワークの変わり続ける性質が原因で、
図5に示されたコンピュータシステム510の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。
図5に示されたコンピュータシステムよりも多くのまたは
図5に示されたコンピュータシステムよりも少ないコンポーネントを有するコンピュータシステム510の多くのその他の構成が、可能である。
【0069】
本明細書において説明されたシステムがユーザ(もしくは本明細書においては「参加者」と呼ばれることが多い)についての個人情報を収集するかまたは個人情報を利用する場合がある状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信するべきかどうかおよび/またはどのようにして受信するべきかを制御する機会を与えられてよい。また、特定のデータが、個人を特定することができる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される場合がある。たとえば、ユーザのアイデンティティ(identity)が、個人を特定することができる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される場合があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理されてよい。したがって、ユーザは、情報がユーザについてどのようにして収集されるかおよび/または使用されるかを制御することができる場合がある。
【0070】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用されてよく、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、主張されたのとは異なる方法で実施される可能性があることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【0071】
一部の実装においては、1つまたは複数のプロセッサによって実施される方法が、提供され、コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、口頭の発話が、自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、口頭の発話に基づいて、口頭の発話に応じると予測される複数の解釈を特徴付けるアシスタント入力データを生成するステップであって、解釈の各々が、対応する意図、対応する意図に関連する1つまたは複数の対応するパラメータ、および1つまたは複数の対応するパラメータの各々の1つまたは複数の対応するスロット値を含み、解釈の各々が、少なくとも1つの固有の対応するスロット値を含む、ステップと、アシスタント入力データに基づいて、複数の解釈の各々と口頭の発話に含まれるアシスタントコマンドとの間の対応の予測された度合いを特徴付ける測定基準データを生成するステップと、測定基準データおよびアシスタント入力データに基づいて、自動化されたアシスタントに、口頭の発話に含まれるアシスタントコマンドを遂行するための、複数の解釈のうちの第1の解釈に関連する第1の動作の実行を自動的に初期化させるステップと、測定基準データおよびアシスタント入力データに基づいて、1つまたは複数の選択可能な提案要素をコンピューティングデバイスのディスプレイインターフェースにレンダリングさせるステップであって、1つまたは複数の選択可能な提案要素の各々が、口頭の発話に含まれるアシスタントコマンドを遂行するための、複数の解釈のうちの対応する代替的な解釈に関連付けられる、ステップとを含む。1つまたは複数の選択可能な提案要素のうちの所与の選択可能な提案要素のユーザの選択は、自動化されたアシスタントに、所与の選択可能な提案要素に関連する対応する代替手稲動作の実行を初期化させる。
【0072】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含み得る。
【0073】
一部の実装において、自動化されたアシスタントに、口頭の発話に含まれるアシスタントコマンドを遂行するための第1の動作の実行を自動的に初期化させるステップは、第1のアプリケーションに特定のコンテンツのインスタンスを生成させてよい。
【0074】
一部の実装において、方法は、自動化されたアシスタントに、口頭の発話に含まれるアシスタントコマンドを遂行するための第1の動作の実行を自動的に初期化させることに応答して、自動音声認識(ASR)プロセスまたは自然言語理解(NLU)プロセスを、1つまたは複数の選択可能な提案要素に関連する内容の方に偏らせるステップをさらに含んでよい。
【0075】
一部の実装において、方法は、測定基準データおよびアシスタント入力データに基づいて、自動化されたアシスタントに、1つまたは複数の選択可能な提案要素に関連する対応する代替的な動作を遂行する準備を促進するために、アプリケーションデータにアクセスさせるステップをさらに含んでよい。
【0076】
一部の実装において、方法は、口頭の発話に基づいて、複数の解釈に関連する対応するパラメータのうちの1つまたは複数の対応するスロット値のうちの1つまたは複数が、口頭の発話によってユーザにより指定されなかったと判定するステップをさらに含んでよい。自動化されたアシスタントは、第1の解釈に関連する対応するパラメータのうちの1つまたは複数の特定のスロット値を推測してよい。それらの実装の一部のバージョンにおいて、方法は、口頭の発話に基づいて、対応する代替的な解釈の各々の代替的な特定のスロット値を推測するステップをさらに含んでよい。所与の選択可能な提案要素のユーザの選択は、代替的な動作を、代替的な特定のスロット値を使用して初期化させてよい。それらの実装の一部の更なるバージョンにおいて、特定のスロット値は、特定のコンテンツをレンダリングするための第1のアプリケーションを特定してよく、代替的な特定のスロット値は、代替的な特定のコンテンツをレンダリングするための異なる第2のアプリケーションを特定してよい。それらの実装の一部の更なる追加的または代替的なバージョンにおいて、特定のスロット値は、特定のコンテンツをレンダリングするための第1のエンティティの参照を特定してよく、代替的な特定のスロット値は、代替的な特定のコンテンツをレンダリングするための異なる第2のエンティティの参照を特定してよい。
【0077】
一部の実装において、1つまたは複数の選択可能な提案要素をコンピューティングデバイスのディスプレイインターフェースにレンダリングさせるステップは、自動化されたアシスタントに、口頭の発話に含まれるアシスタントコマンドを遂行するための第1の動作の実行を自動的に初期化させた後に、閾値の継続時間の間、1つまたは複数の選択可能な提案要素をコンピューティングデバイスのディスプレイインターフェースにレンダリングさせることを含んでよい。
【0078】
一部の実装においては、1つまたは複数のプロセッサによって実施される方法が、提供され、コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、口頭の発話が、自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、口頭の発話に基づいて、第1の動作がアシスタントコマンドを満たすと予測される度合いを特徴付ける第1の測定基準、および第2の動作がアシスタントコマンドを満たすと予測される別の度合いを特徴付ける第2の測定基準を特定する測定基準データを生成するステップと、第1の動作および第2の動作に基づいて、口頭の発話に応じるアシスタントグラフィカルユーザインターフェース(GUI)を特徴付けるGUIデータを生成するステップと、口頭の発話の受け取りに応答して、自動化されたアシスタントに、第1の動作の実行を自動的に初期化させるステップと、コンピューティングデバイスのディスプレイインターフェースに、GUIデータおよび測定基準データに従ってアシスタントGUIをレンダリングさせるステップとを含む。GUIデータは、第1の選択可能な要素および第2の選択可能な要素を特定するために生成され、第1の選択可能な要素は、第1の動作の実行を制御するために選択可能であり、第2の選択可能な要素は、第2の動作の実行を自動的に初期化するために選択可能である。
【0079】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含み得る。
【0080】
一部の実装において、第1の動作がアシスタントコマンドを満たすと予測される度合いが第2の動作がアシスタントコマンドを満たすと予測される別の度合いよりも大きいとき、アシスタントGUIにおいて、第1の選択可能な要素は、第2の選択可能な要素よりも目立つように配置されてよい。
【0081】
一部の実装において、ディスプレイインターフェースに、GUIデータおよび測定基準データに従ってアシスタントGUIをレンダリングさせるステップは、第1の選択可能な要素を第2の選択可能な要素に隣接して配置させることを含んでよい。第1の動作がアシスタントコマンドを満たすと予測される度合いが第2の動作がアシスタントコマンドを満たすと予測される別の度合いよりも大きいとき、アシスタントGUIにおいて、第1の選択可能な要素の第1のエリアは、第2の選択可能な要素の第2のエリアよりも大きくてよい。
【0082】
一部の実装において、ディスプレイインターフェースに、GUIデータおよび測定基準データに従ってアシスタントGUIをレンダリングさせるステップは、第1の選択可能な要素を第2の選択可能な要素に隣接して配置させることを含んでよい。アシスタントGUIにおいて、第1の選択可能な要素は、第1の選択可能な要素に固有であり、アシスタントGUIにおける第1の選択可能な要素の対応する第1の位置を特徴付ける第1の配置データに従って配置されてよく、第2の選択可能な要素は、第2の選択可能な要素に固有であり、アシスタントGUIにおける第2の選択可能な要素の対応する第2の位置を特徴付ける第2の配置データに従って配置されてよい。
【0083】
一部の実装において、アシスタントGUIにおいて、第1の選択可能な要素は、第1の選択可能な要素に固有であり、アシスタントGUIにおける第1の選択可能な要素の対応する第1の表示特性を特徴付ける対応する第1の表示データに基づいて表示されてよく、第2の選択可能な要素は、第2の選択可能な要素に固有であり、アシスタントGUIにおける第2の選択可能な要素の対応する第2の表示特性を特徴付ける対応する第2の表示データに基づいて表示されてよい。
【0084】
一部の実装において、第1の動作は、コンピューティングデバイスにおいて実行される特定の動作であってよく、第2の動作は、別のコンピューティングデバイスにおいて実行される特定の動作であってよい。さらに、第2の選択可能な要素のユーザの選択は、特定の動作を、別のコンピューティングデバイスにおいて初期化させてよい。
【0085】
一部の実装において、第2の選択可能な要素は、第1の動作が実行されているときに、コンピューティングデバイスのディスプレイインターフェースにおけるタッチ入力によって選択可能であってよい。
【0086】
一部の実装において、第2の選択可能な要素は、第1の動作が実行されるのと同時の追加の口頭の発話によって選択可能であってよい。
【0087】
一部の実装では、アシスタントGUIにおいて、第2の選択可能な要素に比した第1の選択可能な要素のレンダリングの目立ち度が、第1の測定基準と第2の測定基準との間の差に基づいてよい。それらの実装の一部のバージョンにおいては、第1の測定基準と第2の測定基準との間の差が提案の閾値を満たさないとき、第2の選択可能な要素は、ディスプレイインターフェースにレンダリングされなくてよく、ユーザによってコンピューティングデバイスのディスプレイインターフェースに与えられた特定のタッチジェスチャが、第2の選択可能な要素をコンピューティングデバイスのディスプレイインターフェースにレンダリングさせてよい。
【0088】
一部の実装においては、1つまたは複数のプロセッサによって実施される方法が、提供され、コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、口頭の発話が、自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、口頭の発話の受け取りに応答して、アシスタントコマンドを遂行するために自動化されたアシスタントによって初期化され得る第1の動作を特定するステップと、口頭の発話に応答して、第1の動作の実行を自動的に初期化するステップと、第1の動作が口頭の発話に応じると予測される度合いに基づいて、少なくとも、アシスタントコマンドを遂行するために自動化されたアシスタントによって初期化され得る第2の動作を特定するステップと、口頭の発話に基づいて、コンピューティングデバイスのディスプレイインターフェースに、少なくとも、第2の動作に関連する第2の選択可能な要素をレンダリングさせるステップであって、第2の選択可能な要素が、選択されるときに、自動化されたアシスタントに、第1の動作の代わりに第2の動作を初期化させる、ステップとを含む。
【0089】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、任意で、以下の特徴のうちの1つまたは複数を含み得る。
【0090】
一部の実装において、少なくとも、アシスタントコマンドを遂行するために自動化されたアシスタントによって初期化され得る第2の動作を特定するステップは、第1の動作が口頭の発話に応じると予測される度合いを特徴付ける測定基準を生成することと、測定基準が測定基準の閾値を満たすかどうかを判定することとを含んでよい。自動化されたアシスタントは、測定基準が測定基準の閾値を満たさないときに、ユーザに提案するために、少なくとも第2の動作を特定してよい。
【0091】
一部の実装において、少なくとも、アシスタントコマンドを遂行するために自動化されたアシスタントによって初期化され得る第2の動作を特定するステップは、第1の動作が特定の種類の動作であるかどうかを判定することを含んでよい。自動化されたアシスタントは、第1の動作が特定の種類の動作であるときに、少なくとも第2の動作を特定すると決定してよく、特定された第2の動作は、第1の動作の特定の種類の動作とは異なる種類の動作であってよい。それらの実装の一部のバージョンにおいて、特定の種類の動作は、異なるユーザとコミュニケーションすることを含むコミュニケーション動作を含んでよい。
【0092】
一部の実装において、方法は、第2の選択可能な要素のユーザの選択の受け取りに応答して、第1の動作の実行を終了させるステップをさらに含んでよい。
【0093】
一部の実装において、少なくとも、アシスタントコマンドを遂行するために自動化されたアシスタントによって初期化され得る第2の動作を特定するステップは、コンピューティングデバイスのディスプレイインターフェースを介してユーザに提案するために特定する追加の動作の量を決定することを含んでよい。それらの実装の一部のバージョンにおいて、コンピューティングデバイスのディスプレイインターフェースを介してユーザに提案するために特定する追加の動作の量を決定することは、コンピューティングデバイスのディスプレイインターフェースのサイズに基づいてよい。それらの実装の一部の追加的または代替的なバージョンにおいて、コンピューティングデバイスのディスプレイインターフェースを介してユーザに提案するために特定する追加の動作の量を決定することは、追加の動作の各々が口頭の発話に応じると予測される対応する度合いを特徴付ける対応する測定基準に基づいてよい。
【0094】
その他の実装は、上におよび/または本明細書の他の箇所に記載の方法のうちの1つまたは複数などの方法を実行するために1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU: tensor processing unit))によって実行可能な命令を記憶する非一時的コンピュータ可読ストレージ媒体を含む場合がある。さらにその他の実装は、上におよび/または本明細書の他の箇所に記載の方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のコンピュータのシステムを含む場合がある。
【0095】
上述の概念および本明細書においてより詳細に説明される追加の概念のすべての組合せは、本明細書において開示された対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【符号の説明】
【0096】
100 光景
102 ユーザ
104 コンピューティングデバイス
106 ディスプレイインターフェース
108 口頭の発話
120 光景
122 グラフィカル要素
124 第1の提案要素、第1の選択可能な要素
126 第2の提案要素、第2の選択可能な要素
128 インジケーション
140 光景
142 別の口頭の発話
160 光景
162 グラフィカル要素
200 光景
202 ユーザ
204 コンピューティングデバイス
206 ディスプレイインターフェース
220 光景
222 第1の選択可能な要素
224 第2の選択可能な要素
240 光景
242 第3の選択可能な要素
246 第4の選択可能な要素
250 入力ジェスチャ
300 システム
302 コンピューティングデバイス
304 自動化されたアシスタント
306 入力処理エンジン
308 スピーチ処理エンジン
310 データ解析エンジン
312 パラメータモジュール
314 出力生成エンジン
316 提案生成エンジン
318 提案特徴エンジン
320 アシスタントインターフェース
322 アシスタント呼び出しエンジン
324 訓練データエンジン
326 遂行エンジン
330 アプリケーションデータ
332 デバイスデータ
334 アプリケーション
336 コンテキストデータ
338 アシスタントデータ
400 方法
420 方法
510 コンピュータシステム
512 バスサブシステム
514 プロセッサ
516 ネットワークインターフェースサブシステム
520 ユーザインターフェース出力デバイス
522 ユーザインターフェース入力デバイス
524 ストレージサブシステム
525 メモリ
526 ファイルストレージサブシステム
530 主ランダムアクセスメモリ(RAM)
532 読み出し専用メモリ(ROM)
【手続補正書】
【提出日】2023-08-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話に基づいて、前記口頭の発話に応じると予測される複数の解釈を特徴付けるアシスタント入力データを生成するステップであって、前記解釈の各々が、対応する意図、前記対応する意図に関連する1つまたは複数の対応するパラメータ、および前記1つまたは複数の対応するパラメータの各々の1つまたは複数の対応するスロット値を含み、前記解釈の各々が、少なくとも1つの固有の対応するスロット値を含む、ステップと、
前記アシスタント入力データに基づいて、前記複数の解釈の各々と前記口頭の発話に含まれる前記アシスタントコマンドとの間の対応の予測された度合いを特徴付ける測定基準データを生成するステップと、
前記測定基準データおよび前記アシスタント入力データに基づいて、前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための、前記複数の解釈のうちの第1の解釈に関連する第1の動作の実行を自動的に初期化させるステップと、
前記測定基準データおよび前記アシスタント入力データに基づいて、1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスのディスプレイインターフェースにレンダリングさせるステップであって、前記1つまたは複数の選択可能な提案要素の各々が、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための、前記複数の解釈のうちの対応する代替的な解釈に関連付けられ、
前記1つまたは複数の選択可能な提案要素のうちの所与の選択可能な提案要素のユーザの選択が、前記自動化されたアシスタントに、前記所与の選択可能な提案要素に関連する対応する代替的な動作の実行を初期化させる、ステップとを含む、方法。
【請求項2】
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させるステップが、第1のアプリケーションに特定のコンテンツのインスタンスを生成させる請求項1に記載の方法。
【請求項3】
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させることに応答して、
自動音声認識(ASR)プロセスまたは自然言語理解(NLU)プロセスを、前記1つまたは複数の選択可能な提案要素に関連する内容の方に偏らせるステップをさらに含む請求項1または請求項2に記載の方法。
【請求項4】
前記測定基準データおよび前記アシスタント入力データに基づいて、前記自動化されたアシスタントに、前記1つまたは複数の選択可能な提案要素に関連する前記対応する代替的な動作を遂行する準備を促進するために、アプリケーションデータにアクセスさせるステップをさらに含む請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記口頭の発話に基づいて、前記複数の解釈に関連する前記対応するパラメータのうちの1つまたは複数の前記対応するスロット値のうちの1つまたは複数が、前記口頭の発話によって前記ユーザにより指定されなかったと判定するステップであって、
前記自動化されたアシスタントが、前記第1の解釈に関連する前記対応するパラメータのうちの1つまたは複数の特定のスロット値を推測する、ステップをさらに含む請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記口頭の発話に基づいて、前記対応する代替的な解釈の各々の代替的な特定のスロット値を推測するステップであって、
前記所与の選択可能な提案要素の前記ユーザの選択が、前記代替的な動作を、前記代替的な特定のスロット値を使用して初期化させる、ステップをさらに含む請求項5に記載の方法。
【請求項7】
前記特定のスロット値が、特定のコンテンツをレンダリングするための第1のアプリケーションを特定し、前記代替的な特定のスロット値が、代替的な特定のコンテンツをレンダリングするための異なる第2のアプリケーションを特定する請求項6に記載の方法。
【請求項8】
前記特定のスロット値が、特定のコンテンツをレンダリングするための第1のエンティティの参照を特定し、前記代替的な特定のスロット値が、代替的な特定のコンテンツをレンダリングするための異なる第2のエンティティの参照を特定する請求項6に記載の方法。
【請求項9】
前記1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせるステップが、
前記自動化されたアシスタントに、前記口頭の発話に含まれる前記アシスタントコマンドを遂行するための前記第1の動作の実行を自動的に初期化させた後に、閾値の継続時間の間、前記1つまたは複数の選択可能な提案要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせることを含む請求項1から8のいずれか一項に記載の方法。
【請求項10】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話に基づいて、第1の動作が前記アシスタントコマンドを満たすと予測される度合いを特徴付ける第1の測定基準、および第2の動作が前記アシスタントコマンドを満たすと予測される別の度合いを特徴付ける第2の測定基準を特定する測定基準データを生成するステップと、
前記第1の動作および前記第2の動作に基づいて、前記口頭の発話に応じるアシスタントグラフィカルユーザインターフェース(GUI)を特徴付けるGUIデータを生成するステップであって、
前記GUIデータが、第1の選択可能な要素および第2の選択可能な要素を特定するために生成され、
前記第1の選択可能な要素が、前記第1の動作の実行を制御するために選択可能であり、前記第2の選択可能な要素が、前記第2の動作の実行を自動的に初期化するために選択可能である、ステップと、
前記口頭の発話の受け取りに応答して、前記自動化されたアシスタントに、前記第1の動作の実行を自動的に初期化させるステップと、
前記コンピューティングデバイスのディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップとを含む、方法。
【請求項11】
前記第1の動作が前記アシスタントコマンドを満たすと予測される前記度合いが前記第2の動作が前記アシスタントコマンドを満たすと予測される前記別の度合いよりも大きいとき、前記アシスタントGUIにおいて、前記第1の選択可能な要素が前記第2の選択可能な要素よりも目立つように配置される請求項10に記載の方法。
【請求項12】
前記ディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップが、
前記第1の選択可能な要素を前記第2の選択可能な要素に隣接して配置させることであって、
前記第1の動作が前記アシスタントコマンドを満たすと予測される前記度合いが前記第2の動作が前記アシスタントコマンドを満たすと予測される前記別の度合いよりも大きいとき、前記アシスタントGUIにおいて、前記第1の選択可能な要素の第1のエリアが前記第2の選択可能な要素の第2のエリアよりも大きい、配置させることを含む請求項10または請求項11に記載の方法。
【請求項13】
前記ディスプレイインターフェースに、前記GUIデータおよび前記測定基準データに従って前記アシスタントGUIをレンダリングさせるステップが、
前記第1の選択可能な要素を前記第2の選択可能な要素に隣接して配置させることであって、
前記アシスタントGUIにおいて、前記第1の選択可能な要素が、前記第1の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第1の選択可能な要素の対応する第1の位置を特徴付ける第1の配置データに従って配置され、前記第2の選択可能な要素が、前記第2の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第2の選択可能な要素の対応する第2の位置を特徴付ける第2の配置データに従って配置される、配置させることを含む請求項10から12のいずれか一項に記載の方法。
【請求項14】
前記アシスタントGUIにおいて、前記第1の選択可能な要素が、前記第1の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第1の選択可能な要素の対応する第1の表示特性を特徴付ける対応する第1の表示データに基づいて表示され、前記第2の選択可能な要素が、前記第2の選択可能な要素に固有であり、前記アシスタントGUIにおける前記第2の選択可能な要素の対応する第2の表示特性を特徴付ける対応する第2の表示データに基づいて表示される請求項10から13のいずれか一項に記載の方法。
【請求項15】
前記第1の動作が、前記コンピューティングデバイスにおいて実行される特定の動作であり、前記第2の動作が、別のコンピューティングデバイスにおいて実行される前記特定の動作であり、
前記第2の選択可能な要素のユーザの選択が、前記特定の動作を、前記別のコンピューティングデバイスにおいて初期化させる請求項10から14のいずれか一項に記載の方法。
【請求項16】
前記第2の選択可能な要素が、前記第1の動作が実行されているときに、前記コンピューティングデバイスの前記ディスプレイインターフェースにおけるタッチ入力によって選択可能である請求項10から15のいずれか一項に記載の方法。
【請求項17】
前記第2の選択可能な要素が、前記第1の動作が実行されるのと同時の追加の口頭の発話によって選択可能である請求項10から16のいずれか一項に記載の方法。
【請求項18】
前記アシスタントGUIにおいて、前記第2の選択可能な要素に比した前記第1の選択可能な要素のレンダリングの目立ち度が、前記第1の測定基準と前記第2の測定基準との間の差に基づく請求項10から17のいずれか一項に記載の方法。
【請求項19】
前記第1の測定基準と前記第2の測定基準との間の前記差が提案の閾値を満たさないとき、前記第2の選択可能な要素が前記ディスプレイインターフェースにレンダリングされず、
前記ユーザによって前記コンピューティングデバイスの前記ディスプレイインターフェースに与えられた特定のタッチジェスチャが、前記第2の選択可能な要素を前記コンピューティングデバイスの前記ディスプレイインターフェースにレンダリングさせる請求項18に記載の方法。
【請求項20】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスにおいて、自動化されたアシスタントに向けられているユーザの口頭の発話を受け取るステップであって、前記口頭の発話が、前記自動化されたアシスタントによって遂行されるべきアシスタントコマンドを含む、ステップと、
前記口頭の発話の受け取りに応答して、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る第1の動作を特定するステップと、
前記口頭の発話に応答して、前記第1の動作の実行を自動的に初期化するステップと、
前記第1の動作が前記口頭の発話に応じると予測される度合いに基づいて、少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る第2の動作を特定するステップと、
前記口頭の発話に基づいて、前記コンピューティングデバイスのディスプレイインターフェースに、少なくとも、前記第2の動作に関連する第2の選択可能な要素をレンダリングさせるステップであって、前記第2の選択可能な要素が、選択されるときに、前記自動化されたアシスタントに、前記第1の動作の代わりに前記第2の動作を初期化させる、ステップとを含む、方法。
【請求項21】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記第1の動作が前記口頭の発話に応じると予測される前記度合いを特徴付ける測定基準を生成することと、
前記測定基準が測定基準の閾値を満たすかどうかを判定することであって、
前記自動化されたアシスタントが、前記測定基準が前記測定基準の閾値を満たさないときに、前記ユーザに提案するために、少なくとも前記第2の動作を特定する、判定することとを含む請求項20に記載の方法。
【請求項22】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記第1の動作が特定の種類の動作であるかどうかを判定することであって、
前記自動化されたアシスタントが、前記第1の動作が前記特定の種類の動作であるときに、少なくとも前記第2の動作を特定すると決定し、
特定された前記第2の動作が、前記第1の動作の前記特定の種類の動作とは異なる種類の動作である、判定することを含む請求項20または請求項21に記載の方法。
【請求項23】
前記特定の種類の動作が、異なるユーザとコミュニケーションすることを含むコミュニケーション動作を含む請求項22に記載の方法。
【請求項24】
前記第2の選択可能な要素のユーザの選択の受け取りに応答して、
前記第1の動作の実行を終了させるステップをさらに含む請求項20から23のいずれか一項に記載の方法。
【請求項25】
少なくとも、前記アシスタントコマンドを遂行するために前記自動化されたアシスタントによって初期化され得る前記第2の動作を特定するステップが、
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の量を決定することを含む請求項20から24のいずれか一項に記載の方法。
【請求項26】
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の前記量を決定することが、前記コンピューティングデバイスの前記ディスプレイインターフェースのサイズに基づく請求項25に記載の方法。
【請求項27】
前記コンピューティングデバイスの前記ディスプレイインターフェースを介して前記ユーザに提案するために特定する追加の動作の前記量を決定することが、前記追加の動作の各々が前記口頭の発話に応じると予測される対応する度合いを特徴付ける対応する測定基準に基づく請求項25に記載の方法。
【請求項28】
少なくとも1つのプロセッサと、
実行されるときに、前記少なくとも1つのプロセッサに請求項1から27のいずれか一項に対応する動作を実行させる命令を記憶するメモリとを含むシステム。
【請求項29】
実行されるときに少なくとも1つのプロセッサに請求項1から27のいずれか一項に対応する動作を実行させる命令を記憶す
るコンピュータ可読ストレージ媒体。
【国際調査報告】