JP2023529279A - 現在のユーザ入力を完了するための特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行すること - Google Patents

現在のユーザ入力を完了するための特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行すること Download PDF

Info

Publication number
JP2023529279A
JP2023529279A JP2022565888A JP2022565888A JP2023529279A JP 2023529279 A JP2023529279 A JP 2023529279A JP 2022565888 A JP2022565888 A JP 2022565888A JP 2022565888 A JP2022565888 A JP 2022565888A JP 2023529279 A JP2023529279 A JP 2023529279A
Authority
JP
Japan
Prior art keywords
computing device
autofill
selectable
user
client computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022565888A
Other languages
English (en)
Inventor
クン・ス・イム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023529279A publication Critical patent/JP2023529279A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本明細書に記載の実装形態は、ユーザが特定の選択可能なオートフィル提案を選択する前に、サーバコマンドデータを使用して少なくとも部分的に履行されるアプリケーションアクションに対応する、選択可能なオートフィル提案を提供することに関する。このようにコマンドデータを積極的に履行することで、ユーザが提案を選択してから特定のアクションを履行するまでの待ち時間が短縮される。最初に、部分入力を処理してオートフィル提案を生成できる。この提案は、サーバデバイスに通信してさらに処理することができる。オートフィル提案は、タッチディスプレイインターフェースでの選択のためにレンダリングすることもでき、それにより、ユーザはオートフィル提案の1つを選択できる。コマンド履行データがサーバによって提供されると、コマンド履行データは、対応するアクションがユーザ選択の前に少なくとも部分的に履行され得るように、対応するアプリケーションで利用可能になる。

Description

