JP2022531524A - オンデバイスの音声認識モデルの訓練のためのテキストセグメントのオンデバイスの音声合成 - Google Patents

オンデバイスの音声認識モデルの訓練のためのテキストセグメントのオンデバイスの音声合成 Download PDF

Info

Publication number
JP2022531524A
JP2022531524A JP2021541637A JP2021541637A JP2022531524A JP 2022531524 A JP2022531524 A JP 2022531524A JP 2021541637 A JP2021541637 A JP 2021541637A JP 2021541637 A JP2021541637 A JP 2021541637A JP 2022531524 A JP2022531524 A JP 2022531524A
Authority
JP
Japan
Prior art keywords
text segment
client device
speech
speech recognition
audio data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021541637A
Other languages
English (en)
Other versions
JP7104247B2 (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 JP2022531524A publication Critical patent/JP2022531524A/ja
Application granted granted Critical
Publication of JP7104247B2 publication Critical patent/JP7104247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

クライアントデバイスのプロセッサが、クライアントデバイスにローカルに記憶されたテキストセグメントを特定し、特定されたテキストセグメントの合成音声を含む合成音声オーディオデータを生成するために、クライアントデバイスにローカルに記憶された音声合成モデルを使用してテキストセグメントを処理し、予測された出力を生成するために、クライアントデバイスにローカルに記憶されるオンデバイスの音声認識モデルを使用して合成音声を処理し、予測された出力をテキストセグメントに対応するグラウンドトゥルース出力と比較することに基づいて勾配を生成することができる。一部の実装において、生成された勾配は、オンデバイスの音声認識モデルの重みを更新するためにクライアントデバイスのプロセッサによって使用される。一部の実装において、生成された勾配は、追加的にまたは代替的に、大域的な音声認識モデルの大域的な重みの遠隔の更新に使用するために遠隔のシステムに送信される。

Description

音声に基づくユーザインターフェースが、コンピュータおよびその他の電子デバイスの制御にますます使用されるようになりつつある。音声に基づくユーザインターフェースは、単純で直接的なコマンドのみを理解し得る初期の未熟なインターフェースから、自然言語の要求に応答し、文脈を理解し、ユーザとの会話ややりとりを管理することができるより洗練されたインターフェースへと発展を続けてきた。多くの音声に基づくユーザインターフェースは、発話に対して(たとえば、スピーチトゥテキストモデルを使用する)音声認識を実行して対応するテキストを生成し、発話の意味を決定しようとテキストの意味解析を実行し、決定された意味に基づいて1つまたは複数のアクションを起こす。
音声認識の性能は向上し続けてきたが、多くの場面でいまだに不正確な音声認識が発生し得る。非限定的な例として、不正確な音声認識は、新しい語、および/または音声認識モデルが訓練される訓練コーパスに比較的あまり現れない(もしくは存在しない)語に関して発生し得る。新しい語および/または発生頻度の低い語を効果的に認識しようと、1つの初期仮説(または複数の初期仮説)に加えて追加の音声認識仮説を生成し、追加の音声認識仮説を音声認識のための候補とみなす技術が提案された。しかし、そのような技術は、追加の後処理を必要とし、1つの初期仮説/複数の初期仮説があまりにも的外れであるとき、および/または追加の仮説の辞書(lexicon)が特定の語を含まないときなどの多くの場面で多くの語の効果的な認識につながらないことが依然としてあり得る。
さらに、不正確な音声認識は、音声認識がオンデバイスで(つまり、クライアントデバイス上で)実行されるとき悪化し得る。これは、たとえば、オンデバイスの音声認識モデルがクラウドに基づくモデルよりも強固でないこと、オンデバイスのメモリおよび/もしくはプロセッサリソースがクラウドに基づくリソースよりも制約されること、ならびに/または追加の仮説生成辞書がデバイスにおいてより制約されることが原因であり得る。
本明細書において開示されるいくつかの実装は、オンデバイスの音声認識モデルを利用してクライアントデバイスにおいてローカルに実行される音声認識(本明細書においては「オンデバイスの音声認識」と呼ばれる)の性能を改善することを対象とする。それらの実装においては、クライアントデバイスのプロセッサが、クライアントデバイスにローカルに(たとえば、クライアントデバイスのRAMおよび/またはROMに)記憶されたテキストセグメントを特定し、特定されたテキストセグメントの合成音声を含む合成音声オーディオデータを生成するために、クライアントデバイスにローカルに記憶された音声合成モデルを使用してテキストセグメントを処理し、予測された出力を生成するために、クライアントデバイスにローカルに記憶されるオンデバイスの音声認識モデルを使用して合成音声を処理し、予測された出力をテキストセグメントに対応するグラウンドトゥルース(ground truth)出力と比較することに基づいて勾配を生成する。たとえば、オンデバイスの音声認識モデルは、予測されたテキストセグメントの予測された出力を生成する生成するために使用されるエンドツーエンドの音声認識モデルであることが可能であり、勾配を生成することは、予測されたテキストセグメントをテキストセグメントと比較することに基づき得る。また、たとえば、オンデバイスの音声認識モデルは、その代わりに、予測された音素のシーケンスの予測された出力を生成するために使用されることが可能であり、勾配を生成することは、予測された音素のシーケンスをテキストセグメントに対応する音素のグラウンドトゥルースシーケンスと比較することに基づき得る。
一部の実装において、生成された勾配は、生成された勾配に基づいてオンデバイスの音声認識モデルの1つまたは複数の重みを更新するためにクライアントデバイスの1つまたは複数のプロセッサによって使用される。たとえば、誤差逆伝播法および/またはその他の技術が、勾配に基づいて重みを更新するために使用され得る。これは、テキストセグメントを含む発話に関する、オンデバイスの音声認識モデルを使用するクライアントデバイスにおける音声認識の性能を高めることができる。さらに、これは、特定のテキストセグメントのいかなる実際の人間の発話も必要とすることなく、オンデバイスの音声認識モデルが特定のテキストセグメントに基づいて訓練されることを可能にする。したがって、テキストセグメントが潜在的にクライアントデバイスにおいて以前検出されたいかなる発話にも含まれていなかったにもかかわらず、特定のテキストセグメントが、オンデバイスの音声認識モデルを使用して正しく認識され得る。さらに、多くの実装は、クライアントデバイスにローカルに記憶された大量のテキストセグメントにこのプロセスを繰り返し、それによって、テキストセグメントのいずれかを含む発話に関するオンデバイスの音声認識の性能を高める。これは、デバイスに(一時的にまたは非一時的に)記憶され、クライアントデバイスに向けた発話に含まれる可能性が高い実際のテキストセグメントに合うようにオンデバイスの音声認識モデルを効果的に調整する。
一部の実装においては、生成された勾配に基づいて更新されるオンデバイスの音声認識モデルが、クライアントデバイスにおいて検出された発話の音声認識を実行する際に、クライアントデバイスによって現在利用されているオンデバイスの音声認識モデルに付け加えられ得る。それらの実装において、更新されるオンデバイスの音声認識モデルは、1つまたは複数の条件が満たされることに応じて、現在利用されているオンデバイスの音声認識モデルを効果的に置き換えるために展開され得る(それによって、現在利用されているオンデバイスの音声認識モデルになる)。たとえば、条件は、更新されるオンデバイスの音声認識モデルのオンデバイスの確認、更新されるオンデバイスの音声認識モデルが現在利用されているオンデバイスの音声認識モデルよりも(たとえば、適合率および/もしくは再現率(recall)の点で)性能が良いというオンデバイスの判定、ならびに/または更新されるオンデバイスの音声認識モデルの訓練の少なくとも閾値の量および/もしくは継続時間の発生を含み得る。更新されるオンデバイスの音声認識モデルが現在利用されているオンデバイスの音声認識モデルよりも性能が良いという判定は、たとえば、本明細書において説明される技術によって生成されるが、訓練の際に利用されなかった(つまり、その代わりに試験のために取っておかれた)訓練インスタンスに基づいて性能を比較することに基づき得る。更新されたオンデバイスの音声認識モデルを効果的に置き換えるために現在利用されているオンデバイスの音声認識モデルを展開することは、現在利用されているモデルの重みを更新されたモデルの重みによって更新すること、または現在利用されているモデルを更新されたモデルによって置き換えることを含み得る。更新されたモデルが現在利用されているモデルに効果的に取って替わり、音声認識のために使用されると、更新されたモデルのコピーが、更新される新しいモデルとして使用され得る。
一部の実装において、生成された勾配は、追加的にまたは代替的に、クライアントデバイスによってネットワークを介して遠隔のシステムに送信される。それらの実装において、遠隔のシステムは、大域的な(global)音声認識モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。追加のクライアントデバイスからの追加の勾配は、対応するローカルに記憶されたテキストセグメントおよびそれらのテキストセグメントのローカルに生成された合成音声に基づいて、対応する追加のクライアントデバイスにおいてローカルに同様に生成され得る。様々な実装において、クライアントデバイスは、テキストセグメント、合成音声オーディオデータ、および予測されたテキストセグメントのいずれも送信せずに、生成された勾配を送信する。遠隔のシステムは、テキストセグメント、合成音声オーディオデータ、および予測されたテキストセグメントのいかなる参照または使用もせずに、大域的なモデルを更新する際、生成された勾配を利用することができる。勾配のみの送信は、テキストセグメントと、合成音声オーディオデータと、予測されたテキストセグメントとの比較的大きなデータサイズの組合せの送信よりも少ないネットワークリソースを利用する。さらに、勾配の送信は、テキストセグメントおよび合成音声オーディオデータが勾配から導出可能でないので、オンデバイスのテキストセグメントのプライバシーおよびセキュリティを守る。一部の実装において、1つまたは複数の差分プライバシー技術(たとえば、ガウス雑音の追加)が、テキストセグメントおよび/または合成音声オーディオデータが勾配から導出可能でないことをさらに保証するために利用され得る。
遠隔のシステムが音声認識モデルの大域的な重みを更新する実装において、遠隔のシステムは、その後、更新された大域的な重みをクライアントデバイスに提供して、クライアントデバイスにそれらのクライアントデバイスのオンデバイスの音声認識モデルの重みを更新された大域的な重みで置き換えさせることができる。一部の実装において、遠隔のシステムは、追加的にまたは代替的に、更新された大域的な音声認識モデルをクライアントデバイスに提供して、クライアントデバイスにそれらのクライアントデバイスのオンデバイスの音声認識モデルを更新された大域的な音声認識モデルで置き換えさせることができる。したがって、オンデバイスの音声認識の性能が、更新された大域的な重みまたは更新された大域的な音声認識モデルの利用によって高められる。
様々な技術が、テキストセグメントおよび対応するローカルで生成された合成音声に基づいて勾配を生成する際に利用するためのローカルに記憶されたテキストセグメントを特定するためにクライアントデバイスによって利用され得る。
たとえば、テキストセグメントは、それらのテキストセグメントが連絡先リスト、メディアプレイリスト、リンクされたスマートデバイスのエイリアス(たとえば、スマートライト、スマートプラグ、および/もしくはクライアントデバイスのアカウントとリンクされたその他のスマートデバイスのエイリアス)のリストに含まれることに基づいて、ならびに/またはクライアントデバイスにおいて受け取られたタイピングされた入力から特定され得る。たとえば、テキストセグメントは、それが連絡先リストの新しく追加された連絡先のエイリアスである、またはそれが新しく追加されたスマートデバイスのエイリアスであると判定することに基づいて特定され得る。これらのおよびその他の方法で、オンデバイスの音声認識が、新しく追加されたエイリアスに関して迅速に改善されることが可能であり、対応する連絡先および/または対応するスマートデバイスを対象とする音声に基づくインタラクションの正しい認識を可能にする。また、たとえば、1つまたは複数のテキストセグメントが、ユーザにとって重要であるテキストセグメントのリストをユーザが与えることを可能にするために提供されたインターフェースにおいて指示されたタイピングされたユーザインターフェース入力などのそれらのテキストセグメントを含むタイピングされたユーザインターフェース入力に基づいて特定され得る。
別の例として、テキストセグメントは、追加的にまたは代替的に、テキストセグメントが語彙にないと判定すること(つまり、オンデバイスの音声認識モデルがまだ訓練されたことがないテキストセグメント)に基づいて特定され得る。テキストセグメントが語彙にないと判定することは、それらのテキストセグメントがローカルに記憶された辞書に含まれないと判定することに基づいておよび/またはその他の考察に基づき得る。
さらに別の例として、テキストセグメントは、クライアントデバイスの1つまたは複数のマイクロフォンによって検出された以前の人の発話がテキストセグメントを含んでいたと判定すること、およびオンデバイスの音声認識モデルを使用して実行された以前の人の発話の以前の音声認識がテキストセグメントを正しく認識することができなかったと判定することに基づいて特定され得る。以前の音声認識がテキストセグメントを正しく認識することができなかったと判定することは、以前の音声認識に基づく正しくない予測を取り消す受け取られたユーザ入力に基づき得る。さらに、以前の人の発話がテキストセグメントを含んでいたと判定することは、受け取られたユーザ入力に基づき得る、および/または以前の音声認識に基づく正しくない予測を取り消すユーザ入力の後に受け取られる追加の受け取られたユーザ入力に基づき得る。たとえば、正しくない予測は、発話のレンダリングされた文字起こし(transcription)であることが可能であり、正しくない予測を取り消す受け取られたユーザ入力は、レンダリングされた文字起こしのすべてまたは一部の修正であることが可能である。たとえば、正しくない文字起こし「Francois」がレンダリングされることがあり、正しくない予測を取り消す受け取られたユーザ入力は、名前の最後に「e」を追加する(名前を「Francoise」に訂正する)ユーザインターフェース入力であることが可能であり、発話が「Francoise」を含んでいたと判定することは、名前の最後に「e」を追加したユーザインターフェース入力に基づき得る。また、たとえば、正しくない文字起こし「Francis」がレンダリングされることがあり、正しくない予測を取り消す受け取られたユーザ入力は、正しくない文字起こしを削除するユーザインターフェース入力であることが可能であり、発話が「Francoise」を含んでいたと判定することは、削除された文字起こし「Francis」に代わる追加のタイピングされたユーザインターフェース入力「Francoise」に基づき得る。別の例として、複数の候補文字起こしが生成され、ユーザが正しい文字起こしを選択するためのプロンプトと一緒にレンダリングされることが可能であり(たとえば、「あなたが言いたかったのは(1) Francois、(2) Francoise、または(3) Francis」)、正しい候補文字起こしの選択(たとえば、「(3) Francis」をタップすること、または「3」と言うこと)が、正しくない文字起こし(たとえば、「Francois」および「Francis」)を取り消し、正しい文字起こし(たとえば、「Francoise」)を示し得る。別の例として、正しくない予測は、実行されるアクションであることが可能であり、正しくない予測を取り消す受け取られたユーザ入力は、実行前または実行中のアクションの取り消しであることが可能であり、追加の受け取られたユーザ入力は、テキストセグメントの入力を含むことが可能である。
クライアントデバイスの限られたバッテリ、プロセッサ、メモリ、および/またはその他のリソースを節約するために、様々な実装において、クライアントデバイスは、クライアントデバイスの現在の状態が1つまたは複数の条件を満たすと判定することに応じてのみ、本明細書において開示される1つまたは複数のステップを実行する。たとえば、合成音声オーディオデータを生成すること、および/または合成音声オーディオデータを処理して予測されたテキストセグメントを生成すること、および/または勾配を生成すること、および/または1つもしくは複数の重みを更新することは、クライアントデバイスの現在の状態が1つまたは複数の条件を満たすと判定することに応じて実行され得る。1つまたは複数の条件が満たされるかどうかは、クライアントデバイスの1つまたは複数のセンサーからのセンサーデータに基づいて判定され得る。1つまたは複数の条件は、たとえば、クライアントデバイスが充電中であること、クライアントデバイスが少なくとも閾値の充電状態であること、(1つもしくは複数のオンデバイスの温度センサーに基づく)クライアントデバイスの温度が閾値未満であること、および/またはクライアントデバイスがユーザに持たれていないことを含み得る。
一部の実装においては、特定されたテキストセグメントおよび追加のテキストセグメントの合成音声を含む合成音声オーディオデータが、生成され得る。たとえば、追加のテキストセグメントは、テキストセグメントの前および/または後に付け加えられることが可能であり、付け加えられた追加のテキストセグメントをともなうテキストセグメントが、合成音声を生成するために音声合成モデルを使用して処理されることが可能である。それらの実装の一部において、テキストセグメントのための追加のテキストセグメントを決定することは、テキストセグメントが特定される特定のコーパスとの追加のテキストセグメントの定義された関係に基づく。たとえば、追加のテキストセグメント「call」、「message」、および「contact」は、連絡先リストのコーパスと定義された関係を持ち得る。別の例として、追加のテキストセグメント「turn on the」、「what's the status of」、および「adjust」は、スマートデバイスのコーパス全般とのまたは特定のスマートデバイスのコーパスとの定義された関係を持ち得る。追加のテキストセグメントを含むことは、訓練インスタンスの多様性をもたらすことができ、それが、音声認識モデルの性能を高め得る。さらに、追加のテキストセグメントがテキストセグメントとの定義された関係および/またはその他の文脈的な関連性に基づいて決定される場合、そのような追加のテキストセグメントに基づく訓練インスタンスは、テキストセグメントが追加のテキストセグメントまたは同様の追加のテキストセグメントとともに発話に含まれるときの音声認識の性能を高めることができる。
一部の実装において、合成音声オーディオデータは、クライアントデバイスのユーザの音声の特徴に適応されるようにして生成される。これは、クライアントデバイスにおいて処理される発話の中で遭遇する可能性がより高いそれらの音声の特徴に合わせて調整される改善されたオンデバイスの音声認識の性能をもたらすことができる。それらの実装の一部において、合成音声オーディオデータは、特定のローカルに記憶された音声合成モデルを使用して生成されることに基づいてユーザの音声の特徴に適応される。特定のローカルに記憶された音声合成モデルは、所与の言語のための複数の候補音声合成モデルのうちの1つであることが可能であり、クライアントデバイスの地理的領域に少なくとも部分的に基づいてクライアントデバイスにローカルに記憶されることが可能である。
一部の追加的なまたは代替的な実装において、音声合成モデルは、クライアントデバイスのユーザの以前の発話に基づいて実際に訓練され、合成音声にユーザの音声の特徴(たとえば、ユーザのアクセント)をより正確に反映させる。たとえば、合成音声オーディオデータを生成する前に、クライアントデバイスの1つまたは複数のマイクロフォンによって検出され、以前の人の発話をキャプチャしたオーディオデータが特定され得る。さらに、以前の人の発話のグラウンドトゥルースの文字起こしが特定され得る。さらに、グラウンドトゥルースの文字起こしは、以前の合成音声オーディオデータ、以前の合成音声オーディオデータを以前のオーディオデータと比較することに基づいて生成される勾配、および勾配に基づく音声合成モデルの1つまたは複数の重みを生成するために音声合成モデルを使用して処理され得る。以前の人の発話のグラウンドトゥルースの文字起こしを特定することは、音声認識モデルを使用して文字起こしを生成することと、文字起こしの生成の信頼性の尺度に基づいておよび/または文字起こしに応じて実行されたユーザのアクションに基づいて文字起こしをグラウンドトゥルースの文字起こしとして特定することとを含み得る。ユーザのアクションは、たとえば、文字起こしを確認するユーザインターフェース入力を含み得る。たとえば、文字起こしは、送信される電子メッセージに組み込まれることが可能であり、ユーザのアクションは、(生成された文字起こしを修正せずに)メッセージを送信するためのユーザ入力を含むことが可能である。
一部の追加的なまたは代替的な実装において、音声合成モデル(または複数の音声合成モデル)は、所与のテキストセグメントに関する合成音声の複数の本質的に異なるインスタンスを生成するために使用され得る。たとえば、ドイツ語名であるテキストセグメントに関して、音声合成モデルは、ドイツ語名の英語発音(つまり、ドイツ語を話さない英語のネイティブスピーカーによって利用される発音)である合成音声の第1のインスタンスを生成し、ドイツ語名のドイツ語発音(つまり、ドイツ語のネイティブスピーカーによって利用される発音)である合成音声の第2のインスタンスを生成するために利用され得る。合成音声の第1のインスタンスおよびグラウンドトゥルースの発話は、オンデバイスの音声認識モデルを更新する際に利用され得る。合成音声の第2のインスタンスおよびグラウンドトゥルースの発話も、オンデバイスの音声認識モデルを更新する際に利用され得る。合成音声の両方のインスタンスに基づいてオンデバイスの音声認識モデルを更新することは、発音のうちのどちらに関しても効果的な音声認識を可能にし得る。これは、たとえば、ユーザの声の特徴が未知である場合に有益であり得、ドイツ語名が複数の異なる発音のいずれかによって言われるときにドイツ語名を認識するようにオンデバイスの音声認識モデルを適応することを可能にする。
本明細書において説明されるように、本明細書において開示される実装によるオンデバイスの音声認識モデルの更新の後、オンデバイスの音声認識モデルは、対応する予測されたテキストセグメントを生成するために、対応するデバイスのユーザからの発話に対応するオーディオデータを処理する際に利用され得る。それらの実装の一部のバージョンにおいては、予測されたテキストセグメントのインスタンスをグラウンドトゥルーステキストセグメントのインスタンスと比較することに基づいて、勾配がオンデバイスで生成され得る。グラウンドトゥルーステキストセグメントのインスタンスは、予測されたテキストセグメントのインスタンスに基づいておよび/または予測されたテキストセグメントのインスタンスに基づいてデバイスにおいて行われたアクションに基づいてデバイスにおいてレンダリングされたコンテンツに応じたユーザの1つまたは複数のアクションおよび/または無アクションに基づいてオンデバイスで決定され得る。たとえば、ユーザが予測されたテキストセグメントを確認すると、予測されたテキストセグメントは、グラウンドトゥルーステキストセグメントとみなされ得る。たとえば、発話が「call Francis」であり、予測されたテキストセグメントが「call Francis」である場合、ユーザは、「Francis」という名前の連絡先の電話番号に結果として電話をかけることを取り消さないことによって予測されたテキストセグメントを確認し得る。また、たとえば、発話が「call Francis」であり、予測されたテキストセグメントが「call Francis」である場合、プロンプト「do you want to call Francis」が、選択可能な「yes」のオプションとともに与えられることが可能であり、ユーザは、「yes」のオプションを選択することによって認識されたテキストを確認することが可能である。別の例として、ユーザが(たとえば、文字を追加および/もしくは削除することによって、ならびに/またはそれを削除し、それを代替的なテキストによって置き換えることによって)予測されたテキストセグメントを修正する場合、修正されたテキストが、グラウンドトゥルーステキストセグメントとみなされ得る。たとえば、発話「Hi Francoise, please call me soon」がテキストメッセージに含めるために提供され、正しくない認識されたテキスト「Hi Francis, please call me soon」がテキストメッセージに組み込まれる場合、ユーザは、「Francis」を選択し、それを「Francoise」によって置き換え得る。ユーザが「Francis」を選択し、それを「Francoise」によって置き換えることに応じて、修正されたテキスト「Hi Francoise, please call me soon」が、グラウンドトゥルーステキストセグメントとして利用され得る。これらの技術に基づいて生成された勾配は、クライアントデバイスによってネットワークを介して遠隔のシステムに送信され得る。それらの実装において、遠隔のシステムは、大域的な音声認識モデルの大域的な重みを更新するために、生成された勾配と、同様の方法で(たとえば、オンデバイスの音声認識モデルのローカルの更新の後に、予測されたテキストセグメントを決定されたグラウンドトゥルーステキストセグメントと比較することに基づいて)追加のクライアントデバイスから生成された追加の勾配とを利用する。そのような勾配に基づく大域的な重みの更新は、(上述のように)ローカルに記憶されたテキストセグメントおよびそれらのテキストセグメントのローカルで生成された合成音声に基づく勾配に基づく大域的な重みの更新と一緒にまたはそのような大域的な重みの更新とは独立して行われ得ることが留意される。そのような勾配を送信することは、口で言われたセグメントまたはグラウンドトゥルーステキストセグメントに対応するオーディオデータのいずれも送信することなく行われ得ることも留意される。遠隔のシステムは、口で言われたセグメントまたはグラウンドトゥルーステキストセグメントに対応するオーディオデータのいかなる参照または使用もせずに、大域的なモデルを更新する際、生成された勾配を利用することができる。勾配のみの送信は、より少ないネットワークリソースを利用し、オンデバイスのテキストセグメントのプライバシーおよびセキュリティを守る。一部の実装においては、1つまたは複数の差分プライバシー技術が、プライバシーおよびセキュリティの保護をさらに保証するために利用され得る。
一部の実装においては、本明細書において開示される実装によるオンデバイスの音声認識モデルの更新の後、テキストセグメントに基づくオンデバイスの音声認識の偏向(biasing)も、オンデバイスの音声認識モデルが対応する予測されたテキストセグメントを生成するために発話に対応するオーディオデータを処理するときに利用され得る。たとえば、オンデバイスの音声認識は、連絡先のエイリアス、道路名、メディア名、および/またはその他のテキストセグメントなどのデバイスに記憶された1つまたは複数のテキストセグメントに偏向され得る。オンデバイスの音声認識が偏向されるテキストセグメントは、音声認識の複数回の反復で同じであることが可能であり、および/または反復の間で変わることが可能である。たとえば、第1のテキストセグメントへの偏向が、第1のデバイスコンテキスト(たとえば、どのアプリケーションが実行されているかまたはフォアグラウンドにあるか、時刻、曜日などに基づくコンテキスト)において行われることが可能であり、本質的に異なる第2のテキストセグメントへの偏向が、第2のデバイスコンテキストにおいて行われることが可能である。オンデバイスの音声認識をテキストセグメントに偏向させることは、たとえば、復号中にテキストセグメントの確率を上げることによって音声認識にテキストセグメントを注入することを含み得る。本明細書において開示される実装によるオンデバイスの音声認識モデルの更新後のテキストセグメントに基づくオンデバイスの音声認識の偏向は、そのような更新のない偏向よりも効果的であり得る。これは、たとえば、オンデバイスの音声認識モデルが、テキストセグメントに基づく合成音声に基づいて更新された結果としてテキストセグメントからの音声シーケンスで訓練されたことが原因であり得る。
本明細書において開示されるクライアントデバイスの一部の実装は、オンデバイスの音声認識を生成し、かつ/または生成されたオンデバイスの音声認識を利用する自動化されたアシスタントアプリケーションを含む。自動化されたアシスタントアプリケーションは、クライアントデバイスのオペレーティングシステム「の上に」インストールされることが可能であり、かつ/またはクライアントデバイスのオペレーティングシステムの一部(または全体)をそれ自体が形成することが可能である。自動化されたアシスタントアプリケーションは、オンデバイスの音声認識と、任意で、オンデバイスの自然言語理解および/またはオンデバイスのフルフィルメントとを含み、かつ/またはそれらにアクセスすることができる。オンデバイスの自然言語理解(NLU)は、オンデバイスの音声認識を使用して生成された認識されたテキストと、任意で、コンテキストデータとを処理してNLUデータを生成するオンデバイスのNLUモジュールを使用して実行され得る。NLUデータは、発話に対応する意図と、任意で、意図に関するパラメータ(たとえば、スロット値)とを含み得る。オンデバイスのフルフィルメントは、(オンデバイスのNLUからの)NLUデータと、任意で、その他のローカルのデータとを利用して、発話の意図(および任意で意図に関するパラメータ)を解決するために行うアクションを決定するオンデバイスのフルフィルメントモジュールを使用して実行され得る。これは、発話に対するローカルのおよび/もしくは遠隔の応答(たとえば、答え)、発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応する遠隔のシステムを介して)送信するコマンド、ならびに/または発話に基づいて実行するその他の解決アクションを決定することを含み得る。そのとき、オンデバイスのフルフィルメントは、発話を解決するための決定されたアクションのローカルのおよび/または遠隔の遂行/実行を開始し得る。
様々な実装においては、遠隔の音声処理、遠隔のNLR、および/または遠隔のフルフィルメントが、少なくとも選択的に利用され得る。たとえば、認識されたテキストは、遠隔のNLUおよび/または遠隔のフルフィルメントのために遠隔の自動化されたアシスタント構成要素に少なくとも選択的に送信され得る。たとえば、認識されたテキストは、任意で、オンデバイスの実行と並列した遠隔の実行のために、またはオンデバイスのNLUおよび/もしくはオンデバイスのフルフィルメントの失敗に応じて送信され得る。しかし、オンデバイスの音声処理、オンデバイスのNLU、オンデバイスのフルフィルメント、および/またはオンデバイスの実行が、少なくとも、(発話を解決するためにクライアント-サーバの往復が必要とされないことによる)発話を解決するときにそれらが提供するレイテンシーの削減が理由で優先され得る。さらに、オンデバイスの機能は、ネットワーク接続性がないかまたは限られている状況で利用可能な唯一の機能であり得る。
上記説明は、本開示の一部の実装の概要として与えられた。それらの実装およびその他の実装のさらなる説明が、下により詳細に示される。
本明細書において開示される一部の実装は、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、および/またはテンソルプロセッシングユニット(TPU)などの1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイスを含む。プロセッサのうちの1つまたは複数は、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、本明細書において説明される方法のいずれかの実行を引き起こすように構成される。コンピューティングデバイスは、たとえば、マイクロフォン、少なくとも1つのディスプレイ、および/またはその他のセンサー構成要素を有するクライアントアシスタントデバイスを含み得る。一部の実装は、本明細書において説明される方法のいずれかを実行するために1つまたは複数のプロセッサによって実行され得るコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読ストレージ媒体も含む。
様々な実装による本開示の様々な態様を明示する例示的なプロセスフローを示す図である。 図1Aの様々な構成要素を含み、本明細書において開示される実装が実装される可能性がある例示的な環境のブロック図である。 クライアントデバイスにおいてローカルに勾配を生成し、勾配を送信し、および/または生成された勾配を利用してオンデバイスの音声認識モデルの重みを更新する例示的な方法を示す流れ図である。 遠隔のクライアントデバイスから受信された勾配に基づいて大域的な音声認識モデルの重みを更新し、更新された重みまたは更新された大域的な音声認識モデルを遠隔のクライアントデバイスに送信する例示的な方法を示す流れ図である。 クライアントデバイスにおいてローカルに勾配を生成し、生成された勾配を使用してオンデバイスの音声合成モデルの重みを更新する例示的な方法を示す流れ図である。 コンピューティングデバイスの例示的なアーキテクチャを示す図である。
図1Aは、本開示の様々な態様を明示する例示的なプロセスフローを示す。クライアントデバイス110が、図1Aに示され、クライアントデバイス110を表す図1Aの枠に包含される構成要素を含む。クライアントデバイス110のセグメント特定器120が、テキストセグメント101を特定するためにオンデバイスのストレージ111にアクセスする。オンデバイスのストレージ111は、たとえば、読み出し専用メモリ(ROM)および/またはランダムアクセスメモリ(RAM)を含み得る。セグメント特定器120によって特定されたテキストセグメント101は、オンデバイスのストレージ111に一時的にまたは非一時的に記憶されるテキストセグメントである。たとえば、テキストセグメント101は、連絡先リストに記憶される連絡先のエイリアス、連絡先リストに住所として記憶される道路名、メディアアプリケーションのプレイリストに含まれる歌もしくはその他のメディアアイテムの名前、スマートデバイスのエイリアスであって、エイリアスがクライアントデバイスに記憶され、スマートデバイスがユーザのアカウントに関連付けられる、スマートデバイスエイリアス、クライアントデバイスにおいて仮想キーボードによってタイピングされたテキストセグメント、クライアントデバイスのペーストボード(pasteboard)にコピーされたテキストセグメント、コンピューティングデバイスのアプリケーションによってレンダリングされた(ならびに任意でスクリーンショットおよび画像認識を使用して特定された)テキストセグメント、またはその他のテキストセグメントであることが可能である。
一部の実装において、セグメント識別器120は、テキストセグメント101に新たに遭遇することまたはテキストセグメント101がクライアントデバイス110に新たに記憶されることに基づいてテキストセグメント101を特定する。たとえば、セグメント識別器120は、テキストセグメント101が新しく追加された連絡先に含まれること、新しく追加されたスマートデバイスのエイリアスであること、またはプレイリストに新しく追加された歌のエイリアスであることに基づいてテキストセグメント101を特定することができる。一部の実装において、セグメント識別器120は、テキストセグメント101が語彙にないと判定することに基づいてテキストセグメント101を特定し、これは、テキストセグメント101がローカルに記憶された辞書に含まれないと判定することに基づき得る。
一部の実装において、セグメント識別器120は、クライアントデバイス110の1つまたは複数のマイクロフォンによって検出された以前の人の発話がテキストセグメント101を含んでいたと判定することと、以前の人の発話の以前の音声認識がテキストセグメントを正しく認識することができなかったと判定することとに基づいてテキストセグメント101を特定することができる。それらの実装において、セグメント識別器120は、以前の音声認識に基づく正しくない予測を取り消すクライアントデバイス110における受け取られたユーザ入力に基づいて以前の音声認識がテキストセグメントを正しく認識することができなかったと判定し得る。さらに、セグメント識別器120は、以前の音声認識に基づく正しくない予測を取り消すユーザ入力の後に受け取られる追加の受け取られたユーザ入力に基づいて以前の人の発話がテキストセグメント101を含んでいたと判定し得る。
セグメント識別器120は、少なくともテキストセグメント101をオンデバイスの音声合成器122に提供する。一部の実装において、セグメント識別器120は、特定されたテキストセグメントおよび追加のテキストセグメントをオンデバイスの音声合成器122に提供する。たとえば、セグメント識別器120は、テキストセグメントの前および/または後に追加のテキストセグメントを付け加え、付け加えられた追加のテキストセグメントをともなうテキストセグメント101をオンデバイスの音声合成器122に提供し得る。それらの実装の一部において、セグメント識別器120は、テキストセグメント101が特定された特定のコーパスとの追加のテキストセグメントの定義された関係に基づいてテキストセグメント101のための追加のテキストセグメントを決定する。たとえば、テキストセグメント101がメディアコーパスから特定される場合、追加のテキストセグメント「play」および「show me」が、メディアコーパスとの定義された関係を持つことが可能であり、それらの追加のテキストセグメントのうちの1つが、テキストセグメントの前に付け加えられることが可能である。
オンデバイスの音声合成器122は、特定されたテキストセグメント101の合成音声を含む合成音声オーディオデータ102を生成するためにオンデバイスの音声合成モデル152を使用してテキストセグメント101(および任意の付け加えられた追加のテキストセグメント)を処理する。たとえば、オンデバイスの音声合成器122は、合成音声オーディオデータ102を生成するために、テキストセグメント101(および任意の付け加えられた追加のテキストセグメント)に対応すると判定された音素のシーケンスを決定し、オンデバイスの音声合成モデル152を使用して音素のシーケンスを処理することができる。合成音声オーディオデータ102は、たとえば、オーディオ波形の形態であることが可能である。テキストセグメント101に対応する音素のシーケンスを決定する際、オンデバイスの音声合成器122は、任意のトークン-音素マッピング157などのクライアントデバイス110にローカルに記憶されたトークン-音素マッピングにアクセスし得る。
一部の実装において、オンデバイスの音声合成モデル152は、クライアントデバイス110の地理的領域および/もしくはその他のプロパティならびに/またはクライアントデバイス110のユーザに基づいて、クライアントデバイス110における記憶および使用のために(たとえば、遠隔のシステム160またはその他の構成要素によって)送信される。たとえば、オンデバイスの音声合成モデル152は、所与の言語のためのN個の利用可能な音声合成モデルのうちの1つであることが可能であるが、特定の地理的領域に固有である発話に基づいて訓練され、クライアントデバイスが主に特定の地理的領域内にあることに基づいてクライアントデバイス110に提供され得る。
一部の追加的なまたは代替的な実装において、オンデバイスの音声合成モデル152は、オンデバイスの音声合成モデル152をクライアントデバイス110のユーザの声の特徴に適応させるために任意のオンデバイスの音声合成器訓練エンジン130によって訓練される。たとえば、合成音声オーディオデータ102を生成する前に、オンデバイスの音声合成器訓練エンジン130は、クライアントデバイス110の1つまたは複数のマイクロフォンによって検出され、以前の人の発話をキャプチャしたオーディオデータを特定し得る。さらに、オンデバイスの音声合成器訓練エンジン130は、以前の人の発話のグラウンドトゥルースの文字起こしを特定し得る。その上さらに、オンデバイスの音声合成器訓練エンジン130は、オンデバイスの音声合成モデル152を使用してグラウンドトゥルースの文字起こしを処理して、以前の合成音声オーディオデータを生成することができ、以前の合成音声オーディオデータを以前のオーディオデータと比較することに基づいて勾配を生成することができる。それから、オンデバイスの音声合成器訓練エンジン130は、(たとえば、誤差逆伝播法および/またはその他の訓練技術を使用して)勾配に基づいてオンデバイスの音声合成モデル152の重みを更新することができる。
一部の実装において、オンデバイスの音声合成器訓練エンジン130は、(たとえば、オンデバイスの音声認識モデル154を使用して対応するオーディオデータを処理することによって)文字起こしを生成することによって以前の人の発話のグラウンドトゥルースの文字起こしを特定し、文字起こしをグラウンドトゥルースの文字起こしとして特定する。文字起こしを「グラウンドトゥルース」として特定することは、任意で、文字起こしの信頼性の尺度が閾値を満たすことを条件とし得る、かつ/または文字起こしが正しいことを示す、文字起こしに応じたユーザのアクション(もしくは無アクション)に基づき得る。一部の実装において、以前の人の発話は、テキストに依存しないまたはテキストに依存する特定のためにユーザによって言われた登録フレーズであることが可能であり、登録フレーズは、登録中に何を言うべきかをユーザに知らせるためにユーザに対してレンダリングされることが可能である。それらの実装において、ユーザに対してレンダリングされる登録フレーズは、グラウンドトゥルースの文字起こしとして利用され得る。
オンデバイスの音声合成器122は、合成音声オーディオデータ102をオンデバイスの音声認識器124に提供する。オンデバイスの音声認識器124は、予測されたテキストセグメント103Aまたは音素の予測されたシーケンス103Bのどちらかを生成するために、オンデバイスの音声認識モデル154を使用して合成音声オーディオデータ102を処理する。
たとえば、オンデバイスの音声認識モデル154がエンドツーエンドの音声認識モデルであるとき、オンデバイスの音声認識器124は、モデルを直接使用して予測されたテキストセグメント103Aを生成することができる。たとえば、オンデバイスの音声認識モデル154は、予測されたテキストを一文字一文字(またはその他の一トークン一トークン)生成するために使用されるエンドツーエンドのモデルであることが可能である。予測されたテキストを一文字一文字生成するために使用されるそのようなエンドツーエンドのモデルの1つの非限定的な例は、再帰型ニューラルネットワークトランスデューサ(RNN-T: recurrent neural network transducer)モデルである。RNN-Tモデルは、アテンションメカニズムを使用しないシーケンスツーシーケンス(sequence-to-sequence)モデルの形態である。出力(たとえば、予測されたテキストセグメント)を生成するために概して入力シーケンス全体(たとえば、オーディオデータ波形、またはメル周波数ケプストラム係数(MFCC)もしくはその他の表現)を処理する必要があるほとんどのシーケンスツーシーケンスモデルと異なり、RNN-Tモデルは、継続的に入力サンプルを処理し、出力シンボル(たとえば、アルファベットの文字)をストリーミングするために使用され得る。
また、たとえば、オンデバイスの音声認識モデル154がエンドツーエンドの音声認識モデルでないとき、オンデバイスの音声認識器124は、その代わりに、予測された音素103B(および/またはその他の表現)を生成することができる。たとえば、そのようなモデルにより、予測された音素103B(および/またはその他の表現)は、それから、音素のシーケンスに合う予測されたテキストセグメントを決定するためにオンデバイスの音声認識器124によって利用される。そのようにする際、オンデバイスの音声認識器124は、任意で、復号グラフ(decoding graph)、辞書、および/またはその他のリソースを使用し得る。
オンデバイスの音声認識器124が予測されたテキストセグメント103Aを生成するとき、予測されたテキストセグメント103Aは、勾配エンジン126に提供される。勾配エンジン126は、勾配105を生成するために予測されたテキストセグメント103Aをテキストセグメント101と比較する。勾配は、勾配が予測された出力とのグラウンドトゥルース出力の比較から得られる損失関数(またはその導関数)の値を表すようにモデルを訓練するために使用されるその損失関数から導出される可能性がある。たとえば、予測されたテキストセグメント103Aおよびテキストセグメント101が一致するとき、勾配エンジン126は、ゼロの勾配を生成し得る。また、たとえば、予測されたテキストセグメント103Aおよびテキストセグメント101が一致しないとき、勾配エンジン126は、任意で不一致の程度に依存する非ゼロの勾配を生成し得る。不一致の程度は、テキストセグメントの文字の間の不一致の程度、テキストセグメントの間の音素の不一致の程度、および/またはその他の決定性の比較に基づくことが可能である。1つの非限定的な特定の例として、予測されたテキストセグメント103Aを生成するそれぞれの反復において、オンデバイスの音声認識器124は、複数の文字の各々に関する対応する確率を生成し、最も高い確率の文字を「次の」文字として選択し得る。勾配エンジン126は、そのような例において、それぞれの反復の予測された確率をそれぞれの反復に関するグラウンドトゥルースの確率と比較することに基づいて勾配を決定し得る(つまり、それぞれの反復のグラウンドトゥルースの文字はテキストセグメント101の「次の」文字であり、確率「1」を割り振られ、すべてのその他の文字は確率「0」を割り振られる)。
オンデバイスの音声認識器124が予測された音素103Bを生成するとき、予測された音素103Bは、勾配エンジン126に提供される。勾配エンジン126は、予測された音素103Bをテキストセグメント101に対応すると判定された音素のグラウンドトゥルースシーケンス104と比較する。一部の実装においては、音素エンジン127が、テキストセグメント101に対応する音素のグラウンドトゥルースシーケンス104を決定するためにトークン-音素マッピング157にアクセスすることができる。例として、予測された音素103Bおよび音素104が一致するとき、勾配エンジン126は、ゼロの勾配を生成し得る。別の例として、予測された音素103Bおよび音素104が一致しないとき、勾配エンジン126は、任意で不一致の程度に依存する非ゼロの勾配を生成し得る。不一致の程度は、一致しない音素の量、誤った順序の音素の量、および/または一致しない音素の間の(音素空間における)距離、および/またはその他の決定性の比較に基づき得る。
本明細書において説明されるように追加のテキストセグメントがテキストセグメントに付け加えられる実装においては、予測されたテキストセグメント103Aが、付け加えられた追加のテキストセグメントの予測も含むことが留意される。付け加えられた追加のセグメントの予測は、勾配を生成する際に無視されることが可能であり(たとえば、付け加えられた追加のセグメントに対応する項が破棄され得る)、または代替的に、付け加えられた追加のセグメントは、勾配を生成する際に考慮されることが可能である(たとえば、予測が、付け加えられた追加のテキストセグメントをともなうテキストセグメントと比較されることが可能である)。
勾配エンジン126は、勾配105をオンデバイスの訓練エンジン128に提供し、かつ/または勾配105を遠隔のシステム160に送信する。オンデバイスの訓練エンジン128が勾配105を受け取るとき、オンデバイスの訓練エンジン128は、オンデバイスの音声認識モデル154を更新するために勾配105を使用する。たとえば、オンデバイスの訓練エンジン128は、オンデバイスの音声認識モデル154を更新するために誤差逆伝播法および/またはその他の技術を利用し得る。一部の実装において、オンデバイスの訓練エンジン128は、勾配105と、追加のテキストセグメントに基づいてクライアントデバイス110においてローカルに決定された追加の勾配とに基づいてオンデバイスの音声認識モデル154を更新するためにバッチ技術を利用し得ることが留意される。
遠隔のシステム160が勾配105を受信するとき、遠隔のシステムの遠隔の訓練エンジン162は、大域的な音声認識モデル154Aの大域的な重みを更新するために勾配105および追加のクライアントデバイス170からの追加の勾配106を使用する。追加のクライアントデバイス170からの追加の勾配106は、勾配105に関連して上で説明されたのと同じまたは同様の技術に基づいて(しかし、それらのクライアントデバイスに特有のローカルで特定されたテキストセグメント101に基づいて)それぞれ生成され得る。
更新配信エンジン164は、1つまたは複数の条件が満たされることに応じて、107に示されるように、更新された大域的な重みおよび/または更新された大域的な音声認識モデル自体をクライアントデバイス110および/またはその他のクライアントデバイスに提供し得る。1つまたは複数の条件は、たとえば、更新された重みおよび/または更新された音声認識モデルが最後に提供されてからの閾値の継続時間および/または訓練の量を含み得る。1つまたは複数の条件は、追加的にまたは代替的に、たとえば、更新された重みおよび/または更新された音声認識モデルが最後に提供されてからの更新された音声認識モデルへの測定された改善および/または閾値の継続時間の経過を含み得る。更新された重みがクライアントデバイス110に提供されるとき、クライアントデバイス110は、オンデバイスの音声認識モデル154の重みを更新された重みによって置き換えることができる。更新された大域的な音声認識モデルがクライアントデバイス110に提供されるとき、クライアントデバイス110は、オンデバイスの音声認識モデル154を更新された大域的な音声認識モデルによって置き換えることができる。
ここで図1Bに目を向けると、図1Aのオンデバイスの音声認識器124が自動化されたアシスタントクライアント140の一部として含まれる(または自動化されたアシスタントクライアント140と通信する)実装におけるクライアントデバイス110が示される。オンデバイスの音声認識器124とインターフェースを取るオンデバイスの音声認識モデル154も示される。図1Aのその他の構成要素は、簡単にするために図1Bに示されない。図1Bは、様々なアクションの実行に自動化されたアシスタントクライアント140によって利用される認識されたテキストを生成する際にオンデバイスの音声認識器124およびオンデバイスの音声認識モデル154がどのように利用され得るかの一例を示す。
図1Bのクライアントデバイス110は、1つもしくは複数のマイクロフォン111、1つもしくは複数のスピーカ112、1つもしくは複数のカメラおよび/もしくはその他の視覚構成要素113、ならびにディスプレイ114(たとえば、タッチ式ディスプレイ)とともに示される。クライアントデバイス110は、自動化されたアシスタントクライアント140を少なくとも選択的に実行する。自動化されたアシスタントクライアント140は、図1Bの例においては、オンデバイスの音声認識器エンジン124、オンデバイスの自然言語理解(NLU)エンジン144、およびオンデバイスのフルフィルメントエンジン145を含む。自動化されたアシスタントクライアント140は、音声キャプチャエンジン141および視覚キャプチャエンジン142をさらに含む。自動化されたアシスタントクライアント140は、音声活動検出器(VAD: voice activity detector)、エンドポイント検出器、ホットワード検出器、および/またはその他のエンジンなどの追加的なおよび/または代替的なエンジンを含み得る。
1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素180は、任意で、190に全体的に示される1つまたは複数のローカルエリアおよび/または広域ネットワーク(たとえば、インターネット)を介してクライアントデバイス110に通信可能なように結合される1つまたは複数のコンピューティングシステム(集合的に「クラウド」コンピューティングシステムと呼ばれる)に実装され得る。クラウドに基づく自動化されたアシスタント構成要素180は、たとえば、高性能なサーバのクラスタによって実装され得る。
様々な実装において、自動化されたアシスタントクライアント140のインスタンスは、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素180とのその自動化されたアシスタントクライアント140のインタラクションを通して、ユーザの観点から見てユーザが人とコンピュータとのインタラクション(たとえば、口で言われるインタラクション、ジェスチャに基づくインタラクション、および/または接触に基づくインタラクション)に従事する可能性がある自動化されたアシスタント195の論理的なインスタンスであるように見えるものを形成する可能性がある。
クライアントデバイス110は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイル電話コンピューティングデバイス、ユーザの乗り物のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンのインタラクティブスピーカ、スマートテレビ(もしくは自動化されたアシスタントの能力を有するネットワークに接続されたドングルを備える普通のテレビ)などのスマート家電、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザのメガネ、仮想もしくは拡張現実コンピューティングデバイス)であることが可能である。追加的なおよび/または代替的なクライアントデバイスが、提供される可能性がある。
視覚構成要素113は、モノグラフィックカメラ、ステレオグラフィックカメラ、LIDAR構成要素(またはその他のレーザーに基づく構成要素)、レーダー構成要素などの様々な形態を取り得る。1つまたは複数の視覚構成要素113は、たとえば、クライアントデバイス110が展開される環境の視覚フレーム(たとえば、画像フレーム、レーザーに基づく視覚フレーム)をキャプチャするために視覚キャプチャエンジン142によって使用される可能性がある。一部の実装において、そのような視覚フレームは、ユーザがクライアントデバイス110の近くにいるかどうか、および/またはクライアントデバイスに対するユーザ(たとえば、ユーザの顔)の距離を判定するために利用され得る。そのような判定は、たとえば、オンデバイスの音声認識器124をアクティブ化すべきかどうかを判定する際に利用され得る。
音声キャプチャエンジン141は、マイクロフォン111によってキャプチャされるユーザのしゃべりおよび/またはその他のオーディオデータをキャプチャするように構成され得る。本明細書において説明されるように、そのようなオーディオデータは、オンデバイスの音声認識器124によって(任意で前処理の後に)利用され得る。たとえば、オンデバイスの音声認識器124は、発話に対応する認識されたテキストを生成するために、オンデバイスの音声認識モデル154を利用して発話をキャプチャするオーディオデータを処理することができる。オンデバイスのNLUエンジン140は、NLUデータを生成するために認識されたテキストに対してオンデバイスの自然言語理解を実行する。NLUエンジン144は、任意で、NLUデータを生成する際に(簡単にするために図1Bに示されない)1つまたは複数のオンデバイスのNLUモデルを利用することができる。NLUデータは、たとえば、発話に対応する意図と、任意で、意図に関するパラメータ(たとえば、スロット値)とを含み得る。さらに、オンデバイスのフルフィルメントエンジン145が、NLUデータを使用してフルフィルメントデータを生成する。オンデバイスのフルフィルメントエンジン145は、任意で、フルフィルメントデータを生成する際に(簡単にするために図1Bに示されない)1つまたは複数のオンデバイスのフルフィルメントモデルを利用することができる。このフルフィルメントデータは、発話に対するローカルのおよび/もしくは遠隔の応答(たとえば、答え)、発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応する遠隔のシステムを介して)送信するコマンド、ならびに/または発話に基づいて実行するその他の解決アクションを定義し得る。それから、フルフィルメントデータは、発話を解決するための決定されたアクションのローカルのおよび/または遠隔の遂行/実行のために提供される。実行は、たとえば、ローカルのおよび/もしくは遠隔の応答をレンダリングすること(たとえば、(任意でローカルのテキストトゥスピーチモジュールを利用して)視覚的におよび/もしくは聞こえるようにレンダリングすること)、ローカルにインストールされたアプリケーションとインタラクションすること、IoTデバイスにコマンドを送信すること、ならびに/またはその他のアクションを含み得る。
ディスプレイ114は、オンデバイスの音声認識器124からのストリーミングテキストの文字起こしをレンダリングするために利用され得る。ディスプレイ114は、さらに、自動化されたアシスタントクライアント140からの応答の視覚的な部分がレンダリングされるユーザインターフェース出力構成要素のうちの1つであることが可能である。
一部の実装において、クラウドに基づく自動化されたアシスタント構成要素180は、音声認識を実行する遠隔のASRエンジン182、自然言語理解を実行する遠隔のNLUエンジン183、および/またはフルフィルメントを生成する遠隔のフルフィルメントエンジン184を含み得る。ローカルのまたは遠隔で決定されたフルフィルメントデータに基づいて遠隔実行を行う遠隔実行モジュールも、任意で含まれ得る。追加的なおよび/または代替的な遠隔のエンジンが、含まれ得る。本明細書において説明されるように、様々な実装において、オンデバイスの音声処理、オンデバイスのNLU、オンデバイスのフルフィルメント、および/またはオンデバイスの実行は、少なくとも、(発話を解決するためにクライアント-サーバの往復が必要とされないことによる)発話を解決するときにそれらが提供するレイテンシーおよび/またはネットワーク使用の削減が理由で優先され得る。しかし、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素180は、少なくとも選択的に利用され得る。たとえば、そのような構成要素は、オンデバイスの構成要素と並列に利用されることが可能であり、そのような構成要素からの出力は、ローカルの構成要素が失敗するときに利用されることが可能である。たとえば、オンデバイスのフルフィルメントエンジン145は、(たとえば、クライアントデバイス160の比較的限られたリソースが原因で)特定の状況において失敗する可能性があり、遠隔のフルフィルメントエンジン184は、そのような状況でフルフィルメントデータを生成するためにクラウドのより強固なリソースを利用することができる。遠隔のフルフィルメントエンジン184は、オンデバイスのフルフィルメントエンジン145と並列して動作させられることが可能であり、その結果は、オンデバイスのフルフィルメントが失敗するときに利用されることが可能であり、または遠隔のフルフィルメントエンジン184は、オンデバイスのフルフィルメントエンジン145の失敗を判定することに応じて呼び出されることが可能である。
様々な実装において、NLUエンジン(オンデバイス144および/または遠隔183)は、認識されたテキストの1つまたは複数の注釈および自然言語入力の語のうちの1つまたは複数(たとえば、すべて)を含む注釈を付けられた出力を生成し得る。一部の実装において、NLUエンジンは、自然言語入力内の様々な種類の文法的情報を特定し、注釈を付けるように構成される。たとえば、NLUエンジンは、個々の単語を形態素に分割する、かつ/または形態素にたとえばそれらの形態素のクラスによって注釈を付ける可能性がある形態モジュールを含む可能性がある。NLUエンジンは、語にそれらの語の文法的役割によって注釈を付けるように構成された音声タガーの一部も含む可能性がある。また、たとえば、一部の実装において、NLUエンジンは、追加的におよび/また代替的に、自然言語入力内の語の間の統語的関係を決定するように構成された依存関係パーサを含む可能性がある。
一部の実装において、NLUエンジンは、追加的におよび/また代替的に、(たとえば、文学のキャラクタ、有名人、著名人などを含む)人、組織、(現実のおよび架空の)場所などへの言及などの1つまたは複数のセグメント内のエンティティの言及に注釈を付けるように構成されたエンティティタガーを含む可能性がある。一部の実装において、NLUエンジンは、追加的におよび/また代替的に、1つまたは複数の状況に関する手掛かりに基づいて同じエンティティへの言及をグループ分けするかまたは「クラスタリングする」ように構成された同一指示(coreference)リゾルバ(図示せず)を含む可能性がある。一部の実装において、NLUエンジンの1つまたは複数の構成要素は、NLUエンジンの1つまたは複数のその他の構成要素からの注釈に依拠する可能性がある。
NLUエンジンは、自動化されたアシスタント195とのインタラクションに従事するユーザの意図を決定するように構成される意図マッチャをさらに含む可能性がある。意図マッチャは、ユーザの意図を決定するために様々な技術を使用し得る。一部の実装において、意図マッチャは、たとえば文法と応答の意図との間の複数のマッピングを含む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>は、自動的に埋められる。その他のスロット値が、たとえば、ユーザの位置、現在レンダリングされているコンテンツ、ユーザのプリファレンス、および/またはその他の手掛かりに基づいて推測され得る。
フルフィルメントエンジン(ローカル145および/または遠隔184)は、NLUエンジンによって出力される予測された/推定された意図および任意の関連するスロット値を受け取り、意図を遂行する(または「解決する」)ように構成され得る。様々な実装において、ユーザの意図の遂行(または「解決」)は、様々なフルフィルメント情報(フルフィルメントデータとも呼ばれる)を、たとえば、フルフィルメントエンジンによって生成させる/取得させる可能性がある。これは、発話に対するローカルのおよび/もしくは遠隔の応答(たとえば、答え)、発話に基づいて実行するローカルにインストールされたアプリケーションとのインタラクション、発話に基づいてモノのインターネット(IoT)デバイスに(直接もしくは対応する遠隔のシステムを介して)送信するコマンド、ならびに/または発話に基づいて実行するその他の解決アクションを決定することを含み得る。そのとき、オンデバイスのフルフィルメントは、発話を解決するための決定されたアクションのローカルのおよび/または遠隔の遂行/実行を開始し得る。
図2は、クライアントデバイスにおいてローカルに勾配を生成し、勾配を送信し、および/または生成された勾配を利用してオンデバイスの音声認識モデルの重みを更新する例示的な方法200を示す流れ図を示す。便宜上、方法200の動作は、動作を実行するシステムに関連して説明される。方法200のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法200の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加される可能性がある。
ブロック252において、システムは、1つまたは複数の条件が満たされるかどうかを判定する。ブロック254の前に示されるが、ブロック252は、ブロック256、258、260、および/もしくは262の各々の前にも実行され得る--ならびに/またはその代わりにブロック256、258、260、および/もしくは262のサブセットのみの前に実行され得ることが留意される。一部の実装において、ブロック252は、クライアントデバイスの現在の状態が1つまたは複数の条件を満たすかどうかを判定することを含む。たとえば、システムは、クライアントデバイスのセンサーからのセンサーデータに基づいてクライアントデバイスの現在の状態を判定し、クライアントデバイスの現在の状態が条件を満たすかどうかを判定することができる。条件は、たとえば、クライアントデバイスが充電中であること、クライアントデバイスが少なくとも閾値の充電状態であること、ならびに/または(たとえば、加速度計、磁力計、および/もしくはその他のセンサーからのセンサーデータに基づいて)クライアントデバイスが現在移動していないおよび/もしくは閾値の量の時間内に移動しなかったことを含み得る。
ブロック254において、システムは、ローカルに記憶されたテキストセグメントを特定する。ブロック256において、システムは、オンデバイスの音声合成モデルを使用して、テキストセグメントの合成音声を含む合成音声オーディオデータを生成する。たとえば、システムは、合成音声オーディオデータを生成するためにオンデバイスの音声合成モデルを使用してテキストセグメントの音素のシーケンスを処理し得る。一部の実装において、システムは、テキストセグメントの前または後に付け加えられた1つまたは複数の追加のテキストセグメントと一緒にテキストセグメントに基づいて合成音声オーディオデータを生成する。
ブロック258において、システムは、オンデバイスの音声認識モデルを使用して合成音声オーディオデータを処理することによって予測された出力を生成する。一部の実装において、オンデバイスの音声認識モデルは、エンドツーエンドの音声認識モデルであり、システムは、予測されたテキストセグメントである予測された出力を生成する。一部のその他の実装において、オンデバイスの音声認識モデルは、エンドツーエンドのモデルではなく、システムは、予測された音素のシーケンスおよび/または別の予測された表現を生成する。
ブロック260において、システムは、予測された出力をテキストセグメントに対応するグラウンドトゥルース出力と比較することに基づいて勾配を生成する。たとえば、システムが予測されたテキストセグメントである予測された出力を生成するとき、予測されたテキストセグメントは、勾配を生成する際にテキストセグメントと比較され得る。また、たとえば、システムが予測された音素のシーケンスである予測された出力を生成するとき、予測された音素のシーケンスは、勾配を生成する際にテキストセグメントに対応する音素のシーケンスと比較され得る。勾配は、音声認識モデルを訓練するために使用される損失関数またはその損失関数の導関数によって予測された出力とグラウンドトゥルース出力との間の差を表す可能性がある。つまり、音声認識モデルが所与の損失関数の大きさを最小化するように訓練される場合、勾配は、損失関数によってグラウンドトゥルース出力と予測された出力との比較によって決定される可能性がある。
ブロック262において、システムは、ブロック260の勾配に基づいてオンデバイスの音声認識モデルの重みを更新し、ならびに/または(テキストセグメント、合成音声オーディオデータ、および予測されたテキストセグメントのいずれも送信せずに)遠隔のシステムにブロック260の勾配を(たとえば、インターネットもしくはその他の広域ネットワークを介して)送信する。勾配が遠隔のシステムに送信されるとき、遠隔のシステムは、大域的な音声認識モデルの大域的な重みを更新するために、生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する。ブロック262の後、システムは、ブロック252に戻る。ローカルのまたは大域的な音声認識モデルの重みを更新することは、重みを更新するために誤差逆伝播プロセス(たとえば、勾配降下逆伝播)によって勾配を適用することを含む可能性がある。
様々な実装において、方法200の複数のインスタンスが、所与のクライアントデバイス上で並列に実行され得ることが留意される。一部の実装において、方法200は、少なくとも、クライアントデバイスの初期構成ならびに/またはクライアントデバイスにおける連絡先データおよび/もしくはその他のデータのインポートなどの特定のイベントに応じて実行され得る。たとえば、方法200は、クライアントデバイスのための初期構成プロセスの直ぐ後および/または間、ならびに連絡先リスト、メディアプレイリスト、アプリケーション、スマートデバイスのエイリアス、および/またはその他の情報がクライアントデバイスにインポートされた後に実行され得る。これらのおよびその他の方法で、オンデバイスの音声認識モデルは、クライアントデバイスを構成しているユーザに合わせて迅速に適応され、パーソナライズされ得る。
図3は、遠隔のクライアントデバイスから受信された勾配に基づいて大域的な音声認識モデルの重みを更新し、更新された重みまたは更新された大域的な音声認識モデルを遠隔のクライアントデバイスに送信する例示的な方法300を示す流れ図を示す。便宜上、方法300の動作は、動作を実行するシステムに関連して説明される。このシステムは、1つまたは複数のサーバデバイスなどの様々なコンピュータシステムの様々な構成要素を含む可能性がある。さらに、方法300の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加される可能性がある。
ブロック352において、システムは、遠隔のクライアントデバイスから勾配を受信する。たとえば、システムは、図2の方法200の対応するインスタンスを実行している複数のクライアントデバイスから勾配を受信し得る。
ブロック354において、システムは、ブロック352において受信された勾配に基づいて大域的な音声認識モデルの重みを更新する。ブロック352および354の反復は、新しい勾配が受信され、かつ/または受信された後でキューに入れられるとき、実行される続けることが可能である。
ブロック356において、システムは、少なくとも、本明細書において説明される条件のうちの1つまたは複数などの1つまたは複数の条件が満たされるかどうかを周期的に判定する。概して、条件は、モデルの更新された重みおよび/または更新されたモデル自体を送信することにネットワークリソースを利用することを正当化するほど大域的なモデルが更新されたかどうかを判定することの代用として働く。言い換えると、条件は、モデルの性能の向上がネットワークリソースの使用を正当化するかどうかを判定することの代用として使用される。そうである場合、システムは、ブロック358に進み、現在の更新された重みおよび/または現在の更新された大域的な音声認識モデルを複数のクライアントデバイスに送信する。更新された重みおよび/または大域的な音声認識モデルは、任意で、更新手順の間の要求ならびに/またはクライアントデバイスがアイドル中および/もしくは充電中であるために送信された要求などの所与のクライアントデバイスからの要求に応じて所与のクライアントデバイスに送信され得る。
図4は、クライアントデバイスにおいてローカルに勾配を生成し、生成された勾配を使用してオンデバイスの音声合成モデルの重みを更新する例示的な方法400を示す流れ図を示す。便宜上、方法400の動作は、動作を実行するシステムに関連して説明される。方法400のこのシステムは、クライアントデバイスの1つまたは複数のプロセッサおよび/またはその他の構成要素を含む。さらに、方法400の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加される可能性がある。
ブロック452において、システムは、人の発話をキャプチャし、クライアントデバイスのマイクロフォンによって検出される以前のオーディオデータを特定する。
ブロック454において、システムは、人の発話のグラウンドトゥルースの文字起こしを特定する。たとえば、システムは、文字起こしを生成するためにオンデバイスの音声認識モデルを利用してオーディオデータを処理することができ、文字起こしの信頼性の尺度が閾値を満たす場合、および/または文字起こしの提示に応じたユーザのアクション(もしくは無アクション)が文字起こしが正しいことを示す場合、その文字起こしを「グラウンドトゥルース」として特定することができる。一部の実装において、以前の人の発話は、テキストに依存しないまたは話者に依存しない特定のためにユーザによって言われた登録フレーズであることが可能であり、登録フレーズは、登録フレーズに関して何を言うべきかをユーザに知らせるためにユーザに対してレンダリングされることが可能である。それらの実装において、システムは、ユーザに対してレンダリングされた登録フレーズをグラウンドトゥルースの文字起こしとして利用し得る。
ブロック456において、システムは、合成音声オーディオデータを生成するためにオンデバイスの音声合成モデルを使用してグラウンドトゥルースの文字起こしを処理する。
ブロック458において、システムは、合成音声オーディオデータを以前のオーディオデータと比較することに基づいて勾配を生成する。
ブロック460において、システムは、ブロック458において生成された勾配に基づいてオンデバイスの音声合成モデルの重みを更新する。方法400の1回または複数回の反復は、所与のクライアントデバイス上での方法200(図2)の1回または複数回の反復の実行の前に所与のクライアントデバイスにおいて実行され得る。方法400の実行によって、オンデバイスの音声合成モデルは、所与のクライアントデバイスのユーザの音声の特徴を考慮して仕立てられる。これは、ユーザの音声の特徴をより正確に反映する、オンデバイスの音声合成モデルを使用して方法200で生成される合成音声をもたらすことができ、それは、方法200を利用するオンデバイスの音声認識モデルの改善された訓練をもたらすことができる。
図5は、本明細書において説明される技術の1つまたは複数の態様を実行するために任意で利用される可能性がある例示的なコンピューティングデバイス510のブロック図である。一部の実装においては、クライアントデバイス、クラウドに基づく自動化されたアシスタント構成要素、および/またはその他の構成要素のうちの1つまたは複数が、例示的なコンピューティングデバイス510の1つまたは複数の構成要素を含む可能性がある。
概して、コンピューティングデバイス510は、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、たとえば、メモリサブシステム525およびファイルストレージサブシステム526を含むストレージサブシステム524と、ユーザインターフェース出力デバイス520と、ユーザインターフェース入力デバイス522と、ネットワークインターフェースサブシステム516とを含む可能性がある。入力および出力デバイスは、コンピューティングデバイス510とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム516は、外部ネットワークへのインターフェースを提供し、その他のコンピューティングデバイスの対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含む可能性がある。概して、用語「入力デバイス」の使用は、コンピューティングデバイス510または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含む可能性がある。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含む可能性がある。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして非視覚的表示を提供する可能性もある。概して、用語「出力デバイス」の使用は、コンピューティングデバイス510からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するすべての可能な種類のデバイスおよび方法を含むように意図される。
ストレージサブシステム524は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム524は、本明細書において開示される方法の選択された態様を実行するためならびに図1Aおよび図1Bに示された様々な構成要素を実装するための論理を含む可能性がある。
これらのソフトウェアモジュールは、概して、プロセッサ514によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム524において使用されるメモリ525は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM)530と、決まった命令が記憶される読み出し専用メモリ(ROM)532とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム526は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体をともなうフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含む可能性がある。特定の実装の機能を実装するモジュールは、ストレージサブシステム524内のファイルストレージサブシステム526によって、またはプロセッサ514によりアクセスされ得るその他のマシンに記憶される可能性がある。
バスサブシステム512は、コンピューティングデバイス510の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム512は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
コンピューティングデバイス510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であり得る。コンピュータおよびネットワークの変わり続ける性質が原因で、図5に示されたコンピューティングデバイス510の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図5に示されたコンピューティングデバイスよりも多くのまたは図5に示されたコンピューティングデバイスよりも少ない構成要素を有するコンピューティングデバイス510の多くのその他の構成が、可能である。
本明細書において説明されたシステムがユーザについての個人情報を収集するかもしくはそうでなければ監視するかまたは個人情報および/もしくは監視された情報を利用する可能性がある状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信するべきかどうかおよび/またはどのようにして受信するべきかを制御する機会を与えられる可能性がある。また、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に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 テキストセグメント
102 合成音声オーディオデータ
103A 予測されたテキストセグメント
103B 音素の予測されたシーケンス
104 音素のグラウンドトゥルースシーケンス
105 勾配
106 追加の勾配
110 クライアントデバイス
111 オンデバイスストレージ、マイクロフォン
112 スピーカ
113 カメラおよび/もしくはその他の視覚構成要素
114 ディスプレイ
120 セグメント特定器
122 オンデバイスの音声合成器
124 オンデバイスの音声認識器
126 勾配エンジン
127 音素エンジン
128 オンデバイスの訓練エンジン
130 オンデバイスの音声合成器訓練エンジン
140 自動化されたアシスタントクライアント
141 音声キャプチャエンジン
142 視覚キャプチャエンジン
144 オンデバイスの自然言語理解(NLU)エンジン
145 オンデバイスのフルフィルメントエンジン
152 オンデバイスの音声合成モデル
154 オンデバイスの音声認識モデル
154A 大域的な音声認識モデル
157 トークン-音素マッピング
160 遠隔のシステム
162 遠隔の訓練エンジン
164 更新配信エンジン
170 追加のクライアントデバイス
180 クラウドに基づく自動化されたアシスタント構成要素
182 遠隔のASRエンジン
183 遠隔のNLUエンジン
184 遠隔のフルフィルメントエンジン
195 自動化されたアシスタント
200 方法
300 方法
400 方法
510 コンピューティングデバイス
512 バスサブシステム
514 プロセッサ
516 ネットワークインターフェースサブシステム
520 ユーザインターフェース出力デバイス
522 ユーザインターフェース入力デバイス
524 ストレージサブシステム
525 メモリサブシステム
526 ファイルストレージサブシステム
530 主ランダムアクセスメモリ(RAM)
532 読み出し専用メモリ(ROM)

