JP2024019405A - 2パスエンドツーエンド音声認識 - Google Patents

2パスエンドツーエンド音声認識 Download PDF

Info

Publication number
JP2024019405A
JP2024019405A JP2023199215A JP2023199215A JP2024019405A JP 2024019405 A JP2024019405 A JP 2024019405A JP 2023199215 A JP2023199215 A JP 2023199215A JP 2023199215 A JP2023199215 A JP 2023199215A JP 2024019405 A JP2024019405 A JP 2024019405A
Authority
JP
Japan
Prior art keywords
decoder
utterance
las
rnn
pass
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023199215A
Other languages
English (en)
Inventor
タラ・シー・サイナス
C Sainath Tara
ルオミン・パン
Ruoming Pang
デイヴィッド・リバッハ
Rybach David
ヤンジャン・ヘ
Yanzhang He
ロヒット・プラバヴァルカー
Prabhavalkar Rohit
ウェイ・リ
Ri Wei
ミルコ・ヴィソンタイ
Visontai Mirko
チャオ・リアン
Qiao Liang
トレヴァー・ストロマン
Strohman Trevor
ヨンフイ・ウ
Yonghui Wu
イアン・シー・マッグロー
C Mcgraw Ian
チュン-チェン・チウ
Chung-Cheng Chiu
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 JP2024019405A publication Critical patent/JP2024019405A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • 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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】2パスエンドツーエンド音声認識を行う。【解決手段】2パス自動音声認識(ASR)モデルが、オーディオデータにおいて取り込まれた発話のテキスト表現を生成するために、ストリーミングオンデバイスASRを実行するために使用され得る。様々な実装形態は、オーディオデータにおいて取り込まれた発話のストリーミング候補認識を生成するために使用される、ASRモデルの第1のパス部分を含む。たとえば、第1のパス部分は、リカレントニューラルネットワークトランスフォーマ(RNN-T)デコーダを含み得る。様々な実装形態は、発話のストリーミング候補認識を修正し、発話のテキスト表現を生成するために使用される、ASRモデルの第2のパス部分を含む。たとえば、第2のパス部分は、リッスンアテンドスペル(LAS)デコーダを含み得る。様々な実装形態は、RNN-TデコーダとLASデコーダとの間で共有される共有エンコーダを含む。【選択図】図2

Description

