JP2023524088A - エンドツーエンドの複数話者重複音声認識 - Google Patents

エンドツーエンドの複数話者重複音声認識 Download PDF

Info

Publication number
JP2023524088A
JP2023524088A JP2022566423A JP2022566423A JP2023524088A JP 2023524088 A JP2023524088 A JP 2023524088A JP 2022566423 A JP2022566423 A JP 2022566423A JP 2022566423 A JP2022566423 A JP 2022566423A JP 2023524088 A JP2023524088 A JP 2023524088A
Authority
JP
Japan
Prior art keywords
speaker
speech
embeddings
audio
embedding
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
JP2022566423A
Other languages
English (en)
Inventor
アンシュマン・トリパティ
ハン・ル
ハシム・サク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023524088A publication Critical patent/JP2023524088A/ja
Pending legal-status Critical Current

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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

損失関数(310)を用いて音声認識モデル(200)を訓練するための方法(400)が、第1の話し手(10)によって話された音声に対応する第1のセグメント(304)、第2の話し手によって話された音声に対応する第2のセグメント、および第1のセグメントが第2のセグメントと重なる重複する領域(306)を含む音声信号(202)を受信するステップを含む。重複する領域は、既知の開始時間および既知の終了時間を含む。この方法は、第1の話し手および第2の話し手の各々に関して、それぞれのマスキングされた音声の埋め込み(254)を生成するステップをさらに含む。方法は、第1の話し手が既知の開始時間の前に話していたとき、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みに、既知の終了時間の後のマスキング損失(312)を適用するステップ、または第1の話し手が既知の終了時間の後に話していたとき、既知の開始時間の前のマスキング損失を適用するステップをさらに含む。

Description