特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行するに関する。
人間は、本明細書で「自動アシスタント」と呼ばれる対話型ソフトウェアアプリケーションを使用して、人間とコンピュータの対話に関与し得る(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話型エージェント」などとも呼ばれる)。例えば、人間(自動アシスタントと対話する場合は「ユーザ」と呼ばれ得る)は、音声による自然言語入力(発話)を使用してコマンドおよび/または要求を提供することができ、場合によっては、テキストに変換してから処理しおよび/または、テキスト(例えば、タイプされた)の自然言語入力を提供することによって処理することができる。
場合によっては、自動アシスタントまたは他のアプリケーションは、ユーザが自動アシスタントまたはアプリケーションに発行する特定のコマンドをユーザに提案する機能を提供することができる。しかし、多くの場合、実行する必要のある動作がさらにいくつかあるため、ユーザ向けにレンダリングされた提案は簡単には対話型ではない場合がある。例えば、ユーザによって選択された提案されたコマンドに応答するために、アプリケーションは、1つまたは複数のサーバコンピューティングデバイスまたはアプリケーションからデータを検索する、および/またはクライアントコンピューティングデバイスで特定のデータをバッファリングする必要がある場合がある。これにより、ユーザが提案を選択してから、アプリケーションが要求を履行するまでの待ち時間が長くなり得る。このような待ち時間により、特定のリソース保護アクションが遅延し、他のアプリケーションおよび/またはコンピューティングデバイスに損害を与え得る。例えば、アプライアンスの電源を切ることに対応する提案されたコマンドは、ユーザが提案されたコマンドを選択した後、迅速に実行され得ない。その結果、アプライアンスは、それぞれのアプリケーションが提案されたコマンドを履行するまで、エネルギーおよび/またはその他のリソースを消費し続け得る。さらに、ユーザ間のメッセージおよび/またはその他の通信は、そのような待ち時間の結果として遅延する可能性があり、それにより、意図しないスケジュールの変更および/または時間および/またはその他のリソースの損失につながり得るその他の結果が生じる可能性がある。
本明細書に記載の実装形態は、ユーザインターフェースに少なくとも部分入力を提供したユーザに対して提示されているオートコンプリート提案にそのような要求が対応する場合、実行可能な要求の積極的な履行に関連する。部分入力は、例えば、コンピューティングデバイスのテキストフィールドインターフェースに提供される入力の一部(例えば、「オンに…」)であり得る。部分入力は、ユーザが対応する入力の提供を完了したという指示の前に、コンピューティングデバイスのインターフェースで受信された1つまたは複数の文字を含むことができる。ユーザが入力を完了したことの指示は、以下に限定されず、GUI要素の選択、音声入力の提供、触覚入力、特定の入力から経過した閾値時間の提供によるハードウェアボタンとの対話であり得、および/またはコンピューティングデバイスで発生する可能性のあるその他の対話であり得る。部分入力は、クライアントコンピューティングデバイスで処理され、処理のためにサーバコンピューティングデバイスにも提供されるクライアントデータによって特徴付けることができる。クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスのそれぞれは、それぞれの自然言語理解(NLU)プロセス(例えば、クライアントNLUプロセスおよびサーバNLUプロセス)に依存することができる。いくつかの実装形態では、サーバNLUプロセスは、クライアントNLUプロセスよりも堅牢である場合がある。
クライアントコンピューティングデバイスは、部分入力から自然言語コンテンツの1つまたは複数のオートコンプリート提案および/または他のインスタンスを生成するために、例えばマッチングプロセスを使用することができる。各オートコンプリート提案は、部分入力に補遺として添付されると、それぞれの入力コマンドを作成でき、これは、実行される特定のアプリケーションアクション、またはそれぞれの入力コマンドを受信するデバイスおよび/またはアプリケーションに応答して達成される結果に関して明確である。次に、クライアントコンピューティングデバイスは、オートコンプリート提案に基づいて、クライアントコンピューティングデバイスのインターフェースまたは別のコンピューティングデバイスの別のインターフェースで、1つまたは複数の選択可能な提案(例えば、選択可能なGUI要素および/または他の選択可能な提案要素)をレンダリングすることができる。
クライアントコンピューティングデバイスが選択可能な提案をレンダリングしている間、サーバコンピューティングデバイスは、クライアントコンピューティングデバイスによって提供されたクライアントデータ(例えば、部分的なインターフェース入力および/または1つまたは複数のオートコンプリート提案)を処理できる。クライアントデータは、オートコンプリート提案に対応するコンテンツを含むことができるサーバ提案データの生成を促進するために、サーバNLUプロセスを使用してサーバコンピューティングデバイスによって処理することができる。次に、サーバ提案データをクライアントコンピューティングデバイスに通信できる。クライアントコンピューティングデバイスは、クライアントコンピューティングデバイスでレンダリングされた1つまたは複数の選択可能な提案の機能を強化するために、サーバ提案データを処理できる。例えば、クライアントデータに「防犯灯をオンにする」などのオートコンプリート提案が含まれている場合、サーバ提案データは、防犯灯の状態を示すコンテンツを特徴付けることができる。コンテンツは、電球アイコンおよび/または照明スイッチアイコンなどのグラフィックデータを含むことができ、防犯灯の現在の状態を視覚的に示すことができる。
場合によっては、前述のプロセスは、ユーザが残りの部分入力をクライアントコンピューティングデバイスのインターフェースに提供し続けている間に、または部分入力を提供した直後であるが入力を完了する前に行うことができる。この間、サーバコンピューティングデバイスは、各それぞれの選択可能な提案に対応する1つまたは複数の実行可能な要求を履行するために、クライアントコンピューティングデバイスおよび/または1つまたは複数のクライアントアプリケーションによって使用できる履行データを識別および/または生成することができる。例えば、サーバコンピューティングデバイスによって識別される特定の選択可能な提案は、「防犯灯をオンにしてください」であり得る。この特定の選択可能な提案に対応する履行データは、「防犯灯」および/または埋め込みリンクの現在の動作状態を特徴付けることができる。実行されると、防犯灯をオンにする要求がアプリケーションまたは防犯灯を制御するコントローラに発行される。
サーバコンピューティングデバイスが履行データを生成すると、ユーザが選択可能な提案のいずれかを選択する前に、1つまたは複数の選択可能な提案を積極的に履行するために、履行データをクライアントコンピューティングデバイスに通信することができる。クライアントコンピューティングデバイスが履行データを受信すると、履行データの各それぞれの部分を、1つまたは複数の対応する選択可能な提案と関連付けて記憶することができる。例えば、「防犯灯をオンにしてください」などの自然言語コンテンツでラベル付けされた選択可能な提案を、ユーザが参照し得る特定の防犯灯をオンにするための埋め込みリンクを特徴付ける履行データの一部にリンクできる。追加的に、または代替的に、「空気清浄機をオンにしてください」など、他の自然言語コンテンツでラベル付けされた別の選択可能な提案は、Wi-Fi対応の空気清浄機をオンにするためのコマンドデータを特徴付ける履行データの別の部分に関連付けることができる。場合によっては、履行データは、ユーザ入力を提供している間、および/またはユーザが選択可能な提案の1つまたは複数を選択する前に、複数の異なる選択可能な提案にリンクまたは関連付けることができる。
結果として、ユーザが特定の選択可能な提案を選択してから、対応するアクションが初期化および/または完了されるまでの待ち時間を短縮することができる。例えば、特定の選択可能な提案の埋め込みリンクを積極的に検索することにより、クライアントコンピューティングデバイスは、ユーザが特定の選択可能な提案を選択した後、サーバコンピューティングデバイスから埋め込みリンクを要求する動作をバイパスできる。選択可能な提案の選択を受信した後にこの動作をバイパスすることで、選択可能な提案を受信することに応じて消費されるネットワーク帯域幅と処理帯域幅の量を削減することもできる。さらに、この動作をバイパスすると、ユーザが自動アシスタントなどのアプリケーションに一連の要求を提供するときに初期化され得る、後続のアプリケーションプロセスの計算リソースを節約することもできる。
上記の説明は、本開示のいくつかの実装形態の概要として提供されている。これらの実装形態および他の実装形態のさらなる説明は、以下でより詳細に説明される。
他の実装形態は、1つまたは複数のプロセッサ(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)および/またはテンソル処理ユニット(TPU))によって実行可能な命令を記憶する非一時的なコンピュータ可読記憶媒体を含み得、上記および/または本明細書の他の箇所で説明した方法の1つまたは複数などの方法を実行する。さらに他の実装形態は、上記および/または本明細書の他の場所で説明された方法のうちの1つまたは複数などの方法を実行するために、記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のコンピュータのシステムを含み得る。
前述の概念および本明細書でより詳細に説明される追加の概念のすべての組み合わせは、本明細書で開示される主題の一部であると考えられることを理解されたい。例えば、本開示の最後に現れる特許請求される主題のすべての組み合わせは、本明細書に開示される主題の一部であると考えられる。
積極的に履行され、選択可能なオートフィル提案を提供するインターフェースと対話するユーザのビューを示す。 積極的に履行され、選択可能なオートフィル提案を提供するインターフェースと対話するユーザのビューを示す。 積極的に履行され、選択可能なオートフィル提案を提供するインターフェースと対話するユーザのビューを示す。 ユーザが特定の選択可能な提案を選択する前に、サーバデバイスによって提供されるコマンドデータを使用して少なくとも部分的に履行される自動アシスタントアクションおよび/またはアプリケーションアクションに対応する選択可能な提案を提供するシステムを示す。 ユーザがコンピューティングデバイスのインターフェースに少なくとも部分入力を提供することに応答して、ユーザに提案された1つまたは複数のアクションの履行を、ユーザ選択の前に積極的に初期化する方法を示す。 ユーザがコンピューティングデバイスのインターフェースに少なくとも部分入力を提供することに応答して、ユーザに提案された1つまたは複数のアクションの履行を、ユーザ選択の前に積極的に初期化する方法を示す。 例示的なコンピュータシステムのブロック図である。
図1A、図1B、および図1Cは、積極的に履行され、選択可能な、オートフィル提案を提供するインターフェース110と対話するユーザ104のビュー100、ビュー120、およびビュー140を示す。各オートフィル提案は、ユーザ104がそれぞれのオートフィル提案を選択する前に積極的に履行できるそれぞれのアプリケーションアクションに対応することができる。アプリケーションアクションを積極的に初期化および/または履行するための1つまたは複数のプロセスは、特定のアクションを履行および/または初期化するために使用できるコマンドデータを生成するために、1つまたは複数のオートフィル提案を処理するリモートサーバデバイスを使用できる。例えば、図1Aのビュー100で提供されるように、ユーザ104は、コンピューティングデバイス102のインターフェース110でレンダリングされているテキストフィールド108に部分入力106を提供することができる。部分入力106は、例えば「Chan…」とすることができ、これは、ユーザ104が自然言語入力の最初の部分として意図する1つまたは複数の文字を含むことができる(例えば、「Chan[ge the temperature](温度を変える)」などの補助コマンド)。部分入力106は、ユーザ104がタイピングまたは入力の提供を完了していない場合、入力を処理のためにアプリケーションに送信するように選択された、閾値期間にわたって追加の入力が提供された場合、「部分的」とみなすことができ、および/またはそうでなければ、部分入力106が、ユーザ104が提供しようとする後続の入力に対して不完全であることを示すことができる(例えば、ユーザ104の手112からタッチ入力を受信することができる発話および/またはキーボード116を介して提供する)。
図1Bは、コンピューティングデバイス102が部分入力106を受信し、部分入力データ132をユーザインターフェース122から自動アシスタントなどのアプリケーション124に通信するビュー120を示す。コンピューティングデバイス102および/またはアプリケーション124は、提案エンジン126を含むことができ、提案エンジン126は、ユーザインターフェース122でレンダリングすることができる提案データ114を生成することを特徴とするオートフィル提案118を生成するプロセスを実行することができる。オートフィル提案を生成するプロセスは、部分入力106を、ユーザ104および/または1人または複数の他のユーザによって提供された1つまたは複数の以前の入力に関連付けることを含むことができる。代替的または追加的に、オートフィル提案を生成するプロセスは、1つまたは複数の訓練された機械学習モデルを使用して部分入力データ132を処理することを含むことができる。次いで、コンピューティングデバイス102にアクセス可能な他のデータに基づいて、各オートフィル提案をランク付けするか、そうでなければ優先度を付けることができる。この他のデータは、例えば、ユーザ104からの事前の許可を得て、ユーザ104とコンピューティングデバイス102との間で発生した、または発生している1つまたは複数の対話を特徴付けるコンテキストデータおよび/またはアプリケーションデータであり得る。
いくつかの実装形態では、1つまたは複数の他のオートフィル提案より優先されるようにランク付けまたは指定された1つまたは複数のオートフィル提案は、ユーザ104が、インターフェース110でレンダリングされた1つまたは複数のオートフィル提案130の特定のオートフィル提案を選択する前に、サーバデバイス146に通信することができる。例えば、図1Cのビュー140に示されるように、コンピューティングデバイス102は、提案データ142をサーバデバイス146に通信することができる。提案データ142は、コンピューティングデバイス102で生成された1つまたは複数のオートフィル提案を特徴付けることができる。いくつかの実装形態では、提案データ142は、アプリケーション124の提案エンジン126によって生成されたオートフィル提案のサブセットを特徴付けることができる。オートフィル提案のサブセットは、オートフィル提案130の1つまたは複数の最も優先度の高いオートフィル提案を含むことができるが、これに限定されない。
提案データ142の受信に応答して、サーバデバイス146は、図1Cのビュー140に示されるように、追加の提案データ150および/またはコマンドデータ148を生成することができる。追加の提案データ150および/またはコマンドデータ148は、インターフェース110でオートフィル提案130がレンダリングされた後、しかしユーザ104がオートフィル提案のうちの1つまたは複数を選択する前に、コンピューティングデバイス102によって受信され得る。例えば、ユーザ104は、オートフィル提案130がインターフェース110でレンダリングされている間であっても、また追加の提案データ150および148でのコマンドがサーバデバイス146から受信された後であっても、キーボード116を使用して入力を提供し続けることができる。コンピューティングデバイス102および/またはアプリケーション124がコマンドデータ148を受信すると、アプリケーション124および/または1つまたは複数の他のアプリケーションは、コマンドデータ148にアクセスして、オートフィル提案130に関連付けられた1つまたは複数のアプリケーションアクションの履行を促進することができる。例えば、スマートサーモスタットアプリケーションは、「温度を変えてください」というオートフィル提案に対応する温度変更アクションを履行する準備として、コマンドデータ148にアクセスすることができる。代替的に、または追加的に、スマートホームアプリケーションは、アプリケーション124からユーザ104の家の照明の明るさを変えるための命令を受信する準備として、コマンドデータ148にアクセスすることができる。これらの命令は、「リビングルームの明るさを変えてください」というオートフィル提案に対応し得る。
いくつかの実装形態では、サーバデバイス146は、インターフェース110でレンダリングできるコンテンツを含むことができる追加の提案データ150を提供することができる。コンテンツは、オートフィル提案130に関連付けられた1つまたは複数のアプリケーションアクションの完了を達成するためにユーザ104が使用できるグラフィックデータ、音声データ、および/または他のデータであり得るが、これらに限定されない。例えば、追加の提案データ150は、スライドバーおよび/または回転可能なダイヤルなどの1つまたは複数の対話型GUI要素152とすることができる。これらのGUI要素は、これらの提案データ142および/またはサーバデバイスにアクセス可能な他のデータを使用して、サーバデバイス146によって選択することができる。いくつかの実装形態では、サーバデバイス146は、特定のデバイスおよび/またはアプリケーションの状態を特徴付けるGUI要素を生成するために、特定のデバイスおよび/またはアプリケーションに関連付けられた状態データにアクセスすることができる。例えば、提案データ142の受信に応答して、サーバデバイス146は、状態データまたは他のコンテンツにアクセスし、追加の提案データ150を生成して、状態データまたは他のコンテンツを特徴付けることができる。場合によっては、コンピューティングデバイス102にアクセス可能なスピーカーは、「8」の音量レベルで音声をレンダリングすることができ、したがって、サーバデバイス146は、音量レベルを特徴付ける追加の提案データ150を生成することができる(例えば、図1Cに示されるように、「8」に設定された調節可能なダイヤル)。
他の例では、コンピューティングデバイス102にアクセス可能なサーモスタットは、76度の温度に設定することができ、したがって、サーバデバイス146は、温度を特徴付ける追加の提案データ150を生成することができる(例えば、編集可能なテキストフィールドに「76°」が占有されている編集可能なテキストフィールド)。場合によっては、特定のオートフィル提案を特徴付けることができる追加のコンテンツを提供するために、提案データ142に基づいてインターネットからのコンテンツにアクセスすることができる。例えば、インターネットから検索されたメインディッシュの画像は、レシピに対応するオートフィル提案(例えば、「Chana Dal Recipe」)に関連して記憶することができる。このようにして、ユーザ104は、特定のオートフィル提案の目的をより容易に識別することができ、インターネットウェブページ(例えば、メインディッシュを特徴付けるグラフィックコンテンツ)の一部は、ユーザ104が特定のオートフィル提案を選択する前に、コンピューティングデバイス102のメモリにすでにバッファリングされ得る。
いくつかの実装形態では、各オートフィル提案130および/または各対話型GUI要素は、コマンドデータ148に関連付けて記憶でき、これは、埋め込みリンク、別のデバイスへの接続を確立するためのネットワークデータ、媒体、および/またはアプリケーションが1つまたは複数のアクションを実行しているときにアクセスできる任意の他のデータを含むことができる。例えば、オートフィル提案が「リビングルームの明るさを変える」を含む場合、コマンドデータ148は、アプリケーション124および/または任意の他のアプリケーションによってアクセスできるネットワーク接続データを含むことができ、コンピューティングデバイス102とユーザ104の家の1つまたは複数のスマートライトとの間の通信チャンネルを確立する。ユーザ104が特定のオートフィル提案を選択する前にそのようなコマンドデータ148を提供することにより、オートフィル提案に対する1つまたは複数のアクションを履行することに関連する計算リソースを節約することができる。例えば、ユーザの選択とアクションの履行の間の待ち時間により、処理帯域幅とネットワーク帯域幅が一定期間制限され得る。さらに、このような帯域幅の制限は、特定のポータブル電子機器で制限され得る電荷記憶を消費し得る。
図2は、ユーザが特定の選択可能な提案を選択する前にサーバデバイスによって提供されるコマンドデータを使用して少なくとも部分的に履行される自動アシスタントアクションおよび/またはアプリケーションアクションに対応する選択可能な提案を提供するシステム200を示す。自動アシスタント204は、コンピューティングデバイス202および/またはサーバデバイスなどの1つまたは複数のコンピューティングデバイスで提供されるアシスタントアプリケーションの一部として動作することができる。ユーザは、アシスタントインターフェース220を介して自動アシスタント204と対話することができ、これは、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーション間のインターフェースを提供できる任意の他の装置とすることができる。例えば、ユーザは、自動アシスタント204に1つまたは複数のアクションを初期化させるためにアシスタントインターフェース220に口頭、テキスト、および/またはグラフィック入力を提供することによって、自動アシスタント204を初期化することができる(例えば、データの提供、周辺デバイスの制御、エージェントへのアクセス、入力および/または出力の生成など)。あるいは、自動アシスタント204は、1つまたは複数の訓練された機械学習モデルを使用してコンテキストデータ236の処理に基づいて初期化することができる。コンテキストデータ236は、自動アシスタント204がアクセス可能である環境の1つまたは複数の特徴、および/または自動アシスタント204と対話することを意図していると予測されるユーザの1つまたは複数の特徴を特徴付けることができる。
コンピューティングデバイス202は、ディスプレイデバイスを含むことができ、ディスプレイデバイスは、ユーザがタッチインターフェースを介してコンピューティングデバイス202のアプリケーション234を制御できるようにするためのタッチ入力および/またはジェスチャを受信するためのタッチインターフェースを含むディスプレイパネルであり得る。いくつかの実装形態では、コンピューティングデバイス202にはディスプレイデバイスがなくてもよく、それにより、グラフィカルユーザインターフェース出力を提供することなく、可聴ユーザインターフェース出力を提供する。さらに、コンピューティングデバイス202は、ユーザから発話された自然言語入力を受信するために、マイクロフォンなどのユーザインターフェースを提供することができる。いくつかの実装形態では、コンピューティングデバイス202は、タッチインターフェースを含むことができ、カメラをなくすことができるが、オプションで1つまたは複数の他のセンサを含むことができる。
コンピューティングデバイス202および/または他のサードパーティクライアントデバイスは、インターネットなどのネットワークを介してサーバデバイスと通信することができる。さらに、コンピューティングデバイス202および任意の他のコンピューティングデバイスは、Wi-Fiネットワークなどのローカルエリアネットワーク(LAN)を介して互いに通信することができる。コンピューティングデバイス202は、コンピューティングデバイス202での計算リソースを節約するために、計算タスクをサーバデバイスにオフロードすることができる。例えば、サーバデバイスは自動アシスタント204をホストすることができ、および/またはコンピューティングデバイス202は、1つまたは複数のアシスタントインターフェース220で受信した入力をサーバデバイスに送信することができる。しかしながら、いくつかの実装形態では、自動アシスタント204は、コンピューティングデバイス202でホストすることができ、自動アシスタント動作に関連付けることができる様々なプロセスをコンピューティングデバイス202で実行することができる。
様々な実装形態において、自動アシスタント204のすべての態様または一部の態様を、コンピューティングデバイス202上で実装することができる。それらの実装形態のいくつかでは、自動アシスタント204の態様は、コンピューティングデバイス202を介して実装され、自動アシスタント204の他の態様を実装することができるサーバデバイスとインターフェースすることができる。サーバデバイスは、複数のスレッドを介して、複数のユーザおよびそれらに関連するアシスタントアプリケーションにオプションでサービスを提供することができる。自動アシスタント204のすべての態様または一部の態様がコンピューティングデバイス202を介して実装される実装形態では、自動アシスタント204は、コンピューティングデバイス202の動作システムとは別のアプリケーションにすることができ(例えば、動作システムの「上」にインストール)-または、代わりに、コンピューティングデバイス202の動作システムによって直接実装することもできる(例えば、動作システムのアプリケーションであるが、動作システムと統合されているとみなされる)。
いくつかの実装形態では、自動アシスタント204は、コンピューティングデバイス202および/またはサーバデバイスの入力および/または出力を処理するための複数の異なるモジュールを使用できる入力処理エンジン206を含むことができる。例えば、入力処理エンジン206は音声処理エンジン208を含むことができ、音声処理エンジン208は、アシスタントインターフェース220で受信された音声データを処理して、音声データに具現化されたテキストを識別することができる。音声データは、コンピューティングデバイス202で計算リソースを節約するために、例えば、コンピューティングデバイス202からサーバデバイスに送信することができる。追加的に、または代替的に、音声データは、コンピューティングデバイス202で排他的に処理することができる。
音声データをテキストに変換するプロセスは、単語または句に対応する音声データのグループを識別するためのニューラルネットワークおよび/または統計モデルを使用できる音声認識アルゴリズムを含むことができる。音声データから変換されたテキストは、データ解析エンジン210によって解析され、自動アシスタント204がテキストデータとして利用できるようになり、コマンドフレーズ、意図、アクション、スロット値、および/またはユーザが指定した任意の他のコンテンツを生成および/または識別するために使用できる。いくつかの実装形態では、データ解析エンジン210によって提供される出力データをパラメータエンジン212に提供して、ユーザが入力(例えば、部分入力または完全な入力)を提供したかどうかを決定することができ、これは、自動アシスタント204によって実行できる特定の意図、アクション、および/またはルーチン、および/または自動アシスタント204を介してアクセスできるアプリケーションまたはエージェントに対応する。例えば、アシスタントデータ238は、サーバデバイスおよび/またはコンピューティングデバイス202に記憶することができ、自動アシスタント204によって実行できる1つまたは複数のアクションを定義するデータ、およびアクションを実行するために必要なパラメータを含むことができる。パラメータエンジン212は、意図、アクション、および/またはスロット値のための1つまたは複数のパラメータを生成し、1つまたは複数のパラメータを出力生成エンジン214に提供することができる。出力生成エンジン214は、1つまたは複数のパラメータを使用して、ユーザに出力を提供するためにアシスタントインターフェース220と通信し、および/または1つまたは複数のアプリケーション234に出力を提供するために1つまたは複数のアプリケーション234と通信することができる。
いくつかの実装形態では、自動アシスタント204は、コンピューティングデバイス202の動作システム「の上に」インストールできるアプリケーションとすることができ、および/またはそれ自体がコンピューティングデバイス202の動作システムの一部(または全体)を形成することができる。自動アシスタントアプリケーションには、デバイス上の音声認識、デバイス上の自然言語理解、およびデバイス上の履行が含まれる、および/またはそれらにアクセスできる。例えば、デバイス上の音声認識は、コンピューティングデバイス202にローカルに記憶されたエンドツーエンドの音声認識機械学習モデルを使用して音声データ(マイクによって検出された)を処理するデバイス上の音声認識モジュールを使用して実行できる。デバイス上の音声認識は、音声データに存在する発話(存在する場合)に対して認識されたテキストを生成する。また、例えば、デバイス上の自然言語理解(NLU)は、デバイス上の音声認識を使用して生成された認識されたテキストと、オプションでコンテキストデータを処理してNLUデータを生成するデバイス上のNLUモジュールを使用して実行できる。
NLUデータは、発話に対応する意図と、オプションとして、意図のパラメータ(例えば、スロット値)とを含むことができる。デバイス上の履行は、(デバイス上のNLUからの)NLUデータを利用するデバイス上の履行モジュールを使用して実行でき、オプションで他のローカルデータを使用し、発話の意図(およびオプションで意図のパラメータ)を解決するために実行するアクションを決定する。これには、発話に対するローカルおよび/またはリモート応答(例えば、回答)の決定、発話に基づいて実行するローカルにインストールされたアプリケーションとの対話、発話に基づいてモノのインターネット(IoT)デバイスに(直接または対応するリモートシステムを介して)送信するコマンド、および/または発話に基づいて実行するその他の解決アクションが含まれ得る。次に、デバイス上の履行は、決定されたアクションのローカルおよび/またはリモートの性能/実行を初期化して、発話を解決することができる。
様々な実装形態において、リモート音声処理、リモートNLU、および/またはリモート履行を少なくとも選択的に利用することができる。例えば、認識されたテキストは、リモートNLUおよび/またはリモート履行のために、リモート自動アシスタント構成要素に少なくとも選択的に送信することができる。例えば、認識されたテキストは、オプションで、デバイス上の性能と並行してリモート性能のために、またはデバイス上のNLUおよび/またはデバイス上の履行の失敗に応答して送信できる。しかし、デバイス上の音声処理、デバイス上でのNLU、デバイス上での履行、および/またはデバイス上の実行は、少なくとも、発話を解決する際に提供される待ち時間の短縮により、優先され得る(発話の解決にクライアントとサーバのラウンドトリップが必要ないため)。さらに、デバイス上の機能は、ネットワーク接続がない、または制限されている状況で利用可能な唯一の機能であり得る。
いくつかの実装形態では、コンピューティングデバイス202は、コンピューティングデバイス202および/または自動アシスタント204を提供したエンティティとは異なるサードパーティエンティティによって提供できる1つまたは複数のアプリケーション234を含むことができる。自動アシスタント204および/またはコンピューティングデバイス202のアプリケーション状態エンジンは、アプリケーションデータ230にアクセスすることができ、1つまたは複数のアプリケーション234によって実行できる1つまたは複数のアクション、ならびに1つまたは複数のアプリケーション234の各アプリケーションの状態および/またはコンピューティングデバイス202に関連付けられているそれぞれのデバイスの状態を決定する。自動アシスタント204および/またはコンピューティングデバイス202のデバイス状態エンジンは、デバイスデータ232にアクセスして、コンピューティングデバイス202および/またはコンピューティングデバイス202に関連付けられた1つまたは複数のデバイスによって実行できる1つまたは複数のアクションを決定することができる。さらに、アプリケーションデータ230および/または任意の他のデータ(例えば、デバイスデータ232)は、自動アシスタント204によってアクセスされ、コンテキストデータ236を生成することができ、特定のアプリケーション234および/またはデバイスが実行されているコンテキストおよび/または特定のユーザがコンピューティングデバイス202にアクセスしている、アプリケーション234にアクセスしている、および/または任意の他の装置またはモジュールにアクセスしているコンテキストを特徴付けることができる。
1つまたは複数のアプリケーション234がコンピューティングデバイス202で実行されている間、デバイスデータ232は、コンピューティングデバイス202で実行されている各アプリケーション234の現在の動作状態を特徴付けることができる。さらに、アプリケーションデータ230は、1つまたは複数のアプリケーション234の指示でレンダリングされる1つまたは複数のインターフェースのコンテンツなど、実行中のアプリケーション234の1つまたは複数の機能を特徴付けることができる。代替的または追加的に、アプリケーションデータ230は、それぞれのアプリケーションおよび/またはそれぞれのアプリケーションアクションの現在の動作状態に基づいて、それぞれのアプリケーションおよび/または自動アシスタント204によって更新することができるアクションスキーマを特徴付けることができる。代替的または追加的に、1つまたは複数のアプリケーション234の1つまたは複数のアクションスキーマは、静的なままにすることができるが、自動アシスタント204を介して初期化する適切なアクションを決定するために、アプリケーション状態エンジンによってアクセスすることができる。
いくつかの実装形態では、コンピューティングデバイス202は、アシスタントインターフェース220および/または任意の他のコンピューティングデバイスで受信した様々な入力を処理できるオートフィル提案エンジン222を含むことができる。例えば、ユーザは、コンピューティングデバイス202のインターフェースでレンダリングされているテキストフィールドにタイプ入力(例えば、1つまたは複数の自然言語文字)を提供し始めることができる。ユーザが部分的にタイプされた入力を提供することに応答して、オートフィル提案エンジン222は、1つまたは複数の文字列を特徴付ける1つまたは複数のオートフィル提案を識別することができる。1つまたは複数の文字列が部分的にタイプされたユーザ入力と順次結合されると、自動アシスタント204および/または別のアプリケーション234によって実行可能な単語または語句が作成される。オートフィル提案エンジン222によって識別された各オートフィル提案は、コンピューティングデバイス202のグラフィカルユーザインターフェースでレンダリングすることができ、各オートフィル提案は、ユーザがタイプされた入力をタイプし終える前に選択可能にすることができる。
いくつかの実装形態では、コンピューティングデバイス202および/または自動アシスタント204は、ユーザがタイプされた入力をタイプし終える前に、各オートフィル提案をサーバコンピューティングデバイスに通信することができる。サーバコンピューティングデバイスは、各それぞれのオートフィル提案に関連付けられた追加のオートフィル提案コンテンツおよび/またはコマンドデータを生成することを促進するために、各オートフィル提案を処理することができる。コンピューティングデバイス202および/または自動アシスタント204は、サーバコンピューティングデバイスから受信したコマンドデータを処理できるコマンドデータエンジン216を含むことができる。コマンドデータエンジン216は、ユーザが特定のオートフィル提案を選択する前にコマンドデータを処理することができる。場合によっては、コマンドデータの処理は、コマンドデータへの1つまたは複数のそれぞれのアプリケーション234へのアクセスを提供することを含むことができる。例えば、コマンドデータは、ユーザが特定のオートフィル提案を選択する前に、特定のアプリケーション234が特定のオートフィル提案に関連するアプリケーションアクションを履行するために使用できる特定の履行データを含むことができる。追加的に、または代替的に、コマンドデータは、ユーザが特定のオートフィル提案を選択する前に、特定のオートフィル提案に関連付けられたアシスタントアクションを履行するために自動アシスタント204が使用できるアシスタントコマンド履行データを含むことができる。
いくつかの実装形態では、アプリケーションデータ230、デバイスデータ232、および/またはコンテキストデータ236を使用して、提案ランキングエンジン218によって第1優先度のデータを生成することができる。例えば、ユーザがユーザ入力を提供するときのユーザおよび/またはコンピューティングデバイス202の現在のコンテキストは、第1オートフィル提案に高い優先度を割り当て、第2オートフィル提案に低い優先度を割り当てるための基礎となり得る。さらに、第2優先度のデータは、1人または複数のユーザと1つまたは複数のアプリケーションおよび/またはデバイスとの間の1つまたは複数の以前の対話に基づく履歴対話データを使用して、サーバコンピューティングデバイスの提案ランキングエンジンによって生成することができる。例えば、1人または複数のユーザが頻繁に使用するアプリケーションに関連付けられているオートフィル提案は、1人または複数のユーザが使用する頻度が低い別のアプリケーションに関連付けられているオートフィル提案よりも優先度を高くすることができる。その後、提案ランキングエンジン218によって生成される第3優先度データは、第1優先度のデータおよび第2優先度のデータに基づくことができる。例えば、特定のオートフィル提案が第1優先度データと第2優先度データによって最高にランク付けされる場合、第3優先度データもその特定のオートフィル提案を最高にランク付けすることができる。しかし、特定のオートフィル提案が第1優先度データでは最高にランク付けされているが、第2優先度データではランク付けされていない場合、特定のオートフィル提案の最終ランキングを確立するために追加の処理を使用できる。例えば、一連のオートフィル提案の基礎となった最初の入力に続いてユーザによって提供された追加の入力は、特定のオートフィル提案の最終ランキングを確立するための基礎として使用できる。
場合によっては、ユーザによって提供される部分入力が媒体データのレンダリングに関連付けられている場合、サーバコンピューティングデバイスは、サーバコンピューティングデバイスがより容易に利用できる情報に基づいて、特定のオートフィル提案をより高くランク付けすることができる。例えば、サーバコンピューティングデバイスは、コンピューティングデバイス202が新しくリリースされた映画または音楽に関する情報にアクセスする前に、そのような情報にアクセスすることができる。したがって、オートフィル提案のサーバランキングが、オートフィル提案のクライアントランキングよりも大幅に高い場合、これは、コンピューティングデバイス202による制限されたネットワークアクセス、および/またはサーバコンピューティングデバイスが利用できるより堅牢なデータに起因し得る。
図3Aおよび図3Bは、ユーザがコンピューティングデバイスのインターフェースに少なくとも部分入力を提供することに応答して、ユーザに提案された1つまたは複数のアクションの履行を、ユーザ選択の前に積極的に初期化するための方法300および方法320を示す。方法300および方法320は、1つまたは複数のアプリケーション、デバイス、および/またはユーザ入力に応答することができるモジュール用の任意の他の装置によって実行することができる。方法300は、ユーザ入力の一部がコンピューティングデバイスで受信されたかどうかを決定する動作302を含むことができる。ユーザ入力は、アプリケーションインターフェースの入力フィールドで受信した1つまたは複数の文字を含むテキスト入力とすることができる。したがって、ユーザ入力の一部は、ユーザが直接的または間接的に、および/または明示的または本質的に完全であることを示していない入力の任意の部分であり得る。
ユーザ入力の一部が受信されると、方法300は、動作302から動作304に進むことができる。そうでない場合、コンピューティングデバイスまたは他のアプリケーションは、ユーザ入力の一部が受信されたかどうかを決定できる。動作304は、コンピューティングデバイスのインターフェースで1つまたは複数のオートフィル提案をレンダリングさせることを含むことができる。例えば、オートフィル提案は、ユーザ入力の一部への補遺として使用できる。補遺は、ユーザ入力の一部とともにコンピューティングデバイスに提供されると、コンピューティングデバイスに1つまたは複数のアクションを実行させる自然言語コンテンツを含むことができる。例えば、入力の一部を「…を無効にする」にすることができ、オートフィル提案を「セキュリティシステム」または「食器洗い機」にすることができる。このように、部分入力とオートフィル提案の組み合わせは、コンピューティングデバイスに音声入力またはタイプ入力として提供されると、コンピューティングデバイスによって実行可能な完全なコマンドに対応することができる。
方法300は、動作304から動作306に進むことができ、動作306は、サーバコンピューティングデバイスにオートフィル提案データを提供することを含むことができる。オートフィル提案データは、ユーザ入力に応答してコンピューティングデバイスで生成された1つまたは複数のオートフィル提案を特徴付けることができる。コンピューティングデバイスは、サーバコンピューティングデバイスで利用可能な追加の計算リソースおよび/または情報から利益を得るために、オートフィル提案データをサーバコンピューティングデバイスに提供することができる。例えば、サーバコンピューティングデバイスは、追加のオートフィル提案データおよび/またはコマンドデータを生成するための基礎として使用できるクラウド記憶サービスにアクセスできる。オートフィル提案データおよび/またはコマンドデータは、コンピューティングデバイスのインターフェースでレンダリングされている特定のオートフィル提案をユーザが選択する前に、コンピューティングデバイスに提供および/またはコンピューティングデバイスによって処理することができる。
方法300は、動作306から動作308に進むことができ、動作308は、オートフィル提案がコンピューティングデバイスで受信されたかどうかを決定することを含むことができる。オートフィル提案がコンピューティングデバイスで受信された場合、方法300は動作314に進むことができる。動作314は、特定のアプリケーションに、選択されたオートフィル提案に関連付けられた1つまたは複数の特定のアクションを履行させることを含むことができる。例えば、「食器洗い機」などのオートフィル提案をユーザが選択して、それに応じて、スマートデバイスアプリケーション(例えば、IoTデバイスアプリケーション)は、食器洗い機を無効にするコマンドをスマート食器洗い機に通信できる。
しかし、動作308でオートフィル選択が受信されない場合、方法300は動作310に進むことができる。動作310は、コマンドデータがサーバコンピューティングデバイスから受信されたかどうかを決定することを含むことができる。コマンドデータは、ユーザが特定のオートフィル提案を選択する前に、特定のオートフィル提案に関連付けられたアプリケーションアクションを少なくとも部分的に履行するために、アプリケーションによって使用できるデータであり得る。コマンドデータは、スマートデバイスの動作を修正するために、アプリケーションによって通常検索および/または実行される埋め込みリンクを含むことができるが、これに限定されない。場合によっては、コマンドデータは、1つまたは複数のそれぞれのオートフィル提案のそれぞれに対応する1つまたは複数のアプリケーションアクションを履行するための様々な履行データを含むことができる。
コマンドデータがサーバコンピューティングデバイスから受信されると、方法300は動作312に進むことができる。そうでない場合、方法300は、動作310から、継続要素「A」を介して、図3Bの方法320で提供される継続要素「A」に進むことができる。動作312は、1つまたは複数のオートフィル提案に関連する1つまたは複数のアクションを履行するために、1つまたは複数のアプリケーションがコマンドデータにアクセスできるようにすることを含むことができる。特定のアプリケーションがコマンドデータにアクセスできる場合、特定のアプリケーションは、ユーザがオートフィル提案を選択する前に、オートフィル提案に関連付けられた1つまたは複数のアクションの履行の初期化を促進するように動作できる。次いで、方法300は、動作312から、継続要素「A」を介して、図3Bの方法320で提供されるオプションの動作316に進むことができる。動作316は、追加の提案コンテンツがサーバコンピューティングデバイスから受信されたかどうかを決定することを含むことができる。追加の提案コンテンツは、1つまたは複数のオートフィル提案を閲覧し得るユーザに追加情報を提供するために、1つまたは複数のオートフィル提案とともにレンダリングできるデータを含むことができる。例えば、追加の提案コンテンツは、特定のオートフィル提案に関連付けられた特定のデバイスの状態を特徴付けることができるグラフィックコンテンツを含むことができる。例えば、追加の提案コンテンツは、食器洗い機が食器を積極的に洗浄している様子を表すグラフィックアニメーションにすることができる。したがって、そのような情報は、複数の異なるオートフィル提案から特定のオートフィル提案を選択する決定をユーザがさらに絞り込むことができるコンテキストを提供できる。代替的または追加的に、追加の提案コンテンツは、ユーザに提案される様々な異なるオートフィル提案をさらに特徴付けるために、コンピューティングデバイスでレンダリングできる媒体データを含むことができる。
追加のコンテンツがサーバコンピューティングデバイスから受信されると、方法320はオプションで、動作316から動作318に進むことができる。そうでない場合、320の方法は、継続要素「B」を介して、オプションの動作316から動作308に進むことができる。動作318は、コンピューティングデバイスまたは別のコンピューティングデバイスで追加の提案コンテンツをレンダリングさせることを含むことができる。追加の提案コンテンツがレンダリングされるようにすることで、各オートフィル提案は、それぞれのオートフィル提案に関連付けられた情報を補足するコンテンツによって強化できる。場合によっては、これにより、ユーザがオートフィル提案を選択してから、オートフィル提案に応じて1つまたは複数のアクションが完了するまでの待ち時間を短縮できる。例えば、追加の提案コンテンツが、提案されているビデオのプレビューを特徴付けるグラフィックコンテンツを含む場合、ユーザが対応するオートフィル提案を選択する前に、ある程度の量のビデオがコンピューティングデバイスのメモリにバッファリングされる。このような待ち時間の短縮は、ユーザがセキュリティカメラからセキュリティ映像を表示しようとしている場合、および/または他の関連するスマートホームデバイスにアクセスしようとしている場合に役立つ。
この方法は、動作318から、継続要素「B」を介して、図3Aに提供される動作308に進むことができる。その後、方法300は、それに応じて動作308から継続することができる。例えば、ユーザが「…食器洗い機を無効にする」などのオートフィル提案を選択すると、方法300は動作314に進み、「食器洗い機」を無効にすることに関連する1つまたは複数のアクションを特定のアプリケーションに履行させることができる。特定のアプリケーションは、ユーザの家でWi-Fi対応の様々なデバイスを制御するためのスマートホームアプリケーションとすることができる。特定のアプリケーションは、ユーザによる提案選択の前に特定のコマンドデータにアクセスすることができ、特定のコマンドデータは、Wi-Fi対応食器洗い機で実行されるモジュールによって実行可能な1つまたは複数のアクションを特徴付けることができる。例えば、コマンドデータは、ユーザがオートフィル提案を選択する前に、特定のアプリケーションまたは別のアプリケーション(例えば、自動アシスタントアプリケーション)によってアクセスされた埋め込みリンクを含むことができる。
図4は、例示的なコンピュータシステム410のブロック図400である。コンピュータシステム410は通常、バスサブシステム412を介して多数の周辺デバイスと通信する少なくとも1つのプロセッサ414を含む。これらの周辺デバイスは、例えば、メモリ425およびファイル記憶サブシステム426を含む記憶サブシステム424、ユーザインターフェース出力デバイス420、ユーザインターフェース入力デバイス422、およびネットワークインターフェースサブシステム416を含み得る。入力および出力デバイスにより、ユーザはコンピュータシステム410と対話できる。ネットワークインターフェースサブシステム416は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス422は、キーボード、マウス、トラックボール、タッチパッドなどのポインティングデバイス、またはグラフィックタブレット、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクなどの音声入力デバイスおよび/またはその他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム410または通信ネットワークに情報を入力するすべての可能なタイプのデバイスおよび方法を含むことを意図している。
ユーザインターフェース出力デバイス420は、ディスプレイサブシステム、プリンタ、ファックス機、または音声出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含むことができる。ディスプレイサブシステムは、音声出力デバイスなどを介して非視覚的表示を提供することもできる。一般に、「出力デバイス」という用語の使用は、コンピュータシステム410からユーザまたは別の機械またはコンピュータシステムに情報を出力するすべての可能なタイプのデバイスおよび方法を含むことを意図している。
記憶サブシステム424は、本明細書で説明するモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。例えば、記憶サブシステム424は、ロジックを含むことができ、方法300、方法320の選択された態様を実行し、および/またはシステム200、コンピューティングデバイス102、サーバデバイス146、および/または本明細書で説明する他のアプリケーション、デバイス、装置、および/またはモジュールの1つまたは複数を実装する。
これらのソフトウェアモジュールは、一般に、プロセッサ414単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム424で使用されるメモリ425は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)430、および固定命令が記憶される読み取り専用メモリ(ROM)432を含むいくつかのメモリを含むことができる。ファイル記憶サブシステム426は、プログラムおよびデータファイルのための持続的記憶を提供することができ、ハードディスクドライブ、フロッピーディスクドライブを、関連するリムーバブル媒体、CD-ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジとともに含むことができる。特定の実装形態の機能を実装するモジュールは、記憶サブシステム424内のファイル記憶サブシステム426によって、またはプロセッサ414によってアクセス可能な他の機械内に記憶されてもよい。
バスサブシステム412は、コンピュータシステム410の様々な構成要素およびサブシステムが意図したとおりに互いに通信できるようにするための機構を提供する。バスサブシステム412は、単一のバスとして概略的に示されているが、バスサブシステムの別の実装形態では、複数のバスを使用することができる。
コンピュータシステム410は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムまたはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの性質は絶え間なく変化するため、図4に示されるコンピュータシステム410の説明は、いくつかの実装形態を説明するための特定の例としてのみ意図されている。コンピュータシステム410の多くの他の構成が可能であり、図4に示されるコンピュータシステムよりも多いまたは少ない構成要素を有する。
本明細書に記載されているシステムがユーザ(または本明細書で「参加者」と呼ばれることが多い)に関する個人情報を収集する状況、または個人情報を利用し得る状況では、ユーザには、プログラムまたは機能がユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、ユーザの好み、またはユーザの現在の地理的位置に関する情報)を収集するかどうかを制御する機会、またはユーザにとってより関連性の高い可能性があるコンテンツサーバからコンテンツを受信するかどうかおよび/または受信する方法を制御する機会が提供され得る。また、特定のデータは、個人を識別できる情報が削除されるように、記憶または使用される前に1つまたは複数の方法で処理され得る。例えば、ユーザのIDは、ユーザの個人を識別できる情報が特定できないように処理される場合があり、または、ユーザの地理的位置は、地理的位置情報が取得される場所(市区町村、郵便番号、または州レベルなど)で一般化され得るため、ユーザの特定の地理的位置を特定することはできない。したがって、ユーザは、ユーザに関する情報がどのように収集および/または使用されるかを制御することができる。
本明細書でいくつかの実装形態を説明および図示したが、機能を実行するため、および/または結果を取得するため、および/または本明細書で説明する利点の1つまたは複数を取得するための様々な他の手段および/または構造を利用することができ、そのような変形および/または修正の各々は、本明細書に記載された実装形態の範囲内にあるとみなされる。より一般的には、本明細書に記載されているすべてのパラメータ、寸法、材料、および構成は例示的であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の用途または複数の用途に依存する。当業者は、本明細書に記載された特定の実装形態に対する多くの均等物を、日常的な実験のみを使用して認識し、または確認することができるであろう。したがって、前述の実装形態は例としてのみ提示されており、添付の特許請求の範囲およびその等価物の範囲内で、具体的に説明および請求された以外の方法で実装形態を実施できることを理解されたい。本開示の実装形態は、本明細書に記載の個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、本開示の範囲内に含まれる。
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法は、クライアントコンピューティングデバイスのインターフェースで、1つまたは複数の自然言語文字を含むユーザ入力を受信するなどの動作を含むものとして説明されている。この方法は、ユーザ入力の少なくとも一部に基づいて、選択可能なグラフィカルユーザインターフェース(GUI)要素をクライアントコンピューティングデバイスのディスプレイインターフェースでレンダリングさせる動作をさらに含むことができ、選択可能なGUI要素は、ユーザ入力に対するオートフィル提案を特徴付ける自然言語コンテンツを含む。この方法は、クライアントコンピューティングデバイスからサーバコンピューティングデバイスにオートフィル提案を提供する動作をさらに含むことができる。この方法は、選択可能なGUI要素をディスプレイインターフェースにレンダリングさせることに続いて、しかし、選択可能なGUI要素のユーザ選択を受信する前に、オートフィル提案に基づいて生成されたコマンドデータをサーバコンピューティングデバイスから受信する動作をさらに含むことができる。コマンドデータは、選択可能なGUI要素に関連付けられた1つまたは複数のアクションを履行することを促進するために、1つまたは複数のアプリケーションによってアクセス可能である。この方法は、コマンドデータの受信に続いて、選択可能なGUI要素のユーザ選択を受信する動作をさらに含むことができる。この方法は、選択可能なGUI要素のユーザ選択の受信に応答して、コマンドデータを使用して1つまたは複数のアクションの実行を1つまたは複数のアプリケーションに初期化させる動作をさらに含むことができる。
いくつかの実装形態では、この方法は、サーバコンピューティングデバイスから、ユーザ入力のオートフィル提案に基づく追加の提案コンテンツを受信する動作をさらに含むことができる。この方法は、選択可能なGUI要素のユーザ選択を受信する前に、選択可能なGUI要素を有するディスプレイインターフェースで追加の提案コンテンツをレンダリングさせる動作をさらに含むことができる。いくつかの実装形態では、方法は、ユーザ入力の少なくとも一部に基づいて、追加の選択可能なGUI要素をクライアントコンピューティングデバイスのディスプレイインターフェースでレンダリングさせる動作をさらに含むことができ、追加の選択可能なGUI要素は、ユーザ入力に対する追加のオートフィル提案を特徴付ける追加の自然言語コンテンツを含む。いくつかの実装形態では、この方法は、クライアントコンピューティングデバイスからサーバコンピューティングデバイスに追加のオートフィル提案を提供する動作をさらに含むことができ、サーバコンピューティングデバイスから受信したコマンドデータも追加のオートフィル提案に基づいている。いくつかの実装形態では、この方法は、選択可能なGUI要素および追加の選択可能なGUI要素をディスプレイインターフェースでレンダリングさせた後、しかし、選択可能なGUI要素のユーザ選択を受信する前に、クライアントコンピューティングデバイスで、選択可能なGUI要素および追加の選択可能なGUI要素の各それぞれの優先度を決定する動作をさらに含むことができ、各それぞれの優先度は、ユーザと1つまたは複数のアプリケーションとの間の1つまたは複数の以前の対話を特徴付ける履歴対話データに基づく。
いくつかの実装形態では、各それぞれの優先度は、1人または複数の他のユーザと1つまたは複数のアプリケーションとの間の1つまたは複数の他の以前の対話を特徴付ける他の履歴対話データにさらに基づく。いくつかの実装形態では、コマンドデータは、ユーザがユーザ入力の追加部分を提供している間に、サーバコンピューティングデバイスから受信される。いくつかの実装形態では、1つまたは複数のアプリケーションは、クライアントコンピューティングデバイスの1つまたは複数のインターフェースでの自然言語入力に応答する自動アシスタントを含む。いくつかの実装形態では、方法は、選択可能なGUI要素をディスプレイインターフェースでレンダリングさせた後、しかし、選択可能なGUI要素のユーザ選択を受信する前に、ユーザが選択可能なGUI要素を選択することに応答して、クライアントコンピューティングデバイスを介してレンダリングされるコマンドデータの一部をバッファリングするための機能を1つまたは複数のアプリケーションに実行させる動作をさらに含むことができる。いくつかの実装形態では、オートフィル提案をサーバコンピューティングデバイスに提供することは、サーバコンピューティングデバイスに、オートフィル提案とサーバの自然言語理解(NLU)プロセスを使用してコマンドデータを生成させることを含み、サーバNLUプロセスは、クライアントコンピューティングデバイスで実行されるクライアントNLUプロセスとは異なる。
他の実装形態では、1つまたは複数のプロセッサによって実装される方法は、サーバコンピューティングデバイスによって、およびクライアントコンピューティングデバイスから、クライアントコンピューティングデバイスで受信された部分的なインターフェース入力に対する1つまたは複数のオートフィル提案を特徴付けるクライアントデータの受信などの動作を含めて説明されて、クライアントコンピューティングデバイスは、クライアントコンピューティングデバイスでの部分的なインターフェース入力に応答して、1つまたは複数のオートフィル提案をレンダリングする。いくつかの実装形態では、この方法は、1つまたは複数のオートフィル提案に基づいて、1つまたは複数のそれぞれのアプリケーションによってクライアントコンピューティングデバイスで初期化できる1つまたは複数のアプリケーションアクションを特徴付けるコマンドデータを生成する動作をさらに含むことができる。いくつかの実装形態では、この方法は、ユーザがクライアントコンピューティングデバイスで1つまたは複数のオートフィル提案のうちの特定のオートフィル提案を選択する前に、クライアントコンピューティングデバイスにコマンドデータを提供する動作をさらに含むことができ、コマンドデータの受信に応答して、クライアントコンピューティングデバイスは、1つまたは複数のアプリケーションアクションのうちの特定のアプリケーションアクションを履行する準備として、1つまたは複数のそれぞれのアプリケーションのうちの特定のアプリケーションにコマンドデータにアクセスさせる。
いくつかの実装形態では、この方法は、サーバコンピューティングデバイスで、1つまたは複数のオートフィル提案に基づく追加の提案コンテンツを生成する動作をさらに含むことができる。いくつかの実装形態では、この方法は、ユーザが、クライアントコンピューティングデバイスで、1つまたは複数のオートフィル提案のうちの特定のオートフィル提案を選択する前に、クライアントコンピューティングデバイスのインターフェースを介して追加の提案コンテンツをレンダリングさせる動作をさらに含むことができる。いくつかの実装形態では、コマンドデータは、ユーザが追加の入力を提供して部分的なインターフェース入力を追加している間に、クライアントコンピューティングデバイスによって受信される。いくつかの実装形態では、1つまたは複数のそれぞれのアプリケーションは、クライアントコンピューティングデバイスの1つまたは複数のインターフェースでの自然言語入力に応答する自動アシスタントを含む。いくつかの実装形態では、1つまたは複数のアプリケーションアクションのうちの特定のアプリケーションアクションを履行する準備として、1つまたは複数のそれぞれのアプリケーションの特定のアプリケーションにコマンドデータにアクセスさせることは、特定のアプリケーションに、クライアントコンピューティングデバイスの1つまたは複数のインターフェースを介してコマンドデータの一部をレンダリングさせることを含む。
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、クライアントコンピューティングデバイスのインターフェースで、自動アシスタントに向けられたアシスタントコマンドの一部を特徴付けるユーザ入力を受信するなどの動作を含むものとして説明される。自動アシスタントは、クライアントコンピューティングデバイスで受信した発話に応答する。この方法は、ユーザ入力の受信に応答して、アシスタントコマンドの一部に基づいてオートフィル提案を識別する動作をさらに含むことができる。この方法は、オートフィル提案に基づいて、オートフィル提案の各オートフィル提案に応答する各アシスタントアクションを特徴付けるクライアントコマンドデータを生成する動作をさらに含むことができる。この方法は、クライアントコンピューティングデバイスによって、ネットワーク接続を介してサーバコンピューティングデバイスにオートフィル提案を通信する動作をさらに含むことができ、サーバコンピューティングデバイスがオートフィル提案を受信することに基づいて、サーバコンピューティングデバイスは、オートフィル提案の各オートフィル提案に応答する追加の各アシスタントアクションを特徴付けるサーバコマンドデータを生成し、サーバコマンドデータをクライアントコンピューティングデバイスに提供することを含む動作を実行する。この方法は、クライアントコンピューティングデバイスによって、1つまたは複数の選択可能な提案要素をクライアントコンピューティングデバイスのインターフェースまたは別のインターフェースでレンダリングさせる動作をさらに含むことができ、1つまたは複数の選択可能な提案要素の各選択可能な提案要素は、オートフィル提案に基づくそれぞれのコンテンツを含む。この方法は、クライアントコンピューティングデバイスが1つまたは複数の選択可能な提案要素をレンダリングした後、しかしユーザが1つまたは複数の選択可能な提案要素のうちの特定の選択可能な提案要素を選択する前に、サーバコンピューティングデバイスから、アシスタントコマンド履行データを受信する動作をさらに含むことができ、アシスタントコマンド履行データは、自動アシスタントによってアクセスされ、1つまたは複数のアシスタントアクションの履行または1つまたは複数の追加のアシスタントアクションの履行を促進する。
いくつかの実装形態では、アシスタントコマンド履行データは、ユーザがアシスタントコマンドの追加部分を提供している間に、サーバコンピューティングデバイスから受信される。いくつかの実装形態では、この方法は、クライアントコンピューティングデバイスが1つまたは複数の選択可能な提案要素をレンダリングした後、しかし、ユーザが1つまたは複数の選択可能な提案要素の特定の選択可能な提案要素を選択する前に、ユーザによって提供されているアシスタントコマンドの追加部分に基づいて、1つまたは複数の選択可能な提案要素のそれぞれの選択可能な提案を修正する動作をさらに含むことができる。いくつかの実装形態では、この方法は、クライアントコンピューティングデバイスが1つまたは複数の選択可能な提案要素をレンダリングした後、しかしユーザが1つまたは複数の選択可能な提案要素の特定の選択可能な提案要素を選択する前に、オートフィル提案に基づく追加の提案コンテンツをサーバコンピューティングデバイスから受信し、クライアントコンピューティングデバイスのインターフェースまたは他のインターフェースを介して追加の提案コンテンツをレンダリングさせる動作をさらに含むことができる。
いくつかの実装形態では、追加の提案コンテンツは、クライアントコンピューティングデバイスのインターフェースまたは他のインターフェースでレンダリングされるグラフィックコンテンツを含み、グラフィックコンテンツは、特定のアプリケーションによって実行されている動作の状態を特徴付け、オートフィル提案の特定のオートフィル提案に関連付けられている。いくつかの実装形態では、この方法は、クライアントコンピューティングデバイスが1つまたは複数の選択可能な提案要素をレンダリングした後、しかしユーザが1つまたは複数の選択可能な提案要素のうちの特定の選択可能な提案要素を選択する前に、自動アシスタントが、アシスタントコマンド履行データを使用して、1つまたは複数の追加のアシスタントアクションの特定のアシスタントアクションを完了する動作をさらに含むことができる。いくつかの実装形態では、ネットワーク接続を介してサーバコンピューティングデバイスにオートフィル提案を通信することは、サーバコンピューティングデバイスに、オートフィル提案およびサーバ自然言語理解(NLU)プロセスを使用してアシスタントコマンド履行データを生成させることを含み、サーバNLUプロセスは、クライアントコンピューティングデバイスで実行されるクライアントNLUプロセスとは異なる。
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、クライアントコンピューティングデバイスのインターフェースで、自動アシスタントに向けられたアシスタントコマンドの一部を特徴付けるユーザ入力を受信するなどの動作を含むものとして説明される。自動アシスタントは、クライアントコンピューティングデバイスで受信した発話に応答する。この方法は、ユーザ入力の受信に応答して、アシスタントコマンドの一部に基づいてオートフィル提案を識別する動作をさらに含むことができる。この方法は、オートフィル提案に基づいて、オートフィル提案の各オートフィル提案に応答する各アシスタントアクションを特徴付けるクライアントコマンドデータを生成する動作をさらに含むことができる。この方法は、クライアントコマンドデータに基づいて、クライアントコマンドデータからアシスタントアクションの第1セットを選択する動作をさらに含むことができ、アシスタントアクションの第1セットは、クライアントコマンドデータで識別されたアシスタントアクションのサブセットであり、アシスタントアクションの第1セットは、クライアントコンピューティングデバイスでのユーザと自動アシスタントとの間の以前の対話を特徴付ける履歴クライアントデータにさらに基づいて選択される。この方法は、クライアントコンピューティングデバイスによって、ネットワーク接続を介してサーバコンピューティングデバイスにオートフィル提案を通信する動作をさらに含むことができ、サーバコンピューティングデバイスがアシスタントコマンドの一部を受信することに応答して、サーバコンピューティングデバイスは、各オートフィル提案に応答する追加の各アシスタントアクションを特徴付けるサーバコマンドデータの生成、およびサーバコマンドデータからのアシスタントアクションの第2セットの選択を含む動作を実行する。いくつかの実装形態では、アシスタントアクションの第2セットは、サーバコマンドデータによって識別されるアシスタントアクションの別のサブセットであり、アシスタントアクションの第2セットは、1人または複数の他のユーザと自動アシスタントとの間の以前の対話を特徴付けるサーバデータに基づいて識別される。いくつかの実装形態では、この方法は、アシスタントアクションの第1セットで識別された特定のアシスタントアクションと、アシスタントアクションの第2セットで識別された別の特定のアシスタントアクションの性能を初期化する動作をさらに含むことができる。
100 ビュー
106 部分入力
110 インターフェース
120 ビュー
140 ビュー
104 ユーザ
102 コンピューティングデバイス
122 ユーザインターフェース
124 アプリケーション
126 提案エンジン
128 コマンドエンジン
116 キーボード
130 オートフィル提案
114 提案データ
118 提案生成
132 部分入力データ
142 提案データ
146 サーバデバイス
148 コマンドデータ
150 追加の提案データ
152 対話型GUI要素
200 システム
202 コンピューティングデバイス
234 アプリケーション
220 アシスタントインターフェース
230 アプリケーションデータ
232 デバイスデータ
236 コンテキストデータ
238 アシスタントデータ
204 自動アシスタント
206 入力処理エンジン
208 音声処理エンジン
210 データ解析エンジン
212 パラメータエンジン
214 出力生成エンジン
216 コマンドデータエンジン
218 提案ランキングエンジン
222 オートフィル提案エンジン
424 記憶サブシステム
425 メモリサブシステム
426 ファイル記憶サブシステム
432 ROM
430 RAM
422 ユーザインターフェース入力デバイス
410 コンピュータシステム
412 バスサブシステム
414 プロセッサ
416 ネットワークインターフェース
420 ユーザインターフェース出力デバイス