自動アシスタント(「パーソナルアシスタント」、「モバイルアシスタント」などとしても知られる)は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、自動車システム、スタンドアロンパーソナルアシスタントデバイスなど、様々なクライアントデバイスを介して、ユーザによって対話され得る。自動アシスタントは、口頭自然言語入力(すなわち、発話)を含む、ユーザからの入力を受信し、アクションを実行することによって、別のデバイスを制御すること、および/または応答コンテンツ(たとえば、視覚的および/または可聴自然言語出力)を提供することによって、応答し得る。クライアントデバイスを介して対話された自動アシスタントは、クライアントデバイス自体を介して、および/または、クライアントデバイスとネットワーク通信している1つもしくは複数のリモートコンピューティングデバイス(たとえば、クラウド内のコンピューティングデバイス)を介して実装され得る。
自動アシスタントは、ユーザの口頭発話に対応するオーディオデータを、対応するテキスト(または、他の意味表現)に変換することができる。たとえば、オーディオデータは、自動アシスタントを含むクライアントデバイスの1つまたは複数のマイクロフォンを介したユーザの口頭発話の検出に基づいて、生成され得る。自動アシスタントは、口頭発話によって生じた音(たとえば、音素)、発音された音の順序、音声のリズム、イントネーションなど、オーディオデータにおいて取り込まれた口頭発話の様々な特性を認識するように試みる、音声認識エンジンを含み得る。さらに、音声認識エンジンは、そのような特性によって表されたテキスト単語またはフレーズを識別することができる。次いで、テキストは、口頭発話のための応答コンテンツを決定することにおいて、(たとえば、自然言語理解エンジンおよび/または対話状態エンジンを使用して)自動アシスタントによってさらに処理され得る。音声認識エンジンは、クライアントデバイスによって、および/または、クライアントデバイスからリモートであるが、クライアントデバイスとネットワーク通信している、1つもしくは複数の自動アシスタント構成要素によって実装され得る。
本明細書で説明する技法は、エンドツーエンド(E2E)2パス自動音声認識(ASR)モデルを使用して、口頭発話のテキスト表現を生成することを対象とする。2パスASRモデルは、ストリーミングの第1のパス部分を、非ストリーミングの第2のパス部分とともに含む。多数の実装形態では、第1のパス部分は、リカレントニューラルネットワークトランスフォーマ(RNN-T:recurrent neural network-transformer)デコーダを含み、ストリーミング様式において、口頭発話の候補テキスト表現を生成することができる。様々な実装形態では、非ストリーミングの第2のパス部分(たとえば、リッスンアテンドスペル(LAS:listen attend spell)デコーダを含むもの)は、第1のパス部分において生成された初期候補テキスト表現を改善するために使用され得る。たとえば、LASデコーダは、RNN-Tデコーダを使用して生成された候補テキスト表現をリランキングする(rerank)ために使用され得る。多数の実装形態では、2パスASRモデルは、共有エンコーダを含むことができ、ここで、RNN-TデコーダおよびLASデコーダが、共有エンコーダを共有する。共有エンコーダの使用によって、たとえば、RNN-Tデコーダのための専用エンコーダを使用し、LASデコーダのための専用エンコーダを使用するものと比較して、2パスASRモデルのモデルサイズを低減することができ、かつ/または向上した計算効率を提供することができる。言い換えれば、共有エンコーダの使用によって、2パスASRモデルが、口頭発話のテキスト表現を生成する際に利用されるとき、メモリおよび/または計算リソースの効率的な利用を可能にすることができる。メモリおよび/または計算リソースのこの節約は、2パスASRモデルが、制限されたメモリおよび/または計算リソースを有することが多いクライアントデバイスによって記憶および利用されるとき、特に影響力が強くなり得る。たとえば、共有エンコーダの使用によって、その制限されたリソースのために、他のモデルを使用するオンデバイスASRを(低バッテリー状況など、少なくともいくつかの状況において)妨げることがあり得るクライアントデバイス上で、オンデバイスASRが実行されることを可能にすることができる。
一例として、クライアントデバイスは、クライアントデバイスの1つまたは複数のマイクロフォンを使用して、「リビングルームのライトをオンにして」という口頭発話を取り込むことができる。「リビングルームのライトをオンにして」という口頭発話は、共有エンコーダ出力を生成するために、共有エンコーダを使用して、ストリーミング様式において処理され得、共有エンコーダ出力は、「リビングルームのライトをオンにして」のストリーミングの第1のパス候補テキスト表現を生成するために、RNN-Tデコーダを使用して処理され得る。ユーザが話すことを終了したとの決定に応答して、共有エンコーダ出力とともに、第1のパス候補テキスト表現が、「リビングルームのライトをオンにして」のテキスト表現を生成するために、LASデコーダを使用して処理され得る。
いくつかの実装形態では、2パスモデルは、RNN-T損失とLAS損失の両方を含む、結合損失関数を使用してトレーニングされ得る。それらの実装形態のうちのいくつかでは、トレーニングプロセスは、 (1)エンコーダおよびRNN-Tデコーダをトレーニングすること、(2)(1)においてトレーニングされたエンコーダを凍結させ、LASデコーダをトレーニングすることにおいて、凍結されたエンコーダを使用すること、ならびに(3)結合損失関数を使用して同時に、共有エンコーダ、RNN-Tデコーダ、およびLASデコーダをトレーニングすることを含み得る。それらの実装形態のいくつかのバージョンでは、LASデコーダは、最小単語誤り率(MWER:minimum word error rate)トレーニングプロセスを使用して、さらにトレーニングされ得る。
したがって、様々な実装形態は、オンデバイスストリーミングASRにおいて2パスASRモデルを使用するための技法を示す。従来のASRシステムは、たとえば、クライアントデバイスにおいてオーディオデータを取り込むこと、リモートサーバに、オーディオデータおよび/またはオーディオデータの表現を送信すること、オーディオデータにおいて取り込まれた発話のテキスト表現を生成するために、リモートサーバにおいて、オーディオデータおよび/またはオーディオデータの表現を処理すること、ならびに、クライアントデバイスに戻すように、発話のテキスト表現を送信することを必要とし得る。対照的に、オンデバイスASRシステムは、リモートサーバとの間でデータを送信する必要なしに、クライアントデバイスにおいてローカルで発話のテキスト表現を生成する。多数の実装形態では、2パスASRモデルを含むオンデバイスASRの使用によって、リモートサーバにデータを送信し、リモートサーバからデータを受信する必要をなくすことによって、従来のASRと比較したとき、計算リソース(たとえば、バッテリー電力、プロセッササイクル、メモリなど)を節約することができる。追加として、オンデバイスASRは、リモートサーバにオーディオデータを送信することなしに、ローカルでテキスト表現を生成するために、オーディオデータを処理することによって、ユーザプライバシーの利点を提供することができる。さらに、オンデバイスASRシステムは、従来のASRモデルに勝る、向上した信頼性を提供する。たとえば、オンデバイスASRシステムは、ワイヤレスネットワークがダウンするときなど、リモートサーバにオーディオデータを送信するためのネットワーク接続が利用不可能であるとき、オーディオデータのテキスト表現を生成することができる。対照的に、従来のASRシステムは、リモートサーバとの間でデータを送信するためのネットワーク接続が利用不可能であるとき、オーディオデータのテキスト表現を生成することができない。
本明細書でより詳細に説明する上記の概念および追加の概念のすべての組合せが、本明細書で開示する主題の一部であるとして企図されることを諒解されたい。たとえば、本開示の最後に現れる請求される主題のすべての組合せが、本明細書で開示する主題の一部であるとして企図される。
本明細書で開示する様々な実装形態による、発話のテキスト表現を生成する一例を示す図である。 本明細書で開示する様々な実装形態による、2パスASRモデルを使用して、発話のテキスト表現を生成する一例を示す図である。 本明細書で開示する実装形態が実装され得る、例示的な環境のブロック図である。 本明細書で開示する様々な実装形態による、2パスASRモデルをトレーニングするための、トレーニングインスタンスを生成する例示的なプロセスを示すフローチャートである。 本明細書で開示する実装形態による、2パスASRモデルの第1のパス部分をトレーニングする例示的なプロセスを示すフローチャートである。 本明細書で開示する実装形態による、2パスASRモデルの第2のパス部分をトレーニングする例示的なプロセスを示すフローチャートである。 本明細書で開示する実装形態による、2パスASRモデルをトレーニングする例示的なプロセスを示すフローチャートである。 本明細書で開示する実装形態による、2パスASRモデルを使用して、発話のテキスト表現を生成する例示的なプロセスを示すフローチャートである。 本明細書で開示する実装形態が実装され得る、別の例示的な環境のブロック図である。 コンピューティングデバイスの例示的なアーキテクチャを示す図である。
最先端の音声認識システムの多数の適用例のための要件は、低い単語誤り率(WER)のみでなく、低レイテンシも含み得る。具体的には、多数の使用事例では、システムは、ストリーミング様式において、およびリアルタイムよりも高速に、発話を復号することが可能でなければならない。最近では、ストリーミングリカレントニューラルネットワークトランスデューサ(RNN-T:recurrent neural network transducer)エンドツーエンド(E2E)モデルが、従来のオンデバイスモデルと比較して、改善されたWERおよびレイテンシメトリクスをもつ、オンデバイス音声認識のための良好な候補であることを示している。しかしながら、このモデルは、依然として、品質において大型の最先端の従来のモデルに遅れを取ることがある。一方、非ストリーミングE2Eリッスンアテンドアンドスペル(LAS:Listen, Attend and Spell)モデルは、大型の従来のモデルに匹敵する品質を示している。本明細書で説明する技法は、依然としてレイテンシ制約に従いながら、LASネットワークを第2のパス構成要素として組み込むことによって、E2Eストリーミングモデルの品質を従来のシステムのものにより近づけるものである。
音声認識のためのE2Eモデルは、音響モデル(AM)、発音モデル(PM)、および言語モデル(LM)を単一のネットワークに織り込み、別個のAM、PM、およびLMを有する従来のASRシステムと比較して、競争力のある結果を示している。E2Eモデルは、オンデバイスASRのために特に魅力的であり、その理由は、E2Eモデルが同等のサイズのオンデバイスの従来のモデルよりも優れていることがあるからである。
多数の実装形態では、ASRをデバイス上で、直接的なユーザ対話とともに実行させることには、多数の課題が存在する。第1に、認識結果がストリーミングでなければならない。すなわち、単語は、話されるとすぐに画面上に現れるべきである。第2に、モデルが、小さいレイテンシ(すなわち、ユーザが話すことと、テキストが現れることとの間の遅延)を有していなければならず、したがって、モバイルデバイス上でリアルタイムで、またはリアルタイムよりも高速で実行していなければならない。第3に、モデルが、認識精度を向上させるために、ユーザコンテキスト(たとえば、連絡先、曲名などのリスト)を利用することが可能でなければならない。RNN-T E2Eモデルは、これらの制約を満たすことができる。
リッスンアテンドアンドスペル(LAS)などの非ストリーミングE2Eモデルは、大型の従来のモデルに対して競争力のある性能を示している。しかしながら、LASモデルは、オーディオセグメント全体に注意を払わなければならないので、ストリーミングではなく、LASモデルを対話型アプリケーションにおいて使用することが困難になる。
2パス復号では、第2のパスモデルが、ラティスリスコアリング(lattice rescoring)またはnベストリランキング(n-best reranking)を使用することによって、第1のパスモデルからの初期出力を改善するために使用されることが多い。品質利得を取得しながら、ユーザによって知覚されるレイテンシを低く保つことは、第2のパスモデルを適用することに関する主要な課題である。言語モデルリスコアリングは、一般にマルチパス復号のために使用されるが、より最近では、第1のパスの従来のモデルからの仮説をリスコアリングするために、LASモデルとともに使用されている。エンコーダからの音響情報と、前の予測からの言語モデル情報とを取る、LASデコーダは、第2のパス言語モデルよりも厳密に強力であると考えられ得る。したがって、本明細書で説明する技法は、第2のパス処理のためにLASモデルを使用することを探求する。
具体的には、RNN-TデコーダおよびLASデコーダがエンコーダネットワークを共有する2パスアーキテクチャが、探求される。エンコーダを共有することによって、RNN-Tデコーダのための専用エンコーダと、LASデコーダのための異なる専用エンコーダとを有するものと比較して、低減されたモデルサイズおよび計算コストが可能になる。推論中に、RNN-Tデコーダは、ストリーミング予測を生じるが、LASデコーダは、予測を確定する。様々な実装形態は、ビーム探索としてLASデコーダを実行させること、対、RNN-Tデコーダによって生成された仮説をリスコアリングすることによる、トレードオフを探求する。いくつかの実装形態では、適応ビームとともに第1のパスRNN-Tモデルを実行させること、およびリスコアリング前に第1のパスラティスをプルーニングすることによって、計算コストが低減され得る。
いくつかの実装形態では、2パスASRアーキテクチャは、図2に示されたようになる。パラメータ化された入力音響フレームが、x=(x1...xT)として示されることがあり、ただし、
は、対数メルフィルタバンクエネルギーである。いくつかの実装形態では、(d=80)の場合、Tは、xにおけるフレームの数を示す。第1のパスにおいて、各音響フレームxtが、マルチレイヤLSTMを含む、共有エンコーダを通過させられて、出力etが得られ、出力etが、ストリーミング様式における各時間ステップにおいてyrを生じるために、RNN-Tデコーダに渡される。第2のパスにおいて、すべてのフレームの共有エンコーダの出力e=(e1...eT)が、LASデコーダに渡される。トレーニング中に、LASデコーダは、eに従って、出力ylを計算する。復号中に、LASデコーダは、下記のように、yrをさらに使用し得る。
LASデコーダを2つの異なる復号モードにおいて使用することが、この作業において探求される。具体的には、「第2のビーム探索」モードにおいて、LASデコーダは、RNN-Tデコーダの出力であるyrを無視して、eのみから出力ylを生じることができる。追加または代替として、LASデコーダが「リスコアリング」モードであるとき、RNN-Tデコーダからの上位K個の仮説が選択され得る。LASデコーダは、eに注意して、教師強制モードにおいて各シーケンスを処理して、スコアを計算することができ、スコアは、シーケンスの対数確率とアテンションカバレージペナルティ(attention coverage penalty)とを組み合わせるものである。最高のLASスコアをもつシーケンスが、出力シーケンスとして選ばれる。
いくつかの実装形態では、2パスモデルは、以下の結合損失とともに、ランダムな初期設定からトレーニングされ得、ただし、y*は、グランドトゥルーストランスクリプト(ground truth transcript)を表す。
上記の式において、λはハイパーパラメータである。多数の実装形態では、λは、RNN-T損失およびLAS損失に等しく重み付けするために、0.5に設定され得る。実際には、2パスモデルを最初から直接トレーニングすることは、不安定になることがあり、その理由は主に、RNN-TおよびLASのための損失が、最初からトレーニングするとき、大幅に異なる範囲内であるからである。したがって、モデルをトレーニングするためのマルチステッププロセス、すなわち、(1)エンコーダおよびRNN-Tモデルをトレーニングする、(2)(1)においてトレーニングされたエンコーダを使用して、LASデコーダをトレーニングし、ここで、トレーニングされたエンコーダが、LASデコーダをトレーニングする間に凍結される、および(3)「ディープファインチューニング(Deep finetuning)」、すなわち、共有エンコーダ、および両方のデコーダを、結合損失とともに同時にトレーニングする。
式1における損失の欠点のうちの1つは、第2のパスLASデコーダが、RNN-Tデコーダとは無関係に最適化されることである。これは、トレーニング戦略と復号戦略との間に不一致があり得ることを意味する。これに対処するために、平均単語誤り率(MWER:mean word error rate)トレーニングプロセスを使用して、誤りを最小限に抑えるために、LASデコーダをさらに改善するために、追加のトレーニングステップが使用され得る。具体的には、入力x、グランドトゥルーストランスクリプトy*、教師強制による所与のターゲットシーケンスymのための、LASによって計算された確率P(ym|x)(ただし、ymがRNN-Tによって与えられる場合、m=rであり、ymがLASによって与えられる場合、m=lである)が与えられると、事前トレーニングされた2パスモデルが、次のように改善され得る。
第1に、システムは、2パスモデルから、デコーダのうちの1つmとともにビーム探索を実行して、仮説のセットHm={h1,...,hb}を得るものであり、ただし、bはビームサイズである。MWERトレーニングを復号と一致させるために、Hmの生成は、ターゲット復号モードに依存する。LASデコーダが「第2のビーム探索」モードにおいて使用されるために、システムは、x(m=l)において、LASデコーダ自体とともに、ビーム探索を実行することによって、Hmを計算する。一方、LASデコーダが「リスコアリング」モードにおいて使用されるために、システムは、第1のパスRNN-Tデコーダ(m=r)とともに、ビーム探索を実行することによって、Hm(x)を計算する。
各シーケンスym∈Hmについて、W(y*,ym)が、ymの単語誤りの数であるとし、
が、Hmのための単語誤りの平均数であるとし、
が、Hmにおけるymの相対単語誤り率であるとする。また、
が、LASデコーダがHmにおけるすべての仮説の中の仮説ymに割り当てる条件付き確率を表すとする。MWER損失は、次のように定義される。
LASデコーダは、MWER損失と最尤交差エントロピー損失(maximum-likelihood cross-entropy loss)との結合を最小化するために、トレーニングされ得る。
LMWER(x,y*)+λMLElogP(y*|x) (3)
ただし、λMLEはハイパーパラメータである。多数の実装形態では、λMLEは、0.01に等しくなるように設定され得る。
次に図を参照すると、図1は、多数の実装形態による、2パスASRプロセスの一例を示す。図1は、時間を表す水平軸100を含み、時点102、104、106、および108を含む。第1の時点102は、ユーザが発話を話すことを開始するところを示し、ユーザが発話を話すことを終了したことを示す、第2の時点104が続く。時点106は、2パスASRシステムが、ユーザが発話を話すことを終了したと決定するときの指示を提供し、これが時間104に後続する。図示の例では、時間104と時間106との間の持続時間(すなわち、システムが、ユーザが話すことを終了したと決定するために要する時間)は、時間102と時間104との間の持続時間(すなわち、ユーザが発話を話している時間の量)よりもはるかに短い。追加または代替として、時点108は、システムが発話のテキスト表現を生成するときを示し、そこで、時間108が時間106に後続する。
いくつかの実装形態では、ASRモデルの第1のパスストリーミング部分110は、時間102と時間106との間の持続時間(すなわち、ユーザが発話を話すことを開始するときから、システムが、ユーザが発話を話すことを終了したと決定するときまでの時間)である。図示の例では、ASRモデルの第1のパスストリーミング部分110は、ユーザが話すことを開始するとき、開始する。しかしながら、これは例示的なものにすぎず、第1のパスストリーミング部分110は、ユーザが話すことを開始した少し後に開始することができる(たとえば、第1のパス部分110は、ユーザが話すことを開始した0.01秒後、0.05秒後、0.1秒後、0.5秒後、1秒後、および/または追加の持続時間後に開始することができる)。同様に、図示の例では、第1のパスストリーミング部分110は、システムが、ユーザが発話を話すことを終了したと決定する106のとき、終了する。しかしながら、これは例示的なものにすぎず、第1のパスストリーミング部分110は、システムが、ユーザが発話を話すことを終了したと決定する106の少し後に終了することができる(たとえば、第1のパス部分110は、システムが、ユーザが話すことを終了したと決定した0.01秒後、0.05秒後、0.1秒後、0.5秒後、1秒後、および/または追加の持続時間後に終了することができる)。多数の実装形態では、ASRシステムは、ユーザが発話を話している間、ストリーミング様式において、発話の1つまたは複数の候補ストリーミングテキスト表現を生成する。いくつかの実装形態では、ASRモデルの第1のパスストリーミング部分110は、共有エンコーダと、RNN-Tデコーダとを含む。追加または代替として、ASRモデルの第1のパスストリーミング部分110は、共有エンコーダおよびRNN-Tデコーダに加えて、追加のエンコーダを含み得る。
いくつかの実装形態では、ASRモデルの第2のパス部分114は、時間106と時間108との間の持続時間(すなわち、システムが、ユーザが発話を話すことを終了したと決定したときから、システムが発話の最終的なテキスト表現を生成するときまでの時間)である。図示の例では、第2のパス部分114は、システムが、ユーザが発話を話すことを終了したと決定する106のとき、開始する。しかしながら、これは例示的なものにすぎず、第2のパス部分114は、システムが、ユーザが話すことを終了したと決定した少し後に開始することができる(たとえば、第2のパス部分114は、システムが、ユーザが話すことを終了したと決定した0.01秒後、0.05秒後、0.1秒後、0.5秒後、1秒後、および/または追加の持続時間後に開始することができる)。いくつかの実装形態では、第2のパス部分114は、LASデコーダを含み、ここで、LASデコーダは、共有エンコーダを使用して生成された出力、および/または追加のエンコーダを使用して生成された出力など、第1のパス部分において生成された出力を処理することによって、第1のパスの間にストリーミング様式において生成された候補テキスト表現を改善することができる。
図2は、2パスASRモデルを使用して、オーディオデータのテキスト表現を生成する例示的なプロセス200を示すブロック図である。人間によって話された発話を取り込むオーディオデータ202が、共有エンコーダ出力206を生成するために、共有エンコーダ204を使用して処理される。多数の実装形態では、オーディオデータ202は、クライアントデバイスの1つまたは複数のマイクロフォンを使用して取り込まれる。ASRモデルの第1のパス部分は、共有エンコーダ出力206を生成するために、共有エンコーダ204を使用して、オーディオデータ202を処理すること、ならびに、RNN-T出力210を生成するために、RNN-Tデコーダ208を使用して、共有エンコーダ出力206を処理することを含み得る。いくつかの実装形態では、第1のパス部分は、ストリーミングASRであり、RNN-T出力210は、ストリーミング様式において生成されたオーディオデータ202において取り込まれた発話の1つまたは複数の候補テキスト表現を含み得る。
多数の実装形態では、第2のパス部分は、非ストリーミングであり、LAS出力214を生成するために、LASデコーダ212を使用して、RNN-T出力210とともに共有エンコーダ出力206を処理することを含み得る。LAS出力214は、オーディオデータ202の最終的なテキスト表現216を生成するために使用され得る。多数の実装形態では、LASデコーダ212は、オーディオデータのテキスト表現216を生成するために、オーディオデータの候補テキスト表現を改善するために使用され得る(すなわち、LASデコーダ212は、RNN-T出力210を改善することができる)。
図3は、本明細書で開示する実装形態が実装され得る、例示的な環境300を示す。図3は、クライアントデバイス302を含む。多数の実装形態では、クライアントデバイス302は、自動アシスタント(図示せず)のインスタンスを実行することができる。クライアントコンピューティングデバイス302は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、および車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンの対話型スピーカー、スマートテレビなどのスマートアプライアンス、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)であり得る。追加および/または代替のクライアントコンピューティングデバイスが提供され得る。
例示的な環境300は、2パスASRエンジン304、共有エンコーダモジュール306、RNN-Tデコーダモジュール310、LASデコーダモジュール312、トレーニングエンジン316、トレーニングインスタンスエンジン320、2パスASRモデル314、トレーニングインスタンス318、ならびに/または、追加もしくは代替のエンジンおよび/もしくはモデル(図示せず)を含む。2パスASRエンジン304、共有エンコーダモジュール306、RNN-Tデコーダモジュール310、およびLASデコーダモジュール312は、本明細書で説明する技法がインターフェースし得る例示的な構成要素である。いくつかの実装形態では、図3の1つまたは複数のエンジンおよび/またはモジュール304、306、310、312、および316の1つまたは複数の態様が組み合わせられ得る。たとえば、共有エンコーダモジュール306の態様は、LASデコーダモジュール312の態様と組み合わせられ得る。
トレーニングインスタンスエンジン320は、トレーニングインスタンス318を生成することができる。たとえば、トレーニングインスタンスエンジン320は、1つまたは複数のトレーニングインスタンスを生成することができ、ここで、各トレーニングインスタンスが、発話を取り込むオーディオデータと、発話のグランドトゥルーステキスト表現とを含む。いくつかの実装形態では、トレーニングインスタンス318は、本明細書で説明する図4のプロセス400に従って、トレーニングインスタンスエンジン320によって生成され得る。
トレーニングエンジン316は、トレーニングインスタンス318を使用して、2パスASRモデル314をトレーニングすることができる。いくつかの実装形態では、2パスASRモデル314は、共有エンコーダ部分と、RNN-Tデコーダ部分と、LASデコーダ部分とを含み得る(たとえば、2パスASRモデルは、本明細書で説明したような、図2に示されたモデルに従うものであり得る)。たとえば、トレーニングエンジン316は、(1)図5のプロセス500に従って、共有エンコーダ部分およびRNN-Tデコーダ部分をトレーニングすること、(2)図6のプロセス600に従って、ステップ(1)においてトレーニングされた共有エンコーダを使用して、LASデコーダ部分をトレーニングすることであって、ここで、共有エンコーダが、LASデコーダのトレーニング中に凍結される、こと、ならびに(3)図7のプロセス700に従って、共通損失を使用して、トレーニングされた共有エンコーダ、RNN-Tデコーダ、およびLASデコーダを改善することによって、2パスASRモデル314をトレーニングすることができる。
発話のテキスト表現を生成することについては、図8のプロセス800に関して本明細書で説明する。2パスASRエンジン304は、2パスASRモデル314を使用して、取り込まれたオーディオデータのテキスト表現を生成することができる。いくつかの実装形態では、2パスASRエンジン304の共有エンコーダモジュール306は、ストリーミング様式において共有エンコーダ出力を生成するために、2パスASRモデル314の共有エンコーダ部分を使用して、取り込まれたオーディオデータを処理することができる。RNN-Tデコーダモジュール310は、発話の1つまたは複数の候補テキスト表現を生成するために、2パスASRモデル314のRNN-Tデコーダ部分を使用して、共有エンコーダ出力を処理することができる。いくつかの実装形態では、RNN-Tデコーダモジュール310は、共有エンコーダモジュール306によってストリーミング様式において生成された共有エンコーダ出力を処理することができる。LASデコーダモジュール312は、共有エンコーダモジュール306を使用して、バッファ内に記憶されたいずれかの共有エンコーダ出力とともに、RNN-Tデコーダモジュールを使用して生成された発話の候補テキスト表現を処理することによって、発話のテキスト表現を生成することができる。
図4は、様々な実装形態による、2パスASRモデルをトレーニングするために使用され得る、1つまたは複数のトレーニングインスタンスを生成するプロセス400を示すフローチャートである。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)など、1つまたは複数の構成要素を含み得る。プロセス400の動作が特定の順序で示されているが、これは限定となるものではない。1つまたは複数の動作の並べ替え、省略、および/または追加が行われ得る。
ブロック402において、システムは、発話を取り込むオーディオデータのインスタンスを選択する。たとえば、オーディオデータのインスタンスは、人間が「サーモスタットを3度上げて」という発話を話すことを取り込むことができる。
ブロック404において、システムは、発話のテキスト表現を決定する。多数の実装形態では、発話のテキスト表現は、オーディオデータの選択されたインスタンスの人間のレビュアーによって決定され得る。追加または代替として、発話のテキスト表現は、追加のASRシステムを使用して決定され得る。多数の実装形態では、オーディオデータのテキスト表現は、追加のASRシステムを使用して決定され得、ここで、生成されたテキスト表現が、人間のレビュアーによって精度についてレビューされる。
ブロック406において、システムは、(1)発話を取り込むオーディオデータのインスタンスと、(2)発話のテキスト表現とを含む、トレーニングインスタンスを記憶する。
ブロック408において、システムは、任意の追加のトレーニングインスタンスを生成するべきか否かを決定する。そうである場合、システムは、ブロック402に戻るように進み、オーディオデータの追加のインスタンスを使用するブロック404および406に進む前に、発話を取り込むオーディオデータの追加のインスタンスを選択する。多数の実装形態では、システムは、しきい値数のトレーニングインスタンスが生成されたか否か、オーディオデータのいずれかの残っている未処理のインスタンスがあるか否か、および/または追加の条件が満たされるか否かなど、1つまたは複数の条件が満たされるか否かに基づいて、追加のトレーニングインスタンスを生成するべきか否かを決定することができる。ブロック408において、システムが、いかなる追加のトレーニングインスタンスも生成しないことを決定する場合、プロセスは終了する。
図5は、様々な実装形態による、2パスASRモデルの共有エンコーダおよびRNN-Tデコーダをトレーニングするプロセス500を示すフローチャートである。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)など、1つまたは複数の構成要素を含み得る。プロセス500の動作が特定の順序で示されているが、これは限定となるものではない。1つまたは複数の動作の並べ替え、省略、および/または追加が行われ得る。
ブロック502において、システムは、(1)発話を取り込むオーディオデータのインスタンスと、(2)発話のグランドトゥルース表現とを含む、トレーニングインスタンスを選択する。いくつかの実装形態では、トレーニングインスタンスは、図4のプロセス400に従って生成され得る。
ブロック504において、システムは、共有エンコーダ出力を生成するために、共有エンコーダを使用して、トレーニングインスタンスのオーディオデータ部分を処理し、予測されたRNN-T出力を生成するために、RNN-Tデコーダを使用して、共有エンコーダ出力を処理することができる。
ブロック506において、システムは、予測されたRNN-T出力と、トレーニングインスタンスのグランドトゥルーステキスト表現部分とに基づいて、RNN-T損失を生成する。
ブロック508において、システムは、RNN-T損失に基づいて、共有エンコーダの1つまたは複数の部分、および/あるいはRNN-Tデコーダの1つまたは複数の部分を更新する。
ブロック510において、システムは、追加のトレーニングを実行するべきか否かを決定する。そうである場合、システムは、ブロック502に戻るように進み、次いで、ブロック510の追加の反復を実行する前に、追加のトレーニングインスタンスを使用するブロック504、506、および508に進む前に、追加のトレーニングインスタンスを選択する。いくつかの実装形態では、システムは、1つまたは複数の追加の未処理のトレーニングインスタンスがある場合、および/あるいは他の1つまたは複数の基準がまだ満たされていない場合、さらなるトレーニングを実行することを決定することができる。他の1つまたは複数の基準は、たとえば、しきい値数のエポックが発生したか、および/またはしきい値持続時間のトレーニングが発生したか否かを含み得る。プロセス500について、非バッチ学習技法に関して説明するが、バッチ学習が、追加および/または代替として利用され得る。ブロック510において、システムが、追加のトレーニングを実行しないことを決定する場合、プロセスは終了する。
図6は、様々な実装形態による、2パスASRモデルのLASデコーダをトレーニングする例示的なプロセス600を示すフローチャートである。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)など、1つまたは複数の構成要素を含み得る。プロセス600の動作が特定の順序で示されているが、これは限定となるものではない。1つまたは複数の動作の並べ替え、省略、および/または追加が行われ得る。
ブロック602において、システムは、(1)発話を取り込むオーディオデータと、(2)発話のグランドトゥルース表現とを含む、トレーニングインスタンスを選択する。いくつかの実装形態では、選択されたトレーニングインスタンスは、2パスASRモデルの共有エンコーダおよび/またはRNN-Tデコーダ部分をトレーニングするために使用されたトレーニングインスタンスとは別個である。いくつかの他の実装形態では、選択されたトレーニングインスタンスは、2パスASRモデルの共有エンコーダおよび/またはRNN-Tデコーダ部分をトレーニングするためにさらに利用される。いくつかの実装形態では、トレーニングインスタンスは、図4のプロセス400に従って生成され得る。
ブロック604において、システムは、予測されたLAS出力を生成するために、共有エンコーダおよびLASデコーダを使用して、トレーニングインスタンスのオーディオデータ部分を処理する。多数の実装形態では、共有エンコーダは、図5のプロセス500においてRNN-Tデコーダとともにトレーニングされた共有エンコーダなど、RNN-Tデコーダとともに、システムによって前にトレーニングされている。
ブロック606において、システムは、トレーニングインスタンスの発話部分のグランドトゥルース表現と、予測されたLAS出力とに基づいて、LAS損失を生成する。
ブロック608において、システムは、共有エンコーダを更新しないが、LAS損失に基づいて、LASデコーダの1つまたは複数の部分を更新する。言い換えれば、前にトレーニングされた共有エンコーダが、LASデコーダをトレーニングしている間に凍結される。
ブロック610において、システムは、いずれかの追加のトレーニングを実行するべきか否かを決定する。そうである場合、システムは、ブロック602に戻るように進み、追加のトレーニングインスタンスを選択し、次いで、追加のトレーニングインスタンスに基づいて、ブロック604、606、および608の反復を実行し、次いで、ブロック610の追加の反復を実行する。いくつかの実装形態では、システムは、1つまたは複数の追加の未処理のトレーニングインスタンスがある場合、および/あるいは他の1つまたは複数の基準がまだ満たされていない場合、さらなるトレーニングを実行することを決定することができる。他の1つまたは複数の基準は、たとえば、しきい値数のエポックが発生したか、および/またはしきい値持続時間のトレーニングが発生したか否かを含み得る。プロセス600について、非バッチ学習技法に関して説明するが、バッチ学習が、追加および/または代替として利用され得る。ブロック610において、システムが、追加のトレーニングを実行しないことを決定する場合、プロセスは終了する。
図7は、様々な実装形態による、トレーニングされた2パスASRモデルを改善するために、共有エンコーダ、RNN-Tデコーダ、および/またはLASデコーダを一緒にトレーニングする例示的なプロセス700を示すフローチャートである。たとえば、共有エンコーダおよび/またはRNN-Tデコーダは、図5のプロセス500に従ってトレーニングされ得、かつ/または、LASデコーダは、図6のプロセス600に従ってトレーニングされ得る。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)など、1つまたは複数の構成要素を含み得る。プロセス700の動作が特定の順序で示されているが、これは限定となるものではない。1つまたは複数の動作の並べ替え、省略、および/または追加が行われ得る。
ブロック702において、システムは、(1)発話を取り込むオーディオデータと、(2)発話のグランドトゥルーステキスト表現とを含む、トレーニングインスタンスを選択する。いくつかの実装形態では、選択されたトレーニングインスタンスは、2パスASRモデルの共有エンコーダ、RNN-Tデコーダ、および/またはLASデコーダを最初にトレーニングするために使用されたトレーニングインスタンスとは別個である。いくつかの他の実装形態では、選択されたトレーニングインスタンスは、2パスASRモデルの共有エンコーダ、RNN-Tデコーダ、および/またはLASデコーダを最初にトレーニングするためにさらに利用される。いくつかの実装形態では、トレーニングインスタンスは、図4のプロセス400に従って生成され得る。
ブロック704において、システムは、共有エンコーダ出力を生成するために、最初にトレーニングされた共有エンコーダを使用して、オーディオデータを処理する。たとえば、共有エンコーダは、図5のプロセス500に従って最初にトレーニングされ得る。
ブロック706において、システムは、予測されたRNN-T出力を生成するために、最初にトレーニングされたRNN-Tデコーダを使用して、共有エンコーダ出力を処理する。たとえば、RNN-Tデコーダは、図5のプロセス500に従って最初にトレーニングされ得る。
ブロック708において、システムは、予測されたLAS出力を生成するために、最初にトレーニングされたLASデコーダを使用して、共有エンコーダ出力を処理する。たとえば、LASデコーダは、図6のプロセス600に従って最初にトレーニングされ得る。
ブロック710において、システムは、予測されたRNN-T出力と、予測されたLAS出力と、トレーニングインスタンスのグランドトゥルーステキスト表現部分とに基づいて、結合損失を生成することができる。たとえば、システムは、
の結合損失を生成することができ、ただし、xは、オーディオデータのインスタンスであり、y*は、トレーニングインスタンスのグランドトゥルーステキスト表現部分であり、LRNNTは、予測されたRNN-T出力と、トレーニングインスタンスのグランドトゥルーステキスト表現部分とに基づく、RNN-T損失であり、LLASは、予測されたLAS出力と、トレーニングインスタンスのグランドトゥルーステキスト表現部分とに基づく、LAS損失である。追加および代替の結合損失が、多数の実装形態に従って利用され得る。
ブロック712において、システムは、結合損失に基づいて、(1)共有エンコーダの1つまたは複数の部分、(2)RNN-Tデコーダの1つまたは複数の部分、および/あるいは(3)LASデコーダの1つまたは複数の部分を更新する。
ブロック714において、システムは、いずれかの追加のトレーニングを実行するべきか否かを決定する。そうである場合、システムは、ブロック702に戻るように進み、追加のトレーニングインスタンスを選択し、次いで、追加のトレーニングインスタンスに基づいて、ブロック704、706、708、710、および712の反復を実行し、次いで、ブロック714の追加の反復を実行する。いくつかの実装形態では、システムは、1つまたは複数の追加の未処理のトレーニングインスタンスがある場合、および/あるいは他の1つまたは複数の基準がまだ満たされていない場合、さらなるトレーニングを実行することを決定することができる。他の1つまたは複数の基準は、たとえば、しきい値数のエポックが発生したか、および/またはしきい値持続時間のトレーニングが発生したか否かを含み得る。プロセス700について、非バッチ学習技法に関して説明するが、バッチ学習が、追加および/または代替として利用され得る。ブロック714において、システムが、追加のトレーニングを実行しないことを決定する場合、プロセスは終了する。
図8は、様々な実装形態による、2パスASRモデルを使用して、オーディオデータにおいて取り込まれた発話のテキスト表現を生成するプロセス800を示すフローチャートであり、ここで、2パスASRモデルは、様々な実装形態による、共有エンコーダと、RNN-Tデコーダと、LASデコーダとを含む。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)など、1つまたは複数の構成要素を含み得る。プロセス800の動作が特定の順序で示されているが、これは限定となるものではない。1つまたは複数の動作の並べ替え、省略、および/または追加が行われ得る。
ブロック802において、システムは、ストリーミングオーディオデータを受信し、ここで、オーディオデータが、人間によって話された発話を取り込む。多数の実装形態では、オーディオデータは、クライアントデバイスの1つまたは複数のマイクロフォンを使用して取り込まれる。たとえば、オーディオデータは、モバイルフォンのマイクロフォンを使用して取り込まれ得る。
ブロック804において、人間が話すことを終了する前、およびストリーミング様式において、システムは、2パスASRモデルの第1のパス部分を使用して、オーディオデータを処理することによって、発話の1つまたは複数の候補テキスト表現を生成する。多数の実装形態では、システムは、(1)共有エンコーダ出力を生成するために、共有エンコーダを使用して、オーディオデータを処理すること、および(2)発話の1つまたは複数の候補テキスト表現を生成するために、RNN-Tデコーダを使用して、共有エンコーダ出力を処理することによって、2パスASRモデルの第1のパス部分を使用して、オーディオデータを処理する。
ブロック806において、システムは、人間が話すことを終了したと決定する。いくつかの実装形態では、システムは、RNN-Tデコーダを使用して生成されたクエリトークンの終了に基づいて、人間が話すことを終了したと決定することができる。いくつかの実装形態では、システムは、エンドポインタモデル(図示せず)を使用して、オーディオデータを処理することによって生成されたクエリトークンの終了に基づいて、人間が話すことを終了したと決定することができる。
ブロック808において、人間が話すことを終了したとの決定に応答して、システムは、発話のテキスト表現を生成するために、LASデコーダを使用して、(1)共有エンコーダ出力を、(2)発話の1つまたは複数の候補テキスト表現とともに処理することによって、2パスASRモデルの第2のパス部分を使用して、発話のテキスト表現を生成する。いくつかの実装形態では、LASデコーダは、RNN-Tデコーダを使用して生成された上位K個の仮説(すなわち、RNN-Tデコーダを使用して生成された上位K個の候補テキスト表現)をリスコアリングするために使用され得る。たとえば、LASデコーダは、RNN-Tデコーダを使用して生成された、上位3つの仮説、上位5つの仮説、上位20個の仮説、および/または追加の数の上位の仮説をリスコアリングするために使用され得る。たとえば、上位の仮説の各々について、LASデコーダは、候補仮説の確率とアテンションパラメータとを結合する、LASスコアを生成するために、共有エンコーダ出力に注意して、教師強制モードにおいて実行され得る。システムは、最高のLASスコアをもつ仮説を、発話のテキスト表現として選択することができる。追加または代替として、LASデコーダは、ツリーベースのラティスをリスコアリングするために使用され得、発話の上位の候補テキスト表現が、ラティスとして表現される。たとえば、LASデコーダは、アーク(arc)における確率を更新するために、共有エンコーダ出力に注意して、教師強制モードにおいて、各ラティスアーク(lattice arc)を処理するために使用され得る。システムは、確率がLASデコーダを使用して更新された後、最高確率をもつ候補テキスト表現として、発話のテキスト表現を識別することができる。
ブロック810において、システムは、発話のテキスト表現に基づいて、1つまたは複数のアクションを実行する。たとえば、システムは、スピーカーのために、クライアントデバイスの画面上のテキスト表現に基づいて、出力をレンダリングすることができる。いくつかの実装形態では、システムは、人間が発話を話している間、最高確率をもつ候補テキスト表現に基づいて、出力をレンダリングすることなど、候補テキスト表現のうちの1つまたは複数に基づいて、出力をレンダリングすることができる。いくつかのそのような実装形態では、システムは、人間が発話を話していた間にレンダリングされた出力を修正することによって、テキスト表現に基づいて、出力をレンダリングすることができる。追加または代替として、システムは、発話のテキスト表現に対する1つまたは複数の応答をレンダリングすることができる。たとえば、システムは、「今日の天気はどうですか」という発話を話す人間に応答して、「75度で、晴れです」という応答をレンダリングすることができる。追加または代替として、システムは、発話のテキスト表現に基づいて、1つまたは複数のクライアントデバイスを制御することができる。たとえば、システムは、「私のサーモスタットの温度を72度に設定して」という発話に応答して、ネットワーク化されたスマートサーモスタットにおける温度を72度に変更することができる。様々な実装形態では、システムは、発話のテキスト表現に基づいて、追加および/または代替のアクションを実行することができる。
次に図9を参照すると、様々な実装形態が実行され得る、例示的な環境が示されている。図9について最初に説明し、図9は、クライアントコンピューティングデバイス902を含み、クライアントコンピューティングデバイス902は、自動アシスタントクライアント904のインスタンスを実行する。1つまたは複数のクラウドベース自動アシスタント構成要素910は、全体として908に示される1つまたは複数のローカルエリアネットワークおよび/またはワイドエリアネットワーク(たとえば、インターネット)を介して、クライアントデバイス902に通信可能に結合される、1つまたは複数のコンピューティングシステム(「クラウド」コンピューティングシステムと総称される)上に実装され得る。
自動アシスタントクライアント904のインスタンスは、1つまたは複数のクラウドベース自動アシスタント構成要素910とのその対話を通して、ユーザの観点から、それとともにユーザがヒューマンコンピュータ対話に従事し得る、自動アシスタント900の論理インスタンスであるように見えるものを形成し得る。そのような自動アシスタント900のインスタンスが、図9に示されている。したがって、いくつかの実装形態では、クライアントデバイス902上で実行している自動アシスタントクライアント904を用いて従事するユーザは、実際には、自動アシスタント900の自分自身の論理インスタンスを用いて従事し得ることを理解されたい。簡潔および簡単のために、特定のユーザに「サービスする」として本明細書で使用する「自動アシスタント」という用語は、ユーザによって操作されたクライアントデバイス902上で実行している自動アシスタントクライアント904と、(複数のクライアントコンピューティングデバイスの複数の自動アシスタントクライアントの間で共有され得る)1つまたは複数のクラウドベース自動アシスタント構成要素910との組合せを指すことが多くなる。また、いくつかの実装形態では、自動アシスタント900が、ユーザが自動アシスタント900のその特定のインスタンスによって実際に「サービスされる」か否かにかかわらず、任意のユーザからの要求に応答し得ることも理解されたい。
クライアントコンピューティングデバイス902は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンの対話型スピーカー、スマートテレビなどのスマートアプライアンス、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)であり得る。追加および/または代替のクライアントコンピューティングデバイスが提供され得る。様々な実装形態では、クライアントコンピューティングデバイス902は、場合によっては、メッセージ交換クライアント(たとえば、SMS、MMS、オンラインチャット)、ブラウザなど、自動アシスタントクライアント904に加えたものである、1つまたは複数の他のアプリケーションを動作させ得る。それらの様々な実装形態のうちのいくつかにおいては、他のアプリケーションのうちの1つまたは複数は、場合によっては、自動アシスタント900と(たとえば、アプリケーションプログラミングインターフェースを介して)インターフェースするか、または、(クラウドベース自動アシスタント構成要素910ともインターフェースし得る)自動アシスタントアプリケーションのそれ自体のインスタンスを含むことができる。
自動アシスタント900は、クライアントデバイス902のユーザインターフェース入力および出力デバイスを介して、ユーザとのヒューマンコンピュータ対話セッションに従事する。ユーザプライバシーを保護するため、および/またはリソースを節約するために、多くの状況では、ユーザは、自動アシスタントが口頭発話を十分に処理するようになる前に、自動アシスタント900を明示的に呼び出さなければならないことが多い。自動アシスタント900の明示的な呼出しは、クライアントデバイス902において受信されたあるユーザインターフェース入力に応答して発生し得る。たとえば、クライアントデバイス902を介して、自動アシスタント900を呼び出すことができる、ユーザインターフェース入力は、場合によっては、クライアントデバイス902のハードウェアおよび/または仮想ボタンの作動を含み得る。その上、自動アシスタントクライアントは、1つまたは複数の口頭呼出しフレーズの存在を検出するように動作可能である呼出しエンジンなど、1つまたは複数のローカルエンジン906を含み得る。呼出しエンジンは、口頭呼出しフレーズのうちの1つの検出に応答して、自動アシスタント900を呼び出すことができる。たとえば、呼出しエンジンは、「ヘイ、アシスタント」、「OK、アシスタント」、および/または「アシスタント」などの口頭呼出しフレーズの検出に応答して、自動アシスタント900を呼び出すことができる。呼出しエンジンは、(たとえば、「非アクティブ」モードでない場合)口頭呼出しフレーズの発生を監視するために、クライアントデバイス602の1つまたは複数のマイクロフォンからの出力に基づくオーディオデータフレームのストリームを連続的に処理することができる。口頭呼出しフレーズの発生を監視する間、呼出しエンジンは、口頭呼出しフレーズを含まないいかなるオーディオデータフレームも(たとえば、バッファ内に一時的に記憶した後)破棄する。しかしながら、呼出しエンジンが、処理されたオーディオデータフレームにおいて口頭呼出しフレーズの発生を検出するとき、呼出しエンジンは、自動アシスタント900を呼び出すことができる。本明細書で使用する、自動アシスタント900を「呼び出すこと」は、自動アシスタント900の1つまたは複数の前に非アクティブな機能がアクティブ化されることを引き起こすことを含み得る。たとえば、自動アシスタント900を呼び出すことは、(呼出しより前に、オーディオデータフレームのさらなる処理が発生していなかったのに対して)それに基づいて呼出しフレーズが検出されたオーディオデータフレーム、および/あるいは1つまたは複数の後続のオーディオデータフレームをさらに処理することを、1つまたは複数のローカルエンジン906および/またはクラウドベース自動アシスタント構成要素910に行わせることを含み得る。たとえば、ローカルおよび/またはクラウドベース構成要素は、自動アシスタント900の呼出しに応答して、2パスASRモデルを使用して、取り込まれたオーディオデータを処理することができる。
自動アシスタント900の1つまたは複数のローカルエンジン906は、任意であり、たとえば、上記で説明した呼出しエンジン、(取り込まれたオーディオをテキストに変換する)ローカル音声テキスト(「STT」)エンジン、(テキストを音声に変換する)ローカルテキスト音声(「TTS」)エンジン、(オーディオ、および/またはオーディオから変換されたテキストの意味論的意味を決定する)ローカル自然言語プロセッサ、および/または他のローカル構成要素を含み得る。クライアントデバイス902が、コンピューティングリソース(たとえば、プロセッササイクル、メモリ、バッテリーなど)に関して比較的制約されるので、ローカルエンジン906は、クラウドベース自動アシスタント構成要素910中に含まれる任意の相対物と比較して、制限された機能を有し得る。
クラウドベース自動アシスタント構成要素910は、クラウドの実質的に無限のリソースを活用して、ローカルエンジン906の任意の相対物と比較して、オーディオデータのよりロバストおよび/もしくはより正確な処理、ならびに/または他のユーザインターフェース入力を実行する。この場合も、様々な実装形態では、クライアントデバイス902は、呼出しエンジンによる口頭呼出しフレーズの検出、または自動アシスタント900の何らかの他の明示的な呼出しの検出に応答して、オーディオデータおよび/または他のデータをクラウドベース自動アシスタント構成要素910に提供することができる。
図示されたクラウドベース自動アシスタント構成要素910は、クラウドベースTTSモジュール912と、クラウドベースSTTモジュール914と、自然言語プロセッサ916と、対話状態トラッカー918と、対話マネージャ920とを含む。いくつかの実装形態では、自動アシスタント900のエンジンおよび/またはモジュールのうちの1つまたは複数は、省略され、組み合わせられ、かつ/または自動アシスタント900とは別個である構成要素において実装され得る。さらに、いくつかの実装形態では、自動アシスタント900は、追加および/または代替のエンジンおよび/またはモジュールを含み得る。クラウドベースSTTモジュール914は、オーディオデータをテキストに変換することができ、テキストが次いで、自然言語プロセッサ916に提供され得る。
クラウドベースTTSモジュール912は、テキストデータ(たとえば、自動アシスタント900によって定式化された自然言語応答)を、コンピュータ生成された音声出力に変換することができる。いくつかの実装形態では、TTSモジュール912は、コンピュータ生成された音声出力を、たとえば、1つまたは複数のスピーカーを使用して直接出力されるように、クライアントデバイス902に提供し得る。他の実装形態では、自動アシスタント900によって生成されたテキストデータ(たとえば、自然言語応答)は、ローカルエンジン906のうちの1つに提供され得、次いで、ローカルエンジン906は、テキストデータを、ローカルで出力されるコンピュータ生成された音声に変換し得る。
自動アシスタント900の自然言語プロセッサ916は、自由形式自然言語入力を処理し、自然言語入力に基づいて、自動アシスタント900の1つまたは複数の他の構成要素による使用のために、注釈付き出力を生成する。たとえば、自然言語プロセッサ916は、ユーザによってクライアントデバイス902を介して提供されたオーディオデータの、STTモジュール914による変換である、テキスト入力である自然言語自由形式入力を処理することができる。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈と、場合によっては自然言語入力の用語のうちの1つまたは複数(たとえば、全部)とを含み得る。
いくつかの実装形態では、自然言語プロセッサ916は、自然言語入力における様々なタイプの文法情報を識別し、注釈を付けるように構成される。いくつかの実装形態では、自然言語プロセッサ916は、追加および/または代替として、(たとえば、文学の登場人物、有名人、公人などを含む)人々、組織、(現実および想像上の)位置などへの参照など、1つまたは複数のセグメントにおけるエンティティ参照に注釈を付けるように構成された、エンティティタガー(図示せず)を含み得る。いくつかの実装形態では、自然言語プロセッサ916は、追加および/または代替として、1つまたは複数のコンテキストキューに基づいて、同じエンティティへの参照をグループ化または「クラスタ化」するように構成された、同一指示レゾルバ(図示せず)を含み得る。たとえば、同一指示レゾルバは、「私は、前回に私たちがそこで食事をしたHypothetical Cafeが気に入りました」という自然言語入力において、「そこで」という用語が「Hypothetical Cafe」であると解決するために利用され得る。いくつかの実装形態では、自然言語プロセッサ916の1つまたは複数の構成要素は、自然言語プロセッサ916の1つまたは複数の他の構成要素からの注釈に依拠し得る。いくつかの実装形態では、特定の自然言語入力を処理する際に、自然言語プロセッサ916の1つまたは複数の構成要素は、1つまたは複数の注釈を決定するために、関係する以前の入力、および/または特定の自然言語入力以外の他の関係するデータを使用し得る。
いくつかの実装形態では、対話状態トラッカー918は、たとえば、ヒューマンコンピュータ対話セッションの間の、および/または複数の対話セッションにわたる、1人または複数のユーザの目的(または「意図」)の信念状態を含む、「対話状態」を追跡するように構成され得る。対話状態を決定する際に、いくつかの対話状態トラッカーは、対話セッションにおけるユーザおよびシステム発話に基づいて、対話においてインスタンス化されるスロットのための最も可能性の高い値を決定しようと努め得る。いくつかの技法は、スロットのセット、およびそれらのスロットに関連付けられた値のセットを定義する、固定されたオントロジーを利用する。いくつかの技法は、追加または代替として、個々のスロットおよび/または領域に合わせて調整され得る。たとえば、いくつかの技法は、各領域における各スロットタイプのためのモデルをトレーニングすることを必要とし得る。
対話マネージャ920は、たとえば、対話状態トラッカー918によって提供された現在の対話状態を、次いで自動アシスタント900によって実行される複数の候補応答アクションのうちの1つまたは複数の「応答アクション」にマッピングするように構成され得る。応答アクションは、現在の対話状態に応じて、様々な形態で入ってくることがある。たとえば、最後の順番(たとえば、最終的にユーザが所望するタスクが実行されるとき)より前に発生する対話セッションの順番に対応する、初期の対話状態および途中の対話状態は、自動アシスタント900が追加の自然言語対話を出力することを含む、様々な応答アクションにマッピングされ得る。この応答対話は、たとえば、ユーザが実行することを意図すると対話状態トラッカー918が信じる何らかのアクションのためのパラメータを、ユーザが与える(すなわち、スロットを満たす)ことの要求を含み得る。いくつかの実装形態では、応答アクションは、「要求」(たとえば、スロットを満たすためのパラメータを求める)、「オファー」(たとえば、ユーザのためのアクションまたは一連のアクションを提案する)、「選択」、「知らせる」(たとえば、要求された情報をユーザに提供する)、「一致なし」(たとえば、ユーザの最後の入力が理解されないことをユーザに通知する)、周辺デバイスへの(たとえば、電球をオフにするための)コマンドなどのアクションを含み得る。
図10は、場合によっては、本明細書で説明する技法の1つまたは複数の態様を実行するために利用され得る、例示的なコンピューティングデバイス1010のブロック図である。いくつかの実装形態では、クライアントコンピューティングデバイス、および/または他の構成要素のうちの1つまたは複数は、例示的なコンピューティングデバイス1010の1つまたは複数の構成要素を備え得る。
コンピューティングデバイス1010は、典型的には、バスサブシステム1012を介していくつかの周辺デバイスと通信する、少なくとも1つのプロセッサ1014を含む。これらの周辺デバイスは、たとえば、メモリサブシステム1025およびファイル記憶サブシステム1026を含む記憶サブシステム1024と、ユーザインターフェース出力デバイス1020と、ユーザインターフェース入力デバイス1022と、ネットワークインターフェースサブシステム1016とを含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス1010とのユーザ対話を可能にする。ネットワークインターフェースサブシステム1016は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス1022は、キーボード、およびマウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、ボイス認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス1010に、または通信ネットワーク上に情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むものとする。
ユーザインターフェース出力デバイス1020は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(「CRT」)、液晶ディスプレイ(「LCD」)などのフラットパネルデバイス、投影デバイス、または可視の画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介してなど、非視覚的ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス1010からユーザに、または別のマシンもしくはコンピューティングデバイスに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むものとする。
記憶サブシステム1024は、本明細書で説明するモジュールの一部または全部の機能を提供する、プログラミングおよびデータ構造を記憶する。たとえば、記憶サブシステム1024は、図4、図5、図6、図7、および/または図8のプロセスのうちの1つまたは複数の選択された態様を実行するための、ならびに図3および/または図9に示された様々な構成要素を実装するための論理を含み得る。
これらのソフトウェアモジュールは、一般に、プロセッサ1014によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム1024内で使用されるメモリ1025は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(「RAM」)1030と、固定された命令が記憶される読取り専用メモリ(「ROM」)1032とを含む、いくつかのメモリを含み得る。ファイル記憶サブシステム1026は、プログラムおよびデータファイルのための永続的記憶を提供することができ、ハードディスクドライブ、関連付けられたリムーバブル媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、記憶サブシステム1024内のファイル記憶サブシステム1026によって、またはプロセッサ1014によってアクセス可能な他のマシン内に記憶され得る。
バスサブシステム1012は、コンピューティングデバイス1010の様々な構成要素およびサブシステムを、意図されるように互いに通信させるための機構を提供する。バスサブシステム1012は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
コンピューティングデバイス1010は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、異なるタイプのものであり得る。コンピュータおよびネットワークの常に変化し続ける性質のために、図10に示されたコンピューティングデバイス1010についての説明は、いくつかの実装形態を例示するための具体例にすぎないものである。図10に示されたコンピューティングデバイスよりも多いかまたは少ない構成要素を有する、コンピューティングデバイス1010の多数の他の構成が可能である。
本明細書で説明するシステムが、ユーザ(または、本明細書では「参加者」と呼ばれることが多い)についての個人情報を収集するか、または個人情報を利用することがある状況では、ユーザには、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在の地理的位置についての情報)を収集するか否かを制御するため、あるいは、ユーザにより関連があり得る、コンテンツサーバからのコンテンツを受信するか否か、および/またはどのように受信するかを制御するための機会が提供され得る。また、いくつかのデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定することができないように扱われることがあり、または、ユーザの地理的位置が一般化されることがあり、その場合、地理的位置情報は、ユーザの特定の地理的位置を決定することができないように(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、情報がユーザについてどのように収集および/または使用されるかに対する制御を有し得る。
いくつかの実装形態では、プロセッサによって実施される方法が提供され、セグメントのシーケンスを含み、人間の話者によって話された発話を取り込む、オーディオデータを受信するステップを含む。方法は、セグメントの各々について、およびシーケンスにおいて、 リカレントニューラルネットワークトランスフォーマ(「RNN-T」)出力を生成するために、自動音声認識(「ASR」)モデルの第1のパス部分を使用して、セグメントを処理するステップをさらに含む。ASRモデルの第1のパス部分を使用して、セグメントの各々を処理するステップは、 共有エンコーダ出力を生成するために、共有エンコーダ部分を使用して、セグメントを処理するステップと、共有エンコーダバッファ内に、次のアイテムとして、共有エンコーダ出力を追加するステップと、RNN-T出力の対応する部分を生成するために、RNN-Tデコーダ部分を使用して、共有エンコーダ出力を処理するステップとを含む。方法は、RNN-T出力に基づいて、発話の1つまたは複数の第1のパス候補テキスト表現を決定するステップと、人間の話者が発話を話すことを終了したと決定するステップとをさらに含む。方法は、人間の話者が発話を話すことを終了したとの決定に応答して、ASRモデルの第2のパス、リッスンアテンションスペル(「LAS:listen attention spell」)デコーダ部分を使用して、(a)RNN-T出力、および/または(b)発話の1つまたは複数の第1のパス候補テキスト表現とともに、共有エンコーダバッファからの共有エンコーダ出力を処理することに基づいて、LAS出力を生成するステップをさらに含む。方法は、LAS出力に基づいて、発話の最終的なテキスト表現を生成するステップをさらに含む。
技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
いくつかの実装形態では、方法は、発話の1つまたは複数の第1のパス候補テキスト表現のうちの少なくとも1つに基づいて、ストリーミング様式において、出力をレンダリングするステップと、発話の最終的なテキスト表現に基づいて、レンダリングされた出力を更新するステップとをさらに含む。
いくつかの実装形態では、方法は、発話の最終的なテキスト表現に基づいて、1つまたは複数のデバイスを制御するステップをさらに含む。
いくつかの実装形態では、方法は、最終的なテキスト表現に応答するコンテンツを決定するステップと、決定されたコンテンツに基づいて、出力をレンダリングするステップとをさらに含む。
いくつかの実装形態では、プロセッサによって実施される方法が提供され、 発話を受信するステップと、第1のパス、リカレントニューラルネットワークトランスデューサ(RNN-T)、エンドツーエンド(E2E)デコーダと、第2のパス、リッスンアテンドアンドスペル(LAS)デコーダとを含む、マルチパスデコーダ(multi-pass decoder)を使用して、発話を処理するステップと、マルチパスデコーダを使用して、発話を処理した最終結果を出力するステップとを含む。
技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
いくつかの実装形態では、マルチパスデコーダを使用して、発話を処理するステップは、 処理するために、RNN-T、E2Eデコーダに、発話を表すオーディオデータのフレームを送信するステップと、発話を処理した結果が確定される前に、出力のために、RNN-T、E2Eデコーダを使用して、送信されたオーディオデータのフレームを処理した1つまたは複数のストリーミング結果を提供するステップと、RNN-T、E2Eデコーダが、送信されたフレームを処理することを完了した後、処理するために、LASデコーダに、発話を表すオーディオデータのフレームを送信するステップと、LASデコーダを使用して、送信されたオーディオデータのフレームを処理した結果に基づいて、発話を処理した結果を確定するステップとを含む。それらの実装形態のうちのいくつかでは、方法は、LASデコーダに、RNN-T、E2Eデコーダを使用して、送信されたオーディオデータのフレームを処理したストリーミング結果のうちの1つまたは複数を送信するステップをさらに含む。発話を処理した結果は、LASデコーダを使用して、1つまたは複数のストリーミング結果を処理した結果にさらに基づいて確定され得る。それらの実装形態のうちのいくつかでは、発話を処理した結果を確定するステップは、LASデコーダを使用して、RNN-T、E2EデコーダからLASデコーダに送信される1つまたは複数のストリーミング結果の中から選択された特定のストリーミング結果を選択するステップを含む。
いくつかの実装形態では、LASデコーダが第2のビーム探索モードである間に、発話がLASデコーダによって処理される。
いくつかの実装形態では、LASデコーダがリスコアリングモードである間に、発話がLASデコーダによって処理される。
いくつかの実装形態では、マルチパスデコーダは、LASデコーダとRNN-T、E2Eデコーダの両方と共有される、単一のエンコーダをさらに含む。
いくつかの実装形態では、マルチパスデコーダが、最小単語誤り率(MWER)を最適化するようにトレーニングされる。
いくつかの実装形態では、マルチパスデコーダが、RNN-T、E2Eデコーダを独立してトレーニングし、次いで、RNN-T、E2Eデコーダをトレーニングすることを停止し、次いで、LASデコーダを独立してトレーニングすることを伴う、マルチステップ手法を使用してトレーニングされる。
追加として、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサ(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))を含み、ここで、1つまたは複数のプロセッサは、関連するメモリ内に記憶された命令を実行するように動作可能であり、ここで、命令は、本明細書で説明する方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態はまた、本明細書で説明する方法のいずれかを実行するために、1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
いくつかの実装形態について、本明細書で説明および例示したが、機能を実行し、かつ/あるいは、結果および/または本明細書で説明する利点のうちの1つもしくは複数を取得するための、様々な他の手段および/または構造が利用されることがあり、そのような変形形態および/または変更形態の各々は、本明細書で説明する実装形態の範囲内であると見なされる。より一般的には、本明細書で説明するすべてのパラメータ、寸法、材料、および構成は、例示的であるものであり、実際のパラメータ、寸法、材料、および/または構成は、そのために教示が使用される1つまたは複数の特定の適用例に依存することになる。当業者は、本明細書で説明する特定の実装形態の多数の均等物を認識するようになるか、またはせいぜい日常の実験を使用して確認することが可能になる。したがって、上記の実装形態は、例として提示されるにすぎず、添付の特許請求の範囲およびその均等物の範囲内で、実装形態が、具体的に説明および請求するもの以外で実施される場合があることを理解されたい。本開示の実装形態は、本明細書で説明する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法のいかなる組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合、本開示の範囲内に含まれる。
100 水平軸
102 時点、第1の時点、時間
104 時点、第2の時点、時間
106 時点、時間
108 時点、時間
110 ASRモデルの第1のパスストリーミング部分、第1のパスストリーミング部分、第1のパス部分
114 ASRモデルの第2のパス部分、第2のパス部分
202 オーディオデータ
204 共有エンコーダ
206 共有エンコーダ出力
208 RNN-Tデコーダ
210 RNN-T出力
212 LASデコーダ
214 LAS出力
216 最終的なテキスト表現、オーディオデータのテキスト表現
300 例示的な環境
302、902 クライアントデバイス、クライアントコンピューティングデバイス
304 2パスASRエンジン、エンジンおよび/またはモジュール
306 共有エンコーダモジュール、エンジンおよび/またはモジュール
310 RNN-Tデコーダモジュール、エンジンおよび/またはモジュール
312 LASデコーダモジュール、エンジンおよび/またはモジュール
314 2パスASRモデル
316 トレーニングエンジン、エンジンおよび/またはモジュール
318 トレーニングインスタンス
320 トレーニングインスタンスエンジン
900 自動アシスタント
904 自動アシスタントクライアント
906 ローカルエンジン
910 クラウドベース自動アシスタント構成要素
912 クラウドベースTTSモジュール、TTSモジュール
914 クラウドベースSTTモジュール、STTモジュール
916 自然言語プロセッサ
918 対話状態トラッカー
920 対話マネージャ
1010 コンピューティングデバイス
1012 バスサブシステム
1014 プロセッサ
1016 ネットワークインターフェースサブシステム
1020 ユーザインターフェース出力デバイス
1022 ユーザインターフェース入力デバイス
1024 記憶サブシステム
1025 メモリサブシステム、メモリ
1026 ファイル記憶サブシステム
1030 メインランダムアクセスメモリ(「RAM」)
1032 読取り専用メモリ(「ROM」)

