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

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

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

特許7502561言語間音声合成を改良するための音声認識の使用
<>
  • 特許-言語間音声合成を改良するための音声認識の使用 図1
  • 特許-言語間音声合成を改良するための音声認識の使用 図2
  • 特許-言語間音声合成を改良するための音声認識の使用 図3
  • 特許-言語間音声合成を改良するための音声認識の使用 図4
  • 特許-言語間音声合成を改良するための音声認識の使用 図5
  • 特許-言語間音声合成を改良するための音声認識の使用 図6
  • 特許-言語間音声合成を改良するための音声認識の使用 図7
  • 特許-言語間音声合成を改良するための音声認識の使用 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】言語間音声合成を改良するための音声認識の使用
(51)【国際特許分類】
   G10L 15/06 20130101AFI20240611BHJP
   G10L 13/00 20060101ALI20240611BHJP
   G10L 15/16 20060101ALI20240611BHJP
【FI】
G10L15/06 300Y
G10L13/00 100L
G10L15/16
【請求項の数】 22
(21)【出願番号】P 2023524429
(86)(22)【出願日】2021-10-20
(65)【公表番号】
(43)【公表日】2023-11-08
(86)【国際出願番号】 US2021055917
(87)【国際公開番号】W WO2022087180
(87)【国際公開日】2022-04-28
【審査請求日】2023-06-19
(31)【優先権主張番号】63/094,786
(32)【優先日】2020-10-21
(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)【参考文献】
【文献】国際公開第2021/225829(WO,A1)
【文献】国際公開第2020/231522(WO,A1)
【文献】国際公開第2019/139431(WO,A1)
【文献】WANG, Gary et al.,"Improving Speech Recognition Using Consistent Predictions on Synthesized Speech",Proc. of the IEEE ICASSP2020,2020年04月09日,pp.7029-7033
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-15/34
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(810)上で実行されると、前記データ処理ハードウェア(810)に、音声認識モデル(200)をトレーニングするための動作を実行させるコンピュータ実装方法(700)であって、前記動作は、
多言語テキスト音声(TTS)モデル(310)を取得することと、
前記多言語TTSモデル(310)を使って、第1の言語の母語話者の話者特性(304)で条件付けられる、前記第1の言語での入力テキストシーケンス(302)のためのネイティブ合成音声表現(306)を生成することと、
前記多言語TTSモデル(310)を使って、異なる第2の言語の母語話者の話者特性(304)で条件付けられる、前記第1の言語での前記入力テキストシーケンス(302)のための言語横断合成音声表現(306)を生成することと、
前記音声認識モデル(200)を使って、前記ネイティブ合成音声表現(306)についての第1の音声認識結果(312)および前記言語横断合成音声表現(306)についての第2の音声認識結果(312)を生成することと、
前記第1の音声認識結果(312)前記第2の音声認識結果(312)との間の相違に関連付けられる一貫性損失項(352)を判断することと、
前記一貫性損失項(352)に基づいて、前記音声認識モデル(200)のパラメータを更新することとを含む、コンピュータ実装方法(700)。
【請求項2】
前記動作は、
前記第1の音声認識結果(312)および前記第1の言語での前記入力テキストシーケンス(302)に基づいて、第1の交差エントロピー損失項(342)を生成することと、
前記第2の音声認識結果(312)および前記第1の言語での前記入力テキストシーケンス(302)に基づいて、第2の交差エントロピー損失項(342)を判断することと、
前記第1および第2の交差エントロピー損失項(342)に基づいて前記音声認識モデル(200)のパラメータを更新することとをさらに含む、請求項1に記載のコンピュータ実装方法(700)。
【請求項3】
前記音声認識モデル(200)の前記パラメータは、前記第1および第2の交差エントロピー損失項(342)とは無関係に、前記一貫性損失項(352)に基づいて更新される、請求項2に記載のコンピュータ実装方法(700)。
【請求項4】
前記動作は、前記第1および第2の交差エントロピー損失項(342)を、前記多言語TTSモデル(310)を通して逆伝搬することをさらに含む、請求項2または3に記載のコンピュータ実装方法(700)。
【請求項5】
前記動作は、前記ネイティブ合成音声表現(306)または前記言語横断合成音声表現(306)のうちの少なくとも1つにデータ拡大を適用することをさらに含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法(700)。
【請求項6】
前記多言語TTSモデル(310)は、
前記第1および第2の言語にわたって言語埋込み(303)を共有するエンコーダ部分(316)と、
前記第1および第2の言語にわたって前記言語埋込み(303)を共有し、前記第1の言語の母語話者と前記第2の言語の母語話者の両方についての話者埋込み(303)を共有するデコーダ部分(318)とを含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法(700)。
【請求項7】
前記第1の言語の前記母語話者についての話者埋込み(303)の数は、前記第2の言語の前記母語話者についての話者埋込み(303)の数未満である、請求項6に記載のコンピュータ実装方法(700)。
【請求項8】
前記デコーダ部分(318)は、変分オートエンコーダ(410)を使って合成音声表現(306)から抽出される韻律情報でさらに条件付けられる、請求項6または7に記載のコンピュータ実装方法(700)。
【請求項9】
前記変分オートエンコーダ(410)を使って前記合成音声表現(306)から抽出される前記韻律情報は、話者分類に対して敵対的損失を適用することによって、話者情報から分離される、請求項8に記載のコンピュータ実装方法(700)。
【請求項10】
前記動作は、前記ネイティブ合成音声表現および言語横断合成音声表現(306)を生成するのに先立って、
前記第1の言語での前記入力テキストシーケンス(302)をネイティブスクリプトに字訳することと、
前記ネイティブスクリプトを音素シーケンスにトークン化することと、
前記多言語TTSモデル(310)のエンコーダを使って、前記音素シーケンスを符号化することと、
前記多言語TTSモデル(310)のデコーダを使って、前記符号化音素シーケンスを復号して、前記ネイティブ合成音声表現(306)または前記言語横断合成音声表現(306)の各々を生成することとをさらに含む、請求項1から9のいずれか一項に記載のコンピュータ実装方法(700)。
【請求項11】
前記動作は、
変分オートエンコーダ(410)を使って、前記ネイティブ合成音声表現(306)についてのネイティブオーディオエンコーダ埋込み(412)を生成することと、
前記変分オートエンコーダ(410)を使って、前記言語横断合成音声表現(306)についての言語横断オーディオエンコーダ埋込み(412)を生成することと、
前記ネイティブオーディオエンコーダ埋込みおよび言語横断オーディオエンコーダ埋込み(412)に基づいて、前記第1の言語で条件付けられる敵対的損失項(422)を判断することと、
前記敵対的損失項(422)に基づいて、前記多言語TTSモデル(310)のパラメータを更新することとをさらに含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法(700)。
【請求項12】
音声認識モデル(200)をトレーニングするシステム(800)であって、
データ処理ハードウェア(810)と、
前記データ処理ハードウェアと通信するメモリハードウェア(820)とを備え、前記メモリハードウェア(820)は、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を実行させる命令を記憶し、前記動作は、
多言語テキスト音声(TTS)モデル(310)を取得することと、
前記多言語TTSモデル(310)を使って、第1の言語の母語話者の話者特性(304)で条件付けられる、前記第1の言語での入力テキストシーケンス(302)のためのネイティブ合成音声表現(306)を生成することと、
前記多言語TTSモデル(310)を使って、異なる第2の言語の母語話者の話者特性(304)で条件付けられる、前記第1の言語での前記入力テキストシーケンス(302)のための言語横断合成音声表現(306)を生成することと、
前記音声認識モデル(200)を使って、前記ネイティブ合成音声表現(306)についての第1の音声認識結果(312)および前記言語横断合成音声表現(306)についての第2の音声認識結果(312)を生成することと、
前記第1の音声認識結果(312)前記第2の音声認識結果(312)との間の相違に関連付けられる一貫性損失項(352)を判断することと、
前記一貫性損失項(352)に基づいて、前記音声認識モデル(200)のパラメータを更新することとを含む、システム(800)。
【請求項13】
前記動作は、
前記第1の音声認識結果(312)および前記第1の言語での前記入力テキストシーケンス(302)に基づいて、第1の交差エントロピー損失項(342)を生成することと、
前記第2の音声認識結果(312)および前記第1の言語での前記入力テキストシーケンス(302)に基づいて、第2の交差エントロピー損失項(342)を判断することと、
前記第1および第2の交差エントロピー損失項(342)に基づいて前記音声認識モデル(200)のパラメータを更新することとをさらに含む、請求項12に記載のシステム(800)。
【請求項14】
前記音声認識モデル(200)の前記パラメータは、前記第1および第2の交差エントロピー損失項(342)とは無関係に、前記一貫性損失項(352)に基づいて更新される、請求項13に記載のシステム(800)。
【請求項15】
前記動作は、前記第1および第2の交差エントロピー損失項(342)を、前記多言語TTSモデル(310)を通して逆伝搬することをさらに含む、請求項13または14に記載のシステム(800)。
【請求項16】
前記動作は、前記ネイティブ合成音声表現(306)または前記言語横断合成音声表現(306)のうちの少なくとも1つにデータ拡大を適用することをさらに含む、請求項12から15のいずれか一項に記載のシステム(800)。
【請求項17】
前記多言語TTSモデル(310)は、
前記第1および第2の言語にわたって言語埋込み(303)を共有するエンコーダ部分(316)と、
前記第1および第2の言語にわたって前記言語埋込み(303)を共有し、前記第1の言語の母語話者と前記第2の言語の母語話者の両方についての話者埋込み(303)を共有するデコーダ部分(318)とを含む、請求項12から16のいずれか一項に記載のシステム(800)。
【請求項18】
前記第1の言語の前記母語話者についての話者埋込み(303)の数は、前記第2の言語の前記母語話者についての話者埋込み(303)の数未満である、請求項17に記載のシステム(800)。
【請求項19】
前記デコーダ部分(318)は、変分オートエンコーダ(410)を使って合成音声表現(306)から抽出される韻律情報でさらに条件付けられる、請求項17または18に記載のシステム(800)。
【請求項20】
前記変分オートエンコーダ(410)を使って前記合成音声表現(306)から抽出される前記韻律情報は、話者分類に対して敵対的損失を適用することによって、話者情報から分離される、請求項19に記載のシステム(800)。
【請求項21】
前記動作は、前記ネイティブ合成音声表現および言語横断合成音声表現(306)を生成するのに先立って、
前記第1の言語での前記入力テキストシーケンス(302)をネイティブスクリプトに字訳することと、
前記ネイティブスクリプトを音素シーケンスにトークン化することと、
前記多言語TTSモデル(310)のエンコーダを使って、前記音素シーケンスを符号化することと、
前記多言語TTSモデル(310)のデコーダを使って、前記符号化音素シーケンスを復号して、前記ネイティブ合成音声表現(306)または前記言語横断合成音声表現(306)の各々を生成することとをさらに含む、請求項12から20のいずれか一項に記載のシステム(800)。
【請求項22】
前記動作は、
変分オートエンコーダ(410)を使って、前記ネイティブ合成音声表現(306)についてのネイティブオーディオエンコーダ埋込み(412)を生成することと、
前記変分オートエンコーダ(410)を使って、前記言語横断合成音声表現(306)についての言語横断オーディオエンコーダ埋込み(412)を生成することと、
前記ネイティブオーディオエンコーダ埋込みおよび言語横断オーディオエンコーダ埋込み(412)に基づいて、前記第1の言語で条件付けられる敵対的損失項(422)を判断することと、
前記敵対的損失項(422)に基づいて、前記多言語TTSモデル(310)のパラメータを更新することとをさらに含む、請求項12から21のいずれか一項に記載のシステム(800)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、言語間音声合成を改良するために音声認識を使うことに関する。
【背景技術】
【0002】
自動音声認識(ASR)は、オーディオ入力を受け取り、オーディオ入力をテキストに転写することによって、人が言ったことの正確な転写を与えることを試みる。今日ではほとんど使われていないか、または限られた量の音声およびテキストリソースを有する言語は、限られた量のラベル付きトレーニングデータしか存在しないので、ASRシステムをトレーニングするための難題を提示する。自己教師あり学習を用いてASRモデルをトレーニングすると、ASRモデルをトレーニングするのに要するラベル付きトレーニングデータの量を削減することができる。しばしば、ASRモデルが、十分なラベル付きトレーニングデータを有する場合であっても、一意のASRモデルが各言語用に要求される。各言語用に別個のASRモデルを記憶するのは、多大な量のメモリを要する。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、音声認識モデルをトレーニングするための動作を実行させるコンピュータ実装方法を提供する。動作は、多言語テキスト音声(TTS)モデルを取得することを含む。動作は、多言語TTSモデルを使って、第1の言語の母語話者の話者特性で条件付けられる、第1の言語での入力テキストシーケンスのためのネイティブ合成音声表現を生成することも含む。動作は、音声認識モデルを使って、ネイティブ合成音声表現についての第1の音声認識結果および言語横断合成音声表現についての第2の音声認識結果を生成することも含む。動作はまた、第1の音声認識結果および第2の音声認識結果に基づいて一貫性損失項を判断することと、一貫性損失項に基づいて音声認識モデルのパラメータを更新することとを含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、第1の音声認識結果および第1の言語での入力テキストシーケンスに基づいて、第1の交差エントロピー損失項を生成することと、第2の音声認識結果および第1の言語での入力テキストシーケンスに基づいて、第2の交差エントロピー損失を判断することと、第1および第2の交差エントロピー損失項に基づいて、音声認識モデルのパラメータを更新することとをさらに含む。いくつかの例では、音声認識モデルのパラメータは、第1および第2の交差エントロピー損失項とは無関係に、一貫性損失項に基づいて更新される。動作は、多言語TTSモデルを通して第1および第2の交差エントロピー損失を逆伝搬することをさらに含み得る。任意選択で、動作は、ネイティブ合成音声表現または言語横断合成音声表現のうちの少なくとも1つにデータ拡大を適用することをさらに含み得る。
【0005】
いくつかの実装形態では、多言語TTSモデルは、第1および第2の言語にわたって言語埋込みを共有するエンコーダ部分と、第1および第2の言語にわたって言語埋込みを共有し、第1の言語の母語話者と第2の言語の母語話者の両方についての話者埋込みを共有するデコーダ部分とを含む。これらの実装形態において、第1の言語の母語話者についての話者埋込みの数は、第2の言語の母語話者についての話者埋込みの数未満であり得る。デコーダ部分は、変分オートエンコーダを使って合成音声表現から抽出された韻律情報でさらに条件付けられ得る。ここで、変分オートエンコーダを使って合成音声表現から抽出された韻律情報は、話者分類に対して敵対的損失を適用することによって、話者情報から分離される。
【0006】
いくつかの例では、ネイティブおよび言語横断合成音声表現を生成するのに先立って、動作は、第1の言語での入力テキストシーケンスをネイティブスクリプトに字訳することと、ネイティブスクリプトを音素シーケンスにトークン化することと、多言語TTSモデルのエンコーダを使って、音素シーケンスを符号化することと、多言語TTSモデルのデコーダを使って、符号化音素シーケンスを復号して、ネイティブ合成音声表現または言語横断合成音声表現の各々を生成することとをさらに含む。いくつかの実装形態では、動作は、変分オートエンコーダを使って、ネイティブ合成音声表現についてのネイティブオーディオエンコーダ埋込みを生成することと、変分オートエンコーダを使って、言語横断合成音声表現についての言語横断オーディオエンコーダ埋込みを生成することと、ネイティブおよび言語横断オーディオエンコーダ埋込みに基づいて、第1の言語で条件付けられる敵対的損失項を判断することと、敵対的損失項に基づいて、多言語TTSモデルのパラメータを更新することとをさらに含む。
【0007】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を実行させる命令を記憶するメモリハードウェアとを含む、音声認識モデルをトレーニングするためのシステムを提供する。動作は、多言語テキスト音声(TTS)モデルを取得することを含む。動作は、多言語TTSモデルを使って、第1の言語の母語話者の話者特性で条件付けられる、第1の言語での入力テキストシーケンスのためのネイティブ合成音声表現を生成することも含む。動作は、音声認識モデルを使って、ネイティブ合成音声表現についての第1の音声認識結果および言語横断合成音声表現についての第2の音声認識結果を生成することも含む。動作はまた、第1の音声認識結果および第2の音声認識結果に基づいて一貫性損失項を判断することと、一貫性損失項に基づいて音声認識モデルのパラメータを更新することとを含む。
【0008】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、第1の音声認識結果および第1の言語での入力テキストシーケンスに基づいて、第1の交差エントロピー損失項を生成することと、第2の音声認識結果および第1の言語での入力テキストシーケンスに基づいて、第2の交差エントロピー損失を判断することと、第1および第2の交差エントロピー損失項に基づいて、音声認識モデルのパラメータを更新することとをさらに含む。いくつかの例では、音声認識モデルのパラメータは、第1および第2の交差エントロピー損失項とは無関係に、一貫性損失項に基づいて更新される。動作は、多言語TTSモデルを通して第1および第2の交差エントロピー損失を逆伝搬することをさらに含み得る。任意選択で、動作は、ネイティブ合成音声表現または言語横断合成音声表現のうちの少なくとも1つにデータ拡大を適用することをさらに含み得る。
【0009】
いくつかの実装形態では、多言語TTSモデルは、第1および第2の言語にわたって言語埋込みを共有するエンコーダ部分と、第1および第2の言語にわたって言語埋込みを共有し、第1の言語の母語話者と第2の言語の母語話者の両方についての話者埋込みを共有するデコーダ部分とを含む。これらの実装形態において、第1の言語の母語話者についての話者埋込みの数は、第2の言語の母語話者についての話者埋込みの数未満であり得る。デコーダ部分は、変分オートエンコーダを使って合成音声表現から抽出された韻律情報でさらに条件付けられ得る。ここで、変分オートエンコーダを使って合成音声表現から抽出された韻律情報は、話者分類に対して敵対的損失を適用することによって、話者情報から分離される。
【0010】
いくつかの例では、ネイティブおよび言語横断合成音声表現を生成するのに先立って、動作は、第1の言語での入力テキストシーケンスをネイティブスクリプトに字訳することと、ネイティブスクリプトを音素シーケンスにトークン化することと、多言語TTSモデルのエンコーダを使って、音素シーケンスを符号化することと、多言語TTSモデルのデコーダを使って、符号化音素シーケンスを復号して、ネイティブ合成音声表現または言語横断合成音声表現の各々を生成することとをさらに含む。いくつかの実装形態では、動作は、変分オートエンコーダを使って、ネイティブ合成音声表現についてのネイティブオーディオエンコーダ埋込みを生成することと、変分オートエンコーダを使って、言語横断合成音声表現についての言語横断オーディオエンコーダ埋込みを生成することと、ネイティブおよび言語横断オーディオエンコーダ埋込みに基づいて、第1の言語で条件付けられる敵対的損失項を判断することと、敵対的損失項に基づいて、多言語TTSモデルのパラメータを更新することとをさらに含む。
【0011】
本開示の1つまたは複数の実装形態の詳細が、添付図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0012】
図1】音声認識モデルを含む例示的音声認識システムの概略図である。
図2】回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルアーキテクチャの概略図である。
図3】音声認識モデルおよび/または多言語テキスト音声モデルをトレーニングするための例示的トレーニングプロセスの概略図である。
図4】多言語テキスト音声モデルをトレーニングするための例示的トレーニングプロセスの概略図である。
図5】複数の音声認識モデルをトレーニングする多言語テキスト音声モデルの概略図である。
図6】例示的音声認識システムの概略図である。
図7】自動化音声認識モデルをトレーニングする方法のための動作の例示的並びのフローチャートである。
図8】本明細書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0013】
様々な図面における同様の符号は、同様の要素を示す。
【0014】
自動音声認識(ASR)モデルをトレーニングするには、膨大な量の転写データを要する。つまり、ASRモデルは、オーディオデータと、オーディオデータの対応する転写とを含むトレーニングデータペアを要求する。一緒になって、オーディオデータおよび対応する転写(たとえば、トレーニングデータペア)がASRモデルをトレーニングする。ASRモデルは、オーディオデータを受信し、オーディオデータの転写を予測し、予測転写を対応する転写(すなわち、グランドトゥルースラベル)と比較する。ただし、ASRモデルをトレーニングするのに要する量のトレーニングデータペアは、収集するのが困難である。いくつかの事例では、トレーニングデータペアにアクセスするのに、ユーザ許可が求められる。他の事例では、低リソース言語は、限られた数の対応可能話者しか含まず、ASRモデル性能の細かい改良しか行わないASRモデルをトレーニングするための音響的多様性がほとんど生じない。たとえば、インド系言語(たとえば、カンナダ語、テルグ語、タミル語、およびベンガル語)などの低リソース言語の場合、形式的な、制約のある音声スタイルをもつ限られた数の話者だけが、インド系言語ASRモデルをトレーニングするのに対応可能である。対照的に、英語などの高リソース言語の場合、英語ASRモデルをトレーニングするのに対応可能な、様々な音声スタイルをもつ数千人の話者が存在し得る。
【0015】
本明細書における実装形態は、ASRモデルをトレーニングするシステムおよび方法を対象とする。具体的には、多言語TTSモデルに入力された入力テキストシーケンスに対して、TTSモデルは、第1の言語でのネイティブ合成音声表現を生成する。ネイティブ合成音声表現は、第1の言語の母語話者の話者特性で条件付けられる。TTSモデルは、同じ入力テキストシーケンスに対して、第1の言語での言語横断合成音声表現も生成する。ここで、言語横断合成音声表現は、第2の言語の母語話者の話者特性で条件付けられる。つまり、言語横断合成音声表現は、第1の言語の非母語話者で条件付けられる。ASRモデルが、ネイティブおよび言語横断合成表現を受信し、ネイティブ合成音声表現についての第1の音声認識結果および言語横断合成音声表現についての第2の音声認識結果を生成する。一貫性損失項モジュールが、第1および第2の音声認識結果の比較に基づいて一貫性損失項を判断し、ASRモデルが、一貫性損失項に基づいてパラメータを更新する。
【0016】
本明細書における実装形態は、多言語TTSモデルをトレーニングするための多言語TTSモデルによって生じられた合成音声表現から、話者埋込み、言語埋込み、および韻律埋込みを分離するシステムおよび方法をさらに対象とする。変分オートエンコーダ(VAE)が、ネイティブおよび言語横断合成音声表現を受信し、ネイティブおよび言語横断合成音声表現について、それぞれ、ネイティブオーディオエンコーダ埋込みおよび言語横断オーディオエンコーダ埋込みを生成し得る。分類器が次いで、ネイティブおよび言語横断オーディオエンコーダ埋込みに基づいて、第1の言語で条件付けられる敵対的損失項を判断し得る。敵対的損失項は、多言語TTSモデルによって、なまりのある合成音声表現を生成するのを阻止するようにパラメータを更新するのに使われてよい。つまり、敵対的損失項は、それが合成音声表現を条件付けさせる話者特性の話者埋込み、言語埋込み、および/または韻律埋込みと合成音声表現が酷似するのを阻止する。
【0017】
図1は、ユーザ104のユーザデバイス102上および/またはユーザデバイス102と通信するリモートコンピューティングデバイス201(たとえば、クラウドコンピューティング環境において実行する分散型システムの、1つもしくは複数のサーバ)上に存在するASRモデル200を実装する自動化音声認識(ASR)システム100を示す。ユーザデバイス102はモバイルコンピューティングデバイス(たとえば、スマートフォン)として示されるが、ユーザデバイス102は、限定はしないが、タブレットデバイス、ラップトップ/デスクトップコンピュータ、装着可能デバイス、デジタルアシスタントデバイス、スマートスピーカー/ディスプレイ、スマート器具、車載インフォテインメントシステム、またはモノのインターネット(IoT)デバイスなど、任意のタイプのコンピューティングデバイスに対応してもよい。
【0018】
ユーザデバイス102は、ユーザ104によって発話された発声106を受信し(たとえば、ユーザデバイス102は、発話された発声106を記録するための1つまたは複数のマイクロフォンを含み得る)、発声106を、ASRシステム100によって処理されることが可能な入力音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108を含む。図示した例において、ユーザ104は、「What is the weather in New York City?」というフレーズに対する英語の自然言語で、それぞれの発声106を発話し、オーディオサブシステム108は、発声106を、ASRシステム100への入力用に、対応する音響フレーム110に変換する。その後、ASRモデル200は、入力として、発声106に対応する音響フレーム110を受信し、出力として、発声106の対応する転写(たとえば、認識結果/仮定)120を生成/予測する。図示した例において、ユーザデバイス102および/またはリモートコンピューティングデバイス201は、発声106の転写120の表現を、ユーザデバイス102のユーザ104に提示するように構成されたユーザインターフェースジェネレータ107も実行する。いくつかの構成では、ASRシステム100から出力された転写120は、たとえば、ユーザコマンドを実行するために、ユーザデバイス102またはリモートコンピューティングデバイス201上で実行する自然言語理解(NLU)モジュールによって処理される。追加または代替として、テキスト音声システム(たとえば、ユーザデバイス102またはリモートコンピューティングデバイス201の任意の組合せにおいても実行する)は、転写120を、別のデバイスによる可聴出力のための合成音声に変換してよい。たとえば、元の発声106は、ユーザ104が友人へ送っているメッセージに対応してよく、ここで転写120は、元の発声106において伝えられるメッセージを聴くべき友人への可聴出力のための合成音声に変換される。
【0019】
図2を参照すると、ASRモデル200は、エンドツーエンドの(E2E)シーケンスツーシーケンスモデルを含み得る。E2Eシーケンスツーシーケンスモデルは、対話型アプリケーションに関連付けられたレイテンシ制約を遵守する回帰型ニューラルネットワークトランスデューサ(RNN-T)モデルアーキテクチャを含み得る。RNN-Tモデル200は、小さい計算フットプリントを提供し、従来のASRアーキテクチャよりも少ないメモリ要件を使用して、RNN-Tモデルアーキテクチャを、ユーザデバイス102全体において音声認識を実施するのに適したものにする(たとえば、リモートサーバとの通信は求められない)。RNN-Tモデル200は、エンコーダネットワーク210、予測ネットワーク220、および共同ネットワーク230を含む。エンコーダネットワーク210は、従来のASRシステムにおける音響モデル(AM)に概ね類似し、積層長短期メモリ(LSTM)レイヤからなる回帰型ネットワークを含む。たとえばエンコーダは、d次元特徴ベクトルのシーケンス(たとえば、音響フレーム110(図1))x=(x1,x2,...,xT)を読み取り、ここで、
【数1】
であり、各時間ステップにおいて、より高次の特徴表現を生じる。このより高次の特徴表現は、
【数2】
と記される。
【0020】
同様に、予測ネットワーク220もLSTMネットワークであり、これは、言語モデル(LM)のように、最終ソフトマックスレイヤ240によってこれまで出力された非空白シンボルのシーケンス、すなわちy0、...、yui-1を処理して、密な表現
【数3】
にする。最終的に、RNN-Tモデルアーキテクチャを用いて、エンコーダおよび予測ネットワーク210、220によって生じた表現は、共同ネットワーク230によって組み合わされる。共同ネットワークは次いで、
【数4】
を予測し、これは、次の出力シンボルにわたる分布である。別の言い方をすると、共同ネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、可能な音声認識仮定にわたる確率分布を生成する。ここで、「可能な音声認識仮定」は、指定された自然言語でシンボル/キャラクタを各々が表す出力ラベルのセットに対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個のシンボルを含んでよく、たとえば、英語アルファベットの26文字の各々用の1つのラベル、および空間を指定する1つのラベルである。したがって、共同ネットワーク230は、出力ラベルの所定のセットの各々の出現の見込みを示す値のセットを出力してよい。この値セットは、ベクトルであってよく、出力ラベルのセットにわたる確率分布を示すことができる。いくつかの場合には、出力ラベルは書記素(たとえば、個々のキャラクタ、また、可能性としては句読および他のシンボル)であるが、出力ラベルのセットは、そのように限定されるわけではない。たとえば、出力ラベルのセットは、書記素に加え、またはその代わりに、ワードピースおよび/または単語全体を含み得る。共同ネットワーク230の出力分布は、異なる出力ラベルの各々についての事後確率値を含み得る。したがって、異なる書記素または他のシンボルを表す100個の異なる出力ラベルがある場合、共同ネットワーク230の出力yiは、1つが各出力ラベルについてである、100個の異なる確率値を含み得る。確率分布は次いで、スコアを選択し、転写120を判断するためのビームサーチプロセスにおいて(たとえば、ソフトマックスレイヤ240によって)候補正書(orthographic)要素(たとえば、書記素、ワードピース、および/または単語)に割り当てるのに使うことができる。
【0021】
ソフトマックスレイヤ240は、分布における最も高い確率をもつ出力ラベル/シンボルを、対応する出力ステップにおいてRNN-Tモデル200によって予測される次の出力シンボルとして選択するための、任意の技法を利用してもよい。このように、RNN-Tモデル200は、条件付き独立仮定は行わず、むしろ、各シンボルの予測は、音響だけでなく、それまでに出力されたラベルのシーケンスも条件とする。RNN-Tモデル200は、出力シンボルが将来の音響フレーム110に依存しないと想定し、そうすることによって、RNN-Tモデル200は、ストリーミング方式で利用されることが可能になる。
【0022】
いくつかの例では、RNN-Tモデル200のエンコーダネットワーク210は、8つの2,048次元LSTMレイヤからなり、各々に640次元投射レイヤが続く。予測ネットワーク220は、2つの2,048次元LSTMレイヤを有してよく、その各々に、やはり640次元投射レイヤが続く。最終的に、共同ネットワーク230も、640個の隠れユニットを有し得る。ソフトマックスレイヤ240は、複数のトレーニング用テキスト発声の中のすべての一意のワードピースまたは書記素を使って生成される統一ワードピースまたは書記素セットからなってよい。
【0023】
図3は、ASRモデル200および/または多言語TTSモデル310(TTSモデル310とも呼ばれる)をトレーニングするための例示的トレーニングプロセス300を示す。TTSモデル310は、複数の時間ステップの各々において、複数の発話されないトレーニング用テキスト発声302(入力テキストシーケンス302とも呼ばれる)の各々のための合成音声表現306を生成するように構成される。入力テキストシーケンス302は、テキストのみのデータ、すなわち、ペアのないデータである発話されないテキストを含み、それにより、各入力テキストシーケンス302は、どの合成音声または非合成音声表現ともペアにならず、すなわち、入力テキストシーケンス302は、人間音声の対応する発声とペアにならない。したがって、TTSモデル310は、入力テキストシーケンス302の各々のための対応する合成音声表現306を生成する。つまり、TTSモデル310は、ペアのない入力テキストシーケンス302のための合成音声表現306を予測することによって、自己教師あり学習により、ペアにされたデータを作成する。特に、合成音声表現306は、ASRモデル200をトレーニングするためのメル周波数スペクトログラムフレームを含んでよく、そうすることによって、TTSモデル310が、メル周波数スペクトログラムフレームを合成して合成音声にするためのボコーダおよび/またはシンセサイザを含む必要がなくなる。
【0024】
いくつかの例では、TTSモデル310は、入力テキストシーケンス302の各々のための複数の合成音声表現306を生成する。合成音声表現306の各々は、異なる言語の母語話者の話者特性304で条件付けられよい。いくつかの例では、それぞれの言語の各母語話者についての話者特性304は、図6を参照して以下でより詳細に論じる、話者埋込み305(図6)、言語埋込み303(図6)、および/またはアクセント/方言情報を表すローカル埋込み307(図6)を含む。
【0025】
図示した例において、TTSモデル310は、第1の言語での入力テキストシーケンス302を受信する。たとえば、入力テキストシーケンス302は、カンナダ語という低リソース言語(すなわち、第1の言語)での入力テキストを表し得る。その後、TTSモデル310は、第1の言語の母語話者の話者特性304、304aで条件付けられる、第1の言語での入力テキストシーケンス302のためのネイティブ合成音声表現306、306aを生成する。第1の言語の母語話者の話者特性304aは、第1の条件付け入力304aと呼ばれ得る。この例を続けると、TTSモデル310は、カンナダ語の母語話者の話者特性304で条件付けられる、カンナダ語でのネイティブ合成音声表現306aを生成する。したがって、ネイティブ合成音声表現306aは、入力テキストシーケンス302の対応する言語の母語話者の話者特性304aで条件付けられる。
【0026】
いくつかの実装形態では、トレーニングプロセス300は、ネイティブ合成音声表現306aを、対応する入力テキストシーケンス302のための、第1の言語の母語話者のグランドトゥルースオーディオと比較することによって、粗密(C2F)損失315を生成する。したがって、C2F損失315は、母語話者からの非合成音声(たとえば、グランドトゥルースオーディオ)と、ネイティブ合成音声表現306aとの間の差を表す。トレーニングプロセス300は、C2F損失315をTTSモデル310に与え、C2F損失315に基づいてTTSモデル310のパラメータを更新する。
【0027】
ただし、いくつかの事例では、いくつかの低リソース言語に対しては、第1の言語の、限られた数の母語話者しかいないので、ネイティブ合成音声表現306aの音響的多様性には制約がある。すなわち、カンナダ語などのインド系言語は、TTSモデル310が合成音声表現306をそれで条件付けさせることができる、カンナダ語の1人または2人の母語話者についての話者特性(たとえば、条件付け入力)304しか有していない場合がある。合成音声表現306の、制約のある音響的多様性は、ASRモデルをトレーニングするとき、段階的改良のみを与える。対照的に、英語などの高リソース言語は、様々な音声スタイルをもつ数千人の母語話者を有し、そうすることによって、トレーニング中に、ASRモデルに大幅な改良を与える。
【0028】
いくつかの実装形態では、TTSモデル310は、第1の言語とは異なる第2の言語の母語話者の話者特性304、304bで条件付けられる、第1の言語での同じ入力テキストシーケンス302のための言語横断合成音声表現306、306bを生成する。つまり、TTSモデル310は、第2の言語の母語話者の話者特性304bを伝える、第1の言語での入力テキストシーケンス302のための言語横断合成音声表現306bを生成する。第2の言語の母語話者の話者特性304bは、第2の条件付け入力304aと呼ばれ得る。たとえば、TTSモデル310は、英語の母語話者の話者特性304bで条件付けられる、カンナダ語での同じ入力テキストシーケンス302のための言語横断合成音声表現306bを生成する。言い換えると、言語横断合成音声表現306bは、英語の母語話者として話されるカンナダ語音声を表す。したがって、言語横断合成音声表現306bは、入力テキストシーケンス302の言語とは異なる言語の母語話者の話者特性304bで条件付けられる。
【0029】
合成音声表現306を、異なる言語の母語話者の話者特性で条件付けることによって、TTSモデル310は、合成音声表現306の間の音響的多様性を増すように、第1の言語での各入力テキストシーケンス302のための複数の合成音声表現306を生成することができる。つまり、TTSモデル310は、第2の言語の話者が第1の言語を話さない場合であっても、第1の言語(たとえば、カンナダ語)での入力テキストシーケンス302を合成するために、第2の言語(たとえば、英語)からの1人または複数の話者を使用することができる。したがって、TTSモデル310は、英語の母語話者についての話者特性を取得するために、英語などの高リソース言語を活用して、ASRモデルをトレーニングするために低リソース言語向けに生成される合成音声表現の間の音響的多様性を増すことができる。その上、TTSモデル310は、発話されない入力テキストシーケンス302のための合成音声表現306を生成することができ、そうすることによって、ASRモデル200用のトレーニングデータの語彙多様性を増す。
【0030】
いくつかの実装形態では、トレーニングプロセス300は、スペクトログラム一貫性損失(図示せず)を生成する。つまり、トレーニングプロセスは、第2の言語の母語話者の話者特性304bで条件付けられる言語横断合成音声表現306bに対して教師強制を実施するために、第1の言語の母語話者のグランドトゥルースオーディオから潜在変数を抽出し得る。その後、対応する入力テキストシーケンス302について、トレーニングプロセス300は、言語横断合成音声表現306b(たとえば、教師強制に基づく)と、第1の言語の母語話者のグランドトゥルースオーディオとの間の平均二乗誤差(MSE)を算出して、スペクトログラム一貫性損失を判断する。したがって、スペクトログラム一貫性損失は、言語横断合成音声表現306bと第1の言語の母語話者のグランドトゥルースオーディオとの間の一貫性を促進する。スペクトログラム一貫性損失は、TTSモデル310のパラメータを更新するために、TTSモデル310にフィードバックとして与えられてよい。
【0031】
図示した例において、TTSモデル310は、明快のためにのみ、ただ2人の話者304a、304bの話者特性304a、304bで条件付けられる合成音声表現306を生成する。つまり、TTSモデル310は、任意の数の話者の話者特性304で条件付けられる任意の数の合成音声表現306を生成し得る。たとえば、TTSモデル310は、第3の言語の母語話者(たとえば、スペインで話されるスペイン語の母語話者)の話者特性で条件付けられる、カンナダ語での第3の合成音声表現306を生成することができる。任意選択で、TTSモデル310は、第1の言語の第2の母語話者の話者特性で条件付けられる、カンナダ語での第4の合成の音声表現306を生成してよい。
【0032】
いくつかの実装形態では、トレーニングプロセス300は、ネイティブ合成音声表現306aおよび/または言語横断合成音声表現306bのうちの少なくとも1つにデータ拡大を適用するデータ拡大モジュール360を含む。合成音声表現306のデータ拡大は、ASRモデル200をトレーニングするのに使われるトレーニングサンプルの音響的多様性を助長するように構成される。いくつかの例では、データ拡大モジュール360は、ノイズを追加/注入すること、残響を追加すること、または合成音声表現306のタイミングを操作することのうちの少なくとも1つを含むデータ拡大技法を適用する。別のデータ拡大技法は、合成音声表現に多様な環境ノイズを注入するのに、マルチスタイルトレーニング(MTR)を使うことを含む。データ拡大モジュール360が、MTRに加え、またはその代わりに適用し得るさらに別のデータ拡大技法は、合成音声表現の音響をより近づかせるスペクトル拡大(SpecAugment)を使うことを含む。組み合わされて、MTRおよびSpecAugmentは、合成音声表現306にノイズを注入し、ランダムな外部ノイズ源を時間に沿って、表現の前に挿入し、その上に重ねてタイリングしてよく、ASRモデル200をトレーニングするのに先立って、ノイズ注入性の合成音声表現306をフィルタリングする。
【0033】
例示的トレーニングプロセス300は、多言語TTSモデル310によって生成された複数の合成音声表現306を使って、ASRモデル200をトレーニングする。図示した例において、ASRモデル200は、第1の言語(たとえば、カンナダ語)で話される音声を認識するようにトレーニングされる。各合成音声表現306に対して、ASRモデル200は、対応する音声認識結果312を生成する。音声認識結果312は、可能な音声認識仮定に対する確率分布を表し得る。ASRモデル200は、ネイティブ合成音声表現306aについての第1の音声認識結果312、312aおよび言語横断合成音声表現306bについての第2の音声認識結果312、312bを生成する。上記の例を続けると、ASRモデル200は、第1の条件付け入力306a(たとえば、カンナダ語の母語話者の話者特性306a)で条件付けられるネイティブ合成音声表現306aのためのメル周波数スペクトログラムフレームを受信し、第1の音声認識結果312aを生成する。ASRモデルはまた、第2の条件付け入力304b(たとえば、英語の母語話者の話者特性304b)で条件付けられる言語横断合成音声表現306bのためのメル周波数スペクトログラムフレームを受信し、第2の音声認識結果312bを生成する。
【0034】
いくつかの例では、トレーニングプロセス300は、第1および第2の音声認識結果312a、312bに基づいて一貫性損失項352を判断する。たとえば、トレーニングプロセス300は、複数の時間ステップの各々において、ASRモデル200によって出力された対応する音声認識結果312a、312bを受信し、複数の時間ステップの各々において対応する音声認識結果312a、312bの間の一貫性損失項352を判断するように構成された一貫性損失項モジュール350を利用してよい。一貫性損失項モジュール350は、可能な第1の合成音声認識結果仮定に対する第1の確率分布と、可能な第2の合成音声認識結果仮定に対する第2の確率分布との間のカルバックライブラーダイバージェンス(DKL)に基づいて、一貫性損失項352を判断し得る。
【0035】
一貫性損失項352は、ASRモデル200の正確さとは無関係な「教師なし」損失項を与え、ネイティブ合成音声表現306aから認識された第1の音声認識結果312aと、言語横断合成音声表現306bから認識された第2の音声認識結果312bとの間の一貫性を促進するための、ASRモデル200のパラメータを更新するのに利用されてよい。特に、合成音声表現306a、306bは、ASRモデル200用のグランドトゥルースとして働く同じ入力テキストシーケンス302から生成される。言い換えると、一貫性損失項352は、ASRモデル200が、同じ振る舞いをすること、たとえば、第1の言語の母語話者の話者特性304aが条件付けられるネイティブ合成音声表現306aと、同じ入力テキストシーケンス302のための、第2の言語の母語話者の話者特性304bが条件付けられる言語横断合成音声表現306bの両方に対して一貫性予測を行うことを学習するのを許可する。トレーニング中、一貫性損失項モジュール350は、一貫性損失項352に基づいてASRモデル200のパラメータを更新するために、一貫性損失項352をASRモデル200に返してよい。
【0036】
いくつかの実装形態では、トレーニングプロセス300は、入力として、音声認識結果312を受信し、グランドトゥルースとして働く入力テキストシーケンス302に基づいて、教師あり損失項342を出力として生成するように構成された教師あり損失項モジュール340を実行する。図示した例において、トレーニング用教師あり損失項モジュール340は、入力テキストシーケンス302(すなわち、グランドトゥルース転写)および第1の音声認識結果312aを受信し、第1の教師あり損失項342、342a(第1の交差エントロピー損失項342aとも呼ばれる)を出力する。したがって、第1の教師あり損失項342aは、第1の音声認識結果312aと、対応する入力テキストシーケンス302(たとえば、目標音声認識結果)との間の比較に基づく。第1の教師あり損失項342aは、ネイティブ合成音声表現306aに基づく、第1の音声認識結果312aの正確さを表す。
【0037】
その上、教師あり損失項モジュール340は、入力テキストシーケンス302および第2の音声認識結果312bを受信し、第2の教師あり損失項342、342b(第2の交差エントロピー損失項342bとも呼ばれる)を出力する。第2の教師あり損失項342bは、第2の音声認識結果312bと、対応する入力テキストシーケンス302(たとえば、目標音声認識結果)との間の比較に基づく。したがって、第2の教師あり損失項は、言語横断合成音声表現306bに基づく、第2の音声認識結果312bの正確さを表す。
【0038】
教師あり損失項モジュール340は、第1の教師あり損失項342aおよび第2の教師あり損失項342bをASRモデル200に返してよく、ASRモデル200は、第1の教師あり損失項342aおよび第2の教師あり損失項342bに基づいてパラメータを更新する。いくつかの例では、トレーニングプロセス300は、第1の教師あり損失項342aおよび第2の教師あり損失項342bとは無関係に、一貫性損失項352に基づいて、ASRモデル200のパラメータを更新する。任意選択で、トレーニングプロセス300は、TTSモデル310のパラメータを更新するために、第1の教師あり損失項342aおよび第2の教師あり損失項342bをTTSモデル310に逆伝搬してよい。ここで、ASRモデル200は、第1および第2の教師あり損失項342a、342bに基づいてTTSモデル310のパラメータを更新する間、ASRモデル200のパラメータが静的である(たとえば、更新されない)ように固定される。
【0039】
図4は、多言語TTSモデル310をトレーニングするための例示的トレーニングプロセス400を示す。いくつかの実装形態では、TTSモデル310は、特定の話者の話者特性に密接に対応する合成音声表現306を生成する。たとえば、第1の言語304aの母語話者の数が限られている結果として、TTSモデル310は、限られた数の話者の話者特性に酷似するネイティブ合成音声表現306aを生成することになり得る。したがって、ASRモデル200(図3)は、限られた数の話者についての話者特性に類似する合成音声表現306のみでトレーニングする。したがって、トレーニングプロセス400は、合成音声表現306から話者、言語、および/または韻律情報を分離するように構成される階層変分オートエンコーダ(VAE)410を含む。
【0040】
いくつかの例では、TTSモデル310は、入力テキストシーケンス302の各々のための複数の合成音声表現306を生成する。合成音声表現306の各々は、異なる話者特性304を有する異なる話者を表す条件付け入力304で条件付けられてよい。いくつかの例では、話者は、特定の話者についての音声スタイルを表す話者特性304を含む。つまり、特定の話者についての話者特性304は、図6を参照してより詳しく論じる、話者埋込み305(図6)、言語埋込み303(図6)、および/またはアクセント/方言情報を表すローカル埋込み307(図6)を含み得る。
【0041】
図示した例において、TTSモデル310は、第1の言語での入力テキストシーケンス302を受信する。たとえば、入力テキストシーケンス302は、カンナダ語という低リソース言語(すなわち、第1の言語)での入力テキストを表し得る。その後、TTSモデル310は、第1の言語の母語話者304、304aの話者特性304aで条件付けられる、第1の言語での入力テキストシーケンス302のためのネイティブ合成音声表現306、306aを生成する。この例を続けると、TTSモデル310は、カンナダ語の母語話者304aの話者特性304aで条件付けられる、カンナダ語でのネイティブ合成音声表現306aを生成する。したがって、ネイティブ合成音声表現306aは、入力テキストシーケンス302の対応する言語の母語話者の話者特性304aで条件付けられる。
【0042】
いくつかの実装形態では、図3のトレーニングプロセス300に関して上述したように、図4のトレーニングプロセス400は、対応する入力テキストシーケンス302について、ネイティブ合成音声表現306aを、第1の言語の母語話者のグランドトゥルースオーディオと比較することによって、粗密(C2F)損失315を生成する。したがって、C2F損失315は、母語話者からの非合成音声(たとえば、グランドトゥルースオーディオ)と、ネイティブ合成音声表現306aとの間の差を表す。トレーニングプロセス400は、C2F損失315をTTSモデル310に与え、C2F損失315に基づいてTTSモデル310のパラメータを更新する。
【0043】
いくつかの実装形態では、TTSモデル310は、第1の言語とは異なる第2の言語の母語話者の話者特性304、304bで条件付けられる、第1の言語での同じ入力テキストシーケンス302のための言語横断合成音声表現306、306bも生成する。つまり、TTSモデル310は、第2の言語の母語話者が第1の言語で話すときに入力テキストシーケンス302のための言語横断合成音声表現306bを生成する。たとえば、TTSモデル310は、英語の母語話者の話者特性304bで条件付けられる、カンナダ語での同じ入力テキストシーケンス302のための言語横断合成音声表現306bを生成する。言い換えると、言語横断合成音声表現306bは、英語の母語話者として話されるカンナダ語音声を表す。したがって、言語横断合成音声表現306bは、入力テキストシーケンス302の言語とは異なる言語の母語話者の話者特性304bで条件付けられる。
【0044】
合成音声表現306を複数の話者304で条件付けることによって、TTSモデル310は、合成音声表現306の音響的多様性を増すように、第1の言語での各入力テキストシーケンス302のための複数の合成音声表現306を生成することができる。つまり、TTSモデル310は、第2の言語の話者が第1の言語を話さない場合であっても、第1の言語(たとえば、カンナダ語)からの入力テキストシーケンス302を合成するために、第2の言語(たとえば、英語)からの1人または複数の話者を使用することができる。したがって、TTSモデル310は、ASRモデルをトレーニングするために、低リソース言語のための合成音声表現を生成するのに、英語などの高リソース言語を活用することができる。その上、TTSモデル310は、発話されない入力テキストシーケンス302のための合成音声表現306を生成することができ、そうすることによって、ASRモデル200用のトレーニングデータの語彙多様性を増す。
【0045】
いくつかの実装形態では、トレーニングプロセス400は、スペクトログラム一貫性損失(図示せず)を生成する。つまり、トレーニングプロセスは、第2の言語の母語話者304bに対して教師強制を実施するために、第1の言語の母語話者のグランドトゥルースオーディオから潜在変数を抽出し得る。その後、対応する入力テキストシーケンス302について、トレーニングプロセス400は、言語横断合成音声表現306b(たとえば、教師強制に基づく)と、第1の言語の母語話者のグランドトゥルースオーディオとの間の平均二乗誤差(MSE)を算出して、スペクトログラム一貫性損失を判断する。したがって、スペクトログラム一貫性損失は、言語横断合成音声表現306bと第1の言語の母語話者のグランドトゥルースオーディオとの間の一貫性を促進する。スペクトログラム一貫性損失は、TTSモデル310のパラメータを更新するために、TTSモデル310にフィードバックとして与えられてよい。
【0046】
図示した例において、TTSモデル310は、明快のためにのみ、ただ2人の話者304a、304bで条件付けられる合成音声表現306を生成する。つまり、TTSモデル310は、任意の数の話者304の話者特性304で条件付けられる任意の数の合成音声表現306を生成し得る。たとえば、TTSモデル310は、第3の言語の母語話者(たとえば、スペインで話されるスペイン語の母語話者)の話者特性で条件付けられる、カンナダ語での第3の合成音声表現306を生成することができる。任意選択で、TTSモデル310は、第1の言語の第2の母語話者の話者特性で条件付けられる、カンナダ語での第4の合成の音声表現306を生成してよい。
【0047】
いくつかの実装形態では、トレーニングプロセス400は、ネイティブ合成音声表現306aおよび/または言語横断合成音声表現306bのうちの少なくとも1つにデータ拡大を適用するデータ拡大モジュール360を含む。合成音声表現306のデータ拡大は、ASRモデル200をトレーニングするのに使われるトレーニングサンプルの音響的多様性を助長するように構成される。いくつかの例では、データ拡大モジュール360は、ノイズを追加/注入すること、残響を追加すること、または合成音声表現306のタイミングを操作することのうちの少なくとも1つを含むデータ拡大技法を適用する。別のデータ拡大技法は、合成音声表現に多様な環境ノイズを注入するのに、マルチスタイルトレーニング(MTR)を使うことを含む。データ拡大モジュール360が、MTRに加え、またはその代わりに適用し得るさらに別のデータ拡大技法は、合成音声表現の音響をより近づかせるスペクトル拡大(SpecAugment)を使うことを含む。組み合わされて、MTRおよびSpecAugmentは、合成音声表現306にノイズを注入し、ランダムな外部ノイズ源を時間に沿って、表現の前に挿入し、その上に重ねてタイリングしてよく、ASRモデル200をトレーニングするのに先立って、ノイズ注入性の合成音声表現306をフィルタリングする。
【0048】
例示的トレーニングプロセス400は、多言語TTSモデル310によって生成された複数の合成音声表現306を使って、ASRモデル200をトレーニングする。図示した例において、ASRモデル200は、第1の言語(たとえば、カンナダ語)での音声を認識するようにトレーニングされる。各合成音声表現306に対して、ASRモデル200は、対応する音声認識結果312を生成する。音声認識結果312は、可能な音声認識仮定に対する確率分布を表し得る。ASRモデル200は、ネイティブ合成音声表現306aについての第1の音声認識結果312、312aおよび言語横断合成音声表現306bについての第2の音声認識結果312、312bを生成する。上記の例を続けると、ASRモデル200は、第1の条件付け入力304a(たとえば、カンナダ語の母語話者の話者特性)で条件付けられるネイティブ合成音声表現306aのためのメル周波数スペクトログラムフレームを受信し、第1の音声認識結果312aを生成する。ASRモデルはまた、第2の条件付け入力304b(たとえば、英語の母語話者の話者特性)で条件付けられる言語横断合成音声表現306bのためのメル周波数スペクトログラムフレームを受信し、第2の音声認識結果312bを生成する。
【0049】
トレーニングプロセス400は、合成音声表現306のためのエンコーダ埋込み412を生成するように構成された階層VAE(互換的に、VAEと呼ばれる)410も含む。VAE410は、各合成音声表現306の、1秒が重複する、固定された2秒間チャンクを符号化するように構成されたローカルエンコーダと、合成音声表現306全体を符号化するように構成されたグローバルエンコーダとを含む。図示した例において、VAE410は、ネイティブ合成音声表現306aを受信し、ネイティブオーディオエンコーダ埋込み412、412aを生成する。ネイティブオーディオエンコーダ埋込み412aは、ネイティブ合成音声表現306aから抽出された潜在変数を表す。たとえば、ネイティブオーディオエンコーダ埋込み412は、ネイティブ合成音声表現306aから抽出された韻律/アクセント情報を表し得る。その上、VAE410は、言語横断合成音声表現306bのための言語横断オーディオエンコーダ埋込み412、412bを生成する。言語横断オーディオエンコーダ埋込み412bは、言語横断合成音声表現306bから抽出された潜在変数(たとえば、韻律/アクセント情報)を表す。
【0050】
トレーニングプロセス400は、ネイティブオーディオエンコーダ埋込み412aおよび言語横断オーディオエンコーダ埋込み412bを受信する分類器420も実行する。分類器420は、言語分類器であってよい。分類器420は、ネイティブオーディオエンコーダ埋込み412aおよび言語横断オーディオエンコーダ埋込み412bに基づいて、敵対的損失項422を判断する。TTSモデル310は、分類器420から敵対的損失項422を受信し、敵対的損失項422に基づいてTTSモデル310のパラメータを更新する。つまり、敵対的損失項422は、話者304の韻律/アクセント情報のみに類似する合成音声表現306をTTSモデル310が生成するのを阻止する。言い換えると、VAE410を使って合成音声表現306から抽出されたエンコーダ埋込み412は、話者分類に敵対的損失項422を適用することによって、話者情報から分離される。
【0051】
ここで図5を参照すると、いくつかの実装形態では、TTSモデル310は、複数の単一言語ASRモデル200を別々にトレーニングするために、異なる言語での合成音声表現306を生成する。図示した例において、第1のASRモデル200、200aは、第1の言語での音声を認識するように、第1の言語でTTSモデル310によって生成された合成音声表現306、306Aでトレーニングされ、第2のASRモデル200、200bは、第2の言語での音声を認識するように、TTSモデル310によって第2の言語で生成された合成音声表現306、306Bでトレーニングされ、第3のASRモデル200、200cは、第3の言語での音声を認識するように、TTSモデル310によって第3の言語で生成された合成音声表現306、306Cでトレーニングされる。他の例では、TTSモデル310は、複数の異なる言語での音声を認識するように単一の多言語ASRモデル200をトレーニングするために、複数の言語での合成音声表現306を生成する。したがって、多言語TTSモデル310は、1つもしくは複数の単一言語ASRモデル200および/または多言語ASRモデル200をトレーニングするためのトレーニング用オーディオデータとしての使用のために、複数の異なる言語での入力テキストシーケンスから合成音声表現を生成する。各言語での合成音声表現は、それぞれの言語での母語話者の話者特性304aで条件付けられる、それぞれの言語でのネイティブ合成音声表現306aおよび/または異なる言語の母語話者の話者特性304bで条件付けられるそれぞれの言語での言語横断音声表現306b(図3)の両方を含み得る。図示する例は、ASRモデル200が、メル周波数スペクトログラムを含み得る合成音声表現でトレーニングされることを示すが、ASRモデル200は、合成音声表現から、たとえば、ボコーダ(図示せず)または他のシンセサイザデバイス(図示せず)を介して変換された合成音声の時間ドメインオーディオ波形で同様にトレーニングされてもよい。
【0052】
図示した例において、TTSモデル310は、入力として、入力テキストシーケンス302および1つまたは複数の条件付け入力304を受信し、出力として、それぞれの言語でASRモデル200をトレーニングするために合成音声表現306をそれぞれの言語で生成する。ここで、それぞれの言語での入力テキストシーケンス302から生成された合成音声表現306を条件付けるための、TTSモデル310によって受信された条件付け入力304は、それぞれの言語に関連付けられた言語埋込み303、それぞれの話者の声特性を特定する話者埋込み305、またはアクセント/方言情報を特定するローカル埋込み307のうちの少なくとも1つを含み得る。したがって、得られる合成音声表現306は、ローカル埋込みによって、および話者埋込み305によって特定された目標話者の声の中で特定されたアクセント/方言を有する音声スタイルを伝え得る。
【0053】
図6は、例示的音声認識システム600の概略図を示す。ここで、TTSモデル310は、対応する入力テキストシーケンス302についてのそれぞれの話者の話者特性304で各々が条件付けられる合成音声表現306を生成する。話者特性304は、言語埋込み303、話者埋込み305、および/またはローカル埋込み307を含み得る。つまり、言語埋込み303は、生じられるべき合成音声表現306の言語に関連付けられた言語情報を特定してよく、話者埋込み305は、目標話者の声特性を表してよく、ローカル埋込み307は、生じられるべき合成音声表現306に関連付けられたアクセント/方言を特定してよい。
【0054】
音素トークナイザ610が、入力テキストシーケンス302を受信し、テキストシーケンス302の言語をネイティブスクリプトに字訳する。いくつかの実装形態では、音素トークナイザ610は、言語埋込み303に基づいて、テキストシーケンス302の言語をネイティブスクリプトに字訳する。音素トークナイザ610は、ネイティブスクリプトを音素シーケンス612にトークン化する。音素トークナイザ610のすべての言語が、グローバル音声評価方法音標アルファベット(SAMPA:Speech Assessment Methods Phonetic Alphabet)導出音素セットを共有する。音素トークナイザ610は、入力テキストシーケンス302に対応する音素シーケンス612を、入力としてTTSモデル310に与える。
【0055】
TTSモデル310は、第1および第2の言語にわたって言語埋込み(すなわち、言語識別子)303を共有するエンコーダ部分316を含む。言語埋込み303は、音素埋込み抽出を改良するために、エンコーダ部分316に入力されてよい。ここで、言語埋込みは、TTSモデル310と共同でトレーニングされてよい。TTSモデル310は、第1および第2の言語にわたって言語埋込み303を共有し、異なる話者についての話者埋込み305を共有するデコーダ部分318も含む。デコーダ部分318は、ローカル埋込み307も共有し得る。
【0056】
エンコーダ部分316は、音素シーケンス612を符号化して符号化音素シーケンス612、612Eを生成するように構成される。いくつかの実装形態では、エンコーダ部分316は、音素シーケンス612を受信して、対応する符号化音素シーケンス612Eを、デコーダ部分318の各出力ステップ用の固定長コンテキストベクトルとして生成するように構成される注意ネットワークを含む。つまり、エンコーダ部分316における注意ネットワークは、デコーダ部分318が後で生成するメル周波数スペクトログラム(たとえば、合成音声表現306)の各フレーム用の固定長ベクトルを生成し得る。注意ネットワークは、エンコーダ部分316の出力の各要素に対する重みを判断し、各要素の加重和を判断することによって、固定長ベクトルを生成し得る。注意重みは、各デコーダ部分318の時間ステップに対して変わり得る。
【0057】
したがって、デコーダ部分318は、入力として、エンコーダ部分316からの符号化音素シーケンス612と、話者埋込み305と、言語埋込み303(および任意選択でローカル埋込み307)とを受信して、合成音声表現306を生成するように構成される。いくつかの例では、デコーダ部分318は、合成音声表現306から抽出された韻律情報(すなわち、エンコーダ埋込み412)でさらに条件付けられる。合成音声表現306は、言語埋込み303によって特定された言語であり、話者埋込み303によって特定された、目標話者(たとえば、第1の言語の母語話者304aまたは第2の言語304bの母語話者であってよい)の声を表す。
【0058】
デコーダ部分318は、符号化音素シーケンス612Eを復号して、ネイティブ合成音声表現306aまたは言語横断合成音声表現306bの各々を生成する。たとえば、デコーダ部分318が、第1の言語についての言語埋込み303および第1の言語の母語話者304aについての話者埋込み305を受信する場合、デコーダ部分318は、符号化音素シーケンス612Eを復号し、ネイティブ合成音声表現306aを生成する。代替例では、デコーダ部分318が、第1の言語についての言語埋込み303および第2の言語の母語話者304bについての話者埋込み305を受信する場合、デコーダ部分318は、符号化音素シーケンス612Eを復号し、言語横断合成音声表現306bを生成する。
【0059】
図示した例において、TTSモデル310は、合成音声表現306を、入力としてVAE410に与える。VAE410は、合成音声表現306を消費し、ネイティブオーディオエンコーダ埋込み412aまたは言語横断オーディオエンコーダ埋込み412bの各々を出力するように構成される。つまり、VAE410は、合成音声表現306から潜在変数(たとえば、韻律情報)を抽出する。たとえば、VAE410がネイティブ合成音声表現306aを受信する場合、VAE410は、ネイティブ合成音声表現306aの潜在変数を抽出し、ネイティブオーディオエンコーダ埋込み412aを生成する。代替として、VAE410が言語横断合成音声表現306bを受信する場合、VAE410は、言語横断合成音声表現306bの潜在変数を抽出し、言語横断オーディオエンコーダ埋込み412bを生成する。いくつかの実装形態では、デコーダ部分318は、VAE410によって合成音声表現306から抽出される韻律情報でさらに条件付けられる。つまり、デコーダ部分318は、オーディオエンコーダ埋込み412を受信し、オーディオエンコーダ埋込み412に基づいて、合成音声表現306をさらに条件付ける。敵対的損失422は、話者情報から韻律を分離するために、符号化音素シーケンス612Eに対して適用されてよい。
【0060】
分類器420は、オーディオエンコーダ埋込み412を受信し、敵対的損失422を生成する。いくつかの例では、分類器420は言語分類器を含む。他の例では、分類器420は敵対的または話者分類器を含む。分類器420は、話者分類に対して敵対的損失を適用することによって、合成音声表現306から抽出された韻律情報を分離するように構成されてよい。TTSモデル310は、敵対的損失422を受信し、敵対的損失422に基づいてパラメータを更新してよい。
【0061】
図7は、自動化音声認識(ASR)モデル200をトレーニングするためのコンピュータ実装方法700のための動作の例示的な並びのフローチャートである。動作702において、方法700は、多言語テキスト音声(TTS)モデル310を取得するステップを含む。動作704において、方法700は、多言語TTSモデル310を使って、第1の言語の母語話者の話者特性304aで条件付けられる、第1の言語での入力テキストシーケンス302のためのネイティブ合成音声表現306、306aを生成するステップを含む。ここで、第1の言語は、制約のある音声スタイルをもつ数人の母語話者だけを有する低リソース言語であるカンナダ語であってよい。動作706において、方法700は、TTSモデル310を使って、異なる第2の言語の母語話者の話者特性304bで条件付けられる、第1の言語での入力テキストシーケンス302のための言語横断合成音声表現306、306bを生成するステップを含む。第2の言語は、様々な音声スタイルをもつ数千人の母語話者304bを有する英語であってよい。
【0062】
動作708において、方法700は、ASRモデル200を使って、ネイティブ合成音声表現306aについての第1の音声認識結果312、312aおよび言語横断合成音声表現306bについての第2の音声認識結果312、312bを生成するステップを含む。動作710において、方法700は、第1の音声認識結果312aおよび第2の音声認識結果312bに基づいて、一貫性損失項352を判断するステップを含む。動作712において、方法700は、一貫性損失項352に基づいて、ASRモデル200のパラメータを更新するステップを含む。任意選択で、一貫性損失項352が、一貫性損失項352に基づいてTTSモデル310のパラメータを更新するためのTTSモデル310を通って逆伝搬される間、ASRモデル200のパラメータは固定されてよい。
【0063】
図8は、本文書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイス800の概略図である。コンピューティングデバイス800は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形のデジタルコンピュータを表すことを意図している。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示であることのみを目的としており、本文書において記載および/または請求される本発明の実装形態を限定することは目的としていない。
【0064】
コンピューティングデバイス800は、プロセッサ810と、メモリ820と、記憶デバイス830と、メモリ820および高速拡張ポート850に接続する高速インターフェース/コントローラ840と、低速バス870および記憶デバイス830に接続する低速インターフェース/コントローラ860とを含む。構成要素810、820、830、840、850、および860の各々は、様々なバスを使って相互接続され、共通マザーボード上に、または必要に応じて他の方式で搭載されてよい。プロセッサ810は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を、高速インターフェース840に結合されたディスプレイ880などの外部入力/出力デバイス上に表示するための、メモリ820中または記憶デバイス830上に記憶された命令を含む、コンピューティングデバイス800内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使われてよい。また、複数のコンピューティングデバイス800が接続されてよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
【0065】
メモリ820は、コンピューティングデバイス800内に情報を非一時的に記憶する。メモリ820は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ820は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス800による使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含むが、それに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それに限定されない。
【0066】
記憶デバイス830は、コンピューティングデバイス800に大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス830は、コンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス830は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶エリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加実装形態では、コンピュータプログラム製品が、情報キャリア中で有形に実施される。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ820、記憶デバイス830、またはプロセッサ810上のメモリなどのコンピュータまたは機械可読媒体である。
【0067】
高速コントローラ840は、コンピューティングデバイス800向けの帯域消費型動作を管理し、低速コントローラ860は、より帯域低消費型の動作を管理する。役割のそのような割振りは、例示にすぎない。いくつかの実装形態において、高速コントローラ840は、メモリ820、ディスプレイ880に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および様々な拡張カード(図示せず)を受ける場合がある高速拡張ポート850に結合される。いくつかの実装形態において、低速コントローラ860は、記憶デバイス830および低速拡張ポート890に結合される。低速拡張ポート890は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得るが、キーボード、ポインティングデバイス、スキャナなど、1つもしくは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワークデバイスに、たとえば、ネットワークアダプタを通して結合され得る。
【0068】
コンピューティングデバイス800は、図に示すように、いくつかの異なる形で実装されてよい。たとえば、標準サーバ800aとして、またはそのようなサーバ800aのグループで何度も、ラップトップコンピュータ800bとして、またはラックサーバシステム800cの一部として実装されてよい。
【0069】
本明細書に記載するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光学回路構成、集積回路構成、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含むことができ、プログラム可能プロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、ならびにそれらにデータおよび命令を送信するように結合された、特殊または一般的目的であってもよい。
【0070】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指し得る。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的アプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーム用アプリケーションを含むが、それに限定されない。
【0071】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラム可能プロセッサに、機械命令および/またはデータを提供するのに使われる、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))も指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するのに使われる任意の信号も指す。
【0072】
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラム可能プロセッサによって実施することができる。プロセスおよび論理フローは、特殊目的論理回路構成、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)やASIC(特定用途向け集積回路)によって実施することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサも含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路要素によって補完することも、その中に組み込むこともできる。
【0073】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)やLCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスやトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を可能にするのに使われることが可能であり、たとえば、ユーザに与えられるフィードバックは、任意の形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、発話、または触覚入力を含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使われるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザへウェブページを送信することによって、ユーザと対話することができる。
【0074】
いくつかの実装形態を記載した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内である。
【符号の説明】
【0075】
100 自動化音声認識(ASR)システム
102 ユーザデバイス
107 ユーザインターフェースジェネレータ
108 オーディオサブシステム
200 ASRモデル、RNN-Tモデル
201 リモートコンピューティングデバイス
210 エンコーダネットワーク、予測ネットワーク
220 予測ネットワーク
230 共同ネットワーク
240 ソフトマックスレイヤ
310 多言語TTSモデル、TTSモデル
316 エンコーダ部分
318 デコーダ部分
340 教師あり損失項モジュール
350 一貫性損失項モジュール
360 データ拡大モジュール
410 階層変分オートエンコーダ(VAE)、VAE
420 分類器
600 音声認識システム
610 音素トークナイザ
800 コンピューティングデバイス
800a 標準サーバ、サーバ
800b ラップトップコンピュータ
800c ラックサーバシステム
810 プロセッサ、構成要素
820 メモリ、構成要素
830 記憶デバイス、構成要素
840 高速インターフェース/コントローラ、構成要素
850 高速拡張ポート、構成要素
860 低速インターフェース/コントローラ、構成要素
870 低速バス
880 ディスプレイ
890 低速拡張ポート
図1
図2
図3
図4
図5
図6
図7
図8