JP7418563B2 - オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用 - Google Patents

オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用 Download PDF

Info

Publication number
JP7418563B2
JP7418563B2 JP2022522685A JP2022522685A JP7418563B2 JP 7418563 B2 JP7418563 B2 JP 7418563B2 JP 2022522685 A JP2022522685 A JP 2022522685A JP 2022522685 A JP2022522685 A JP 2022522685A JP 7418563 B2 JP7418563 B2 JP 7418563B2
Authority
JP
Japan
Prior art keywords
client device
additional
global
audio data
machine learning
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.)
Active
Application number
JP2022522685A
Other languages
English (en)
Other versions
JP2023500048A (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 JP2023500048A publication Critical patent/JP2023500048A/ja
Application granted granted Critical
Publication of JP7418563B2 publication Critical patent/JP7418563B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

Description

人は、本明細書において「自動化アシスタント(automated assistant)」と呼ばれるインタラクティブなソフトウェアアプリケーション(「デジタルエージェント」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)を用いて人とコンピュータとの対話に従事し得る。たとえば、人(自動化アシスタントとインタラクションするときは「ユーザ」と呼ばれる場合がある)は、場合によってはテキストに変換され、それから処理される可能性がある話された自然言語入力(つまり、発話)を使用して、テキストの(たとえば、タイピングされた)自然言語入力を与えることによって、ならびに/またはタッチおよび/もしくは発話を含まない体の動き(utterance free physical movement)(たとえば、手のジェスチャ、視線、顔の動きなど)によって自動化アシスタントにコマンドおよび/または要求を与える場合がある。自動化アシスタントは、応答ユーザインターフェース出力(たとえば、可聴および/もしくは視覚的ユーザインターフェース出力)を与えること、1つもしくは複数のスマートデバイスを制御すること、ならびに/または自動化アシスタントを実装するデバイスの1つもしくは複数の機能を制御すること(たとえば、デバイスのその他のアプリケーションを制御すること)によって要求に応答する。
上述のように、多くの自動化アシスタントは、話された発話(spoken utterance)によってインタラクションされるように構成される。ユーザのプライバシーを保護するためおよび/またはリソースを節約するために、自動化アシスタントは、自動化アシスタントを(少なくとも部分的に)実装するクライアントデバイスのマイクロフォンによって検出されたオーディオデータに存在するすべての話された発話に基づいて1つまたは複数の自動化アシスタントの機能を実行することを控える。むしろ、話された発話に基づく特定の処理は、特定の条件が存在するとの判定に応じてのみ行われる。
たとえば、自動化アシスタントを含むおよび/または自動化アシスタントとインターフェースをとる多くのクライアントデバイスは、ホットワード検出モデルを含む。そのようなクライアントデバイスのマイクロフォンが非アクティブ化されないとき、クライアントデバイスは、ホットワード検出モデルを使用して、マイクロフォンによって検出されたオーディオデータを継続的に処理して、「ヘイ、アシスタント」、「OK、アシスタント」、および/または「アシスタント」などの1つまたは複数のホットワード(複数単語のフレーズを含む)が存在するかどうかを示す予測された出力を生成することができる。予測された出力がホットワードが存在することを示すとき、閾値の量の時間内に後に続く(および任意で音声活動(voice activity)を含むと判定される)すべてのオーディオデータは、音声認識構成要素、音声活動検出構成要素などの1つまたは複数のオンデバイスのおよび/またはリモートの自動化アシスタント構成要素によって処理され得る。さらに、(音声認識構成要素からの)認識されたテキストが、自然言語理解エンジンを使用して処理されることが可能であり、および/またはアクションが、自然言語理解エンジンの出力に基づいて実行されることが可能である。アクションは、たとえば、応答の生成および提供、ならびに/または1つもしくは複数のアプリケーションおよび/もしくはスマートデバイスの制御を含み得る。しかし、予測された出力がホットワードが存在しないことを示すとき、対応するオーディオデータは、いかなるさらなる処理もされずに破棄され、それによって、リソースを節約し、ユーザのプライバシーを保護する。
一部の自動化アシスタントは、追加的または代替的に、有効にされ得る会話継続モード(continued conversation mode)を実装する。有効にされるとき、会話継続モードは、自動化アシスタントに向けられた前の話された発話の閾値の量の時間以内および/または自動化アシスタントが前の話された発話に基づいてアクションを実行した後の閾値の量の時間以内にクライアントデバイスのマイクロフォンによって検出されるすべての話された入力を処理し得る。たとえば、ユーザは、最初に(たとえば、ホットワード、ハードウェアまたはソフトウェアのボタンなどによって)自動化アシスタントを呼び出し、「リビングルームの照明をつけて」という最初の発話を与え、その後すぐに、「キッチンの照明をつけて」という後続の発話を与えることができる。後続の発話は、会話継続モードが有効にされるとき、ユーザが再度アシスタントを呼び出すことを必要とせずに、自動化アシスタントによって従われる。
会話継続モードは、自動化アシスタントによる処理のために意図されたユーザの後続の発話と、そのように意図されていない発話(たとえば、代わりに別の人間に向けられた発話)とを聞き分けることができる。そのようにする際、後続の発話をキャプチャするオーディオデータは、任意で、後続の発話からの認識されたテキストおよび/またはその表現(たとえば、認識されたテキストに基づいて生成された自然言語理解データ)と一緒に、機械学習モデルを使用して処理され得る。予測された出力が、処理に基づいて生成され、後続の発話が自動化アシスタントを対象としているかどうかを示す。予測された出力が後続の発話が自動化アシスタントを対象としていることを示すときにのみ、さらなる自動化アシスタントの機能が作動される。そうでない場合、さらなる自動化アシスタントの機能は、作動されず、後続の発話に対応するデータは、破棄される。さらなる機能は、たとえば、後続の発話が自動化アシスタントを対象としていることをさらに検証すること、および/または後続の発話に基づいてアクションを実行することを含み得る。
その予測された出力が自動化アシスタントの機能が作動されるかどうかを指示する上述のおよび/またはその他の機械学習モデル(たとえば、下で説明される追加の機械学習モデル)は、多くの状況において良好に動作する。しかし、依然として、機械学習モデルに基づく偽陰性(false negative)判定および偽陽性(false positive)判定が発生する。
偽陰性によれば、予測された出力は、予測された出力を生成するために処理されたオーディオデータ(および/またはその他のデータ)が自動化アシスタントの機能を作動させるのに適切であるにもかかわらず、自動化アシスタントの機能が作動されないように指示する。たとえば、ホットワード検出モデルを使用して生成された予測された出力が確率であり、自動化アシスタントの機能が作動される前に確率が0.85を超えなければならないと仮定する。話された発話がホットワードを確かに含むが、オーディオデータを処理することに基づいて生成された予測された出力が0.82に過ぎない場合、機能は作動されず、これは偽陰性と考えられる。偽陰性の発生は、人/自動化アシスタントのインタラクションを引き延ばし、自動化アシスタントの機能を作動させるように最初に意図された発話を繰り返すこと(および/またはその他のアクションを実行すること)を人に強制し得る。
偽陽性によれば、予測された出力は、予測された出力を生成するために処理されたオーディオデータ(および/またはその他のセンサデータ)が自動化アシスタントの機能を作動させるのに不適切であるにもかかわらず、自動化アシスタントの機能が作動されるように指示する。たとえば、ホットワード検出モデルを使用して生成された予測された出力が確率であり、自動化アシスタントの機能が作動される前に確率が0.85を超えなければならないと仮定する。話された発話がホットワードを含まないが、オーディオデータを処理することに基づいて生成された予測された出力が0.86である場合、機能は作動され、これは偽陽性と考えられる。プライバシーに関する懸念に加えて、偽陽性の発生は、機能を不必要に作動させることによってネットワークおよび/または計算リソースを浪費し得る。
本明細書において開示される一部の実装は、自動化アシスタントの機能が開始されるかどうかを判定する際に利用される機械学習モデルの性能を向上させることを対象とする。本明細書においてより詳細に説明されるように、そのような機械学習モデルは、たとえば、ホットワード検出モデル、会話継続モデル(continued conversation model)、ホットワードを使用しない呼び出しモデル(hot-word free invocation model)、および/またはその他の機械学習モデルを含み得る。様々な実装は、クライアントデバイスにおいて、クライアントデバイスのローカルに記憶された機械学習モデルを使用してオーディオデータおよび/またはその他のセンサデータを処理することに基づいて、予測された出力を生成する。それらの実装は、さらに、予測された出力に基づいて、1つまたは複数の自動化アシスタントの機能を開始すべきかどうかに関する判断を行う。たとえば、判断は、予測された出力が閾値を満たすかどうかに基づき得る。さらに、それらの実装は、クライアントデバイスのローカルにおいて、さらなるユーザインターフェース入力および/またはその他のデータを分析することに基づいて、予測された出力に基づいて行われた判断が正しかったかどうかを判定する。判断が誤っていた(すなわち、判断が偽陰性または偽陽性であった)と判定されるとき、それらの実装は、クライアントデバイスのローカルにおいて、予測された出力をグラウンドトゥルース(ground truth)出力(たとえば、閾値を満たすグラウンドトゥルース出力)と比較することに基づいて勾配を生成する。
一部の実装において、生成された勾配は、生成された勾配に基づいて機械学習モデルの1つまたは複数の重みを更新するためにクライアントデバイスの1つまたは複数のプロセッサによって使用される。たとえば、誤差逆伝播法および/またはその他の技術が、勾配に基づいて重みを更新するために使用され得る。これは、クライアントデバイスのローカルに記憶された機械学習モデルの性能を向上させることができ、機械学習モデルを使用して生成された予測された出力に基づく偽陰性および/または偽陽性の発生を軽減する。さらに、これは、話された発話をキャプチャするオーディオデータを処理する機械学習モデルの場合に、トーン、イントネーション、アクセント、および/またはその他のスピーチの特徴などのクライアントデバイスのユーザの属性に関してオンデバイスの機械学習モデルの性能の向上を可能にする。
一部の実装において、生成された勾配は、追加的または代替的に、クライアントデバイスによってネットワークを介してリモートシステムに送信される。それらの実装において、リモートシステムは、対応する大域的な(global)機械学習モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。追加のクライアントデバイスからの追加の勾配は、対応する判断が誤っていたと判定することに基づいて対応する追加のクライアントデバイスのローカルで同様に生成され得る。様々な実装において、クライアントデバイスは、誤っていると判定された予測された出力を生成するために利用されたデータ(たとえば、オーディオデータおよび/またはその他のセンサデータ)のいずれも送信せず、予測された出力が誤っていたと判定するために利用されたデータ(たとえば、さらなるユーザインターフェース入力)のいずれも送信せずに、生成された勾配を送信する。リモートシステムは、そのようなデータのいかなる参照または使用もせずに、大域的なモデルを更新する際、生成された勾配を利用することができる。勾配のみの送信は、予測された出力を生成するためおよび予測された出力が誤っていたと判定するために使用されたより大きなデータサイズのデータの送信よりも少ないネットワークリソースを利用する。さらに、勾配の送信は、予測された出力を生成する際および予測された出力が誤っていたと判定する際に利用されたデータが勾配から導出され得ないので、個人データのプライバシーおよびセキュリティを守る。一部の実装において、1つまたは複数の差分プライバシー技術(たとえば、ガウス雑音の追加)が、そのようなデータが勾配から導出され得ないことをさらに保証するために利用され得る。
リモートシステムが音声認識モデルの大域的な重みを更新する実装において、リモートシステムは、その後、更新された大域的な重みをクライアントデバイスに提供して、クライアントデバイスにそれらのクライアントデバイスのオンデバイスの機械学習モデルの重みを更新された大域的な重みで置き換えさせることができる。一部の実装において、リモートシステムは、追加的または代替的に、更新された機械学習モデルをクライアントデバイスに提供して、クライアントデバイスにそれらのクライアントデバイスのオンデバイスの機械学習モデルを更新された大域的な機械学習モデルで置き換えさせることができる。したがって、オンデバイスの性能が、更新された大域的な重みまたは更新された大域的な機械学習モデルの利用によって高められる。
現在休止中の自動化アシスタントの機能を開始すべきかどうかに関する判断が誤っていると判定するために、様々な技術が利用され得る。多くの実装において、判断が誤っていると判定することは、判断を行うために利用されたセンサデータの後にクライアントデバイスにおいて受け取られ、判断と(明示的または暗黙的に)矛盾するさらなるユーザインターフェース入力に基づき得る。それらの実装において、判断が誤っていると判定することは、判断を行うために利用されたセンサデータの受信とさらなるユーザインターフェース入力の受け取りとの間の継続時間に基づき得る。たとえば、判断が誤っていたと判定する尤度(likelihood)は、継続時間が短くなるにつれて高くなることが可能であり、および/または判断が誤っていたと判定することは、継続時間が閾値未満であることを条件とすることが可能である。それらの実装において、判断が誤っていると判定することは、追加的または代替的に、さらなるユーザインターフェース入力と判断を行うために利用されたセンサデータとの間の類似性の決定された尺度に基づき得る(判断が誤っていたと判定する尤度は、類似性の尺度によって示される類似性が高くなるにつれて高まる)。たとえば、類似性の尺度は、さらなるユーザインターフェース入力および判定を行うために利用されたセンサデータの継続時間の比較に基づく継続時間の類似性に基づき得る。また、たとえば、さらなるユーザインターフェース入力が追加の話された発話であり、判定を行うために利用されたセンサデータが前の話された発話を含むとき、類似性の尺度は、話された発話および追加の話された発話の音声の特徴の比較に基づく音声の類似性および/または話された発話および追加の話された発話の認識されたテキストの比較に基づくテキストの類似性に基づき得る。
一部の実装において、判断が誤っていたかどうかを判定することは、対応する機械学習モデルによって生成され、判断を行うために利用された予測された出力の大きさに基づき得る。それらの実装の一部において、現在休止中の自動化アシスタントの機能を開始すべきかどうかに関する判断は、予測された出力の大きさが閾値を満たすかどうかに依存することが可能であり、その判断が誤っていると判定されるかどうかは、予測された出力が閾値にどれだけ近いかに基づくことが可能である。たとえば、予測された出力が確率を示し、自動化アシスタントの機能を開始するために確率が0.85より大きくなければならないと仮定する。そのような例において、自動化アシスタントの機能を開始しない判断が誤っているかどうかを判定することは、確率が閾値にどれだけ近いかに基づき得る。たとえば、判断は、確率が閾値に近いほど誤っていると判定されやすくなり、および/または確率が閾値の特定の範囲内であることを条件とし得る。予測された出力の大きさを考慮することは、真陰性が偽陰性であると誤って判定すること、および/または真陽性が偽陽性であると誤って判定することを防止することができる。
現在休止中の自動化アシスタントの機能を開始すべきかどうかに関する判断が誤っているかどうかを判定するいくつかの特定の例が、検出されるとき、呼び出しホットワードの閾値の量の時間内に続くオーディオデータの特定の処理を開始する呼び出しホットワードの存在を監視するために利用されるホットワード検出モデルに関連して以降で提供される。
例として、ホットワード検出モデルが、ホットワード「OK、アシスタント」がオーディオデータ内に存在するかどうかの確率を示す予測された出力を生成するように訓練され、確率が0.85より大きい場合にホットワードが存在すると判定されると仮定する。また、オーディオデータにキャプチャされた最初の話された発話がホットワード「OK、アシスタント」を含むが、オーディオデータを処理することに基づいて生成された予測された出力が0.8しかない確率を示すと仮定する。さらに、追加のオーディオデータにキャプチャされたその後の話された発話が、最初の話された発話の(たとえば、最初の話された発話の完了の)2.0秒後に受け取られ、ホットワード「OK、アシスタント」を含み、追加のオーディオデータを処理することに基づいて生成された予測された出力が0.9の確率を示すと仮定する。したがって、例においては、ユーザがアシスタントを呼び出すために最初に「OK、アシスタント」と言い、それが呼び出しホットワードとして認識されず、ユーザがアシスタントを呼び出そうと再び試みるために「OK、アシスタント」の別のインスタンス(instance)をすぐ後に続けた--後続のインスタンスが呼び出しホットワードとして認識された。例においては、0.8が0.85未満であることに基づいて、最初の話された発話に応じてオーディオデータの特定の処理を開始しない最初の判断が行われる。しかし、0.9が0.85より大きいことに基づいて、後続の話された発話に応じてオーディオデータの特定の処理を開始するその後の判断が行われる。さらに、例においては、最初の判断が誤っていたと判定され得る。これは、さらなるユーザインターフェース入力(すなわち、その後の話された発話)が閾値を満たすことに基づくことが可能であり、最初の話された発話の確率(0.8)、最初の話された発話の受け取りと(閾値を満たすことによって最初の話された発話と矛盾した)その後の話された発話の受け取りとの間の継続時間(2.0秒)に基づくことが可能であり、ならびに/または(たとえば、話者識別(speaker identification)を使用して)最初の話された発話およびその後の話された発話が同じユーザからである可能性が高いと判定することに基づくことが可能である。たとえば、前の判断が誤っていたと判定すること
は、継続時間が閾値の継続時間(たとえば、4.0秒もしくはその他の閾値の継続時間)未満であることを条件とすることが可能であり、および/または最初の判断の確率が0.85の閾値の範囲内(たとえば、0.35もしくはその他の範囲内)であることを条件とすることが可能である。言い換えると、そのような場合、継続時間が閾値の継続時間未満であり、確率が閾値0.85の閾値の範囲内にあるときにのみ、誤った判断が判定される。
また、たとえば、前の判断が誤っていたと判定することは、追加的または代替的に、継続時間および最初の判断の確率の関数であることが可能であり、任意で、やはり必ずしもどちらも個々の閾値を満たすことを条件としない。たとえば、確率と閾値0.85との間の差が決定され、継続時間に基づく係数を乗じられることが可能であり、結果として得られる値が、判断が誤っていたかどうかを判定する際に閾値と比較されることが可能である。たとえば、結果として得られる値は、0.25未満である場合、訂正を示すことが可能であり、継続時間に基づく係数は、継続時間が0.0秒から1.5秒までである場合は係数0.5、継続時間が1.5秒から3.0秒までである場合は0.6、継続時間が3.0秒から6.0秒までである場合は1.0、継続時間が6.0秒を超える場合は8.0であることが可能である。したがって、例の状況において、差(0.05)は、0.6(2.0秒の継続時間に対応する係数)を乗じられて、0.25よりも小さい値0.03を決定し得る。これを、差が同じ(0.05)で、継続時間が7.0秒の代替的な例と比較する。そのような代替的な例においては、値0.4が、(0.05 * 8.0)によって決定され、この値は、0.25未満でない。これを、差がより大きな(0.5)で、継続時間が同じ2.0秒のさらなる代替的な例と比較する。そのような代替的な例においては、値0.3が、(0.5 * 0.6)によって決定され、この値は、0.25未満でない。したがって、継続時間、大きさ、および/またはその他の考慮事項を考慮することによって、偽陰性の誤った判定の発生が軽減され得る。たとえば、継続時間を考慮することは、その後の発話が本当に前の発話の別の試みとして意図されていることを保証することができる。また、たとえば、大きさを考慮することは、前の発話が本当にホットワードであり、たまたまその後の発話の前にあった単なる別の非ホットワードの発話ではなかった可能性があることを保証することができる。さらに別の例として、前の発話およびその後の発話が同じ人からである可能性が高いことは、その後の発話が本当に前の発話の別の試みとして意図されていることを保証することができる。発話が同じ人からである可能性が高いと判定することは、話者識別技術に基づく、ならびに/または2つの発話の音声の特徴
(たとえば、トーン、イントネーション、およびリズム(cadence))を比較することに基づくことが可能である。
別の例として、ホットワード検出モデルが、ホットワード「OK、アシスタント」がオーディオデータ内に存在するかどうかの確率を示す予測された出力を生成するように訓練され、確率が0.85より大きい場合にホットワードが存在すると判定されると再び仮定する。また、オーディオデータにキャプチャされた最初の話された発話がホットワード「OK、アシスタント」を含むが、オーディオデータを処理することに基づいて生成された予測された出力が0.8しかない確率を示すと再び仮定する。さらに、さらなるユーザインターフェース入力が、最初の話された発話の1.5秒後に受け取られ、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことが自動化アシスタントを呼び出すとき)、またはその他の明示的な自動化アシスタントの呼び出しなどの自動化アシスタントの代替的な呼び出しであると仮定する。したがって、例においては、ユーザがアシスタントを呼び出すために最初に「OK、アシスタント」と言い、それが呼び出しホットワードとして認識されず、ユーザが代替的な方法でのアシスタントの呼び出しをすぐ後に続けた。例においては、0.8が0.85未満であることに基づいて、最初の話された発話に応じてオーディオデータの特定の処理を開始しない最初の判断が行われる。しかし、オーディオデータの特定の処理は、その後の代替的な呼び出しに応じて開始される。さらに、例においては、最初の判断が誤っていたと判定され得る。これは、さらなるユーザインターフェース入力(すなわち、その後の代替的な呼び出し)が実際にアシスタントを呼び出すことに基づくことが可能であり、最初の話された発話の確率(0.8)および/または最初の話された発話の受け取りと(閾値を満たすことによって最初の話された発話と矛盾した)その後のさらなるユーザインターフェース入力の受け取りとの間の継続時間(2.0秒)に基づくことが可能である。
呼び出しホットワードの閾値の量の時間内に続くオーディオデータの特定の処理につながる「呼び出し」ホットワードの存在を監視するホットワード検出モデルの例が上で提供されているが、本明細書において開示される技術は、追加的または代替的に、少なくとも特定の条件下で、存在すると判定された場合に対応するアクションが実行される結果に直接つながる単語(複数の単語のフレーズを含む)を監視するために使用され得るその他のホットワード検出モデルに適用可能であることが理解される。
たとえば、「ストップ」および/または「停止」などの特定のホットワードがオーディオデータ内に存在するかどうかの確率を示す予測された出力を生成するように訓練されるホットワード検出モデルが提供され、確率が0.85より大きい場合にホットワードが存在すると判定されると仮定する。さらに、ホットワード検出モデルが、アラームが鳴っているおよび/または音楽が再生されているなどの特定の条件下でアクティブであり、予測された出力がホットワードが存在することを示す場合、オーディオ出力のすべての現在のレンダリングを停止する自動化アシスタントの機能が開始されると仮定する。言い換えると、そのようなホットワード検出モデルは、アラームを鳴らすことおよび/または音楽を再生することを停止させるためにユーザがただ「ストップ」と言うことを可能にする。また、オーディオデータにキャプチャされた最初の話された発話がホットワード「ストップ」を含むが、オーディオデータを処理することに基づいて生成された予測された出力が0.8しかない確率を示すと仮定する。さらに、追加のオーディオデータにキャプチャされたその後の話された発話が、最初の話された発話の(たとえば、最初の話された発話の完了の)0.5秒後に受け取られ、ホットワード「ストップ」を含み、追加のオーディオデータを処理することに基づいて生成された予測された出力が0.9の確率を示すと仮定する。例においては、最初の判断が誤っていたと判定され得る。これは、さらなるユーザインターフェース入力(すなわち、その後の話された発話)が閾値を満たすことに基づくことが可能であり、最初の話された発話の確率(0.8)、最初の話された発話の受け取りと(閾値を満たすことによって最初の話された発話と矛盾した)その後の話された発話の受け取りとの間の継続時間(0.5秒)に基づくことが可能であり、ならびに/または(たとえば、話者識別(speaker identification)を使用して)最初の話された発話およびその後の話された発話が同じユーザからである可能性が高いと判定することに基づくことが可能である。
現在休止中の自動化アシスタントの機能を開始すべきかどうかに関する判断が誤っているかどうかを判定するいくつかの特定の例が、任意で、後続の発話からの認識されたテキストおよび/またはその表現を処理することと共に、機械学習モデルを使用して後続の発話をキャプチャするオーディオデータを処理することに基づいて予測された出力を生成するために利用される会話継続モデルに関連して以降で提供される。たとえば、会話継続モデルの第1のブランチ(branch)は、オーディオデータを処理し、第1のブランチ出力を生成するために利用されることが可能であり、会話継続モデルの第2のブランチは、認識されたテキストおよび/またはその表現を処理し、第2のブランチ出力を生成するために利用されることが可能であり、予測された出力は、第1のブランチ出力と第2のブランチ出力との両方を処理することに基づき得る。予測された出力は、後続の発話、その認識されたテキスト、および/またはその表現に関して特定の処理が開始されるかどうかを指示することができる。たとえば、予測された出力は、認識されたテキストおよび/もしくはその表現に基づいてアクションの生成を試みるべきかどうか、ならびに/またはアクションを実行すべきかどうかを指示することができる。
例として、会話継続モデルが、後続の発話が自動化アシスタントを対象としている確率を示す予測された出力を生成するように訓練され、確率が0.80より大きい場合に後続の発話が自動化アシスタントを対象としていると判定されると仮定する。また、オーディオデータにキャプチャされた最初の後続の発話が「明日、ゴミを出すことを忘れないように私に注意して」を含むが、会話継続モデルを使用する処理に基づいて生成された予測された出力が0.7しかない確率を示すと仮定する。結果として、最初の後続の発話に基づく特定の処理は実行されない。たとえば、「明日」のための「ゴミを出す」のリマインダは生成されない。さらに、それから、ユーザが2.5秒後にアシスタントを(たとえば、ホットワードを使用するかまたはアシスタントボタンを使用して)呼び出し、そして、「明日、ゴミを出すことを忘れないように私に注意して」というその後の発話を与えると仮定する。その後の発話は、呼び出しの後に続いて与えられたので、「明日」のための「ゴミを出す」のリマインダの生成を引き起こすために完全に処理され得る。したがって、例においては、ユーザが最初にアシスタントを対象とする後続の発話を与え、それがアシスタントを対象とするものであると認識されず、ユーザがアシスタントを呼び出し(すなわち、フォローアップモード(follow-up mode)ではない)、発話の別のインスタンスを与えて発話をアシスタントによって完全に処理させることをすぐ後に続けた。例においては、後続の発話がアシスタントを対象としていないという最初の判断が誤っていたと判定され得る。これは、後続の発話とさらなるユーザインターフェース入力(すなわち、その後の話された発話)との間の類似性の1つもしくは複数の尺度に基づくことが可能であり、最初の後続の発話の確率(0.7)に基づくことが可能であり、および/または最初の後続の発話の受け取りとその後の話された発話を与えるための呼び出しの受け取りとの間の継続時間(2.5秒)に基づくことが可能である。
類似性の尺度は、たとえば、最初の後続の発話およびその後の話された発話の継続時間の比較に基づく継続時間の類似性、最初の後続の発話およびその後の話された発話の音声の特徴の比較に基づく音声の類似性、ならびに/または最初の後続の発話およびその後の話された発話の認識されたテキストの比較に基づくテキストの類似性を含み得る。概して、類似度が高いほど、その後の話された発話が判断の訂正であると判定される尤度が高くなる。たとえば、例において、最初の後続の発話およびその後の話された発話は、高い度合いの継続時間の類似性、音声の類似性、およびテキストの類似性を持つ。たとえば、前の判断が誤っていたと判定することは、追加的にまたは代替的に、最初の後続の発話の受け取りと呼び出しの受け取りとの間の継続時間が閾値の継続時間(たとえば、4.0秒もしくはその他の閾値の継続時間)未満であることを条件とすることが可能であり、および/または最初の判断の確率が0.80の閾値の範囲内(たとえば、0.35もしくはその他の閾値の範囲内)であることを条件とすることが可能である。言い換えると、そのような場合、継続時間が閾値の継続時間未満であり、確率が閾値0.80の閾値の範囲内にあるときにのみ、誤った判断が判定される。
より広く、必ずしもそれらがいずれかの対応する閾値を満たすことを必要とせずに、継続時間および/または確率の関数として誤った判断が判定され得る。非限定的な例として、判断が正しいかどうかは、最初の判断の確率と閾値との間の差に、(1)類似性の尺度(ここで、類似性の尺度は0から1までの間であり、より大きな値はより大きな類似性を示す)、および/または(2)継続時間に基づく係数(より大きな係数値はより長い継続期間に対応する)を乗じ、結果として得られる値が閾値未満であるかどうかを判定することに基づき得る。
これらの要因の1つまたは複数を考慮することは、偽陰性および/または偽陽性の誤った判定の発生を軽減することができる。たとえば、類似性の尺度を考慮することは、最初の後続の発話が「明日、ゴミを出すことを忘れないように私に注意して」であり(およびユーザの近くの別の人を対象としており、自動化アシスタントを対象としておらず)、その後の呼び出しの後に受け取られたその後の発話が「256の平方根は何」である場合に、偽陰性の判定を防止する。また、たとえば、類似性の尺度を考慮することは、最初の後続の発話が「明日、ゴミを出すことを忘れないように私に注意して」であり(およびユーザの近くの別の人を対象としており、自動化アシスタントを対象としておらず)、その後の呼び出しの後に受け取られたその後の発話が「明日、ゴミを出すことを忘れないように私に注意して」であったが、その後の発話が最初の後続の発話の2分後に(たとえば、ユーザが、後で、これが自動化アシスタントへ向けるべき良い発話である可能性があると判定した後になってようやく)受け取られた場合に、偽陰性の判定を防止する。
現在休止中の自動化アシスタントの機能を開始すべきかどうかに関する判断が誤っているかどうかを判定するいくつかの特定の例が、ホットワードを使用しない呼び出しモデルに関連して以降で提供される。ホットワードを使用しない呼び出しモデルは、少なくともいくつかの条件下で、1つもしくは複数の非マイクロフォンセンサからのデータを処理して(および/またはそのようなデータの抽象化を処理して)、予測された出力を生成するために使用されることが可能であり、予測された出力は、それが閾値を満たすとき、現在休止中の自動化アシスタントの機能を開始する。たとえば、ホットワードを使用しない呼び出しモデルは、自動化アシスタントのクライアントデバイスの視覚センサからの視覚データを処理し、ユーザの特定の手のジェスチャを含む視覚データに応じて、および/または自動化アシスタントのクライアントデバイスに向けられるユーザの視線(「向けられた視線」)を含む視覚データに応じて、閾値を満たすべき予測された出力を生成することができる。たとえば、ホットワードを使用しない呼び出しモデルは、特定の手のジェスチャ(たとえば、手を振るおよび/もしくは親指を立てる)に応じて、ならびに/または少なくとも閾値の継続時間の向けられた視線に応じて(たとえば、ホットワードの代わりに)自動化アシスタントを呼び出すために使用され得る。
より広く、様々な実装において、ホットワードを使用しない呼び出しモデルは、クライアントデバイスの1つまたは複数の非マイクロフォンセンサ構成要素によって検出される発話を含まない体の動き(たとえば、手のジェスチャもしくはポーズ、視線、顔の動きもしくは表情、口の動き、クライアントデバイスとのユーザの近接、体のジェスチャもしくはポーズ、および/またはその他の発話を含まない技術)の存在を監視するために利用され得る。検出されるとき、そのような発話を含まない体の動きは、発話を含まない体の動きの閾値の量の時間内に続くセンサデータの特定の処理を開始する。1つまたは複数の非マイクロフォンセンサは、カメラもしくはその他の視覚センサ、近接センサ、圧力センサ、加速度計、磁力計、および/またはその他のセンサを含むことが可能であり、クライアントデバイスのマイクロフォンによってキャプチャされるオーディオデータに加えてまたは代えてセンサデータを生成するために使用されることが可能である。一部の実装において、クライアントデバイスの1つまたは複数の非マイクロフォンセンサ構成要素によって検出された発話を含まない体の動きは、明示的な呼び出しホットワードの代わりとして働くことができ、ユーザは、明示的な呼び出しホットワードを含む明示的な話された発話を与える必要がない。その他の実装において、クライアントデバイスの1つまたは複数の非マイクロフォンセンサ構成要素によって検出された発話を含まない体の動きは、クライアントデバイスの1つまたは複数のマイクロフォンによってキャプチャされ、「ヘイ、アシスタント」、「OK、アシスタント」、「アシスタント」、または任意のその他の好適なホットワードなどのホットワードを含む話された発話に追加される。
自動化アシスタントの機能がホットワードを使用しない呼び出しモデルを使用して生成された予測された出力に基づいて作動されるとき、その後の話された発話が、自動化アシスタントによって受け取られ、処理されることが可能であり、それが、その後の話された発話に含まれる対応する動作が実行される結果に直接つながる。さらに、自動化アシスタントの機能が作動されるとき、自動化アシスタントの機能が作動されることを示すために、様々な人間が知覚可能な手掛かりが提供され得る。これらの人間が知覚可能な手掛かりは、可聴の「鐘の音」、可聴の「話された出力」(たとえば、「アシスタントに話しかけているようですね」)、クライアントデバイスのディスプレイ画面上の視覚的記号、クライアントデバイスの発光ダイオードの点灯、および/または自動化アシスタントの機能が作動されることを示すその他の人間が知覚可能な手掛かりを含み得る。
特定の例として、ホットワードを使用しない呼び出しモデルが、発話を含まない体の動きがセンサデータ内で検出されるかどうかの確率を示す予測された出力を生成するように訓練され、確率が0.85より大きい場合、発話を含まない体の動きがホットワードの代わりとして働くと判定されると仮定する。また、センサデータに基づいて生成された予測された出力が、(1)ユーザの口の動き(本明細書においては「口の動き」とも呼ばれる)、および/または(2)ユーザの視線がクライアントデバイスに向けられること(本明細書においては「向けられた視線」とも呼ばれる)を検出することに基づいて0.80しかない確率を示すと仮定する。さらに、クライアントデバイスのマイクロフォンによってオーディオデータにキャプチャされた話された発話が、口の動きおよび/または向けられた視線の2.0秒後に受け取られ、呼び出しホットワード「OK、アシスタント」を含み、追加のオーディオデータを処理することに基づいて生成された予測された出力が、0.90の確率を示すと仮定する。したがって、例においては、ユーザがアシスタントを呼び出そうと試みて最初に口の動きおよび/または向けられた視線を使用し、それが呼び出しホットワードの代わりとして働くものとして認識されず、ユーザがアシスタントを呼び出そうと再び試みるために「OK、アシスタント」という話された発話をすぐ後に続けた--この後続のインスタンスが呼び出しホットワードを含むものとして認識された。例においては、0.80が0.85未満であることに基づいて、口の動きおよび/または向けられた視線に応じてオーディオデータの特定の処理を開始しない最初の判断が行われる。しかし、0.90が0.85より大きいことに基づいて、話された発話に応じてオーディオデータの特定の処理を開始するその後の判断が行われる。さらに、例においては、最初の判断が誤っていた(すなわち、判断が偽陰性であった)と判定され得る。これは、さらなるユーザインターフェース入力(すなわち、話された発話)が閾値を満たすことに基づくことが可能であり、最初の口の動きおよび/もしくは向けられた視線の確率(たとえば、0.80)に基づくことが可能であり、ならびに/または本明細書において説明されるように最初の口の動きおよび/もしくは向けられた視線の受け取りと(閾値を満たす最初の
判断と矛盾した)話された発話の受け取りとの間の継続時間(2.0秒)に基づくことが可能である。たとえば、前の判断が誤っていたと判定することは、継続時間が閾値の継続時間(たとえば、4.0秒またはその他の閾値の継続時間)未満であることと、最初の判断の確率が0.85の閾値の範囲内(たとえば、0.35またはその他の範囲内)であることとの関数であることが可能である。言い換えると、そのような場合、継続時間が閾値の継続時間未満であり、確率が閾値0.85の閾値の範囲内にあるときにのみ、誤った判断が判定される。
対照的に、ホットワードを使用しない呼び出しモデルが、発話を含まない体の動きがセンサデータ内で検出されるかどうかの確率を示す予測された出力を生成するように訓練され、確率が0.85より大きい場合、発話を含まない体の動きがホットワードの代わりとして働くと判定されると再び仮定する。また、センサデータに基づいて生成された予測された出力が、(1)口の動き、および/または(2)向けられた視線を検出することに基づいて確率0.90を示すと再び仮定する。したがって、0.90が0.85より大きいことに基づいて、口の動きおよび/または向けられた視線に続くその後の話された発話を処理するための特定の自動化アシスタントの機能を開始する最初の判断が行われ、クライアントデバイスは、クライアントデバイスが口の動きおよび/または向けられた視線に続くその後の話された発話を処理するための特定の自動化アシスタントの機能を開始したという所与の人間が知覚可能な手掛かりを提供することができる。さらに、口の動きおよび/または向けられた視線の後にさらなるユーザインターフェース入力が受け取られ、さらなるユーザインターフェース入力が最初の判断と矛盾すると仮定する。したがって、例においては、ユーザが最初にクライアントデバイスに口の動きおよび/または視線を向け、それが呼び出しホットワードの代わりとして働くものと認識され、ユーザがアシスタントの呼び出しをキャンセルするさらなるユーザインターフェース入力をすぐ後に続けた。例においては、0.90が0.85より大きいことに基づいて、口の動きおよび/または向けられた視線に続くその後のオーディオデータを処理するための特定の自動化アシスタントの機能を開始する最初の判断が行われる。しかし、さらなるユーザインターフェース入力に基づいて、口の動きおよび/または向けられた視線に続くその後のオーディオデータを処理するための開始された特定の自動化アシスタントの機能を無効にするまたは停止するその後の判断が行われる。さらに、例においては、さらなるユーザインターフェース入力が最初の判断と矛盾することに基づいて、最初の判断が誤っていた(すなわち、判断が偽陽性であった)と判定され得る。さらなるユーザインターフェース入力は、最初の判断と矛盾する追加の発話を含まない体の動き、話された発話(たとえば、「ストップ」、「違う」、および/もしくは最初の判断と矛盾するその他の話された発話)であることが可能であり、最初の判断を否定する明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)であることが可能であり、最初の判断を否定するデバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことが自動化アシスタントの呼び出しを否定するとき)であることが可能であり、ならびに/または最初の判断と矛盾するその他のさらなるユーザインターフェース入力であることが可能である。さらに、最初の判断と矛盾するさらなるユーザインターフェース入力に基づいて最初の判断が誤っていたと判定することは、本明細書において開示されるホットワードを使用しない呼び出しモデルもしくは別の機械学習モデルを使用して決定された、さらなるユーザインターフェース入力に関するさらなる予測された出力が閾値を満たすことができないことに基づくことが可能であり、本明細書において説明されるように最初の口の動きおよび/もしくは向けられた視線の受け取りとさらなるユーザインターフェース入力の受け取りとの間の継続時間に基づくことが可能であり、ならびに/または本明細書において説明されるように最初の判断の確率が0.85の閾値の範囲内(たとえば0.35もしくはその他の範囲内)であることに基づくことが可能である。
別の例として、ホットワードを使用しない呼び出しモデルが、発話を含まない体の動きがセンサデータ内で検出されるかどうかの確率を示す予測された出力を生成するように訓練され、確率が0.85より大きい場合、発話を含まない体の動きがホットワードの代わりとして働くと判定されると再び仮定する。また、センサデータに基づいて生成された予測された出力が、(1)クライアントデバイスとのユーザの近接(たとえば、ユーザがクライアントデバイスの閾値の距離以内にいる)、ならびに/あるいは(2)(たとえば、手の動きもしくはポーズ、身振りもしくは体のポーズ、および/またはその他のジェスチャのインジケーションによって示される)ユーザのジェスチャがクライアントデバイスに向けられていることを検出することに基づいて0.80しかない確率を示すと再び仮定する。さらに、さらなるユーザインターフェース入力が、ユーザがクライアントデバイスの閾値の距離以内にいたときのユーザの最初のジェスチャの1.5秒後に受け取られ、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことが自動化アシスタントを呼び出すとき)、またはその他の明示的な自動化アシスタントの呼び出しなどの自動化アシスタントの代替的な呼び出しであると仮定する。したがって、例においては、ユーザがアシスタントを呼び出すためにユーザがクライアントデバイスの閾値の距離以内にいたときに最初にジェスチャを与え、それが呼び出しホットワードの代わりとして働くものとして認識されず、ユーザが代替的な方法でのアシスタントの呼び出しをすぐ後に続けた。例においては、0.80が0.85未満であることに基づいて、最初の話された発話に応じてオーディオデータの特定の処理を開始しない最初の判断が行われる。しかし、オーディオデータ特定の処理は、代替的な呼び出しに応じて開始される。さらに、例においては、最初の判断が誤っていた(すなわち、判断が偽陰性であった)と判定され得る。これは、さらなるユーザインターフェース入力(すなわち、代替的な呼び出し)が実際にアシスタントを呼び出すことに基づくことが可能であり、ユーザがクライアントデバイスの閾値の距離以内にいたときのユーザの最初のジェスチャの確率(たとえば、0.80)に基づくことが可能であり、および/または本明細書において説明されるようにユーザがクライアントデバイスの閾値の距離内にいたときのユーザの最初のジェスチャの受け取りと(閾値を満たすことによって最初のジェスチャと矛盾した)その後のさらなるユーザインターフェース入力の受け取りとの間の継続時間(たとえば、2.0秒)に基づくことが可能である。
検出されるとき、発話を含まない体の動きの閾値の量の時間内に続くその後の話された発話および/またはその後の発話を含まない体の動きの特定の処理につながる「呼び出し」ホットワードの代わりとして働く発話を含まない体の動きの存在を監視するホットワードを使用しない呼び出しモデルの例が上で提供されているが、本明細書において開示される技術は、追加的または代替的に、「呼び出し」ホットワードを含む話された発話と一緒に与えられ、少なくとも特定の条件下で、存在すると判定された場合に対応するアクションが実行される結果に直接つながる発話を含まない体の動きおよび/または単語(複数単語のフレーズを含む)の存在を監視するために使用され得る発話を含まない体の動きに適用可能であることが理解される。
さらに、本明細書において開示される技術は、追加的または代替的に、アラームが鳴っているまたは音楽が再生されているときにクライアントデバイスに向けられた「ストップ」のための手のジェスチャ、クライアントデバイスの音量を制御するために手を上げるかまたは下げること、およびいかなる話された発話も与えずにクライアントデバイスを制御するためのその他のジェスチャなどの、それに応じて実行されるアクションを含む発話を含まない体の動きに適用可能であることが理解される。たとえば、「ストップ」および/または「停止」に対応する手の動きおよび/またはポーズなどの特定の発話を含まない体の動きがセンサデータ内に存在するかどうかの確率を示す予測された出力を生成するように訓練されるホットワードを使用しない呼び出しモデルが提供され、確率が0.85より大きい場合に特定の発話を含まない体の動きが存在すると判定されると仮定する。さらに、ホットワードを使用しない呼び出しモデルが、アラームが鳴っているおよび/または音楽が再生されているなどの特定の条件下でアクティブであり、予測された出力が発話を含まない動きが存在することを示す場合、オーディオ出力のすべての現在のレンダリングを停止する自動化アシスタントの機能が開始されると仮定する。言い換えると、そのようなホットワードを使用しない呼び出しモデルは、アラームを鳴らすことおよび/または音楽を再生することを停止させるためにユーザがただ「ストップ」に対応する手の動きおよび/またはポーズを与えることを可能にする。
一部の実装においては、現在休止中の自動化アシスタントの機能を開始すべきかどうか、および/または現在アクティブな自動化アシスタントの機能を停止すべきかどうかに関する判断を行う際に、所与のクライアントデバイスが、オーディオデータおよび/またはその他のセンサデータをクラウドベースの機械学習モデル(たとえば、クラウドベースのホットワード検出エンジン、クラウドベースの会話継続エンジン、クラウドベースのホットワードを使用しない呼び出しエンジン、および/またはその他のクラウドベースのエンジン)に送信し得る。クラウドベースの機械学習モデルは、オンデバイスの機械学習モデルよりも堅牢であることが多く、所与のクライアントデバイスにおいて行われた判断を検証するために使用され得る。それらの実装のいくつかのバージョンにおいて、クラウドベースの機械学習モデルは、オーディオデータおよび/またはその他のセンサデータを処理することができ、クライアントデバイスが特定の自動化アシスタントの機能を開始すべきかどうかに関する判定を行うことができ、所与のクライアントデバイスにおいて行われた判断が正しかったかまたは誤っていたか(すなわち、判断が偽陰性または偽陽性であったか)のインジケーションを、所与のクライアントデバイスに送信することができる。これらの実装のいくつかのさらなるバージョンにおいて、所与のクライアントデバイスは、クラウドベースの機械学習モデルから受信されたインジケーションに基づいて、現在休止中の自動化アシスタントの機能を開始し、および/または現在アクティブな自動化アシスタントの機能を停止することができる。たとえば、所与のクライアントデバイスが、オンデバイスの機械学習モデルを使用して生成された予測された出力に基づいて、現在休止中の自動化アシスタントの機能を開始しない判断を行い、予測された出力を生成するために使用されたオーディオデータおよび/またはセンサデータをクラウドベースの機械学習モデルに送信し、判断が誤っていた(すなわち、判断が偽陰性であった)というインジケーションをクラウドベースの機械学習モデルから受信する場合、クライアントデバイスは、現在休止中の自動化アシスタントの機能を開始し、オンデバイスの機械学習モデルを訓練するための勾配を生成するのにこのインスタンスを利用することができる。別の例として、所与のクライアントデバイスが、オンデバイスの機械学習モデルを使用して生成された予測された出力に基づいて、現在休止中の自動化アシスタントの機能を開始する判断を行い、予測された出力を生成するために使用されたオーディオデータおよび/またはセンサデータをクラウドベースの機械学習モデルに送信し、判断が誤っていた(すなわち、判断が偽陽性であった)というインジケーションをクラウドベースの機械学習モデルから受信する場合、クライアントデバイスは、現在アクティブな自動化アシスタントの機能を停止し、オンデバイスの機械学習モデルを訓練するための勾配を生成するのにこのインスタンスを利用することができる。したがって、これらの実装においては、偽陰性および/または偽陰性を特定する際に、オンデバイスの機械学習モデルに加えて、クラウドベースの機械学習モデルが利用され得る。
本明細書において説明された1つまたは複数の技術の利用によって、話された発話に対応するオーディオデータおよび/または発話含まない体の動きに対応するセンサデータに基づく偽陰性および/または偽陽性の発生は、対応するクライアントデバイスのローカルで自動的に特定され、ラベル付けされ得る。さらに、勾配が、対応するクライアントデバイスのローカルで、特定され、ラベル付けされた偽陽性および偽陰性を使用して生成され得る。勾配は、対応するローカルに記憶された機械学習モデルを更新するために対応するクライアントデバイスのローカルで利用されることが可能であり、および/または対応する大域的なモデルを更新するのに使用するためにリモートシステムに送信されることが可能である。これは、ローカルに記憶された機械学習モデルおよび/または(使用のために様々なクライアントデバイスに送信され得る)対応する大域的なモデルの性能の向上をもたらす。
追加的または代替的に、対応するクライアントデバイスのローカルにおける偽陽性および/または偽陰性の自動的ラベル付けは、ユーザデータ(たとえば、話された発話など)が対応するクライアントデバイスから決して送信されなくてよい、および/またはいかなる人間による検討もなしにラベル付けされるので、そのようなユーザデータのプライバシーを守ることができる。さらに、そのような自動的ラベル付けは、対応するデータ(たとえば、帯域幅を大量に消費するオーディオデータおよび/もしくは視覚データ)をラベル付けのために人間の評価者のクライアントデバイスに送信するために他の方法であれば必要とされたであろうネットワークリソース、ならびに/または対応するデータを検討し、手動でラベル付けするために他の方法であれば利用されたであろう人間の評価者のクライアントデバイスのリソースなどの様々なリソースを節約することができる。さらに、現在の人間によるラベル付け技術では、偽陰性の発生は、人間による検討およびラベル付けのためにクライアントデバイスからサーバに送信されない可能性がある。したがって、現在の技術では、機械学習モデルは、偽陰性の実際の現実の発生に基づいてまったく訓練されない(または最低限の訓練しかされない)可能性がある。しかし、本明細書において開示される実装は、クライアントデバイスにおける偽陰性の自動的な特定およびラベル付け、そのような偽陰性に基づく勾配の生成、ならびに生成された勾配に基づく対応する機械学習モデルの更新を可能にする。
上の説明は、本開示の一部の実装の概要として与えられている。それらの実装およびその他の実装のさらなる説明が、下により詳細に示される。
様々な実装は、本明細書に記載の方法のうちの1つまたは複数などの方法を実行するために1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、および/またはテンソル処理ユニット(TPU: tensor processing unit))によって実行可能な命令を記憶する非一時的コンピュータ可読ストレージ媒体を含み得る。その他の実装は、本明細書に記載の1つまたは複数の方法などの方法を実行するために記憶された命令を実行するように動作可能なプロセッサを含む自動化アシスタントのクライアントデバイス(たとえば、少なくとも、クラウドベースの自動化アシスタント構成要素とインターフェースをとるための自動化アシスタントインターフェースを含むクライアントデバイス)を含み得る。さらにその他の実装は、本明細書に記載の方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のサーバのシステムを含み得る。
実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 実装による本開示の態様を明示する例示的なプロセスフローを示す図である。 図1A~図1Dの様々な構成要素を含み、本明細書において開示される実装が実装されてよい例示的な環境のブロック図である。 偽陰性に基づいてクライアントデバイスのローカルで勾配を生成し、勾配をリモートサーバに送信し、および/または生成された勾配を利用してオンデバイスの音声認識モデルの重みを更新する例示的な方法を示す流れ図である。 偽陽性に基づいてクライアントデバイスのローカルで勾配を生成し、勾配をリモートサーバに送信し、および/または生成された勾配を利用してオンデバイスの音声認識モデルの重みを更新する例示的な方法を示す流れ図である。 リモートのクライアントデバイスから受信された勾配に基づいて大域的な音声認識モデルの重みを更新し、更新された重みまたは更新された大域的な音声認識モデルをリモートのクライアントデバイスに送信する例示的な方法を示す流れ図である。 コンピューティングデバイスの例示的なアーキテクチャを示す図である。
図1A~図1Dは、本開示の様々な態様を明示する例示的なプロセスフローを示す。クライアントデバイス110が、図1Aに示され、クライアントデバイス110を表す図1Aの四角に包含される構成要素を含む。機械学習エンジン122Aは、クライアントデバイス110の1つもしくは複数のマイクロフォンによって検出された話された発話に対応するオーディオデータ101、ならびに/またはクライアントデバイス110の1つもしくは複数の非マイクロフォンセンサ構成要素によって検出された発話を含まない体の動き(たとえば、手のジェスチャおよび/または動き、体のジェスチャおよび/または体の動き、視線、顔の動き、口の動きなど)に対応するその他のセンサデータ102を受け取ることができる。1つまたは複数の非マイクロフォンセンサは、カメラまたはその他の視覚センサ、近接センサ、圧力センサ、加速度計、磁力計、および/またはその他のセンサを含み得る。機械学習エンジン122Aは、機械学習モデル152Aを使用して、オーディオデータ101および/またはその他のセンサデータ102を処理して、予測された出力103を生成する。本明細書において説明されるように、機械学習エンジン122Aは、ホットワード検出エンジン122B、ホットワードを使用しない呼び出しエンジン122C、会話継続エンジン122D、ならびに音声活動検出器(VAD)エンジン、エンドポイント(endpoint)検出器エンジン、および/またはその他のエンジンなどの代替的なエンジンであり得る。
一部の実装において、機械学習エンジン122Aが予測された出力103を生成するとき、予測された出力103は、クライアントデバイスのローカルのオンデバイスのストレージ111に、任意で、対応するオーディオデータ101および/またはその他のセンサデータ102と関連付けて記憶され得る。それらの実装のいくつかのバージョンにおいて、予測された出力は、本明細書において説明される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)に送信することができる。
一部の実装においては、図1Cに示されるように、機械学習エンジン122Aは、ホットワードを使用しない呼び出しエンジン122Cであることが可能である。特に、オンデバイスの音声認識器142、オンデバイスのNLUエンジン144、および/またはオンデバイスの履行エンジン146などの様々な自動化アシスタントの機能が、現在休止している(すなわち、破線によって示されるように)。さらに、ホットワードを使用しない呼び出しモデル152Cを使用して、その他のセンサデータ102に基づいて生成された予測された出力103がブロック182において閾値を満たし、音声活動検出器128がクライアントデバイス110に向けられたユーザのスピーチを検出すると仮定する。
これらの実装のいくつかのバージョンにおいて、アシスタント作動エンジン124は、オンデバイスの音声認識器142、オンデバイスのNLUエンジン144、および/またはオンデバイスの履行エンジン146を現在休止中の自動化アシスタントの機能として作動させる。たとえば、ホットワードの代わりとして働く発話を含まない体の動きに関するこれらの自動化アシスタントの機能の作動に応じて、オンデバイスの音声認識器142は、オンデバイスの音声認識モデル142Aを使用して、ホットワードの代わりとして働く発話を含まない体の動きと一緒に発生するおよび/またはその後に続くコマンドおよび/またはフレーズを処理して、認識されたテキスト143Aを生成することができ、オンデバイスのNLUエンジン144は、オンデバイスのNLUモデル144Aを使用して認識されたテキスト143Aを処理して、NLUデータ145Aを生成することができ、オンデバイスの履行エンジン146は、オンデバイスの履行モデル146Aを使用してNLUデータ145Aを処理して、履行データ147Aを生成することができ、クライアントデバイス110は、オーディオデータ101に応じる1つまたは複数のアクションの実行150に履行データ147Aを使用することができる。
それらの実装のその他のバージョンにおいて、アシスタント作動エンジン124は、「いいえ」、「停止」、「キャンセル」、および/またはその他のコマンドなどの様々なコマンドを処理するために、オンデバイスの音声認識器142およびオンデバイスのNLUエンジン144を作動させずに、オンデバイスの履行エンジン146のみを作動させる。たとえば、オンデバイスの履行エンジン146は、オンデバイスの履行モデル146Aを使用して、発話を含まない体の動きと一緒に発生するおよび/またはその後に続くコマンドまたはフレーズを処理して、履行データ147Aを生成し、クライアントデバイス110は、発話を含まない体の動きと一緒に発生するおよび/またはその後に続くコマンドまたはフレーズに応じる1つまたは複数のアクションの実行150に履行データ147Aを使用することができる。
さらに、これらの実装のいくつかのバージョンにおいて、アシスタント作動エンジン124は、最初に、オンデバイスの音声認識器142のみを作動させて、発話を含まない体の動きと一緒に発生するおよび/もしくはその後に続くコマンドおよび/もしくはフレーズがアシスタントを対象としていたと判定することによって、ブロック182において行われた判断が正しかった(たとえば、その他のセンサデータ102によってキャプチャされた発話を含まない体の動きが、本当に、ホットワードの代わりとして働くように意図されていた)と確認するために、最初に、現在休止中の自動化された機能を作動させることができ、ならびに/またはアシスタント作動エンジン124は、ブロック182において行われた判断が正しかった(たとえば、その他のセンサデータ102によってキャプチャされた発話を含まない体の動きが、本当に、ホットワードの代わりとして働くように意図されていた)と確認するために、その他のセンサデータ102を1つもしくは複数のサーバ(たとえば、リモートサーバ160)に送信することができる。
一部の実装においては、図1Dに示されるように、機械学習エンジン122Aは、会話継続エンジン122Dである。特に、オンデバイスの音声認識器142およびオンデバイスのNLUエンジン144などの様々な自動化アシスタントの機能は、アシスタントとの前のインタラクションの結果として(たとえば、ホットワードを含む話された発話、および/またはホットワードの代わりとして働く発話を含まない体の動きの結果として)既にアクティブである(すなわち、実線によって示されるように)。クライアントデバイス110は、これらの前のインタラクションからの認識されたテキスト143Aおよび/またはNLUデータ145Aを(たとえば、オンデバイスのストレージ111から)取り出してよい。たとえば、その後の話された発話をキャプチャする追加のオーディオデータ101Aが、(すなわち、自動化アシスタントをトリガしたホットワードを含む話された発話および/またはホットワードの代わりとして働く発話を含まない体の動きの後に)受け取られることが可能であり、後続の要求(follow-up request)、明確化の応答(clarification response)、自動化アシスタントからのプロンプトに対する応答、追加のユーザの要求、および/または自動化アシスタントとのその他のインタラクションであることが可能である。さらに、会話継続モデル152Dを使用して、追加のオーディオデータ101A、前のインタラクションからの認識されたテキスト143A、および前のインタラクションからのNLUデータ145Aに基づいて生成された予測された出力103がブロック182において閾値を満たし、音声活動検出器128がクライアントデバイス110に向けられたユーザのスピーチを検出すると仮定する。
これらの実装のいくつかのバージョンにおいて、アシスタント作動エンジン124は、オンデバイスの音声認識器142およびオンデバイスのNLU144を停止することを控え、オンデバイスの履行エンジン146を現在休止中の自動化アシスタントの機能として作動させる。たとえば、オンデバイスの音声認識器142は、オンデバイスの音声認識モデル142Aを使用して、ホットワード「OK、アシスタント」を省いたその後の話された発話に関して追加のオーディオデータ101Aを処理して、さらなる認識されたテキスト143Bを生成することができ、オンデバイスのNLUエンジン144は、オンデバイスのNLUモデル144Aを使用してさらなる認識されたテキスト143Bを処理して、さらなるNLUデータ145Bを生成することができ、オンデバイスの履行エンジン146は、オンデバイスの履行モデル146Aを使用してさらなるNLUデータ145Bを処理して、さらなる履行データ147Bを生成することができ、クライアントデバイス110は、追加のオーディオデータ101Aに応じる1つまたは複数のアクションの実行150にさらなる履行データ147Bを使用することができる。
さらに、これらの実装のいくつかのバージョンにおいて、アシスタント作動エンジン124は、最初に、オンデバイスの音声認識器142を使用して追加のオーディオデータ101Aを処理することのみによって、ブロック182において行われた判断が正しかった(たとえば、追加のオーディオデータ101Aが、本当に、自動化アシスタントを対象としている)と確認するために、最初に、現在休止中の自動化アシスタントの機能を作動させることができ、および/またはアシスタント作動エンジン124は、ブロック182において行われた判断が正しかった(たとえば、追加のオーディオデータ101Aが、本当に、自動化アシスタントを対象としている)と確認するために、追加のオーディオデータ101Aを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において判定することができる。訂正は、(たとえば、図3に関連してより詳細に説明されるように)偽陰性を特定することができるか、または(たとえば、図4に関連してより詳細に説明されるように)偽陽性を特定することができるかのどちらかである。クライアントデバイスがブロック184において受け取られたさらなるユーザインターフェース入力が訂正を含まないとブロック186において判定する場合、クライアントデバイス110は、訂正の特定を停止し、ブロック190において終了することができる。しかし、クライアントデバイス110が、ブロック184において受け取られたさらなるユーザインターフェース入力が、ブロック182において行われた最初の判断と矛盾する訂正を含むとブロック186において判定する場合、クライアントデバイス110は、グラウンドトゥルース出力105を決定することができる。
偽陰性の1つの非限定的な例として、機械学習エンジン122Aが予測された出力103として確率を生成するように訓練され、クライアントデバイス110が予測された出力103(たとえば、0.80)がブロック182の閾値(たとえば、0.85)を満たすことができないと誤って判定し、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始することを控えた、および/または現在アクティブな自動化アシスタントの機能を停止したと仮定する。さらに、クライアントデバイス110が、ブロック184において受け取られたさらなるユーザインターフェース入力に基づいて、さらなるユーザインターフェース入力がブロック182において行われた最初の判断と矛盾し、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始すべきだった、および/または現在アクティブな自動化アシスタントの機能を停止することを控えるべきだったと判定したと仮定する。この場合、グラウンドトゥルース出力105も、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始すべきだった、および/または現在アクティブな自動化アシスタントの機能を停止することを控えるべきだったことを示す確率(たとえば、1.00)であることが可能である。
偽陽性の1つの非限定的な例として、機械学習エンジン122Aが予測された出力103として確率を生成するように訓練され、クライアントデバイス110が予測された出力103(たとえば、0.90)がブロック182の閾値(たとえば、0.85)を満たすと誤って判定し、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始した、および/または現在アクティブな自動化アシスタントの機能を停止することを控えたと仮定する。さらに、クライアントデバイス110が、ブロック184において受け取られたさらなるユーザインターフェース入力に基づいて、さらなるユーザインターフェース入力がブロック182において行われた最初の判断と矛盾し、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始すべきでなかった、および/または現在アクティブな自動化アシスタントの機能を停止することを控えるべきでなかったと判定したと仮定する。この場合、グラウンドトゥルース出力105も、クライアントデバイス110が現在休止中の自動化アシスタントの機能を開始すべきでなかった、および/または現在アクティブな自動化アシスタントの機能を停止することを控えるべきでなかったことを示す確率(たとえば、0.00)であることが可能である。予測された出力103およびグラウンドトゥルース出力105は確率であるものとして本明細書において説明されるが、それは限定的であるように意図されておらず、予測された出力103およびグラウンドトゥルース出力105はラベル、注釈、2値、および/またはその他の尤度の尺度であることが可能であることを理解されたい。
一部の実装において、勾配エンジン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~図1Dの様々なオンデバイスの機械学習エンジンが自動化アシスタントクライアント240の一部として含まれる(または自動化アシスタントクライアント240と通信する)実装におけるクライアントデバイス110が示される。図1A~図1Dの様々なオンデバイスの機械学習エンジンとインターフェースをとるそれぞれの機械学習モデルも、示される。図1A~図1Dのその他の構成要素は、簡単にするために図2に示されない。図2は、図1A~図1Dの様々なオンデバイスの機械学習エンジンおよびそれらのそれぞれの機械学習モデルが、様々なアクションを実行する際に自動化アシスタントクライアント240によってどのようにして利用され得るかの一例を示す。
図2のクライアントデバイス110は、1つもしくは複数のマイクロフォン211、1つもしくは複数のスピーカ212、1つもしくは複数のカメラおよび/もしくはその他の視覚構成要素213、ならびにディスプレイ214(たとえば、タッチ式ディスプレイ)と共に示される。クライアントデバイス110は、1つまたは複数のマイクロフォン211によってキャプチャされたオーディオデータに加えて、その他のセンサデータを生成するために使用される圧力センサ、近接センサ、加速度計、磁力計、および/またはその他のセンサをさらに含んでよい。クライアントデバイス110は、自動化アシスタントクライアント240を少なくとも選択的に実行する。自動化アシスタントクライアント240は、図2の例においては、オンデバイスのホットワード検出エンジン122B、オンデバイスのホットワードを使用しない呼び出しエンジン122C、会話継続エンジン122D、オンデバイスの音声認識器142、オンデバイスの自然言語理解(NLU)エンジン144、およびオンデバイスの履行エンジン146を含む。自動化アシスタントクライアント240は、音声キャプチャエンジン242および視覚キャプチャエンジン244をさらに含む。自動化アシスタントクライアント240は、音声活動検出器(VAD)エンジン、エンドポイント検出器エンジン、および/またはその他のエンジンなどの追加的なおよび/または代替的なエンジンを含み得る。
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、ホットワードを使用しない呼び出しエンジン122C、会話継続エンジン122D、および/またはその他のエンジンによって利用され得る。自動化アシスタントの機能は、オンデバイスの音声認識器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つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック352において、システムは、クライアントデバイスの環境の1つまたは複数の環境属性をキャプチャするセンサデータを受信する。一部の実装においては、任意のブロック352Aによって示されるように、センサデータは、非マイクロフォンセンサを介して受信された非マイクロフォンセンサデータである。それらの実装のいくつかのバージョンにおいて、センサデータは、1つもしくは複数のセンサ構成要素のカメラからの1つもしくは複数の画像、1つもしくは複数のセンサ構成要素の近接センサからの近接センサデータ、1つもしくは複数のセンサ構成要素の加速度計からの加速度計データ、および/または1つもしくは複数のセンサ構成要素の磁力計からの磁力計データを含む。一部の実装においては、任意のブロック352Bによって示されるように、センサデータは、話された発話をキャプチャするオーディオデータであり、1つまたは複数のマイクロフォンを介して受信される。
ブロック354において、システムは、オンデバイスの機械学習モデルを使用してセンサデータを処理して、予測された出力を生成する。オンデバイスの機械学習モデルは、たとえば、ホットワード検出モデル、会話継続モデル、ホットワードを使用しない呼び出しモデル、および/またはその他の機械学習モデルであることが可能である。さらに、生成された出力は、たとえば、確率および/またはその他の尤度の尺度であることが可能である。
ブロック356において、システムは、ブロック354において生成された予測された出力が閾値を満たすかどうかを判定する。ブロック356の反復において、システムがブロック354において生成された予測された出力が閾値を満たすと判定する場合、システムは、ブロック358に進み、1つまたは複数の現在休止中の自動化アシスタントの機能を開始する。一部の実装において、1つまたは複数の自動化アシスタントの機能は、認識されたテキストを生成するための音声認識、自然言語理解(NLU)出力を生成するためのNLU、認識されたテキストおよび/もしくはNLU出力に基づく応答の生成、リモートサーバへのオーディオデータの送信、ならびに/またはリモートサーバへの認識されたテキストの送信を含む。たとえば、ブロック354において生成された予測された出力が確率であり、1つまたは複数の現在休止中の自動化アシスタントの機能を作動させるために確率が0.85より大きくなければならず、予測された確率が0.88であると仮定する。予測された確率0.88が閾値0.85を満たすことに基づいて、システムは、ブロック358に進み、1つまたは複数の現在休止中の自動化アシスタントの機能をユーザが意図したように開始する。
ブロック356の反復において、システムがブロック354において生成された予測された出力が閾値を満たすことができないと判定する場合、システムは、ブロック360に進み、1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控える、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止する。たとえば、ブロック354において生成された予測された出力が確率であり、1つまたは複数の現在休止中の自動化アシスタントの機能を作動させるために確率が0.85より大きくなければならず、予測された確率が0.82しかないと仮定する。予測された確率0.82が閾値0.85を満たすことができないことに基づいて、システムは、ブロック360に進み、1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控える、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止する。しかし、システムは、生成された予測された出力が閾値を満たすことができないにもかかわらず、センサの受信に応じて、システムが1つまたは複数の現在休止中の自動化アシスタントの機能を開始すべきだったかどうかを判定するためのさらなる処理を実行することができる。
ブロック362において、システムは、さらなるユーザインターフェース入力が受け取られるかどうかを判定する。一部の実装において、さらなるユーザインターフェース入力は、その後の話された発話をキャプチャするさらなるオーディオデータであり、1つまたは複数のマイクロフォンによって受け取られる。それらの実装のいくつかのバージョンにおいて、その後の話された発話は、任意のブロック352Bにおいて受信された話された発話の少なくとも一部を繰り返す。それらの実装のその他のバージョンにおいて、その後の話された発話は、任意のブロック352Bにおいて受信された話された発話に関連しない。一部の実装において、さらなるユーザインターフェース入力は、非マイクロフォンセンサを介して受信されたさらなる非マイクロフォンセンサデータである。それらの実装のいくつかのバージョンにおいて、さらなる非マイクロフォンセンサデータは、1つもしくは複数のセンサ構成要素のカメラからの1つもしくは複数の画像、1つもしくは複数のセンサ構成要素の近接センサからの近接センサデータ、1つもしくは複数のセンサ構成要素の加速度計からの加速度計データ、および/または1つもしくは複数のセンサ構成要素の磁力計からの磁力計データを含む。ブロック362の反復において、システムがさらなるユーザインターフェース入力がないと判定する場合、システムは、ブロック364に進み、方法300は、終了する。ブロック362の反復において、システムがクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力があると判定する場合、システムは、ブロック366に進む。
ブロック366において、システムは、ブロック362において受け取られたさらなるユーザインターフェース入力がブロック356において行われた判断の訂正を示すかどうかを判定する。ブロック366の反復において、システムがブロック362において受け取られたさらなるユーザインターフェース入力がブロック356において行われた判断の訂正を示さないと判定する場合、システムは、ブロック364に進み、方法300は、終了する。ブロック366の反復において、システムがブロック362において受け取られたさらなるユーザインターフェース入力がブロック356において行われた判断の訂正を示すと判定する場合、システムは、ブロック358に戻り、1つまたは複数の現在休止中の自動化アシスタントの機能を開始する。したがって、ブロック366において訂正があると判定されるとき、ブロック356において行われた誤った判断は、偽陰性の発生として分類され得る。
ホットワード検出モデル(たとえば、図1Bのホットワード検出モデル152B)に関して、受信されたセンサデータが、ホットワード「OK、アシスタント」を含む話された発話をキャプチャするオーディオデータであり、ホットワード検出モデルが、ブロック354において確率を示す予測された出力を生成するように訓練されるが、ブロック356において確率(たとえば、0.80)が閾値の確率(たとえば、0.85)を満たすことができないと仮定する。ある場合、さらなるユーザインターフェース入力が、ブロック356において行われた最初の判断と矛盾するホットワード「OK、アシスタント」を含むその後の話された発話をキャプチャする追加のオーディオデータであると仮定すると、ブロック356において行われた最初の判断は、たとえば、話された発話と追加の話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、話された発話と追加の話された発話との間の類似性の尺度が類似性の閾値(たとえば、音声の特徴の音声の類似性、認識されたテキストのテキストの類似性、および/もしくはその他の類似性の判定)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはブロック356において行われた最初の判断と矛盾するその他の明示的なアシスタントの呼び出しなどのアシスタントの代替的な呼び出しであると仮定すると、ブロック356において行われた最初の判断は、たとえば、話された発話と代替的な呼び出しとの間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること
、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。したがって、これらの場合、システムは、ブロック356において行われた最初の判断が誤っていたと判定することに基づいて、現在休止中の自動化アシスタントの機能を開始することができる。
ホットワードを使用しない呼び出しモデル(たとえば、図1Cのホットワードを使用しない呼び出しモデル152C)に関して、受信されたセンサデータが、向けられた視線、口の動き、および/またはホットワードの代わりとして働くその他の発話を含まない体の動きであり、ホットワードを使用しない呼び出しモデルが、ブロック354において確率を示す予測された出力を生成するように訓練されるが、ブロック356において確率(たとえば、0.80)が閾値の確率(たとえば、0.85)を満たすことができないと仮定する。ある場合、さらなるユーザインターフェース入力が、ブロック356において行われた最初の判断と矛盾するホットワード「OK、アシスタント」を含む話された発話をキャプチャするオーディオデータであると仮定すると、ブロック356において行われた最初の判断は、たとえば、向けられた視線、口の動き、および/もしくはホットワードの代わりとして働くその他の発話を含まない体の動きと話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはブロック356において行われた最初の判断と矛盾するその他の明示的なアシスタントの呼び出しなどのアシスタントの代替的な呼び出しであると仮定すると、ブロック356において行われた最初の判断は、たとえば、向けられた視線、口の動き、および/もしくはホットワードの代わりとして働くその他の発話を含まない体の動きと代替的な呼び出しとの間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を
満たすと判定すること、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。したがって、これらの場合、システムは、ブロック356において行われた最初の判断が誤っていたと判定することに基づいて、現在休止中の自動化アシスタントの機能を開始することができる。
会話継続モデル(たとえば、図1Dの会話継続モデル)に関して、受信されたセンサデータが、アシスタントが既に呼び出され、特定の自動化アシスタントの機能がアクティブであるときにその後の話された発話をキャプチャするその後のオーディオデータであり、会話継続モデルが、ブロック354において確率を示す予測された出力を生成するように訓練されるが、ブロック356において確率(たとえば、0.80)が閾値の確率(たとえば、0.85)を満たすことができないと仮定する。ある場合、さらなるユーザインターフェース入力が、ブロック356において行われた最初の判断と矛盾する追加の話された発話(すなわち、その後の話された発話を繰り返す)をキャプチャする追加のオーディオデータであると仮定すると、ブロック356において行われた最初の判断は、たとえば、その後の話された発話と追加の話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、その後の話された発話と追加の話された発話との間の類似性の尺度が類似性の閾値(たとえば、音声の特徴の音声の類似性、認識されたテキストのテキストの類似性、その後の話された発話と追加の話された発話との間の継続時間の類似性、および/もしくはその他の類似性の判定)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはブロック356において行われた最初の判断と矛盾するその他の明示的なアシスタントの呼び出しなどのアシスタントの代替的な呼び出しであると仮定すると、ブロック356において行われた最初の判断は、たとえば、その後の話された発話と代替的な呼び出しとの間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判
定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック356における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤っている(すなわち、偽陰性)と分類され得る。したがって、これらの場合、システムは、ブロック356において行われた最初の判断が誤っていたと判定することに基づいて、現在アクティブな自動化アシスタントの機能を停止することを控え(つまり、アシスタントが既に呼び出されているため)、および/またはさらなる現在休止中の自動化アシスタントの機能を開始することができる。
さらに、ブロック366の反復において、システムがブロック362において受け取られたさらなるユーザインターフェース入力がブロック356において行われた判断に対する訂正を示すと判定する場合、システムは、ブロック354において生成された予測された出力をブロック368に与える。
ブロック368において、システムは、予測された出力を閾値を満たすグラウンドトゥルース出力と比較することに基づいて勾配を生成する。一部の実装において、グラウンドトゥルース出力は、ブロック356において閾値を満たす出力に対応し、ブロック362において受け取られたさらなるユーザインターフェース入力がブロック356において行われた判断の訂正を示すとブロック366において判定することに基づいて生成される。たとえば、偽陰性に関して、生成された予測された出力が0.82であり、閾値が0.85である場合、システムは、グラウンドトゥルース出力1.0を生成することができる。そのような例において、勾配を生成することは、予測された出力0.82をグラウンドトゥルース出力0.1と比較することに基づく。
ブロック370において、システムは、生成された勾配に基づいてオンデバイスの機械学習モデルの1つもしくは複数の重みを更新し、ならびに/またはシステムは、(オーディオデータ、センサデータ、および/もしくはさらなるユーザインターフェース入力のいずれも送信せずに)生成された勾配をリモートシステムに(たとえば、インターネットもしくはその他の広域ネットワークを介して)送信する。勾配がリモートシステムに送信されるとき、リモートシステムは、大域的な音声認識モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。ブロック370の後、システムは、ブロック352に戻る。
図4は、偽陽性に基づいてクライアントデバイスのローカルで勾配を生成し、勾配を送信し、および/または生成された勾配を利用してオンデバイスの音声認識モデルの重みを更新する例示的な方法400を示す流れ図を示す。便宜上、方法400の動作は、動作を実行するシステムに関連して説明される。方法400のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法400の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック452において、システムは、クライアントデバイスの環境の1つまたは複数の環境属性をキャプチャするセンサデータを受信する。一部の実装においては、任意のブロック452Aによって示されるように、センサデータは、非マイクロフォンセンサを介して受信された非マイクロフォンセンサデータである。それらの実装のいくつかのバージョンにおいて、センサデータは、1つもしくは複数のセンサ構成要素のカメラからの1つもしくは複数の画像、1つもしくは複数のセンサ構成要素の近接センサからの近接センサデータ、1つもしくは複数のセンサ構成要素の加速度計からの加速度計データ、および/または1つもしくは複数のセンサ構成要素の磁力計からの磁力計データを含む。一部の実装においては、任意のブロック452Bによって示されるように、センサデータは、話された発話をキャプチャするオーディオデータであり、1つまたは複数のマイクロフォンを介して受信される。
ブロック454において、システムは、オンデバイスの機械学習モデルを使用してセンサデータを処理して、予測された出力を生成する。オンデバイスの機械学習モデルは、たとえば、ホットワード検出モデル、会話継続モデル、ホットワードを使用しない呼び出しモデル、および/またはその他の機械学習モデルであることが可能である。さらに、生成された出力は、たとえば、確率および/またはその他の尤度の尺度であることが可能である。
ブロック456において、システムは、ブロック454において生成された予測された出力が閾値を満たすかどうかを判定する。ブロック356の反復において、システムがブロック354において生成された予測された出力が閾値を満たすことができないと判定する場合、システムは、ブロック458に進み、1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控える、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止する。一部の実装において、1つまたは複数の自動化アシスタントの機能は、認識されたテキストを生成するための音声認識、自然言語理解(NLU)出力を生成するためのNLU、認識されたテキストおよび/もしくはNLU出力に基づく応答の生成、リモートサーバへのオーディオデータの送信、ならびに/またはリモートサーバへの認識されたテキストの送信を含む。たとえば、ブロック454において生成された予測された出力が確率であり、1つまたは複数の現在休止中の自動化アシスタントの機能を作動させるために確率が0.85より大きくなければならないが、予測された確率が0.82しかないと仮定する。予測された確率0.82が閾値0.85を満たすことができないことに基づいて、システムは、ブロック458に進み、1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控える、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止する。
ブロック456の反復において、システムがブロック454において生成された予測された出力が閾値を満たすと判定する場合、システムは、ブロック460に進み、1つまたは複数の現在休止中の自動化アシスタントの機能を開始する。たとえば、ブロック454において生成された予測された出力が確率であり、1つまたは複数の現在休止中の自動化アシスタントの機能を作動させるために確率が0.85より大きくなければならず、予測された確率が0.88であると仮定する。予測された確率0.88が閾値0.85を満たすことに基づいて、システムは、ブロック460に進み、1つまたは複数の現在休止中の自動化アシスタントの機能をユーザが意図したように開始する。しかし、システムは、生成された予測された出力が閾値を満たすにもかかわらず、センサの受信に応じて、システムが1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控えるべきだったかどうか、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止すべきだったかどうかを判定するためのさらなる処理を実行することができる。
ブロック462において、システムは、さらなるユーザインターフェース入力が受け取られるかどうかを判定する。一部の実装において、さらなるユーザインターフェース入力は、非マイクロフォンセンサを介して受信されたさらなる非マイクロフォンセンサデータである。それらの実装のいくつかのバージョンにおいて、さらなる非マイクロフォンセンサデータは、1つもしくは複数のセンサ構成要素のカメラからの1つもしくは複数の画像、1つもしくは複数のセンサ構成要素の近接センサからの近接センサデータ、1つもしくは複数のセンサ構成要素の加速度計からの加速度計データ、および/または1つもしくは複数のセンサ構成要素の磁力計からの磁力計データを含む。一部の実装において、さらなるユーザインターフェース入力は、その後の話された発話をキャプチャするさらなるオーディオデータであり、1つまたは複数のマイクロフォンによって受け取られる。それらの実装のいくつかのバージョンにおいて、その後の話された発話は、任意のブロック452Bにおいて受信された話された発話の少なくとも一部を繰り返す。それらの実装のその他のバージョンにおいて、その後の話された発話は、任意のブロック452Bにおいて受信された話された発話に関連しない。ブロック462の反復において、システムがさらなるユーザインターフェース入力がないと判定する場合、システムは、ブロック464に進み、方法400は、終了する。ブロック462の反復において、システムがクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力があると判定する場合、システムは、ブロック466に進む。
ブロック466において、システムは、ブロック462において受け取られたさらなるユーザインターフェース入力がブロック456において行われた判断の訂正を示すかどうかを判定する。ブロック466の反復において、システムがブロック462において受け取られたさらなるユーザインターフェース入力がブロック456において行われた判断の訂正を示さないと判定する場合、システムは、ブロック464に進み、方法400は、終了する。ブロック466の反復において、システムがブロック462において受け取られたさらなるユーザインターフェース入力がブロック456において行われた判断の訂正を示すと判定する場合、システムは、ブロック458に戻り、1つもしくは複数の現在休止中の自動化アシスタントの機能を開始することを控える、および/または1つもしくは複数の現在アクティブな自動化アシスタントの機能を停止する。したがって、ブロック466において訂正があると判定されるとき、ブロック456において行われた誤った判断は、偽陽性の発生として分類され得る。
ホットワード検出モデル(たとえば、図1Bのホットワード検出モデル152B)に関して、受信されたセンサデータが、ホットワード「OK Assistant」とは対照的に「display consistent」を含む話された発話をキャプチャするオーディオデータであり、ホットワード検出モデルが、ブロック454において確率を示す予測された出力を生成するように訓練され、ブロック456において確率(たとえば、0.90)が閾値の確率(たとえば、0.85)を満たすと仮定する。ある場合、さらなるユーザインターフェース入力が、「No」、「Stop」、「Cancel」、および/またはブロック456において行われた最初の判断と矛盾する別の話された発話を含むその後の話された発話をキャプチャする追加のオーディオデータであると仮定すると、ブロック456において行われた最初の判断は、たとえば、話された発話と追加の話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック456における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤っている(すなわち、偽陽性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはアシスタントの呼び出しを取り消すその他の明示的な入力などのアシスタントの呼び出しを取り消す代替的な入力であると仮定すると、ブロック456において行われた最初の判断は、たとえば、話された発話と呼び出しを取り消す代替的な入力との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック456における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤
っている(すなわち、偽陽性)と分類され得る。したがって、これらの場合、システムは、ブロック456において行われた最初の判断が誤っていたと判定することに基づいて、現在休止中の自動化アシスタントの機能を開始することを控え、および/または現在アクティブな自動化アシスタントの機能を停止することができる。
ホットワードを使用しない呼び出しモデル(たとえば、図1Cのホットワードを使用しない呼び出しモデル152C)に関して、受信されたセンサデータが、向けられた視線、口の動き、および/またはホットワードの代わりとして働くその他の発話を含まない体の動きであり、ホットワードを使用しない呼び出しモデルが、ブロック454において確率を示す予測された出力を生成するように訓練され、ブロック456において確率(たとえば、0.90)が閾値の確率(たとえば、0.85)を満たすと仮定する。ある場合、さらなるユーザインターフェース入力が、「No」、「Stop」、「Cancel」、および/またはブロック456において行われた最初の判断と矛盾する別の話された発話を含む話された発話をキャプチャするオーディオデータであると仮定すると、ブロック456において行われた最初の判断は、たとえば、向けられた視線、口の動き、および/もしくはホットワードの代わりとして働くその他の発話を含まない体の動きと話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陽性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、向けられた視線を否定するさらなるセンサデータ、ならびに/あるいは明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはアシスタントの呼び出しを取り消すその他の明示的な入力などのアシスタントの呼び出しを取り消す代替的な入力であると仮定すると、ブロック456において行われた最初の判断は、たとえば、向けられた視線、口の動き、および/もしくはホットワードの代わりとして働くその他の発話を含まない体の動きとアシスタントの呼び出しを取り消す代替的な入力との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たす
と判定すること、本明細書において説明される継続時間とブロック456における最初の判断に関する最初の確率との関数、ならびに/またはその他の判定に基づいて誤っている(すなわち、偽陽性)と分類され得る。したがって、これらの場合、システムは、ブロック456において行われた最初の判断が誤っていたと判定することに基づいて、現在休止中の自動化アシスタントの機能を開始することを控え、および/または現在アクティブな自動化アシスタントの機能を停止することができる。
会話継続モデル(たとえば、図1Dの会話継続モデル)に関して、受信されたセンサデータが、アシスタントが既に呼び出され、特定の自動化アシスタントの機能がアクティブであるときにその後の話された発話をキャプチャするその後のオーディオデータであり、会話継続モデルが、ブロック454において確率を示す予測された出力を生成するように訓練され、ブロック456において確率(たとえば、0.90)が閾値の確率(たとえば、0.85)を満たすと仮定する。ある場合、さらなるユーザインターフェース入力が、「No」、「Stop」、「Cancel」、および/またはブロック456において行われた最初の判断と矛盾する別の話された発話を含む追加の話された発話をキャプチャする追加のオーディオデータであると仮定すると、ブロック456において行われた最初の判断は、たとえば、その後の話された発話と追加の話された発話との間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック456における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤っている(すなわち、偽陽性)と分類され得る。別の場合、さらなるユーザインターフェース入力が、明示的な自動化アシスタント呼び出しボタン(たとえば、ハードウェアボタンもしくはソフトウェアボタン)の作動、デバイスの感知された「握り込み」(たとえば、デバイスを少なくとも閾値の量の力で握り込むことがアシスタントを呼び出すとき)、および/またはアシスタントの呼び出しを取り消すその他の明示的な入力などのアシスタントの呼び出しを取り消す代替的な入力であると仮定すると、ブロック456において行われた最初の判断は、たとえば、その後の話された発話と代替的な呼び出しとの間の継続時間が時間の閾値(たとえば、3.0秒以内)を満たすと判定すること、最初の確率の大きさが閾値の確率に関連する確率的閾値(たとえば、0.85の0.20以内)を満たすと判定すること、本明細書において説明される継続時間とブロック456における最初の判断に関する最初の確率との関数、および/またはその他の判定に基づいて誤っている(すなわち、偽陽性)と
分類され得る。したがって、これらの場合、システムは、ブロック456において行われた最初の判断が誤っていたと判定することに基づいて、現在アクティブな自動化アシスタントの機能を停止し(つまり、アシスタントが既に呼び出されているため)、および/または現在休止中の自動化アシスタントの機能を開始することを控えることができる。
さらに、ブロック466の反復において、システムがブロック462において受け取られたさらなるユーザインターフェース入力がブロック456において行われた判断に対する訂正を示すと判定する場合、システムは、ブロック454において生成された予測された出力をブロック468に与える。
ブロック468において、システムは、予測された出力を閾値を満たすグラウンドトゥルース出力と比較することに基づいて勾配を生成する。一部の実装において、グラウンドトゥルース出力は、ブロック456において閾値を満たすことができない出力に対応し、ブロック462において受け取られたさらなるユーザインターフェース入力がブロック456において行われた判断の訂正を示すとブロック466において判定することに基づいて生成される。たとえば、偽陽性に関して、生成された予測された出力が0.88であり、閾値が0.85である場合、システムは、グラウンドトゥルース出力0.0を生成することができる。そのような例において、勾配を生成することは、予測された出力0.88をグラウンドトゥルース出力0.0と比較することに基づく。
ブロック470において、システムは、生成された勾配に基づいてオンデバイスの機械学習モデルの1つもしくは複数の重みを更新し、ならびに/またはシステムは、(オーディオデータ、センサデータ、および/もしくはさらなるユーザインターフェース入力のいずれも送信せずに)生成された勾配をリモートシステムに(たとえば、インターネットもしくはその他の広域ネットワークを介して)送信する。勾配がリモートシステムに送信されるとき、リモートシステムは、大域的な音声認識モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。ブロック470の後、システムは、ブロック452に戻る。
方法300および400の様々な実装において、オーディオデータ、予測された出力、さらなるユーザインターフェース入力、および/またはグラウンドトゥルース出力は、クライアントデバイスのローカルに記憶され得ることが留意される。さらに、方法300および400のそれらの実装のいくつかのバージョンにおいて、勾配を生成すること、オンデバイスの機械学習モデルの1つもしくは複数の重みを更新すること、および/または勾配をリモートシステムに送信することは、クライアントデバイスの現在の状態が1つまたは複数の条件を満たすとの判定に応じて実行される。たとえば、1つまたは複数の条件は、クライアントデバイスが充電中であること、クライアントデバイスが充電の少なくとも閾値の状態であること、および/またはクライアントデバイスがユーザによって持ち運ばれていないことを含む。さらに、方法300および400のそれらの実装のいくつかの追加的または代替的なバージョンにおいて、勾配を生成すること、オンデバイスの機械学習モデルの1つもしくは複数の重みを更新すること、および/または勾配をリモートシステムに送信することは、リアルタイムで実行される。これらのおよびその他の方法で、オンデバイスの機械学習モデルは、偽陰性および/または偽陽性の発生を軽減するために迅速に適応され得る。さらに、これは、話された発話をキャプチャするオーディオデータを処理するオンデバイスの機械学習モデルの場合に、トーン、イントネーション、アクセント、および/またはその他のスピーチの特徴などのクライアントデバイスのユーザの属性に関してオンデバイスの機械学習モデルの性能の向上を可能にする。
図5は、リモートのクライアントデバイスから受信された勾配に基づいて大域的な音声認識モデルの重みを更新し、更新された重みまたは更新された大域的な音声認識モデルをリモートのクライアントデバイスに送信する例示的な方法500を示す流れ図を示す。便宜上、方法500の動作は、動作を実行するシステムに関連して説明される。このシステムは、1つまたは複数のサーバデバイスなどの様々なコンピュータシステムの様々な構成要素を含んでよい。さらに、方法500の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加されてよい。
ブロック552において、システムは、リモートのクライアントデバイスから勾配を受信する。たとえば、システムは、図3の方法300の対応するインスタンスおよび/または図4の方法400のインスタンスを実行している複数のクライアントデバイスから勾配を受信し得る。
ブロック554において、システムは、ブロック552において受信された勾配に基づいて大域的な音声認識モデルの重みを更新する。ブロック552および554の反復は、新しい勾配が受信されるおよび/または受信された後でキューに入れられるとき、実行される続けることが可能である。
ブロック556において、システムは、少なくとも、本明細書において説明される条件のうちの1つまたは複数などの1つまたは複数の条件が満たされるかどうかを周期的に判定する。概して、条件は、モデルの更新された重みおよび/または更新されたモデル自体を送信することにネットワークリソースを利用することを正当化するほど大域的なモデルが更新されたかどうかを判定する代わりとして働く。言い換えると、条件は、モデルの性能の向上がネットワークリソースの使用を正当化するかどうかを判定する代わりとして使用される。そうである場合、システムは、ブロック558に進み、現在の更新された重みおよび/または現在の更新された大域的な音声認識モデルを複数のクライアントデバイスに送信する。更新された重みおよび/または大域的な音声認識モデルは、任意で、更新手順の間の要求ならびに/またはクライアントデバイスがアイドル中および/もしくは充電中であるために送信された要求などの所与のクライアントデバイスからの要求に応じて所与のクライアントデバイスに送信され得る。
図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つまたは複数のマイクロフォンを介して、ユーザの話された発話をキャプチャするオーディオデータを受信するステップを含む。方法は、クライアントデバイスのローカルに記憶された機械学習モデルを使用してオーディオデータを処理して、予測された出力を生成するステップをさらに含む。方法は、予測された出力が閾値を満たすことができないことに基づいて、1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える判断を行うステップをさらに含む。方法は、1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える判断を行った後、オーディオデータを受信した後にクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、判断が誤っていたと判定するステップをさらに含む。方法は、判断が誤っていたとの判定に応じて、予測された出力を閾値を満たすグラウンドトゥルース出力と比較することに基づいて勾配を生成するステップと、生成された勾配に基づいて機械学習モデルの1つまたは複数の重みを更新するステップとをさらに含む。
テクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
一部の実装において、判断が誤っていたと判定するステップは、予測された出力の大きさにさらに基づく。それらの実装のいくつかのバージョンにおいて、予測された出力の大きさにさらに基づいて、判断が誤っていたと判定するステップは、予測された出力が、1つまたは複数の現在休止中の自動化アシスタントの機能を開始するための閾値を満たすことはできないが、閾値の閾値の範囲内にあると判定することを含む。
一部の実装において、オーディオデータを受信した後にクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、判断が誤っていたと判定するステップは、オーディオデータの受信とさらなるユーザインターフェース入力の受け取りとの間の継続時間に基づく。
一部の実装において、さらなるユーザインターフェース入力は、追加のオーディオデータにキャプチャされた追加の話された発話である。それらの実装のいくつかのバージョンにおいて、方法は、機械学習モデルを使用して追加のオーディオデータを処理して、追加の予測された出力を生成するステップと、追加の予測された出力が閾値を満たすことに基づいて、1つまたは複数の現在休止中の自動化アシスタントの機能を開始する追加の判断を行うステップとをさらに含む。オーディオデータを受信した後にクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、判断が誤っていたと判定するステップは、1つまたは複数の現在休止中の自動化アシスタントの機能を開始する追加の判断に基づいて、判断が誤っていたと判定することを含む。
一部の実装において、さらなるユーザインターフェース入力は、追加のオーディオデータにキャプチャされた追加の話された発話である。それらの実装のいくつかのバージョンにおいて、方法は、話された発話と追加の話された発話との間の類似性の1つまたは複数の尺度を決定するステップをさらに含む。オーディオデータを受信した後にクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、判断が誤っていたと判定するステップは、話された発話と追加の話された発話との間の類似性の1つまたは複数の尺度に基づく。それらの実装のいくつかのさらなるバージョンにおいて、類似性の1つまたは複数の尺度は、話された発話および追加の話された発話の継続時間の比較に基づく継続時間の類似性、話された発話および追加の話された発話の音声の特徴の比較に基づく音声の類似性、ならびに/または話された発話および追加の話された発話の認識されたテキストの比較に基づくテキストの類似性を含む。
一部の実装において、さらなるユーザインターフェース入力は、追加のオーディオデータにキャプチャされた追加の話された発話である。それらの実装のいくつかのさらなるバージョンにおいて、オーディオデータを受信した後にクライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、判断が誤っていたと判定するステップは、追加の話された発話の1つもしくは複数の音響的特徴、またはクライアントデバイスのローカルに記憶された音声認識モデルを使用して追加の話された発話から認識されたテキストに基づいて、判断が誤っていたと判定することを含む。
一部の実装において、判断が誤っていたと判定するステップは、判断が誤っていたという確実性を示す確実性の尺度を決定することを含む。それらの実装のいくつかのバージョンにおいて、方法は、確実性の尺度に基づいて、閾値を満たすグラウンドトゥルース出力の大きさを決定するステップをさらに含む。
一部の実装において、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つまたは複数を含み得る。
一部の実装において、大域的な音声認識モデルの更新された大域的な重みは、リモートシステムのメモリに記憶される。
一部の実装において、方法は、大域的な音声認識モデルをリモートシステムからクライアントデバイスにおいて受信するステップをさらに含む。大域的な音声認識モデルを受信するステップは、リモートシステムが生成された勾配および追加の勾配に基づいて大域的な音声認識モデルの大域的な重みを更新した後である。一部の実装において、方法は、大域的な音声認識モデルの受信に応じて、クライアントデバイスのローカルストレージ内で音声認識モデルを大域的な音声認識モデルによって置き換えるステップをさらに含む。
一部の実装において、方法は、更新された大域的な重みをリモートシステムからクライアントデバイスにおいて受信するステップをさらに含む。更新された大域的な重みを受信するステップは、リモートシステムが勾配および追加の勾配に基づいて大域的なエンドツーエンドの音声認識モデルの大域的な重みを更新した後である。一部の実装において、方法は、更新された大域的な重みの受信に応じて、クライアントデバイスのローカルストレージ内で音声認識モデルの重みを更新された大域的な重みによって置き換えるステップをさらに含む。
一部の実装においては、クライアントデバイスの1つまたは複数のプロセッサによって実行される方法が提供され、クライアントデバイスの1つまたは複数のセンサ構成要素を介して、クライアントデバイスの環境の1つまたは複数の環境属性をキャプチャするセンサデータを受信するステップを含む。方法は、クライアントデバイスのローカルに記憶された機械学習モデルを使用してセンサデータを処理して、1つまたは複数の現在休止中の自動化アシスタントの機能が作動されるかどうかを指示する予測された出力を生成するステップをさらに含む。方法は、予測された出力が閾値を満たすことができないことに基づいて、1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすべきかどうかに関する判断を行うステップをさらに含む。方法は、判断を行った後、判断が誤っていたと判定するステップをさらに含む。方法は、判定が誤っていたとの判定に応じて、予測された出力を閾値を満たすグラウンドトゥルース出力と比較することに基づいて勾配を生成するステップと、オーディオデータおよび/またはさらなるユーザインターフェース入力を送信せずに、生成された勾配をネットワークを介してリモートシステムに送信するステップとをさらに含む。リモートシステムは、大域的な音声認識モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。
テクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
一部の実装において、大域的な音声認識モデルの更新された大域的な重みは、リモートシステムのメモリに記憶される。
一部の実装において、方法は、大域的な音声認識モデルをリモートシステムからクライアントデバイスにおいて受信するステップをさらに含む。大域的な音声認識モデルを受信するステップは、リモートシステムが生成された勾配および追加の勾配に基づいて大域的な音声認識モデルの大域的な重みを更新した後である。一部の実装において、方法は、大域的な音声認識モデルの受信に応じて、クライアントデバイスのローカルストレージ内で音声認識モデルを大域的な音声認識モデルによって置き換えるステップをさらに含む。
一部の実装において、方法は、更新された大域的な重みをリモートシステムからクライアントデバイスにおいて受信するステップをさらに含む。更新された大域的な重みを受信するステップは、リモートシステムが勾配および追加の勾配に基づいて大域的なエンドツーエンドの音声認識モデルの大域的な重みを更新した後である。一部の実装において、方法は、更新された大域的な重みの受信に応じて、クライアントデバイスのローカルストレージ内で音声認識モデルの重みを更新された大域的な重みによって置き換えるステップをさらに含む。
101 オーディオデータ
101A 追加のオーディオデータ
102 その他のセンサデータ
103 予測された出力
105 グラウンドトゥルース出力
106 勾配
107 追加の勾配
110 クライアントデバイス
111 オンデバイスのストレージ
122A 機械学習エンジン
122B ホットワード検出エンジン
122C ホットワードを使用しない呼び出しエンジン
122D 会話継続エンジン
124 アシスタント作動エンジン
126 勾配エンジン
128 音声活動検出器
132A オンデバイスの機械学習訓練エンジン
142 オンデバイスの音声認識器
142A オンデバイスの音声認識モデル
143A 認識されたテキスト
143B さらなる認識されたテキスト
144 オンデバイスのNLUエンジン
144A オンデバイスのNLUモデル
145A NLUデータ
145B さらなるNLUデータ
146 オンデバイスの履行エンジン
146A オンデバイスの履行モデル
147A 履行データ
147B さらなる履行データ
150 実行
152A 機械学習モデル
152A1 大域的な音声認識モデル
152B ホットワード検出モデル
152C ホットワードを使用しない呼び出しモデル
152D 会話継続モデル
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 (38)

  1. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスの1つまたは複数のマイクロフォンを介して、ユーザの話された発話をキャプチャするオーディオデータを受信するステップと、
    前記クライアントデバイスのローカルに記憶された機械学習モデルを使用して前記オーディオデータを処理して、予測された出力を生成するステップであって、
    前記予測された出力は、前記オーディオデータが1つまたは複数の現在休止中の自動化アシスタントの機能を開始するためのユーザの意図を含むかどうかを示す確率に対応する、ステップと、
    前記予測された出力に対応する前記確率確率の閾値を満たすことができないことに基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える判断を行うステップと、
    前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える前記判断を行った後、
    前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップと、
    前記判断が誤っていたとの判定に応じて、
    前記予測された出力に対応する前記確率を前記確率の閾値を満たすグラウンドトゥルース出力と比較することに基づいて、前記機械学習モデルを更新するための勾配を生成するステップであって、
    前記確率の閾値を満たす前記グラウンドトゥルース出力は、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始すべきだったことを示すグラウンドトゥルースの確率である、ステップと、
    前記生成された勾配に基づいて前記機械学習モデルの重みを更新するステップと
    を含む、方法。
  2. 前記判断が誤っていたと判定するステップが、前記予測された出力の大きさにさらに基づく請求項1に記載の方法。
  3. 前記予測された出力の前記大きさにさらに基づいて、前記判断が誤っていたと判定するステップが、前記予測された出力が、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始するための前記閾値を満たすことはできないが、前記閾値の特定の範囲内にあると判定することを含む請求項2に記載の方法。
  4. 前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られた前記さらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップが、前記オーディオデータの受信と前記さらなるユーザインターフェース入力の受け取りとの間の継続時間に基づく請求項1から3のいずれか一項に記載の方法。
  5. 前記さらなるユーザインターフェース入力が、追加のオーディオデータにキャプチャされた追加の話された発話であり、
    前記方法が、
    前記機械学習モデルを使用して前記追加のオーディオデータを処理して、追加の予測された出力を生成するステップと、
    前記追加の予測された出力が前記閾値を満たすことに基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始する追加の判断を行うステップと
    をさらに含み、
    前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られた前記さらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップが、
    前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始する前記追加の判断に基づいて、前記判断が誤っていたと判定することを含む請求項1から4のいずれか一項に記載の方法。
  6. 前記さらなるユーザインターフェース入力が、追加のオーディオデータにキャプチャされた追加の話された発話であり、
    前記方法が、
    前記話された発話と前記追加の話された発話との間の類似性の1つまたは複数の尺度を決定するステップをさらに含み、
    前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られた前記さらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップが、前記話された発話と前記追加の話された発話との間の類似性の前記1つまたは複数の尺度に基づく請求項1から5のいずれか一項に記載の方法。
  7. 類似性の前記1つまたは複数の尺度が、
    前記話された発話および前記追加の話された発話の継続時間の比較に基づく継続時間の類似性、
    前記話された発話および前記追加の話された発話の音声の特徴の比較に基づく音声の類似性、または
    前記話された発話および前記追加の話された発話の認識されたテキストの比較に基づくテキストの類似性
    のうちの1つまたは複数を含む請求項6に記載の方法。
  8. 前記さらなるユーザインターフェース入力が、追加のオーディオデータにキャプチャされた追加の話された発話であり、
    前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られた前記さらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップが、
    前記追加の話された発話の1つまたは複数の音響的特徴、または
    前記クライアントデバイスのローカルに記憶された音声認識モデルを使用して前記追加の話された発話から認識されたテキスト
    に基づいて、前記判断が誤っていたと判定することを含む請求項1から7のいずれか一項に記載の方法。
  9. 前記判断が誤っていたと判定するステップが、前記判断が誤っていたという確実性を示す確実性の尺度を決定することを含み、前記方法が、
    前記確実性の尺度に基づいて、前記閾値を満たす前記グラウンドトゥルース出力の大きさを決定するステップをさらに含む請求項1から8のいずれか一項に記載の方法。
  10. 前記1つまたは複数の現在休止中の自動化アシスタントの機能が、
    音声認識、
    自然言語理解(NLU)、
    前記オーディオデータもしくはその後のオーディオデータのリモートサーバへの送信、
    前記音声認識からの認識されたテキストのリモートサーバへの送信、または
    前記認識されたテキストおよび/もしくは前記NLUからのNLU出力に基づく応答の生成
    のうちの1つまたは複数を含む請求項1から9のいずれか一項に記載の方法。
  11. 前記機械学習モデルが、ホットワード検出モデルであり、
    前記1つまたは複数の現在休止中の自動化アシスタントの機能が、
    前記クライアントデバイスのローカルに記憶された音声認識モデルを使用する音声認識、
    前記オーディオデータのリモートサーバへの送信、
    前記音声認識からの認識されたテキストの前記リモートサーバへの送信、または
    前記クライアントデバイスのローカルに記憶された自然言語理解モデルを使用する、前記認識されたテキストの自然言語理解
    のうちの1つまたは複数を含む請求項1から10のいずれか一項に記載の方法。
  12. 前記機械学習モデルが、会話継続モデルであり、
    前記1つまたは複数の現在休止中の自動化アシスタントの機能が、
    前記オーディオデータのリモートサーバへの送信、
    前記オーディオデータのローカルの音声認識からの認識されたテキストの前記リモートサーバへの送信、または
    前記オーディオデータもしくは前記認識されたテキストに基づく応答の生成
    のうちの1つまたは複数を含む請求項1から11のいずれか一項に記載の方法。
  13. 前記予測された出力が、さらに、前記機械学習モデルを使用して、前記認識されたテキストおよび/または前記認識されたテキストに基づいて生成された自然言語理解データを処理することに基づく請求項12に記載の方法。
  14. 前記オーディオデータおよび前記さらなるユーザインターフェース入力のいずれも送信せずに、前記生成された勾配をネットワークを介してリモートシステムに送信するステップをさらに含み、
    前記リモートシステムが、前記機械学習モデルに対応する大域的な機械学習モデルの大域的な重みを更新するために、前記生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する請求項1から13のいずれか一項に記載の方法。
  15. 前記大域的な機械学習モデルの前記更新された大域的な重みが、前記リモートシステムのメモリに記憶される請求項14に記載の方法。
  16. 前記大域的な機械学習モデルを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記大域的な機械学習モデルを受信するステップが、前記リモートシステムが前記生成された勾配および前記追加の勾配に基づいて前記大域的な機械学習モデルの前記大域的な重みを更新した後である、ステップと、
    前記大域的な機械学習モデルの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記機械学習モデルを前記大域的な機械学習モデルによって置き換えるステップと
    をさらに含む請求項14または請求項15に記載の方法。
  17. 前記更新された大域的な重みを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記更新された大域的な重みを受信するステップが、前記リモートシステムが前記生成された勾配および前記追加の勾配に基づいて前記大域的な機械学習モデルの前記大域的な重みを更新した後である、ステップと、
    前記更新された大域的な重みの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記機械学習モデルの重みを前記更新された大域的な重みによって置き換えるステップと
    をさらに含む請求項14または請求項15に記載の方法。
  18. 前記クライアントデバイスの1つまたは複数のセンサからのセンサデータに基づいて、前記クライアントデバイスの現在の状態が1つまたは複数の条件を満たすと判定するステップをさらに含み、
    前記勾配を生成するステップおよび/または前記重みを更新するステップが、前記クライアントデバイスの前記現在の状態が前記1つまたは複数の条件を満たすとの判定に応じて実行される請求項1から17のいずれか一項に記載の方法。
  19. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスの1つまたは複数のセンサ構成要素を介して、前記クライアントデバイスの環境の1つまたは複数の環境属性をキャプチャするセンサデータを受信するステップと、
    前記クライアントデバイスのローカルに記憶された機械学習モデルを使用して前記センサデータを処理して、1つまたは複数の現在休止中の自動化アシスタントの機能が作動されるかどうかを指示する予測された出力を生成するステップであって、
    前記予測された出力は、前記センサデータが前記指示することを含むかどうかを示す確率に対応する、ステップと、
    前記予測された出力に対応する前記確率確率の閾値を満たすことができないことに基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすべきかどうかに関する判断を行うステップと、
    前記判断を行った後、前記判断が誤っていたと判定するステップと、
    前記判断が誤っていたとの判定に応じて、
    前記予測された出力に対応する前記確率を前記確率の閾値を満たすグラウンドトゥルース出力と比較することに基づいて、前記機械学習モデルを更新するための勾配を生成するステップであって、
    前記確率の閾値を満たす前記グラウンドトゥルース出力は、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすべきだったことを示すグラウンドトゥルースの確率である、ステップと、
    前記生成された勾配に基づいて前記機械学習モデルの重みを更新するステップと
    を含む、方法。
  20. 前記機械学習モデルが、ホットワードを使用しない呼び出しモデルであり、
    前記センサデータが、前記1つまたは複数のセンサ構成要素のカメラからの1つまたは複数の画像、前記1つまたは複数のセンサ構成要素の近接センサからの近接センサデータ、前記1つまたは複数のセンサ構成要素の加速度計からの加速度計データ、および/または前記1つまたは複数のセンサ構成要素の磁力計からの磁力計データを含む請求項19に記載の方法。
  21. 前記1つまたは複数の現在休止中の自動化アシスタントの機能が、
    前記クライアントデバイスのローカルに記憶された音声認識モデルを使用する音声認識、
    前記センサデータのリモートサーバへの送信、
    前記音声認識からの認識されたテキストの前記リモートサーバへの送信、または
    前記クライアントデバイスのローカルに記憶された自然言語理解モデルを使用する、前記認識されたテキストの自然言語理解
    のうちの1つまたは複数を含む請求項19または20に記載の方法。
  22. 前記判断が誤っていたと判定するステップが、
    前記センサデータを受信した後に前記クライアントデバイスにおいて追加のユーザインターフェース入力を受け取ることと、
    前記追加のユーザインターフェース入力が前記判断の訂正を示すと判定することと
    を含み、
    前記判断が誤っていたと判定するステップが、前記追加のユーザインターフェース入力が前記判断の前記訂正を示すと判定することに基づく請求項19に記載の方法。
  23. 前記追加のユーザインターフェース入力が前記判定の前記訂正を示すと判定することが、前記センサデータの受信と前記追加のユーザインターフェース入力の受け取りとの間の継続時間に基づく請求項22に記載の方法。
  24. 前記センサデータが、話された発話をキャプチャするオーディオデータを含み、
    前記追加のユーザインターフェース入力が、追加のオーディオデータにキャプチャされた追加の話された発話であり、
    前記方法が、
    前記オーディオデータおよび前記追加のオーディオデータに基づいて、前記話された発話と前記追加の話された発話との間の類似性の1つまたは複数の尺度を決定するステップをさらに含み、
    前記追加のユーザインターフェース入力が前記判定の前記訂正を示すと判定することが、類似性の前記1つまたは複数の尺度に基づく請求項22または23に記載の方法。
  25. 前記追加のユーザインターフェース入力が、追加のオーディオデータであり、
    前記追加のユーザインターフェース入力が前記判断の前記訂正を示すと判定することが、
    前記追加のオーディオデータの1つまたは複数の音響的特徴、および
    前記クライアントデバイスのローカルに記憶された音声認識モデルを使用して前記追加のオーディオデータから認識されたテキスト
    のうちの1つまたは複数に基づく請求項22または23に記載の方法。
  26. 前記判断が誤っていたと判定するステップが、前記予測された出力の大きさにさらに基づく請求項19から25のいずれか一項に記載の方法。
  27. 前記判断が、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガしないというものであり、
    前記判断が誤っていたと判定するステップが、
    前記機械学習モデルを使用して前記追加のユーザインターフェース入力を処理して、追加の予測された出力を生成すること、および
    前記追加の予測された出力に基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすると決定すること
    に基づく請求項22から26のいずれか一項に記載の方法。
  28. 前記判断が、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガするというものであり、
    前記トリガされる1つまたは複数の現在休止中の自動化アシスタントの機能が、前記センサデータのリモートサーバへの送信を含み、
    前記判断が誤っていたと判定するステップが、
    送信に応じて前記リモートサーバから、前記判定が誤っていたというインジケーションを受信することを含む請求項22から26のいずれか一項に記載の方法。
  29. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスの1つまたは複数のマイクロフォンを介して、ユーザの話された発話をキャプチャするオーディオデータを受信するステップと、
    前記クライアントデバイスのローカルに記憶された機械学習モデルを使用して前記オーディオデータを処理して、予測された出力を生成するステップであって、
    前記予測された出力は、前記オーディオデータが1つまたは複数の現在休止中の自動化アシスタントの機能を開始するためのユーザの意図を含むかどうかを示す確率に対応する、ステップと、
    前記予測された出力に対応する前記確率確率の閾値を満たすことができないことに基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える判断を行うステップと、
    前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始することを控える前記判断を行った後、
    前記オーディオデータを受信した後に前記クライアントデバイスにおいて受け取られたさらなるユーザインターフェース入力に基づいて、前記判断が誤っていたと判定するステップと、
    前記判断が誤っていたとの判定に応じて、
    前記予測された出力に対応する前記確率を前記確率の閾値を満たすグラウンドトゥルース出力と比較することに基づいて、前記機械学習モデルを更新するための勾配を生成するステップであって、
    前記確率の閾値を満たす前記グラウンドトゥルース出力は、前記1つまたは複数の現在休止中の自動化アシスタントの機能を開始すべきだったことを示すグラウンドトゥルースの確率である、ステップと、
    前記オーディオデータおよび前記さらなるユーザインターフェース入力のいずれも送信せずに、前記生成された勾配をネットワークを介してリモートシステムに送信するステップと
    を含み、
    前記リモートシステムが、大域的な音声認識モデルの大域的な重みを更新するために、前記生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する、方法。
  30. 前記大域的な音声認識モデルの前記更新された大域的な重みが、前記リモートシステムのメモリに記憶される請求項29に記載の方法。
  31. 前記大域的な音声認識モデルを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記大域的な音声認識モデルを受信するステップが、前記リモートシステムが前記生成された勾配および前記追加の勾配に基づいて前記大域的な音声認識モデルの前記大域的な重みを更新した後である、ステップと、
    前記大域的な音声認識モデルの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルを前記大域的な音声認識モデルによって置き換えるステップと
    をさらに含む請求項29または30に記載の方法。
  32. 前記更新された大域的な重みを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記更新された大域的な重みを受信するステップが、前記リモートシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新した後である、ステップと、
    前記更新された大域的な重みの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルの重みを前記更新された大域的な重みによって置き換えるステップと
    をさらに含む請求項29または30に記載の方法。
  33. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスの1つまたは複数のセンサ構成要素を介して、前記クライアントデバイスの環境の1つまたは複数の環境属性をキャプチャするセンサデータを受信するステップと、
    前記クライアントデバイスのローカルに記憶された機械学習モデルを使用して前記センサデータを処理して、1つまたは複数の現在休止中の自動化アシスタントの機能が作動されるかどうかを指示する予測された出力を生成するステップであって、
    前記予測された出力は、前記センサデータが前記指示することを含むかどうかを示す確率に対応する、ステップと、
    前記予測された出力に対応する前記確率確率の閾値を満たすことができないことに基づいて、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすべきかどうかに関する判断を行うステップと、
    前記判断を行った後、前記判断が誤っていたと判定するステップと、
    前記判断が誤っていたとの判定に応じて、
    前記予測された出力に対応する前記確率を前記確率の閾値を満たすグラウンドトゥルース出力と比較することに基づいて、前記機械学習モデルを更新するための勾配を生成するステップであって、
    前記確率の閾値を満たす前記グラウンドトゥルース出力は、前記1つまたは複数の現在休止中の自動化アシスタントの機能をトリガすべきだったことを示すグラウンドトゥルースの確率である、ステップと、
    オーディオデータおよびさらなるユーザインターフェース入力のいずれも送信せずに、前記生成された勾配をネットワークを介してリモートシステムに送信するステップと
    を含み、
    前記リモートシステムが、大域的な音声認識モデルの大域的な重みを更新するために、前記生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する、方法。
  34. 前記大域的な音声認識モデルの前記更新された大域的な重みが、前記リモートシステムのメモリに記憶される請求項33に記載の方法。
  35. 前記大域的な音声認識モデルを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記大域的な音声認識モデルを受信するステップが、前記リモートシステムが前記生成された勾配および前記追加の勾配に基づいて前記大域的な音声認識モデルの前記大域的な重みを更新した後である、ステップと、
    前記大域的な音声認識モデルの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルを前記大域的な音声認識モデルによって置き換えるステップと
    をさらに含む請求項33または34に記載の方法。
  36. 前記更新された大域的な重みを前記リモートシステムから前記クライアントデバイスにおいて受信するステップであって、前記更新された大域的な重みを受信するステップが、前記リモートシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新した後である、ステップと、
    前記更新された大域的な重みの受信に応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルの重みを前記更新された大域的な重みによって置き換えるステップと
    をさらに含む請求項33または34に記載の方法。
  37. 少なくとも1つのマイクロフォンと、
    少なくとも1つのディスプレイと、
    1つまたは複数のプロセッサと
    を含み、前記1つまたは複数のプロセッサは、前記1つまたは複数のプロセッサに請求項1から36のいずれか一項に記載の方法を実行させるローカルに記憶された命令を実行する、クライアントデバイス。
  38. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から36のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。
JP2022522685A 2019-11-08 2019-11-08 オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用 Active JP7418563B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/060537 WO2021091573A1 (en) 2019-11-08 2019-11-08 Using corrections, of automated assistant functions, for training of on-device machine learning models

Publications (2)

Publication Number Publication Date
JP2023500048A JP2023500048A (ja) 2023-01-04
JP7418563B2 true JP7418563B2 (ja) 2024-01-19

Family

ID=69160151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522685A Active JP7418563B2 (ja) 2019-11-08 2019-11-08 オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用

Country Status (6)

Country Link
US (2) US11741953B2 (ja)
EP (2) EP4254169A3 (ja)
JP (1) JP7418563B2 (ja)
KR (1) KR20220088926A (ja)
CN (1) CN114651228A (ja)
WO (1) WO2021091573A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114651228A (zh) * 2019-11-08 2022-06-21 谷歌有限责任公司 使用自动化助理功能的校正来训练设备上的机器学习模型
US11120805B1 (en) * 2020-06-19 2021-09-14 Micron Technology, Inc. Intelligent microphone having deep learning accelerator and random access memory
US11521604B2 (en) * 2020-09-03 2022-12-06 Google Llc User mediation for hotword/keyword detection
EP4099142A4 (en) 2021-04-19 2023-07-05 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND METHOD OF OPERATION
US11601694B1 (en) 2021-09-15 2023-03-07 Castle Global, Inc. Real-time content data processing using robust data models
US20230177382A1 (en) * 2021-12-02 2023-06-08 Google Llc Method(s) and system(s) for improved efficiency in federated learning of machine learning model(s)
EP4213076A1 (en) * 2022-01-13 2023-07-19 Nokia Technologies Oy Updating classifiers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365226A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US20180232662A1 (en) 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc Parsers for deriving user intents
JP2018136568A (ja) 2014-05-30 2018-08-30 アップル インコーポレイテッド 手動始点/終点指定及びトリガフレーズの必要性の低減

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
CN104969289B (zh) * 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US8719039B1 (en) * 2013-12-05 2014-05-06 Google Inc. Promoting voice actions to hotwords
US10152298B1 (en) * 2015-06-29 2018-12-11 Amazon Technologies, Inc. Confidence estimation based on frequency
US10810912B2 (en) * 2017-03-15 2020-10-20 Aether Inc. Face recognition triggered digital assistant and LED light ring for a smart mirror
US11250844B2 (en) * 2017-04-12 2022-02-15 Soundhound, Inc. Managing agent engagement in a man-machine dialog
WO2018212941A1 (en) * 2017-05-15 2018-11-22 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10311872B2 (en) * 2017-07-25 2019-06-04 Google Llc Utterance classifier
KR102661487B1 (ko) * 2018-05-04 2024-04-26 구글 엘엘씨 검출된 제스처 및 시선에 기초하여 자동화된 어시스턴트 기능 호출
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
WO2020091503A1 (en) * 2018-11-01 2020-05-07 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
EP4047506A1 (en) * 2019-10-16 2022-08-24 Sigma Technologies, S.L.U. Method and system to automatically train a chatbot using domain conversations
CN114651228A (zh) * 2019-11-08 2022-06-21 谷歌有限责任公司 使用自动化助理功能的校正来训练设备上的机器学习模型
US11521604B2 (en) * 2020-09-03 2022-12-06 Google Llc User mediation for hotword/keyword detection
US11830486B2 (en) * 2020-10-13 2023-11-28 Google Llc Detecting near matches to a hotword or phrase
US11557300B2 (en) * 2020-10-16 2023-01-17 Google Llc Detecting and handling failures in other assistants
US11562748B2 (en) * 2020-12-01 2023-01-24 Google Llc Detecting and suppressing commands in media that may trigger another automated assistant

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365226A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
JP2018136568A (ja) 2014-05-30 2018-08-30 アップル インコーポレイテッド 手動始点/終点指定及びトリガフレーズの必要性の低減
US20180232662A1 (en) 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc Parsers for deriving user intents

Also Published As

Publication number Publication date
US20210327421A1 (en) 2021-10-21
US11741953B2 (en) 2023-08-29
CN114651228A (zh) 2022-06-21
EP3841459B1 (en) 2023-10-04
EP4254169A3 (en) 2023-12-13
EP3841459A1 (en) 2021-06-30
WO2021091573A1 (en) 2021-05-14
US20230352019A1 (en) 2023-11-02
KR20220088926A (ko) 2022-06-28
EP4254169A2 (en) 2023-10-04
JP2023500048A (ja) 2023-01-04

Similar Documents

Publication Publication Date Title
JP7418563B2 (ja) オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用
US11482217B2 (en) Selectively activating on-device speech recognition, and using recognized text in selectively activating on-device NLU and/or on-device fulfillment
AU2020466345B2 (en) User mediation for hotword/keyword detection
US11972766B2 (en) Detecting and suppressing commands in media that may trigger another automated assistant
US20230037085A1 (en) Preventing non-transient storage of assistant interaction data and/or wiping of stored assistant interaction data
US20240055002A1 (en) Detecting near matches to a hotword or phrase
AU2024200224A1 (en) Detecting and handling failures in automated voice assistants
US20230143177A1 (en) Contextual suppression of assistant command(s)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230905

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: 20231211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240109

R150 Certificate of patent or registration of utility model

Ref document number: 7418563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150