(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-06
(45)【発行日】2025-06-16
(54)【発明の名称】柔軟なストリーミングおよび非ストリーミング自動音声認識のための混合モデルアテンション
(51)【国際特許分類】
G10L 15/06 20130101AFI20250609BHJP
G10L 15/16 20060101ALI20250609BHJP
【FI】
G10L15/06 400Z
G10L15/16
(21)【出願番号】P 2023558842
(86)(22)【出願日】2021-12-15
(86)【国際出願番号】 US2021063432
(87)【国際公開番号】W WO2022203733
(87)【国際公開日】2022-09-29
【審査請求日】2023-11-24
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】カルティク・アウドカシ
(72)【発明者】
【氏名】ブヴァナ・ラマバドラン
(72)【発明者】
【氏名】トンジョウ・チェン
(72)【発明者】
【氏名】ペドロ・ジェイ・モレノ・メンヒバル
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2020-112787(JP,A)
【文献】特表2021-507312(JP,A)
【文献】特表2019-537809(JP,A)
【文献】米国特許出願公開第2020/0027444(US,A1)
【文献】陳家浩他,CTCとAttentionを用いたEnd-to-endストリーミング音声認識,日本音響学会2019年秋季研究発表会講演論文集[CD-ROM],2019年09月,pp.871-874
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34,25/30
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェアに実装され、ストリーミング音声認識と非ストリーミング音声認識を統合するための自動音声認識(ASR)モデル(200)であって、前記ASRモデル(200)が、
オーディオエンコーダ(300)であって、
音響フレーム(110)のシーケンスを入力として受信し、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンスにおいて対応する音響フレーム(110)についての高次特徴表現を生成する
ことを前記データ処理ハードウェアに実行させるように構成されたオーディオエンコーダ(300)と、
ジョイントネットワーク(230)であって、
前記複数の時間ステップの各々において前記オーディオエンコーダ(300)によって生成された前記高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成する
ことを前記データ処理ハードウェアに実行させるように構成されたジョイントネットワーク(230)とを備え、
前記オーディオエンコーダ(300)は、混合モデル(MiMo)アテンションを適用して、コンテキストウィンドウにわたってソフトマックスの混合コンポーネントのセットを使用してアテンション確率分布関数(PDF)を計算するニューラルネットワークを備えるASRモデル(200)。
【請求項2】
前記MiMoアテンションの前記混合コンポーネントのセットは、推論中にすべての可能なコンテキストユースケースをカバーするように設計される、請求項1に記載のASRモデル(200)。
【請求項3】
前記混合コンポーネントのセットの各混合コンポーネントは、完全に正規化されたソフトマックスを含む、請求項1または2に記載のASRモデル(200)。
【請求項4】
前記ASRモデル(200)は、前記MiMoアテンションの混合重みを調整することによってストリーミングモードと非ストリーミングモードを切り替える、請求項1から3のいずれか一項に記載のASRモデル(200)。
【請求項5】
前記オーディオエンコーダ(300)の前記ニューラルネットワークは、複数のコンフォーマー層を備える、請求項1から4のいずれか一項に記載のASRモデル(200)。
【請求項6】
前記オーディオエンコーダ(300)の前記ニューラルネットワークは、複数のトランスフォーマー層を備える、請求項1から5のいずれか一項に記載のASRモデル(200)。
【請求項7】
ラベルエンコーダ(220)であって、
最終ソフトマックス層(240)によって出力された非ブランクシンボルのシーケンスを入力として受信し、
前記複数の時間ステップの各々において、高密度表現を生成する
ことを前記データ処理ハードウェアに実行させるように構成されたラベルエンコーダ(220)をさらに備え、
前記ジョイントネットワーク(230)は、前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記高密度表現を入力として受信する
ことを前記データ処理ハードウェアに実行させるようにさらに構成される、請求項1から6のいずれか一項に記載のASRモデル(200)。
【請求項8】
前記ラベルエンコーダ(220)は、トランスフォーマー層、コンフォーマー層、または長短期メモリ(LSTM)層のニューラルネットワークを備える、請求項7に記載のASRモデル(200)。
【請求項9】
前記ラベルエンコーダ(220)は、前記複数の時間ステップの各々において前記高密度表現を探すように構成されたルックアップテーブル埋め込みモデルを備える、請求項7または8に記載のASRモデル(200)。
【請求項10】
前記複数の時間ステップの各々において生成される前記可能な音声認識仮説は、各出力ラベルが自然言語における書記素またはワードピースを表す出力ラベルのセットに対応する、請求項1から9のいずれか一項に記載のASRモデル(200)。
【請求項11】
コンピュータ実装方法(500)であって、データ処理ハードウェア(12)上で実行されたときに、前記データ処理ハードウェア(12)に、動作を実行させ、前記動作が、
音響フレーム(110)のシーケンスを受信する動作と、
複数の時間ステップの各々において、
自動音声認識(ASR)モデル(200)のオーディオエンコーダ(300)を使用して、前記音響フレーム(110)のシーケンスにおける対応する音響フレーム(110)についての高次特徴表現を生成する動作と、
前記ASRモデル(200)のジョイントネットワーク(230)を使用して、対応する時間ステップにおいて前記オーディオエンコーダ(300)によって生成された前記高次特徴表現に基づいて前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成する動作とを含み、
前記オーディオエンコーダ(300)は、混合モデル(MiMo)アテンションを適用して、コンテキストウィンドウにわたってソフトマックスの混合コンポーネントのセットを使用してアテンション確率分布関数(PDF)を計算するニューラルネットワークを備える、コンピュータ実装方法(500)。
【請求項12】
前記MiMoアテンションの前記混合コンポーネントのセットは、推論中にすべての可能なコンテキストユースケースをカバーするように設計される、請求項11に記載のコンピュータ実装方法(500)。
【請求項13】
前記混合コンポーネントのセットの各混合コンポーネントは、完全に正規化されたソフトマックスを含む、請求項11または12に記載のコンピュータ実装方法(500)。
【請求項14】
前記ASRモデル(200)は、前記MiMoアテンションの混合重みを調整することによってストリーミングモードと非ストリーミングモードを切り替える、請求項11から13のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項15】
前記オーディオエンコーダ(300)の前記ニューラルネットワークは、複数のコンフォーマー層を備える、請求項11から14のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項16】
前記オーディオエンコーダ(300)の前記ニューラルネットワークは、複数のトランスフォーマー層を備える、請求項11から15のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項17】
前記動作は、
前記複数の時間ステップの各々において、前記ASRモデル(200)の最終ソフトマックス層(240)によって出力された非ブランクシンボルのシーケンスを受信するように構成された前記ASRモデル(200)のラベルエンコーダ(220)を使用して、高密度表現を生成する動作をさらに含み、
前記対応する時間ステップにおいて可能な音声認識仮説にわたる前記確率分布を生成する動作は、前記対応する時間ステップにおいて前記最終ソフトマックス層(240)によって出力される前記非ブラン
クシンボルのシーケンスにさらに基づく、請求項11から16のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項18】
前記ラベルエンコーダ(220)は、トランスフォーマー層、コンフォーマー層、または長短期メモリ(LSTM)層のニューラルネットワークを備える、請求項17に記載のコンピュータ実装方法(500)。
【請求項19】
前記ラベルエンコーダ(220)は、前記複数の時間ステップの各々において前記高密度表現を探すように構成されたルックアップテーブル埋め込みモデルを備える、請求項17または18に記載のコンピュータ実装方法(500)。
【請求項20】
前記複数の時間ステップの各々において生成される前記可能な音声認識仮説は、各出力ラベルが自然言語における書記素またはワードピースを表す出力ラベルのセットに対応する、請求項11から19のいずれか一項に記載のコンピュータ実装方法(500)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、柔軟なストリーミングおよび非ストリーミング自動音声認識のための混合モデルアテンションに関する。
【背景技術】
【0002】
自動音声認識(automatic speech recognition: ASR)システムは、各モデルが専用の目的を有する複数のモデルから、単一のニューラルネットワークを使用してオーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マップする統合モデルへと進化している。この統合によってシーケンスツーシーケンス手法が得られており、この手法では、オーディオ特徴のシーケンスが与えられたときに単語(または書記素)のシーケンスを生成する。統合された構造を用いて、モデルのすべてのコンポーネントを一緒に単一のエンドツーエンド(end-to-end: E2E)ニューラルネットワークとして訓練し得る。ここで、E2Eモデルは、アーキテクチャが全体的にニューラルネットワークで構成されたモデルを指す。完全なニューラルネットワークは、外部コンポーネントおよび/または手動で設計されたコンポーネント(たとえば、有限状態トランスデューサ、レキシコン、またはテキスト正規化モジュール)なしで機能する。さらに、E2Eモデルを訓練する際、これらのモデルは一般に、決定木からのブートストラッピングまたは別個のシステムからの時間整合を必要としない。これらのE2E自動音声認識(ASR)システムは大幅な進歩を遂げており、ワードエラー率(word error rate: WER)を含むいくつかの一般的なベンチマークにおいて従来のASRシステムを上回っている。E2E ASRモデルのアーキテクチャは主としてアプリケーションに依存する。たとえば、音声検索またはオンデバイスディクテーションなどのユーザ対話を伴ういくつかのアプリケーションでは、モデルがストリーミング式に認識を実行することが必要である。オフラインビデオキャプションのような他のアプリケーションは、モデルがストリーミングを行うことを必要とせず、将来のコンテキストを利用して性能を向上させることができる。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】"Conformer: Convolution-augmented Transformer for Speech Recognition," arxiv.org/pdf/2005.08100
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の一態様は、ストリーミング音声認識と非ストリーミング音声認識を統合するための自動音声認識(ASR)モデルを提供する。ASRモデルは、音響フレームのシーケンスを入力として受信するように構成されたオーディオエンコーダを含む。オーディオエンコーダは、複数の時間ステップの各々において、音響フレームのシーケンスにおいて対応する音響フレームについての高次特徴表現を生成するようにさらに構成される。ASRモデルは、複数の時間ステップの各々においてオーディオエンコーダによって生成された高次特徴表現を入力として受信するように構成されたジョイントネットワークをさらに含む。ジョイントネットワークは、複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成するようにさらに構成される。オーディオエンコーダは、混合モデル(mixture model: MiMo)アテンションを適用して、コンテキストウィンドウにわたってソフトマックスの混合コンポーネントのセットを使用してアテンション確率分布関数(probability distribution function: PDF)を計算するニューラルネットワークを含む。
【0006】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、MiMoアテンションの混合コンポーネントのセットは、推論中にすべての可能なコンテキストユースケースをカバーするように設計される。他の実装形態では、混合コンポーネントのセットの各混合コンポーネントは、完全に正規化されたソフトマックスを含む。
【0007】
さらに、ASRモデルは、MiMoアテンションの混合重みを調整することによってストリーミングモードと非ストリーミングモードを切り替えてもよい。いくつかの実装形態では、オーディオエンコーダのニューラルネットワークは、複数のコンフォーマー層を含む。他の実装形態では、オーディオエンコーダのニューラルネットワークは、複数のトランスフォーマー層を含む。
【0008】
いくつかの実装形態では、ASRモデルは、最終ソフトマックス層によって出力された非ブランクシンボルのシーケンスを入力として受信し、複数の時間ステップの各々において、高密度表現を生成するように構成されたラベルエンコーダを含む。これらの実装形態では、ジョイントネットワークは、複数の時間ステップの各々においてラベルエンコーダによって生成された高密度表現を入力として受信するようにさらに構成される。これらの実装形態では、ラベルエンコーダは、トランスフォーマー層、コンフォーマー層、または長短期メモリ(long short-term memory: LSTM)層のニューラルネットワークを含んでもよい。
【0009】
さらに、ラベルエンコーダは、複数の時間ステップの各々において高密度表現を探すように構成されたルックアップテーブル埋め込みモデルを含んでもよい。いくつかの例では、複数の時間ステップの各々において生成される可能な音声認識仮説は、各出力ラベルが自然言語における書記素またはワードピースを表す出力ラベルのセットに対応する。
【0010】
本開示の別の態様は、ストリーミング音声認識と非ストリーミング音声認識を統合するための自動音声認識(ASR)モデル用のコンピュータ実装方法を提供する。コンピュータ実装方法は、データ処理ハードウェア上で実行されたときに、データ処理ハードウェアに、音響フレームのシーケンスを受信する動作を含む動作を実行させる。複数の時間ステップの各々において実行されるさらなる動作は、ASRモデルのオーディオエンコーダを使用して、音響フレームのシーケンスにおける対応する音響フレームについての高次特徴表現を生成する動作を含む。動作は、ASRモデルのジョイントネットワークを使用して、対応する時間ステップにおいてオーディオエンコーダによって生成された高次特徴表現に基づいて対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成する動作をさらに含む。オーディオエンコーダは、混合モデル(MiMo)アテンションを適用して、コンテキストウィンドウにわたってソフトマックスの混合コンポーネントのセットを使用してアテンション確率分布関数(PDF)を計算するニューラルネットワークを含む。
【0011】
この態様は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、MiMoアテンションの混合コンポーネントのセットは、推論中にすべての可能なコンテキストユースケースをカバーするように設計される。他の実装形態では、混合コンポーネントのセットの各混合コンポーネントは、完全に正規化されたソフトマックスを含む。
【0012】
さらに、ASRモデルは、MiMoアテンションの混合重みを調整することによってストリーミングモードと非ストリーミングモードを切り替えてもよい。いくつかの実装形態では、オーディオエンコーダのニューラルネットワークは、複数のコンフォーマー層を含む。他の実装形態では、オーディオエンコーダのニューラルネットワークは、複数のトランスフォーマー層を含む。
【0013】
いくつかの実装形態では、動作は、複数の時間ステップの各々において、ASRモデルの最終ソフトマックス層によって出力された非ブランクシンボルのシーケンスを受信するように構成されたASRモデルのラベルエンコーダを使用して、高密度表現を生成する動作をさらに含む。これらの実装形態では、対応する時間ステップにおいて可能な音声認識仮説にわたる確率分布を生成する動作は、対応する時間ステップにおいて最終ソフトマックス層によって出力される非ブランク出力シンボルのシーケンスにさらに基づく。これらの実装形態では、ラベルエンコーダは、トランスフォーマー層、コンフォーマー層、または長短期メモリ(LSTM)層のニューラルネットワークを含んでもよい。
【0014】
さらに、ラベルエンコーダは、複数の時間ステップの各々において高密度表現を探すように構成されたルックアップテーブル埋め込みモデルを含んでもよい。いくつかの例では、複数の時間ステップの各々において生成される可能な音声認識仮説は、各出力ラベルが自然言語における書記素またはワードピースを表す出力ラベルのセットに対応する。
【0015】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0016】
【
図1A】混合モデルアテンションを使用してストリーミング音声認識モードと非ストリーミング音声認識モードを切り替えるように訓練された音声認識モデルを使用する例示的な発話環境の概略図である。
【
図1B】混合モデルアテンションを使用してストリーミング音声認識モードと非ストリーミング音声認識モードを切り替えるように訓練された音声認識モデルを使用する例示的な発話環境の概略図である。
【
図2】トランスデューサモデルアーキテクチャを有する例示的な音声認識モデルの概略図である。
【
図4】ベースラインおよび混合モデルストリーミング/非ストリーミングコンフォーマーのワードエラー率を示す例示的なテーブルである。
【
図5】ストリーミング音声認識と非ストリーミング音声認識を統合する方法についての動作の例示的な構成のフローチャートである。
【
図6】本明細書で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面における同じ参照記号は同じ要素を示す。
【0018】
自動音声認識(ASR)システムは、品質/精度(たとえば、低ワードエラー率(WER))だけでなく、低レイテンシ(たとえば、ユーザが発話してから文字が起こされるまでの遅延が短い)も実現することを重視している。近年、精度およびレイテンシにおいて最新の性能を実現するうえでエンドツーエンド(E2E)ASRモデルの注目度が高くなっている。別々の音響、発音、および言語モデルを含む従来のハイブリッドASRシステムとは異なり、E2Eモデルは、シーケンスツーシーケンス手法を適用して、訓練データ、たとえば発話-トランスクリプション対からエンドツーエンドで訓練される単一のニューラルネットワークにおける音響および言語モデリングを一緒に学習する。ここで、E2Eモデルは、アーキテクチャが全体的にニューラルネットワークで構成されたモデルを指す。完全なニューラルネットワークは、外部コンポーネントおよび/または手動で設計されたコンポーネント(たとえば、有限状態トランスデューサ、レキシコン、またはテキスト正規化モジュール)なしで機能する。さらに、E2Eモデルを訓練する際、これらのモデルは一般に、決定木からのブートストラッピングまたは別個のシステムからの時間整合を必要としない。
【0019】
現在ASRシステムを使用する際に、ASRシステムが、ユーザが発話したときに発話の記述を実時間、または場合によっては実時間よりも速く表示することに相当するストリーミング式に発話を復号することが必要とされる場合がある。一例として、直接的なユーザ対話が行われるユーザコンピューティングデバイス、たとえば、携帯電話上にASRシステムが表示されるとき、ユーザデバイス上で実行されASRシステムを使用するアプリケーション(たとえば、デジタルアシスタントアプリケーション)では、単語、ワードピース、および/または個々の文字が発話された直後に画面上に出現するように音声認識をストリーミング式に行うことが必要になる場合がある。加えて、ユーザデバイスのユーザの、レイテンシに対する許容度が低い可能性もある。たとえば、ユーザが、近日中に予定されている約束についての詳細をカレンダーアプリケーションから取り出すことをデジタルアシスタントに要求するクエリを発話するとき、ユーザは、デジタルアシスタントが、取り出された詳細を伝達する応答をできるだけ速く提供することを望む。このように許容度が低いことに起因して、ASRシステムが、ユーザのエクスペリエンスに悪影響を与えることがあるレイテンシおよび不正確さによる影響を最小限に抑えるようにユーザデバイス上で実行されるように取り組みがなされている。しかし、出力テキストを生成する前にオーディオの入力シーケンス全体を見直すことによって機能するリッスンアテンドスペル(listen-attend-spell: LAS)モデルなどのアテンションベースのシーケンスツーシーケンスモデルは、入力が受信されたときに出力をストリーミングすることを許容しない。この欠陥に起因して、レイテンシの影響を受けやすくかつ/または実時間音声トランスクリプションを必要とする音声アプリケーション用のアテンションベースのシーケンスツーシーケンスモデルを導入すると、問題が生じることがある。このため、LASモデルだけでは、レイテンシの影響を受けやすいアプリケーションおよび/またはユーザが発話したときに実時間でストリーミングトランスクリプション機能を提供するアプリケーションの理想的なモデルにならない。
【0020】
回帰型ニューラルネットワークトランスデューサ(recurrent neural network transducer: RNN-T)として知られる別の形態のシーケンスツーシーケンスモデルは、アテンション機構を使用せず、一般にシーケンス全体(たとえば、オーディオ波形)を処理して出力(たとえば、文)を生成する必要がある他のシーケンスツーシーケンスモデルとは異なり、RNN-Tは、連続的に入力サンプルを処理し、出力シンボルをストリーム処理する。これは、実時間通信には特に魅力的な特徴である。たとえば、RNN-Tを用いた音声認識は、発話時に文字を一つずつ出力し得る。ここで、RNN-Tは、モデルによって予想されたシンボルをRNN-T自体にフィードバックして次のシンボルを予測するフィードバックループを使用する。RNN-Tの復号は、大きいデコーダグラフではなく単一のニューラルネットワークを介したビーム探索を含むので、RNN-Tはサーバベースの音声認識モデルのサイズのわずかな部分にスケーリングすることがある。サイズ縮小によって、RNN-Tは、全体的にデバイス上に配置されることがあり、オフラインで(すなわち、ネットワーク接続なしで)実行できることがあり、したがって、通信ネットワークとの信頼性欠如問題を回避する。
【0021】
RNN-Tモデルは、予測認識が得られるときにルックアヘッドオーディオコンテキスト(たとえば、右コンテキスト)を適用できないことに起因して、依然として、品質(たとえば、しばしばワードエラー率(WER)によって測定される音声認識精度)に関しては、大規模の現況技術の従来のモデル(たとえば、別々のAM、PM、およびLMを有するサーバベースのモデル)およびアテンションベースのシーケンスツーシーケンスモデル(たとえば、LASモデル)に後れをとっている。近年、トランスフォーマー-トランスデューサ(T-T)およびコンフォーマー-トランスデューサ(C-T)モデルは、オーディオシーケンス全体を処理して各時間ステップにおけるアテンション確率密度関数を計算する能力に起因してRNN-Tモデルよりも注目度が高くなっている。したがって、T-TモデルおよびC-Tモデルは、ルックアヘッドコンテキストを使用する能力に起因してストリーミング音声認識または非ストリーミング音声認識のいずれに使用することもできる。しかし、2つのモデルは、ストリーミング音声認識および非ストリーミング音声認識のそれぞれを実施するために別個に訓練される。たとえば、ユーザは、会話クエリを認識するためのRNN-Tモデル、C-Tモデル、またはT-Tモデルなどのストリーミング音声認識モデル、および非会話クエリを認識するための別個の非ストリーミング音声認識モデルを使用する。一般に、ユーザが自分の発話を送るアプリケーションを使用して、ストリーミング音声認識モデルまたは非ストリーミング音声認識モデルのうちどちらを音声認識に使用するかを特定することができる。アプリケーションおよび/またはクエリタイプに応じて音声認識を実施するには異なる別々の音声認識モデルが必要になるので、計算コストがかかり、ユーザデバイス上にそれぞれのモデルを記憶するのに十分なメモリ容量が必要になる。モデルのうちの1つがリモートサーバ上で実行可能である場合でも、リモートサーバに接続するための追加のコストおよび帯域幅制約が、音声認識性能に影響を与え、最終的にユーザエクスペリエンスに影響を与えることがある。
【0022】
本明細書の実装形態は、混合モデルアテンションを使用して音声認識モデル(たとえば、T-TモデルまたはC-Tモデル)を訓練して、訓練された音声認識モデルが推論中にストリーミング音声認識モードと非ストリーミング音声認識モードを切り替えるのを可能にすることによってストリーミング音響エンコーダと非ストリーミング音響エンコーダを統合することを対象とする。トランスフォーマーおよびコンフォーマーベースの音響エンコーダの基本的な制限は、各時間ステップにおけるアテンション確率密度関数(PDF)の計算にある。具体的には、コンテキストウィンドウ全体にわたって単一のソフトマックスを使用すると、モデルは、訓練および推論中に同じコンテキストウィンドウサイズを使用するように制約される。提案された混合モデル(MiMo)アテンションは、推論中のコンテキストウィンドウサイズを訓練中に使用されるのと同じコンテキストウィンドウサイズに制約する要件を低減させる柔軟な代替形態を提供する。明らかになるように、MiMoアテンションは、コンテキストウィンドウにわたってソフトマックスの混合モデルを使用してアテンションPDFを計算する。混合コンポーネントのサポートは、推論中のすべての可能なユースケース、たとえば、完全な/全体のシーケンスコンテキスト、限定された左+右コンテキスト、および左のみコンテキストをカバーするように設計される。各混合コンポーネントは完全に正規化されたソフトマックスであるので、混合コンポーネントの任意のサブセットは、不一致を生じさせずに推論中に適用することができる。したがって、MiMoアテンションを用いて訓練されたC-TモデルおよびT-Tモデルは、現在のアプリケーションに応じて推論において様々なストリーミングモードおよび非ストリーミングモードで使用することができる。特に、MiMoアテンションは、モデルに任意の追加的な複雑さ、パラメータ、または訓練損失を追加することがない。
【0023】
図1Aおよび
図1Bは、発話環境100、100a~100bの例である。発話環境100において、ユーザ104がユーザデバイス10などのコンピューティングデバイスと対話する方法は、音声入力によるものであってもよい。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、発話環境100内の1人または複数のユーザ104から音声(たとえば、ストリーミングオーディオデータ)を取り込むように構成される。ここで、ストリーミングオーディオデータは、可聴クエリとして働くユーザ104による発話106、デバイス10に対するコマンド、またはデバイス10によって取り込まれた可聴通信を指すことがある。デバイス10の発話対応システムは、クエリに答え、かつ/またはコマンドを1つもしくは複数のダウンストリームアプリケーションによって実行/完遂させることによってクエリまたはコマンドを適切に処理し得る。
【0024】
ユーザデバイス10は、ユーザ104に関連付けられ、オーディオデータを受信することができる任意のコンピューティングデバイスに相当してもよい。ユーザデバイスのいくつかの例には、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)デバイス、車載インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどが含まれる。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信するメモリハードウェア14とを含み、命令を記憶する。命令は、データ処理ハードウェア12によって実行されたときに、データ処理ハードウェア12に1つまたは複数の動作を実行させる。ユーザデバイス10は、発話環境100内の発話106を取り込んで電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)16、16aと、可聴オーディオ信号を(たとえば、デバイス10からの出力オーディオデータとして)通信するための音声出力デバイス(たとえば、スピーカ)16、16bとを有するオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例では単一のオーディオキャプチャデバイス16aを実装するが、本開示の範囲から逸脱せずにオーディオキャプチャデバイス16aのアレイを実装してもよく、それによって、アレイ内の1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10上に物理的に存在しなくてもよいが、オーディオシステム16と通信してもよい。
【0025】
発話環境100では、混合モデル(MiMo)アテンションを用いて訓練されたASRモデル200を実装する自動音声認識(ASR)システム109が、ユーザ104のユーザデバイス10上および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(たとえば、クラウドコンピューティング環境において実行される分散システムの1つまたは複数のリモートサーバ)上に存在する。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザ104によって発せられオーディオキャプチャデバイス16aによって取り込まれた発話106を受信し、発話106を、ASRシステム109によって処理することができる入力された音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108を含む。
図1Aに示す例では、ユーザ104は、それぞれの発話106を発し、オーディオサブシステム108は、発話106を、ASRシステム109に入力される対応するオーディオデータ(たとえば、音響フレーム)110に変換する。その後、モデル200は、発話106に対応するオーディオデータ110を入力として受信し、発話106の対応するトランスクリプション120(認識結果/仮説120とも呼ばれる)を出力として生成/予測する。
【0026】
モデル200は、コンテキストウィンドウにわたってソフトマックスの混合モデルを使用して各時間ステップにおけるアテンションPDFを計算するMiMoアテンションを用いて訓練された音響エンコーダ300を含む。混合コンポーネントのサポートは、推論中のすべての可能なユースケース、たとえば、完全な/全体のシーケンスコンテキスト、限定された左+右コンテキスト、および左のみコンテキストをカバーするように設計される。各混合コンポーネントは完全に正規化されたソフトマックスであるので、混合コンポーネントの任意のサブセットは、不一致を生じさせずに推論中に適用することができる。
【0027】
モデル200はまた、(たとえば、各モデルがストリーミングモードまたは非ストリーミングモードのいずれか専用である2つの別個のモデルとは異なり)モデル200をストリーミングモードおよび非ストリーミングモードで動作することができる単一のモデルとするのを可能にするデコーダ220、230を含む。たとえば、
図1Aに示すように、ユーザデバイス10上で実行されるデジタルアシスタントアプリケーション50では、単語、ワードピース、および/または個々の文字が、発話された直後に画面上に出現するように音声認識がストリーム処理されることが必要になることがある。加えて、ユーザデバイス10のユーザ104は、デジタルアシスタントアプリケーション50が実行するクエリを発行する際のレイテンシに対する許容度が低い可能性もある。アプリケーションがレイテンシを最小限に抑えることを要求するこれらのシナリオでは、モデル200は、ユーザ104が発話106を発するときにストリーミングトランスクリプション機能を実時間で提供し得る。
【0028】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザデバイス10のユーザ104に発話106のトランスクリプション120の表現を提示するように構成されたユーザインターフェース生成器107を実行する。以下により詳しく説明するように、ユーザインターフェース生成器107は、音声認識結果120aをストリーミング式に表示してもよく、音声認識結果はその後、最終音声認識結果120として表示される。いくつかの構成では、ASRシステム109から出力されたトランスクリプション120は、たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行される自然言語理解(natural language understanding: NLU)モジュールによって処理され、発話106によって指定されたユーザコマンド/クエリを実行する。追加または代替として、テキスト音声システム(図示せず)(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せ上で実行される)は、トランスクリプション120をユーザデバイス10および/または別のデバイスによって出力される可聴出力のための合成された音声に変換してもよい。
【0029】
図1Aの例では、発話環境100aにおけるユーザ104は、ASRシステム109を使用するユーザデバイス10のプログラムまたはアプリケーション50(たとえば、デジタルアシスタントアプリケーション50a)と対話する。たとえば、
図1Aは、ユーザ104がデジタルアシスタントアプリケーション50aと通信しており、デジタルアシスタントアプリケーション50aがユーザデバイス10の画面上にデジタルアシスタントインターフェース18を表示していることを示し、ユーザ10とデジタルアシスタントアプリケーション50aのデジタルアシスタントとの間の会話を示している。この例では、ユーザ104は、デジタルアシスタントアプリケーション50aに「今夜のコンサートは何時からですか」と尋ねる。ユーザ104からのこの質問は、オーディオキャプチャデバイス16aによって取り込まれユーザデバイス10のオーディオシステム16によって処理される発話106である。この例では、オーディオシステム16は、発話106を受信して、ASRシステム109に入力される音響フレーム110に変換する。
【0030】
引き続き上記の例で説明すると、モデル200は、ユーザ104が発話したときに発話106に対応する音響フレーム110を受信しながら、オーディオエンコーダ300(すなわち、
図2)を使用して音響フレーム110を符号化し、次いで、デコーダ220、230(
図2)を使用して音響フレーム110の符号化表現をストリーミング音声認識結果120aに復号する。ユーザインターフェース生成器107は、デジタルアシスタントインターフェース18を介して、発話106のストリーミング音声認識結果120aの表現をストリーミング式にユーザデバイス10のユーザ104に提示し、単語、ワードピース、および/または個々の文字が発話された直後に画面上に出現するようにする。ユーザインターフェース生成器107はまた、デジタルアシスタントインターフェース18を介して、発話106の最終音声認識結果120の表現をユーザデバイス10のユーザ104に提示する。
【0031】
図1Aに示す例では、デジタルアシスタントアプリケーション50aは、自然言語処理を使用してユーザ104によって提示された質問に応答してもよい。自然言語処理は一般に、書かれた言語(たとえば、部分音声認識結果120aおよび/または最終音声認識結果120b)を解釈し、書かれた言語が何らかのアクションを促しているかどうかを判定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50aは、自然言語処理を使用して、ユーザ104からの質問がユーザの環境およびより具体的にはユーザの近くで演奏されている曲に関することを認識する。自然言語処理を用いてこれらの詳細を認識することによって、自動アシスタントは、ユーザのクエリに対する応答19を返す。応答19には、「開場は午後6時半です」と記載されている。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信するリモートコンピューティングデバイス60上で行われる。
【0032】
図1Bは、発話環境100bのASRシステム109を用いた音声認識の別の例である。この例に示すように、ユーザ104は、ユーザデバイス10の画面上にボイスメールアプリケーションインターフェース18、18bを表示して、Jane Doeによってユーザ104に残されたボイスメールを文字に起こすボイスメールアプリケーション50、50bと対話する。この例では、レイテンシは重要ではなく、ロングテール固有名詞またはレアワードを処理する際のトランスクリプションの精度が重要である。ASRシステム109のモデル200は、ボイスメールに対応する音響フレーム110のすべてが生成されるまで待つことによってオーディオの全コンテキストを利用することができる。このボイスメールシナリオはまた、ボイスメールがしばしば複数の文であるか、または場合によってはいくつかのパラグラフであることに起因して、モデル200がどのように長文式の発話を取り扱うことができるかを例示する。長文式の発話を取り扱う能力は、LASデコーダを用いた2パスモデルなど他のASRモデルよりも特に有利である。その理由は、この2パスモデルでは、長文条件に適用されたときに長文問題(たとえば、長文式の発話に対する単語削除率が高くなる)が生じるからである。
【0033】
引き続き
図1Bを参照すると、
図1Aに関して説明したように、モデル200は、音響フレーム110を受信するオーディオエンコーダ300を使用して音響フレーム110を符号化する。オーディオエンコーダ300が左のみコンテキストを使用してストリーミングモードで動作する
図1Aの例と比較して、オーディオエンコーダ300は、左右両方のコンテキストを使用して非ストリーミングモードで動作するように切り替える。ここで、MiMoアテンションを用いて訓練されたオーディオエンコーダ300の混合重みは、非ストリーミングモードに関連付けられた適切な値に設定されてもよい。モデル200は、音響フレーム110のすべてを受信して、オーディオエンコーダ300を用いて符号化した後、オーディオエンコーダ出力をデコーダ220、230への入力として提供して、最終音声認識結果120bを生成する。
【0034】
図2を参照すると、モデル200は、音響モデル、発音モデル、および言語モデルを単一のニューラルネットワークに統合することによってエンドツーエンド(E2E)音声認識を行ってもよく、レキシコンまたは別個のテキスト正規化コンポーネントを必要としない。様々な構造および最適化機構が、精度を向上させモデル訓練時間を短縮することができる。モデル200は、トランスフォーマー-トランスデューサ(T-T)またはコンフォーマー-トランスデューサ(C-T)モデルアーキテクチャを含んでもよく、このアーキテクチャは、対話型アプリケーションに関連付けられたレイテンシ制約を順守する。例示的なT-Tモデルは、2021年3月23日に出願された米国特許出願第17/210,465号に記載されており、米国特許出願第17/210,465号の内容は、参照によりその全体が組み込まれている。例示的なC-Tモデルは、"Conformer: Convolution-augmented Transformer for Speech Recognition," arxiv.org/pdf/2005.08100に記載されており、この内容は、参照によりその全体が組み込まれている。モデル200は、計算フットプリントが小さく、従来のASRアーキテクチャよりも利用するメモリ要件が低く、それによって、モデルアーキテクチャは、音声認識を全体的にユーザデバイス10上で実行するのに適したものになる(たとえば、リモートサーバ60との通信は必要とされない)。モデル200は、オーディオエンコーダ300と、ラベルエンコーダ(たとえば、予測ネットワーク)220と、ジョイントネットワーク230とを含む。ラベルエンコーダ220およびジョイントネットワーク230は集合的にデコーダを形成する。オーディオエンコーダ300は、従来のASRシステムにおける音響モデル(acoustic model: AM)に概ね類似しており、複数のコンフォーマー層またはトランスフォーマー層を有するニューラルネットワークを含む。たとえば、オーディオエンコーダ300は、d次元特徴ベクトル(たとえば、音響フレーム110(
図1))のシーケンスx = (x
1, x
2, ..., x
T)(
【0035】
【0036】
)を読取り、各時間ステップにおいて高次特徴表現を生成する。この高次特徴表現はah1, ..., ahTとして示される。
【0037】
同様に、ラベルエンコーダ220はまた、トランスフォーマー層、コンフォーマー層、長短期(long-term short-term: LSTM)メモリ層、またはルックアップテーブル埋め込みモデルのニューラルネットワークを含んでもよく、ルックアップテーブル埋め込みモデルは、言語モデル(language model: LM)と同様に、これまで最終ソフトマックス層240によって出力された非ブランクシンボルのシーケンスy0, ..., yui-1を予測されたラベル履歴を符号化する高密度表現Ihuとして処理する。
【0038】
最後に、T-TまたはC-Tモデルアーキテクチャによって、オーディオエンコーダ300およびラベルエンコーダ220によって生成された表現は、ジョイントネットワーク230によって高密度層Ju,tを使用して組み合わされる。ジョイントネットワーク230は次いで、P(zu,t|x,t,y1, …, yu-1)、すなわち、次の出力シンボルにわたる分布を予測する。言い換えれば、ジョイントネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、可能な音声認識仮説にわたる確率分布を生成する。ここで、「可能な音声認識仮説」は、各出力ラベルが指定された自然言語における書記素(たとえば、シンボル/文字)またはワードピースを表す出力ラベル(「音声単位」とも呼ばれる)のセットに対応する。たとえば、自然言語が英語である場合、出力ラベルのセットは、27個のシンボル、たとえば、英語のアルファベットにおける26文字の各々についての1つのラベルと空間を指定する1つのラベルとを含んでもよい。したがって、ジョイントネットワーク230は、出力ラベルの所定のセットにおける各出力ラベルの発生尤度を示す値のセットを出力してもよい。この値のセットは、ベクトルとすることができ、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは書記素(たとえば、個々の文字、ならびに場合によっては句読点およびその他のシンボル)であるが、出力ラベルのセットはそのように限定されない。たとえば、出力ラベルのセットは、書記素に加えてかつ/または書記素の代わりに、ワードピースおよび/または単語全体を含むことができる。ジョイントネットワーク230の出力分布は、それぞれに異なる出力ラベルの各々についての事後確率値を含むことができる。したがって、それぞれに異なる書記素または他のシンボルを表す100個の異なる出力ラベルがある場合、ジョイントネットワーク230の出力zu,tは、各出力ラベルについて1つの、100個の異なる確率値を含むことができる。次いで、トランスクリプション120を判定するための(たとえば、ソフトマックス層240による)ビーム探索プロセスにおいて、確率分布を使用してスコアを選択して候補正書法要素(たとえば、書記素、ワードピース、および/または単語)に割り当てることができる。
【0039】
ソフトマックス層240は、任意の技法を使用して、分布において最高の確率を有する出力ラベル/シンボルを、対応する出力ステップにおいてモデル200によって予測される次の出力シンボルとして選択してもよい。このようにして、モデル200は、条件付き独立の仮定を行わず、各シンボルの予測は、音響だけでなくこれまでに出力されたラベルのシーケンスに条件付けられる。
【0040】
本明細書の実装形態は、オーディオエンコーダ300のトランスフォーマーまたはコンフォーマー層におけるマルチヘッドアテンション機構をMiMoアテンションで置き換えて、推論中にストリーミングモードと非ストリーミングモードを切り替える際の柔軟性を高めることを対象としている。MiMoアテンションは、複数のT個の時間ステップにわたってPDFを生成することによって特徴ベクトルの入力シーケンス(x0, ..., xT-1)から特徴ベクトルの出力シーケンス(y0, ..., yT-1)を計算するために使用される。現在の時間ステップにおいてykを生成するための複数のT個の時間ステップについて非正規アテンションスコア
【0041】
【0042】
が示される。この定式化では、これらのスコアがどのように生成されたかは仮定されていない。たとえば、これらは、時間ステップkについてのクエリベクトルとすべてのT個のキーベクトルとの間のドット積をとることによって計算することが可能であったであろう。従来のアテンションは、単一のソフトマックスを使用してT個の時間ステップにわたってアテンションスコアをPDFに変換するが、MiMoアテンションはその代わりに、次式のように、M個のソフトマックスの混合を適用してアテンションPDFを計算する。
【0043】
【0044】
上式において、w0, ..., wM-1は混合重みである。有利には、混合モデルは、訓練中にソフトマックス混合コンポーネントのサポートを決定/設定して推論中にすべての可能なコンテキストユースケースに対応できることを許容する。この柔軟性は、標準的/従来のアテンションでは利用可能ではない。
【0045】
非限定的な例では、k-L、k個の時間ステップにわたる第1のコンポーネントと[k+1, k+R]にわたる第2のコンポーネントとを含む2つの混合コンポーネントにM個のソフトマックスが設定される。言い換えれば、第1のソフトマックスは、L+1個の時間ステップの左+中央コンテキストにわたって作用し、第2のソフトマックスは、時間ステップkにおける中央フレームに対してR個の時間ステップの右のコンテキストにわたって作用する。
図3A~
図3Cの概略
図301は、M=2個の混合コンポーネントの単純ケースにMiMoアテンションを用いたサイズT×Tのアテンション確率行列301a、301b、301cを示す。
図3AのT×Tアテンション確率行列301aは、左のみ(因果、横点線で示される)アテンション行列および右のみ(反因果、縦点線で示される)アテンション行列で構成された混合モデルとして書かれる。MiMoアテンションは、この帯対角行列を左+中央コンテキストについての下帯対角行列および右コンテキストについての上帯対角行列の加重和に分割する。すべての行列は、行確率であり(すなわち、各行の和が1になる)、したがって、適切に正規化されたアテンションPDFを表す。
【0046】
推論の間、左右両方のコンテキスト(非ストリーミングモード)、混合重みw0 = 1を設定することによる左のみコンテキスト(ストリーミングモード)、またはw1 = 1を設定することによる右のみコンテキストを使用することができる。MiMoアテンションが、推論中にすべてのタイプのコンテキストおよびユースケースに対応することができる一般的なフレームワークであることが容易にわかる。
【0047】
MiMoアテンションを用いてASRモデルを訓練しても、訓練損失が変化することはなく、また、何らかの追加の複雑さが付加されることもない。実際、訓練中に混合重みにノイズを付加すると有用である場合がある。上述のM = 2の場合、u~uniform(0, w1)が、訓練バッチごとにサンプリングされてもよく、混合重みをw0 + uおよびw1 - uとして摂動させる際に使用するためにサンプリングされてもよい。
【0048】
図4は、例示的なデータセットについてのテストクリーンおよびテストアザーに対するWERのテーブル400を示す。テーブル400は、Librispeech 960に対するベースラインおよびMiMoストリーミング/非ストリーミングコンフォーマーのWERを示す。テーブル400では、(L, R)は、左+中央および右コンテキストのサイズを示す。すべてのチェックポイントは、dev-clean WERに基づいて選択される。2つのベースラインASRモデル、すなわち、コンテキストサイズが65の左のみコンテキストモデル、および左コンテキストが65で右コンテキストが64の非ストリーミングモデルが訓練される。ベースライン非ストリーミング(65、64)モデルは、整合された非ストリーミング(65、64)推論グラフを使用する際に対応するストリーミング(65、0)モデルよりも低いWERをもたらす。
【0049】
モデル200は、リモートサーバ上で訓練されてもよい。訓練されたモデル200は、オンデバイス音声認識を実行するためのユーザデバイスにプッシュされてもよい。
【0050】
図5は、ストリーミング音声認識と非ストリーミング音声認識を統合する方法500についての動作の例示的な構成のフローチャートである。データ処理ハードウェア12(
図1A)は、方法500についての動作の例示的な構成を実施するためにメモリハードウェア14(
図1A)上に記憶された命令を実行してもよい。方法500は、動作502において、音響フレーム110のシーケンスを受信することを含む。方法500は次いで、引き続き動作504および506に進んでもよく、動作504および506は、複数の時間ステップの各々において実行される。
【0051】
方法500は、動作504において、自動音声認識(ASR)モデル200のオーディオエンコーダ300を使用して、音響フレーム110のシーケンスにおける対応する音響フレーム110についての高次特徴表現を生成することを含む。方法500は、動作506において、ASRモデルのジョイントネットワーク(230)を使用して、対応する時間ステップにおいてオーディオエンコーダ300によって生成された高次特徴表現に基づいて対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成することを含む。ここで、オーディオエンコーダ300は、混合モデル(MiMo)アテンションを適用して、コンテキストウィンドウにわたるソフトマックスの混合コンポーネントのセットを使用してアテンション確率分布関数(PDF)を計算するニューラルネットワークを含む。
【0052】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、文書作成アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0053】
非一時的メモリは、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイスによって使用するために一時的または永続的に記憶するために使用される物理デバイスであってもよい。非一時的メモリは、揮発性および/または不揮発性アドレス指定可能半導体メモリであってもよい。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(read-only memory: ROM)/プログラム可能読取り専用メモリ(programmable read-only memory: PROM)/消去プログラム可能型読取り専用メモリ(erasable programmable read-only memory: EPROM)/電子的消去プログラム可能型読取り専用メモリ(electronically erasable programmable read-only memory: EEPROM)(たとえば、一般に、ブートプログラムなどのファームウェアに使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(random access memory: RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory: DRAM)、スタティックランダムアクセスメモリ(static random access memory: SRAM)、相変化メモリ(phase change memory: PCM)、ならびにディスクまたはテープが含まれる。
【0054】
図6は、本文献で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文献で説明および/または請求される発明の実装形態を限定するものではない。
【0055】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に搭載されるか、または適宜他の方法で搭載されてもよい。プロセッサ610は、メモリ620内または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行される命令を処理して、高速インターフェース640に結合されたディスプレイ680などの外部入出力デバイス上にグラフィカルユーザインターフェース(graphical user interface: GUI)についてのグラフィカル情報を表示することができる。他の実装形態では、適宜、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが使用されてもよい。また、複数のコンピューティングデバイス600が接続され、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)各デバイスが必要な動作の一部を提供してもよい。
【0056】
メモリ620は、コンピューティングデバイス600内に非一時的に情報を記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ620は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイス600によって使用するために一時的または永続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去プログラム可能型読取り専用メモリ(EPROM)/電子的消去プログラム可能型読取り専用メモリ(EEPROM)(たとえば、一般に、ブートプログラムなどのファームウェアに使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0057】
記憶デバイス630は、コンピューティングデバイス600用の大容量記憶装置を提供することができる。いくつかの実装形態では、記憶デバイス630は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリ、もしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワーク内のデバイスもしくは他の構成を含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は、情報担体において実体的に具体化される。コンピュータプログラム製品は、実行されたときに、上述のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどのコンピュータまたは機械可読媒体である。
【0058】
高速コントローラ640は、コンピューティングデバイス600用の帯域幅集約的動作を管理し、低速コントローラ660はより低い帯域幅集約的動作を管理する。そのようなデューティの割振りは例示的なものにすぎない。いくつかの実装形態では、高速コントローラ640は、メモリ620に結合され、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ680に結合され、かつ様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実装形態では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。低速拡張ポート690は、様々な通信ポート(たとえば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入出力デバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【0059】
コンピューティングデバイス600は、図示するように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス600は、標準的なサーバ600aとして実装されても、もしくはそのようなサーバ600aのグループに複数回実装されてもよく、またはラップトップコンピュータ600bとして実装されてもよく、またはラックサーバシステム600cの一部として実装されてもよい。
【0060】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/または光回路、集積回路、特別に設計されたASIC(application specific integrated circuit、特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態には、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能であり、かつ/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装を含めることができ、このプロセッサは、専用または汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令の受信および送信を行うように結合されてもよい。
【0061】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型言語および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装することができる。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device: PLD))を指し、機械命令を機械可読信号として受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0062】
本明細書で説明するプロセスおよびロジックフローは、1つまたは複数のプログラマブルプロセッサによって実行することができ、これらのプログラマブルプロセッサは、データ処理ハードウェアとも呼ばれ、1つまたは複数のコンピュータプログラムを実行して、入力データを処理して出力を生成することによって機能を実行する。プロセスおよびロジックフローは、専用論理回路、たとえば、FPGA(field programmable gate array、フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含み、あるいはそれらのデバイスからデータを受信し、それらのデバイスにデータを転送し、またはその両方を行うように動作可能に結合される。しかし、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補助するか、または専用論理回路に組み込むことができる。
【0063】
ユーザとの対話を可能にするには、本開示の1つまたは複数の態様を、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(cathode ray tube、陰極線管)、LCD(liquid crystal display、液晶ディスプレイ)モニタ、またはタッチスクリーン、および任意選択で、キーボードおよびユーザがコンピュータに入力を提供することができるポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を可能にすることもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力を音響、発話、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送受信し、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【0064】
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱せずに様々な修正を施してもよいことが理解されよう。したがって、他の実装形態は以下の特許請求の範囲の範囲内である。
【符号の説明】
【0065】
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオシステム
16、16a オーディオキャプチャデバイス
16、16b 音声出力デバイス
18 デジタルアシスタントインターフェース
18、18b ボイスメールアプリケーションインターフェース
19 応答
40 ネットワーク
50、50a デジタルアシスタントアプリケーション
50、50b ボイスメールアプリケーション
60 リモートコンピューティングデバイス、リモートサーバ
100、100a、100b 発話環境
104 ユーザ
106 発話
107 ユーザインターフェース生成器
108 オーディオサブシステム
109 ASRシステム
110 音響フレーム
120 トランスクリプション、認識結果/仮説
120a 音声認識結果、部分音声認識結果
120b 最終音声認識結果
200 ASRモデル
220、230 デコーダ
220 ラベルエンコーダ
230 ジョイントネットワーク
240 最終ソフトマックス層
300 音響エンコーダ、オーディオエンコーダ
301a、301b、301c アテンション確率行列
400 テーブル
500 方法
600 コンピューティングデバイス
600a サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ
620 メモリ
630 記憶デバイス
640 高速インターフェース/コントローラ
650 高速拡張ポート
660 低速インターフェース/コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート