(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-14
(54)【発明の名称】簡略化されたストリーミングおよび非ストリーミングASR用のカスケードエンコーダ
(51)【国際特許分類】
G10L 15/16 20060101AFI20231107BHJP
【FI】
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023524424
(86)(22)【出願日】2021-05-01
(85)【翻訳文提出日】2023-05-31
(86)【国際出願番号】 US2021030364
(87)【国際公開番号】W WO2022086589
(87)【国際公開日】2022-04-28
(32)【優先日】2021-04-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アルン・ナラヤナン
(72)【発明者】
【氏名】タラ・サイナス
(72)【発明者】
【氏名】チュン-チェン・チウ
(72)【発明者】
【氏名】ルオミン・パン
(72)【発明者】
【氏名】ジアフイ・ユ
(72)【発明者】
【氏名】エーサン・ヴァリアニ
(72)【発明者】
【氏名】トレヴァー・ストローマン
(72)【発明者】
【氏名】ロヒット・プラバヴァルカー
(57)【要約】
自動音声認識(ASR)モデル(200)は、第1のエンコーダ(21)と、第2のエンコーダ(220)と、デコーダ(204)とを含む。第1のエンコーダは、音響フレーム(110)のシーケンスを入力として受信し、複数の出力ステップの各々において、対応する音響フレームについての第1の高次特徴表現(203)を生成する。第2のエンコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現(205)を生成する。デコーダは、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現を入力として受信し、複数の時間ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成する。
【特許請求の範囲】
【請求項1】
自動音声認識(ASR)モデル(200)であって、
第1のエンコーダ(210)であって、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンスにおいて対応する音響フレーム(110)についての第1の高次特徴表現(203)を生成する
ように構成された第1のエンコーダ(210)と、
第2のエンコーダ(220)であって、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現(205)を生成する
ように構成された第2のエンコーダ(220)と、
デコーダ(204)であって、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)を入力として受信し、
前記複数の時間ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成する
ように構成されたデコーダ(204)とを備える、ASRモデル(200)。
【請求項2】
前記第2のエンコーダ(220)は、いずれの前記音響フレーム(110)も入力として受信せずに前記第2の高次特徴表現(205)を生成する、請求項1に記載のASRモデル(200)。
【請求項3】
前記デコーダ(204)は、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を入力として受信し、
前記複数の時間ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成する
ようにさらに構成される、請求項1または2に記載のASRモデル(200)。
【請求項4】
前記デコーダ(204)は、あり得る音声認識仮説にわたる前記第2の確率分布に基づいて部分音声認識結果(120)を生成するようにさらに構成される、請求項3に記載のASRモデル(200)。
【請求項5】
前記デコーダ(204)は、
予測ネットワーク(240)であって、
最終ソフトマックス層によって出力された非ブランク記号のシーケンスを入力として受信し、
前記複数の出力ステップの各々において、密な表現を生成する
ように構成された予測ネットワーク(240)と、
ジョイントネットワーク(230)であって、
前記複数の出力ステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および
前記ASRモデル(200)がストリーミングモードで動作しているときに、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているときに、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)
のうちの一方を入力として受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)が前記ストリーミングモードで動作しているときに、あり得る音声認識仮説にわたる前記第2の確率分布、または
前記ASRモデル(200)が前記非ストリーミングモードで動作しているときに、あり得る音声認識仮説にわたる前記第1の確率分布
のうちの一方を生成する
ように構成されたジョイントネットワーク(230)とを備える、請求項3または4に記載のASRモデル(200)。
【請求項6】
前記予測ネットワーク(240)は、長短期記憶(LSTM)ベースの予測ネットワーク(240)を備える、請求項5に記載のASRモデル(200)。
【請求項7】
前記予測ネットワーク(240)は、V2埋め込みルックアップテーブルを備える、請求項5に記載のASRモデル(200)。
【請求項8】
前記第1のエンコーダ(210)は、
複数の一方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える因果エンコーダを備える、請求項1から7のいずれか一項に記載のASRモデル(200)。
【請求項9】
前記第2のエンコーダ(220)は、
1つまたは複数の双方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える非因果エンコーダを備える、請求項1から8のいずれか一項に記載のASRモデル(200)。
【請求項10】
訓練発話(132)のセットを受信することと、
前記訓練発話(132)のセットを使用して前記第1のエンコーダ(210)および第2のエンコーダ(220)を一緒に訓練することとをさらに含み、前記一緒に訓練することは、
前記第1のエンコーダ(210)についての第1の損失を生成し、
前記第2のエンコーダ(220)についての第2の損失を生成し、
前記第1の損失および前記第2の損失の加重和を最小限に抑えること
によって行われる、請求項1から9のいずれか一項に記載のASRモデル(200)。
【請求項11】
データ処理ハードウェア(12)上で実行されたときに、前記データ処理ハードウェア(12)に動作を実行させるコンピュータ実施方法(400)であって、前記動作は、
音響フレーム(110)のシーケンスを自動音声認識(ASR)モデル(200)への入力として受信することと、
前記ASRモデル(200)を使用して、前記音響フレーム(110)のシーケンスに対してストリーミング音声認識および非ストリーミング音声認識を実行することとを含み、前記実行することは、
第1のエンコーダ(210)によって、複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)についての第1の高次特徴表現(203)を生成し、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を第2のエンコーダ(220)への入力として受信し、
前記第2のエンコーダ(220)によって、前記複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現(205)を生成し、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)をデコーダ(204)への入力として受信し、
前記複数の時間ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成することによって行われる、コンピュータ実施方法(400)。
【請求項12】
前記第2のエンコーダ(220)は、いずれの音響フレーム(110)も入力として受信せずに前記第2の高次特徴表現(205)を生成する、請求項11に記載の方法(400)。
【請求項13】
前記動作は、前記ASRモデルがストリーミングモードで動作しているときに、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を前記デコーダ(204)への入力として受信することと、
前記デコーダ(204)によって、前記複数の時間ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成することと
をさらに含む、請求項11または12に記載の方法(400)。
【請求項14】
前記動作は、あり得る音声認識仮説にわたる前記第2の確率分布に基づいて部分音声認識結果(120)を生成することをさらに含む、請求項13に記載の方法(400)。
【請求項15】
前記動作は、前記ASRモデル(200)が前記ストリーミングモードで動作しているときに、
最終ソフトマックス層によって出力された非ブランク記号のシーケンスを予測ネットワーク(240)への入力として受信することと、
前記予測ネットワーク(240)によって、前記複数の出力ステップの各々において、密な表現を生成することと、
前記複数のステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)をジョイントネットワーク(230)への入力として受信することと、
前記ジョイントネットワーク(230)によって、前記複数の出力ステップの各々において、あり得る音声認識仮説にわたる前記第2の確率分布を生成することと
をさらに含む、請求項13または14に記載の方法(400)。
【請求項16】
前記動作は、前記ASRモデル(200)が前記非ストリーミングモードで動作しているときに、
前記最終ソフトマックス層によって出力された非ブランク記号のシーケンスを前記予測ネットワーク(240)への入力として受信することと、
前記予測ネットワーク(240)によって、前記複数の出力ステップの各々において、密な表現を生成することと、
前記複数の出力ステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)を前記ジョイントネットワーク(230)への入力として受信することと、
前記ジョイントネットワーク(230)によって、前記複数の出力ステップの各々において、あり得る音声認識仮説にわたる前記第1の確率分布を生成することと
をさらに含む、請求項11から15のいずれか一項に記載の方法(400)。
【請求項17】
前記デコーダ(204)は、長短期記憶(LSTM)ベースの予測ネットワーク(240)を備える、請求項11から16のいずれか一項に記載の方法(400)。
【請求項18】
前記デコーダ(204)は、V2埋め込みルックアップテーブルベースの予測ネットワーク(240)を備える、請求項11から16のいずれか一項に記載の方法(400)。
【請求項19】
前記第1のエンコーダ(210)は、
複数の一方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える因果エンコーダを備える、請求項11から18のいずれか一項に記載の方法(400)。
【請求項20】
前記第2のエンコーダ(220)は、
1つまたは複数の双方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
を備える非因果エンコーダを備える、請求項11から19のいずれか一項に記載の方法(400)。
【請求項21】
前記動作は、
訓練発話(132)のセットを受信することと、
前記訓練発話(132)のセットを使用して前記第1のエンコーダ(210)および第2のエンコーダ(220)を一緒に訓練することとをさらに含み、前記一緒に訓練することは、
前記第1のエンコーダ(210)についての第1の損失を生成し、
前記第2のエンコーダ(220)についての第2の損失を生成し、
前記第1の損失および前記第2の損失の加重和を最小限に抑えること
によって行われる、請求項11から20のいずれか一項に記載の方法(400)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、簡略化されたストリーミングおよび非ストリーミング自動音声認識(ASR)用のオンデバイスエンドツーエンドモデルに関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、複数のモデルから進化しており、この場合、各モデルは、単一のニューラルネットワークを使用してオーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マップする、統合モデルに特化した目的を有していた。この統合によって、シーケンスツーシーケンス手法が確立されており、シーケンスツーシーケンス手法は、オーディオフィーチャのシーケンスが与えられると語(または書記素)のシーケンスを生成する。統合構造では、モデルのすべての構成要素が単一のエンドツーエンド(E2E)ニューラルネットワークとして一緒に訓練されてもよい。ここで、E2Eモデルは、アーキテクチャが完全にニューラルネットワークから構成されたモデルを指す。完全なニューラルネットワークは、外部の構成要素および/または手動で設計された構成要素(たとえば、有限状態トランスデューサ、辞書、またはテキスト正規化モジュール)なしに機能する。また、E2Eモデルを訓練する際、これらのモデルは一般に、決定木からのブートストラッピングも、別個のシステムからの時刻合わせも必要としない。これらのE2E自動音声認識(ASR)システムは、大いに進歩しており、単語誤り率(WER)を含むいくつかの共通ベンチマークにおいて従来のASRシステムに勝っている。E2E ASRモデルのアーキテクチャは主としてアプリケーションに依存する。たとえば、音声検索またはオンデバイスディクテーションなどの、ユーザ対話を含むいくつかのアプリケーションでは、モデルが認識をストリーミング方式で実行する必要がある。オフラインビデオキャプショニングなどの他のアプリケーションは、モデルがストリーミングを行うことを必要とせず、将来のコンテキストを十分に利用して性能を向上させることができる。既存のE2E手法は、一般に、ストリーミングおよび非ストリーミングアプリケーション用の別個のASRを含む。それぞれに異なるアプリケーション用に複数のモデルを管理すると、固有の問題が生じ、ASRシステムの実行時間がより長くなることがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、第1のエンコーダ、第2のエンコーダ、およびデコーダを含む自動音声認識(ASR)モデルを提供する。第1のエンコーダは、音響フレームのシーケンスを入力として受信し、複数の出力ステップの各々において、音響フレームのシーケンス内の対応する音響フレームについての第1の高次特徴表現を生成する。第2のエンコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現を生成する。デコーダは、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現を入力として受信し、複数の時間ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成する。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、第2のエンコーダは、いずれの音響フレームも入力として受信せずに第2の高次特徴表現を生成する。いくつかの例では、デコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の時間ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成するようにさらに構成される。これらの例では、モデルは、第2の確率分布に基づいて第1の確率分布からの初期音声認識結果を修正することによって最終音声認識結果を生成することをさらに含む。追加または代替として、デコーダは、予測ネットワークおよびジョイントネットワークをさらに含んでもよい。予測ネットワークは、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを入力として受信し、複数の出力ステップの各々において密な表現を生成する。ジョイントネットワークは、複数の出力ステップの各々において予測ネットワークによって生成された密な表現を入力として受信するように構成される。ジョイントネットワークはまた、ASRモデルがストリーミングモードで動作しているときに、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を受信し、複数の出力ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成するように構成される。ジョイントネットワークは、ASRモデルが非ストリーミングモードで動作しているときに、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現を受信し、複数の出力ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成するように構成される。
【0005】
いくつかの実装形態では、デコーダは、長短期記憶(LSTM)ベースデコーダを含む。代替的に、デコーダは、V2埋め込みルックアップテーブルを含む。いくつかの例では、第1のエンコーダは、複数の一方向長短期記憶(LSTM)層を含む因果エンコーダを含む。追加または代替として、第2のエンコーダは、1つまたは複数の双方向長短期記憶(LSTM)層を含む非因果エンコーダを含む。いくつかの実装形態では、モデルは、訓練発話のセットを受信し、訓練発話のセットを使用して第1のエンコーダおよび第2のエンコーダを一緒に訓練するように構成される。ここで、モデルは、第1のエンコーダについての第1の損失を生成し、第2のエンコーダについての第2の損失を生成し、第1の損失および第2の損失の加重和を最小限に抑えることによって、第1のエンコーダおよび第2のエンコーダを一緒に訓練する。
【0006】
本開示の別の態様は、コンピュータ実施方法であって、データ処理ハードウェア上で実行されたときに、データ処理ハードウェアに、音響フレームのシーケンスを自動音声認識(ASR)モデルへの入力として受信することと、ASRモデルを使用して、音響フレームのシーケンスに対してストリーミング音声認識および非ストリーミング音声認識を実行することとを含む動作を実行させるコンピュータ実施方法を提供する。動作はまた、第1のエンコーダによって、複数の出力ステップの各々において、音響フレームのシーケンス内の対応する音響フレームについての第1の高次特徴表現を生成することと、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を第2のエンコーダへの入力として受信することとを含む。動作は、第2のエンコーダによって、複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現を生成することと、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現をデコーダへの入力として受信することと、複数の時間ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成することとをさらに含む。
【0007】
この態様は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、第2のエンコーダは、いずれの音響フレームも入力として受信せずに第2の高次特徴表現を生成する。いくつかの例では、動作は、ASRモデルがストリーミングモードで動作しているときに、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現をデコーダへの入力として受信することと、デコーダによって、複数の時間ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成することとをさらに含む。これらの例では、動作は、第2の確率分布に基づいて第1の確率分布からの初期音声認識結果を修正することによって最終音声認識結果を生成することをさらに含んでもよい。追加または代替として、動作は、ASRモデルがストリーミングモードで動作しているときに、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを予測ネットワークへの入力として受信することと、予測ネットワークによって、複数の出力ステップの各々において、密な表現を生成することと、複数のステップの各々において予測ネットワークによって生成された密な表現および複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現をジョイントネットワークへの入力として受信することと、ジョイントネットワークによって、複数の出力ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成することとをさらに含む。動作は、ASRモデルが非ストリーミングモードで動作しているときに、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを予測ネットワークへの入力として受信することと、予測ネットワークによって、複数の出力ステップの各々において、密な表現を生成することと、複数の出力ステップの各々において予測ネットワークによって生成された密な表現および複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現をジョイントネットワークへの入力として受信することと、ジョイントネットワークによって、複数の出力ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成することとをさらに含む。
【0008】
いくつかの実装形態では、デコーダは、長短期記憶(LSTM)ベースデコーダを含む。代替的に、デコーダは、V2埋め込みルックアップテーブルを含む。いくつかの例では、第1のエンコーダは、複数の一方向長短期記憶(LSTM)層を含む因果エンコーダを含む。追加または代替として、第2のエンコーダは、1つまたは複数の双方向長短期記憶(LSTM)層を含む非因果エンコーダを含む。いくつかの実装形態では、動作は、訓練発話のセットを受信することと、訓練発話のセットを使用して第1のエンコーダおよび第2のエンコーダを一緒に訓練することとをさらに含む。ここで、モデルは、第1のエンコーダについての第1の損失を生成し、第2のエンコーダについての第2の損失を生成し、第1の損失および第2の損失の加重和を最小限に抑えることによって、第1のエンコーダおよび第2のエンコーダを一緒に訓練する。
【0009】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0010】
【
図1A】自動音声認識用のカスケードエンコーダモデルアーキテクチャを使用する例示的な音声環境の概略図である。
【
図1B】自動音声認識用のカスケードエンコーダモデルアーキテクチャを使用する例示的な音声環境の概略図である。
【
図2A】カスケードエンコーダモデルアーキテクチャの概略図である。
【
図2B】カスケードエンコーダモデルアーキテクチャの概略図である。
【
図2C】カスケードエンコーダモデルアーキテクチャの概略図である。
【
図3】非合成音声と合成音声の両方に対する一致した予測を学習するようにカスケードエンコーダモデルを促進するための例示的な訓練プロセスの概略図である。
【
図4】ストリーミングおよび非ストリーミング自動音声認識のためのカスケードエンコーダモデルを実装する方法のための動作の例示的な構成のフローチャートである。
【
図5】本明細書で説明するシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0011】
様々な図面における同じ参照符号は同じ要素を示す。
【0012】
エンドツーエンド(E2E)自動音声認識(ASR)モデルは従来、ストリーミングモードまたは非ストリーミングモードのいずれかで動作するように構成されている。従来、E2E ASRモデルは、エンコーダおよびデコーダを主構成要素として含んでいる。音声検索またはオンデバイスディクテーションのような、エンドユーザとの対話を含むアプリケーションは、モデルが認識をストリーミング方式で実行することを必要とする場合があり、この場合、単語は、発話されたときにできるだけレイテンシを小さくして出力されることが期待される。これによって、双方向LSTMなどの、将来のコンテキストを使用して精度を改善するモデルの使用が妨げられる。これに対して、オフラインビデオキャプショニングなどのアプリケーションは、ストリーミング認識を必要とせず、任意の利用可能な将来のコンテキストを十分に利用して性能を向上させる場合がある。
【0013】
本明細書の実装形態は、単一のE2E ASRモデルを対象とし、単一のE2E ASRモデルは、ストリーミングモードと非ストリーミングモードの両方で動作することができるカスケードエンコーダを使用する。カスケードエンコーダは、ストリーミングエンコーダと非ストリーミングエンコーダとを含み、ASRモデルの単一のデコーダは、ストリーミングエンコーダからの出力または非ストリーミングエンコーダからの出力のいずれかを復号することを学習するように構成される。このアーキテクチャは、ASRモデルに加えて、ストリーミングモードと非ストリーミングモードの両方を実施する機械翻訳などの他のモデルに適用することができる。
【0014】
図1Aおよび
図1Bは、音声環境100、100a~100bの例である。音声環境100では、ユーザデバイス10などのコンピューティングデバイスと対話するユーザ104の方法は音声入力を介したものであってもよい。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、音声環境100内の1人または複数のユーザ104から音声(たとえば、ストリーミングオーディオデータ)を取り込むように構成される。ここで、ストリーミングオーディオデータは、可聴クエリ、デバイス10用のコマンド、デバイス10によって取り込まれる可聴通信として働くユーザ104による発話106を指すことがある。デバイス10の音声対応システムは、クエリに回答し、ならびに/または1つまたは複数の下流側アプリケーションによってコマンドを実行/完遂させることによってクエリまたはコマンドを処理してもよい。
【0015】
ユーザデバイス10は、ユーザ104に関連する任意のコンピューティングデバイスに相当してもよく、オーディオデータを受信することができる。ユーザデバイス10のいくつかの例には、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウエアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどが含まれる。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信するメモリハードウェア14とを含み、データ処理ハードウェア12によって実行されたときにデータ処理ハードウェア12に1つまたは複数の動作を実行させる命令を記憶する。ユーザデバイス10は、音声環境100内の発話106を取り込んで電気信号に変換するための音声取り込みデバイス(たとえば、マイクロフォン)16、16aと、可聴オーディオ信号を(たとえば、デバイス10からの出力オーディオデータとして)通信するための音声出力デバイス(たとえば、スピーカ)16、16bを有するオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例では単一の音声取り込みデバイス16aを実装しているが、ユーザデバイス10は、本開示の範囲から逸脱せずに音声取り込みデバイス16aのアレイを実装してもよく、アレイ内の1つまたは複数の取り込みデバイス16aはユーザデバイス10上に物理的に存在せずに、オーディオシステム16と通信してよい。
【0016】
音声環境100において、ASRモデル200(モデル200とも呼ばれる)を実装した自動音声認識(ASR)システム109は、ユーザ104のユーザデバイス10上および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(たとえば、クラウドコンピューティング環境において実行される分散システムの1つまたは複数のリモートサーバ)上に存在する。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、音声取り込みデバイス16aによって取り込まれるユーザ104による発話106を受信し、発話106を、ASRシステム109によって処理することのできる入力音響フレーム110に関連する対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108を含む。
図1Aに示す例では、ユーザ104は、それぞれの発話106を発し、オーディオサブシステム108は、発話106をASRシステム109に入力される対応するオーディオデータ(たとえば、音響フレーム)110に変換する。その後、モデル200は、発話106に対応するオーディオデータ110を入力として受信し、発話106の対応するトランスクリプション120(認識結果/仮説120とも呼ばれる)を出力として生成/予測する。以下に(たとえば、
図3)より詳細に説明するように、モデル200は、モデル200をストリーミングモードおよび非ストリーミングモードで動作するように訓練するプロセスを簡略化するために単一の訓練段階で訓練されてもよい。モデル200はまた、モデルのエンコーダ間で共有されるデコーダ204(共有デコーダ204とも呼ばれる)を含み、デコーダ204は、(たとえば、各モデルがストリーミングモードまたは非ストリーミングモードのいずれかの専用に使用される2つの別個のモデルに対して)モデル200がストリーミングモードおよび非ストリーミングモードで動作することのできる単一のモデルとなるのを可能にする。たとえば、
図1Aに示すように、ユーザデバイス10上で実行されるデジタルアシスタントアプリケーション50は、単語、ワードピース、および/または個々の文字が、発話されたときに画面上に表示されるように音声認識をストリーミングすることが必要になる場合がある。また、ユーザデバイス10のユーザ104は、デジタルアシスタントアプリケーション50が実行するクエリを発行するときのレイテンシに対する許容度が低い可能性もある。アプリケーションがレイテンシを最小限に抑えることを要求するこれらのシナリオでは、モデル200は、ストリーミングモードで動作し、モデル200は、ユーザ104が発話106を発しているときにストリーミングトランスクリプション機能を提供してもよい。一方、ユーザ104が音声認識レイテンシに対するより高い許容度を有し、ならびに/または認識される発話106が長文の音声(すなわち、完全なパラグラフまたは複数の文からなる音声を指す)に関連するとき、同じモデル200が、非ストリーミングモードで動作することがあり、予測ネットワークを利用して正確なトランスクリプション120を提供するが、レイテンシが増大する場合がある。したがって、ASRシステム109は、複数のそれぞれに異なる音声認識タスクについて単一のASRモデル200を実装して、タスクごとに別々に訓練されたASRモデルを利用する必要なしにストリーミングトランスクリプション機能と非ストリーミングトランスクリプション機能の両方を提供してもよい。
【0017】
いくつかの実装形態では、モデル200は、まず、オーディオデータ110に対してストリーミング音声認識を実行し、次いで、ストリーミングエンコーダの出力に対して非ストリーミング音声認識を実行する。たとえば、図示の例では、モデル200は、第1のエンコーダ(すなわち、低レイテンシエンコーダ(
図2B))を使用してオーディオデータ110に対してストリーミング音声認識を実行して部分音声認識結果120、120a(たとえば、音声認識結果120aの第2の確率分布)を生成し、第2のエンコーダ(すなわち、高レイテンシエンコーダ(
図2C))を使用して、符号化されたオーディオデータ110に対して非ストリーミング音声認識を実行して最終音声認識結果120、120b(たとえば、音声認識結果120bの第1の確率分布)を生成する。特に、モデル200は、オーディオデータ110が受信されたときに部分音声認識結果120aを出力し、その後、ユーザ104が発話106を発するのを終了した後にすべてのオーディオデータ110が受信された時点で最終音声認識結果120bを出力する。したがって、入力された発話106についての最終音声認識結果120bの出力は、部分音声認識結果120aに対して遅延させてもよい。
【0018】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106のトランスクリプション120の表現をユーザデバイス10のユーザ104に提示するように構成されたユーザインターフェース生成器107を実行する。以下に詳しく説明するように、ユーザインターフェース生成器107は、時間1の間部分音声認識結果120aをストリーミング方式で表示し、その後、時間2の間最終音声認識結果120bを表示してもよい。いくつかの構成では、ASRシステム109から出力されたトランスクリプション120は、たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行される自然言語理解(NLU)モジュールによって処理され、発話106によって指定されたユーザコマンド/クエリを実行する。追加または代替として、テキストツースピーチシステム(図示せず)(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せ上で実行される)は、トランスクリプション120をユーザデバイス10および/または別のデバイスによる可聴出力用の合成音声に変換してもよい。
【0019】
図1Aの例では、音声環境100aにおけるユーザは、ASRシステム109を使用するユーザデバイス10のプログラムまたはアプリケーション50(たとえば、デジタルアシスタントアプリケーション50a)と対話する。たとえば、
図1Aは、ユーザ104がデジタルアシスタントアプリケーション50と通信し、デジタルアシスタントアプリケーション50aが、デジタルアシスタントインターフェース18をユーザデバイス10の画面上に表示していることを示し、ユーザ10とデジタルアシスタントアプリケーション50aのデジタルアシスタントとの会話を示している。この例では、ユーザ104は、デジタルアシスタントアプリケーション50aに「What song is play right now?」と尋ねる。ユーザ104からのこの質問は、音声取り込みデバイス16aによって取り込まれ、ユーザデバイス10のオーディオシステム16によって処理される発話106である。この例では、オーディオシステム16は、発話106を受信して、ASRシステム109に入力される音響フレーム110に変換する。
【0020】
引き続き例について説明すると、モデル200は、ユーザ104が発話するときに発話106に対応する音響フレーム110を受信する間、第1のエンコーダ210(すなわち、
図2A)を使用して音響フレーム110を符号化し、次いで、デコーダ204(
図2A)を使用して音響フレーム110の符号化された表現を部分音声認識結果120aに復号する。時間1の間に、ユーザインターフェース生成器107は、デジタルアシスタントインターフェース18を介して、発話106の部分音声認識結果120aの表現をストリーミング方式でユーザデバイス10のユーザ104に提示し、それによって、単語、ワードピース、および/または個々の文字が、発話されたときに画面上に表示される。
【0021】
発話106に対応する音響フレーム110のすべて(またはある量の音響フレーム110)が受信され、第1のエンコーダ210がこれらの音響フレーム110を符号化した後、第2のエンコーダ220(すなわち、
図2A)が、第1のエンコーダ210からの符号化出力を符号化して、第1のエンコーダ210によってすでに符号化された発話106に対応する音響フレーム110のセットについての符号化出力を生成する。デコーダ204は次いで、第2のエンコーダ220によって符号化された音響フレーム110を最終音声認識結果120bに復号する。たとえば、第1のエンコーダ210が、発話106に対応する音響フレーム110のすべてを(音響フレーム110が受信されたときに)符号化すると、第2のエンコーダ220が、第1のエンコーダ210によって符号化された音響フレーム110のすべてを符号化する。この点において、第2のエンコーダ220は、複数の符号化された音響フレーム110にわたって符号化することによって、より大きなコンテキストアウェアネスを(たとえば、発話106についての音響フレーム110のすべての表現を受信することによって)非ストリーミング方式で実現することができ、この非ストリーミング方式は、場合によっては、第1のエンコーダ210のストリーミング特性によって失われるかまたは誤解釈される発話106の局面を調整または補正することがある。いくつかの例では、ユーザが発話106を終了したことを明示するエンドポイントなどの指示が、モデル200のエンコーダ220をトリガして、すべての音響フレーム110が符号化される。時間2の間に、ユーザインターフェース生成器107は、デジタルアシスタントインターフェース18を介して、発話106の最終音声認識結果120bの表現をユーザデバイス10のユーザ104に提示する。いくつかの実装形態では、ユーザインターフェース生成器107は、部分音声認識結果120aの表現を最終音声認識結果120bの表現で置き換える(または修正する)。たとえば、最終音声認識結果120bは、先読みオーディオコンテキストを利用せずに生成される部分音声認識結果120aよりも正確であると仮定され、最終音声認識結果120bは、部分音声認識結果120aにおいて誤認識された可能性がある言葉を修正するために最終的にトランスクリプション120として表示される。この例では、モデル200によって出力され、時間1においてユーザデバイス10の画面上に表示されるストリーミング部分音声認識結果120aは、それに伴うレイテンシが低く、ユーザ104のクエリが処理されているという応答をユーザ104に提供する。したがって、部分音声認識結果120aは、ユーザ104の発話106が「What song is play right now?」であると誤って予測することがある。レイテンシが増大して、モデル200によって出力され、時間2において画面上に表示される最終音声認識結果120bは、ユーザ104が「playing」と発話したことを明示することによって音声認識品質を精度の点で向上させる。しかしながら、ユーザインターフェース生成器107は、ユーザが発話106を行ったときに部分音声認識結果を表示するので、最終認識結果120bを生成して最終的に表示することに伴うより高いレイテンシは、ユーザ104には気付きにくい。
【0022】
図1Aに示す例では、デジタルアシスタントアプリケーション50aは、自然言語処理を使用してユーザ104によって提示される質問に応答してもよい。自然言語処理は一般に、書かれた言語(たとえば、部分音声認識結果120aおよび/または最終音声認識結果120b)を解釈し、書かれた言語が何らかのアクションを促しているかどうかを判定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50aは、自然言語処理を使用して、ユーザ104からの質問がユーザの環境に関する質問であり、より詳細にはユーザの近くでかかっている曲に関する質問であることを認識する。自然言語処理によってこのような詳細情報を認識することによって、自動化されたアシスタントは、ユーザのクエリに対する応答19を返し、この場合、応答19には「Tweezer is playing right now.(今かかっているのはTweezerです)」と提示される。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信するリモートコンピューティングデバイス60上で行われる。
【0023】
図1Bは、音声環境100bのASRシステム109による音声認識の別の例である。例に示すように、ユーザ104は、ユーザデバイス10の画面上に音声メールアプリケーションインターフェース18、18bを表示する音声メールアプリケーション50、50bと対話し、Jane Doeによってユーザ104に残された音声メールを書き起こす。この例では、レイテンシは重要ではない。ASRモデル109のモデル200は、レイテンシを気にせずに、音声メールに対応する音響フレーム110のすべてが生成されるまで待つことによってオーディオのコンテキスト全体を利用することができる。この音声メールシナリオはまた、音声メールが多くの場合、複数の文、または場合によってはいくつかのパラグラフであることに起因して、モデル200がどのように長文の発話に対処することができるかを示す。長文の音声に対処する能力は、LASデコーダを有する2パスモデルなどの他のASRモデルに対して特に有利である。その理由は、この2パスモデルでは、長文の音声を認識するときに性能が低下する(たとえば、長文の音声では語削除率が高くなる)ことが多いからである。たとえば、デコーダ204としてRNN-Tデコーダをカスケードエンコーダ202(たとえば、第1のエンコーダ210および第2のエンコーダ220)と組み合わせて使用することによって、モデル200は、長文の音声に対して音声認識を実行するときに、2パスASRモデルとは異なり性能低下を招かずに入力オーディオのコンテキスト全体を消費することができる。
【0024】
引き続き
図1Bを参照すると、
図1Aに関して説明したように、モデル200は、音響フレーム110を受信する間、第1のエンコーダ210を使用して音響フレーム110を符号化する。モデル200は、音響フレーム110のすべてを受信し、第1のエンコーダ210を用いて符号化した後、第1のエンコーダ出力を第2のエンコーダ220への入力として提供する。第2のエンコーダ220は、デコーダ204が最終音声認識結果120bを生成する前に第1のエンコーダ出力を符号化する。その後、ユーザインターフェース生成器107は、最初に部分音声認識結果120aを表示することなく、最終音声認識結果120bの表現をデジタルアシスタントインターフェース18bを介して提示する。たとえば、最終音声認識結果120bは、「Give me a call back when you get this. Just trying to figure out plans for the New Year(これを聞いたら折り返し電話ください。新年のプランを考えておいてください)」と提示するJane Doeからの長文の音声メールのトランスクリプトである。
【0025】
図2A~
図2Cは、ストリーミングモードおよび非ストリーミングモードの様々な組合せで動作する例示的なモデル200a~200cを含む。具体的には、モデル200a~200cの各々は、カスケードエンコーダ202とデコーダ204とを含む。カスケードエンコーダ202は、符号化経路が2つのエンコーダ210、220を含むモデル構造を指し、2つのエンコーダ210、220は、一方のエンコーダ210の出力が復号の前に他方のエンコーダ220の入力を供給するようにカスケードされる。ここで、エンコーダ210、220は、各エンコーダ用の基本的なアーキテクチャとは無関係にカスケードすることができる。いくつかの例では、エンコーダ210、220は、512次元コンフォーマ層のスタックを含む。因果畳み込みおよび左コンテキストアテンション層を各コンフォーマ層に使用してモデルが将来の入力を使用しないように厳密に制限してもよい。マルチヘッド(たとえば、8つのヘッド)アテンション機構をセルフアテンション層において使用してもよい。カスケードされたエンコーダ210、220は17個のコンフォーマ層を含んでもよい。ここで、第1のエンコーダ210は、15個のコンフォーマ層を含んでもよく、一方、第2のエンコーダ220は、追加の右コンテキスト(たとえば、5.04秒)を取り込む2つのコンフォーマ層を含んでもよい。場合によっては、トランスフォーマ層などの、セルフアテンション機構を組み込んだ他のタイプの層をコンフォーマ層の代わりに使用してもよい。第1のエンコーダ210は、因果エンコーダと呼ばれることもあり、第2のエンコーダは、非因果エンコーダと呼ばれることもある。
【0026】
他の実装形態では、一方のエンコーダは、LSTM構造で構成され、他方のエンコーダは、双方向LSTM層またはコンフォーマ層(たとえば、コンフォーマ-トランスデューサ)を使用して構成される。言い換えれば、エンコーダ210、220は、それぞれに異なるアーキテクチャを有してもよく、または同様のアーキテクチャを有してもよい。たとえば、カスケードエンコーダ202は、従来のASRシステムにおける音響モデル(AM)に概略的に類似していてもよく、積層された長短期記憶(LSTM)層の再帰型ネットワークを含んでもよい。ここで、第1のエンコーダ210は、一方向長短期記憶(LSTM)層を含むストリーミングエンコーダであり、一方、第2のエンコーダ220は、双方向LSTM層またはコンフォーマ層を含む非ストリーミングエンコーダである。カスケードエンコーダ202では、両方のエンコーダ210、220がLSTM層を含み、第1のエンコーダ210の出力を受信する第2のエンコーダ220は、第1のエンコーダのLSTM層を利用してもよく、それによって、第2のエンコーダ220は、第1のエンコーダ210よりも少ないLSTM層(および完全非ストリーミングモデルよりも少ないLSTM層)を含む。カスケードエンコーダ202は、より少ないLSTM層を有することによって、より計算コストがかかる双方向層の数を減らす場合があり、それによって、モデル200は従来のストリーミングモデルと従来の非ストリーミングモデルを単に組み合わせる場合よりも合理化される。
【0027】
図2Aを参照すると、第1のエンコーダは、d次元特徴ベクトル(たとえば、
図1Aおよび
図1Bに示す音響フレーム110)のシーケンスx = (x
1, x
2, ...,x
T)を読み取り、ここで、
【0028】
【0029】
である。第1のエンコーダは、各時間ステップにおいて第1の高次特徴表現203を生成する。この第1の高次特徴表現はesとして示される。同様に、第2のエンコーダ220は、第1のエンコーダ210にカスケード接続され、第1の高次特徴表現esを入力として受信し、第2の高次特徴表現205を出力するように訓練される。この第2の高次特徴表現は、eaとして示される。第1のエンコーダ210と第2のエンコーダ220はどちらも、デコーダ204に直接接続され、デコーダ204によって共有される。したがって、デコーダ204は、第1の高次特徴表現esと第2の高次特徴表現eaの両方を入力として受信する。
【0030】
デコーダ204は、ジョイント層230および予測ネットワーク240を有する再帰型ニューラルネットワーク-トランスデューサ(RNN-T)アーキテクチャを含んでもよい。デコーダ204は、ジョイント層230を使用して、カスケードエンコーダ202によって出力された第1および第2の高次特徴表現es、ea、ならびに前の予測yr-1についての予測ネットワーク240からの埋め込み出力を組み合わせ(すなわち、モデル200が非ストリーミングモードで動作するとき)、デコーダ出力を生成する。モデル200がストリーミングモードで動作するとき、ジョイント層230は、予測ネットワーク240の出力と、第1のエンコーダ210から出力された第1の高次特徴表現esのみを受信する。デコーダ出力は、N個の前の非ブランク記号前の単位{yi-1,...,yi-N}のシーケンスおよび入力xを仮定すると、現在のサブワード単位yi上の確率分布P(yi|yi-1,...,y0,x)とすることができる。図示されていないが、モデル200は、デコーダ204の出力を受信するソフトマックス層を含んでもよい。いくつかの実装形態では、ソフトマックス層は、デコーダ204から分離され、デコーダ204からの出力yrを処理する。次いで、ソフトマックス層の出力はビームサーチプロセスにおいて使用され、正字法要素を選択する。いくつかの実装形態では、ソフトマックス層はデコーダ204と一体化され、それによって、デコーダ204の出力yrは、ソフトマックス層の出力を表す。
【0031】
デコーダ204は、各出力ステップにおいて、あり得る音声認識仮説にわたる確率分布を生成するように構成される。別の言い方をすれば、ジョイントネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、あり得る音声認識仮説にわたる確率分布を生成する。ここで、「あり得る音声認識仮説」は、指定された自然言語における書記素(たとえば、記号/文字)またはワードピースを各々が表す出力ラベル/記号(「音声単位」とも呼ばれる)のセットに対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個の記号、たとえば英語のアルファベットにおける26個の文字各々に1つのラベルおよびスペースを指定する1つのラベルを含んでもよい。したがって、ジョイントネットワーク230は、出力ラベルの所定のセットの各々の発生尤度を示す値のセットを出力してもよい。この値のセットは、ベクトルとすることができ(たとえば、ワンホットベクトル)、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(たとえば、個々の文字、ならびに場合によっては句読点および他の記号)であるが、出力ラベルのセットはそのように限定されない。たとえば、出力ラベルのセットは、書記素に加えてまたは書記素の代わりに、ワードピースおよび/または単語全体を含むことができる。出力ラベルは、音素または副音素などの、他のタイプの音声単位とすることもできる。ジョイントネットワーク230の出力分布は、それぞれに異なる出力ラベルの各々についての事後確率値を含むことができる。したがって、それぞれに異なる書記素または他の記号を表す100個の異なる出力ラベルがある場合、ジョイントネットワーク230の出力は、各出力ラベルに1つずつ、100個の異なる確率値を含むことができる。次いで、確率分布を使用して(たとえば、ソフトマックス層による)ビーム探索プロセスにおいてスコアを選択して、候補直交要素(たとえば、書記素、ワードピース、および/または単語)に割り当ててトランスクリプション120を判定することができる。いくつかの例では、カスケードエンコーダモデル200の第1のエンコーダ210は、8つの2,048次元LSTM層で構成され、各2,048次元LSTM層の後に640次元射影層が位置する。これらの例では、モデル200の第2のエンコーダ220は、約1,000万個のパラメータを有する2層双方向LSTMで構成されてもよい。
【0032】
デコーダ204内では、予測ネットワーク240は、2つの2,048次元LSTM層を有してもよく、各LSTM層の後に、640次元射影層が位置し、それによって、LSTMベースの予測ネットワークは、約2,340万個のパラメータを有してもよい。他の構成では、その代わりに、予測ネットワーク240は、LSTM層の代わりにコンフォーマ層またはトランスフォーマ層を含んでもよい。さらに他の構成では、予測ネットワーク240は、埋め込み予測ネットワークを含むV2埋め込みルックアップテーブルを含む。各時間ステップにおいて、V2埋め込みルックアップテーブルは、ジョイントネットワーク230によって出力された前の2つの予測(たとえば、1ホットベクトル)を入力として受信し、前の2つの予測の各々についてそれぞれの埋め込みd
1、d
2を算出し、連結出力[d
1,d
2]をジョイント層230に提供する。比較すると、V2埋め込みルックアップテーブルは、約200万個のパラメータしか有し得ず、一方、LSTMベースの予測ネットワークは、約2,340万個のパラメータを含んでもよい。最後に、ジョイントネットワーク230は、640個の隠れユニットを有する1層ニューラルネットワークであってもよい。ソフトマックス層は、複数の訓練データセット132、132a~132n(
図3)におけるすべての一意のワードピースまたは書記素を使用して生成される統合されたワードピースまたは書記素セットで構成されてもよい。いくつかの実装形態では、カスケードエンコーダモデル200が見る将来のコンテキストの量を制限するために、第2のエンコーダ220は、特定の量の右コンテキスト(たとえば、5秒の右コンテキスト)を有するいくつかのコンフォーマ層(たとえば、2つの層)を使用し、一方、第1のエンコーダ210は引き続きLSTM層を使用する。これらの実装形態では、第2のエンコーダ220における各コンフォーマ層は、LSTM層に一致するように640個のユニットを有してもよく、約1,000万個の追加のパラメータを追加する。
【0033】
引き続き
図2Aにおける例によって説明すると、いくつかの実装形態では、モデル200aは、ストリーミングモードと非ストリーミングモードの両方で並行して動作する。モデル200aは、同時にストリーミングモードと非ストリーミングモードの両方で動作するとき、まず、第1のエンコーダ210を使用してオーディオデータ110に対してストリーミング音声認識を実行して、第2のエンコーダ220とデコーダ204の両方のための第1の高次表現e
sを生成する。デコーダ204は次いで、第1の高次表現e
sに基づいて部分音声認識結果120、120aを生成する。モデル200bはまた、符号化されたオーディオデータ110に対して非ストリーミング音声認識を実行し、第2のエンコーダ200は、第1のエンコーダ210から受信された第1の高次表現e
sを使用して第2の高次表現e
aを生成する。デコーダ204は次いで、第2の高次表現e
aに基づいて最終音声認識結果120、120bを生成する。時間によって示されるように、デコーダ204は、第1のエンコーダ210からの出力を使用して部分音声認識結果120aをストリーミング方式で出力し、次いで、第2のエンコーダ220からの出力を使用する非ストリーミングモードで動作して最終音声認識結果120bを生成する前に、発話が完了するまで待つ。したがって、入力された発話106についての最終音声認識結果120bは部分音声認識結果120aに対して遅延させられる場合がある。
【0034】
図2Bを参照すると、いくつかの実装形態では、モデル200bは、ストリーミングモードでのみ動作する。これが生じ得るのは、たとえば、ユーザ104が音声検索またはオンデバイスディクテーションなどのアプリケーションを使用するときであり、このようなアプリケーションでは、必要なレイテンシは可能な限り小さくなる。ここで、モデル200bは、第1のエンコーダ210のみを使用してオーディオデータ110に対してストリーミング音声認識を実行してデコーダ204用の第1の高次表現203 e
sを生成する。デコーダ204は次いで、部分音声認識結果120、120aを作成する。モデル200bのストリーミングモードでは部分音声認識結果120、120aを作成する。モデル200bのストリーミングモードでは部分音声認識結果120、120aが迅速に生成されるので、語「play」の不正確さは一般に、ユーザに受け入れられる。
【0035】
図2Cを参照すると、いくつかの実装形態では、モデル200cは、非ストリーミングモードでのみ動作する。非ストリーミングモードは、たとえば、ユーザ104が電話(
図1B)に残された音声メールのトランスクリプションを見るときなどの非レイテンシ集約型アプリケーションにおいて行われ得る。上記で説明したように、このタイプのアプリケーションでは、将来のコンテキストを使用して、処理時間を延ばす代わりに性能を向上させると有利である。ここで、モデル200cはまず、第1のエンコーダ210を使用して、第2のエンコーダ220への入力についての各時間ステップにおいて第1の高次表現203 e
sを生成するが、デコーダ204は、第1の高次表現e
sのいずれも復号しない。モデル200cは次いで、オーディオデータ110のすべてに対して非ストリーミング音声認識を実行し、第2のエンコーダ220は、第1のエンコーダ210から受信された第1の高次表現e
sを使用して第2の高次表現205 e
aを生成する。デコーダ204は次いで、最終音声認識結果120、120bを生成する。ストリーミング音声認識をリアルタイムに生成してもユーザにとってほとんど価値はなく、レイテンシは重要ではないので、モデル200cは、単に非ストリーミングモードでのみ動作して最終音声認識結果120、120bを生成してもよい。
【0036】
図3は、モデル200をストリーミングモードおよび/または非ストリーミングモードの両方について動作可能であるように訓練するための訓練プロセス300の例を示す。いくつかの構成では、訓練プロセス300は、
図1Aおよび
図1Bのリモートコンピューティングデバイス60上で実行される。訓練プロセス300は、サンプルデータベース130に記憶された複数の訓練発話132、132a~132nを取得し、訓練発話132についてモデル200を訓練する。サンプルデータベース130は、リモートコンピューティングデバイス60のメモリハードウェア上に存在してもよい。
図2Aに関して上記で説明したように、第1のエンコーダ210と第2のエンコーダ220とは、同じデコーダ204を共有し、単一の段階で訓練することができ、訓練プロセス300を簡略化する。このことは、入力された音響特徴(たとえば、入力された音響フレーム110)ではなく、直接ストリーミングエンコーダ210の出力(たとえば、第1の高次表現e
s)について非ストリーミングエンコーダ220を訓練してもよいことを意味する。
【0037】
図3に示すように、(
図2Bに示す)モデル200bのストリーミングモード用の1つの経路と(
図2Cに示す)モデル200cの非ストリーミングモード用の1つの経路の、モデル200用の2つの処理経路がある。訓練プロセス300内に2つの入力処理経路があるので、モデルの損失は、2つの損失関数を含む。具体的には、モデル200bのストリーミングモードについての損失は一般に、訓練発話132が入力されたと仮定したときのあり得る音声認識仮説にわたる確率分布に対応する確率の負の対数の総和として定義される。すなわち、第1のエンコーダ210のデコーダ204との接続からのモデル損失は、
【0038】
【0039】
として定義される。非ストリーミングモードについてのモデル損失はまた、一般に、訓練発話132が入力されたと仮定したときのあり得る音声認識仮説にわたる確率分布に対応する確率の負の対数の総和として定義される。したがって、第2のエンコーダ220のデコーダ204との接続からのモデル損失は、
【0040】
【0041】
として定義される。これらの表現に基づいて、2つの入力経路の間の総損失が各入力経路損失の加重和L = λLs + (1 - λ)Laとして算出され、この場合、λは重み付け項である。訓練プロセス300において、カスケードエンコーダ210、220を一緒に訓練することは、両方の入力処理経路間の損失の加重和を最小限に抑えることを含む。
【0042】
訓練プロセス300中の各時間ステップにおいて、各訓練発話132について、ストリーミングまたは非ストリーミングのいずれかで訓練を行うことができる。言い換えれば、入力処理経路は、モデル200bの訓練またはモデル200cの訓練のいずれかとして確率的に選択される。訓練発話132をサンプリングすることによって、訓練プロセスは、各訓練ステップにおいて訓練発話132ごとに一度損失を算出するだけでよく、訓練プロセス300が大幅に迅速化する。いくつかの実装形態では、より長い訓練時間が許容され、代替訓練プロセスを使用して各訓練発話を有する各入力処理経路を訓練して、各訓練ステップにおいて各訓練発話132ごとにモデル200bおよびモデル200cの両方の損失を算出する。
【0043】
図示の例では、訓練発話132b、132cが、カスケードエンコーダモデル200bによって表現される第1の処理経路を訓練する訓練発話として選択される。カスケードエンコーダモデル200bは、訓練発話132b、132cを受信し、第1のエンコーダ210は、訓練発話132b、132cを出力としての第1の高次特徴表現(たとえば、オーディオ埋め込み)に変換する。デコーダ204は次いで、訓練発話132b、132cの第1の高次特徴表現を入力として受信し、精度について試験される出力を生成する。同様に、訓練発話132a、132dが、カスケードエンコーダモデル200cによって表現される第2の処理経路を訓練する訓練発話として選択される。カスケードエンコーダモデル200cは、訓練発話132a、132dを受信し、第1のエンコーダは、訓練発話132a、132dを出力としての第1の高次特徴表現(たとえば、オーディオ埋め込み)に変換する。第2のエンコーダ220は、訓練発話132a、132dの第1の高次特徴表現を入力として受信し、訓練発話132a、132dの第2の高次特徴表現を出力として生成する。デコーダ204は次いで、訓練発話132a、132dの第2の高次特徴表現を入力として受信し、精度について試験される出力を生成する。これによって、モデル200は推論中にストリーミングモードまたは非ストリーミングモードのいずれかで動作することを確実に学習する。
【0044】
図4は、カスケードエンコーダモデル200を使用してストリーミングおよび非ストリーミング音声認識を実行する方法400についての動作の例示的な構成のフローチャートを含む。方法400は、動作402において、音響フレーム110のシーケンスをカスケードエンコーダモデル200への入力として受信することを含む。方法400は、動作404において、カスケードエンコーダモデルを使用して、音響フレーム110のシーケンスに対してストリーミング音声認識および非ストリーミング音声認識を実行することをさらに含む。
【0045】
方法400は、動作406において、第1のエンコーダ210によって、複数の出力ステップの各々において、音響フレーム110のシーケンス内の対応する音響フレーム110についての第1の高次特徴表現を生成することを含む。方法400は、動作408において、複数の出力ステップの各々において第1のエンコーダ210によって生成された第1の高次特徴表現を第2のエンコーダ220への入力として受信することをさらに含む。方法400はまた、動作410において、第2のエンコーダ220によって、複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現を生成することを含む。方法400はまた、動作412において、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現をデコーダ204への入力として受信することを含む。方法400は、動作414において、複数の時間ステップの各々においてあり得る音声認識仮説にわたる第1の確率分布を生成することをさらに含む。
【0046】
図5は、本明細書において説明するシステム(たとえば、オーディオサブシステム108、ASRシステム109、ユーザインターフェース生成器107、および/またはモデル200)ならびに方法(たとえば、方法400)を実装するために使用されてもよい例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないことが意図されており、本明細書において説明および/または請求する本発明の実装形態を制限することは意図されていない。
【0047】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)と、メモリ520(たとえば、メモリハードウェア)と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に取り付けられてもよくまたは必要に応じて他の方法で取り付けられてもよい。プロセッサ510は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上に表示するためにメモリ520内または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内で実行される命令を処理することができる。他の実装形態では、必要に応じて、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス500を、各デバイスが必要な動作の一部を行うように接続してもよい(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム)。
【0048】
メモリ520は、情報を非一時的にコンピューティングデバイス500内に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイス500によって使用できるように一時的または持続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能プログラム可能な読み取り専用メモリ(EPROM)/電子的に消去可能プログラム可能な読み取り専用メモリ(EEPROM)(たとえば、ブートプログラムなどのファームウェアに一般に使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタチックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープが含まれる。
【0049】
記憶デバイス530は、コンピューティングデバイス500用の大容量記憶装置を提供することができる。いくつかの実装形態では、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様の固体状態メモリデバイス、または記憶領域ネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は情報キャリアにおいて実際に具現化される。コンピュータプログラム製品は、実行されたときに、上記で説明したような1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどのコンピュータまたは機械可読媒体である。
【0050】
高速コントローラ540は、コンピューティングデバイス500用の帯域幅集約動作を管理し、一方、低速コントローラ560はより低い帯域幅集約動作を管理する。デューティのそのような割り振りは例示的なものにすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580(たとえば、グラフィックスプロセッサまたは加速器を介して)、および高速拡張ポート550に結合される。高速拡張ポート550は様々な拡張カード(図示せず)を受け入れてもよい。いくつかの実装形態では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含んでもよく、たとえば、ネットワークアダプタを介してキーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合されてもよい。
【0051】
コンピューティングデバイス500は、図示するようにいくつかの異なる方法で実装されてもよい。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、またはそのようなサーバ500aのグループ内で複数回実装されても、ラップトップコンピュータ500bとして実装されても、ラックサーバシステム500cの一部として実装されてもよい。
【0052】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電気および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラム内の実装を含むことができる。プログラム可能なプロセッサは、専用のものであっても、汎用的なものであってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令の受信および送信を行うように結合されてもよい。
【0053】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム維持アプリケーション、文書処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサ用の機械命令を含み、高レベル手続き言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装することができる。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラム可能プロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能プロセッサに提供するために使用される任意の信号を指す。
【0055】
本明細書に記載されたプロセスおよび論理フローは、データ処理ハードウェアとも呼ばれ、1つまたは複数のコンピュータプログラムを実行して入力データに作用して出力を生成することによって機能を実行する、1つまたは複数のプログラム可能プロセッサによって実行することができる。プロセスおよび論理フローは、特殊目的論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサには、一例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するために1つもしくは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいは1つもしくは複数の大容量記憶デバイスからデータを受信するかまたは大容量記憶デバイスにデータを転送するか、またはその両方を行うように動作可能に結合される。しかし、コンピュータはそのようなデバイスを有さなくてもよい。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスが含まれ、一例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたは取り外し可能ディスク、光磁気ディスク、ならびにCD ROMおよびDVD ROMディスクが挙げられる。プロセッサおよびメモリは、専用論理回路によって補助するか、または専用論理回路に組み込むことができる。
【0056】
ユーザとの対話を可能にするように、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、たとえば、CRT(陰極管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、場合によっては、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を可能にすることもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することができる。また、コンピュータは、ユーザによって使用されているデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによってユーザと対話することができる、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【0057】
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱せずに様々な修正を施してもよいことが理解されよう。したがって、他の実装形態が以下の特許請求の範囲の範囲内にある。
【符号の説明】
【0058】
1、2 時間
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオシステム
16a 音声取り込みデバイス
16b 音声出力デバイス
18、18b 音声メールアプリケーションインターフェース
50、50b 音声メールアプリケーション、デジタルアシスタントアプリケーション
50a デジタルアシスタントアプリケーション
60 リモートコンピューティングデバイス
100、100a、100b 音声環境
104 ユーザ
106 発話
107 ユーザインターフェース生成器
108 オーディオサブシステム
109 自動音声認識(ASR)システム
110 音響フレーム、オーディオデータ
120 トランスクリプション
120a 部分音声認識結果
120b 最終音声認識結果
130 サンプルデータベース
132、132a~132n 訓練発話
200 ASRモデル、モデル
200a、200b、200c モデル
202 カスケードエンコーダ、カスケードエンコーダモデル
203 第1の高次特徴表現
204 デコーダ、共有デコーダ
205 第2の高次特徴表現
210 第1のエンコーダ、ストリーミングエンコーダ、カスケードエンコーダ
220 第2のエンコーダ、非ストリーミングエンコーダ、カスケードエンコーダ
230 ジョイント層、ジョイントネットワーク
240 予測ネットワーク
300 訓練プロセス
500 コンピューティングデバイス
500a サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ
520 メモリ
530 記憶デバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
【手続補正書】
【提出日】2023-05-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自動音声認識(ASR)モデル(200)であって、
第1のエンコーダ(210)であって、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンスにおいて対応する音響フレーム(110)についての第1の高次特徴表現(203)を生成する
ように構成された第1のエンコーダ(210)と、
第2のエンコーダ(220)であって、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現(205)を生成する
ように構成された第2のエンコーダ(220)と、
デコーダ(204)であって、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)を入力として受信し、
前記複数の
出力ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成する
ように構成されたデコーダ(204)とを備える、ASRモデル(200)。
【請求項2】
前記第2のエンコーダ(220)は、いずれの前記音響フレーム(110)も入力として受信せずに前記第2の高次特徴表現(205)を生成する、請求項1に記載のASRモデル(200)。
【請求項3】
前記デコーダ(204)は、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を入力として受信し、
前記複数の
出力ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成する
ようにさらに構成される、請求項1または2に記載のASRモデル(200)。
【請求項4】
前記デコーダ(204)は、あり得る音声認識仮説にわたる前記第2の確率分布に基づいて部分音声認識結果(120)を生成するようにさらに構成される、請求項3に記載のASRモデル(200)。
【請求項5】
前記デコーダ(204)は、
予測ネットワーク(240)であって、
最終ソフトマックス層によって出力された非ブランク記号のシーケンスを入力として受信し、
前記複数の出力ステップの各々において、密な表現を生成する
ように構成された予測ネットワーク(240)と、
ジョイントネットワーク(230)であって、
前記複数の出力ステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および
前記ASRモデル(200)がストリーミングモードで動作しているときに、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)、または
前記ASRモデル(200)が非ストリーミングモードで動作しているときに、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)
のうちの一方を入力として受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)が前記ストリーミングモードで動作しているときに、あり得る音声認識仮説にわたる前記第2の確率分布、または
前記ASRモデル(200)が前記非ストリーミングモードで動作しているときに、あり得る音声認識仮説にわたる前記第1の確率分布
のうちの一方を生成する
ように構成されたジョイントネットワーク(230)とを備える、請求項3または4に記載のASRモデル(200)。
【請求項6】
前記予測ネットワーク(240)は、長短期記憶(LSTM)ベースの予測ネットワーク(240)を備える、請求項5に記載のASRモデル(200)。
【請求項7】
前記予測ネットワーク(240)は、V2埋め込みルックアップテーブルを備える、請求項5に記載のASRモデル(200)。
【請求項8】
前記第1のエンコーダ(210)は、
複数の一方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える因果エンコーダを備える、請求項1から7のいずれか一項に記載のASRモデル(200)。
【請求項9】
前記第2のエンコーダ(220)は、
1つまたは複数の双方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える非因果エンコーダを備える、請求項1から8のいずれか一項に記載のASRモデル(200)。
【請求項10】
訓練発話(132)のセットを受信することと、
前記訓練発話(132)のセットを使用して前記第1のエンコーダ(210)および第2のエンコーダ(220)を一緒に訓練することとをさらに含み、前記一緒に訓練することは、
前記第1のエンコーダ(210)についての第1の損失を生成し、
前記第2のエンコーダ(220)についての第2の損失を生成し、
前記第1の損失および前記第2の損失の加重和を最小限に抑えること
によって行われる、請求項1から9のいずれか一項に記載のASRモデル(200)。
【請求項11】
データ処理ハードウェア(12)上で実行されたときに、前記データ処理ハードウェア(12)に動作を実行させるコンピュータ実施方法(400)であって、前記動作は、
音響フレーム(110)のシーケンスを自動音声認識(ASR)モデル(200)への入力として受信することと、
前記ASRモデル(200)を使用して、前記音響フレーム(110)のシーケンスに対してストリーミング音声認識および非ストリーミング音声認識を実行することとを含み、前記実行することは、
第1のエンコーダ(210)によって、複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)についての第1の高次特徴表現(203)を生成し、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を第2のエンコーダ(220)への入力として受信し、
前記第2のエンコーダ(220)によって、前記複数の出力ステップの各々において、対応する第1の高次特徴フレームについての第2の高次特徴表現(205)を生成し、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)をデコーダ(204)への入力として受信し、
前記複数の
出力ステップの各々において、あり得る音声認識仮説にわたる第1の確率分布を生成することによって行われる、コンピュータ実施方法(400)。
【請求項12】
前記第2のエンコーダ(220)は、いずれの音響フレーム(110)も入力として受信せずに前記第2の高次特徴表現(205)を生成する、請求項11に記載の方法(400)。
【請求項13】
前記動作は、前記ASRモデルがストリーミングモードで動作しているときに、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)を前記デコーダ(204)への入力として受信することと、
前記デコーダ(204)によって、前記複数の
出力ステップの各々において、あり得る音声認識仮説にわたる第2の確率分布を生成することと
をさらに含む、請求項11または12に記載の方法(400)。
【請求項14】
前記動作は、あり得る音声認識仮説にわたる前記第2の確率分布に基づいて部分音声認識結果(120)を生成することをさらに含む、請求項13に記載の方法(400)。
【請求項15】
前記動作は、前記ASRモデル(200)が前記ストリーミングモードで動作しているときに、
最終ソフトマックス層によって出力された非ブランク記号のシーケンスを予測ネットワーク(240)への入力として受信することと、
前記予測ネットワーク(240)によって、前記複数の出力ステップの各々において、密な表現を生成することと、
前記複数の
出力ステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現(203)をジョイントネットワーク(230)への入力として受信することと、
前記ジョイントネットワーク(230)によって、前記複数の出力ステップの各々において、あり得る音声認識仮説にわたる前記第2の確率分布を生成することと
をさらに含む、請求項13または14に記載の方法(400)。
【請求項16】
前記動作は、前記ASRモデル(200)が非ストリーミングモードで動作しているときに、
前記最終ソフトマックス層によって出力された非ブランク記号のシーケンスを前記予測ネットワーク(240)への入力として受信することと、
前記予測ネットワーク(240)によって、前記複数の出力ステップの各々において、密な表現を生成することと、
前記複数の出力ステップの各々において前記予測ネットワーク(240)によって生成された前記密な表現、および前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現(205)を前記ジョイントネットワーク(230)への入力として受信することと、
前記ジョイントネットワーク(230)によって、前記複数の出力ステップの各々において、あり得る音声認識仮説にわたる前記第1の確率分布を生成することと
をさらに含む、請求項15に記載の方法(400)。
【請求項17】
前記デコーダ(204)は、長短期記憶(LSTM)ベースの予測ネットワーク(240)を備える、請求項11から16のいずれか一項に記載の方法(400)。
【請求項18】
前記デコーダ(204)は、V2埋め込みルックアップテーブルベースの予測ネットワーク(240)を備える、請求項11から16のいずれか一項に記載の方法(400)。
【請求項19】
前記第1のエンコーダ(210)は、
複数の一方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
のうちの1つを備える因果エンコーダを備える、請求項11から18のいずれか一項に記載の方法(400)。
【請求項20】
前記第2のエンコーダ(220)は、
1つまたは複数の双方向長短期記憶(LSTM)層、
複数のコンフォーマ層、または
複数のトランスフォーマ層
を備える非因果エンコーダを備える、請求項11から19のいずれか一項に記載の方法(400)。
【請求項21】
前記動作は、
訓練発話(132)のセットを受信することと、
前記訓練発話(132)のセットを使用して前記第1のエンコーダ(210)および第2のエンコーダ(220)を一緒に訓練することとをさらに含み、前記一緒に訓練することは、
前記第1のエンコーダ(210)についての第1の損失を生成し、
前記第2のエンコーダ(220)についての第2の損失を生成し、
前記第1の損失および前記第2の損失の加重和を最小限に抑えること
によって行われる、請求項11から20のいずれか一項に記載の方法(400)。
【国際調査報告】