Claims (23)

1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
クライアントコンピューティングデバイスのインターフェースで、1つまたは複数の自然言語文字を含むユーザ入力を受信するステップと、
前記ユーザ入力の少なくとも一部に基づいて、選択可能なグラフィカルユーザインターフェース(GUI)要素が前記クライアントコンピューティングデバイスのディスプレイインターフェースでレンダリングされるようにするステップであって、
前記選択可能なGUI要素は、前記ユーザ入力に対するオートフィル提案を特徴付ける自然言語コンテンツを含む、ステップと、
前記クライアントコンピューティングデバイスからサーバコンピューティングデバイスに、前記オートフィル提案を提供するステップと、
前記選択可能なGUI要素を前記ディスプレイインターフェースにレンダリングさせた後、しかし、前記選択可能なGUI要素のユーザ選択を受信する前、
前記サーバコンピューティングデバイスから、前記オートフィル提案に基づいて生成されたコマンドデータを受信するステップであって、
前記コマンドデータは、前記選択可能なGUI要素に関連付けられた1つまたは複数のアクションを履行することを促進するために、1つまたは複数のアプリケーションによってアクセス可能である、ステップと、
前記コマンドデータの受信に続いて、前記選択可能なGUI要素の前記ユーザ選択を受信するステップと、
前記選択可能なGUI要素の前記ユーザ選択の受信に応答して、前記1つまたは複数のアプリケーションに、前記コマンドデータを使用して前記1つまたは複数のアクションの性能を初期化させるステップと、を含む、方法。
前記サーバコンピューティングデバイスから、前記ユーザ入力の前記オートフィル提案に基づく追加の提案コンテンツを受信するステップと、
前記選択可能なGUI要素の前記ユーザ選択を受信する前に、前記追加の提案コンテンツが前記選択可能なGUI要素とともに前記ディスプレイインターフェースでレンダリングされるようにするステップと、をさらに含む、請求項1に記載の方法。
前記ユーザ入力の少なくとも前記一部に基づいて、追加の選択可能なGUI要素が前記クライアントコンピューティングデバイスの前記ディスプレイインターフェースでレンダリングされるようにするステップであって、
前記追加の選択可能なGUI要素は、前記ユーザ入力に対する追加のオートフィル提案を特徴付ける追加の自然言語コンテンツを含む、ステップと、
前記クライアントコンピューティングデバイスから前記サーバコンピューティングデバイスに、前記追加のオートフィル提案を提供するステップであって、
前記サーバコンピューティングデバイスから受信した前記コマンドデータは、前記追加のオートフィル提案にも基づいている、ステップと、
前記選択可能なGUI要素および前記追加の選択可能なGUI要素を前記ディスプレイインターフェースでレンダリングさせた後、しかし、前記選択可能なGUI要素の前記ユーザ選択を受信する前、
前記クライアントコンピューティングデバイスで、前記選択可能なGUI要素および前記追加の選択可能なGUI要素のそれぞれの優先度を決定するステップであって、
それぞれの優先度は、ユーザと前記1つまたは複数のアプリケーションとの間の1つまたは複数の以前の対話を特徴付ける履歴対話データに基づく、ステップと、をさらに含む、請求項1または請求項2に記載の方法。
それぞれの優先度は、1人または複数の他のユーザと前記1つまたは複数のアプリケーションとの間の1つまたは複数の他の以前の対話を特徴付ける他の履歴対話データにさらに基づく、請求項3に記載の方法。
前記コマンドデータは、前記ユーザが前記ユーザ入力の追加部分を提供している間に、前記サーバコンピューティングデバイスから受信される、請求項1から4のいずれか一項に記載の方法。
前記1つまたは複数のアプリケーションが、前記クライアントコンピューティングデバイスの1つまたは複数のインターフェースでの自然言語入力に応答する自動アシスタントを含む、請求項1から5のいずれか一項に記載の方法。
前記選択可能なGUI要素を前記ディスプレイインターフェースにレンダリングさせた後、しかし、前記選択可能なGUI要素の前記ユーザ選択を受信する前、
ユーザが前記選択可能なGUI要素を選択することに応答して、前記クライアントコンピューティングデバイスを介してレンダリングされる前記コマンドデータの一部をバッファリングするための機能を前記1つまたは複数のアプリケーションに実行させることをさらに含む、請求項1から6のいずれか一項に記載の方法。
前記オートフィル提案を前記サーバコンピューティングデバイスに提供することは、
前記サーバコンピューティングデバイスに、前記オートフィル提案とサーバの自然言語理解(NLU)プロセスを使用して前記コマンドデータを生成させることを含み、
前記サーバNLUプロセスは、前記クライアントコンピューティングデバイスで実行されるクライアントNLUプロセスとは異なる、請求項1から7のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
クライアントコンピューティングデバイスで受信された部分的なインターフェース入力に対する1つまたは複数のオートフィル提案を特徴付けるクライアントデータを、サーバコンピューティングデバイスによって、および前記クライアントコンピューティングデバイスから受信するステップであって、
前記クライアントコンピューティングデバイスは、前記クライアントコンピューティングデバイスでの前記部分的なインターフェース入力に応答して、1つまたは複数のオートフィル提案をレンダリングする、ステップと、
前記1つまたは複数のオートフィル提案に基づいて、1つまたは複数のそれぞれのアプリケーションによって前記クライアントコンピューティングデバイスで初期化できる1つまたは複数のアプリケーションアクションを特徴付けるコマンドデータを生成するステップと、
ユーザが前記クライアントコンピューティングデバイスで、前記1つまたは複数のオートフィル提案のうちの特定のオートフィル提案を選択する前に、
前記コマンドデータを前記クライアントコンピューティングデバイスに提供するステップであって、
前記コマンドデータの受信に応答して、前記クライアントコンピューティングデバイスは、前記1つまたは複数のアプリケーションアクションの特定のアプリケーションアクションを履行する準備として、前記1つまたは複数のそれぞれのアプリケーションの特定のアプリケーションに前記コマンドデータにアクセスさせる、ステップと、を含む、方法。
前記サーバコンピューティングデバイスで、前記1つまたは複数のオートフィル提案に基づく追加の提案コンテンツを生成するステップと、
前記ユーザが前記クライアントコンピューティングデバイスで、前記1つまたは複数のオートフィル提案の前記特定のオートフィル提案を選択する前に、
前記クライアントコンピューティングデバイスのインターフェースを介して前記追加の提案コンテンツをレンダリングさせるステップと、をさらに含む、請求項9に記載の方法。
前記コマンドデータは、前記ユーザが前記部分的なインターフェース入力を追加するための追加入力を提供している間に、前記クライアントコンピューティングデバイスによって受信される、請求項9または請求項10に記載の方法。
前記1つまたは複数のそれぞれのアプリケーションは、前記クライアントコンピューティングデバイスの1つまたは複数のインターフェースでの自然言語入力に応答する自動アシスタントを含む、請求項9から11のいずれか一項に記載の方法。
前記1つまたは複数のアプリケーションアクションのうちの前記特定のアプリケーションアクションを履行する準備として、前記1つまたは複数のそれぞれのアプリケーションのうちの前記特定のアプリケーションに前記コマンドデータにアクセスさせることは、
前記特定のアプリケーションに、前記クライアントコンピューティングデバイスの1つまたは複数のインターフェースを介して前記コマンドデータの一部をレンダリングさせることを含む、請求項9から12のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
クライアントコンピューティングデバイスのインターフェースで、自動アシスタントに向けられたアシスタントコマンドの一部を特徴付けるユーザ入力を受信するステップであって、
前記自動アシスタントは、前記クライアントコンピューティングデバイスで受信した発話に応答する、ステップと、
前記ユーザ入力の受信に応答して、前記アシスタントコマンドの前記一部に基づいてオートフィル提案を識別するステップと、
前記オートフィル提案に基づいて、前記オートフィル提案の各オートフィル提案に応答する各アシスタントアクションを特徴付けるクライアントコマンドデータを生成するステップと、
前記クライアントコンピューティングデバイスによって、ネットワーク接続を介してサーバコンピューティングデバイスに前記オートフィル提案を通信するステップであって、
前記オートフィル提案を受信する前記サーバコンピューティングデバイスに基づいて、前記サーバコンピューティングデバイスは、前記オートフィル提案の各オートフィル提案に応答する追加の各アシスタントアクションを特徴付けるサーバコマンドデータを生成するステップと、
前記サーバコマンドデータを前記クライアントコンピューティングデバイスに提供するステップと、を含む、動作を実行する、ステップと、
前記クライアントコンピューティングデバイスによって、前記クライアントコンピューティングデバイスの前記インターフェースまたは別のインターフェースで1つまたは複数の選択可能な提案要素がレンダリングされるようにするステップであって、
前記1つまたは複数の選択可能な提案要素の各選択可能な提案要素は、前記オートフィル提案に基づくそれぞれのコンテンツを含む、ステップと、
前記クライアントコンピューティングデバイスが前記1つまたは複数の選択可能な提案要素をレンダリングした後、しかし、ユーザが前記1つまたは複数の選択可能な提案要素のうちの特定の選択可能な提案要素を選択する前に、
前記サーバコンピューティングデバイスから、アシスタントコマンド履行データを受信するステップであって、
前記アシスタントコマンド履行データは、自動アシスタントによってアクセスされ、1つまたは複数のアシスタントアクションの履行または1つまたは複数の追加のアシスタントアクションの履行を促進する、ステップと、を含む、方法。
前記ユーザが前記アシスタントコマンドの追加部分を提供している間に、前記アシスタントコマンド履行データが前記サーバコンピューティングデバイスから受信される、請求項14に記載の方法。
前記クライアントコンピューティングデバイスが前記1つまたは複数の選択可能な提案要素をレンダリングした後、しかし、前記ユーザが前記1つまたは複数の選択可能な提案要素のうちの前記特定の選択可能な提案要素を選択する前に、
前記ユーザによって提供されている前記アシスタントコマンドの前記追加部分に基づいて、前記1つまたは複数の選択可能な提案要素のそれぞれの選択可能な提案を修正することをさらに含む、請求項15に記載の方法。
前記クライアントコンピューティングデバイスが前記1つまたは複数の選択可能な提案要素をレンダリングした後、しかし、前記ユーザが前記1つまたは複数の選択可能な提案要素のうちの前記特定の選択可能な提案要素を選択する前に、
前記オートフィル提案に基づく追加の提案コンテンツを前記サーバコンピューティングデバイスから受信するステップと、
前記クライアントコンピューティングデバイスの前記インターフェースまたは他のインターフェースを介して追加の提案コンテンツをレンダリングさせるステップと、をさらに含む、請求項14から16のいずれか一項に記載の方法。
前記追加の提案コンテンツは、前記クライアントコンピューティングデバイスの前記インターフェースまたは前記他のインターフェースでレンダリングされるグラフィックコンテンツを含み、
前記グラフィックコンテンツは、前記オートフィル提案の特定のオートフィル提案に関連付けられた特定のアプリケーションによって実行されている動作の状態を特徴付ける、請求項17に記載の方法。
前記クライアントコンピューティングデバイスが前記1つまたは複数の選択可能な提案要素をレンダリングした後、しかし、前記ユーザが前記1つまたは複数の選択可能な提案要素のうちの特定の選択可能な提案要素を選択する前に、
前記自動アシスタントに、前記アシスタントコマンド履行データを使用して、前記1つまたは複数の追加のアシスタントアクションの特定のアシスタントアクションを完了させることをさらに含む、請求項14から18のいずれか一項に記載の方法。
前記ネットワーク接続を介して前記オートフィル提案を前記サーバコンピューティングデバイスに通信することは、
前記サーバコンピューティングデバイスに、前記オートフィル提案とサーバの自然言語理解(NLU)プロセスを使用して前記アシスタントコマンド履行データを生成させることを含み、
前記サーバNLUプロセスは、前記クライアントコンピューティングデバイスで実行されるクライアントNLUプロセスとは異なる、請求項14から19のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム製品。
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の方法を実行させる命令を含む、コンピュータ可読記憶媒体。
1つまたは複数のプロセッサと、実行時に1つまたは複数の前記プロセッサに請求項1から20のいずれか一項に記載の方法を実行させる命令を記憶するメモリとを含む、クライアントコンピューティングデバイス。
JP2022565888A 2020-06-18 2021-05-14 現在のユーザ入力を完了するための特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行すること Pending JP2023529279A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/905,338 US11556707B2 (en) 2020-06-18 2020-06-18 Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US16/905,338 2020-06-18
PCT/US2021/032530 WO2021257219A1 (en) 2020-06-18 2021-05-14 Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input