Claims (16)

  1. コンピュータ実装方法であって、
    発話を受信するステップと、
    第1のパス、リカレントニューラルネットワークトランスデューサ(RNN-T)、エンドツーエンド(E2E)デコーダと、第2のパス、リッスンアテンドアンドスペル(LAS)デコーダとを含む、マルチパスデコーダを使用して、前記発話を処理するステップと、
    前記マルチパスデコーダを使用して、前記発話を処理した最終結果を出力するステップと
    を含む方法。
  2. 前記マルチパスデコーダを使用して、前記発話を処理するステップが、
    処理するために、前記RNN-T、E2Eデコーダに、前記発話を表すオーディオデータのフレームを送信するステップと、
    前記発話を処理した前記最終結果が確定される前に、出力のために、前記RNN-T、E2Eデコーダを使用して、前記送信されたオーディオデータのフレームを処理した1つまたは複数のストリーミング結果を提供するステップと、
    前記RNN-T、E2Eデコーダが、前記送信されたフレームを処理することを完了した後、処理するために、前記LASデコーダに、前記発話を表す前記オーディオデータの前記フレームを送信するステップと、
    前記LASデコーダを使用して、前記送信されたオーディオデータのフレームを処理した結果に基づいて、前記発話を処理した前記最終結果を確定するステップと
    を含む、請求項1に記載の方法。
  3. 前記方法が、
    前記LASデコーダに、前記RNN-T、E2Eデコーダを使用して、前記送信されたオーディオデータのフレームを処理した前記ストリーミング結果のうちの1つまたは複数を送信するステップを含み、
    前記LASデコーダを使用して、前記1つまたは複数のストリーミング結果を処理した結果にさらに基づいて、前記発話を処理した前記結果が確定される、請求項2に記載の方法。
  4. 前記発話を処理した前記結果を確定するステップが、前記LASデコーダによって、前記RNN-T、E2Eデコーダから前記LASデコーダに送信される前記1つまたは複数のストリーミング結果の中から選択された特定のストリーミング結果を選択するステップを含む、請求項3に記載の方法。
  5. 前記LASデコーダが第2のビーム探索モードである間に、前記発話が前記LASデコーダによって処理される、請求項1から4のいずれか一項に記載の方法。
  6. 前記LASデコーダがリスコアリングモードである間に、前記発話が前記LASデコーダによって処理される、請求項1から5のいずれか一項に記載の方法。
  7. 前記マルチパスデコーダが、前記LASデコーダと前記RNN-T、E2Eデコーダの両方と共有される、単一のエンコーダをさらに備える、請求項1から6のいずれか一項に記載の方法。
  8. 前記マルチパスデコーダが、最小単語誤り率(MWER)を最適化するようにトレーニングされる、請求項1から7のいずれか一項に記載の方法。
  9. 前記マルチパスデコーダが、前記RNN-T、E2Eデコーダを独立してトレーニングし、次いで、前記RNN-T、E2Eデコーダをトレーニングすることを停止し、次いで、前記LASデコーダを独立してトレーニングすることを伴う、マルチステップ手法を使用してトレーニングされる、請求項1から8のいずれか一項に記載の方法。
  10. 1つまたは複数のプロセッサによって実施される方法であって、
    セグメントのシーケンスを備え、人間の話者によって話された発話を取り込む、オーディオデータを受信するステップと、
    前記セグメントの各々について、および前記シーケンスにおいて、
    リカレントニューラルネットワークトランスフォーマ(「RNN-T」)出力を生成するために、自動音声認識(「ASR」)モデルの第1のパス部分を使用して、前記セグメントを処理するステップであって、前記ASRモデルの前記第1のパス部分を使用して、前記セグメントを処理するステップが、
    共有エンコーダ出力を生成するために、共有エンコーダ部分を使用して、前記セグメントを処理するステップと、
    共有エンコーダバッファ内に、次のアイテムとして、前記共有エンコーダ出力を追加するステップと、
    RNN-T出力の対応する部分を生成するために、RNN-Tデコーダ部分を使用して、前記共有エンコーダ出力を処理するステップと
    を含む、ステップと、
    前記RNN-T出力に基づいて、前記発話の1つまたは複数の第1のパス候補テキスト表現を決定するステップと、
    前記人間の話者が前記発話を話すことを終了したと決定するステップと、
    前記人間の話者が前記発話を話すことを終了したとの決定に応答して、前記ASRモデルの第2のパスリッスンアテンションスペル(「LAS」)デコーダ部分を使用して、(a)前記RNN-T出力、または(b)前記発話の前記1つまたは複数の第1のパス候補テキスト表現のうちの少なくとも1つとともに、前記共有エンコーダバッファからの前記共有エンコーダ出力を処理することに基づいて、LAS出力を生成するステップと、
    前記LAS出力に基づいて、前記発話の最終的なテキスト表現を生成するステップと
    を含む方法。
  11. 前記発話の前記1つまたは複数の第1のパス候補テキスト表現のうちの少なくとも1つに基づいて、ストリーミング様式において、出力をレンダリングするステップと、
    前記発話の前記最終的なテキスト表現に基づいて、前記レンダリングされた出力を更新するステップと
    をさらに含む、請求項10に記載の方法。
  12. 前記発話の前記最終的なテキスト表現に基づいて、1つまたは複数のデバイスを制御するステップ
    をさらに含む、請求項10または11に記載の方法。
  13. 前記最終的なテキスト表現に応答するコンテンツを決定するステップと、
    前記決定されたコンテンツに基づいて、出力をレンダリングするステップと
    をさらに含む、請求項10から12のいずれか一項に記載の方法。
  14. コンピューティングシステムの1つまたは複数のプロセッサによって実行されたとき、前記コンピューティングシステムに、請求項1から13のいずれか一項に記載の方法を実行させる命令を備える、コンピュータプログラム。
  15. 1つまたは複数のプロセッサを含む、クライアントデバイスであって、前記1つまたは複数のプロセッサが、請求項1から13のいずれか一項に記載の方法を実行するために、前記クライアントデバイスのメモリ内に記憶された命令を実行する、クライアントデバイス。
  16. 請求項1から13のいずれか一項に記載の方法を実行するために、コンピューティングシステムの1つまたは複数のプロセッサによって実行可能な命令を記憶する、コンピュータ可読記憶媒体。