Claims (32)

  1. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスにローカルに記憶されたテキストセグメントを特定するステップと、
    前記特定されたテキストセグメントの合成音声を含む合成音声オーディオデータを生成するステップであって、前記クライアントデバイスにローカルに記憶された音声合成モデルを使用して前記テキストセグメントを処理することを含む、ステップと、
    前記合成オーディオデータを、前記クライアントデバイスにローカルに記憶されたエンドツーエンドの音声認識モデルを使用して処理して、予測されたテキストセグメントを生成するステップと、
    前記予測されたテキストセグメントを前記テキストセグメントと比較することに基づいて勾配を生成するステップと、
    前記生成された勾配に基づいて前記エンドツーエンドの音声認識モデルの1つまたは複数の重みを更新するステップとを含む、方法。
  2. 前記テキストセグメント、前記合成音声オーディオデータ、および前記予測されたテキストセグメントのいずれも送信せずに、前記生成された勾配をネットワークを介して遠隔のシステムに送信するステップをさらに含み、
    前記遠隔のシステムが、大域的なエンドツーエンドの音声認識モデルの大域的な重みを更新するために、前記生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する請求項1に記載の方法。
  3. 前記大域的なエンドツーエンドの音声認識モデルの更新された大域的な重みが、前記遠隔のシステムのメモリに記憶される請求項2に記載の方法。
  4. 前記大域的なエンドツーエンドの音声認識モデルを前記遠隔のシステムから前記クライアントデバイスにおいて受信するステップであって、前記大域的なエンドツーエンドの音声認識モデルを受信することが、前記遠隔のシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新することよりも後である、ステップと、
    前記大域的な音声認識モデルを受信することに応じて、前記クライアントデバイスのローカルストレージ内で前記エンドツーエンドの音声認識モデルを前記大域的な音声認識モデルによって置き換えるステップとをさらに含む請求項2または3に記載の方法。
  5. 更新された大域的な重みを前記遠隔のシステムから前記クライアントデバイスにおいて受信するステップであって、前記更新された大域的な重みを受信することが、前記遠隔のシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新することよりも後である、ステップと、
    前記更新された大域的な重みを受信することに応じて、前記クライアントデバイスのローカルストレージ内で前記エンドツーエンドの音声認識モデルの重みを前記更新された大域的な重みによって置き換えるステップとをさらに含む請求項2または3に記載の方法。
  6. 前記テキストセグメントが、連絡先リスト、メディアプレイリスト、リンクされたスマートデバイスのエイリアスのリスト、または前記クライアントデバイスにおいて受け取られたタイピングされた入力から特定される請求項1から5のいずれか一項に記載の方法。
  7. 前記テキストセグメントが、前記テキストセグメントが連絡先のエイリアスとしてまたはリンクされたスマートデバイスのエイリアスとして新しく追加されることに基づいて特定される請求項1から6のいずれか一項に記載の方法。
  8. 前記クライアントデバイスの1つまたは複数のセンサーからのセンサーデータに基づいて、前記クライアントデバイスの現在の状態が1つまたは複数の条件を満たすと判定するステップをさらに含み、
    前記合成音声オーディオデータを生成するステップ、および/または前記合成音声オーディオデータを処理して前記予測されたテキストセグメントを生成するステップ、および/または前記勾配を生成するステップ、および/または前記1つもしくは複数の重みを更新するステップが、前記クライアントデバイスの前記現在の状態が前記1つまたは複数の条件を満たすと判定することに応じて実行される請求項1から7のいずれか一項に記載の方法。
  9. 前記1つまたは複数の条件が、前記クライアントデバイスが充電中であること、前記クライアントデバイスが少なくとも閾値の充電状態であること、または前記クライアントデバイスがユーザによって持ち運ばれていないことのうちの少なくとも1つを含む請求項8に記載の方法。
  10. 前記1つまたは複数の条件が、前記クライアントデバイスが充電中であること、前記クライアントデバイスが少なくとも閾値の充電状態であること、または前記クライアントデバイスがユーザによって持ち運ばれていないことのうちの2つ以上を含む請求項9に記載の方法。
  11. 前記テキストセグメントを特定するステップが、
    1つまたは複数のマイクロフォンによって検出された以前の人の発話が前記テキストセグメントを含んでいたと判定することと、
    前記エンドツーエンドの音声認識モデルを使用して実行された前記以前の人の発話の以前の音声認識が前記テキストセグメントを正しく認識することができなかったと判定することと
    に基づいて前記テキストセグメントを特定するステップを含む請求項1に記載の方法。
  12. 前記以前の音声認識が前記テキストセグメントを正しく認識することができなかったと判定することが、前記以前の音声認識に基づいて予測されたアクションを取り消す受け取られたユーザ入力に基づき、前記以前の人の発話が前記テキストセグメントを含んでいたと判定することが、前記以前の音声認識に基づいて予測された前記アクションを取り消す前記ユーザ入力の後に受け取られた追加の受け取られたユーザ入力に基づく請求項11に記載の方法。
  13. 前記追加の受け取られたユーザ入力が、前記テキストセグメントの入力を含む請求項12に記載の方法。
  14. 前記特定されたテキストセグメントの合成音声を含む前記合成音声オーディオデータを生成するステップが、
    追加のテキストセグメントを決定することをさらに含み、
    前記合成音声オーディオデータを生成するステップが、前記音声合成モデルを使用して前記追加のテキストセグメントと一緒に前記テキストセグメントを処理することを含む請求項1から13のいずれか一項に記載の方法。
  15. 前記追加のテキストセグメントを決定することが、前記テキストセグメントが特定される特定のコーパスとの前記追加のテキストセグメントの定義された関係に基づく請求項14に記載の方法。
  16. 前記音声合成モデルを使用して前記テキストセグメントを処理することが、前記テキストセグメントに対応すると判定された音素のシーケンスを処理することを含む請求項1から15のいずれか一項に記載の方法。
  17. 前記音声合成モデルが、所与の言語のための複数の候補音声合成モデルのうちの1つであり、前記クライアントデバイスの地理的領域に少なくとも部分的に基づいて前記クライアントデバイスにローカルに記憶される請求項1から16のいずれか一項に記載の方法。
  18. 前記合成音声オーディオデータを生成する前に、
    前記クライアントデバイスの1つまたは複数のマイクロフォンによって検出され、以前の人の発話をキャプチャした以前のオーディオデータを特定するステップと、
    前記以前の人の発話のグラウンドトゥルースの文字起こしを特定するステップと、
    前記音声合成モデルを使用して前記グラウンドトゥルースの文字起こしを処理して、以前の合成音声オーディオデータを生成するステップと、
    前記以前の合成音声オーディオデータを前記以前のオーディオデータと比較することに基づいて勾配を生成するステップと、
    前記勾配に基づいて前記音声合成モデルの1つまたは複数の重みを更新するステップとをさらに含む請求項1から17のいずれか一項に記載の方法。
  19. 前記グラウンドトゥルースの文字起こしを特定するステップが、
    前記音声認識モデルを使用して文字起こしを生成すること、
    前記文字起こしの生成の信頼性の尺度に基づいて、および/または前記文字起こしに応じて実行されたユーザのアクションに基づいて、前記文字起こしを前記グラウンドトゥルースの文字起こしとして特定することを含む請求項18に記載の方法。
  20. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスにローカルに記憶されたテキストセグメントを特定するステップと、
    前記特定されたテキストセグメントの合成音声を含む合成音声オーディオデータを生成するステップであって、前記クライアントデバイスにローカルに記憶された音声合成モデルを使用して前記テキストセグメントを処理することを含む、ステップと、
    前記合成オーディオデータを、前記クライアントデバイスにローカルに記憶されたエンドツーエンドの音声認識モデルを使用して処理して、予測されたテキストセグメントを生成するステップと、
    前記予測されたテキストセグメントを前記テキストセグメントと比較することに基づいて勾配を生成するステップと、
    前記テキストセグメント、前記合成音声オーディオデータ、および前記予測されたテキストセグメントのいずれも送信せずに、前記生成された勾配をネットワークを介して遠隔のシステムに送信するステップとを含み、
    前記遠隔のシステムが、大域的なエンドツーエンドの音声認識モデルの大域的な重みを更新するために、前記生成された勾配および追加のクライアントデバイスからの追加の勾配を利用する、方法。
  21. 前記大域的なエンドツーエンドの音声認識モデルの更新された大域的な重みが、前記遠隔のシステムのメモリに記憶される請求項20に記載の方法。
  22. 前記大域的なエンドツーエンドの音声認識モデルを前記遠隔のシステムから前記クライアントデバイスにおいて受信するステップであって、前記大域的なエンドツーエンドの音声認識モデルを受信することが、前記遠隔のシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新することよりも後である、ステップと、
    前記大域的なエンドツーエンドの音声認識モデルを受信することに応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルを前記大域的なエンドツーエンドの音声認識モデルによって置き換えるステップとをさらに含む請求項20または21に記載の方法。
  23. 前記更新された大域的な重みを前記遠隔のシステムから前記クライアントデバイスにおいて受信するステップであって、前記更新された大域的な重みを受信することが、前記遠隔のシステムが前記勾配および前記追加の勾配に基づいて前記大域的なエンドツーエンドの音声認識モデルの前記大域的な重みを更新することよりも後である、ステップと、
    前記更新された大域的な重みを受信することに応じて、前記クライアントデバイスのローカルストレージ内で前記音声認識モデルの重みを前記更新された大域的な重みによって置き換えるステップとをさらに含む請求項20または21に記載の方法。
  24. 前記クライアントデバイスの1つまたは複数のセンサーからのセンサーデータに基づいて、前記クライアントデバイスの現在の状態が1つまたは複数の条件を満たすと判定するステップをさらに含み、
    前記合成音声オーディオデータを生成するステップ、および/または前記合成音声オーディオデータを処理して前記予測されたテキストセグメントを生成するステップ、および/または前記勾配を生成するステップ、および/または前記生成された勾配を送信するステップが、前記クライアントデバイスの前記現在の状態が前記1つまたは複数の条件を満たすと判定することに応じて実行される請求項20から23のいずれか一項に記載の方法。
  25. 前記特定されたテキストセグメントの合成音声を含む前記合成音声オーディオデータを生成するステップが、
    追加のテキストセグメントを決定することをさらに含み、
    前記合成音声オーディオデータを生成するステップが、前記音声合成モデルを使用して前記追加のテキストセグメントと一緒に前記テキストセグメントを処理することを含む請求項20から24のいずれか一項に記載の方法。
  26. 前記音声合成モデルが、所与の言語のための複数の候補音声合成モデルのうちの1つであり、前記クライアントデバイスの地理的領域に少なくとも部分的に基づいて前記クライアントデバイスにローカルに記憶される請求項20から25のいずれか一項に記載の方法。
  27. 前記合成音声オーディオデータを生成する前に、
    前記クライアントデバイスの1つまたは複数のマイクロフォンによって検出され、以前の人の発話をキャプチャした以前のオーディオデータを特定するステップと、
    前記以前の人の発話のグラウンドトゥルースの文字起こしを特定するステップと、
    前記音声合成モデルを使用して前記グラウンドトゥルースの文字起こしを処理して、以前の合成音声オーディオデータを生成するステップと、
    前記以前の合成音声オーディオデータを前記以前のオーディオデータと比較することに基づいて勾配を生成するステップと、
    前記勾配に基づいて前記音声合成モデルの1つまたは複数の重みを更新するステップとをさらに含む請求項20から26のいずれか一項に記載の方法。
  28. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスにローカルに記憶されたテキストセグメントを特定するステップと、
    前記特定されたテキストセグメントの合成音声を含む合成音声オーディオデータを生成するステップであって、前記クライアントデバイスにローカルに記憶された音声合成モデルを使用して前記テキストセグメントを処理することを含む、ステップと、
    予測された出力を生成するために、前記合成音声オーディオデータを、前記クライアントデバイスにローカルに記憶された認識モデルを使用して処理するステップと、
    前記予測された出力を前記テキストセグメントに対応するグラウンドトゥルース出力と比較することに基づいて勾配を生成するステップと、
    生成された勾配に基づいて前記音声認識モデルの1つまたは複数の重みを更新するステップとを含む、方法。
  29. 前記予測された出力が、予測された音素のシーケンスを含み、前記グラウンドトゥルース出力が、前記テキストセグメントに対応する音素のグラウンドトゥルースシーケンスを含む請求項28に記載の方法。
  30. 前記予測された出力が、予測されたテキストセグメントを含み、前記グラウンドトゥルース出力が、前記テキストセグメントを含む請求項29に記載の方法。
  31. 少なくとも1つのマイクロフォン、
    少なくとも1つのディスプレイ、
    プロセッサに請求項1から29のいずれか一項に記載の方法を実行させるローカルに記憶された命令を実行する1つまたは複数のプロセッサを含むクライアントデバイス。
  32. 1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに請求項1から29のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム製品。