本開示は、音声認識に関する。
現代の自動音声認識(ASR)システムは、高品質(たとえば、低い単語誤り率(WER))だけでなく、低レイテンシ(たとえば、ユーザが話してから文字起こし(transcription)が現れるまでの間の短い遅延)を提供することにも重点を置く。さらに、今日のASRシステムを使用するときには、ASRシステムがリアルタイムに対応したストリーミング方式で、またはリアルタイムよりもさらに高速に発話を復号する需要が存在する。たとえば、ASRシステムが直接的なユーザインタラクティブ性を経験するモバイル電話に展開されるとき、ASRシステムを使用するモバイル電話上のアプリケーションは、音声認識が、単語が話されるとすぐに画面に表示されるようなストリーミングであることを要求する場合がある。また、ここでは、モバイル電話のユーザが、レイテンシに関して低い許容度を有する可能性が高い。この低い許容度が原因で、音声認識は、ユーザの体験に悪影響を与える可能性があるレイテンシおよび不正確さからの影響を最小化するようにしてモバイルデバイス上で実行されるように努める。
本開示の一態様は、損失関数を用いて音声認識モデルを訓練する方法を提供する。方法は、データ処理ハードウェアにおいて、第1の話し手によって話された音声に対応する第1のセグメント、第2の話し手によって話された音声に対応する第2のセグメント、および第1のセグメントが第2のセグメントと重なる重複する領域を含む音声信号を含む訓練例を受信するステップを含む。重複する領域は、既知の開始時間および既知の終了時間を含む。第1の話し手および第2の話し手の各々に関して、方法は、データ処理ハードウェアによって、訓練例に基づいて、それぞれのマスキングされた音声の埋め込み(embedding)を生成するステップを含む。方法は、データ処理ハードウェアによって、第1の話し手が、重複する領域の既知の開始時間の前、または重複する領域の既知の終了時間の後に話していたかどうかを判定するステップをさらに含む。第1の話し手が重複する領域の既知の開始時間の前に話していたとき、方法は、データ処理ハードウェアによって、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、既知の終了時間の後の第1のマスキング損失を適用するステップを含む。第1の話し手が重複する領域の既知の終了時間の後に話していたとき、方法は、データ処理ハードウェアによって、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、既知の開始時間の前の生成されたマスキングされた音声の埋め込みへのマスキング損失を適用するステップを含む。
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装においては、第1の話し手が重複する領域の既知の開始時間の前に話していたとき、方法は、データ処理ハードウェアによって、第2の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、重複する領域の既知の開始時間の前の第2のマスキング損失を適用するステップを含む。これらの実装においては、第1の話し手が重複する領域の既知の終了時間の後に話していたとき、方法は、データ処理ハードウェアによって、第2の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、重複する領域の既知の終了時間の後の第2のマスキング損失を適用するステップをさらに含む。これらの実装においては、第1の話し手および第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの各々に関して、方法は、データ処理ハードウェアによって、重複する領域内の第1の話し手または第2の話し手のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算するステップと、データ処理ハードウェアによって、重複する領域外の第1の話し手または第2の話し手のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算するステップとをさらに含んでよい。ここで、方法は、データ処理ハードウェアによって、重複する領域内の第1の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、重複する領域内の第2の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、重複する領域外の第1の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、および重複する領域外の第2の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話しの埋め込みの関数に基づいて埋め込み損失を決定するステップと、データ処理ハードウェアによって、(i)第1の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの全体が第1の話し手によって話された音声のみに対応することを強制するために、第1の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込み、および(ii)第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの全体が第2の話し手によって話された音声のみに対応することを強制するために、第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの各々に埋め込み損失を適用するステップとをさらに含む。
本開示の別の態様は、損失関数を用いて音声認識モデルを訓練するシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるときにデータ処理ハードウェアに動作を実行させる命令を記憶する。動作は、第1の話し手によって話された音声に対応する第1のセグメント、第2の話し手によって話された音声に対応する第2のセグメント、および第1のセグメントが第2のセグメントと重なる重複する領域を含む音声信号を含む訓練例を受信する動作を含む。重複する領域は、既知の開始時間および既知の終了時間を含む。第1の話し手および第2の話し手の各々に関して、動作は、訓練例に基づいて、それぞれのマスキングされた音声の埋め込みを生成する動作を含む。動作は、第1の話し手が、重複する領域の既知の開始時間の前、または重複する領域の既知の終了時間の後に話していたかどうかを判定する動作をさらに含む。第1の話し手が重複する領域の既知の開始時間の前に話していたとき、動作は、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、既知の終了時間の後の第1のマスキング損失を適用する動作を含む。第1の話し手が重複する領域の既知の終了時間の後に話していたとき、動作は、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、既知の開始時間の前の生成されたマスキングされた音声の埋め込みへのマスキング損失を適用する動作を含む。
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装においては、第1の話し手が重複する領域の既知の開始時間の前に話していたとき、動作は、第2の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、重複する領域の既知の開始時間の前の第2のマスキング損失を適用する動作を含む。これらの実装においては、第1の話し手が重複する領域の既知の終了時間の後に話していたとき、動作は、第2の話し手に関するそれぞれのマスキングされた音声の埋め込みに対して、重複する領域の既知の終了時間の後の第2のマスキング損失を適用する動作をさらに含む。これらの実装においては、第1の話し手および第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの各々に関して、動作は、重複する領域内の第1の話し手または第2の話し手のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算する動作と、重複する領域外の第1の話し手または第2の話し手のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算する動作とをさらに含んでよい。ここで、動作は、重複する領域内の第1の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、重複する領域内の第2の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、重複する領域外の第1の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話し手の埋め込み、および重複する領域外の第2の話し手のそれぞれのマスキングされた音声の埋め込みに関して計算された平均の話しの埋め込みの関数に基づいて埋め込み損失を決定する動作と、埋め込み損失を、(i)第1の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの全体が第1の話し手によって話された音声のみに対応することを強制するために、第1の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込み、および(ii)第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの全体が第2の話し手によって話された音声のみに対応することを強制するために、第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みの各々に適用する動作とをさらに含む。
いくつかの例において、第1の話し手が重複する領域の既知の開始時間の前に話していたとき、第1の話しは、重複する領域の既知の終了時間の後に話していなかった、および第1の話し手が重複する領域の既知の終了時間の後に話していたとき、第1の話し手は、重複する領域の既知の開始時間の前に話していなかった。マスキングされた音声の埋め込みを生成する動作は、訓練例に関する音声信号の各フレームにおいて行われてよい。訓練例は、モノラル(monophonic)音声信号に対応してよい。訓練例は、シミュレーションされた訓練データを含んでよい。
いくつかの例において、音声認識モデルは、リカレントニューラルネットワークトランスデューサ(RNN-T)アーキテクチャを含む。ここで、RNN-Tアーキテクチャは、第1の話し手に関するそれぞれのマスキングされた音声の埋め込みを入力として受信し、第1の話し手に関連する第1の文字起こしを出力として生成するように構成された第1のデコーダであって、第1の文字起こしが、第1の話し手によって話された音声に対応する音声信号の第1のセグメントを文字起こしする、第1のデコーダと、第2の話し手に関して生成されたそれぞれのマスキングされた音声の埋め込みを入力として受信し、第2の話し手に関連する第2の文字起こしを出力として生成するように構成された第2のデコーダであって、第2の文字起こしが、第2の話し手によって話された音声に対応する音声信号の第2のセグメントを文字起こしする、第2のデコーダとを含んでよい。音声認識モデルは、推論中に、2人以上の異なる話し手によって話されたスピーチを含むモノラル音声ストリームからフレームごとの埋め込みを生成し、それぞれのフレームの音声の埋め込みをマスキングモードに伝達するように構成された音声エンコーダを含んでよい。ここで、マスキングモデルは、それぞれのフレームの音声の埋め込みに関して、それぞれのマスキングされた音声の埋め込みを生成するように訓練される。任意で、訓練例は、第1の話し手によって話された音声に対応する第1のグラウンドトゥルース(ground truth)の文字起こし、および第2の話し手によって話された音声に対応する第2のグラウンドトゥルースの文字起こしをさらに含んでよい。
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の態様、特徴、および利点は、説明および図面から、ならびに請求項から明らかになるであろう。
複数話者音声認識器を使用する例示的な音声環境の例の概略図である。 例示的な複数話者音声認識器の概略図である。 例示的な複数話者音声認識器の概略図である。 複数話者音声認識器のための例示的な訓練プロセスの概略図である。 複数話者音声認識器のための例示的な訓練プロセスの例を示す概略図である。 複数話者音声認識器のための例示的な訓練プロセスの例を示す概略図である。 複数話者音声認識器のための例示的な訓練プロセスの例を示す概略図である。 エンドツーエンドの複数話者重複音声認識の方法の動作の例示的な配列の流れ図である。 本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイスの概略図である。
様々な図面における同様の参照符号は、同様の要素を示す。
会話においては、人が同時に話すこと、または話すときに重なることがよくある。たとえば、ある話し手が、別の話し手を遮る場合があり、または休止がある場合があり、休止の後に会話の2人以上の参加者が話し始める。今日のテクノロジーでは、1人または複数の話し手が会話において重なることは、より一層たやすい可能性がある。たとえば、話し手がテクノロジー(たとえば、リアルタイム通信アプリケーションまたはソフトウェア)によってコミュニケーションしているとき、すべての話し手が、ボディランゲージまたは会話中のコミュニケーションの順番待ちの列(queue)を理解するために見えているとは限らない場合がある。対面での会話の順番待ちの列がないと、1人の話し手による休止またはその他の躊躇が、複数の話し手が互いに重なって話すことを引き起こす場合がある。話し手が互いに重なって話している会話のこの部分は、2人以上の話し手が同時に話しているので、重複スピーチ(overlapping speech)または複数話者スピーチ(multi-talker speech)と呼ばれる場合がある。
話し手が別の話し手と重なって話しているとき、音声認識システムは、音声認識を実行するのが難しい場合があり、ダイアライゼーション(diarization)を実行することができる音声認識システムにおいては、誰がいつ話しているのかを判定するのが難しい場合がある。言い換えると、音声認識システムは、どの話し手がいつ話しているのか、および重複が原因で、話し手が互いに重なって話すときにそれぞれの話し手によって実際に何が言われているのかを区別することが困難である場合がある。残念ながら、この状況は、会話の参加者が会話中または会話後の処理中に音声認識機能を使用しようと試みているときに問題となることが分かる場合がある。たとえば、会話中に、参加者が、会話の音声に基づいて文字起こしを生成する場合がある。文字起こしを生成する音声認識システムが重複するスピーチセグメントに遭遇するとき、音声認識システムは、正しい話し手(もしくはいずれかの話し手)を特定することができないか、または重複するスピーチセグメントの組み合わさった音響が原因で会話の内容(たとえば、話された単語)を実際に文字起こしすることがうまくできない場合がある。これらの困難は、会話に何人かの参加者がおり、複数の話し手が同時に会話に割って入るときにさらに増幅される場合がある。たとえば、これは、グループミーティングまたはその他の種類の人の集まりにおいて発生する場合がある。カクテルパーティ問題(cocktail party problem)と呼ばれることが多いこの問題は、音声認識システムを長年苦しめてきた。
重複スピーチによる別の厄介な問題は、音声認識システムによって生成または受信される音声が単一のチャネルにおいて発生する場合があることである。概して、音声チャネルは、録音システムによって収集された独立した音声信号を指す。ここで、会話の各参加者が独立した音声チャネルを持っていたとするならば、たとえ重複スピーチが発生する場合があるとしても、音声認識システムは、独立したチャネルを使用して、重複スピーチ中の話し手の特定および/またはスピーチの内容に関する文字起こしの生成を支援することができるであろう。対照的に、単一のチャネルでは、音声認識システムは、音声認識プロセスを支援するためにその他のチャネルを使用する余裕がない。それどころか、残念ながら、音声認識システムは、単一のチャネルだけを解釈しなければならず、音声信号は、複数の話し手のスピーチを重複するスピーチセグメントに一緒にミックスする。ビデオ会議アプリケーションなどの通信アプリケーションは、通信セッションのすべての参加者によって話されたスピーチを含む可能性がある単一のチャネル上で受信された音声を文字起こしする場合がある。同様に、医師と患者との間の会話を録音するために診療所に置かれた患者のモバイルデバイスなどのユーザデバイス上で実行される音声録音アプリケーションが、患者と医師との両方が同時に話している重複スピーチが発生する可能性がある医師と患者との間で話されたスピーチを含む音声を単一のチャネルに録音する場合がある。
音声認識システムが発展するにつれて、複数話者音声セグメントに対処するためにいくつかの手法が試みられてきた。1つの比較的よくある手法は、複数の話し手からの音声に対して音源分離を最初に実行することによって複数話者音声セグメントの話し手を認識することである。これらのシステムは、音源を分離すると、次に、分離された音声に対して音声認識(たとえば、自動音声認識(ASR))を実行する。概して、この手法では、単一のチャネル入力に対する音源分離が、高速フーリエ変換(FFT)のためのマスクを予測し、マスキングされたFFTから話し手に固有の音声信号を生成することによって行われる。しかし、この音源分離の手法は、通常の音声認識システム(たとえば、ASRシステム)に加えて、通常の音声認識システムとは別に音声分離モデルを必要とする。
追加の音声分離モデルを有することによって、この種の複数話者の手法は、エンドツーエンドの音声認識システムに適さない。エンドツーエンドの音声認識システムは、音声認識システムの以前分離されていたモデル(たとえば、音声分離モデルだけでなく、音響モデル、言語モデル、および発音モデル)を統合するように設定される。これらの統合されたモデルは、単一のニューラルネットワークを使用して音声波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マッピングしようとし、結果として、音声の特徴のシーケンスを与えられるときに単語(または書記素)のシーケンスを生成するシーケンスツーシーケンス(sequence-to-sequence)の手法をもたらす。統合化された構造では、モデルのすべての構成要素が、単一のエンドツーエンド(E2E)のニューラルネットワークとして一緒に訓練されて良い。ここで、E2Eモデルは、アーキテクチャがまるまるニューラルネットワークから構成されているモデルを指す。完全なニューラルネットワークは、外部のおよび/または手動で設計された構成要素(たとえば、有限状態トランスデューサ、語彙目録(lexicon)、またはテキスト正規化モジュール)なしで機能する。さらに、E2Eモデルを訓練するとき、概して、これらのモデルは決定木からのブートストラップまたは別システムからのタイムアラインメント(time alignment)を必要としない。
複数話者音声セグメントに対処するための別の手法においては、音声認識システムが、順列不変訓練(PIT: permutation-invariant training)を使用して訓練される場合がある。このPIT訓練手法は別個の音声分離モデルを必要としないが、この方法で音声認識システムを訓練するためには、訓練時間中にラベルと音声との間のアラインメント(alignment)情報が必要とされる。アラインメント情報を必要とすることによって、訓練プロセスは、本質的に増加した複雑さを有する。概して、PIT訓練は、訓練プロセスが重複スピーチのすべての順列(または大部分)を表すように訓練が話し手のアラインメントのすべての可能な順列(permutation)の例を含むプロセスを指す。これは、推論中に、音声認識システムが重複スピーチのアラインメントの特定の順列または種類に偏らないことを保証するのに役立つ。訓練中にかなりの数の順列を考慮しなければならないことにより、PITプロセスは、音声認識システムのための強力な訓練プロセスを要求する。
複数話者スピーチのこれらの問題のいくつかを克服するために、通常のリカレントニューラルネットワークトランスデューサ(RNN-T)が、重複する話し手からのスピーチを復号するために増強される場合がある。RNN-Tモデルは、アテンションメカニズムを使用するのではなく、訓練データから音響の特徴とラベルの特徴との間のアラインメントを学習することができる一種のE2Eモデルである。たとえば、RNN-Tモデルは、訓練中に前方-後方アラインメント損失(forward-backward alignment loss)を使用する。概して、出力(たとえば、文)を生成するためにシーケンス(たとえば、音声波形)全体を処理する必要があるその他のシーケンスツーシーケンスモデルとは異なり、RNN-Tは、入力サンプルを連続的に処理し、出力シンボルをストリーミングし、これは、リアルタイム通信のために特に魅力的な特徴である。たとえば、RNN-Tによる音声認識は、話された通りに文字を(たとえば、書記素出力として)1つずつ出力する場合がある。ここで、RNN-Tは、次のシンボルを予測するために、モデルによって予測されたシンボルを自身にフィードバックするフィードバックループを使用する。RNN-Tを復号することは、大規模なデコーダグラフ(decoder graph)ではなく単一のニューラルネットワークによるビームサーチを含むので、RNN-Tは、サーバベースの音声認識モデルのサイズの数分の1にまでスケーリングする場合がある。サイズの縮小により、RNN-Tは、完全にオンデバイスで展開され、オフラインで(すなわち、ネットワーク接続なしで)実行される可能性があり、したがって、通信ネットワークの低信頼性の問題を回避する可能性がある。
さらに、通常のRNN-Tモデルは、信頼性の高い「オンデバイス」音声認識システムであることが分かっている。「オンデバイス」音声認識システムは、音声入力を受け取り、自身のプロセッサを使用して音声認識システムの機能を実行するデバイスによって「オンデバイス」でホストされる。たとえば、音声認識システムが完全にオンデバイスでホストされるとき、デバイスのプロセッサは、音声認識システムの機能を実行するためにいかなるオフデバイスのコンピューティングリソースとも連携する必要がない。音声認識を完全にはオンデバイスで実行しないデバイスは、音声認識システムの少なくとも一部の機能を実行するために、(たとえば、リモートコンピューティングシステムまたはクラウドコンピューティングの)リモートコンピューティングと、ひいては、オンライン接続性とに依拠する。たとえば、音声認識システムは、サーバベースモデルとのネットワーク接続を使用して、大規模な探索グラフを用いた復号を実行する。リモート接続に依存しておらず、オンデバイスの音声認識システムは、通信ネットワークのレイテンシの問題および/または固有の低信頼性に対してより脆弱性が低い。これらの問題を回避することによって音声認識の有用性を高めるため、音声認識システムは、再び、リカレントニューラルネットワークトランスデューサ(RNN-T)として知られるシーケンスツーシーケンスモデルの形態に進化した。
RNN-Tモデルが、複数の話者がいる単一のチャネルのスピーチを認識する複数話者音声認識システムに適応させられる場合がある。ここで、複数話者音声認識システムは、訓練例内の話し手の順番が既知であるような、定義されたパラメータを有するシミュレーションされた訓練データを使用して訓練されてよい。言い換えると、シミュレーションされた訓練データによって、訓練例は、PITプロセスの訓練例のように話し手の順番に対して順列不変にされる必要がない。これは、シミュレーションされた訓練例が、訓練例内の話し手の順番ならびに重複するスピーチセグメントの開始時間および停止時間などの既知のパラメータを用いて構成されてよいからである。複数話者RNN-Tに関して、話し手分離は、音源レベルで行われず、その代わりに、複数話者RNN-Tのエンコーダからの特徴のレベルで行われる。話し手分離を特徴のレベルで実行するために、複数話者音声認識器は、マスキングモデルを採用する。特徴レベルでマスキングモデルを使用することによって、複数話者音声認識器は、E2Eモデルとして訓練され得る。
図1は、音声環境100の例である。音声環境100において、ユーザデバイス110などのコンピューティングデバイスとインタラクションするユーザ10の方法は、音声入力による場合がある。ユーザデバイス110(概してデバイス110とも呼ばれる)は、音声対応環境100内の1人または複数のユーザ10、10a~b(話し手とも呼ばれる)からの音(たとえば、ストリーミング音声データ202)を取り込むように構成される。ここで、デバイス110によって取り込まれるストリーミング音声データ202は、1人または複数のユーザ10によって話された発話12、12a~bを含む可聴通信を含む。デバイス110の音声対応システムは、可聴通信を受信し、音声データ202に基づいて音声関連機能(たとえば、文字起こし、問い合わせ、話し手の特定など)を実行してよい。
ここで、ユーザデバイス110は、(たとえば、第1のユーザ10aおよび第2のユーザ10bとして示される)2人のユーザ10の間の会話の音声データ202を取り込む。ユーザデバイス110は、ユーザ10(話し手10とも呼ばれる)に関連し、音声データ202を受信することができる任意のコンピューティングデバイスに対応してよい。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)機器、スマートスピーカなどを含むがこれらに限定されない。ユーザデバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって実行されるときにデータ処理ハードウェア112に1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア114とを含む。ユーザデバイス110は、音声対応システム100内の話された発話12を取り込み、電気信号に変換するための音声キャプチャデバイス(たとえば、マイクロフォン)116、116aと、可聴音声信号を(たとえば、デバイス110からの出力音声データとして)伝達するための音声出力デバイス(たとえば、スピーカ)116、116bとを有する音声サブシステム116をさらに含む。ユーザデバイス110は、示された例においては単一の音声キャプチャデバイス116aを実装するが、ユーザデバイス110は、本開示の範囲から逸脱することなく音声キャプチャデバイス116aのアレイを実装してよく、それによって、アレイ内の1つまたは複数のキャプチャデバイス116aが、ユーザデバイス110上に物理的に存在せず、音声サブシステム116と通信する場合がある。(たとえば、ハードウェア112、114を使用する)ユーザデバイス110は、音声認識器200を使用してストリーミング音声データ202に対して音声認識処理を実行するようにさらに構成される。いくつかの例において、音声キャプチャデバイス116aを含むユーザデバイス110の音声サブシステム116は、音声データ202(たとえば、話された発話12)を受信し、音声データ202を音声認識器200と互換性のあるデジタルフォーマットに変換するように構成される。デジタルフォーマットは、メルフレーム(mel frame)などの音響フレーム(たとえば、パラメータ化された音響フレーム)に対応する場合がある。たとえば、パラメータ化された音響フレームは、対数メルフィルタバンク(log-mel filterbank)エネルギーに対応する。
図1などのいくつかの例において、ユーザ10は、音声認識器200を使用するユーザデバイス110のプログラムまたはアプリケーション118とインタラクションする。ユーザ10は、(たとえば、ユーザ入力を介して)アプリケーション118を明示的に呼び出して音声データ202の録音を開始してよく、同様に、ユーザ10は、音声データ202の録音を止めるようにアプリケーション118に命令してよい。たとえば、図1は、ユーザ10a、Tedが、第2のユーザ10b、Janeという名前のTedの友人と通信している(たとえば、話している)ところを示す。ここで、Ted 10aとJane 10bとの間の音声発話12の会話が、ユーザデバイス110において(たとえば、ユーザデバイス110の通信アプリケーション118において)音声データ/信号202として受信され/取り込まれてよい。これらの例において、通信アプリケーション118は、音声認識器200を使用して、ユーザデバイス110において取り込まれたモノラル音声データ202内のTed 10aとJane 10bとの両者の音声入力12(すなわち、両者の会話)を文字起こしする。ここで、音声キャプチャデバイス116aは、発話12を含む音声データ202を取り込み、音声データ202を音声認識器200のためのデジタルフォーマット(たとえば、音響フレーム)に変換する。音声認識器200は、これらの音響フレームを処理して、通信アプリケーションによってユーザデバイス110の画面上に表示されてよい文字起こし204を生成する。図1が示すように、音声認識器200は、Ted 10aおよびJane 10bによって話された通りに会話を文字のシーケンスとして文字起こしすることができる。たとえば、Ted 10aがJane 10bに「when did Steve say the Overtones are playing?」と尋ねる発話12aを話すとき、(たとえば、音声認識器200を使用する)通信アプリケーション118は、Ted 10aによって話された発話12aを会話の文字起こし204内で提示するために対応するテキストに文字起こしする。
この例において、Ted 10aは、自分の質問に続けて、「I thought he said...」と、Steveが言ったと思ったことを推測し始める。その同じ段階で、Jane 10bは、Tedの質問に答えようと思い、「I think he told me around 9pm」という発話12bによって答える。Ted 10aが自分の質問に答え始め、Jane 10bがこれを予期していなかったので、Ted 10aおよびJane 10bは、互いに重なって話して、2人が両方とも話している重複するスピーチセグメント206を形成する。すなわち、例において、重複するスピーチセグメント206は、Ted 10aによって話された発話12aの一部がJane 10bによって話された発話12bの一部と重なるセグメントを含む。一部の構成において、音声キャプチャデバイス116aは、ミックスされたスピーチ(すなわち、重複するスピーチセグメント206)を含むこれらのスピーチ音声信号202をモノラル音声データ(たとえば、単一のチャネル上の音声データ)として音声認識器200に伝達する。したがって、音声認識器200は、文字起こし204を生成するときに、複数話者重複セグメント206を認識し、このセグメント206を、Ted 10aが「I thought he said」という言葉を言い、一方、Jane 10bが「I think he told me around 9pm」と答えたことを正しく特定する文字起こし204に適切に変換する。図1は、(たとえば、2人の話し手10a~bによる)2者の会話を示すが、音声認識器200の機能は、任意の数の話し手にスケーリングされる可能性がある。
図示されていないが、音声認識器200の原理は、合成音声と1人または複数の話し手(たとえば、ユーザ10)との間の音声インタラクションにも適用可能である場合がある。たとえば、ユーザデバイス110上で実行される自動化されたアシスタント(たとえば、音声で作動するアシスタントアプリケーション118)と会話するユーザ10が、「What time is the concert tonight?」と尋ねる可能性があるが、その後、自動化されたアシスタントが質問に答えるときに話し始める。ここで、Janeの場合と同様に、音声認識器200は、音声信号202内のスピーチの内容、および/または合成か否かにかかわらずどの当事者がスピーチの音源であるかを適切に特定する文字起こし204を生成することができる。したがって、文字起こし204は、自動化されたアシスタントによって出力される合成された/合成音声を含む任意の音声のテキスト表現を含めることを省略してよい。代替的に、自動化されたアシスタントが可聴合成音声の出力を生成しているにもかかわらず、ユーザデバイス110のユーザ10が可聴合成音声出力に割り込むかまたは可聴合成音声出力と重なって話すことが想像され得るであろう。この代替において、音声認識器200は、依然として、(たとえば、会話の文字起こし204を形成するために)単語の正しいシーケンスを出力する可能性がある。
図2Aおよび図2Bを参照すると、音声認識器200は、リカレントニューラルネットワークトランスデューサ(RNN-T)モデルのアーキテクチャを含んでよい。概して、RNN-Tモデルは、入力シーケンス(たとえば、入力音声信号)を目標シーケンス(たとえば、音声信号内の話された単語または文字)にマッピングするようにエンドツーエンドで訓練され得るエンコーダ-デコーダの枠組みに対応するニューラルネットワークモデルである。言い換えると、(たとえば、実数値のベクトルの)入力シーケンスが与えられると、RNN-Tモデルは、ラベルの目標シーケンスを予測しようとする。ここで、入力シーケンスは、対数メルフィルタバンクエネルギーの特徴またはその他のニューラルネットワークによって符号化された特徴などの生の特徴ベクトルであってよい。
通常のRNN-Tモデルのアーキテクチャにおいて、RNN-Tモデルは、エンコーダネットワークおよびデコーダネットワークを含む。ここで、エンコーダネットワークは、音声エンコーダ210およびラベルエンコーダ220を含む。音声エンコーダ210は、音響特徴ベクトル
Figure 2023524088000002
を受け取る音響モデル(AM)に類似したエンコーダ(たとえば、長期短期記憶(LSTM: long-short term memory)ニューラルネットワーク)である。たとえば、音声エンコーダ210は、複数のLSTM層(たとえば、5から7層)を含む。ラベルエンコーダ220は、言語モデル(LM)とよく似た機能をするエンコーダ(たとえば、やはりLSTMニューラルネットワーク)である。ラベルエンコーダ220は、前の時間ステップ中にモデル200によって出力された前の書記素ラベルの予測yu-1を入力222として受け入れ、出力ベクトルpuを出力224として計算する。ここで、ラベルエンコーダ220は、RNN-Tモデルの出力シンボル上のリカレント予測ネットワークとして働く場合がある。特定の時間フレームtにおける(たとえば、音声信号入力202として示される)音響フレーム入力xtと(たとえば、ラベルエンコーダ220の入力222として示される)ラベルyuとの各組合せに関して、音声エンコーダ210は、エンコーダの埋め込みeを出力212として出力し、ラベルエンコーダ220は、ラベルエンコーダの埋め込みpuを予測された出力224として生成する。図2Aの複数話者音声認識器200には示されていないが、通常のRNN-Tモデルにおいては、これらの出力212、224の各々が、ソフトマックス層を含むデコーダ240に供給される出力232として出力ロジットjを計算するために結合ネットワーク230(たとえば、順伝播型ニューラルネットワーク)に渡される。デコーダ240は、音響フレーム入力xtとラベルyuとの各組合せに関して、出力目標の集合に対する確率分布を定義する。ソフトマックス層は、デコーダ240の出力を受け取り、最も高い確率に関連する出力目標ラベルyuを選択してよい。したがって、RNN-Tは、追加の外部言語モデルの助けを借りることなく、書記素を直接出力するように構成され得るので、エンドツーエンドモデルと表現されることが多い。
RNN-Tの条件付き確率分布は、
Figure 2023524088000003
のように表されることが可能であり、xiは、特徴ベクトル(たとえば、各フレーム1...Tの80次元の対数メルフィルタバンクの特徴のベクトル)である。長さUのグラウンドトゥルース(ground-truth)ラベルシーケンスが、y1, y2,..., yuと表記され、yu∈S(Sは書記素シンボルの集合)である。いくつかの例においては、特別なシンボルy0 = <sos>が、シーケンスの始まりを示す。定式化の便宜上、Sは、追加の空シンボル<b>によって補強され、すべての可能なアラインメントの集合が、以下、すなわち、
Figure 2023524088000004
のように記述され、A(x, y)は、<b>が削除されるときに
Figure 2023524088000005
がyに等しくなるようなすべてのラベルシーケンス
Figure 2023524088000006
を表す。この表記法を整えた上で、音響が与えられたときのラベル付けの条件付き確率P(y|x)は、単純にアラインメント全体の総和によって取得される。アラインメント
Figure 2023524088000007
においてあるラベルを見る確率は、時間tまでの音響の特徴と、これまでに発せられた空でないラベルの履歴y1...yu(t-1)とを条件とする。唯一なされる独立性の仮定は、時間tまでの部分的なアラインメント
Figure 2023524088000008
の確率が将来のフレームからの音響の特徴に依存しないことである。これは、ストリーミング方式での推論を可能とし、計算を開始する前に音声のすべてを待つ必要性を減らす。これは、実行速度を向上させるだけでなく、音声が処理されているときに認識結果を生成する。
図2Aおよび図2Bをさらに参照すると、音声認識器200は、通常のRNN-Tモデルの変化型または修正されたバージョンとして構成される。いくつかの例においては、音声エンコーダ210の出力212を結合ネットワーク230に渡す代わりに、音声認識器200は、マスキングモデル250を使用して、音声エンコーダ210から出力された符号化された埋め込み212をマスクする。ここで、音声エンコーダ210から出力された符号化された音声の埋め込み212は、モノラル音声信号202(たとえば、音声信号202の特徴)を符号化する。言い換えると、音声エンコーダ210は、重複するスピーチセグメント206を含むモノラル音声信号202を符号化する音声の埋め込み212を生成する。たとえば、音声信号202は、2人以上の話し手(たとえば、第1のおよび第2のユーザ10a~b)からの単一のチャネル(たとえば、モノラル)のミックスされた音声の形態である。音声エンコーダ210から出力された符号化された埋め込み212をマスクすることによって、マスキングモデル250は、モノラル音声信号202内のそれぞれの話し手10の特徴を分離するように機能する。
一部の実装においては、マスキングモデル250においてどの話し手をマスクすべきかを示すために、音声エンコーダ210から出力された音声の埋め込み212は、(たとえば、フレームごとに)固定入力252と連結される。固定入力252は、各フレームにおける話し手10に関連する音声の埋め込み212を示すラベルに対応する。ここで、音声認識器200は、(たとえば、出力212の生成中に)音声エンコーダ210において連結を実行してよく、または作成モデル250において初期ステップとして連結を実行してよい。図2Aにおいて、所与のフレームの音声の埋め込み212が第1の話し手10aに割り振られた固定入力252(たとえば、固定入力ゼロ(0)として示される)に関連付けられるとき、マスキングモデル250は、第1の話し手10aに関するそれぞれのマスキングされた埋め込み254、254aを生成する。逆に、所与のフレームの音声の埋め込み212が第2の話し手10bに割り振られた固定入力252(たとえば、固定入力一(1)として示される)に関連付けられるとき、マスキングモデル250は、第2の話し手10bに関するそれぞれのマスキングされた埋め込み254、254bを生成する。別の言い方をすれば、固定入力252は、マスキングモデル250が、音声エンコーダ210から出力された符号化された埋め込み212の各フレームに関して、どの話し手をマスクすべきかを示す。
図2Aおよび図2Bのようないくつかの例において、音声認識器200は、それぞれの話し手10のためのそれぞれのブランチ208を含む。それぞれの話し手10のためのそれぞれのブランチ208を用いると、各ブランチ208が、特定の話し手10によって話された音声に対応するシンボル(たとえば、文字または単語)のそれぞれの出力シーケンスを生成してよい。2人の話し手10a、10bが互いに会話している図1の例を続けると、図2Aは、第1の話し手10aのための第1のブランチ208aと、第2の話し手10bのための第2のブランチ208bとを含む音声認識器を示す。一方、図2Bは、n個のブランチ208を有するスケーラブルな音声認識器200を示す。
図2Aを参照すると、第1の話し手10aのための第1のブランチ208aは、第1の話し手10aに専用の第1のラベルエンコーダ220、220a、第1の結合ネットワーク230、230a、および第1のデコーダ240、240aを含み、一方、第2の話し手10bのための第2のブランチ208bは、第2の話し手10aに専用の第2のラベルエンコーダ220、220b、第2の結合ネットワーク230、230b、および第2のデコーダ240、240bを含む。下でより詳細に説明されるが、第1のデコーダ240aは、第1の話し手10aに関するシンボルの出力シーケンス242、242aを生成する(たとえば、第1の話し手10bによって話された発話12aに対応する音声信号202のセグメントを文字起こしする)ように構成され、第2のデコーダ240bは、第2の話し手10bによって話された音声に対応するシンボルの出力シーケンス242、242bを生成する(たとえば、第2の話し手10bによって話された発話12bに対応する音声信号202のセグメントを文字起こしする)ように構成される。
それぞれの潜在的な異なる話し手10に専用の別個のブランチ208を有することによって、音声認識器200は、いくつかの利点を有する場合がある。1つのそのような利点は、音声認識器200が、同様の構成要素を共同で一緒に訓練してよいことである場合がある。たとえば、訓練プロセス300(図3A)中に、ラベルエンコーダ220のすべて、結合ネットワーク230のすべて、および/またはソフトマックス層240のすべてが、個々にではなく一緒に訓練されてよい。
別の利点は、音声エンコーダ210がミックスされたモノラル音声信号202を受信するので、音声エンコーダ210が音声認識器200の各ブランチ208のために複製される必要がないことである場合がある。むしろこの分岐した構造においては、マスキングモデル250とともに音声エンコーダ210は、音声認識器200の各ブランチ208に入力を供給するために集中的に機能してよい。たとえば、単一のマスキングモデル250が、各ブランチ208に関連するそれぞれのマスキングされた音声の埋め込み254、254a~b(たとえば、第1のブランチ208aに関するそれぞれのマスキングされた埋め込み254aおよび第2のブランチ208bに関するそれぞれのマスキングされた音声の埋め込み254b)を生成することが図2Aに示される。言い換えると、分岐した構造によって、音声認識器200は、マスキングされた音声の埋め込み254を、1人の話し手(たとえば、第1の話し手10aかまたは第2の話し手10bかのどちらか)にのみ属する音声の埋め込み212として扱ってよい。マスキングされたモデル250がそれぞれの話し手10a、10bに関するそれぞれのマスキングされた音声の埋め込み254a、254bを生成すると、音声認識器200は、各ブランチ208に関するそれぞれの出力シーケンス242を生成するために、それぞれのマスキングされた埋め込み254に対して各ブランチ208からの結合ネットワーク230を別々に適用してよい。一部の構成において、音声認識器200は、各ブランチ208の出力シーケンス242を組み合わせて、話し手10の間の会話の文字起こし204を定義する文字および/または単語のシーケンスを形成する。それぞれの話し手10との各ブランチ208の関連付けに基づいて、文字起こし204は、どの話し手が何を話したかを示すラベルを含んでよい。文字起こし204は、誰がいつ何を話したかを示すタイムスタンプも含んでよい。
音声認識器200の分岐した構造は、ラベルエンコーダ220がブランチ208に関連する所与の話し手10に関するラベルを生成する(たとえば、予測する)ような、各ブランチ208のための専用のラベルエンコーダ220を許容する場合もある。言い換えると、第1の話し手のブランチ208aの第1のラベルエンコーダ220aが、第1の話し手10aに関するラベルpu1 224、224aを予測する。同様に、第2の話し手のブランチ208bの第2のラベルエンコーダ220bが、第2の話し手10bに関するラベルpu2 224、224bを予測する。
図2Aは2つのブランチの手法を開示するが、音声認識器200は、複数の潜在的な重複する話し手10に適応するように修正されてよい。3人以上の重複する話し手10のために、音声認識器200は、いくつかの方法で適応する場合がある。固定入力の手法においては、マスキングモデル250が複数の話し手10をサポートするようにスケーリングすることができるように、固定入力252がそれぞれの潜在的な話し手10に割り振られてよい。言い換えると、3人の話し手10、10a~cがいる会話において、音声認識器200は、第1の話し手10aに第1の話し手10aのための固定入力252としてゼロ(0)を割り振り、第2の話し手10bに第2の話し手10bのための固定入力252として一(1)を割り振り、第3の話し手10cに第3の話し手10cのための固定入力252として二(2)を割り振る。追加的または代替的に、図2Bは、音声認識器200が、単に固定入力252の数ではなく、マスキングモデル250の数をスケーリングしてよいことを示す。たとえば、音声認識器200は、それぞれの話し手10のためのマスキングモデル250を含む。一部の実装において、音声認識器200は、それぞれの話し手10のためのマスキングモデル250を(たとえば、1対1で)含まないが、複数の話し手10に対応するエンコーダの埋め込み212を単一の話し手10に対応するマスキングされた音声の埋め込み254に変換する処理を分散させるために、2つ以上のマスキングモデル250を含む。
一部の構成においては、符号化された音声の埋め込み212のフレームに関連する固定入力252の代わりに、マスキングモデル250は、符号化された音声の埋め込み212のフレームに関連する話し手の埋め込みを受信する。話し手の埋め込みは、特定の話し手に関する特徴を特定する場合がある。たとえば、話し手の埋め込みは、iベクトルまたはdベクトルを含む場合がある。話し手の埋め込みの手法によって、マスキングモデル250は、特定の話し手の埋め込みの受信に基づいてどのようにして話し手を正確にマスクすべきかを学習するために、話し手の埋め込みの例を用いて訓練されてよい。たとえば、推論中に、マスキングモデル250が第1の話し手10aの話し手の埋め込みを受信するとき、マスキングモデル250は、話し手の埋め込みで訓練済みであり、受信された話し手の埋め込みを使用して、話し手の埋め込みに関連する話し手10に対応する符号化された音声の埋め込み212の部分を決定する。固定入力の手法とよく似て、マスキングされたモデル250は、話し手の埋め込みおよび符号化された音声の埋め込み212に基づいて、単一の話し手10に対応するマスキングされた埋め込み254を生成する。そこから、音声認識器200は、これらのマスキングされた埋め込み254を、単一の話し手10に対応する音声認識器200のそれぞれのブランチ208に渡す。
いくつかの例において、音声認識器200は、層あたり1024ユニット(たとえば、いずれの方向に関しても512)を有する双方向LSTMのいくつかの層を有する音声エンコーダ210を含む。たとえば、音声エンコーダ210は、5層LSTMまたは7層LSMTであってよい。ラベルエンコーダ220は、層あたり1024ユニットを有する2層片方向LTSMであってよい。これらの例において、音声認識器200の出力語彙は、85個の書記素である場合がある。マスキングモデル250は、層あたり1024ユニット(たとえば、いずれの方向にも512)を有する2層LSTMであってよい。
図3A~図3Dを参照すると、E2Eモデルとしての音声認識器200が、まず、所与の入力シーケンスに基づいて目標出力シーケンスを生成することができるように訓練される。ここで、音声認識器200の訓練プロセス300は、段階的に行われる場合がある。図3Aなどの一部の実装において、訓練プロセス300は、マスキングモデル250以外の音声認識器200の構成要素のすべてを、これらの構成要素が個々のブランチ208ではなく単一のRNN-Tモデルであるかのように第1の訓練段階で訓練する。たとえば、まず、単一のRNN-Tモデルが、訓練例302に基づいて訓練され、その後、RNN-Tモデルは、音声認識器200を形成するためにブランチ208に分割される。音声認識器200が形成されると、(たとえば、図3B~図3Dに示される)訓練プロセスの第2の段階が、マスキングモデル250を訓練し始める。ここで、マスキングモデル250の訓練は、音声認識器200のブランチ208の微調整の訓練も実行する場合がある。
図3Bを参照すると、音声認識器200を訓練するとき、訓練プロセス300は、推論中に音声認識器200の精度を保証するために、1つまたは複数の種類の損失関数310を使用してよい。これらの損失関数310は、より従来型のRNN-T損失312、マスキング損失314、埋め込み損失316、および/または最小単語誤り率(mWER)損失318を含む場合がある。音声認識器200の粒度または設計に応じて、音声認識器200は、これらの種類の損失関数310のいずれか1つまたは組合せを使用して訓練されてよい。従来型のRNN-T損失312は、概して、すべての訓練例にわたる、入力シーケンスが与えられたときの目標ラベルシーケンスの確率に対応する負の対数確率の総和として定義される。訓練中、訓練プロセス300は、音声認識器200を形成する前の第1の訓練段階中、および/またはブランチ208を有する音声認識器200の第2の訓練段階中にブランチごとに、RNN-T損失312を使用してよい。たとえば、第2の訓練段階においては、RNN-T損失312を最小化することが、音声認識器200の各ブランチ208の訓練の目的である。
図3Cおよび図3Dを参照すると、訓練プロセス300の第2の段階は、マスキングモデル250を訓練する。第2の段階において、音声エンコーダ210は、重複するスピーチ領域またはセグメント306を有する訓練モノラル音声信号に対応する訓練例302を受信し、訓練音声信号を符号化された音声の埋め込み212のフレームに変換する。いくつかの例において、訓練例302は、シミュレーションされた音声信号に対応する。ここで、シミュレーションされた音声信号は、特定のパラメータを用いて生成された音声信号を指す。これは、訓練例に含まれる重複するスピーチセグメントに関する情報が不明である可能性がある、実際の音声スピーチセグメントの訓練例を使用する訓練プロセスとは対照的である。開始時間および終了時間など、重複するスピーチセグメント(または領域)がいつ発生するかに関する既知の情報を有することによって、音声認識器200(たとえば、マスキングモデル250)は、訓練中にこれらの追加のパラメータを学習することによって訓練プロセス300を複雑にする必要がない。
シミュレーションされた音声信号として、訓練例302は、第1の話し手10aが話している音声の第1のセグメント304、304aと、第2の話し手10bが話している音声の第2のセグメント304、304bと、第1のセグメント304aが第2のセグメント304bと重なる重複する領域306とを含んでよい。たとえば、図3Cおよび図3Dは、訓練例302が10秒の長さであり、第1のセグメント304aが訓練例302の最初の7秒に対応する例を示す。訓練例302の第2セグメント304bは、訓練例302の5秒から発生し、10秒までに及ぶ。ここで、重複する領域306は、訓練例302の5秒から訓練例302の7秒まで発生する。
一部の構成において、各ブランチ208に関する独立したRNN-T損失312の使用は、1つのブランチ208に関するRNN-T損失312に、そのブランチ208に対応する話し手のラベル224を別のブランチ208に属する音声に揃えさせる(話し手のラベルをずらさせる)。ミスアラインメント(misalignment)を学習することを防止するために、訓練プロセス300は、シミュレーションされた訓練例302に関して、重複する領域306の既知の開始時間SOおよび重複する領域306の既知の終了時間EOを利用するマスキング損失314を使用する。これらの既知のタイミングパラメータSO、EOを有することによって、訓練プロセス300は、話し手10が話しているときを示し、話し手10が話していないときも示す、それぞれの話し手10に関するそれぞれのマスキングされた音声の埋め込み254a、254bを生成する。話し手10が話していないそれぞれのマスキングされた音声の埋め込み254にインジケーションを含めることによって、インジケーションが、RNN-T損失312が話し手10のラベルをずらすことを防止する。言い換えると、以前は、話し手10が話しているかまたは話していないかのマスキングされた音声の埋め込み254内のインジケーションがなく、音声認識器200は、たとえ第2の話し手10bが話していなかったとしても、第1の話し手10aからの言葉を第2の話し手10bの音声フレームに揃えることを学習する場合がある。マスキングされた埋め込み254がそのようなインジケーションを含むとき、音声認識器200は、このミスアラインメントエラーを犯さないことを学習する。
一部の実装において、訓練中に、所与の話し手10に関するそれぞれのマスキングされた埋め込み254は、訓練例302の異なるセグメント304の間にどの話し手10が話しているかを決定することによって、話し手10がいつ話しているかのインジケーションを含む。たとえば、特定の話し手10に関して、訓練プロセス300は、その特定の話し手10が重複する領域306の既知の開始時間SOの前に話していたかどうか、およびその特定の話し手10が重複する領域306の既知の終了時間E0の後に話していたかどうかを判定する。訓練例302が、重複する領域306の前と後との両方で同じ話し手10が話していないように構成されているとき、訓練プロセス300は、特定の話し手10が重複する領域306の既知の開始時間SOの前、または重複する領域306の既知の終了時間E0の後に話していたかどうかを判定する。ここで、訓練中に、マスキングモデル250は、うち話し手10が話していなかった訓練例302のセグメント304に対してそれぞれのマスキング損失314を適用することを教えられる。別の言い方をすれば、話し手10が訓練例302において既知の開始時間SOの前に話していたとき、マスキングモデル250は、その話し手10に関するそれぞれのマスキングされた音声の埋め込み254に対して、訓練例302の既知の終了時間EOの後のそれぞれのマスキング損失314を適用する(またはその逆)。マスキング損失314は、既知の終了時間EOの後に話し手10のいかなる言葉も揃わないように、既知の終了時間EOの後、すべてのマスキングされた活性化(activation)をゼロにしようと試みる。いくつかの例において、マスキング損失314は、マスキングされた音声の埋め込み254の二乗差を最小化するL2損失関数に対応する。
図3Cを特に参照すると、訓練中に、マスキングモデル250は、第1のセグメント304aが第1の話し手10aが話すことに対応することを特定し、このセグメント304aに関するそれぞれのマスキングされた音声の埋め込み254aを生成する。マスキングモデル250は、第2のセグメント304bの間、第1の話し手10aが話していなかったことも特定し、第1の話し手10aに関するマスキング埋め込み254aの一部として含めるために第1のマスキング損失314、314aを適用する。そして、マスキングモデル250は、第1のマスキング損失314aを有するマスキングされた埋め込み254aを第1の話し手のブランチ208aに伝達する。同様に、マスキングモデル250は、第2のセグメント304bが第2の話し手10bが話すことに対応することを特定し、このセグメント304bに関するそれぞれのマスキングされた音声の埋め込み254bを生成する。マスキングモデル250は、第1のセグメント304aの間、第2の話し手10bが話していなかったことも特定し、第2の話し手10bに関するそれぞれのマスキング埋め込み254bの一部として含めるために第2のマスキング損失314、314bを適用する。そして、マスキングモデル250は、マスキング損失314bを有するそれぞれマスキングされた埋め込み254bを第2の話し手のブランチ208bに伝達する。
図3Dなどの一部の構成において、訓練プロセス300は、追加的または代替的に、埋め込み損失316を含む。特に、これらの構成において、訓練プロセス300は、第1の話し手10aに関して生成されたマスキングされた音声の埋め込み254aの各々および第2の話し手10bに関して生成されたそれぞれのマスキングされた音声の埋め込み254bに対して埋め込み損失316を適用する。埋め込み損失316は、それぞれの話し手10に関して生成されたそれぞれのマスキングされた音声の埋め込み254の全体がその話し手10によって話された音声のみに対応することを強制するように構成される。言い換えると、マスキングモデル250が各音声フレームにおいて(たとえば、符号化された埋め込み212から)エンコーダの特徴を分離すべきであるので、埋め込み損失316は、それぞれのマスキングされた埋め込み254の特徴が重複する領域306の中と外との両方で同じ話し手の埋め込みを維持することを保証する。たとえば、訓練プロセス300は、重複する領域306の中と外との両方のそれぞれの話し手10a、10bに関するそれぞれのマスキングされた埋め込み254a、254bに関して、平均の話し手の埋め込みベクトルを計算する。話し手の埋め込み損失316は、以下、すなわち、
EmbLoss = cos(I0, O0) + cos(I1, O1) - cos(I0, O1) - cos(I1, O0) (2)
のように表されてよく、I0は、重複する領域306内の第1の話し手10aに関するそれぞれのマスキングされた埋め込み254aに関して計算された平均の話し手の埋め込みであり、I1は、重複する領域306内の第2の話し手10bに関するそれぞれのマスキングされた埋め込み254bに関して計算された平均の話し手の埋め込みであり、O0は、重複する領域306外の第1の話し手に関するそれぞれのマスキングされた埋め込み254aに関して計算された平均の話しの埋め込みであり、O1は、重複する領域306外の第2の話し手10bに関するそれぞれのマスキングされた埋め込み254bに関して計算された平均の話しの埋め込みであり、cosineは、コサイン類似度を示す。したがって、訓練プロセス300は、I0、I1、O0、およびO1の関数に基づいて、埋め込み損失316を生成してよい。
図3Dは、埋め込み損失316が、それぞれの話し手10に関して生成されたそれぞれのマスキングされた音声の埋め込み254の全体がその話し手10によって話された音声のみに対応することを保証するのに役立つ損失関数310である状況を示す。ここで、図3Dは、マスキングモデル250が、重複する領域306外の音声信号202の部分に関しては話し手10を正しく特定する(たとえば、第1の話し手10aに関してはS1、第2の話し手10bに関してはS2として示される)が、重複する領域306内の話し手10を不正確に特定する場合があることを示す。たとえば、図3Dは、マスキングモデル250が訓練プロセス300中に生成する場合があるマスキングされた埋め込み254、254a~dの異なる順列を示す。この例において、マスキングモデル250は、第2の話し手10bのスピーチに対応する重複する領域306を有する第1の話し手10aのマスキングされた埋め込み254(たとえば、第2のマスキングされた埋め込み254bとしてラベル付けされる)と、第1の話し手10bのスピーチに対応する重複する領域306を有する第2の話し手10bのマスキングされた埋め込み254(たとえば、第4のマスキングされた埋め込み252dとして示される)を生成する場合がある。重複する領域206は複数話者音声認識のために重要な領域であるので、訓練プロセス300は、埋め込み損失316を使用して、この種の話し手をまたぐ埋め込みが発生することを防止するようにマスキングモデル250を訓練してよい。一部の実装において、訓練プロセス300は、それぞれのマスキングされた埋め込み254(たとえば、4つのマスキングされた埋め込み254a~d)に関して、重複する領域306の中に関する平均の話し手の埋め込み(Iと表される)と、重複する領域306の外に関する平均の話し手の埋め込み(Oと表される)を計算し、埋め込み損失316が、完全に単一の話し手10からのスピーチに対応するマスキングされた埋め込み254を示す。図3Dにおいて、損失関数310として埋め込み損失316を使用すると、埋め込み損失316は、第1のマスキングされた埋め込み254aが完全に第1の話し手10aからのスピーチに対応し、第4のマスキングされた埋め込み254dが完全に第2の話し手10bからのスピーチに対応することを特定することができる。そして、これらのマスキングされた埋め込み254a、dの両方が、正しいブランチ208に渡される。
訓練プロセス300が音声認識器200の音声認識を最適化するために使用してよい別の損失関数310は、単語誤り率損失318である。概して、音声認識器200は、低レイテンシで動作することに加え、スピーチの認識が正確であることも必要である。多くの場合、音声認識を実行するモデルに関して、モデルの精度を定義する可能性がある指標は、単語誤り率(WER)である。WERは、実際に話された単語数に比していくつの単語が変更されるかという尺度を指す。通常、これらの単語の変更は、置換(すなわち、単語が置き換えられるとき)、挿入(すなわち、単語が追加されるとき)、および/または削除(すなわち、単語が省略されるとき)を指す。たとえば、話し手が「car」と言うが、ASRシステムが単語「car」を「bar」と文字起こしする。これは、音声の類似性が原因である置換の例である。ASRシステムの能力をその他のASRシステムと比較して測定するとき、WERは、別のシステムまたは何らかのベースラインに対する改善または品質の能力のある尺度を示す可能性がある。したがって、訓練例302は、第1の話し手10aによって話された音声の第1のセグメント304aに対応する第1のグラウンドトゥルースの文字起こし、および第2の話し手10bによって話された音声の第2のセグメント304aに対応する第2のグラウンドトゥルースの文字起こしを含んでよい。ここで、訓練プロセス300は、第1のおよび第2のグラウンドトゥルースの文字起こしを使用してWERを最小化する。
音声認識器200が推論中に動作するとき、音声認識器200は、各出力シーケンス242が特定の話し手10に関する文字起こし204に対応するn個の出力シーケンス242、242a~nを生成する。2人の話し手10a~bの場合、第1のデコーダ240aは、第1の話し手10aに関する出力シーケンス242aを生成し、第2のデコーダ240bは、第2の話し手10bに関する出力シーケンス242bを生成する。訓練中、訓練出力シーケンス242の精度は、確率的勾配降下法を使用してWERを最小化するために、訓練例302に関する上述のグラウンドトゥルースの文字起こしと比較されてよい。言い換えると、各訓練例302は、訓練例302の各話し手のグラウンドトゥルースの文字起こしに関連付けられてよい。しかし、どちらのグラウンドトゥルースの文字起こしがどちらの出力シーケンス242に対応するかは知られていない場合があるので、WERは、両方の可能性に関して決定されてよい。いくつかの例において、WER損失318は、すべての可能性の中で最小のWERに対応するスコアによって表されてよい。2人の話し手10a~bに関する誤差は、以下、すなわち、
ErrTwoSpeaker(h1, h2, r1, r2) = min(Err(h1, r1) + Err(h2, r2), Err(h1, r2) + Err(h2, r1)) (3)
のように表されてよく、r1は、第1のグラウンドトゥルースの文字起こしであり、r2は、第2のグラウンドトゥルースの文字起こしであり、h1は、第1の話し手10aに関する第1の予測された出力シーケンス242aであり、h2は、第2の話し手10bに関する第2の予測された出力242bであり、Err(h, r)は、参照文字起こしrと仮説(hypothesis)hとの間の編集距離の誤差の数を計算する。この誤差に基づいて、WERは、
Figure 2023524088000009
のように表されてよく、N(r)は、参照文字起こしr内の単語数である。
図4は、エンドツーエンドの複数話者重複音声認識の方法400の動作の例示的な配列の流れ図である。方法400は、損失関数310を用いて音声認識モデル200を訓練する。データ処理ハードウェア510(図5)と、データ処理ハードウェア510と通信し、データ処理ハードウェア510上で実行されるときにデータ処理ハードウェア510に訓練プロセス300を実行させ、方法400の動作の例示的な配列を実行させる可能性がある命令を記憶するメモリハードウェア520(図5)とを含むコンピューティングシステム500(図5)。コンピューティングシステム500は、訓練された音声認識モデル200をユーザデバイス110にプッシュしてよい。動作402において、方法400は、第1の話し手10、10aによって話された音声に対応する第1のセグメント304、304a、第2の話し手10、10bによって話された音声に対応する第2のセグメント304、304b、および第1のセグメント304、0304aが第2のセグメント304、304bと重なる重複する領域306を含む音声信号を含む訓練例302を受信する。重複する領域306は、既知の開始時間S0および既知の終了時間E0を含む。第1の話し手10、10aおよび第2の話し手10、10bの各々に関して、方法400は、動作404において、訓練例302に基づいて、それぞれのマスキングされた音声の埋め込み254を生成する。動作406において、方法400は、第1の話し手10、10aが、重複する領域306の既知の開始時間S0の前、または重複する領域306の既知の終了時間E0の後に話していたかどうかを判定する。第1の話し手10、10aが重複する領域306の既知の開始時間S0の前に話していたとき、動作408において、方法400は、第1の話し手10、10aに関するそれぞれのマスキングされた音声の埋め込み254に対して、既知の終了時間E0の後の第1のマスキング損失312を適用する。第1の話し手10、10aが重複する領域306の既知の終了時間E0の後に話していたとき、動作410において、方法400は、第1の話し手10、10aに関するそれぞれのマスキングされた音声の埋め込み254に対して、既知の開始時間S0の前の生成されたマスキングされた音声の埋め込み254へのマスキング損失312を適用する。
図5は、本明細書において説明されたシステム(たとえば、音声認識器200)および方法(たとえば、方法300)を実装するために使用されてよい例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装を限定するように意図されていない。
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)、メモリ520(たとえば、メモリハードウェア)、ストレージデバイス530、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540、ならびに低速バス570およびストレージデバイス530に接続する低速インターフェース/コントローラ560を含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される場合がある。プロセッサ510は、メモリ520内またはストレージデバイス530上に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理して、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用される場合がある。また、複数のコンピューティングデバイス500が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される場合がある。
メモリ520は、コンピューティングデバイス500内で情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、コンピューティングデバイス500による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様の個体メモリデバイス、または、ストレージエリアネットワークもしくはその他の構成内のデバイスを含む一群のデバイスであってよい。追加的な実装においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
高速コントローラ540は、コンピューティングデバイス500に関する帯域を大量に消費する動作を管理し、一方、低速コントローラ560は帯域をそれほど消費しない動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装において、高速コントローラ540は、メモリ520に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ580に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート550に結合される。一部の実装において、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合される場合があり、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスに結合される場合がある。
コンピューティングデバイス500は、図に示されるように、多くの異なる形態で実装されてよい。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、もしくはそのようなサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されてよい。
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラミング可能なプロセッサ用の機械命令を含み、高級手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受信する。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
いくつかの実装が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な修正がなされ得ることは、理解されるであろう。したがって、その他の実装は、添付の請求項の範囲内にある。
10、10a~c 話し手、ユーザ
12、12a~b 発話
100 音声環境
110 ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 音声サブシステム
116a 音声キャプチャデバイス
116b 音声出力デバイス
118 プログラムまたはアプリケーション
200 音声認識器
202 ストリーミング音声データ、音声信号入力
204 文字起こし
206 重複するスピーチセグメント
208 ブランチ
208a 第1のブランチ
208b 第2のブランチ
210 音声エンコーダ
212 出力、符号化された音声の埋め込み、エンコーダ埋め込み
220 ラベルエンコーダ
220a 第1のラベルエンコーダ
220b 第2のラベルエンコーダ
222 入力
224 出力
224、224a 第1の話し手10aに関するラベルpu1
224、224b 第2の話し手10bに関するラベルpu2
230 結合ネットワーク
230a 第1の結合ネットワーク
230b 第2の結合ネットワーク
232 出力
240 デコーダ
240a 第1のデコーダ
240b 第2のデコーダ
242 出力シーケンス
242、242a~n 出力シーケンス
250 マスキングモデル
252 固定入力
254、254a~d マスキングされた音声の埋め込み
300 訓練プロセス
302 訓練例
304a 第1のセグメント
304b 第2のセグメント
306 重複する領域
310 損失関数
312 より従来型のRNN-T損失
314 マスキング損失
314a 第1のマスキング損失
314b 第2のマスキング損失
316 埋め込み損失
318 最小単語誤り率(mWER)損失
500 コンピューティングシステム、コンピューティングデバイス
500a 標準的なサーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 データ処理ハードウェア
520 メモリハードウェア
530 ストレージデバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート

Claims (22)

  1. 損失関数(310)を用いて音声認識モデル(200)を訓練する方法(400)であって、
    データ処理ハードウェア(510)において、第1の話し手(10)によって話された音声に対応する第1のセグメント(304)、第2の話し手(10)によって話された音声に対応する第2のセグメント(304)、および前記第1のセグメント(304)が前記第2のセグメント(304)と重なる重複する領域(306)を含む音声信号(202)を含む訓練例(302)を受信するステップであって、前記重複する領域(306)が、既知の開始時間および既知の終了時間を含む、ステップと、
    前記第1の話し手(10)および前記第2の話し手(10)の各々に関して、前記データ処理ハードウェア(510)によって、前記訓練例(302)に基づいて、それぞれのマスキングされた音声の埋め込み(254)を生成するステップと、
    前記データ処理ハードウェア(510)によって、前記第1の話し手(10)が
    前記重複する領域(306)の前記既知の開始時間の前、または
    前記重複する領域(306)の前記既知の終了時間の後
    に話していたかどうかを判定するステップと、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記データ処理ハードウェア(510)によって、前記第1の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記既知の終了時間の後の第1のマスキング損失(314)を適用するステップと、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記データ処理ハードウェア(510)によって、前記第1の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記既知の開始時間の前の前記第1のマスキング損失(314)を適用するステップとを含む、方法(400)。
  2. 前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していなかった、および
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していなかった請求項1に記載の方法(400)。
  3. 前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記データ処理ハードウェア(510)によって、前記第2の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記重複する領域(306)の前記既知の開始時間の前の第2のマスキング損失(314)を適用するステップと、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記データ処理ハードウェア(510)によって、前記第2の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記重複する領域(306)の前記既知の終了時間の後の前記第2のマスキング損失(314)を適用するステップとをさらに含む請求項1または2に記載の方法(400)。
  4. 前記第1の話し手(10)および前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の各々に関して、
    前記データ処理ハードウェア(510)によって、前記重複する領域(306)内の前記第1の話し手(10)または前記第2の話し手(10)のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算するステップと、
    前記データ処理ハードウェア(510)によって、前記重複する領域(306)外の前記第1の話し手(10)または前記第2の話し手(10)のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算するステップと、
    前記データ処理ハードウェア(510)によって、前記重複する領域(306)内の前記第1の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、前記重複する領域(306)内の前記第2の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、前記重複する領域(306)外の前記第1の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、および前記重複する領域(306)外の前記第2の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込みの関数に基づいて埋め込み損失(316)を決定するステップと、
    前記データ処理ハードウェア(510)によって、
    前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の全体が前記第1の話し手(10)によって話された音声のみに対応することを強制するために、前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)、および
    前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の全体が前記第2の話し手(10)によって話された音声のみに対応することを強制するために、前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の各々に前記埋め込み損失(316)を適用するステップとをさらに含む請求項3に記載の方法(400)。
  5. 前記それぞれのマスキングされた音声の埋め込み(254)を生成するステップが、前記訓練例(302)に関する前記音声信号(202)の各フレームにおいて行われる請求項1から4のいずれか一項に記載の方法(400)。
  6. 前記音声信号(202)が、モノラル音声信号(202)を含む請求項1から5のいずれか一項に記載の方法(400)。
  7. 前記訓練例(302)が、シミュレーションされた訓練データを含む請求項1から6のいずれか一項に記載の方法(400)。
  8. 前記音声認識モデル(200)が、リカレントニューラルネットワークトランスデューサ(RNN-T)アーキテクチャを含む請求項1から7のいずれか一項に記載の方法(400)。
  9. 前記RNN-Tアーキテクチャが、
    前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)を入力として受信し、前記第1の話し手(10)に関連する第1の文字起こしを出力として生成するように構成された第1のデコーダ(240)であって、前記第1の文字起こしが、前記第1の話し手(10)によって話された前記音声に対応する前記音声信号(202)の前記第1のセグメント(304)を文字起こしする、第1のデコーダ(240)と、
    前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)を入力として受信し、前記第2の話し手(10)に関連する第2の文字起こしを出力として生成するように構成された第2のデコーダ(240)であって、前記第2の文字起こしが、前記第2の話し手(10)によって話された前記音声に対応する前記音声信号(202)の前記第2のセグメント(304)を文字起こしする、第2のデコーダ(240)とを含む請求項8に記載の方法(400)。
  10. 前記音声認識モデル(200)が、推論中に、
    2人以上の異なる話し手(10)によって話されたスピーチを含むモノラル音声ストリームからフレームごとの音声の埋め込み(212)を生成することと、
    それぞれのフレームの音声の埋め込み(212)をマスキングモデル(250)に伝達することであって、前記マスキングモデル(250)が、それぞれのフレームの音声の埋め込み(212)に関して、それぞれのマスキングされた音声の埋め込み(254)を生成するように訓練される、伝達することとを行うように構成された音声エンコーダ(210)を含む請求項1から9のいずれか一項に記載の方法(400)。
  11. 前記訓練例(302)が、
    前記第1の話し手(10)によって話された前記音声に対応する第1のグラウンドトゥルースの文字起こし(204)、および
    前記第2の話し手(10)によって話された前記音声に対応する第2のグラウンドトゥルースの文字起こし(204)をさらに含む請求項1から10のいずれか一項に記載の方法(400)。
  12. 損失関数(310)を用いて音声認識モデル(200)を訓練するためのシステム(500)であって、
    データ処理ハードウェア(510)と、
    前記データ処理ハードウェア(510)と通信するメモリハードウェア(520)であって、前記データ処理ハードウェア(510)上で実行されるときに、前記データ処理ハードウェア(510)に、
    第1の話し手(10)によって話された音声に対応する第1のセグメント(304)、第2の話し手(10)によって話された音声に対応する第2のセグメント(304)、および前記第1のセグメント(304)が前記第2のセグメント(304)と重なる重複する領域(306)を含む音声信号(202)を含む訓練例(302)を受信する動作であって、前記重複する領域(306)が、既知の開始時間および既知の終了時間を含む、動作、
    前記第1の話し手(10)および前記第2の話し手(10)の各々に関して、前記訓練例(302)に基づいて、それぞれのマスキングされた音声の埋め込み(254)を生成する動作、
    前記第1の話し手(10)が、
    前記重複する領域(306)の前記既知の開始時間の前、または
    前記重複する領域(306)の前記既知の終了時間の後
    に話していたかどうかを判定する動作、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記第1の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記既知の終了時間の後の第1のマスキング損失(314)を適用する動作、ならびに
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記第1の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記既知の開始時間の前の前記第1のマスキング損失(314)を適用する動作を含む動作を実行させる命令を記憶する、メモリハードウェア(520)とを含む、システム(500)。
  13. 前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していなかった、および
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記第1の話し手(10)が既知のものの前に話していなかった請求項12に記載のシステム(500)。
  14. 前記動作が、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の開始時間の前に話していたとき、前記第2の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記重複する領域(306)の前記既知の開始時間の前の第2のマスキング損失(314)を適用する動作と、
    前記第1の話し手(10)が前記重複する領域(306)の前記既知の終了時間の後に話していたとき、前記第2の話し手(10)に関する前記それぞれのマスキングされた音声の埋め込み(254)に対して、前記重複する領域(306)の前記既知の終了時間の後の前記第2のマスキング損失(314)を適用する動作とをさらに含む請求項12または13に記載のシステム(500)。
  15. 前記動作が、
    前記第1の話し手(10)および前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の各々に関して、
    前記重複する領域(306)内の前記第1の話し手(10)または前記第2の話し手(10)のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算する動作と、
    前記重複する領域(306)外の前記第1の話し手(10)または前記第2の話し手(10)のそれぞれに関するそれぞれの平均の話し手の埋め込みを計算する動作と、
    前記重複する領域(306)内の前記第1の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、前記重複する領域(306)内の前記第2の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、前記重複する領域(306)外の前記第1の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込み、および前記重複する領域(306)外の前記第2の話し手(10)の前記それぞれのマスキングされた音声の埋め込み(254)に関して計算された前記平均の話し手の埋め込みの関数に基づいて埋め込み損失(316)を決定する動作と、
    前記埋め込み損失(316)を
    前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の全体が前記第1の話し手(10)によって話された音声のみに対応することを強制するために、前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)、および
    前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の全体が前記第2の話し手(10)によって話された音声のみに対応することを強制するために、前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)の各々に適用する動作とをさらに含む請求項14に記載のシステム(500)。
  16. 前記それぞれのマスキングされた音声の埋め込み(254)を生成する動作が、前記訓練例(302)に関する前記音声信号(202)の各フレームにおいて行われる請求項12から15のいずれか一項に記載のシステム(500)。
  17. 前記音声信号(202)が、モノラル音声信号(202)を含む請求項12から16のいずれか一項に記載のシステム(500)。
  18. 前記訓練例(302)が、シミュレーションされた訓練データを含む請求項12から17のいずれか一項に記載のシステム(500)。
  19. 前記音声認識モデル(200)が、リカレントニューラルネットワークトランスデューサ(RNN-T)アーキテクチャを含む請求項12から18のいずれか一項に記載のシステム(500)。
  20. 前記RNN-Tアーキテクチャが、
    前記第1の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)を入力として受信し、前記第1の話し手(10)に関連する第1の文字起こしを出力として生成するように構成された第1のデコーダ(240)であって、前記第1の文字起こしが、前記第1の話し手(10)によって話された前記音声に対応する前記音声信号(202)の前記第1のセグメント(304)を文字起こしする、第1のデコーダ(240)と、
    前記第2の話し手(10)に関して生成された前記それぞれのマスキングされた音声の埋め込み(254)を入力として受信し、前記第2の話し手(10)に関連する第2の文字起こしを出力として生成するように構成された第2のデコーダ(240)であって、前記第2の文字起こしが、前記第2の話し手(10)によって話された前記音声に対応する前記音声信号(202)の前記第2のセグメント(304)を文字起こしする、第2のデコーダ(240)とを含む請求項19に記載のシステム(500)。
  21. 前記音声認識モデル(200)が、推論中に、
    2人以上の異なる話し手(10)によって話されたスピーチを含むモノラル音声ストリームからフレームごとの音声の埋め込み(212)を生成することと、
    それぞれのフレームの音声の埋め込み(212)をマスキングモデル(250)に伝達することであって、前記マスキングモデル(250)が、それぞれのフレームの音声の埋め込み(212)に関して、それぞれのマスキングされた音声の埋め込み(254)を生成するように訓練される、伝達することとを行うように構成された音声エンコーダ(210)を含む請求項12から20のいずれか一項に記載のシステム(500)。
  22. 前記訓練例(302)が、
    前記第1の話し手(10)によって話された前記音声に対応する第1のグラウンドトゥルースの文字起こし(204)、および
    前記第2の話し手(10)によって話された前記音声に対応する第2のグラウンドトゥルースの文字起こし(204)をさらに含む請求項12から21のいずれか一項に記載のシステム(500)。