JP2023199215A 2019-06-04 2023-11-24 2パスエンドツーエンド音声認識 Pending JP2024019405A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962856815P 2019-06-04 2019-06-04
US62/856,815 2019-06-04
US201962943703P 2019-12-04 2019-12-04
US62/943,703 2019-12-04
PCT/US2020/035912 WO2020247489A1 (en) 2019-06-04 2020-06-03 Two-pass end to end speech recognition
JP2021569526A JP2022534888A (ja) 2019-06-04 2020-06-03 2パスエンドツーエンド音声認識

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021569526A Division JP2022534888A (ja) 2019-06-04 2020-06-03 2パスエンドツーエンド音声認識

Publications (1)

Publication Number Publication Date
JP2024019405A true JP2024019405A (ja) 2024-02-09

Family

ID=71842812

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021569526A Pending JP2022534888A (ja) 2019-06-04 2020-06-03 2パスエンドツーエンド音声認識
JP2023199215A Pending JP2024019405A (ja) 2019-06-04 2023-11-24 2パスエンドツーエンド音声認識

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021569526A Pending JP2022534888A (ja) 2019-06-04 2020-06-03 2パスエンドツーエンド音声認識

Country Status (7)

Country Link
US (1) US20220310072A1 (ja)
EP (2) EP4047596A1 (ja)
JP (2) JP2022534888A (ja)
KR (1) KR20210154849A (ja)
CN (1) CN114097025A (ja)
AU (2) AU2020288565B2 (ja)
WO (1) WO2020247489A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200090035A1 (en) * 2018-09-19 2020-03-19 International Business Machines Corporation Encoder-decoder memory-augmented neural network architectures
WO2021225699A1 (en) * 2020-05-07 2021-11-11 Google Llc Emitting word timings with end-to-end models
CN112802467B (zh) * 2020-12-21 2024-05-31 出门问问(武汉)信息科技有限公司 语音识别方法及装置
CN113724713A (zh) * 2021-09-07 2021-11-30 科大讯飞股份有限公司 一种语音识别方法、装置、设备及存储介质
US20230104244A1 (en) * 2021-09-17 2023-04-06 International Business Machines Corporation Separating acoustic and linguistic information in neural transducer models for end-to-end speech recognition
US11880645B2 (en) 2022-06-15 2024-01-23 T-Mobile Usa, Inc. Generating encoded text based on spoken utterances using machine learning systems and methods
WO2024009746A1 (ja) * 2022-07-07 2024-01-11 ソニーグループ株式会社 モデル生成装置、モデル生成方法、信号処理装置、信号処理方法、及び、プログラム
CN115394300B (zh) * 2022-10-28 2023-03-31 广州小鹏汽车科技有限公司 语音交互方法、语音交互装置、车辆和可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148322B2 (ja) * 1992-01-24 2001-03-19 株式会社日立製作所 音声認識装置
US7729912B1 (en) * 2003-12-23 2010-06-01 At&T Intellectual Property Ii, L.P. System and method for latency reduction for automatic speech recognition using partial multi-pass results
KR102386854B1 (ko) * 2015-08-20 2022-04-13 삼성전자주식회사 통합 모델 기반의 음성 인식 장치 및 방법
US9799327B1 (en) * 2016-02-26 2017-10-24 Google Inc. Speech recognition with attention-based recurrent neural networks
WO2018071389A1 (en) * 2016-10-10 2018-04-19 Google Llc Very deep convolutional neural networks for end-to-end speech recognition
US20180330718A1 (en) * 2017-05-11 2018-11-15 Mitsubishi Electric Research Laboratories, Inc. System and Method for End-to-End speech recognition
CN111429889B (zh) * 2019-01-08 2023-04-28 百度在线网络技术(北京)有限公司 基于截断注意力的实时语音识别的方法、装置、设备以及计算机可读存储介质
US10861441B2 (en) * 2019-02-14 2020-12-08 Tencent America LLC Large margin training for attention-based end-to-end speech recognition