JP2021541637A 2019-07-09 2019-10-02 オンデバイスの音声認識モデルの訓練のためのテキストセグメントのオンデバイスの音声合成 Active JP7104247B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962872140P 2019-07-09 2019-07-09
US62/872,140 2019-07-09
PCT/US2019/054314 WO2021006920A1 (en) 2019-07-09 2019-10-02 On-device speech synthesis of textual segments for training of on-device speech recognition model

Publications (2)

Publication Number Publication Date
JP2022531524A true JP2022531524A (ja) 2022-07-07
JP7104247B2 JP7104247B2 (ja) 2022-07-20

Family

ID=68296774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021541637A Active JP7104247B2 (ja) 2019-07-09 2019-10-02 オンデバイスの音声認識モデルの訓練のためのテキストセグメントのオンデバイスの音声合成

Country Status (6)

Country Link
US (4) US11127392B2 (ja)
EP (1) EP3791383B1 (ja)
JP (1) JP7104247B2 (ja)
KR (1) KR102413616B1 (ja)
CN (2) CN118865957A (ja)
WO (1) WO2021006920A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10605172B2 (en) 2013-03-14 2020-03-31 United Technologies Corporation Low noise turbine for geared gas turbine engine
KR102413616B1 (ko) 2019-07-09 2022-06-27 구글 엘엘씨 온-디바이스 음성 인식 모델 트레이닝을 위한 텍스트 세그먼트의 온-디바이스 음성 합성
US11545133B2 (en) * 2020-10-12 2023-01-03 Google Llc On-device personalization of speech synthesis for training of speech model(s)
US11676572B2 (en) 2021-03-03 2023-06-13 Google Llc Instantaneous learning in text-to-speech during dialog
CN113129870B (zh) * 2021-03-23 2022-03-25 北京百度网讯科技有限公司 语音识别模型的训练方法、装置、设备和存储介质
US11823697B2 (en) 2021-08-20 2023-11-21 Google Llc Improving speech recognition with speech synthesis-based model adapation
WO2023059959A1 (en) * 2021-10-06 2023-04-13 Google Llc Fusion of acoustic and text representations in an automatic speech recognition system implemented as a rnn-t
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)
US20230317082A1 (en) * 2022-03-31 2023-10-05 Google Llc Generating and/or utilizing unintentional memorization measure(s) for automatic speech recognition model(s)
CN114898733A (zh) * 2022-05-06 2022-08-12 深圳妙月科技有限公司 Ai语音数据的分析处理方法及系统
KR102715213B1 (ko) * 2024-02-27 2024-10-11 주식회사 리턴제로 음성데이터 내 단어 분석을 통한 화자 분리 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0389294A (ja) * 1989-08-31 1991-04-15 Fujitsu Ltd 語学訓練装置
JP2001013983A (ja) * 1999-06-25 2001-01-19 Nec Corp 音声合成を用いた音声認識装置および音声認識方法
JP2013218095A (ja) * 2012-04-09 2013-10-24 Clarion Co Ltd 音声認識サーバ統合装置および音声認識サーバ統合方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338489A (ja) * 1998-05-25 1999-12-10 Ricoh Co Ltd 音声認識装置および音声認識方法および記録媒体
US7668718B2 (en) * 2001-07-17 2010-02-23 Custom Speech Usa, Inc. Synchronized pattern recognition source data processed by manual or automatic means for creation of shared speaker-dependent speech user profile
US7013276B2 (en) * 2001-10-05 2006-03-14 Comverse, Inc. Method of assessing degree of acoustic confusability, and system therefor
US8818793B1 (en) * 2002-12-24 2014-08-26 At&T Intellectual Property Ii, L.P. System and method of extracting clauses for spoken language understanding
JP2005043461A (ja) * 2003-07-23 2005-02-17 Canon Inc 音声認識方法及び音声認識装置
WO2005071663A2 (en) * 2004-01-16 2005-08-04 Scansoft, Inc. Corpus-based speech synthesis based on segment recombination
JP4291728B2 (ja) * 2004-04-15 2009-07-08 日本電信電話株式会社 音声認識方法およびこの方法を実施する装置
US7509259B2 (en) * 2004-12-21 2009-03-24 Motorola, Inc. Method of refining statistical pattern recognition models and statistical pattern recognizers
US20070055526A1 (en) * 2005-08-25 2007-03-08 International Business Machines Corporation Method, apparatus and computer program product providing prosodic-categorical enhancement to phrase-spliced text-to-speech synthesis
US7698140B2 (en) * 2006-03-06 2010-04-13 Foneweb, Inc. Message transcription, voice query and query delivery system
US7472061B1 (en) * 2008-03-31 2008-12-30 International Business Machines Corporation Systems and methods for building a native language phoneme lexicon having native pronunciations of non-native words derived from non-native pronunciations
US9236047B2 (en) * 2010-05-21 2016-01-12 Microsoft Technology Licensing, Llc Voice stream augmented note taking
US10672399B2 (en) * 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US10453479B2 (en) * 2011-09-23 2019-10-22 Lessac Technologies, Inc. Methods for aligning expressive speech utterances with text and systems therefor
US9495966B2 (en) * 2012-05-31 2016-11-15 Elwha Llc Speech recognition adaptation systems based on adaptation data
WO2014144579A1 (en) * 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US10885918B2 (en) * 2013-09-19 2021-01-05 Microsoft Technology Licensing, Llc Speech recognition using phoneme matching
US9613619B2 (en) * 2013-10-30 2017-04-04 Genesys Telecommunications Laboratories, Inc. Predicting recognition quality of a phrase in automatic speech recognition systems
US9508338B1 (en) * 2013-11-15 2016-11-29 Amazon Technologies, Inc. Inserting breath sounds into text-to-speech output
US10068565B2 (en) * 2013-12-06 2018-09-04 Fathy Yassa Method and apparatus for an exemplary automatic speech recognition system
US10325590B2 (en) * 2015-06-26 2019-06-18 Intel Corporation Language model modification for local speech recognition systems using remote sources
US9997155B2 (en) * 2015-09-09 2018-06-12 GM Global Technology Operations LLC Adapting a speech system to user pronunciation
US9792897B1 (en) * 2016-04-13 2017-10-17 Malaspina Labs (Barbados), Inc. Phoneme-expert assisted speech recognition and re-synthesis
US10909978B2 (en) * 2017-06-28 2021-02-02 Amazon Technologies, Inc. Secure utterance storage
KR102339716B1 (ko) * 2017-06-30 2021-12-14 삼성에스디에스 주식회사 음성 인식 방법 및 그 장치
JP6654611B2 (ja) * 2017-12-05 2020-02-26 株式会社日立製作所 成長型対話装置
CN108133705A (zh) * 2017-12-21 2018-06-08 儒安科技有限公司 基于对偶学习的语音识别与语音合成模型训练方法
CN108182936B (zh) 2018-03-14 2019-05-03 百度在线网络技术(北京)有限公司 语音信号生成方法和装置
WO2020096073A1 (ko) * 2018-11-05 2020-05-14 주식회사 시스트란인터내셔널 빅 데이터를 이용한 최적의 언어 모델 생성 방법 및 이를 위한 장치
US10388272B1 (en) * 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences
CN109887484B (zh) 2019-02-22 2023-08-04 平安科技(深圳)有限公司 一种基于对偶学习的语音识别与语音合成方法及装置
KR102413616B1 (ko) 2019-07-09 2022-06-27 구글 엘엘씨 온-디바이스 음성 인식 모델 트레이닝을 위한 텍스트 세그먼트의 온-디바이스 음성 합성
US10789956B1 (en) * 2019-08-20 2020-09-29 Capital One Services, Llc Text-to-speech modeling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0389294A (ja) * 1989-08-31 1991-04-15 Fujitsu Ltd 語学訓練装置
JP2001013983A (ja) * 1999-06-25 2001-01-19 Nec Corp 音声合成を用いた音声認識装置および音声認識方法
JP2013218095A (ja) * 2012-04-09 2013-10-24 Clarion Co Ltd 音声認識サーバ統合装置および音声認識サーバ統合方法