Publications (1)

Publication Number Publication Date
JP2023529279A true JP2023529279A (ja) 2023-07-10

Family

ID=76306032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022565888A Pending JP2023529279A (ja) 2020-06-18 2021-05-14 現在のユーザ入力を完了するための特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行すること

Country Status (6)

Country Link
US (3) US11556707B2 (ja)
EP (1) EP4121843A1 (ja)
JP (1) JP2023529279A (ja)
KR (1) KR20220165777A (ja)
CN (1) CN115552365A (ja)
WO (1) WO2021257219A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12040086B2 (en) 2014-08-27 2024-07-16 Medicalmine, Inc. Patient health record portal gamification
US12020698B2 (en) * 2014-08-27 2024-06-25 Medicalmine, Inc. Electronic health record navigation
US11556707B2 (en) * 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US11829991B2 (en) * 2021-03-01 2023-11-28 Bank Of America Corporation Electronic system for automatically generating resource distributions based on SMS-based instructions using machine learning
US11803253B2 (en) * 2021-11-29 2023-10-31 International Business Machines Corporation Keyword recommendations for virtual keyboards
US20230402037A1 (en) * 2022-06-09 2023-12-14 MagicX Inc. Digital interface with user input guidance

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090043741A1 (en) 2007-08-09 2009-02-12 Dohyung Kim Autocompletion and Automatic Input Method Correction for Partially Entered Search Query
US9129012B2 (en) 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
WO2015153474A1 (en) * 2014-03-31 2015-10-08 Monticello Enterprises LLC System and method for providing a single input field having multiple processing possibilities
US10255365B2 (en) * 2014-08-29 2019-04-09 Facebook, Inc. Priming search results on online social networks
US20160179816A1 (en) * 2014-12-22 2016-06-23 Quixey, Inc. Near Real Time Auto-Suggest Search Results
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US9767091B2 (en) * 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
US9984075B2 (en) 2015-10-06 2018-05-29 Google Llc Media consumption context for personalized instant query suggest
US10416854B2 (en) * 2017-03-07 2019-09-17 Google Llc Autofill for a user device
JP7243625B2 (ja) 2017-11-15 2023-03-22 ソニーグループ株式会社 情報処理装置、及び情報処理方法
DE112019001184T5 (de) * 2018-03-06 2020-12-10 Google Llc Systeme und Verfahren zur Autofill-Feldklassifizierung
CN112313924A (zh) 2018-05-07 2021-02-02 谷歌有限责任公司 提供用于控制各种连接设备的复合图形助理界面
US11556707B2 (en) * 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input

