JP2023535250A - 自動化された音声アシスタントにおける失敗の検出および処理 - Google Patents

自動化された音声アシスタントにおける失敗の検出および処理 Download PDF

Info

Publication number
JP2023535250A
JP2023535250A JP2022571845A JP2022571845A JP2023535250A JP 2023535250 A JP2023535250 A JP 2023535250A JP 2022571845 A JP2022571845 A JP 2022571845A JP 2022571845 A JP2022571845 A JP 2022571845A JP 2023535250 A JP2023535250 A JP 2023535250A
Authority
JP
Japan
Prior art keywords
automated assistant
user
request
response
audio data
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.)
Granted
Application number
JP2022571845A
Other languages
English (en)
Other versions
JP7541120B2 (ja
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 JP2023535250A publication Critical patent/JP2023535250A/ja
Application granted granted Critical
Publication of JP7541120B2 publication Critical patent/JP7541120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Emergency Alarm Devices (AREA)
  • Alarm Systems (AREA)
  • Monitoring And Testing Of Exchanges (AREA)

Abstract

Figure 2023535250000001
その他の自動化されたアシスタントにおける失敗を検出し、処理するための技術が、本明細書において説明される。方法が、ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行するステップと、非アクティブ状態である間に、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定するステップと、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントが、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、またはキャッシュされたオーディオデータの特徴を処理して、ユーザの要求を満たす応答を決定するステップと、第1の自動化されたアシスタントによってユーザに、ユーザの要求を満たす応答を提供するステップとを含む。

Description

人は、本明細書において「自動化されたアシスタント」と呼ばれるインタラクティブなソフトウェアアプリケーション(「デジタルエージェント」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)を用いて人とコンピュータとの対話に従事し得る。たとえば、人(自動化されたアシスタントとインタラクションするときは「ユーザ」と呼ばれる場合がある)は、場合によってはテキストに変換され、それから処理される可能性がある口頭自然言語入力(つまり、発話)を使用して、テキストの(たとえば、タイピングされた)自然言語入力を与えることによって、ならびに/またはタッチおよび/もしくは発話を含まない体の動き(utterance free physical movement)(たとえば、手のジェスチャ、視線、顔の動きなど)によって自動化されたアシスタントにコマンドおよび/または要求を与える場合がある。自動化されたアシスタントは、応答ユーザインターフェース出力(たとえば、可聴および/もしくは視覚的ユーザインターフェース出力)を与えること、1つもしくは複数のスマートデバイスを制御すること、ならびに/または自動化されたアシスタントを実装するデバイスの1つもしくは複数の機能を制御すること(たとえば、デバイスのその他のアプリケーションを制御すること)によって要求に応答する。
上述のように、多くの自動化されたアシスタントは、口頭発話によってインタラクションされるように構成される。ユーザのプライバシーを保護するためおよび/またはリソースを節約するために、自動化されたアシスタントは、自動化されたアシスタントを(少なくとも部分的に)実装するクライアントデバイスのマイクロフォンによって検出されたオーディオデータに存在するすべての口頭発話に基づいて1つまたは複数の自動化されたアシスタントの機能を実行することを控える。むしろ、口頭発話に基づく特定の処理は、特定の条件が存在するとの判定に応じてのみ行われる。
たとえば、自動化されたアシスタントを含むおよび/または自動化されたアシスタントとインターフェースをとる多くのクライアントデバイスは、ホットワード検出モデルを含む。そのようなクライアントデバイスのマイクロフォンが非アクティブ化されないとき、クライアントデバイスは、ホットワード検出モデルを使用して、マイクロフォンによって検出されたオーディオデータを継続的に処理して、「ヘイ、アシスタント」、「OK、アシスタント」、および/または「アシスタント」などの1つまたは複数のホットワード(複数単語のフレーズを含む)が存在するかどうかを示す予測された出力を生成することができる。予測された出力がホットワードが存在することを示すとき、閾値の量の時間内に後に続く(および任意で音声活動(voice activity)を含むと判定される)すべてのオーディオデータは、音声認識構成要素、音声活動検出構成要素などの1つまたは複数のオンデバイスのおよび/またはリモートの自動化されたアシスタント構成要素によって処理され得る。さらに、(音声認識構成要素からの)認識されたテキストが、自然言語理解エンジンを使用して処理されることが可能であり、および/またはアクションが、自然言語理解エンジンの出力に基づいて実行されることが可能である。アクションは、たとえば、応答の生成および提供、ならびに/または1つもしくは複数のアプリケーションおよび/もしくはスマートデバイスの制御を含み得る。しかし、予測された出力がホットワードが存在しないことを示すとき、対応するオーディオデータは、いかなるさらなる処理もされずに破棄され、それによって、リソースを節約し、ユーザのプライバシーを保護する。
自動化されたアシスタントがさらに普及するにつれて、複数の異なる自動化されたアシスタントを同じクライアントデバイス上で実行させること、または互いに近くに(たとえば、同じ部屋内に)位置する異なるクライアントデバイスで実行させることがますます一般的になりつつある。状況によっては、複数の自動化されたアシスタントが、いくつかのクライアントデバイスにプリインストールされる場合があり、または代替的に、ユーザが、特定の分野もしくは特定のタスクを実行することに特化し得る1つもしくは複数の新しい追加的な自動化されたアシスタントをインストールするオプションを提供される場合がある。
複数の自動化されたアシスタントが同じクライアントデバイス上および/または互いに近くにある異なるクライアントデバイスで実行されている状況においては、ユーザが(たとえば、第1の自動化されたアシスタントに関連するホットワードを使用することによって)第1の自動化されたアシスタントに要求を言うが、第1の自動化されたアシスタントが要求を処理することに失敗するか、または要求に応じて最適でない、不正確な、もしくは不完全な結果を返す場合がある可能性がある。しかし、ユーザが(たとえば、第2の自動化されたアシスタントに関連するホットワードを使用することによって)第2の自動化されたアシスタントに要求を言っていれば、第2の自動化されたアシスタントは、要求を正しく処理し得た。
本明細書において開示される一部の実装は、その他の自動化されたアシスタントにおける失敗を検出し、処理することによって、デバイスの性能および能力を改善し、デバイス上で実行される自動化されたアシスタントによって提供されるユーザ体験を改善することを対象とする。本明細書においてより詳細に説明されるように、別の自動化されたアシスタントがユーザの要求を満たすことの失敗の検出、または要求に応じて別の自動化されたアシスタントによって提供された最適でないもしくは不正確な結果の検出に応じて、一部の実装において、自動化されたアシスタントは、別の自動化されたアシスタントが満たすことに失敗した(または最適/正確に満たすことに失敗した)要求を処理することをユーザに提案し、要求される場合、ユーザの要求を満たす反応を提供する。
一部の実装において、自動化されたアシスタントは、(たとえば、同じクライアントデバイスおよび/または近くに位置する別のクライアントデバイス上で実行されている)その他の自動化されたアシスタントとのユーザのインタラクションを周囲で認識し、その他の自動化されたアシスタントのうちの1つによる、ユーザの要求を満たすことの失敗に応じて、ユーザの要求を処理することを提案する場合がある。一部の実装において、ユーザの要求を処理する提案は、自動化されたアシスタントがユーザの要求を満たす応答を提供することができる見込みが十分に高いと自動化されたアシスタントが判定することを条件としてよい。その他の実装において(たとえば、自動化されたアシスタントが失敗に自動的に応答すべきであるという、設定を通じたユーザの指定に応じて)、自動化されたアシスタントは、その他の自動化されたアシスタントのうちの1つによる、ユーザの要求を満たすことの失敗に応じて、ユーザの要求を満たす応答を自動的に提供する場合がある。
例において、ユーザは、「オーケー、アシスタント1。近くに靴下を売っているところはある?」などの要求を第1の自動化されたアシスタントに言う可能性がある。第1の自動化されたアシスタントは、「すみません、あなたの周りにどんなお店があるかわかりません」と答える可能性がある。この例において、第1の自動化されたアシスタントは、ユーザの要求を満たすことに失敗した。ユーザが最初に第2の自動化されたアシスタントに要求を言っていたら、第2の自動化されたアシスタントは、「あなたの近くで靴下を売っているお店のリストです。お店の1つにご案内しますか?」と応答した可能性がある。
例について続けると、第2の自動化されたアシスタントは、第1の自動化されたアシスタントがユーザの要求を満たすことの失敗を検出する。失敗の検出に応じて、第2の自動化されたアシスタントは、「お手伝いします。近くのお店のリストです」のような、ユーザの要求を満たす応答を自動的に提供してよい。代替的に、ユーザの要求を満たす応答を自動的に提供する代わりに、第2の自動化されたアシスタントは、たとえば、第2の自動化されたアシスタントが実行されているクライアントデバイスのライトもしくはディスプレイを使用することによって、または第2の自動化されたアシスタントが実行されているクライアントデバイスのスピーカで音(たとえば、チャイム)を再生することによって、ユーザの要求を満たす応答の可用性の指示を自動的に提供してよい。
一部の実装において、ユーザは、ホットワードによって、またはデバイス上の別のメカニズムによって、たとえば、「オーケー、アシスタント1。この近くで食事をするならどこが一番いい?」と尋ねることによって、第1の自動化されたアシスタントを呼び出す。第1の自動化されたアシスタントは、たとえば、DSPを搭載したホットワード検出器を実行し、それから、音声認識のために音声を渡し、問い合わせの解釈および履行を通じて音声の文字起こし(transcription)を実行することによって、問い合わせの処理を実行することができる。
一部の実装においては、問い合わせが第1の自動化されたアシスタントに発せられるとき、ユーザの発話は、第2の自動化されたアシスタントが実行されるデバイス上でさらに処理するためにローカルにキャッシュされ得る。一部の実装においては、ユーザ入力のみがキャッシュされる一方、その他の実施態様においては、ユーザ入力に加えて、第1の自動化されたアシスタントの応答がキャッシュされる。第1の自動化されたアシスタントと第2の自動化されたアシスタントとの両方が同じデバイス上で実行されている場合、キャッシュは、デバイス上で実行されるメタアシスタント(meta assistant)ソフトウェアのレイヤにおいて実行されてよい。第1の自動化されたアシスタントおよび第2の自動化されたアシスタントが同じデバイス上で実行されていない場合、第2の自動化されたアシスタントは、(たとえば、第1の自動化されたアシスタントのホットワードを検出するホットワードモデルを使用して、または常時稼働のASRを使用して)第1の自動化されたアシスタントに向けられた問い合わせを検出してよい。
一部の実装においては、2つの自動化されたアシスタントが同じデバイスに位置している場合、メタアシスタントは、第1の自動化されたアシスタントから第2の自動化されたアシスタントへのフェイルオーバーを可能にしてよい。メタアシスタントは、オンデマンドで(すなわち、問い合わせ失敗の場合に)または第1の自動化されたアシスタントと並行して、ユーザ入力を含む音声および/または自動音声認識(ASR)の文字起こしなどの音声から導出されたその他の特徴へのアクセスを第2の自動化されたアシスタントに提供してよい。メタアシスタントは、第1の自動化されたアシスタントの応答へのアクセスを第2の自動化されたアシスタントに提供してもよい。
一部の実装においては、2つの自動化されたアシスタントが異なるデバイスに位置する場合、第2の自動化されたアシスタントと共有されたソフトウェアスタックまたはメタアシスタントとの間で利用可能な直接通信インターフェースがない場合がある。この場合、検出および反応は、第2の自動化されたアシスタントのためのソフトウェアスタック上で独立して起こる可能性がある。一部の実装において、第2の自動化されたアシスタントは、(たとえば、低いレイテンシで介入することができるように、第1の自動化されたアシスタントが失敗したか否かを観測する前に先手を打って)問い合わせの処理をいつ開始するべきかを決定してよい。第2の自動化されたアシスタントは、たとえば、同じホットワードを聞き取ることによって、またはユーザとアシスタントとのインタラクションを検出することができる常時稼働の音声認識システムを有することによって、ユーザが問い合わせのために第1の自動化されたアシスタントをトリガしたと独立して判定してよい。第2の自動化されたアシスタントは、話者識別を使用して、ユーザの音声と第1の自動化されたアシスタントの音声とを区別し、共有されたソフトウェアスタック内ではなく、第2の自動化されたアシスタントのソフトウェアスタック内で、ユーザの問い合わせの失敗した履行を特定してもよい。
一部の実装においては、第1の自動化されたアシスタントがユーザの問い合わせを処理し終えた後に、ユーザの問い合わせの履行が成功したか否かを主処理スタックが知る共有されたインターフェースが提供される場合がある。ユーザの問い合わせの履行が成功した場合、第2の自動化されたアシスタントは、それ以上のアクションを何もする必要がない。一方、ユーザの問い合わせの履行が成功しなかった場合、メタアシスタントが、キャッシュされた音声(または解釈などのその他のキャッシュされた結果)を第2の自動化されたアシスタントに提供してよい。一部の実装において、問い合わせが成功したかどうかの検出は、提供された応答を聞き、それが誤処理された問い合わせであるかどうかを推測することによって自動的に行われることも可能である。たとえば、スタックは、第1の自動化されたアシスタントからのテキストトゥスピーチ音声に関する話者識別を利用し、対応する音声応答を抽出し、それを汎用ASRシステム、それから、(たとえば、ニューラルネットワークベースまたはヒューリスティクス(heuristic)ベースの)最終的なNLUに基づく分類システムによって処理することができ、最終的なNLUに基づく分類システムは、「すみません、それはお手伝いできません」などの回答を第1の自動化されたアシスタントの失敗として解釈する。
その他の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと並行してユーザの発話を処理し、第1の自動化されたアシスタントが問い合わせにうまく応答することに失敗するかまたは問い合わせに応じて最適でないもしくは不正確な結果を返す場合に備えてユーザの問い合わせに対する答えを準備しておくことができる。第2の自動化されたアシスタントは、第1の自動化されたアシスタントが問い合わせにうまく応答することに失敗するかまたは要求に応じて最適でないもしくは不正確な結果を返すと第2の自動化されたアシスタントが判定する時点で、問い合わせに対する答えを提供することができる。一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントが問い合わせにうまく応答することに失敗するかまたは要求に応じて最適でないもしくは不正確な結果を返すと判定する前に(たとえば、第2の自動化されたアシスタントが第1の自動化されたアシスタントの後を引き継ぎ、問い合わせに応答すべきであるというメタアシスタントの決定に応じて)介入し、問い合わせに対する答えを提供してよい。
一部の実装において、第2の自動化されたアシスタントは、第2の自動化されたアシスタントが、いくつかのインタラクションの後に失敗が発生する可能性がある複数ターンの対話に介入し、答えを提供することを可能にするために、ユーザ入力と、第1の自動化されたアシスタントによって提供された答えとの両方を受動的に検出してよい。一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントによって提供された問い合わせに対する応答を補完することができるときにも応答する場合がある。
様々な実装において、1つまたは複数のプロセッサによって実施される方法が、ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行するステップと、非アクティブ状態である間に、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定するステップと、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントが、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、またはキャッシュされたオーディオデータの特徴を処理して、ユーザの要求を満たす応答を決定するステップと、第1の自動化されたアシスタントによってユーザに、ユーザの要求を満たす応答を提供するステップとを含んでよい。
一部の実装において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定するステップは、最初の応答をキャプチャするオーディオデータを受け取ることと、最初の応答をキャプチャするオーディオデータに対する話者識別を使用して、最初の応答が第2の自動化されたアシスタントによって提供されると判定することとを含んでよい。一部の実装において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定するステップは、ホットワード検出モデルを使用して、最初の応答をキャプチャするオーディオデータを処理して、最初の応答がユーザの要求を満たさないと判定することをさらに含んでよい。一部の実装において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定するステップは、自動音声認識を使用して、最初の応答をキャプチャするオーディオデータを処理してテキストを生成することと、自然言語処理技術を使用してテキストを処理して、最初の応答がユーザの要求を満たさないと判定することとをさらに含んでよい。
一部の実装において、キャッシュされたオーディオデータは、第2の自動化されたアシスタントによってユーザに提供された最初の応答をさらにキャプチャする。一部の実装において、第2の自動化されたアシスタントは、コンピューティングデバイス上で実行され、キャッシュされたオーディオデータは、コンピューティングデバイス上で実行されるメタアシスタントを介して第1の自動化されたアシスタントによって受け取られる。一部の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、キャッシュされたオーディオデータは、コンピューティングデバイスの1つまたは複数のマイクロフォンを介して第1の自動化されたアシスタントによって受け取られる。
一部の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を別のコンピューティングデバイス上で提供させる。一部の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を、コンピューティングデバイスのディスプレイ上に表示させる。
一部の追加的または代替的な実装においては、コンピュータプログラム製品が、1つまたは複数のコンピュータ可読ストレージ媒体にまとめて記憶されたプログラム命令を有する1つまたは複数のコンピュータ可読ストレージ媒体を含んでよい。プログラム命令は、ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行し、非アクティブ状態である間に、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定し、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、またはキャッシュされたオーディオデータの特徴を処理して、ユーザの要求を満たす応答を決定し、第1の自動化されたアシスタントによってユーザに、ユーザの要求を満たす応答の可用性の指示を提供するために実行可能であってよい。
一部の実装において、可用性の指示は、コンピューティングデバイスによって提供される視覚的指示である。一部の実装において、プログラム命令は、第1の自動化されたアシスタントによって、ユーザの要求を満たす応答の要求を受け取り、ユーザの要求を満たす応答の要求の受け取りに応じて、第1の自動化されたアシスタントによってユーザに、ユーザの要求を満たす応答を提供するためにさらに実行可能である。
一部の追加的または代替的な実装においては、システムが、プロセッサと、コンピュータ可読メモリと、1つまたは複数のコンピュータ可読ストレージ媒体と、1つまたは複数のコンピュータ可読ストレージ媒体にまとめて記憶されたプログラム命令とを含んでよい。プログラム命令は、ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行し、非アクティブ状態である間に、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定し、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントがユーザの要求を満たすために利用可能であるという指示をユーザに提供し、要求を満たす命令のユーザからの受け取りに応じて、第1の自動化されたアシスタントによって、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、またはキャッシュされたオーディオデータの特徴を処理して、ユーザの要求を満たす応答を決定し、第1の自動化されたアシスタントによってユーザに、ユーザの要求を満たす応答を提供するために実行可能であってよい。
上の説明は、本開示の一部の実装の概要として与えられている。それらの実装およびその他の実装のさらなる説明が、下により詳細に示される。
様々な実装は、本明細書に記載の方法のうちの1つまたは複数などの方法を実行するために1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、および/またはテンソル処理ユニット(TPU: tensor processing unit))によって実行可能な命令を記憶する非一時的コンピュータ可読ストレージ媒体を含み得る。その他の実装は、本明細書に記載の1つまたは複数の方法などの方法を実行するために記憶された命令を実行するように動作可能なプロセッサを含む自動化されたアシスタントのクライアントデバイス(たとえば、少なくとも、クラウドに基づく自動化されたアシスタント構成要素とインターフェースをとるための自動化されたアシスタントインターフェースを含むクライアントデバイス)を含み得る。さらにその他の実装は、本明細書に記載の方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のサーバのシステムを含み得る。
実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 図1Aおよび図1Bの様々な構成要素を含み、本明細書において開示される実装が実装されてよい例示的な環境のブロック図である。 その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法を示す流れ図である。 その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法を示す流れ図である。 その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法を示す流れ図である。 コンピューティングデバイスの例示的なアーキテクチャを示す図である。
図1Aおよび図1Bは、本開示の様々な態様を明示する例示的なプロセスフローを示す。クライアントデバイス110が、図1Aに示され、クライアントデバイス110を表す図1Aの四角に包含される構成要素を含む。機械学習エンジン122Aは、クライアントデバイス110の1つもしくは複数のマイクロフォンによって検出された口頭発話に対応するオーディオデータ101、ならびに/またはクライアントデバイス110の1つもしくは複数の非マイクロフォンセンサ構成要素によって検出された発話を含まない体の動き(たとえば、手のジェスチャおよび/または動き、体のジェスチャおよび/または体の動き、視線、顔の動き、口の動きなど)に対応するその他のセンサデータ102を受け取ることができる。1つまたは複数の非マイクロフォンセンサは、カメラまたはその他の視覚センサ、近接センサ、圧力センサ、加速度計、磁力計、および/またはその他のセンサを含み得る。機械学習エンジン122Aは、機械学習モデル152Aを使用して、オーディオデータ101および/またはその他のセンサデータ102を処理して、予測された出力103を生成する。本明細書において説明されるように、機械学習エンジン122Aは、ホットワード検出エンジン122B、または音声活動検出器(VAD)エンジン、エンドポイント(endpoint)検出器エンジン、および/もしくはその他のエンジンなどの代替的なエンジンであり得る。
一部の実装において、機械学習エンジン122Aが予測された出力103を生成するとき、予測された出力103は、クライアントデバイスのローカルのオンデバイスのストレージ111に、任意で、対応するオーディオデータ101および/またはその他のセンサデータ102と関連付けて記憶され得る。それらの実装のいくつかのバージョンにおいて、予測された出力は、本明細書において説明される1つまたは複数の条件が満たされるときなど、後で(たとえば、予測された出力をグラウンドトゥルース(ground truth)出力と比較することに基づいて)1組の勾配106を生成する際に利用するために勾配エンジン126によって取り出され得る。オンデバイスのストレージ111は、たとえば、読み出し専用メモリ(ROM)および/またはランダムアクセスメモリ(RAM)を含み得る。その他の実施態様において、予測された出力103は、リアルタイムで勾配エンジン126に提供され得る。
クライアントデバイス110は、予測された出力103が閾値を満たすかどうかをブロック182において判定することに基づいて、アシスタント作動エンジン124を使用して、現在休止中の自動化されたアシスタントの機能(たとえば、図2の自動化されたアシスタント295)を開始すべきかどうか、現在休止中の自動化されたアシスタントの機能を開始することを控えるべきかどうか、および/または現在アクティブな自動化されたアシスタントの機能を停止すべきかどうかの判断を行うことができる。自動化されたアシスタントの機能は、認識されたテキストを生成するための音声認識、自然言語理解(NLU)出力を生成するためのNLU、認識されたテキストおよび/もしくはNLU出力に基づく応答の生成、リモートサーバへのオーディオデータの送信、ならびに/またはリモートサーバへの認識されたテキストの送信を含み得る。たとえば、予測された出力103が確率(たとえば、0.80または0.90)であり、ブロック182における閾値が閾値の確率(たとえば、0.85)であると仮定すると、ブロック182においてクライアントデバイス110が予測された出力103(たとえば、0.90)が閾値(たとえば、0.85)を満たすと判定する場合、アシスタント作動エンジン124が、現在休止中の自動化されたアシスタントの機能を開始することができる。
一部の実装においては、図1Bに示されるように、機械学習エンジン122Aは、ホットワード検出エンジン122Bであることが可能である。特に、オンデバイスの音声認識器142、オンデバイスのNLUエンジン144、および/またはオンデバイスの履行(fulfillment)エンジン146などの様々な自動化されたアシスタントの機能が、現在休止している(すなわち、破線によって示されるように)。さらに、ホットワード検出モデル152Bを使用して、オーディオデータ101に基づいて生成された予測された出力103がブロック182において閾値を満たし、音声活動検出器128がクライアントデバイス110に向けられたユーザのスピーチを検出すると仮定する。
これらの実装のいくつかのバージョンにおいて、アシスタント作動エンジン124は、オンデバイスの音声認識器142、オンデバイスのNLUエンジン144、および/またはオンデバイスの履行エンジン146を現在休止中の自動化されたアシスタントの機能として作動させる。たとえば、オンデバイスの音声認識器142は、オンデバイスの音声認識モデル142Aを使用して、ホットワード「OK、アシスタント」ならびにホットワード「OK、アシスタント」に続く追加のコマンドおよび/またはフレーズを含む口頭発話に関してオーディオデータ101を処理して、認識されたテキスト143Aを生成することができ、オンデバイスのNLUエンジン144は、オンデバイスのNLUモデル144Aを使用して認識されたテキスト143Aを処理して、NLUデータ145Aを生成することができ、オンデバイスの履行エンジン146は、オンデバイスの履行モデル146Aを使用してNLUデータ145Aを処理して、履行データ147Aを生成することができ、クライアントデバイス110は、オーディオデータ101に応じる1つまたは複数のアクションの実行150に履行データ147Aを使用することができる。
それらの実装のその他のバージョンにおいて、アシスタント作動エンジン124は、「いいえ」、「停止」、「キャンセル」、ならびに/またはオンデバイスの音声認識器142およびオンデバイスのNLUエンジン144なしで処理され得るその他のコマンドなどの様々なコマンドを処理するために、オンデバイスの音声認識器142およびオンデバイスのNLUエンジン144を作動させずに、オンデバイスの履行エンジン146のみを作動させる。たとえば、オンデバイスの履行エンジン146は、オンデバイスの履行モデル146Aを使用してオーディオデータ101を処理して、履行データ147Aを生成し、クライアントデバイス110は、オーディオデータ101に応じる1つまたは複数のアクションの実行150に履行データ147Aを使用することができる。さらに、これらの実装のバージョンにおいて、アシスタント作動エンジン124は、最初にオンデバイスの音声認識器142のみを作動させて、オーディオデータ101がホットワード「OK、アシスタント」を含むと判定することによって、ブロック182において行われた判断が正しかった(たとえば、オーディオデータ101が本当にホットワード「OK、アシスタント」を含む)と確認するために、最初に、現在休止中の自動化された機能を作動させることができ、および/またはアシスタント作動エンジン124は、ブロック182において行われた判断が正しかった(たとえば、オーディオデータ101が本当にホットワード「OK、アシスタント」を含む)と確認するために、オーディオデータ101を1つもしくは複数のサーバ(たとえば、リモートサーバ160)に送信することができる。
図1Aに戻ると、ブロック182においてクライアントデバイス110が予測された出力103(たとえば、0.80)が閾値(たとえば、0.85)を満たすことができないと判定する場合、アシスタント作動エンジン124は、現在休止中の自動化されたアシスタントの機能を開始することを控え、および/またはすべての現在アクティブな自動化されたアシスタントの機能を停止することができる。さらに、ブロック182においてクライアントデバイス110が予測された出力103(たとえば、0.80)が閾値(たとえば、0.85)を満たすことができないと判定する場合、クライアントデバイス110は、ブロック184においてさらなるユーザインターフェース入力が受け取られるかどうかを判定することができる。たとえば、さらなるユーザインターフェース入力は、ホットワードを含む追加の口頭発話、ホットワードの代わりとして働く追加の発話を含まない体の動き、明示的な自動化されたアシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、クライアントデバイス110のデバイスの感知された「握り込み」(たとえば、クライアントデバイス110を少なくとも閾値の量の力で握り込むことが自動化されたアシスタントを呼び出すとき)、および/またはその他の明示的な自動化されたアシスタントの呼び出しであり得る。クライアントデバイス110がブロック184において受け取られたさらなるユーザインターフェース入力がないと判定する場合、クライアントデバイス110は、訂正の特定を停止し、ブロック190において終了することができる。
しかし、クライアントデバイス110がブロック184において受け取られたさらなるユーザインターフェース入力があると判定する場合、システムは、ブロック184において受け取られたさらなるユーザインターフェース入力がブロック182において行われた判断と矛盾する訂正(たとえば、ユーザが介在したまたはユーザが提供した訂正)を含むかどうかをブロック186において判定することができる。クライアントデバイス110がブロック184において受け取られたさらなるユーザインターフェース入力が訂正を含まないとブロック186において判定する場合、クライアントデバイス110は、訂正の特定を停止し、ブロック190において終了することができる。しかし、クライアントデバイス110が、ブロック184において受け取られたさらなるユーザインターフェース入力が、ブロック182において行われた最初の判断と矛盾する訂正を含むとブロック186において判定する場合、クライアントデバイス110は、グラウンドトゥルース出力105を決定することができる。
一部の実装において、勾配エンジン126は、グラウンドトゥルース出力105に対する予測された出力103に基づいて勾配106を生成することができる。たとえば、勾配エンジン126は、予測された出力103をグラウンドトゥルース出力105と比較することに基づいて勾配106を生成することができる。それらの実装のいくつかのバージョンにおいて、クライアントデバイス110は、予測された出力103および対応するグラウンドトゥルース出力105をローカルのオンデバイスのストレージ111に記憶し、勾配エンジン126は、1つまたは複数の条件が満たされたときに勾配106を生成するために予測された出力103および対応するグラウンドトゥルース出力105を取り出す。1つまたは複数の条件は、たとえば、クライアントデバイスが充電中であること、クライアントデバイスが充電の少なくとも閾値の状態であること、(1つもしくは複数のオンデバイスの温度センサに基づく)クライアントデバイスの温度が閾値未満であること、および/またはクライアントデバイスがユーザに持たれていないことを含み得る。それらの実装のその他のバージョンにおいて、クライアントデバイス110は、予測された出力103およびグラウンドトゥルース出力105をリアルタイムで勾配エンジン126に提供し、勾配エンジン126は、リアルタイムで勾配106を生成する。
さらに、勾配エンジン126は、生成された勾配106をオンデバイスの機械学習訓練エンジン132Aに提供することができる。オンデバイスの機械学習訓練エンジン132Aは、勾配106を受信するとき、オンデバイスの機械学習モデル152Aを更新するために勾配106を使用する。たとえば、オンデバイスの機械学習訓練エンジン132Aは、オンデバイスの機械学習モデル152Aを更新するために誤差逆伝播法および/またはその他の技術を利用し得る。一部の実装において、オンデバイスの機械学習訓練エンジン132Aは、勾配106と、追加の訂正に基づいてクライアントデバイス110のローカルで決定された追加の勾配とに基づいてオンデバイスの機械学習モデル152Aを更新するためにバッチ技術を利用し得ることが留意される。
さらに、クライアントデバイス110は、生成された勾配106をリモートシステム160に送信することができる。リモートシステム160が勾配106を受信するとき、リモートシステム160のリモート訓練エンジン162は、大域的な音声認識モデル152A1の大域的な重みを更新するために勾配106および追加のクライアントデバイス170からの追加の勾配107を使用する。追加のクライアントデバイス170からの追加の勾配107は、勾配106に関連して上で説明されたのと同じまたは同様の技術に基づいて(しかし、それらのクライアントデバイスに特有のローカルで特定された訂正に基づいて)それぞれ生成され得る。
更新配信エンジン164は、1つまたは複数の条件の満足に応じて、108によって示されるように、更新された大域的な重みおよび/または更新された大域的な音声認識モデル自体をクライアントデバイス110および/またはその他のクライアントデバイスに提供することができる。1つまたは複数の条件は、たとえば、更新された重みおよび/または更新された音声認識モデルが最後に提供されてからの閾値の継続時間および/または訓練の量を含み得る。1つまたは複数の条件は、追加的または代替的に、たとえば、更新された重みおよび/または更新された音声認識モデルが最後に提供されてからの更新された音声認識モデルへの測定された改善および/または閾値の継続時間の経過を含み得る。更新された重みがクライアントデバイス110に提供されるとき、クライアントデバイス110は、オンデバイスの機械学習モデル152Aの重みを更新された重みによって置き換えることができる。更新された大域的な音声認識モデルがクライアントデバイス110に提供されるとき、クライアントデバイス110は、オンデバイスの機械学習モデル152Aを更新された大域的な音声認識モデルによって置き換えることができる。
一部の実装において、オンデバイスの機械学習モデル152Aは、クライアントデバイス110の地理的領域および/もしくはその他のプロパティならびに/またはクライアントデバイス110のユーザに基づいて、クライアントデバイス110における記憶および使用のために(たとえば、リモートシステム160またはその他の構成要素によって)送信される。たとえば、オンデバイスの機械学習モデル152Aは、所与の言語のためのN個の利用可能な機械学習モデルのうちの1つであることが可能であるが、特定の地理的領域に固有である訂正に基づいて訓練され、クライアントデバイス110が主に特定の地理的領域内にあることに基づいてクライアントデバイス110に提供され得る。
ここで図2に目を向けると、図1Aおよび図1Bの様々なオンデバイスの機械学習エンジンが1つまたは複数の自動化されたアシスタントクライアント240(たとえば、第1の自動化されたアシスタント、第2の自動化されたアシスタント、およびメタアシスタント)の一部として含まれる(または自動化されたアシスタントクライアント240と通信する)実装におけるクライアントデバイス110が示される。図1Aおよび図1Bの様々なオンデバイスの機械学習エンジンとインターフェースをとるそれぞれの機械学習モデルも、示される。図1Aおよび図1Bのその他の構成要素は、簡単にするために図2に示されない。図2は、図1Aおよび図1Bの様々なオンデバイスの機械学習エンジンおよびそれらのそれぞれの機械学習モデルが、様々なアクションを実行する際に自動化されたアシスタントクライアント240によってどのようにして利用され得るかの一例を示す。
図2のクライアントデバイス110は、1つもしくは複数のマイクロフォン211、1つもしくは複数のスピーカ212、1つもしくは複数のカメラおよび/もしくはその他の視覚構成要素213、ならびにディスプレイ214(たとえば、タッチ式ディスプレイ)と共に示される。クライアントデバイス110は、1つまたは複数のマイクロフォン211によってキャプチャされたオーディオデータに加えて、その他のセンサデータを生成するために使用される圧力センサ、近接センサ、加速度計、磁力計、および/またはその他のセンサをさらに含んでよい。クライアントデバイス110は、自動化されたアシスタントクライアント240を少なくとも選択的に実行する。自動化されたアシスタントクライアント240は、図2の例においては、オンデバイスのホットワード検出エンジン122B、オンデバイスの音声認識器142、オンデバイスの自然言語理解(NLU)エンジン144、およびオンデバイスの履行エンジン146を含む。自動化されたアシスタントクライアント240は、音声キャプチャエンジン242および視覚キャプチャエンジン244をさらに含む。自動化されたアシスタントクライアント240は、音声活動検出器(VAD)エンジン、エンドポイント検出器エンジン、および/またはその他のエンジンなどの追加的なおよび/または代替的なエンジンを含み得る。一部の実装において、自動化されたアシスタントクライアント240の1つまたは複数のインスタンスは、図2に示された要素のうちの1つまたは複数を省略する場合がある。
1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素280は、任意で、290に全体的に示される1つまたは複数のローカルエリアおよび/または広域ネットワーク(たとえば、インターネット)を介してクライアントデバイス110に通信可能なように結合される1つまたは複数のコンピューティングシステム(集合的に「クラウド」コンピューティングシステムと呼ばれる)に実装され得る。クラウドに基づく自動化されたアシスタント構成要素280は、たとえば、高性能なサーバのクラスタによって実装され得る。
様々な実装において、自動化されたアシスタントクライアント240のインスタンスは、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素280とのそのインスタンスのインタラクションを通して、ユーザの観点から見てユーザが人とコンピュータとのインタラクション(たとえば、口頭インタラクション、ジェスチャに基づくインタラクション、および/またはタッチに基づくインタラクション)に従事する可能性がある自動化されたアシスタント295の論理的なインスタンスであるように見えるものを形成してよい。
クライアントデバイス110は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイル電話コンピューティングデバイス、ユーザの乗り物のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンのインタラクティブスピーカ、スマートテレビ(もしくは自動化されたアシスタントの能力を有するネットワークに接続されたドングルを備える普通のテレビ)などのスマート家電、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザのメガネ、仮想もしくは拡張現実コンピューティングデバイス)であることが可能である。追加的および/または代替的なクライアントデバイスが、提供される場合がある。
1つまたは複数の視覚構成要素213は、モノグラフィックカメラ(monographic camera)、ステレオグラフィックカメラ(stereographic camera)、LIDAR構成要素(またはその他のレーザーに基づく構成要素)、レーダー構成要素などの様々な形態を取り得る。1つまたは複数の視覚構成要素213は、たとえば、クライアントデバイス110が展開される環境の視覚フレーム(vision frame)(たとえば、画像フレーム、レーザーに基づく視覚フレーム)をキャプチャするために視覚キャプチャエンジン244によって使用されてよい。一部の実装において、そのような視覚フレームは、ユーザがクライアントデバイス110の近くにいるかどうかおよび/またはクライアントデバイスに対するユーザ(たとえば、ユーザの顔)の距離を判定するために利用され得る。そのような判定は、たとえば、図2に示された様々なオンデバイスの機械学習エンジンおよび/またはその他のエンジンを作動させるべきかどうかを判定する際に利用され得る。
音声キャプチャエンジン242は、マイクロフォン211によってキャプチャされるユーザのスピーチおよび/またはその他のオーディオデータをキャプチャするように構成され得る。さらに、クライアントデバイス110は、マイクロフォン211によってキャプチャされたオーディオデータに加えて、その他のセンサデータを生成するために使用される圧力センサ、近接センサ、加速度計、磁力計、および/またはその他のセンサを含んでよい。本明細書において説明されるように、そのようなオーディオデータおよびその他のセンサデータは、1つもしくは複数の現在休止中の自動化されたアシスタントの機能を開始すべきかどうか、1つもしくは複数の現在休止中の自動化されたアシスタントの機能の開始を控えるべきかどうか、および/または1つもしくは複数の現在アクティブな自動化されたアシスタントの機能を停止すべきかどうかを判定するためにホットワード検出エンジン122B、および/またはその他のエンジンによって利用され得る。自動化されたアシスタントの機能は、オンデバイスの音声認識器142、オンデバイスのNLUエンジン144、オンデバイスの履行エンジン146、ならびに追加的および/または代替的なエンジンを含み得る。たとえば、オンデバイスの音声認識器142は、オンデバイスの音声認識モデル142Aを利用して、口頭発話をキャプチャするオーディオデータを処理して、口頭発話に対応する認識されたテキスト143Aを生成することができる。オンデバイスのNLUエンジン144は、任意でオンデバイスのNLUモデル144Aを利用して、認識されたテキスト143Aに対してオンデバイスの自然言語理解を実行して、NLUデータ145Aを生成する。NLUデータ145Aは、たとえば、口頭発話に対応する意図と、任意で、意図に関するパラメータ(たとえば、スロット値)とを含み得る。さらに、オンデバイスの履行エンジン146は、任意でオンデバイスの履行モデル146Aを利用して、NLUデータ145Aに基づいて履行データ147Aを生成する。この履行データ147Aは、口頭発話に対するローカルのおよび/もしくはリモートの応答(たとえば、答え)、口頭発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、口頭発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応するリモートシステムを介して)送信するコマンド、ならびに/または口頭発話に基づいて実行するその他の解決アクションを定義し得る。それから、履行データ147Aは、口頭発話を解決するための決定されたアクションのローカルのおよび/またはリモートの遂行/実行のために提供される。実行は、たとえば、ローカルのおよび/もしくはリモートの応答をレンダリングすること(たとえば、(任意でローカルのテキストトゥスピーチモジュールを利用して)視覚的におよび/もしくは聞こえるようにレンダリングすること)、ローカルにインストールされたアプリケーションとインタラクションすること、IoTデバイスにコマンドを送信すること、ならびに/またはその他のアクションを含み得る。
ディスプレイ214は、オンデバイスの音声認識器122からの認識されたテキスト143Aおよび/もしくはさらなる認識されたテキスト143B、ならびに/または実行150からの1つもしくは複数の結果を表示するために利用され得る。ディスプレイ214は、さらに、自動化されたアシスタントクライアント240からの応答の視覚的な部分がレンダリングされるユーザインターフェース出力構成要素のうちの1つであることが可能である。
一部の実装において、クラウドに基づく自動化されたアシスタント構成要素280は、音声認識を実行するリモートのASRエンジン281、自然言語理解を実行するリモートのNLUエンジン282、および/または履行を生成するリモートの履行エンジン283を含み得る。ローカルのまたはリモートで決定された履行データに基づいてリモートの実行を行うリモート実行モジュールも、任意で含まれ得る。追加的および/または代替的なリモートのエンジンが、含まれ得る。本明細書において説明されるように、様々な実装において、オンデバイスの音声処理、オンデバイスのNLU、オンデバイスの履行、および/またはオンデバイスの実行は、少なくとも、(口頭発話を解決するためにクライアント-サーバの往復が必要とされないことによる)口頭発話を解決するときにそれらが提供するレイテンシおよび/またはネットワーク使用の削減が理由で優先され得る。しかし、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素280は、少なくとも選択的に利用され得る。たとえば、そのような構成要素は、オンデバイスの構成要素と並列に利用されることが可能であり、そのような構成要素からの出力は、ローカルの構成要素が失敗するときに利用されることが可能である。たとえば、オンデバイスの履行エンジン146は、(たとえば、クライアントデバイス110の比較的限られたリソースが原因で)特定の状況において失敗する可能性があり、リモートの履行エンジン283は、そのような状況で履行データを生成するためにクラウドのより強固なリソースを利用することができる。リモートの履行エンジン283は、オンデバイスの履行エンジン146と並列して動作させられることが可能であり、その結果は、オンデバイスの履行が失敗するときに利用されることが可能であり、またはリモートの履行エンジン283は、オンデバイスの履行エンジン146の失敗の判定に応じて呼び出されることが可能である。
様々な実装において、NLUエンジン(オンデバイスおよび/またはリモート)は、認識されたテキストの1つまたは複数の注釈および自然言語入力の語のうちの1つまたは複数(たとえば、すべて)を含むNLUデータを生成することができる。一部の実装において、NLUエンジンは、自然言語入力内の様々な種類の文法的情報を特定し、注釈を付けるように構成される。たとえば、NLUエンジンは、個々の単語を形態素に分割するおよび/または形態素にたとえばそれらの形態素のクラスによって注釈を付ける場合がある形態モジュールを含んでよい。NLUエンジンは、語にそれらの語の文法的役割によって注釈を付けるように構成された品詞タガーも含んでよい。また、たとえば、一部の実装において、NLUエンジンは、追加的および/また代替的に、自然言語入力内の語の間の統語的関係を決定するように構成された依存関係パーサを含んでよい。
一部の実装において、NLUエンジンは、追加的および/また代替的に、(たとえば、文学のキャラクタ、有名人、著名人などを含む)人、組織、(現実のおよび架空の)場所などへの言及などの1つまたは複数のセグメント内のエンティティ(entity)の言及に注釈を付けるように構成されたエンティティタガーを含んでよい。一部の実装において、NLUエンジンは、追加的および/また代替的に、1つまたは複数の状況から得られる手掛かり(contextual cue)に基づいて同じエンティティへの言及をグループ分けするかまたは「クラスタリングする」ように構成された相互参照(coreference)リゾルバ(図示せず)を含んでよい。一部の実装において、NLUエンジンの1つまたは複数の構成要素は、NLUエンジンの1つまたは複数のその他の構成要素からの注釈に依拠する場合がある。
NLUエンジンは、自動化されたアシスタント295とのインタラクションに従事するユーザの意図を決定するように構成される意図マッチャをさらに含んでよい。意図マッチャは、ユーザの意図を決定するために様々な技術を使用し得る。一部の実装において、意図マッチャは、たとえば文法と応答の意図との間の複数のマッピングを含む1つまたは複数のローカルのおよび/またはリモートのデータ構造にアクセスすることができる場合がある。たとえば、マッピングに含まれる文法は、選択されるおよび/または経時的に学習されることが可能であり、ユーザのよくある意図を表す可能性がある。たとえば、1つの文法「play <artist>」が、<artist>による音楽をクライアントデバイス110上で再生させる応答アクションを呼び出す意図にマッピングされる場合がある。別の文法「[weather | forecast] today」は、「what's the weather today」および「what's the forecast for today?」などのユーザの問い合わせにマッチング可能である可能性がある。文法に加えてまたは文法の代わりに、一部の実装において、意図マッチャは、1つまたは複数の訓練された機械学習モデルを単独でまたは1つもしくは複数の文法と組み合わせて使用し得る。これらの訓練された機械学習モデルは、たとえば、口頭発話からの認識されたテキストを削減された次元の空間に埋め込み、それから、たとえば、ユークリッド距離、コサイン類似度などの技術を使用してどのその他の埋め込み(およびしたがって意図)が最も近いかを判定することによって意図を特定するように訓練され得る。上の「play <artist>」の例示的な文法に見られるように、一部の文法は、スロット値(または「パラメータ」)によって埋められ得るスロット(たとえば、<artist>)を有する。スロット値は、様々な方法で決定されてよい。多くの場合、ユーザは、スロット値を先回りして与える。たとえば、文法「Order me a <topping> pizza」に関して、ユーザは、フレーズ「order me a sausage pizza」と言う見込みが大きい可能性があり、その場合、スロット<topping>は、自動的に埋められる。その他のスロット値が、たとえば、ユーザの位置、現在レンダリングされているコンテンツ、ユーザのプリファレンス、および/またはその他の手掛かりに基づいて推測され得る。
履行エンジン(ローカルおよび/またはリモート)は、NLUエンジンによって出力される予測された/推定された意図および任意の関連するスロット値を受け取り、意図を履行する(または「解決する」)ように構成され得る。様々な実装において、ユーザの意図の履行(または「解決」)は、様々な履行情報(履行データとも呼ばれる)を、たとえば、履行エンジンによって生成させる/取得させる場合がある。これは、口頭発話に対するローカルのおよび/もしくはリモートの応答(たとえば、答え)、口頭発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、口頭発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応するリモートシステムを介して)送信するコマンド、ならびに/または口頭発話に基づいて実行するその他の解決アクションを決定することを含み得る。そのとき、オンデバイスの履行は、口頭発話を解決するための決定されたアクションのローカルのおよび/またはリモートの遂行/実行を開始し得る。
図3は、その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法300を示す流れ図を示す。便宜上、方法300の動作は、動作を実行するシステムに関連して説明される。方法300のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法300の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック310において、システムは、ユーザによって動作されるコンピューティングデバイス(たとえば、クライアントデバイス)において少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行する。
ブロック320において、非アクティブ状態である間に、第1の自動化されたアシスタントは、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する。一部の実装において、ブロック320で検出される、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗は、ユーザの要求が満たされ得ないことを示す第2の自動化されたアシスタントによる応答(たとえば、「すみません」、「それはできません」など)を含む場合がある。その他の実装において、ブロック320で検出される失敗は、第1の自動化されたアシスタントが、ユーザの要求に応じて第2の自動化されたアシスタントによって提供された最適でない、不正確な、または不完全な結果であると判定する応答を含む場合もある。一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと平行してクライアントデバイス上で実行されている場合がある。その他の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントが実行されているクライアントデバイスの近くに(たとえば、同じ部屋内に)ある別のクライアントデバイス上で実行されている場合がある。
ブロック320の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗しなかったと判定する場合、システムはブロック330に進み、フローは終了する。一方、ブロック320の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定する場合、システムはブロック340に進む。
引き続きブロック320を参照すると、一部の実装においては、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する際に、第1の自動化されたアシスタントは、最初の応答をキャプチャするオーディオデータを受け取り、次に、最初の応答をキャプチャするオーディオデータに対する話者識別を使用して、最初の応答が第2の自動化されたアシスタントによって提供される(たとえば、最初の応答が第2の自動化されたアシスタントに関連することが知られている音声で話された)か否かを判定する。第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されなかったと判定する場合、システムはブロック330に進み、フローは終了する。一方、第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されたと判定する場合、第1の自動化されたアシスタントは、最初の応答が、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗を示すか否かを判定する。
一部の実装において、第1の自動化されたアシスタントは、最初の応答がユーザの要求を満たすか否かを(たとえば、「すみません」、「それはできません」などの失敗ホットワードを検出することによって)判定するために、ホットワード検出モデルを使用して、最初の応答をキャプチャするオーディオデータを処理する。その他の実装において、第1の自動化されたアシスタントは、自動音声認識を使用して、最初の応答をキャプチャするオーディオデータを処理してテキストを生成し、それから、自然言語処理技術を使用してテキストを処理して、最初の応答がユーザの要求を満たすか否かを判定する。一部の実装においては、自然言語処理技術が、最適でない、不正確な、または不完全な結果を特定するために使用され、最適でない、不正確な、または不完全な結果を特定することに基づいて、第1の自動化されたアシスタントは、最初の応答がユーザの要求を満たすことに失敗すると判定してよい。
ブロック340において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントは、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータを処理する、および/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を処理して、ユーザの要求を満たす応答を決定する。一部の実装においては、ブロック340で、第1の自動化されたアシスタントがユーザの要求を満たす応答を決定することができない場合、システムはブロック330に進み、フローは終了する。一部の実装において、キャッシュされたオーディオデータは、第2の自動化されたアシスタントによってユーザに提供された最初の応答をさらにキャプチャする。
一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと同じコンピューティングデバイス上で実行され、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)は、コンピューティングデバイス上で実行されるメタアシスタントを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、キャッシュされたオーディオデータは、コンピューティングデバイスの1つまたは複数のマイクロフォンを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、第1の自動化されたアシスタントは、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を、アプリケーションプログラミングインターフェース(API)を介して受け取る。
ブロック350において、第1の自動化されたアシスタントは、(ブロック340において決定された)ユーザの要求を満たす応答をユーザに提供する。一部の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を、第1の自動化されたアシスタントが実行されているコンピューティングデバイス上で(たとえば、スピーカを介して、またはコンピューティングデバイスのディスプレイ上に応答を表示することによって)提供させる。その他の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を別のコンピューティングデバイス上で(たとえば、スピーカまたはディスプレイを介して)提供させる。
図4は、その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法400を示す流れ図を示す。便宜上、方法400の動作は、動作を実行するシステムに関連して説明される。方法400のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法400の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック410において、システムは、ユーザによって動作されるコンピューティングデバイス(たとえば、クライアントデバイス)において少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行する。
ブロック420において、非アクティブ状態である間に、第1の自動化されたアシスタントは、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する。一部の実装において、ブロック420で検出される、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗は、ユーザの要求が満たされ得ないことを示す第2の自動化されたアシスタントによる応答(たとえば、「すみません」、「それはできません」など)を含む場合がある。その他の実装において、ブロック420で検出される失敗は、第1の自動化されたアシスタントが、ユーザの要求に応じて第2の自動化されたアシスタントによって提供された最適でない、不正確な、または不完全な結果であると判定する応答を含む場合もある。一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと平行してクライアントデバイス上で実行されている場合がある。その他の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントが実行されているクライアントデバイスの近くに(たとえば、同じ部屋内に)ある別のクライアントデバイス上で実行されている場合がある。
ブロック420の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗しなかったと判定する場合、システムはブロック430に進み、フローは終了する。一方、ブロック420の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定する場合、システムはブロック440に進む。
引き続きブロック420を参照すると、一部の実装においては、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する際に、第1の自動化されたアシスタントは、最初の応答をキャプチャするオーディオデータを受け取り、次に、最初の応答をキャプチャするオーディオデータに対する話者識別を使用して、最初の応答が第2の自動化されたアシスタントによって提供されるか否かを判定する。第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されなかったと判定する場合、システムはブロック430に進み、フローは終了する。一方、第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されたと判定する場合、第1の自動化されたアシスタントは、最初の応答が、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗を示すか否かを判定する。
一部の実装において、第1の自動化されたアシスタントは、最初の応答がユーザの要求を満たすか否かを(たとえば、「すみません」、「それはできません」などの失敗ホットワードを検出することによって)判定するために、ホットワード検出モデルを使用して、最初の応答をキャプチャするオーディオデータを処理する。その他の実装において、第1の自動化されたアシスタントは、自動音声認識を使用して、最初の応答をキャプチャするオーディオデータを処理してテキストを生成し、それから、自然言語処理技術を使用してテキストを処理して、最初の応答がユーザの要求を満たすか否かを判定する。
ブロック440において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントは、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータを処理する、および/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を処理して、ユーザの要求を満たす応答を決定する。一部の実装においては、ブロック440で、第1の自動化されたアシスタントがユーザの要求を満たす応答を決定することができない場合、システムはブロック430に進み、フローは終了する。一部の実装において、キャッシュされたオーディオデータは、第2の自動化されたアシスタントによってユーザに提供された最初の応答をさらにキャプチャする。
一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと同じコンピューティングデバイス上で実行され、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)は、コンピューティングデバイス上で実行されるメタアシスタントを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、キャッシュされたオーディオデータは、コンピューティングデバイスの1つまたは複数のマイクロフォンを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、第1の自動化されたアシスタントは、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を、アプリケーションプログラミングインターフェース(API)を介して受け取る。
ブロック450において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答の可用性の指示をユーザに提供する。一部の実装において、可用性の指示は、第1の自動化されたアシスタントが実行されているコンピューティングデバイスによって提供される視覚的指示(たとえば、ディスプレイもしくはライト上の指示)および/またはオーディオ指示(たとえば、チャイム)である。
ブロック460において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答の要求が(たとえば、ユーザから)受け取られるか否かを判定する。ブロック460の反復において、第1の自動化されたアシスタントが、ユーザの要求を満たす応答の要求が受け取られなかったと判定する場合、システムはブロック430に進み、フローは終了する。一方、ブロック460の反復において、第1の自動化されたアシスタントが、ユーザの要求を満たす応答の要求が受け取られたと判定する場合、システムはブロック470に進む。
ブロック470において、ユーザの要求を満たす応答の要求の受け取りに応じて、第1の自動化されたアシスタントは、(ブロック440において決定された)ユーザの要求を満たす応答を提供する。一部の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を、第1の自動化されたアシスタントが実行されているコンピューティングデバイス上で(たとえば、スピーカを介して、またはコンピューティングデバイスのディスプレイ上に応答を表示することによって)提供させる。その他の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を別のコンピューティングデバイス上で(たとえば、スピーカまたはディスプレイを介して)提供させる。
図5は、その他の自動化されたアシスタントにおける失敗を検出し、処理する例示的な方法500を示す流れ図を示す。便宜上、方法500の動作は、動作を実行するシステムに関連して説明される。方法500のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法500の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック510において、システムは、ユーザによって動作されるコンピューティングデバイス(たとえば、クライアントデバイス)において少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行する。
ブロック520において、非アクティブ状態である間に、第1の自動化されたアシスタントは、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する。一部の実装において、ブロック520で検出される、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗は、ユーザの要求が満たされ得ないことを示す第2の自動化されたアシスタントによる応答(たとえば、「すみません」、「それはできません」など)を含む場合がある。その他の実装において、ブロック520で検出される失敗は、第1の自動化されたアシスタントが、ユーザの要求に応じて第2の自動化されたアシスタントによって提供された最適でない、不正確な、または不完全な結果であると判定する応答を含む場合もある。一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと平行してクライアントデバイス上で実行されている場合がある。その他の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントが実行されているクライアントデバイスの近くに(たとえば、同じ部屋内に)ある別のクライアントデバイス上で実行されている場合がある。
ブロック520の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗しなかったと判定する場合、システムはブロック530に進み、フローは終了する。一方、ブロック520の反復において、第1の自動化されたアシスタントが、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したと判定する場合、システムはブロック540に進む。
引き続きブロック520を参照すると、一部の実装においては、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したか否かを判定する際に、第1の自動化されたアシスタントは、最初の応答をキャプチャするオーディオデータを受け取り、次に、最初の応答をキャプチャするオーディオデータに対する話者識別を使用して、最初の応答が第2の自動化されたアシスタントによって提供されるか否かを判定する。第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されなかったと判定する場合、システムはブロック530に進み、フローは終了する。一方、第1の自動化されたアシスタントが、最初の応答が第2の自動化されたアシスタントによって提供されたと判定する場合、第1の自動化されたアシスタントは、最初の応答が、第2の自動化されたアシスタントがユーザの要求を満たすことの失敗を示すか否かを判定する。
一部の実装において、第1の自動化されたアシスタントは、最初の応答がユーザの要求を満たすか否かを(たとえば、「すみません」、「それはできません」などの失敗ホットワードを検出することによって)判定するために、ホットワード検出モデルを使用して、最初の応答をキャプチャするオーディオデータを処理する。その他の実装において、第1の自動化されたアシスタントは、自動音声認識を使用して、最初の応答をキャプチャするオーディオデータを処理してテキストを生成し、それから、自然言語処理技術を使用してテキストを処理して、最初の応答がユーザの要求を満たすか否かを判定する。
ブロック540において、第2の自動化されたアシスタントがユーザの要求を満たすことに失敗したという判定に応じて、第1の自動化されたアシスタントは、第1の自動化されたアシスタントがユーザの要求を満たすために利用可能であるという指示をユーザに提供する。一部の実装において、指示は、第1の自動化されたアシスタントが実行されているコンピューティングデバイスによって提供される視覚的指示(たとえば、ディスプレイもしくはライト上の指示)および/またはオーディオ指示(たとえば、チャイム)である。
ブロック550において、第1の自動化されたアシスタントは、要求を満たす命令がユーザから受け取られるか否かを判定する。ブロック550の反復において、第1の自動化されたアシスタントが、要求を満たす命令がユーザから受け取られなかったと判定する場合、システムはブロック530に進み、フローは終了する。一方、ブロック550の反復において、第1の自動化されたアシスタントが、要求を満たす命令がユーザから受け取られたと判定する場合、システムはブロック560に進む。
ブロック560において、要求を満たす命令のユーザからの受け取りに応じて、第1の自動化されたアシスタントは、第2の自動化されたアシスタントが満たすことに失敗した要求を含むユーザの口頭発話をキャプチャするキャッシュされたオーディオデータを処理する、および/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を処理して、ユーザの要求を満たす応答を決定する。一部の実装において、処理されるキャッシュされたオーディオデータは、第2の自動化されたアシスタントによってユーザに提供された最初の応答をさらにキャプチャする。
一部の実装において、第2の自動化されたアシスタントは、第1の自動化されたアシスタントと同じコンピューティングデバイス上で実行され、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)は、コンピューティングデバイス上で実行されるメタアシスタントを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、キャッシュされたオーディオデータは、コンピューティングデバイスの1つまたは複数のマイクロフォンを介して第1の自動化されたアシスタントによって受け取られる。その他の実装において、第2の自動化されたアシスタントは、別のコンピューティングデバイス上で実行され、第1の自動化されたアシスタントは、キャッシュされたオーディオデータおよび/またはオーディオデータから導出された特徴(たとえば、ASRの文字起こし)を、アプリケーションプログラミングインターフェース(API)を介して受け取る。
ブロック570において、第1の自動化されたアシスタントは、(ブロック560において決定された)ユーザの要求を満たす応答をユーザに提供する。一部の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を、第1の自動化されたアシスタントが実行されているコンピューティングデバイス上で(たとえば、スピーカを介して、またはコンピューティングデバイスのディスプレイ上に応答を表示することによって)提供させる。その他の実装において、第1の自動化されたアシスタントは、ユーザの要求を満たす応答を別のコンピューティングデバイス上で(たとえば、スピーカまたはディスプレイを介して)提供させる。
図6は、本明細書において説明される技術の1つまたは複数の態様を実行するために任意で利用されてよい例示的なコンピューティングデバイス610のブロック図である。一部の実装においては、クライアントデバイス、クラウドに基づく自動化されたアシスタント構成要素、および/またはその他の構成要素のうちの1つまたは複数が、例示的なコンピューティングデバイス610の1つまたは複数の構成要素を含んでよい。
概して、コンピューティングデバイス610は、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイルストレージサブシステム626を含むストレージサブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含んでよい。入力および出力デバイスは、コンピューティングデバイス610とのユーザのインタラクションを可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、その他のコンピューティングデバイスの対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含んでよい。概して、用語「入力デバイス」の使用は、コンピューティングデバイス610または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、または音声出力デバイスなどの非視覚的表示を含んでよい。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含んでよい。ディスプレイサブシステムは、音声出力デバイスを介するなどして非視覚的表示を提供する場合もある。概して、用語「出力デバイス」の使用は、コンピューティングデバイス610からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するすべての可能な種類のデバイスおよび方法を含むように意図される。
ストレージサブシステム624は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム624は、本明細書において開示される方法の選択された態様を実行するためならびに図1Aおよび図1Bに示された様々な構成要素を実装するための論理を含む可能性がある。
これらのソフトウェアモジュールは、概して、プロセッサ614によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム624に含まれるメモリサブシステム625は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM)630と、決まった命令が記憶される読み出し専用メモリ(ROM)632とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム626は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体をともなうフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含んでよい。特定の実装の機能を実装するモジュールは、ストレージサブシステム624内のファイルストレージサブシステム626によって、またはプロセッサ614によりアクセスされ得るその他のマシンに記憶される場合がある。
バスサブシステム612は、コンピューティングデバイス610の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する場合がある。
コンピューティングデバイス610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であることが可能である。コンピュータおよびネットワークの変わり続ける性質が原因で、図6に示されたコンピューティングデバイス610の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図6に示されたコンピューティングデバイスよりも多くのまたは図6に示されたコンピューティングデバイスよりも少ない構成要素を有するコンピューティングデバイス610の多くのその他の構成が、可能である。
本明細書において説明されるシステムがユーザについての個人情報を収集するかもしくはそうでなければ監視するか、または個人情報および/もしくは監視された情報を利用する場合がある状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザのプリファレンス、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信するべきかどうかおよび/またはどのようにして受信するべきかを制御する機会を与えられてよい。また、特定のデータが、個人を特定することができる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される場合がある。たとえば、ユーザのアイデンティティ(identity)が、個人を特定することができる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される場合があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理されてよい。したがって、ユーザは、情報がユーザについてどのようにして収集されるかおよび/または使用されるかを制御することができる場合がある。
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、主張されたのとは異なる方法で実施される可能性があることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
101 オーディオデータ
102 その他のセンサデータ
103 予測された出力
105 グラウンドトゥルース出力
106 勾配
107 追加の勾配
110 クライアントデバイス
111 オンデバイスのストレージ
122A 機械学習エンジン
122B ホットワード検出エンジン
124 アシスタント作動エンジン
126 勾配エンジン
128 音声活動検出器
132A オンデバイスの機械学習訓練エンジン
142 オンデバイスの音声認識器
142A オンデバイスの音声認識モデル
143A 認識されたテキスト
143B さらなる認識されたテキスト
144 オンデバイスのNLUエンジン
144A オンデバイスのNLUモデル
145A NLUデータ
146 オンデバイスの履行エンジン
146A オンデバイスの履行モデル
147A 履行データ
150 実行
152A 機械学習モデル
152A1 大域的な音声認識モデル
152B ホットワード検出モデル
160 リモートサーバ、リモートシステム
162 リモート訓練エンジン
164 更新配信エンジン
170 追加のクライアントデバイス
211 マイクロフォン
212 スピーカ
213 視覚構成要素
214 ディスプレイ
240 自動化されたアシスタントクライアント
242 音声キャプチャエンジン
244 視覚キャプチャエンジン
280 クラウドに基づく自動化されたアシスタント構成要素
281 リモートのASRエンジン
282 リモートのNLUエンジン
283 リモートの履行エンジン
295 自動化されたアシスタント
300 方法
400 方法
500 方法
610 コンピューティングデバイス
612 バスサブシステム
614 プロセッサ
616 ネットワークインターフェースサブシステム
620 ユーザインターフェース出力デバイス
622 ユーザインターフェース入力デバイス
624 ストレージサブシステム
625 メモリサブシステム
626 ファイルストレージサブシステム
630 RAM
632 ROM