Also Published As

Publication number Publication date
CN113412514B (zh) 2024-08-27
US11705106B2 (en) 2023-07-18
EP3791383A1 (en) 2021-03-17
WO2021006920A1 (en) 2021-01-14
CN118865957A (zh) 2024-10-29
US11978432B2 (en) 2024-05-07
JP7104247B2 (ja) 2022-07-20
KR102413616B1 (ko) 2022-06-27
US20230306955A1 (en) 2023-09-28
US20220005458A1 (en) 2022-01-06
KR20210102456A (ko) 2021-08-19
US20210104223A1 (en) 2021-04-08
US20240290317A1 (en) 2024-08-29
CN113412514A (zh) 2021-09-17
EP3791383B1 (en) 2021-12-08
US11127392B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
JP7104247B2 (ja) オンデバイスの音声認識モデルの訓練のためのテキストセグメントのオンデバイスの音声合成
US11817080B2 (en) Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model
US11545133B2 (en) On-device personalization of speech synthesis for training of speech model(s)
US11797772B2 (en) Word lattice augmentation for automatic speech recognition
JP7400112B2 (ja) 自動音声認識のための英数字列のバイアス付加
KR20230005966A (ko) 거의 일치하는 핫워드 또는 구문 검출
US20240112673A1 (en) Identifying and correcting automatic speech recognition (asr) misrecognitions in a decentralized manner
KR20240154576A (ko) 자동 스피치 인식 모델(들)에 대한 비의도적 기억화 측정치(들)를 생성 및/또는 활용

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210818

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220707

R150 Certificate of patent or registration of utility model

Ref document number: 7104247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150