Also Published As

Publication number Publication date
US11556707B2 (en) 2023-01-17
EP4121843A1 (en) 2023-01-25
US20210397788A1 (en) 2021-12-23
US20240037330A1 (en) 2024-02-01
US11960837B2 (en) 2024-04-16
CN115552365A (zh) 2022-12-30
KR20220165777A (ko) 2022-12-15
US20230153525A1 (en) 2023-05-18
WO2021257219A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
US11693533B2 (en) Providing composite graphical assistant interfaces for controlling various connected devices
JP2023529279A (ja) 現在のユーザ入力を完了するための特定のオートコンプリート提案をユーザが選択する前に、実行可能な要求を履行すること
JP7195343B2 (ja) 自動化アシスタントを介して実行されるように要求された一連のアクションの実行の編成
JP2022522104A (ja) アシスタントの応答を動的に適応させること
KR20200007882A (ko) 자동 비서를 위한 명령 번들 제안 제공
CN114174972B (zh) 用于复杂应用gui的自动化助理控制的压缩口头话语
JP2024506778A (ja) アシスタントコマンドの受動的な曖昧さ解消
EP3915105A1 (en) Initializing non-assistant background actions, via an automated assistant, while accessing a non-assistant application
KR20200124298A (ko) 원격으로 생성된 자동화된 어시스턴트 콘텐츠를 렌더링할 때 클라이언트 디바이스 지연 완화
JP2023532395A (ja) 環境干渉が自動アシスタントの特定のインタラクションを妨げることが予測されるときに代替インターフェースを提案すること
KR20230047188A (ko) 자동화된 어시스턴트와의 사용자 인터렉션(들)을 통한 애플리케이션 동작(들) 실행 취소
US20230237312A1 (en) Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
JP2024509660A (ja) パラメータに限定されることの可能なユーザ入力に応答して非アシスタントアプリケーション動作を自動アシスタントにより実施すること
JP2022539673A (ja) グラフィカルユーザインターフェース内への内容の音声制御入力
US20240038246A1 (en) Non-wake word invocation of an automated assistant from certain utterances related to display content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221205

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240624