Claims (24)

1つまたは複数のプロセッサによって実施される方法であって、
ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行するステップと、
前記非アクティブ状態である間に、前記第1の自動化されたアシスタントによって、第2の自動化されたアシスタントが前記ユーザの要求を満たすことに失敗したと判定するステップと、
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したという判定に応じて、前記第1の自動化されたアシスタントが、前記第2の自動化されたアシスタントが満たすことに失敗した前記要求を含む前記ユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、または前記キャッシュされたオーディオデータの特徴を処理して、前記ユーザの前記要求を満たす応答を決定するステップと、
前記第1の自動化されたアシスタントによって前記ユーザに、前記ユーザの前記要求を満たす前記応答を提供するステップとを含む、方法。
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したと判定するステップが、
最初の応答をキャプチャするオーディオデータを受け取ることと、
前記最初の応答をキャプチャする前記オーディオデータに対する話者識別を使用して、前記最初の応答が前記第2の自動化されたアシスタントによって提供されると判定することとを含む請求項1に記載の方法。
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したと判定するステップが、さらに、ホットワード検出モデルを使用して、前記最初の応答をキャプチャする前記オーディオデータを処理して、前記最初の応答が前記ユーザの前記要求を満たさないと判定することを含む請求項2に記載の方法。
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したと判定するステップが、さらに、
自動音声認識を使用して、前記最初の応答をキャプチャする前記オーディオデータを処理してテキストを生成することと、
自然言語処理技術を使用して前記テキストを処理して、前記最初の応答が前記ユーザの前記要求を満たさないと判定することとを含む請求項2に記載の方法。
前記キャッシュされたオーディオデータが、前記第2の自動化されたアシスタントによって前記ユーザに提供された最初の応答をさらにキャプチャする請求項1から4のいずれか一項に記載の方法。
前記第2の自動化されたアシスタントが、前記コンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイス上で実行されるメタアシスタントを介して前記第1の自動化されたアシスタントによって受け取られる請求項1から5のいずれか一項に記載の方法。
前記第2の自動化されたアシスタントが、別のコンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイスの1つまたは複数のマイクロフォンを介して前記第1の自動化されたアシスタントによって受け取られる請求項1から6のいずれか一項に記載の方法。
前記第1の自動化されたアシスタントが、前記ユーザの前記要求を満たす前記応答を、別のコンピューティングデバイス上で提供させる請求項1から7のいずれか一項に記載の方法。
前記第1の自動化されたアシスタントが、前記ユーザの前記要求を満たす前記応答を、前記コンピューティングデバイスのディスプレイ上に表示させる請求項1から8のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実施される方法であって、
ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行するステップと、
前記非アクティブ状態である間に、前記第1の自動化されたアシスタントによって、第2の自動化されたアシスタントが前記ユーザの要求を満たすことに失敗したと判定するステップと、
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したという判定に応じて、前記第1の自動化されたアシスタントによって、前記第2の自動化されたアシスタントが満たすことに失敗した前記要求を含む前記ユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、または前記キャッシュされたオーディオデータの特徴を処理して、前記ユーザの前記要求を満たす応答を決定するステップと、
前記第1の自動化されたアシスタントによって前記ユーザに、前記ユーザの前記要求を満たす前記応答の可用性の指示を提供するステップとを含む、方法。
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したと判定するステップが、
最初の応答をキャプチャするオーディオデータを受け取ることと、
前記最初の応答をキャプチャする前記オーディオデータに対する話者識別を使用して、前記最初の応答が前記第2の自動化されたアシスタントによって提供されると判定することと、
ホットワード検出モデルを使用して、前記最初の応答をキャプチャする前記オーディオデータを処理して、前記最初の応答が前記ユーザの前記要求を満たさないと判定することとを含む請求項10に記載の方法。
前記キャッシュされたオーディオデータが、前記第2の自動化されたアシスタントによって前記ユーザに提供された最初の応答をさらにキャプチャする請求項10または請求項11に記載の方法。
前記第2の自動化されたアシスタントが、前記コンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイス上で実行されるメタアシスタントを介して前記第1の自動化されたアシスタントによって受け取られる請求項10から12のいずれか一項に記載の方法。
前記第2の自動化されたアシスタントが、別のコンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイスの1つまたは複数のマイクロフォンを介して前記第1の自動化されたアシスタントによって受け取られる請求項10から13のいずれか一項に記載の方法。
可用性の前記指示が、前記コンピューティングデバイスによって提供される視覚的指示である請求項10から14のいずれか一項に記載の方法。
プログラム命令が、
前記第1の自動化されたアシスタントによって、前記ユーザの前記要求を満たす前記応答の要求を受け取り、
前記ユーザの前記要求を満たす前記応答の前記要求の受け取りに応じて、前記第1の自動化されたアシスタントによって前記ユーザに、前記ユーザの前記要求を満たす前記応答を提供するためにさらに実行可能である請求項15に記載のコンピュータプログラム製品。
1つまたは複数のプロセッサによって実施される方法であって、
ユーザによって動作されるコンピューティングデバイスにおいて少なくとも部分的に、非アクティブ状態の第1の自動化されたアシスタントを実行するステップと、
前記非アクティブ状態である間に、前記第1の自動化されたアシスタントによって、第2の自動化されたアシスタントが前記ユーザの要求を満たすことに失敗したと判定するステップと、
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したという判定に応じて、前記第1の自動化されたアシスタントが前記ユーザの前記要求を満たすために利用可能であるという指示を前記ユーザに提供するステップと、
前記要求を満たす命令の前記ユーザからの受け取りに応じて、前記第1の自動化されたアシスタントによって、前記第2の自動化されたアシスタントが満たすことに失敗した前記要求を含む前記ユーザの口頭発話をキャプチャするキャッシュされたオーディオデータ、または前記キャッシュされたオーディオデータの特徴を処理して、前記ユーザの前記要求を満たす応答を決定するステップと、
前記第1の自動化されたアシスタントによって前記ユーザに、前記ユーザの前記要求を満たす前記応答を提供するステップとを含む、方法。
前記第2の自動化されたアシスタントが前記ユーザの前記要求を満たすことに失敗したと判定するステップが、
最初の応答をキャプチャするオーディオデータを受け取ることと、
前記最初の応答をキャプチャする前記オーディオデータに対する話者識別を使用して、前記最初の応答が前記第2の自動化されたアシスタントによって提供されると判定することと、
ホットワード検出モデルを使用して、前記最初の応答をキャプチャする前記オーディオデータを処理して、前記最初の応答が前記ユーザの前記要求を満たさないと判定することとを含む請求項17に記載の方法。
前記第2の自動化されたアシスタントが、前記コンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイス上で実行されるメタアシスタントを介して前記第1の自動化されたアシスタントによって受け取られる請求項17または請求項18に記載の方法。
前記第2の自動化されたアシスタントが、別のコンピューティングデバイス上で実行され、
前記キャッシュされたオーディオデータが、前記コンピューティングデバイスの1つまたは複数のマイクロフォンを介して前記第1の自動化されたアシスタントによって受け取られる請求項17から19のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム製品。
1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに請求項1から20のいずれか一項に記載の方法を実行させる命令を含むコンピュータ可読ストレージ媒体。
請求項1から20のいずれか一項に記載の方法を実行するための1つまたは複数のプロセッサを含むクライアントデバイス。
プロセッサと、コンピュータ可読メモリと、1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ可読ストレージ媒体にまとめて記憶されたプログラム命令とを含み、前記プログラム命令が、請求項1から20のいずれか一項に記載の方法を実行するために実行可能であるシステム。
JP2022571845A 2020-10-16 2020-12-15 自動化された音声アシスタントにおける失敗の検出および処理 Active JP7541120B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063093163P 2020-10-16 2020-10-16
US63/093,163 2020-10-16
US17/087,358 US11557300B2 (en) 2020-10-16 2020-11-02 Detecting and handling failures in other assistants
US17/087,358 2020-11-02
PCT/US2020/064987 WO2022081186A1 (en) 2020-10-16 2020-12-15 Detecting and handling failures in automated voice assistants

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024128859A Division JP2024153892A (ja) 2020-10-16 2024-08-05 自動化された音声アシスタントにおける失敗の検出および処理