JP2022566423A 2020-05-01 2021-04-30 エンドツーエンドの複数話者重複音声認識 Pending JP2023524088A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/865,075 2020-05-01
US16/865,075 US11521595B2 (en) 2020-05-01 2020-05-01 End-to-end multi-talker overlapping speech recognition
PCT/US2021/030049 WO2021222678A1 (en) 2020-05-01 2021-04-30 End-to-end multi-talker overlapping speech recognition

Publications (1)

Publication Number Publication Date
JP2023524088A true JP2023524088A (ja) 2023-06-08

Family

ID=75977852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022566423A Pending JP2023524088A (ja) 2020-05-01 2021-04-30 エンドツーエンドの複数話者重複音声認識

Country Status (6)

Country Link
US (2) US11521595B2 (ja)
EP (1) EP4128213A1 (ja)
JP (1) JP2023524088A (ja)
KR (1) KR20230008152A (ja)
CN (1) CN115485768A (ja)
WO (1) WO2021222678A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11404051B2 (en) * 2020-05-21 2022-08-02 Bank Of America Corporation Textual analysis system for automatic language proficiency assessment
US20220319506A1 (en) * 2021-03-31 2022-10-06 Chief Chief Technologies Oy Method and system for performing domain adaptation of end-to-end automatic speech recognition model
US11984127B2 (en) * 2021-12-31 2024-05-14 Microsoft Technology Licensing, Llc Training and using a transcript generation model on a multi-speaker audio stream

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818431B2 (en) 2015-12-21 2017-11-14 Microsoft Technoloogy Licensing, LLC Multi-speaker speech separation
US10249305B2 (en) * 2016-05-19 2019-04-02 Microsoft Technology Licensing, Llc Permutation invariant training for talker-independent multi-talker speech separation
US10460727B2 (en) * 2017-03-03 2019-10-29 Microsoft Technology Licensing, Llc Multi-talker speech recognizer
US10957337B2 (en) * 2018-04-11 2021-03-23 Microsoft Technology Licensing, Llc Multi-microphone speech separation

