IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7343615ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識
<>
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図1
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図2A
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図2B
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図3
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図4
  • 特許-ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識
(51)【国際特許分類】
   G10L 15/00 20130101AFI20230905BHJP
   G10L 15/10 20060101ALI20230905BHJP
   G10L 15/16 20060101ALI20230905BHJP
【FI】
G10L15/00 200C
G10L15/10 500Z
G10L15/16
【請求項の数】 22
(21)【出願番号】P 2021569947
(86)(22)【出願日】2020-03-30
(65)【公表番号】
(43)【公表日】2022-07-29
(86)【国際出願番号】 US2020025760
(87)【国際公開番号】W WO2020242580
(87)【国際公開日】2020-12-03
【審査請求日】2022-01-24
(31)【優先権主張番号】62/853,365
(32)【優先日】2019-05-28
(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)【発明者】
【氏名】アリンドリマ・ダッタ
(72)【発明者】
【氏名】タラ・エヌ・サイナス
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2014-229124(JP,A)
【文献】特開2019-79034(JP,A)
【文献】特表2018-513399(JP,A)
【文献】特開2015-102806(JP,A)
【文献】特開2016-188944(JP,A)
【文献】国際公開第2019/023908(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34,25/30
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(510)において、特定の母語で話された発話(106)についてのオーディオデータ(110)を受け取るステップと、
前記データ処理ハードウェア(510)によって、前記特定の言語を識別する言語ベクトル(115)を取得するステップと、
前記データ処理ハードウェア(510)によって、多言語エンドツーエンド(E2E)音声認識モデル(150)を使用して、前記オーディオデータ(110)から導出された前記言語ベクトル(115)および音響特徴(117)を処理し、前記発話(106)についてのトランスクリプション(120)を生成するステップであって、前記多言語E2E音声認識モデル(150)が、前記特定の母語に特有の1つまたは複数のアダプタモジュール(300)と、前記特定の母語とは異なる少なくとも1つの他の母語に特有の1つまたは複数の他のアダプタモジュール(300)とを含む複数の言語特有のアダプタモジュール(300)を含む、ステップと、
前記データ処理ハードウェア(510)によって、出力のために前記トランスクリプション(120)を提供するステップと
を含む方法であって、
前記多言語E2E音声認識モデル(150)がトレーニングプロセスによってトレーニングされ、前記トレーニングプロセスが、
他のトレーニングデータセットのそれぞれの母語とは異なるそれぞれの母語にそれぞれ関連付けられた複数のトレーニングデータセットを取得するステップであって、各トレーニングデータセットが複数のそれぞれのトレーニングデータサンプルを含み、各トレーニングデータサンプルが、前記それぞれの母語で話された発話(106)についてのオーディオデータ(110)と、前記それぞれの母語を識別する言語識別子(112、115)と、前記それぞれの母語を表すそれぞれのネイティブスクリプトでの前記発話(106)の対応するトランスクリプション(120)とを含む、ステップと、
前記トレーニングプロセスの第1の段階の間に、確率的最適化アルゴリズムを使用して、すべての前記トレーニングデータセットの和集合に関して前記多言語E2E音声認識モデル(150)をトレーニングするステップと、
前記第1の段階が完了した後の前記トレーニングプロセスの第2の段階の間に、
前記複数の言語特有のアダプタモジュール(300)を含むように前記多言語E2E音声認識モデル(150)を修正するステップと、
前記特定の母語に特有の前記1つまたは複数のアダプタモジュール(300)のそれぞれについて、前記それぞれの特定の母語に関連付けられる前記トレーニングデータセットのみに関して前記多言語E2E音声認識モデル(150)をトレーニングすることによって、重みのそれぞれのセットについての値を学習するステップと
を含む、
方法(400)。
【請求項2】
前記言語ベクトル(115)がワンホットベクトルを含む、請求項1に記載の方法(400)。
【請求項3】
前記言語ベクトル(115)および前記音響特徴(117)を処理する前に、前記データ処理ハードウェア(510)によって、前記オーディオデータ(110)を使用して、前記発話(106)のベクトル表現(117)を生成するステップをさらに含み、前記発話(106)の前記ベクトル表現(117)が、前記オーディオデータ(110)から導出された前記音響特徴(117)を含む、請求項1または2に記載の方法(400)。
【請求項4】
前記データ処理ハードウェア(510)によって、前記言語ベクトル(115)と前記発話(106)の前記ベクトル表現(117)を連結して、入力ベクトル(119)を生成するステップ
をさらに含み、
前記言語ベクトル(115)および前記音響特徴(117)を処理するステップが、前記多言語E2E音声認識モデル(150)を使用して前記入力ベクトル(119)を処理し、前記発話(106)についての前記トランスクリプション(120)を生成するステップを含む、請求項3に記載の方法(400)。
【請求項5】
前記言語ベクトル(115)を取得する前記ステップが、
前記発話(106)を話したユーザについての言語選好に基づいて、前記発話(106)についての前記特定の母語を識別するステップと、
前記識別した特定の母語に基づいて前記言語ベクトル(115)を生成するステップと
を含む、請求項1~4のいずれか一項に記載の方法(400)。
【請求項6】
前記言語ベクトル(115)を取得する前記ステップが、
前記オーディオデータ(110)を処理することによって前記特定の母語を識別するように構成された言語識別システムを実行するステップと、
前記識別した特定の母語に基づいて前記言語ベクトル(115)を生成するステップと
を含む、請求項1~5のいずれか一項に記載の方法(400)。
【請求項7】
前記多言語E2E音声認識モデル(150)が再帰型ニューラルネットワーク変換器(RNN-T)アーキテクチャを使用し、前記RNN-Tアーキテクチャが、
複数の時間ステップのそれぞれにおいて、入力ベクトル(119)から高次特徴表現を生成するように構成されたエンコーダネットワーク(200)であって、前記入力ベクトル(119)が、前記オーディオデータ(110)から導出された前記言語ベクトル(115)と前記音響特徴(117)の連結を含む、エンコーダネットワーク(200)と、
先に出力された非ブランク記号のシーケンスを密表現として処理するように構成された予測ネットワーク(220)と、
前記複数の時間ステップのそれぞれにおいて、前記エンコーダネットワーク(200)によって出力された前記高次特徴表現と、前記予測ネットワーク(220)によって出力された前記密表現とに基づいて、可能な出力ラベルにわたる確率分布を予測するように構成されたジョイントネットワーク(230)と
を備える、請求項1~6のいずれか一項に記載の方法(400)。
【請求項8】
前記エンコーダネットワーク(200)が、
複数の積重ね長短期記憶(LSTM)層(216)と、
各LSTM層(216)の後の、前記複数の言語特有のアダプタモジュール(300)のそれぞれのサブセットを含むそれぞれの層であって、前記それぞれの層内のそれぞれの言語特有のアダプタモジュール(300)が、異なるそれぞれの母語に特有のものであり、前記それぞれの層内の前記言語特有のアダプタモジュール(300)のうちの1つが、前記特定の母語に特有のものである、それぞれの層と
を備える、請求項7に記載の方法(400)。
【請求項9】
前記発話(106)についての前記生成されたトランスクリプション(120)が、前記特定の母語を表すそれぞれのネイティブスクリプトでのものである、請求項1~8のいずれか一項に記載の方法(400)。
【請求項10】
前記データ処理ハードウェア(510)および前記多言語E2E音声認識モデル(150)が、前記発話(106)を話したユーザ(104)に関連付けられるユーザデバイス(102)上に常駐する、請求項1~9のいずれか一項に記載の方法(400)
【請求項11】
記トレーニングプロセスが、前記データ処理ハードウェア(510)と通信しているリモートコンピューティングデバイス(201)上で実行され、前記データ処理ハードウェア(510)が、前記発話(106)を話したユーザ(104)に関連付けられ、前記トレーニングプロセスが完了した後に前記多言語E2E音声認識モデル(150)を実行するように構成されたユーザデバイス(102)上に常駐する、請求項10に記載の方法(400)。
【請求項12】
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)と通信しているメモリハードウェア(520)であって、前記データ処理ハードウェア(510)上で実行されるとき、前記データ処理ハードウェア(510)に、
特定の母語で話された発話(106)についてのオーディオデータ(110)を受け取ること、
前記特定の言語を識別する言語ベクトル(115)を取得すること、
多言語エンドツーエンド(E2E)音声認識モデル(150)を使用して、前記オーディオデータ(110)から導出された前記言語ベクトル(115)および音響特徴(117)を処理し、前記発話(106)についてのトランスクリプション(120)を生成することであって、前記多言語E2E音声認識モデル(150)が、前記特定の母語に特有の1つまたは複数のアダプタモジュール(300)と、前記特定の母語とは異なる少なくとも1つの他の母語に特有の1つまたは複数の他のアダプタモジュール(300)とを含む複数の言語特有のアダプタモジュール(300)を含む、生成すること、および
出力のために前記トランスクリプション(120)を提供すること
を含む動作を実施させる命令を記憶する、メモリハードウェア(520)と
を備えるシステムであって、
前記多言語E2E音声認識モデル(150)がトレーニングプロセスによってトレーニングされ、前記トレーニングプロセスが、
他のトレーニングデータセットのそれぞれの母語とは異なるそれぞれの母語にそれぞれ関連付けられた複数のトレーニングデータセットを取得することであって、各トレーニングデータセットが複数のそれぞれのトレーニングデータサンプルを含み、各トレーニングデータサンプルが、前記それぞれの母語で話された発話(106)についてのオーディオデータ(110)と、前記それぞれの母語を識別する言語識別子(112、115)と、前記それぞれの母語を表すそれぞれのネイティブスクリプトでの前記発話(106)の対応するトランスクリプション(120)とを含む、取得すること、
前記トレーニングプロセスの第1の段階の間に、確率的最適化アルゴリズムを使用して、すべての前記トレーニングデータセットの和集合に関して前記多言語E2E音声認識モデル(150)をトレーニングすること、ならびに
前記第1の段階が完了した後の前記トレーニングプロセスの第2の段階の間に、
前記複数の言語特有のアダプタモジュール(300)を含むように前記多言語E2E音声認識モデル(150)を修正すること、および
前記特定の母語に特有の前記1つまたは複数のアダプタモジュール(300)のそれぞれについて、前記それぞれの特定の母語に関連付けられる前記トレーニングデータセットのみに関して前記多言語E2E音声認識モデル(150)をトレーニングすることによって、重みのそれぞれのセットについての値を学習すること
を含む、
システム(100)。
【請求項13】
前記言語ベクトル(115)がワンホットベクトルを含む、請求項12に記載のシステム(100)。
【請求項14】
前記動作が、前記言語ベクトル(115)および前記音響特徴(117)を処理する前に、前記オーディオデータ(110)を使用して、前記発話(106)のベクトル表現(117)を生成することをさらに含み、前記発話(106)の前記ベクトル表現(117)が、前記オーディオデータ(110)から導出された前記音響特徴(117)を含む、請求項12または13に記載のシステム(100)。
【請求項15】
前記動作が、
前記言語ベクトル(115)と前記発話(106)の前記ベクトル表現(117)を連結して、入力ベクトル(119)を生成すること
をさらに含み、
前記言語ベクトル(115)および前記音響特徴(117)を処理することが、前記多言語E2E音声認識モデル(150)を使用して前記入力ベクトル(119)を処理し、前記発話(106)についての前記トランスクリプション(120)を生成することを含む、請求項14に記載のシステム(100)。
【請求項16】
前記言語ベクトル(115)を取得することが、
前記発話(106)を話したユーザについての言語選好に基づいて、前記発話(106)についての前記特定の母語を識別すること、および
前記識別した特定の母語に基づいて前記言語ベクトル(115)を生成すること
を含む、請求項1215のいずれか一項に記載のシステム(100)。
【請求項17】
前記言語ベクトル(115)を取得することが、
前記オーディオデータ(110)を処理することによって前記特定の母語を識別するように構成された言語識別システムを実行すること、および
前記識別した特定の母語に基づいて前記言語ベクトル(115)を生成すること
を含む、請求項1216のいずれか一項に記載のシステム(100)。
【請求項18】
前記多言語E2E音声認識モデル(150)が再帰型ニューラルネットワーク変換器(RNN-T)アーキテクチャを使用し、前記RNN-Tアーキテクチャが、
複数の時間ステップのそれぞれにおいて、入力ベクトル(119)から高次特徴表現を生成するように構成されたエンコーダネットワーク(200)であって、前記入力ベクトル(119)が、前記オーディオデータ(110)から導出された前記言語ベクトル(115)と前記音響特徴(117)の連結を含む、エンコーダネットワーク(200)と、
先に出力された非ブランク記号のシーケンスを密表現として処理するように構成された予測ネットワーク(220)と、
前記複数の時間ステップのそれぞれにおいて、前記エンコーダネットワーク(200)によって出力された前記高次特徴表現と、前記予測ネットワーク(220)によって出力された前記密表現とに基づいて、可能な出力ラベルにわたる確率分布を予測するように構成されたジョイントネットワーク(230)と
を備える、請求項1217のいずれか一項に記載のシステム(100)。
【請求項19】
前記エンコーダネットワーク(200)が、
複数の積重ね長短期記憶(LSTM)層(216)と、
各LSTM層(216)の後の、前記複数の言語特有のアダプタモジュール(300)のそれぞれのサブセットを含むそれぞれの層であって、それぞれの層内のそれぞれの言語特有のアダプタモジュール(300)が、異なるそれぞれの母語に特有のものであり、前記それぞれの層内の前記言語特有のアダプタモジュール(300)のうちの1つが、前記特定の母語に特有のものである、それぞれの層と
を備える、請求項18に記載のシステム(100)。
【請求項20】
前記発話(106)についての前記生成されたトランスクリプション(120)が、前記特定の母語を表すそれぞれのネイティブスクリプトでのものである、請求項1219のいずれか一項に記載のシステム(100)。
【請求項21】
前記データ処理ハードウェア(510)および前記多言語E2E音声認識モデル(150)が、前記発話(106)を話したユーザ(104)に関連付けられるユーザデバイス(102)上に常駐する、請求項1220のいずれか一項に記載のシステム(100)
【請求項22】
記トレーニングプロセスが、前記データ処理ハードウェア(510)と通信しているリモートコンピューティングデバイス(201)上で実行され、前記データ処理ハードウェア(510)が、前記発話(106)を話したユーザに関連付けられ、前記トレーニングプロセスが完了した後に前記多言語E2E音声認識モデル(150)を実行するように構成されたユーザデバイス(102)上に常駐する、請求項21に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ストリーミングエンドツーエンドモデルを用いる大規模多言語音声認識に関する。
【背景技術】
【0002】
多言語自動音声認識(ASR)システムと呼ばれる、複数の言語の音声を文字起こしし得るASRシステムが、世界の言語のASRカバレッジを拡大するのに効果的な方式として人気を得ている。様々な言語にわたるモデル要素の共有学習を通じて、従来型多言語ASRシステムは、特に、利用可能なトレーニングデータが少ない言語について、単一言語ASRシステムより優れていることが示された。
【0003】
従来型多言語ASRシステムは、複数の個々の音声モデルではなく単一の音声モデルだけで複数の自然言語がサポートされ得るために、著しく簡略化されたインフラストラクチャを使用して実装され得る。しかしながら、ほとんどの最新技術の多言語ASRシステムでは、実際には音響モデル(AM)だけが多言語であり、別々の、言語特有の言語モデル(LM)および関連する語彙が依然として必要とされる。
【0004】
最近では、エンドツーエンド(E2E)モデルによって、ASRについて大きな見込みが示されており、従来型オンデバイスASRシステムと比べて単語誤り率(WER)および待ち時間メトリックの改善が示されている。こうしたE2Eモデルは、AM、発音モデル(PM)、およびLMを、音声-テキストマッピングを直接的に学習するための単一のネットワークにまとめ、別々のAM、PM、およびLMを有する従来型ASRシステムと比べて、競争力のある結果を示している。代表的なE2Eモデルには、単語ベースのコネクショニスト時間分類(CTC)モデル、再帰型ニューラルネットワーク変換器(RNN-T)モデル、およびListen, Attend, and Spell(LAS)などのアテンションベースのモデルが含まれる。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書での実装は、低待ち時間対話型アプリケーションにおいて動作するように装備され、現実世界トレーニングデータの主要な課題、すなわち世界中で話される多くの異なる言語にわたる、利用可能なトレーニングデータの量の不均衡に対処することのできる、拡張型多言語エンドツーエンド(E2E)モデルを対象とする。言語ベクトルに関して多言語E2Eモデルを条件付け、言語特有のアダプタ層をトレーニングすることにより、拡張型多言語E2Eモデルは、様々な言語についての多種多様なトレーニングデータに関してトレーニングされ、現代の対話型アプリケーションの待ち時間制約を満たしながら、同程度の単一言語E2Eモデルおよび従来型ASRシステムよりも低い単語誤り率(WER)を達成し得る。さらに、このモデルは、大規模な現実世界データに固有の課題に効果的に対処し得、同一のトレーニングおよびサービング制約内で依然として動作しながら、最新技術の従来型モデルに対して競争力がある。
【0006】
本開示の一態様は、多言語エンドツーエンド(E2E)音声認識モデルを使用して音声を文字起こしする方法を提供する。方法は、データ処理ハードウェアにおいて、特定の母語で話された発話についてのオーディオデータを受け取ること、データ処理ハードウェアによって、特定の言語を識別する言語ベクトルを取得すること、およびデータ処理ハードウェアによって、多言語E2E音声認識モデルを使用して、オーディオデータから導出された言語ベクトルおよび音響特徴を処理し、発話についてのトランスクリプションを生成することを含む。多言語E2E音声認識モデルは、特定の母語に特有の1つまたは複数のアダプタモジュールと、特定の母語とは異なる少なくとも1つの他の母語に特有の1つまたは複数の他のアダプタモジュールとを含む複数の言語特有のアダプタモジュールを含む。方法はまた、データ処理ハードウェアによって、出力のためにトランスクリプションを提供することをも含む。
【0007】
本開示の実装は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、方法はまた、言語ベクトルおよび音響特徴を処理する前に、データ処理ハードウェアによって、オーディオデータを使用して、発話のベクトル表現を生成することをも含む。発話のベクトル表現は、オーディオデータから導出された音響特徴を含む。こうした実装では、方法は、データ処理ハードウェアによって、言語ベクトルと発話のベクトル表現を連結して、入力ベクトルを生成することをさらに含み得る。ここで、言語ベクトルおよび音響特徴を処理することは、多言語E2E音声認識モデルを使用して入力ベクトルを処理し、発話についてのトランスクリプションを生成することを含む。
【0008】
言語ベクトルはワンホットベクトルを含み得る。いくつかの例では、言語ベクトルを取得することは、発話を話したユーザについての言語選好に基づいて、発話についての特定の母語を識別すること、および識別した特定の母語に基づいて言語ベクトルを生成することを含む。他の例では、言語ベクトルを取得することは、オーディオデータを処理することによって特定の母語を識別するように構成された言語識別システムを実行すること、および識別した特定の母語に基づいて言語ベクトルを生成することを含む。
【0009】
いくつかの実装では、多言語E2E音声認識モデルは、エンコーダネットワーク、予測ネットワーク、およびジョイントネットワークを含む再帰型ニューラルネットワーク変換器(RNN-T)アーキテクチャを使用する。エンコーダネットワークは、複数の時間ステップのそれぞれにおいて、オーディオデータから導出された言語ベクトルと音響特徴の連結を含む入力ベクトルから高次特徴表現を生成するように構成される。予測ネットワークは、先に出力された非ブランク記号のシーケンスを密表現(dense representation)として処理するように構成される。ジョイントネットワークは、複数の時間ステップのそれぞれにおいて、エンコーダネットワークによって出力された高次特徴表現と、予測ネットワークによって出力された密表現とに基づいて、可能な出力ラベルにわたる確率分布を予測するように構成される。これらの実装では、エンコーダネットワークは、複数の積重ね長短期記憶(LSTM)層と、各LSTM層の後の、複数の言語特有のアダプタモジュールのそれぞれのサブセットを含むそれぞれの層とを含み得る。ここで、それぞれの層内のそれぞれの言語特有のアダプタモジュールは、異なるそれぞれの母語に特有のものであり、それぞれの層内の言語特有のアダプタモジュールのうちの1つは、特定の母語に特有のものである。発話についての生成されたトランスクリプションは、特定の母語を表すそれぞれのネイティブスクリプトでのものであり得る。
【0010】
いくつかの構成では、多言語E2E音声認識モデルは、トレーニングプロセスによってトレーニングされる。いくつかの例では、トレーニングプロセスはリモートコンピューティングデバイス上で行われ、モデルがトレーニングされると、リモートコンピューティングデバイスは、ユーザデバイスのデータ処理ハードウェア上でモデルを実行するためにユーザデバイスにモデルをプッシュする。特に、代替として、データ処理ハードウェアは、ユーザデバイスの1つまたは複数のマイクロフォンを介して発話を取り込んだユーザデバイスと通信しているリモートコンピューティングデバイス上に常駐し得る。トレーニングプロセスは、他のトレーニングデータセットのそれぞれの母語とは異なるそれぞれの母語にそれぞれ関連付けられた複数のトレーニングデータセットを取得するステップと、確率的最適化アルゴリズムを使用して、すべてのトレーニングデータセットの和集合に関して多言語E2E音声認識モデルをトレーニングするステップと、第1の段階が完了した後のトレーニングプロセスの第2の段階の間に、複数の言語特有のアダプタモジュールを含むように多言語E2E音声認識モデルを修正するステップとを含み得る。複数のトレーニングデータセットの各トレーニングデータセットは、複数のそれぞれのトレーニングデータサンプルを含む。各トレーニングデータサンプルは、それぞれの母語で話された発話についてのオーディオデータと、それぞれの母語を識別する言語識別子と、それぞれの母語を表すそれぞれのネイティブスクリプトでの発話の対応するトランスクリプションとを含む。さらに、トレーニングプロセスの第2の段階の間に、トレーニングプロセスは、特定の母語に特有の1つまたは複数のアダプタモジュールのそれぞれについて、それぞれの特定の母語に関連付けられるトレーニングデータセットのみに関して多言語E2E音声認識モデルをトレーニングすることによって、重みのそれぞれのセットについての値を学習することをさらに含む。
【0011】
本開示の別の態様は、多言語エンドツーエンド(E2E)音声認識モデルを使用して音声を文字起こしするためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含み、メモリハードウェアは、データ処理ハードウェア上で実行されるとき、データ処理ハードウェアに、特定の母語で話された発話についてのオーディオデータを受信すること、特定の言語を識別する言語ベクトルを取得すること、および多言語E2E音声認識モデルを使用して、オーディオデータから導出された言語ベクトルおよび音響特徴を処理し、発話についてのトランスクリプションを生成することを含む動作を実施させる命令を記憶する。多言語E2E音声認識モデルは、特定の母語に特有の1つまたは複数のアダプタモジュールと、特定の母語とは異なる少なくとも1つの他の母語に特有の1つまたは複数の他のアダプタモジュールとを含む複数の言語特有のアダプタモジュールを含む。動作はまた、データ処理ハードウェアによって、出力のためにトランスクリプションを提供することをも含む。
【0012】
この態様は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、動作はまた、言語ベクトルおよび音響特徴を処理する前に、オーディオデータを使用して、発話のベクトル表現を生成することをも含む。発話のベクトル表現は、オーディオデータから導出された音響特徴を含む。これらの実装では、動作は、言語ベクトルと発話のベクトル表現を連結して、入力ベクトルを生成することをさらに含み得る。ここで、言語ベクトルおよび音響特徴を処理することは、多言語E2E音声認識モデルを使用して入力ベクトルを処理し、発話についてのトランスクリプションを生成することを含む。
【0013】
言語ベクトルはワンホットベクトルを含み得る。いくつかの例では、言語ベクトルを取得することは、発話を話したユーザについての言語選好に基づいて、発話についての特定の母語を識別すること、および識別した特定の母語に基づいて言語ベクトルを生成することを含む。他の例では、言語ベクトルを取得することは、オーディオデータを処理することによって特定の母語を識別するように構成された言語識別システムを実行すること、および識別した特定の母語に基づいて言語ベクトルを生成することを含む。
【0014】
いくつかの実装では、多言語E2E音声認識モデルは、エンコーダネットワーク、予測ネットワーク、およびジョイントネットワークを含む再帰型ニューラルネットワーク変換器(RNN-T)アーキテクチャを使用する。エンコーダネットワークは、複数の時間ステップのそれぞれにおいて、オーディオデータから導出された言語ベクトルと音響特徴の連結を含む入力ベクトルから高次特徴表現を生成するように構成される。予測ネットワークは、先に出力された非ブランク記号のシーケンスを密表現として処理するように構成される。ジョイントネットワークは、複数の時間ステップのそれぞれにおいて、エンコーダネットワークによって出力された高次特徴表現と、予測ネットワークによって出力された密表現とに基づいて、可能な出力ラベルにわたる確率分布を予測するように構成される。これらの実装では、エンコーダネットワークは、複数の積重ね長短期記憶(LSTM)層と、各LSTM層の後の、複数の言語特有のアダプタモジュールのそれぞれのサブセットを含むそれぞれの層とを含み得る。ここで、それぞれの層内のそれぞれの言語特有のアダプタモジュールは、異なるそれぞれの母語に特有のものであり、それぞれの層内の言語特有のアダプタモジュールのうちの1つは、特定の母語に特有のものである。発話についての生成されたトランスクリプションは、特定の母語を表すそれぞれのネイティブスクリプトでのものであり得る。
【0015】
いくつかの構成では、多言語E2E音声認識モデルは、トレーニングプロセスによってトレーニングされる。いくつかの例では、トレーニングプロセスはリモートコンピューティングデバイス上で行われ、モデルがトレーニングされると、リモートコンピューティングデバイスは、ユーザデバイスのデータ処理ハードウェア上でモデルを実行するためにユーザデバイスにモデルをプッシュする。特に、代替として、データ処理ハードウェアは、ユーザデバイスの1つまたは複数のマイクロフォンを介して発話を取り込んだユーザデバイスと通信しているリモートコンピューティングデバイス上に常駐し得る。トレーニングプロセスは、他のトレーニングデータセットのそれぞれの母語とは異なるそれぞれの母語にそれぞれ関連付けられた複数のトレーニングデータセットを取得するステップと、確率的最適化アルゴリズムを使用して、すべてのトレーニングデータセットの和集合に関して多言語E2E音声認識モデルをトレーニングするステップと、第1の段階が完了した後のトレーニングプロセスの第2の段階の間に、複数の言語特有のアダプタモジュールを含むように多言語E2E音声認識モデルを修正するステップとを含み得る。複数のトレーニングデータセットの各トレーニングデータセットは、複数のそれぞれのトレーニングデータサンプルを含む。各トレーニングデータサンプルは、それぞれの母語で話された発話についてのオーディオデータと、それぞれの母語を識別する言語識別子と、それぞれの母語を表すそれぞれのネイティブスクリプトでの発話の対応するトランスクリプションとを含む。さらに、トレーニングプロセスの第2の段階の間に、トレーニングプロセスは、特定の母語に特有の1つまたは複数のアダプタモジュールのそれぞれについて、それぞれの特定の母語に関連付けられるトレーニングデータセットのみに関して多言語E2E音声認識モデルをトレーニングすることによって、重みのそれぞれのセットについての値を学習することをさらに含む。
【0016】
本開示の1つまたは複数の実装の詳細が、添付の図面と、以下の記述で説明される。記述および図面、ならびに特許請求の範囲から、他の態様、特徴、および利点が明らかとなるであろう。
【図面の簡単な説明】
【0017】
図1】多言語音声認識のためのストリーミングエンドツーエンド(E2E)音声認識モデルを含む自動音声認識(ASR)システムの概略図である。
図2A】相異なるそれぞれの言語に関連付けられる複数の言語アダプタを含む図1のASRシステムのストリーミングE2E音声認識モデルの概略図である。
図2B】相異なるそれぞれの言語に関連付けられる複数の言語アダプタを含む図1のASRシステムのストリーミングE2E音声認識モデルの概略図である。
図3図1および図2のストリーミングE2E音声認識モデルにおける言語アダプタの例示的アーキテクチャの概略図である。
図4】多言語E2E音声認識モデルを使用して音声を文字起こしする方法の動作の例示的構成のフローチャートである。
図5】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0018】
様々な図面内の同様の参照符号は同様の要素を示す。
【0019】
図1は、多言語音声認識のためのストリーミングエンドツーエンド(E2E)音声認識モデル150(互換的に「モデル150」と呼ぶ)を実装する例示的な拡張型自動音声認識(ASR)システム100を示す。図示される例では、ASRシステム100は、相異なる母語を話すそれぞれのユーザ104、104a~bのユーザデバイス102、102a~b上に常駐する。具体的には、ユーザデバイス102aのユーザ104aは、ユーザのそれぞれの母語として英語を話し、ユーザデバイス102bのユーザ104bは、ユーザのそれぞれの母語としてフランス語を話す。図示される例は、ASRシステム100がユーザデバイス102上に常駐することを示すが、ASRシステム100の一部またはすべての構成要素は、ユーザデバイス102と通信しているリモートコンピューティングデバイス201(たとえば、クラウドコンピューティング環境内で実行する分散システムの1つまたは複数のサーバ)上に常駐し得る。さらに、他のユーザ104は、限定はしないが、英語、フランス語、スペイン語、中国語、ドイツ語、日本語、ベンガル語、ヒンディー語、カンナダ語、および/またはタミル語などの他の言語または言語の他の方言を話し得る。ユーザデバイス102が携帯電話として示されているが、ユーザデバイス102は、限定はしないが、タブレットデバイス、ラップトップ/デスクトップコンピュータ、ウェアラブルデバイス、デジタルアシスタントデバイス、スマートスピーカ/ディスプレイ、スマートアプライアンス、自動車インフォテインメントシステム、モノのインターネット(IoT)デバイスなどの任意のタイプのコンピューティングデバイスに対応し得る。
【0020】
ユーザデバイス102のそれぞれは、ユーザ104によってユーザのそれぞれの母語で話された発話106を受け取り(たとえば、ユーザデバイス102は話された発話106を記録するための1つまたは複数のマイクロフォンを含み得る)、ASRシステム100によって処理することのできる、入力音響フレーム110に関連付けられる、対応するデジタルフォーマットに発話106を変換するように構成されたオーディオサブシステム108を含む。図示される例では、各ユーザ104は、「トイレはどこですか(Where is the bathroom?)」という英語の語句の、それぞれの母語でのそれぞれの発話106、106a~bを話し、オーディオサブシステム108は、ASRシステム100に入力するために、各発話106、106a~bを、対応する音響フレーム110、110a~bに変換する。ここで、音響フレーム110aは、それぞれの英語の母語で話されるオーディオに関連付けられ、音響フレーム110bは、それぞれのフランス語の母語で話されるオーディオに関連付けられる。音響フレーム110は、短い、たとえば25msのウィンドウで計算され、数ミリ秒、たとえば10ミリ秒ごとにシフトされた80次元ログメル特徴をそれぞれ含む一連のパラメータ化入力音響フレームであり得る。
【0021】
ASRシステム100は、各発話106に関連付けられるパラメータ化入力音響フレーム110を処理し、それぞれのトランスクリプション120、すなわち英語スクリプトでの第1のトランスクリプション120a「Where is the bathroom?」と、フランス語スクリプトでの第2のトランスクリプション120b「Ou se trouvent les toilettes?」とを出力するように構成される。本明細書では、「スクリプト」という用語は、一般には、自然言語を表現するために使用される記号の体系を含む書記体系を指す。図示される例では、ユーザデバイス102および/またはリモートコンピューティングデバイス201はまた、ユーザデバイス102のそれぞれのユーザ104に各発話106についてのそれぞれのトランスクリプション120の表現を提示するように構成されたユーザインターフェースジェネレータ107をも実行する。たとえば、ユーザインターフェースジェネレータ107は、それぞれのトランスクリプション120を表すコンピュータコードを生成し得、したがってユーザデバイス102のユーザインターフェースは、ユーザデバイス102の画面上にトランスクリプション120を表示し得る。
【0022】
いくつかの構成では、ASRシステム100から出力されたトランスクリプション120は、たとえば、ユーザデバイス102またはリモートコンピューティングデバイス201上で実行する自然言語理解(NLU)モジュールによって処理され、ユーザコマンドが実行される。たとえば、図示される例では、それぞれの発話106についてのトランスクリプション120は、回答を検索するために検索エンジンに提供され得る照会を含む。たとえば、検索エンジンは、トイレまでの指示/道順を含む回答を提供し得る。この例では、ユーザインターフェースジェネレータ107は、各ユーザデバイス102のグラフィカルユーザインターフェースに、対応するユーザ104のそれぞれの母語での、トイレまでの指示/道順のテキスト表現を表示させ得る。追加または代替として、(たとえば、ユーザデバイス102またはリモートコンピューティングデバイス201の任意の組合せの上で実行する)テキスト読上げシステムが、指示/道順のテキスト表現をユーザデバイス102による可聴出力のための合成音声に変換し得る。
【0023】
引き続き図1を参照すると、ASRシステム100は、言語識別器112、言語ベクトルジェネレータ114、ベクトル表現ジェネレータ116、連結器(concatenator)118、およびストリーミングE2E音声認識モデル150を含む。言語識別器112は、それぞれの発話106の入力音響フレーム110を受け取り、それぞれの母語を識別するように構成される。各発話に関連付けられる言語を決定するために多数の方式がある。たとえば、ユーザ104についての言語選好が、ユーザ104のデバイス102上でプログラムを最初に開始するときにユーザ104によって明示的に設定され、またはユーザ104がユーザ104についてのプロファイル内で言語選好を明示的に設定することによって設定され得る。代替として、ユーザ104についての言語選好は、ユーザ104の地理的領域内で話される顕著な母語を含むデフォルト設定であり得る。別の例では、言語識別器112は、発話ごとに言語を決定することのできる言語識別システムを実行し得る。
【0024】
言語識別器112によって識別された母語を使用して、言語ベクトルジェネレータ114は、それぞれの発話106についての識別された言語に関連付けられるそれぞれの言語ベクトル115を生成するように構成される。以下でより詳細に論じられるように、言語ベクトル115の使用は、エンコーダネットワーク200の適切な言語特有のアダプタモジュール300(図2A図2B、および図3)を活動化するためにモデル150に識別された言語を供給することを可能にすることによって、多言語E2Eモデル150に対する拡張として働く。そのようにする際に、言語特有のアダプタモデル218は、単一の大域的な多言語E2Eモデル150を有することのパラメータ効率を維持しながら、それぞれの個々の言語に関してモデル150を微調整することの品質便益を取り込み得る。
【0025】
いくつかの例では、言語ベクトル115は、それぞれの言語を「ワンホット」ベクトルとして表現する固定長ベクトルである。ここで、多言語E2Eモデル150をトレーニングするために使用されるk個の言語のそれぞれが、対応するk次元ベクトルによって表現されることになり、それによって、所与の言語iについて、1にセットされるi番目を除いてすべてのビットが0にセットされる。追加の例では、言語ベクトル115は埋込みベクトルとして言語を表現し、次元数dが選ばれ、各言語がd個の浮動小数点重みによって表現される。これらの重みがトレーニング中に学習され得る。最後に、言語はクラスタ適応トレーニング(CAT)を通じて学習されるクラスタの組合せとして表現され得る。この変形形態では、クラスタがデータから学習される。前述のように、各クラスタはk次元ワンホットベクトルとして表現される。次いで、特定の例がクラスタの重みつき組合せとして表現され得、次いで各クラスタに割り当てられた重みがk次元言語ベクトルを構成する。
【0026】
ベクトル表現ジェネレータ116も、それぞれの発話106の入力音響フレーム110を受け取り、各発話106についてのそれぞれのベクトル表現117を生成する。ベクトル表現117は、オーディオデータ(たとえば、入力音響フレーム110)から導出された音響特徴を含み得る。いくつかの例では、ベクトル表現117は、各時間ステップにおいてベクトル表現ジェネレータ116によって出力されたd次元特徴ベクトル(x)を含み、したがってベクトル表現ジェネレータ116は、
【0027】
【数1】
【0028】
であるとして、d次元特徴ベクトルのシーケンスx=(x1,x2,...,xT)を生成する。いくつかの例では、連結器118は、多言語E2E音声認識モデル150に入力ベクトル119として入力するために、各発話106のそれぞれの言語ベクトル115(たとえば、ワンホットベクトル)とそれぞれのベクトル表現117(d次元特徴ベクトル)を連結する。
【0029】
いくつかの実装では、多言語E2E音声認識モデル150は、対話型アプリケーションに関連する待ち時間制約を固守する再帰型ニューラルネットワーク変換器(RNN-T)アーキテクチャを使用し、エンコーダネットワーク200、予測ネットワーク220、およびジョイントネットワーク230を含む。エンコーダネットワーク200は、従来型ASRシステム内の音響モデル(AM)とおおよそ類似しており、積重ね長短期記憶(LSTM)層216(図2Aおよび図2B)の再帰型ネットワークを含む。図示される例では、エンコーダネットワーク200は、言語ベクトル115とベクトル表現117(たとえば、d次元特徴ベクトルのシーケンスx=(x1,x2,...,xT))の連結に対応する入力ベクトル119を受け取り、各時間ステップにおいて高次特徴表現を生成する。この高次特徴表現は
【0030】
【数2】
【0031】
と表され得る。
【0032】
同様に、予測ネットワーク220もLSTMネットワークであり、言語モデル(LM)と同様に、それまでに最終ソフトマックス層240によって出力された非ブランク記号のシーケンスy0,...,yui-1を密表現
【0033】
【数3】
【0034】
として処理する。最後に、RNN-Tモデルアーキテクチャを用いて、エンコーダネットワーク200と予測ネットワーク220によって生成された表現が、ジョイントネットワーク230によって組み合わされる。次いで、ジョイントネットワーク230は、次の出力記号にわたる分布である
【0035】
【数4】
【0036】
を予測する。ソフトマックス層240は、分布中の最高の確率を有する出力記号を、モデル150によって予測された次の出力記号として選択するための技法を利用し得る。このようにして、多言語RNN-Tモデル150は条件付き独立仮定を行わず、各記号の予測が、音響学だけでなく、それまでに出力されたラベルのシーケンスに関しても条件付けられる。多言語RNN-Tモデル150は、出力記号が将来の音響フレーム110とは無関係であると仮定せず、それによって、多言語RNN-Tモデルをストリーミング式に利用することが可能となる。
【0037】
いくつかの例では、エンコーダネットワーク200は、それぞれ640次元射影層(projection layer)が後に続く8つの2,048次元LSTM層で構成される。予測ネットワーク220は2つの2,048次元LSTM層を有し得、それぞれの後にやはり640次元射影層が続く。最後に、ジョイントネットワーク230も640個の隠れユニットを有し得る。ソフトマックス層240は、トレーニングデータ内のすべての固有の文字素を使用して生成される、すべての言語からの統合文字素集合(unified grapheme set)、すなわち合計で988個の文字素から構成され得る。モデル150は、バッチサイズ4,096を有する8×8テンソル処理単位スライスに関してinLingvoにおいてトレーニングされ得る。図3を参照しながら以下でより詳細に説明されるように、アダプタモジュール300は、8つのエンコーダ層216のそれぞれの後にそれぞれ256次元ボトルネックを使用する。
【0038】
本明細書での実装は、現実世界トレーニングデータの主要な課題、すなわち言語にわたる、利用可能なトレーニングデータの量の不均衡に対処しながら、低待ち時間対話型アプリケーションにおいて動作するように多言語E2E音声認識モデル150を装備することを対象とする。具体的には、言語ベクトル115は、特定の言語情報に関してモデル150を条件付けることによってトレーニングデータ不均衡に対処するための、多言語E2E音声認識モデル150のアーキテクチャに対する第1の拡張を提供し、その結果、多言語モデル150は、より多くのデータを用いて言語に対して調整された表現を学習するのではなく、それぞれの個々の言語に関して「エキスパート」となり得る。さらに、各LSTM層216から出力された活動化に対するドメイン特有の調節を含む、言語特有のアダプタモジュール300をエンコーダネットワーク200に適用することが、トレーニング中にそれぞれの個々の言語に関してモデル150を微調整し、それでも単一の大域的な多言語E2Eモデル150を有することのパラメータ効率を維持することによって、多言語E2E音声認識モデル150のアーキテクチャに対する第2の拡張を提供する。
【0039】
図2Aおよび図2Bを参照すると、RNN-Tアーキテクチャを使用する多言語E2E音声認識モデル150のエンコーダネットワーク200、200a~bは、複数のLSTM層216、216a~cを含み、複数の言語特有のアダプタモジュール300が、隣接するLSTM層216の間に配設される。図示される例では、例示的エンコーダネットワーク200a、200bのそれぞれは3つのLSTM層216を含むが、エンコーダネットワーク200は任意の数のLSTM層216を含み得る。一例として、エンコーダネットワーク200a、200bは8つのLSTM層216を含む。
【0040】
図2Aのエンコーダネットワーク200aは、フランス語、日本語、または英語のいずれか1つで話された発話に関する音声認識を実施するようにトレーニングされた多言語E2E音声認識モデル150に属する。したがって、第1のLSTM層116aの後、エンコーダネットワーク200aは、フランス語(FR)、英語(EN)のうちのそれぞれ1つにそれぞれ対応する言語特有のアダプタモジュール300a~cの層を含む。同様に、第2のLSTM層216bの後に、エンコーダネットワークは、フランス語(FR)、日本語(JP)、および英語(EN)のうちのそれぞれ1つにそれぞれ対応する言語特有のアダプタモジュール300d~fの別の層を含む。
【0041】
図1の例を続けると、エンコーダネットワーク200aは、第1のLSTM層216aを通じて入力ベクトル119を渡し、英語発話106aについての適切なアダプタモジュール300cを通じて、第1のLSTM層216aからの出力を渡し、第2のLSTM層216bによってアダプタモジュール300aの出力を処理し、英語発話106aについての適切なアダプタモジュール300fを通じて、第2のLSTM層216bからの出力を渡し、アダプタモジュール300fからの出力を処理して、ジョイントネットワーク230に提供される高次特徴表現を生成することにより、英語で話された発話106aに関連付けられる入力ベクトル119を処理する。同様に、エンコーダネットワーク200bは、フランス語発話106bに関連付けられるそれぞれの入力ベクトル119を処理するが、その代わりに第1のLSTM層216aおよび第2のLSTM層216bからの出力は、フランス語発話106bについてのアダプタモジュール300a、300eを通過する。
【0042】
図2Bを参照すると、エンコーダネットワーク200bは、マラーティー語、ヒンディー語、ベンガル語、タミル語、およびウルドゥー語を含むインド語派言語で話された発話に関する音声認識を実施するようにトレーニングされた多言語E2E音声認識モデル150に属する。ここで、言語特有のアダプタモジュール300g~kの層が、マラーティー語、ヒンディー語、ベンガル語、タミル語、およびウルドゥー語のうちのそれぞれ1つにそれぞれ対応する第1のLSTM層216aと第2のLSTM層216bとの間に配設され、言語特有のアダプタモジュール300l~pの別の層が、第2のLSTM層216bと第3のLSTM層216cとの間に配設される。図示される例では、タミル語で話された発話についてのそれぞれの入力ベクトル119。したがって、入力ベクトル119は、発話106がタミル語で話されることを示す言語ベクトル115を提供するので、エンコーダ200bは、各活動化にタミル語アダプタ300j、300oのみを適用する。
【0043】
図3は、言語特有のアダプタモジュール300についての例示的アーキテクチャの概略図を示す。アダプタモジュール300は、正規化層302、下方射影(down-projection)304、非線型性306、および上方射影(up-projection)308を含む。具体的には、LSTM層216からの各活動化は、より小さい次元数まで下方に射影し、非線型性を通過し、次いで再び元のサイズまで上方に射影する。結果は、次のLSTM層216に渡される前に、元の活動化に追加され得る。
【0044】
言語特有のアダプタモジュール300は、2段階トレーニングプロセスを使用して、多言語E2Eモデル150として効果的に実装され得る。トレーニングプロセスはリモートコンピューティングデバイス201(図1)上で実行し得、リモートコンピューティングデバイス201は、ユーザデバイス102上での実行のためにユーザデバイス102にトレーニング済みモデル150をプッシュし得る。トレーニングプロセスは、他のトレーニングデータセットのそれぞれの母語とは異なるそれぞれの母語にそれぞれ関連付けられた複数のトレーニングデータセットを取得することを含み得る。ここでは、各トレーニングデータセットは、それぞれの母語で話された発話106のオーディオデータ(たとえば、音響特徴)110と、それぞれの母語を識別する言語ベクトル115と、それぞれの母語を表すそれぞれのネイティブスクリプトでの発話106の対応するトランスクリプション120とをそれぞれ含む複数のそれぞれのトレーニングデータサンプルを含む。
【0045】
第1の段階では、モデル150は、すべての言語の和集合に関して大域的にトレーニングし、確率的勾配降下法などの確率的最適化アルゴリズムを使用し得る。例のバッチについて損失関数が計算され、次いでモデル内の各重みに関して区別される。得られる勾配が、モデル重みを更新するために使用される。重みが収束するまでこれが反復される。
【0046】
トレーニングの第2の段階は、エンコーダネットワーク200のLSTM層216ごとの後にアダプタ層を含むように、大域的にトレーニングされたモデル150を修正する。各アダプタ層は、各言語についての重みの別々のセットを有する。トレーニングプロセスは、フランス語などの単一の言語からのデータで再開する。次に、例の各バッチの後に、フランス語についてのアダプタ重みのみについて勾配が計算され、モデル内の任意の他のパラメータについては計算されない。したがって、フランス語についてのアダプタ重みが一連のステップについて更新されるだけである。次いで、トレーニングプロセスは、英語などの別の言語からのデータで続行する。この場合も、例の各バッチの後に、英語についてのアダプタ重みのみについて勾配が計算され、モデル内の任意の他のパラメータについては計算されない。したがって、英語についてのアダプタ重みが一連のステップについて更新されるだけである。各言語についてのアダプタ重みが学習されるまで、このプロセスが反復される。
【0047】
この多段階トレーニングの結果、通常は元のモデルサイズの10%未満である、各言語に特有の少数のパラメータを有する単一のモデルが得られる。そのような改善により、言語間の効率的なパラメータ共有、ならびに言語ごとの特殊化が可能となる。たとえば、エンコーダネットワーク200は、大部分は支配的な言語によって形成されるのに対して、支配的ではない言語は、小さな層ごとの調節から恩恵を受け得る別個の音響特徴を有し得る。言語特有のアダプタモジュール300を追加することにより、モデル全体を微調整するのと同様の方式であるが、ずっとパラメータ効率的な方式で、モデルが各言語において特殊化されることが可能となる。具体的には、テストされたある実装では、各言語について追加された容量は、元のモデルサイズのわずか約2パーセントである。
【0048】
さらに、アダプタモジュール300が役立たないときにアダプタモジュール300を利用する必要がない。たとえば、実際には、動作を識別するようにすべての他のアダプタを設定しながら、すなわち重みをゼロにしながら、アダプタモジュールが最も効果的であるときにだけアダプタモジュールが選択または使用され得る。そのようなモデルは、そうしたいくつかに関して著しい向上を示しながら、元のモデルよりもわずかに大きくなるだけである。
【0049】
各言語に関するアダプタの効果性は、言語特有のアダプタで増強されたモデルと、その言語において設定されたテストに関するアダプタなしのモデルとの両方の単語誤り率(WER)を測定することによって決定される。言語特有のアダプタ層が役立たない場合、それを使用することは必要とされない。単一モデルは、役立つ言語のみについての言語特有のアダプタ層を含む単一のモデルが構成され得、他の言語について、こうした層は動作を識別するように設定される(すなわち、すべての重みはゼロである)。
【0050】
世界の言語にわたる話者の分布中の広範なゆがみを考えると、様々な量の文字起こしされたデータが、様々な言語についてのトレーニングデータとして利用可能である。その結果、多言語E2Eモデル150をトレーニングするとき、トレーニングデータ内で過大表示される言語によってモデル150に過度に影響を及ぼすことを避けることを含む考慮が行われる。数万時間のトレーニングデータを含むいくつかの異なる言語のコーパスと共に作業して、いくつかの拡張、すなわち、言語ベクトル115に関して条件付けること、言語サンプリング比を調節すること、および言語特有のアダプタモジュール300を使用することが比較された。こうした拡張は、単独で、または組み合わせて使用され得る。前述の拡張が組み合わされるとき、得られる多言語E2Eモデル150は、単一言語E2Eモデルだけでなく、最新技術のAM、語彙、およびLMで構築された単一言語の従来型システムよりも優れており、テストされた言語のそれぞれに関するWERの著しい相対的削減、すなわち単一言語従来型システムと比較したときの著しい相対的削減を一貫して達成する。
【0051】
データ不均衡は、世界の言語にわたる話者の様々な分布の自然な結果である。話者が多い言語は、文字起こしされたデータをより容易に生成する傾向がある。いくつかのASRシステムは文字起こしされた音声データに関してAMをトレーニングし得るだけであるが、多言語E2Eモデル内のすべての構成要素が、文字起こしされた音声データに関してトレーニングされる。その結果、多言語E2Eモデルはデータ不均衡に対してより敏感になり得る。
【0052】
データサンプリングに関して、不均衡なデータは通常、より多くのトレーニングデータを有する言語に対してより良好にモデルを実施させる。たとえば、多言語モデルがk個の言語L0,...,Lkに関してトレーニングされ、Liがni個のトレーニング例を有し、
【0053】
【数5】
【0054】
であると仮定する。トレーニングの各ステップにおいて、例のバッチが、合計N個の例からサンプリングすることによって集められる。トレーニング例が言語にわたってプールされ、シャッフルされると仮定すると、バッチ内の言語Liのサンプリング率は
【0055】
【数6】
【0056】
となることが予想され、ni>njである任意のi,jについて、モデルが、言語Ljによって生成される勾配よりも
【0057】
【数7】
【0058】
倍の、言語Liによって生成される勾配で更新されることになることを意味する。
【0059】
データサンプリングは、相異なる言語間の分布がより均一となるように、過少表示される言語からのデータをアップサンプリングすることによってそのようなデータ不均衡に対処し得る。極端なケースでは、すべてのiについて
【0060】
【数8】
【0061】
となるように、各言語が一様となるように一様にサンプリングされ得る。より一般には、s(i)は以下の式(1)を満たし得る。
【0062】
【数9】
【0063】
式(1)では、n*は任意の言語についての例の最大数であり、αは調整可能なパラメータである。α=0である場合、言語についてのトレーニングデータが、その自然周波数においてサンプリングされ、α=1である場合、言語についてのトレーニングデータが一様となるようにサンプリングされる。テストする際に、αを0から0.25に増加させることは、より少数の言語についてのトレーニングデータがアップサンプリングされていることを意味する。予想され得るように、トレーニングデータ内の最大の言語のうちのいくつか以外に関するWERは減少する。そのようにする際に、どの言語を出力するかに関するモデルの優先(prior)が変更されており、その結果、あいまいな発話に遭遇したとき、モデルが支配的な言語をデフォルトにする可能性が低くなり得る。
【0064】
上記の所見で述べたように、データ不均衡に伴うこうした問題には、多言語E2Eモデルのアーキテクチャに対する前述の拡張を通じて対処され得る。たとえば、モデル150に供給される各発話の言語を表現するように言語ベクトル115に関してモデル150を条件付ける第1の拡張は、モデル150が、より多くのデータを用いて言語に対して調整された表現を学習するのではなく、それぞれの個々の言語に関する「エキスパート」となることを可能にし得る。さらに、エンコーダネットワーク200内のLSTM層216ごとの後に言語特有のアダプタモジュールのアダプタ層を含むようにモデル150を修正する第2の拡張は、モデル150が各言語に特有の少数のパラメータを含むことを可能にする。言語ベクトル115に関してモデル150を条件付けることは、単独で、または言語特有のアダプタモジュール300の使用と組み合わせて使用され得る。同様に、言語特有のアダプタモジュール300は、単独で、または言語ベクトル115と組み合わせて使用され得る。
【0065】
図4は、多言語エンドツーエンド(E2E)音声認識モデル150を使用して音声を文字起こしする方法400についての動作の例示的構成のフローチャートを与える。ユーザデバイス102またはリモートコンピューティングデバイス201上に常駐するデータ処理ハードウェア510(図5)が、方法400についての動作を実行し得る。動作402において、方法400は、データ処理ハードウェア510において、特定の母語で話された発話106についてのオーディオデータ110を受け取ることを含む。動作404において、方法400は、データ処理ハードウェア510によって、特定の言語を識別する言語ベクトル115を取得することを含む。言語ベクトル115はワンホットベクトルを含み得る。
【0066】
動作406において、方法400は、データ処理ハードウェア510によって、多言語E2E音声認識モデル150を使用して、オーディオデータ110から導出された言語ベクトル115および音響特徴117を処理し、発話106についてのトランスクリプション120を生成することを含む。多言語E2E音声認識モデル150は、特定の母語に特有の1つまたは複数のアダプタモジュール300と、特定の母語とは異なる少なくとも1つの他の母語に特有の1つまたは複数の他のアダプタモジュール300とを含む複数の言語特有のアダプタモジュール300を含む。動作408において、方法400は、データ処理ハードウェア510によって、出力のためにトランスクリプション120を提供することをも含む。
【0067】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「app」、または「プログラム」と呼ばれることがある。例示的アプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0068】
非一時的メモリは、コンピューティングデバイスによる使用のためにプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および/または不揮発性アドレス指定可能半導体メモリであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常はブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0069】
図5は、本文書において説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものとする。ここで示される構成要素、その接続および関係、ならびにその機能は、例示的なものに過ぎず、本文書において説明され、かつ/または特許請求される発明の実装を限定する意味ではない。
【0070】
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560のそれぞれは、様々なバスを使用して相互接続され、共通マザーボード上に取り付けられ、または必要に応じて他の方式で取り付けられ得る。プロセッサ510は、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を表示するための、メモリ520内または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理し得る。他の実装では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよび複数のタイプのメモリと共に使用され得る。さらに、複数のコンピューティングデバイス500が接続され得、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を実現する。
【0071】
メモリ520は、コンピューティングデバイス500内に非一時的に情報を記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ520は、コンピューティングデバイス500による使用のためにプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常はブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0072】
記憶デバイス530は、コンピューティングデバイス500のためのマスストレージを提供することができる。いくつかの実装では、記憶デバイス530はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス530は、フロッピィディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装では、コンピュータプログラム製品は情報キャリアで有形に実施される。コンピュータプログラム製品は、実行されるとき、前述のような1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、プロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0073】
高速コントローラ540は、コンピューティングデバイス500についての帯域幅集約的動作を管理し、低速コントローラ560はより低い帯域幅集約的動作を管理する。責務のそのような割振りは例示的なものに過ぎない。いくつかの実装では、高速コントローラ540は、メモリ520に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ580に、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に結合される。いくつかの実装では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイスに結合され、またはたとえばネットワークアダプタを通じてスイッチやルータなどのネットワーキングデバイスに結合され得る。
【0074】
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ500aとして実装され、もしくはそのようなサーバ500aのグループ内で複数回実装され、ラップトップコンピュータ500bとして実装され、またはラックサーバシステム500cの部分として実装され得る。
【0075】
本明細書で説明されるシステムおよび技法の様々な実装は、デジタル電子および/または光学回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せとして実現され得る。これらの様々な実装は、専用または汎用であり、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令を受け取り、データおよび命令を送るように結合され得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装を含み得る。
【0076】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサのための機械語命令を含み、高水準手続型および/またはオブジェクト指向プログラミング言語ならびに/あるいはアセンブリ/機械語において実装され得る。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械語命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意の信号を指す。
【0077】
本明細書において説明されるプロセスおよび論理フローは、入力データに対して作用して出力を生成することによって機能を実施するように1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得る。コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般には、プロセッサは、読取り専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般には、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクをも含み、あるいは複数の大容量記憶デバイスからデータを受け取り、もしくは大容量記憶デバイスにデータを転送し、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたは取外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVDを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足され、または専用論理回路内に組み込まれ得る。
【0078】
ユーザとの対話を実現するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがそれによってコンピュータに入力を与え得るキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実装され得る。ユーザとの対話を実現するために他の種類のデバイスも使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態において受け取られ得る。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送り、デバイスから文書を受け取ることによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受け取った要求に応答してウェブブラウザにウェブページを送ることによってユーザと対話し得る。
【0079】
いくつかの実装が説明された。それでも、本開示の趣旨および範囲から逸脱することなく様々な修正が行われ得ることを理解されよう。したがって、他の実装は添付の特許請求の範囲内にある。
【符号の説明】
【0080】
100 拡張型自動音声認識(ASR)システム
104 ユーザ
102 ユーザデバイス
106 発話
107 ユーザインターフェースジェネレータ
108 オーディオサブシステム
110 音響フレーム、オーディオデータ
112 言語識別器
114 言語ベクトルジェネレータ
115 言語ベクトル
116 ベクトル表現ジェネレータ
117 ベクトル表現、音響特徴
118 連結器
119 入力ベクトル
120 トランスクリプション
150 ストリーミングエンドツーエンド(E2E)音声認識モデル、多言語エンドツーエンド(E2E)音声認識モデル
200 エンコーダネットワーク
201 リモートコンピューティングデバイス
216 積重ね長短期記憶(LSTM)層
218 言語特有のアダプタモデル
220 予測ネットワーク
230 ジョイントネットワーク
240 ソフトマックス層
300 アダプタモジュール
302 正規化層
304 下方射影
306 非線型性
308 上方射影
500 コンピューティングデバイス
510 データ処理ハードウェア、プロセッサ
520 メモリ
530 記憶デバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1
図2A
図2B
図3
図4
図5