Publications (2)

Publication Number Publication Date
JP2023535250A true JP2023535250A (ja) 2023-08-17
JP7541120B2 JP7541120B2 (ja) 2024-08-27

Family

ID=81185143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022571845A Active JP7541120B2 (ja) 2020-10-16 2020-12-15 自動化された音声アシスタントにおける失敗の検出および処理

Country Status (7)

Country Link
US (2) US11557300B2 (ja)
EP (1) EP4133479A1 (ja)
JP (1) JP7541120B2 (ja)
KR (1) KR20230005351A (ja)
CN (1) CN115668361A (ja)
AU (2) AU2020472583B2 (ja)
WO (1) WO2022081186A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3841459B1 (en) * 2019-11-08 2023-10-04 Google LLC Using corrections, of automated assistant functions, for training of on-device machine learning models
US11783824B1 (en) * 2021-01-18 2023-10-10 Amazon Technologies, Inc. Cross-assistant command processing
KR20220119219A (ko) * 2021-02-19 2022-08-29 삼성전자주식회사 온디바이스 인공지능 서비스를 제공하는 전자 장치 및 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172747B2 (en) * 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9812126B2 (en) 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US10354653B1 (en) * 2016-01-19 2019-07-16 United Services Automobile Association (Usaa) Cooperative delegation for digital assistants
US20170277993A1 (en) * 2016-03-22 2017-09-28 Next It Corporation Virtual assistant escalation
WO2017222503A1 (en) * 2016-06-21 2017-12-28 Hewlett-Packard Development Company, L.P. Communications utilizing multiple virtual assistant services
US10313779B2 (en) * 2016-08-26 2019-06-04 Bragi GmbH Voice assistant system for wireless earpieces
US10395652B2 (en) * 2016-09-20 2019-08-27 Allstate Insurance Company Personal information assistant computing system
US11164570B2 (en) * 2017-01-17 2021-11-02 Ford Global Technologies, Llc Voice assistant tracking and activation
US11188808B2 (en) * 2017-04-11 2021-11-30 Lenovo (Singapore) Pte. Ltd. Indicating a responding virtual assistant from a plurality of virtual assistants
US20190013019A1 (en) * 2017-07-10 2019-01-10 Intel Corporation Speaker command and key phrase management for muli -virtual assistant systems
US11062702B2 (en) * 2017-08-28 2021-07-13 Roku, Inc. Media system with multiple digital assistants
US10431219B2 (en) * 2017-10-03 2019-10-01 Google Llc User-programmable automated assistant
US10971173B2 (en) * 2017-12-08 2021-04-06 Google Llc Signal processing coordination among digital voice assistant computing devices
CN116705020A (zh) * 2017-12-08 2023-09-05 谷歌有限责任公司 使设备与环境中的多个设备隔离以响应口头助理调用
WO2019172946A1 (en) * 2018-03-07 2019-09-12 Google Llc Facilitating end-to-end communications with automated assistants in multiple languages
EP4254402A3 (en) * 2018-04-16 2023-12-20 Google LLC Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
US10679622B2 (en) * 2018-05-01 2020-06-09 Google Llc Dependency graph generation in a networked system
US11152003B2 (en) * 2018-09-27 2021-10-19 International Business Machines Corporation Routing voice commands to virtual assistants
US10971158B1 (en) * 2018-10-05 2021-04-06 Facebook, Inc. Designating assistants in multi-assistant environment based on identified wake word received from a user
WO2020091454A1 (en) * 2018-10-31 2020-05-07 Samsung Electronics Co., Ltd. Method and apparatus for capability-based processing of voice queries in a multi-assistant environment
US20190074013A1 (en) * 2018-11-02 2019-03-07 Intel Corporation Method, device and system to facilitate communication between voice assistants
US20220036897A1 (en) 2018-12-07 2022-02-03 Sony Group Corporation Response processing apparatus, response processing method, and response processing program
CN113412516B (zh) * 2019-02-06 2024-04-05 谷歌有限责任公司 处理自动语音识别asr请求的方法和系统
JP7280066B2 (ja) 2019-03-07 2023-05-23 本田技研工業株式会社 エージェント装置、エージェント装置の制御方法、およびプログラム
JP7280074B2 (ja) 2019-03-19 2023-05-23 本田技研工業株式会社 エージェント装置、エージェント装置の制御方法、およびプログラム
US11056114B2 (en) * 2019-05-30 2021-07-06 International Business Machines Corporation Voice response interfacing with multiple smart devices of different types
CN110718218B (zh) * 2019-09-12 2022-08-23 百度在线网络技术(北京)有限公司 一种语音处理方法、装置、设备和计算机存储介质
US11646013B2 (en) * 2019-12-30 2023-05-09 International Business Machines Corporation Hybrid conversations with human and virtual assistants

Also Published As

Publication number Publication date
US11557300B2 (en) 2023-01-17
AU2020472583B2 (en) 2023-10-12
WO2022081186A1 (en) 2022-04-21
EP4133479A1 (en) 2023-02-15
AU2024200224A1 (en) 2024-02-01
US20230169980A1 (en) 2023-06-01
AU2020472583A1 (en) 2022-12-15
JP7541120B2 (ja) 2024-08-27
KR20230005351A (ko) 2023-01-09
CN115668361A (zh) 2023-01-31
US20220122610A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
JP7418563B2 (ja) オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用
CN110998717A (zh) 自动确定通过自动化助理接口接收的口头话语的语音识别的语言
JP7541120B2 (ja) 自動化された音声アシスタントにおける失敗の検出および処理
US12014738B2 (en) Arbitrating between multiple potentially-responsive electronic devices
JP2023530048A (ja) ホットワード/キーワード検出のためのユーザ仲介
US11727925B2 (en) Cross-device data synchronization based on simultaneous hotword triggers
US11972766B2 (en) Detecting and suppressing commands in media that may trigger another automated assistant
US20240055002A1 (en) Detecting near matches to a hotword or phrase
JP2024153892A (ja) 自動化された音声アシスタントにおける失敗の検出および処理
US12039979B2 (en) Multiple concurrent voice assistants

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240815

R150 Certificate of patent or registration of utility model

Ref document number: 7541120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150