Also Published As

Publication number Publication date
CN115485768A (zh) 2022-12-16
US11521595B2 (en) 2022-12-06
EP4128213A1 (en) 2023-02-08
WO2021222678A1 (en) 2021-11-04
US20210343273A1 (en) 2021-11-04
US20230084758A1 (en) 2023-03-16
KR20230008152A (ko) 2023-01-13

Similar Documents

Publication Publication Date Title
JP7436760B1 (ja) サブワードエンドツーエンド自動音声認識のための学習ワードレベルコンフィデンス
JP2023524088A (ja) エンドツーエンドの複数話者重複音声認識
KR20220130699A (ko) 심의 모델 기반 2패스 종단간 음성 인식
JP2023545988A (ja) トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル
KR20230086737A (ko) 단순화된 스트리밍 및 비스트리밍 스피치 인식을 위한 캐스케이드 인코더들
US20230186901A1 (en) Attention-Based Joint Acoustic and Text On-Device End-to-End Model
JP2024511176A (ja) エンドツーエンド自動音声認識コンフィデンスおよび削除推定のためのマルチタスク学習
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
US11848005B2 (en) Voice attribute conversion using speech to speech
US11580956B2 (en) Emitting word timings with end-to-end models
KR102637025B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
US20230298563A1 (en) Deliberation by Text-Only and Semi-Supervised Training
US20240029720A1 (en) Context-aware Neural Confidence Estimation for Rare Word Speech Recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240318