Also Published As

Publication number Publication date
JP2022534888A (ja) 2022-08-04
CN114097025A (zh) 2022-02-25
EP3776536A1 (en) 2021-02-17
KR20210154849A (ko) 2021-12-21
AU2020288565B2 (en) 2023-02-16
WO2020247489A1 (en) 2020-12-10
AU2020288565A1 (en) 2021-12-09
AU2023202949A1 (en) 2023-06-01
AU2023202949B2 (en) 2024-05-16
EP4047596A1 (en) 2022-08-24
US20220310072A1 (en) 2022-09-29
EP3776536B1 (en) 2022-04-06

Similar Documents

Publication Publication Date Title
AU2023202949B2 (en) Two-pass end to end speech recognition
KR102535338B1 (ko) 화자 임베딩(들)과 트레이닝된 생성 모델을 이용한 화자 분리
JP2018026127A (ja) 翻訳方法、翻訳装置及びコンピュータプログラム
US11922951B2 (en) Targeted voice separation by speaker conditioned on spectrogram masking
US20220238101A1 (en) Two-pass end to end speech recognition
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
JP2018523143A (ja) 音声対応電子デバイスにおける選択的オフライン対応の音声アクションのためのデータのローカル維持
AU2021463794A1 (en) Using large language model(s) in generating automated assistant response(s)
KR20230062612A (ko) 자동화된 어시스턴트를 위한 자연스러운 대화 활성화
US11544504B1 (en) Dialog management system
US11646035B1 (en) Dialog management system
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)
US20240161729A1 (en) Speech synthesis utilizing audio waveform difference signal(s)
US20210358483A1 (en) Hot-word free pre-emption of automated assistant response presentation
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231225