(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-28
(54)【発明の名称】ニューラルテキストトゥスピーチのための音素と書記素
(51)【国際特許分類】
G10L 13/06 20130101AFI20240321BHJP
G10L 25/30 20130101ALI20240321BHJP
【FI】
G10L13/06 140
G10L25/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558845
(86)(22)【出願日】2021-12-10
(85)【翻訳文提出日】2023-11-27
(86)【国際出願番号】 US2021062837
(87)【国際公開番号】W WO2022203730
(87)【国際公開日】2022-09-29
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】イェ・ジア
(72)【発明者】
【氏名】ビュンハ・チュン
(72)【発明者】
【氏名】ユ・ジャン
(72)【発明者】
【氏名】ジョナサン・シェン
(72)【発明者】
【氏名】ヨンフイ・ウ
(57)【要約】
方法(400)は、入力エンコーダ埋込み(210)として表される単語のシーケンスを含むテキスト入力(152)を受信するステップを含む。入力エンコーダ埋込みは複数のトークン(212)を含み、複数のトークンは、テキスト入力をそれぞれの書記素として表す書記素トークン(212G)の第1のセットと、テキスト入力をそれぞれの音素として表す音素トークン(212P)の第2のセットとを含む。本方法はまた、音素トークンの第2のセットのそれぞれの音素トークンについて、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップと、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップとを含む。本方法はまた、それぞれの音素トークンと、それぞれの音素トークンと同じそれぞれの単語を表すと決定された対応する書記素トークンとの間の関係に基づいて、出力エンコーダ埋込み(Vc)を生成するステップを含む。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(112)によって実行されると、前記データ処理ハードウェア(112)に、
音声合成モデル(150)のエンコーダ(202)において、入力エンコーダ埋込み(210)として表される単語のシーケンスを備えるテキスト入力(152)を受信するステップであって、前記入力エンコーダ埋込み(210)が複数のトークン(212)を備え、前記複数のトークン(212)が、前記テキスト入力(152)をそれぞれの書記素として表す書記素トークン(212G)埋込みの第1のセットと、前記テキスト入力(152)をそれぞれの音素として表す音素トークン(212P)の第2のセットとを備える、ステップと、
音素トークン(212P)の前記第2のセットのそれぞれの音素トークン(212P)について、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスのそれぞれの単語を識別するステップと、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表すそれぞれの書記素トークン(212G)埋込みを決定するステップと、
前記エンコーダ(202)によって、それぞれの音素トークン(212P)と、前記それぞれの音素トークン(212P)と同じそれぞれの単語を表すと決定された前記対応する書記素トークン(212G)埋込みとの間の関係に基づいて、出力エンコーダ埋込み(Vc)を生成するステップと
を備える動作を実施させる、コンピュータ実装方法(400)。
【請求項2】
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の位置を識別するステップを備え、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の前記位置において、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップを備える、請求項1に記載の方法(400)。
【請求項3】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の各トークンが、
書記素トークン埋込み(212G)または音素トークン埋込み(212P)の一方、
セグメント埋込み、
単語位置埋込み、および
位置埋込み
の組合せを表す、請求項1または2に記載の方法(400)。
【請求項4】
前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップが、前記それぞれの音素トークン(212P)に関連付けられるそれぞれの単語位置埋込みに基づいて、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップを備える、請求項3に記載の方法(400)。
【請求項5】
前記それぞれの音素トークン(212P)に対応する単語のシーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップが、前記それぞれの書記素トークン(212G)埋込みが、前記それぞれの音素トークン(212P)の前記それぞれの単語位置埋込みと一致する対応する単語位置埋込みを備えることを決定するステップを備える、請求項4に記載の方法(400)。
【請求項6】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信するアテンションメカニズムを備える、請求項1から5のいずれか一項に記載の方法(400)。
【請求項7】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信する継続時間ベースのアップサンプラを備える、請求項1から6のいずれか一項に記載の方法(400)。
【請求項8】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)が、前記入力テキストの言語を識別する特別なトークンを備える、請求項1から7のいずれか一項に記載の方法(400)。
【請求項9】
前記動作が、
前記エンコーダ(202)に複数のトレーニング例(310)を供給するステップであって、各トレーニング例(310)が、単語のトレーニングシーケンスに対応するトレーニング書記素トークン(212G)埋込みのシーケンス、および同じ単語のトレーニングシーケンスに対応するトレーニング音素トークン(212P)のシーケンスとして表される、ステップと、
単語の前記トレーニングシーケンスからのそれぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング音素トークン(212P)をマスキングするステップと、
単語の前記トレーニングシーケンスからの前記それぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング書記素トークン(212G)埋込みをマスキングするステップと
によって、前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップをさらに備える、請求項1から8のいずれか一項に記載の方法(400)。
【請求項10】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップであって、前記分類トークンが言語識別子(214)を備える、ステップをさらに備える、請求項1から9のいずれか一項に記載の方法(400)。
【請求項11】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記出力エンコーダ埋込み(Vc)がエンコーダトークンのシーケンスを備え、各エンコーダトークンが、前記入力テキストに関する言語情報を備える、請求項1から10のいずれか一項に記載の方法(400)。
【請求項12】
前記音声合成モデル(150)が多アクセント音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップであって、前記分類トークンがアクセント識別子(214)を備える、ステップをさらに備える、請求項1から11のいずれか一項に記載の方法(400)。
【請求項13】
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と
を備え、前記メモリハードウェア(114)は、前記データ処理ハードウェア(112)上で実行されると、前記データ処理ハードウェア(112)に、
音声合成モデル(150)のエンコーダ(202)において、入力エンコーダ埋込み(210)として表される単語のシーケンスを備えるテキスト入力(152)を受信することであって、前記入力エンコーダ埋込み(210)が複数のトークン(212)を備え、前記複数のトークン(212)が、前記テキスト入力(152)をそれぞれの書記素として表す書記素トークン(212G)埋込みの第1のセットと、前記テキスト入力(152)をそれぞれの音素として表す音素トークン(212P)の第2のセットとを備える、ことと、
音素トークン(212P)の前記第2のセットのそれぞれの音素トークン(212P)について、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスのそれぞれの単語を識別することと、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表すそれぞれの書記素トークン(212G)埋込みを決定することと、
前記エンコーダ(202)によって、それぞれの音素トークン(212P)と、前記それぞれの音素トークン(212P)と同じそれぞれの単語を表すと決定された前記対応する書記素トークン(212G)埋込みとの間の関係に基づいて、出力エンコーダ埋込み(Vc)を生成することと
を備える動作を実施させる命令を記憶する、システム(200)。
【請求項14】
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の位置を識別することを備え、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の前記位置において、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することを備える、請求項13に記載のシステム(200)。
【請求項15】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の各トークンが、
書記素トークン埋込み(212G)または音素トークン埋込み(212P)の一方、
セグメント埋込み、
単語位置埋込み、および
位置埋込み
の組合せを表す、請求項13または14に記載のシステム(200)。
【請求項16】
前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することが、前記それぞれの音素トークン(212P)に関連付けられるそれぞれの単語位置埋込みに基づいて、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することを備える、請求項15に記載のシステム(200)。
【請求項17】
前記それぞれの音素トークン(212P)に対応する単語のシーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することが、前記それぞれの書記素トークン(212G)埋込みが、前記それぞれの音素トークン(212P)の前記それぞれの単語位置埋込みと一致する対応する単語位置埋込みを備えることを決定することを備える、請求項16に記載のシステム(200)。
【請求項18】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信するアテンションメカニズムを備える、請求項13から17のいずれか一項に記載のシステム(200)。
【請求項19】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信する継続時間ベースのアップサンプラを備える、請求項13から18のいずれか一項に記載のシステム(200)。
【請求項20】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)が、前記入力テキストの言語を識別する特別なトークンを備える、請求項13から19のいずれか一項に記載のシステム(200)。
【請求項21】
前記動作が、
前記エンコーダ(202)に複数のトレーニング例(310)を供給することであって、各トレーニング例(310)が、単語のトレーニングシーケンスに対応するトレーニング書記素トークン(212G)埋込みのシーケンス、および同じ単語のトレーニングシーケンスに対応するトレーニング音素トークン(212P)のシーケンスとして表される、ことと、
単語の前記トレーニングシーケンスからのそれぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング音素トークン(212P)をマスキングすることと、
単語の前記トレーニングシーケンスからの前記それぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング書記素トークン(212G)埋込みをマスキングすることと
によって、前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることをさらに備える、請求項13から20のいずれか一項に記載のシステム(200)。
【請求項22】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることであって、前記分類トークンが言語識別子(214)を備える、ことをさらに備える、請求項13から21のいずれか一項に記載のシステム(200)。
【請求項23】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記出力エンコーダ埋込み(Vc)がエンコーダトークンのシーケンスを備え、各エンコーダトークンが、前記入力テキストに関する言語情報を備える、請求項13から22のいずれか一項に記載のシステム(200)。
【請求項24】
前記音声合成モデル(150)が多アクセント音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることであって、前記分類トークンがアクセント識別子(214)を備える、ことをさらに備える、請求項13から23のいずれか一項に記載のシステム(200)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ニューラルテキストトゥスピーチのための音素と書記素(TTS)に関する。
【背景技術】
【0002】
音声合成システムは、テキスト入力から音声を生成するために、テキストトゥスピーチ(TTS)モデルを使用する。生成/合成された音声は、意図した韻律(表現力)を備えた人間の音声のように聞こえる(自然さ)と同時に、メッセージを正確に伝える(明瞭度)必要がある。音声合成システムは、連結およびパラメトリック合成モデルからニューラルネットワークを備えたモデルに進化した。この進化により、合成音声の自然さが大幅に向上したが、現在のTTSモデルは、合成音声を生成するためにTTSモデルに入力された入力テキストを完全に保存することができない。すなわち、ほとんどのTTSモデルは、ニューラルネットワークTTSモデルであっても、対応する書記素を保存せずに、入力テキストを音素表現に変換する。書記素が不足しているため、TTSモデルは、TTSモデルの機能をさらに向上させるために、音素と書記素との間の関係を利用することができない。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】https://arxiv.org/pdf/1810.04805v2.pdfにおいて入手可能な、Devlinの「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、ニューラルテキストトゥスピーチ合成のための音素トークンおよび書記素トークンを実装するためのコンピュータ実装方法を提供する。コンピュータ実装方法は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、音声合成モデルのエンコーダにおいて、入力エンコーダ埋込みとして表される単語のシーケンスを含むテキスト入力を受信するステップを含む動作を実施させる。入力エンコーダ埋込みは複数のトークンを含み、複数のトークンは、テキスト入力をそれぞれの書記素として表す書記素トークンの第1のセットと、テキスト入力をそれぞれの音素として表す音素トークンの第2のセットとを含む。本動作はまた、音素トークンの第2のセットのそれぞれの音素トークンについて、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップと、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップとを含む。本動作はまた、エンコーダによって、それぞれの音素トークンと、それぞれの音素トークンと同じそれぞれの単語を表すと決定された対応する書記素トークンとの間の関係に基づいて、出力エンコーダ埋込みを生成するステップを含む。
【0005】
本開示の実装形態は、以下の任意の機能のうちの1つまたは複数を含み得る。いくつかの実装形態では、エンコーダによって、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップは、それぞれの音素トークンに対応するそれぞれの単語内の位置を識別するステップを含み、エンコーダによって、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップは、それぞれの音素トークンに対応するそれぞれの単語内の位置において、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップを含む。
【0006】
いくつかの例では、入力エンコーダ埋込みの複数のトークンの各トークンは、書記素トークン埋込みまたは音素トークン埋込みの一方、セグメント埋込み、単語位置埋込み、および/または位置埋込みの組合せを表す。これらの例では、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップは、それぞれの音素トークンに関連付けられるそれぞれの単語位置埋込みに基づいて、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップを含み得る。ここで、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップは、それぞれの書記素トークンが、それぞれの音素トークンのそれぞれの単語位置埋込みと一致する対応する単語位置埋込みを含むことを決定するステップを含み得る。
【0007】
いくつかの実装形態では、音声合成モデルは、エンコーダと通信するアテンションメカニズムを含む。音声合成モデルは、エンコーダと通信する継続時間ベースのアップサンプラを含み得る。さらに、入力エンコーダ埋込みの複数のトークンは、入力テキストの言語を識別する特別なトークンを含み得る。
【0008】
本動作はまた、エンコーダに複数のトレーニング例を供給するステップであって、各トレーニング例が、単語のトレーニングシーケンスに対応するトレーニング書記素トークンのシーケンスおよび同じ単語のトレーニングシーケンスに対応するトレーニング音素トークンのシーケンスとして表される、ステップと、単語のトレーニングシーケンスからのそれぞれの単語のトレーニング音素トークンのシーケンスからトレーニング音素トークンをマスキングするステップと、単語のトレーニングシーケンスからのそれぞれの単語のトレーニング音素トークンのシーケンスからトレーニング書記素トークンをマスキングするステップとによって、音声合成モデルのエンコーダを事前トレーニングするステップを含み得る。
【0009】
いくつかの実装形態では、音声合成モデルは多言語音声合成モデルを含み、動作は、入力エンコーダ埋込みの複数のトークンの分類トークンを予測するために、分類目標を使用して音声合成モデルのエンコーダを事前トレーニングするステップであって、分類トークンが言語識別子を含む、ステップをさらに含む。他の実装形態では、音声合成モデルは多言語音声合成モデルを含み、出力エンコーダ埋込みはエンコーダトークンのシーケンスを含み、各エンコーダトークンは入力テキストに関する言語情報を含む。
【0010】
他の実装形態では、音声合成モデルは、多アクセント音声合成モデルを含み、動作は、入力エンコーダ埋込みの複数のトークンの分類トークンを予測するために、分類目標を使用して音声合成モデルのエンコーダを事前トレーニングするステップであって、分類トークンがアクセント識別子を含む、ステップをさらに含む。
【0011】
本開示の別の態様は、ニューラルテキストトゥスピーチ合成のための音素トークンおよび書記素トークンを実装するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、音声合成モデルのエンコーダにおいて、入力エンコーダ埋込みとして表される単語のシーケンスを含むテキスト入力を受信するステップを含む動作を実施させる命令を記憶する。入力エンコーダ埋込みは複数のトークンを含み、複数のトークンは、テキスト入力をそれぞれの書記素として表す書記素トークンの第1のセットと、テキスト入力をそれぞれの音素として表す音素トークンの第2のセットとを含む。本動作はまた、音素トークンの第2のセットのそれぞれの音素トークンについて、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップと、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップとを含む。本動作はまた、エンコーダによって、それぞれの音素トークンと、それぞれの音素トークンと同じそれぞれの単語を表すと決定された対応する書記素トークンとの間の関係に基づいて、出力エンコーダ埋込みを生成するステップを含む。
【0012】
この態様は、以下の任意の機能のうちの1つまたは複数を含み得る。いくつかの実装形態では、エンコーダによって、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップは、それぞれの音素トークンに対応するそれぞれの単語内の位置を識別するステップを含み、エンコーダによって、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップは、それぞれの音素トークンに対応するそれぞれの単語内の位置において、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップを含む。
【0013】
いくつかの例では、入力エンコーダ埋込みの複数のトークンの各トークンは、書記素トークン埋込みまたは音素トークン埋込みの一方、セグメント埋込み、単語位置埋込み、および/または位置埋込みの組合せを表す。これらの例では、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップは、それぞれの音素トークンに関連付けられるそれぞれの単語位置埋込みに基づいて、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を識別するステップを含み得る。ここで、それぞれの音素トークンに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークンを決定するステップは、それぞれの書記素トークンが、それぞれの音素トークンのそれぞれの単語位置埋込みと一致する対応する単語位置埋込みを含むことを決定するステップを含み得る。
【0014】
いくつかの実装形態では、音声合成モデルは、エンコーダと通信するアテンションメカニズムを含む。音声合成モデルは、エンコーダと通信する継続時間ベースのアップサンプラを含み得る。さらに、入力エンコーダ埋込みの複数のトークンは、入力テキストの言語を識別する特別なトークンを含み得る。
【0015】
本動作はまた、エンコーダに複数のトレーニング例を供給するステップであって、各トレーニング例が、単語のトレーニングシーケンスに対応するトレーニング書記素トークンのシーケンスおよび同じ単語のトレーニングシーケンスに対応するトレーニング音素トークンのシーケンスとして表される、ステップと、単語のトレーニングシーケンスからのそれぞれの単語のトレーニング音素トークンのシーケンスからトレーニング音素トークンをマスキングするステップと、単語のトレーニングシーケンスからのそれぞれの単語のトレーニング音素トークンのシーケンスからトレーニング書記素トークンをマスキングするステップとによって、音声合成モデルのエンコーダを事前トレーニングするステップを含み得る。
【0016】
いくつかの実装形態では、音声合成モデルは多言語音声合成モデルを含み、動作は、入力エンコーダ埋込みの複数のトークンの分類トークンを予測するために、分類目標を使用して音声合成モデルのエンコーダを事前トレーニングするステップであって、分類トークンが言語識別子を含む、ステップをさらに含む。他の実装形態では、音声合成モデルは多言語音声合成モデルを含み、出力エンコーダ埋込みはエンコーダトークンのシーケンスを含み、各エンコーダトークンは入力テキストに関する言語情報を含む。
【0017】
他の実装形態では、音声合成モデルは、多アクセント音声合成モデルを含み、動作は、入力エンコーダ埋込みの複数のトークンの分類トークンを予測するために、分類目標を使用して音声合成モデルのエンコーダを事前トレーニングするステップであって、分類トークンがアクセント識別子を含む、ステップをさらに含む。
【0018】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0019】
【
図2A】テキストトゥスピーチモデルの例示的な拡張エンコーダの概略図である。
【
図2B】テキストトゥスピーチモデルの例示的な拡張エンコーダの概略図である。
【
図2C】テキストトゥスピーチモデルの例示的な拡張エンコーダの概略図である。
【
図3】拡張エンコーダの例示的なトレーニングプロセスの概略図である。
【
図4】音素と書記素の両方を使用して出力エンコーダ埋込みを生成する方法の動作の例示的な構成のフローチャートである。
【
図5】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0020】
様々な図面における同様の参照記号は同様の要素を示す。
【0021】
ニューラルエンドツーエンドテキストトゥスピーチ(TTS)合成の急速な開発により、音声の生成が人間の自然さのレベルに近づくことが可能になった。これらのTTSシステムのニューラルネットワークは、通常、入力テキスト表現を隠れ状態にエンコードするエンコーダと、隠れ状態からスペクトログラムフレームまたは波形サンプルをデコードするデコーダとを含む。これらのTTSシステムは、エンコーダをデコーダに接続するために、アテンションまたは継続時間ベースのアップサンプラを使用し得る。
【0022】
これらのTTSシステムの開発中に、テキストを表すニューラルネットワークへの入力の形式が進化した。たとえば、初期のTTSシステムは、入力テキストの純粋な文字をニューラルネットワークへの入力として受け取る。しかし、時間が経つにつれて、ニューラルネットワークへの入力が純粋な文字ではなく音素(すなわち、テキスト表現が発音される方法)であれば、TTSシステムの安定性が向上する可能性があることが判明した。残念ながら、音素ベースのTTSモデルには欠点がないわけではない。たとえば、音素ベースのモデルに関する明らかな問題の1つは、2つの単語の発音が同じであるにもかかわらず、これら2つの単語が実際には異なる意味を持っている場合に発生する。すなわち、同音異義語である。たとえば、「支払いをキャンセルするには、1を押してください。続けるには、を押してください」という文は同音異義語の一例であり、コールセンタの会話型AIエージェントによって頻繁に使用され得る。この文の音素表現では、「too」は通常の英語においてより頻繁に出現する単語であるため、末尾の「..., two」が「..., too」と混同されやすい可能性がある。すなわち、予測システムは、たとえ「two」が意図されていたとしても、「too」という単語を出力する可能性が高くなる。この例では、2つのパターンのコンマの位置において、自然音声における異なる韻律が予想される。「..., two」の場合はコンマにおいて適度な休止が予想されるが、「..., too」のパターンでは休止がないことがよくある。TTSモデルが音素ベースの場合、この例文のテキスト表現のニューラルネットワークへの音素入力は、一貫して正確な出力、すなわち、合成音声が入力文のように聞こえるようにするために合成音声のコンマの後に一時停止を有する出力を保証するために書かれた文のコンテキストが欠けている。
【0023】
したがって、音素ベースのモデルを用いてそのような問題を克服するために、TTSモデルのニューラルネットワークへの入力が音素と書記素の両方を含むことが有利である。すなわち、入力は、入力のテキストの発音の表現(すなわち、音素)であると同時に、テキストの書き方の表現(すなわち、書記素)である。理想的には、書記素を含めることで、発音の曖昧さ(たとえば、同音異義語)に起因する問題が軽減または排除される。ただし、音素と書記素の両方を含むニューラルネットワークへの入力を生成することは、思っているほど簡単ではない。複雑さの1つは、音素と書記素が同じ内容を表し得るにもかかわらず、長さが異なる場合があることである。たとえば、文中の単語は、2つのサブワードまたは書記素を有し得、音素が1つしかない場合や、逆の例では、文中の単語が1つのサブワードまたは書記素(たとえば、サブワードは単語と同じ)と2つの音素を有する場合がある。したがって、文を表す音素の第1のシーケンスには、同じ文を表す書記素の第2のシーケンスとの固有の位置合わせの問題がある。
【0024】
この問題は存在するが、いくつかの手法では、入力に対して音素表現と書記素表現を組み合わせようとしている。これらの手法は、この位置合わせの問題に対する解決策を提案する代わりに、一般に問題を回避する傾向がある。たとえば、1つの手法は、書記素ベースの埋込みと音素の埋込みを連結することによって、音素表現と書記素表現を単語レベルで組み合わせることである。これらの手法は、音素と書記素ベースのトークン(すなわち、サブワードレベルにおける)の間の位置合わせの課題を処理しないため、音素と書記素の関係を完全には活用できない。つまり、これらの手法は、書記素の組み込みによってTTSモデルが提供される可能性を制限する(たとえば、精度の点で)。
【0025】
以前の手法の問題に対処するために、本明細書で説明される現在の技法は、音素と書記素との間の位置合わせ(または、位置ずれ)を考慮する。より具体的には、この手法は、ニューラルネットワークへの入力(すなわち、ニューラルネットワークのエンコーダへの入力)として表されるテキスト全体にわたって、音素トークンと書記素トークンとの間の位置合わせ関係(すなわち、サブワードまたはトークン化レベルにおける)を表す。この手法は、Bidirectional Encoder Representations from Transformers (BERT)モデルのエンコーダに似ている(たとえば、https://arxiv.org/pdf/1810.04805v2.pdfにおいて入手可能な、Devlinの「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」で説明されており、参照により本明細書に組み込まれる)。従来のBERTモデルでは、エンコーダは、セグメント識別子(ID)によって識別される複数の文(すなわち、セグメント)に対応する入力を受け取った。BERTへの入力は、音素ベースのトークン埋込み、セグメント埋込み、および位置埋込みの合計として複数の文を表していた。いくつかの点で似ているが、この技法がトークン埋込み用の音素と書記素を含んでいるため、現在の技法は拡張BERTまたはPnG BERTと見なされ得る。トークンレベルで書記素を考慮するために、拡張BERTは、従来のBERTのトークン埋込み、セグメント埋込み、および位置埋込みを含むだけでなく、音素と書記素との間の単語レベルの位置合わせを提供する単語位置の埋込みも含む。したがって、拡張BERTへの入力は4つのタイプの埋込みの表現であるが、従来のBERTには書記素の表現がなく3つのタイプの埋込みのみが含まれていた。
【0026】
拡張BERT手法は音素と書記素の関係をニューラルネットワークのエンコーダへの入力として表すため、この拡張BERTエンコーダ(拡張エンコーダとも呼ばれる)は様々なタイプのTTSモデルにおいて使用され得る。すなわち、ニューラルネットワークは通常、アテンションまたは継続時間ベースのアップサンプリングを備えたエンコーダ-デコーダ構造であるため、拡張エンコーダは、TTSモデルの他のエンコーダ-デコーダ構造におけるエンコーダを置き換えることができる。これは、拡張エンコーダが、大幅な変更を加えることなく、アテンションベースのニューラルネットワークと継続時間ベースのニューラルネットワークの両方と互換性があることを意味する。したがって、機能的に言えば、拡張エンコーダは、単言語TTSモデル、ロケールTTSモデル、多言語TTSモデル、および/または多アクセントTTSモデルにおいて使用され得る。
【0027】
現在の技法がBERTモデルに基づいて構築されているもう1つの理由は、BERTが、自然言語処理を改善するために、事前トレーニングを使用するモデルアーキテクチャであるためである。一般的に言えば、その事前トレーニングは、言語モデル(LM)またはマスク言語モデル(MLM)などの目標を使用する、大規模なテキストコーパスに対する自己教師ありの事前トレーニングである。従来のBERTの場合、事前トレーニングは書記素(サブワードレベル)または文レベルでのみ実施された。従来、事前トレーニングは音素に対しては行われなかった。拡張BERTは音素と書記素との間の関係をモデル化することができるため、拡張BERTが音素と書記素の両方について事前トレーニングし得るように、この関係が事前トレーニングに変換され得る。
【0028】
図1を参照すると、いくつかの実装形態では、音声環境100は、音声対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に音声発話12を伝達するユーザ10を含む。ユーザ10(すなわち、発話12の話者)は、デバイス110からの応答を求めるため、またはデバイス110にクエリによって指定されたタスクを実行させるためのクエリまたはコマンドとして発話12を話すことができる。デバイス110は、音声環境100内の1人または複数のユーザ10からの音をキャプチャするように構成されている。ここで、オーディオサウンドは、可聴クエリ、デバイス110に対するコマンド、またはデバイス110によってキャプチャされる可聴通信として機能する、ユーザ10による発話12を指し得る。デバイス110の、またはデバイス110に関連付けられた音声対応システム(たとえば、デジタルアシスタントインターフェース)は、クエリに応答すること、および/またはコマンドを実施させることによって、コマンドに対するクエリをフィールド化し得る。
【0029】
ここで、デバイス110は、ユーザ10による発話12に対応するオーディオデータ14をキャプチャする。デバイス110は、ユーザ10に関連付けられ、オーディオデータ14を受信することができる任意のコンピューティングデバイスに対応し得る。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップ、電子ブックリーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤ、キャスティングデバイス、スマート家電(たとえば、スマートテレビ)、およびモノのインターネット(IoT)デバイス、リモートコントローラ、スマートスピーカなどを含むが、これらに限定されない。デバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって実行されると、データ処理ハードウェア112に、音声および/またはテキスト処理に関する1つまたは複数の動作を実施させる命令を記憶するメモリハードウェア114とを含む。いくつかの例では、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、各アプリケーションは、アプリケーション内で様々な機能を実施するために、デバイス110に関連付けられる1つまたは複数の音声処理システム140、150、200を利用し得る。たとえば、デバイス110は、ユーザ10の様々なタスクを支援するために、合成再生オーディオ154(合成音声154とも呼ばれる)をユーザ10に通信するように構成されたアシスタントアプリケーションを含む。
【0030】
デバイス110は、音声環境100内のオーディオデータ14をキャプチャして電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116と、可聴オーディオ信号(たとえば、デバイス110からの合成再生信号154)を通信するための音声出力デバイス(たとえば、スピーカ)118とを備えたオーディオサブシステムをさらに含む。図示される例では、デバイス110は単一のオーディオキャプチャデバイス116を実装しているが、デバイス110は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス116のアレイを実装し得、それによって、アレイ内の1つまたは複数のオーディオキャプチャデバイス116は、デバイス110上に物理的に常駐していなくてもよいが、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信していてもよい。たとえば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを活用する車両インフォテインメントシステムに対応し得る。
【0031】
さらに、デバイス110は、ネットワーク120を介してリモートシステム130と通信するように構成されている。リモートシステム130は、リモートデータ処理ハードウェア134(たとえば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア136(たとえば、リモートデータベースまたは他のストレージハードウェア)などのリモートリソース132を含み得る。デバイス110は、音声処理および/または合成再生通信に関連する様々な機能を実施するために、リモートリソース132を利用し得る。たとえば、デバイス110は、音声認識システム140を使用した音声認識、および/またはTTSシステム150(たとえば、TTSモデル200を使用)を使用したテキストトゥスピーチの変換を実施するように構成される。これらのシステム140、150、200は、デバイス110上に常駐してもよく(オンデバイスシステムと呼ばれる)、リモートに常駐(たとえば、リモートシステム130上に常駐)してもよいが、デバイス110と通信している。いくつかの例では、これらのシステム140、150、200のうちのいくつかはローカルまたはデバイス上に常駐し、他のシステムはリモートに常駐する。言い換えれば、これらのシステム140、150、200のいずれも、任意の組合せでローカルまたはリモートであり得る。たとえば、システム140、150、200のサイズまたは処理要件がかなり大きい場合、システム140、150、200はリモートシステム130内に常駐してもよい。さらに、デバイス110が1つまたは複数のシステム140、150、200のサイズまたは処理要件をサポートし得る場合、1つまたは複数のシステム140、150、200は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110上に常駐してもよい。任意で、システム140、150、200のうちの1つまたは複数は、ローカル/デバイス上およびリモートの両方に常駐し得る。たとえば、システム140、150、200のうちの1つまたは複数は、デバイス110とリモートシステム130との間のネットワーク120への接続が利用可能な場合、デフォルトで、リモートシステム130上で実行し得るが、接続が失われた場合、またはネットワーク120が利用できない場合、システム140、150、200は代わりにデバイス110上でローカルに実行する。
【0032】
音声認識システム140は、オーディオデータ14を入力として受信し、そのオーディオ信号を出力として転写物142に転写する。一般的に言えば、オーディオデータ14を転写物142に変換することによって、音声認識システム140は、デバイス110が、ユーザ10からの発話12がクエリ、コマンド、または何らかの他の形式のオーディオ通信に対応するときを認識できるようにする。転写物142は、デバイス110がクエリまたはコマンドに対する応答を生成するために使用し得るテキストのシーケンスを指す。たとえば、ユーザ10がデバイス110に「今日の天気はどうなるでしょうか」という質問をすると、デバイス110は「今日の天気はどうなるでしょうか」という質問に対応するオーディオデータ14を音声認識システム140に渡す。音声認識システム140は、オーディオデータ14を「今日の天気はどうなるでしょうか?」というテキストを含むトランスクリプトに変換する。次いで、デバイス110は、テキストまたはテキストの一部を使用して、クエリに対する応答を決定し得る。たとえば、当日(すなわち、今日)の天気を決定するために、デバイス110は、テキスト(たとえば、「今日の天気はどうなるでしょうか?」)、またはテキストの識別部分(たとえば、「天気」と「今日」)を検索エンジンに渡す。次いで、検索エンジンは、ユーザ10に対する応答を生成するためにデバイス110が解釈する1つまたは複数の検索結果を返し得る。
【0033】
いくつかの実装形態では、デバイス110またはデバイス110に関連付けられるシステムは、デバイス110が発話12のクエリに対する応答としてユーザ10に通信するテキスト152(テキスト152のシーケンスまたは入力テキスト152とも呼ばれる)を識別する。次いで、デバイス110は、テキスト152を、デバイス110が発話12のクエリに対する応答としてユーザ10に通信する(たとえば、ユーザ10に聴覚的に通信する)ための対応する合成再生オーディオ154に変換するために、TTSシステム150を使用し得る。言い換えれば、TTSシステム150は、テキスト152を入力として受信し、テキスト152を合成再生オーディオ154の出力に変換し(たとえば、一連のニューラルネットワークを通じて)、合成再生オーディオ154は、テキスト152の可聴表現を定義するオーディオ信号である。たとえば、再生オーディオ154は、入力テキスト152の言語化またはナレーションである。いくつかの例では、入力テキスト152は、特定の自然言語(たとえば、英語、スペイン語、またはフランス語)におけるテキストまたは文字のシーケンスを指す。文字のシーケンスは、文字、数字、句読点、および/または他の特殊文字を含むことができる。TTSシステム150が再生オーディオ154を生成するとき、再生オーディオ154は、人間が入力テキスト152を定義する文字のシーケンスをどのように言語化するかを近似するという点で合成音声である。
【0034】
TTSシステム150(または、他の音声合成システム)は、合成再生オーディオ154を生成するためにディープニューラルネットワークを利用するTTSモデル200(たとえば、
図2のTTSモデル200)を含む。TTSモデル200は、オーディオ波形(たとえば、経時的なオーディオ信号の振幅を定義する時間領域オーディオ波形)を生成するために、音声特徴(たとえば、入力テキスト152の特徴)の符号化表現である埋込みを処理する。生成されると、TTSシステム150は、合成再生オーディオ154をデバイス110に通信し、デバイス110が合成再生オーディオ154を出力できるようにする。たとえば、デバイス110は、「今日は晴れです」の合成再生オーディオ154をデバイス110のスピーカ118から出力する。ここで、TTSシステム150のTTSモデル200は、合成音声154の音声関連の属性を制御するように構成されている。言い換えれば、TTSモデル200は、人間の話者の声を自然にシミュレートすると同時に、きめの細かい潜在特徴をモデル化することによって多様な合成音声を生成することができるように構成されている。
図1は、アシスタントアプリケーションのコンテキストにおけるTTSシステム150の一例を示しているが、TTSシステム150(たとえば、TTSモデル200を使用する)は、たとえば、ナビゲーションまたは文書読上げなどの他のテキストトゥスピーチシナリオにも適用可能である。
【0035】
図2Aから
図2Cを参照すると、TTSモデル200は、拡張エンコーダ202、アダプタ204、およびデコーダ206を含む。拡張エンコーダ202は、テキスト152を入力として受信し、テキスト152は、変換器220がコンテキストベクトルVcにエンコードするための入力埋込み210に変換される。一般的に言えば、デコーダ206の入力シーケンスと出力シーケンスの長さが異なるため、エンコーダ-デコーダアーキテクチャはアダプタ204を使用する。したがって、アダプタ204は、入力シーケンスが出力シーケンスにどのように対応するかを扱うメカニズムとして機能する。たとえば、コンテキストベクトルVcのトークンに対応するオーディオフレームの数である。
図2Aに示されるように、アダプタ204、204a~bの2つのオプションがある。第1のオプションでは、第1のアダプタ204aは、デコーダ206が合成音声154(たとえば、スペクトログラムまたは波形)に復号するために互換性のある形式でコンテキストベクトルVcを提供するために、アテンション(一般にアテンションベースのTTSモデルと呼ばれる)を使用する。第2のオプションでは、第2のアダプタ204bは、デコーダ206が合成音声154に復号するために互換性のある形式でコンテキストベクトルVcを提供するために、コンテキストベクトルVcに注目する代わりに、継続時間ベースのアップサンプリング(継続時間ベースのTTSモデルと呼ばれる)を実施する。
【0036】
入力埋込み210を形成するために、TTSモデル200は、入力埋込み210が入力テキスト152を表す埋込みEの組合せであるという点で、前述したBERTモデルと同様に機能する。いくつかの実装形態では、入力埋込み210は、複数のトークン212、212a~nまたはトークン212のシーケンスとして表される単語のシーケンス(たとえば、1つの文または複数の文)に対応する。複数のトークン212は、テキスト入力152を表す音素トークンの第1のセット212、212P
1~nと、同じくテキスト入力152を表す書記素トークンの第2のセット212G、212G
1~nとを含む。すなわち、トークン212の第1のセットと第2のセットは両方とも同じテキスト入力152を表す。したがって、入力テキスト152が「私の犬はかわいい」という文である場合、音素トークンの第1のセット212Pは音素トークン212Pとして「私の犬はかわいい」という文を表し、書記素トークンの第2のセット212Gは、書記素トークン212Gと同じ文「私の犬はかわいい」を表す。ここで、音素トークン212Pは国際音声アルファベット(IPA)音素を指し得、書記素トークン212Gはサブワード単位に対応し得る。元のBERTモデルと同様に、複数のトークン212はまた、CLSトークン212、212CLSおよびSEPトークン212、212SEPとして示される特別なトークンを含み得る。CLSトークン212CLSは、トークン212の第1のセグメント(すなわち、文)または先頭のセグメントの前に追加され得る特別なトークンであり、SEPトークン212SEPは、あるセグメントがどこで終わり、別のセグメントが始まるかを示すために、各セグメントに追加されるセパレータとして機能する。たとえば、入力テキスト152が2つのセグメントとして表される2つの文を含む場合、トークンのシーケンス212は、(たとえば、
図2A~
図2Cに示されるように)2つのセグメントを分離するSEPトークン212SEPを含むことになる。いくつかの構成では、入力テキスト152を表すすべてのトークンは、埋込みルックアップおよびマスク言語モデリング(MLM)分類の目的で、同じ識別子(ID)空間を共有する。
【0037】
いくつかの例では、入力埋込みを形成するために3つのタイプの埋込み(たとえば、トークン埋込み、セグメント埋込み、および位置埋込み)の組合せを使用する元のBERTとは異なり、拡張エンコーダ202は、4つのタイプの埋込みEから入力埋込み210を形成する。たとえば、拡張エンコーダ202は、音素に加えて書記素を組み込むために拡張エンコーダ202に位置合わせコンテキストを提供するために、3つのタイプの埋込みEではなく4つのタイプの埋込みEを使用する。
図2Bを参照すると、入力埋込み210は、位置埋込みE、Ep、単語位置埋込みE、Ewp、セグメント埋込みE、Es、およびトークン埋込みE、Etの合計を表す。ここで、単語位置埋込みEwpは、位置埋込みが複数のトークン212の全体的な位置のインデックスである点で、位置埋込みEpとは異なる。一方、Ewpを埋め込んだ単語位置は、サブ単語レベルでの位置(すなわち、セグメントの単語内のどこにトークンが発生するか)を表す。Ewpに単語位置を埋め込むことによって、入力埋込み210は、たとえば、文中の第2の音素が第1の単語の第2の単語片(すなわち、単語位置)における第1の単語に対応することを表現することができ、また、同じ文の第2の書記素が文中の第2の単語に対応することも表す。つまり、音素と書記素との間の配置が入力埋込み210において表される。
【0038】
図2Bは、入力埋込み210の各トークン212が、位置埋込みE、Ep、単語位置埋込みE、Ewp、セグメント埋込みE、Es、およびトークン埋込みE、Etの組合せであることを示すために、入力埋込み210の各トークン212(すなわち、入力埋込み210のトークン化ステップ)の周囲の垂直点線ボックスを示している。ここで、位置埋込みEpは、入力埋込み210(たとえば、現在の入力埋込み210全体)に対するトークンステップの全体的またはグローバルな位置を指す。
図2Bにおいて、インデックス0から始まる9つの位置またはトークン化ステップがある。単語位置埋込みEwpは、トークン212が入力テキスト152からの単語のシーケンスにおいて、どの単語に対応するかを示す。
図2Bは、3つの単語からなる入力テキスト152を有する。Esを埋め込んだセグメントは、どのフレーズまたは文がトークン212に対応するかを識別する。書記素および音素に対応する入力を有する拡張エンコーダ202では、入力テキスト152は、入力テキスト152の単一セグメントごとに少なくとも2つのセグメントを含む。言い換えれば、入力テキスト152の各セグメントは、1回目は音素セグメントとして(
図2BにおいてセグメントAとして示される)、もう1回は書記素セグメントとして(
図2BにおいてセグメントBとして示される)、2回繰り返される。したがって、入力テキスト152が2つまたは4つの文であり、従来のBERTの場合は2つまたは4つのセグメントを意味する場合、拡張エンコーダ202の入力埋込み210はそれぞれ4つのセグメントまたは8つのセグメントとなる(すなわち、各文は、1回は書記素として、もう1回は音素として表現される)。さらに、入力埋込み210を形成するトークン埋込みEtは、セグメント(または、文)の単語のサブユニット表現に対応する。前述したように、音素トークンは個々のIPA音素であり得、書記素トークンは単語片のサブワードである。
【0039】
引き続き
図2Bを参照すると、入力埋込み210の各トークン212は、それぞれのトークン212が複数の埋込みEの組合せであることを示すために、垂直点線ボックス内に示されている。入力埋込み210の第1のトークン212aは、CLSトークンの第1のトークン埋込みEt、Et1、第1のセグメント埋込みEs、EsA、第1の単語位置埋込みEwp、Ewp0、および第1の位置埋込みEp、Ep0の組合せである。入力埋込み210の音素トークンのセット212P内の第1の音素トークン212P1に対応する第2のトークン212bは、音素トークンP1の第2のトークン埋込みEt、Et2、第1のセグメント埋込みEs、EsA、第2の単語位置埋込みEwp、Ewp1、および第2の位置埋込みEp、Ep1の組合せである。入力埋込み210の音素トークンのセット212P内の第2の音素トークン212P2に対応する第3のトークン212cは、音素トークンP2の第3のトークン埋込みEt、Et3、第1のセグメント埋込みEs、EsA、第2の単語位置埋込みEwp、Ewp1、および第3の位置埋込みEp、Ep2の組合せである。入力埋込み210の音素トークンのセット212Pにおけるn番目の音素トークン212Pnに対応する第4のトークン212dは、音素トークンPnのn番目のトークン埋込みEt、Et4、第1のセグメント埋込みEs、EsA、第3の単語位置埋込みEwp、Ewp2、および第4の位置埋込みEp、Ep3の組合せである。入力埋込み210のSEPトークン212SEPに対応する第5のトークン212eは、SEPトークンSEPの第5のトークン埋込みEt、Et5、第1のセグメント埋込みEs、EsA、第3の単語位置埋込みEwp、Ewp3、および第5の位置埋込みEp、Ep4の組合せである。入力埋込み210の書記素トークン212Gの第2のセットの第1の書記素トークン212G1に対応する第6のトークン212fは、書記素トークンG1の第6のトークン埋込みEt、Et6、第2のセグメント埋込みEs、EsB、第1の単語位置埋込みEwp、Ewp1、および第6の単語位置埋込みEp、Ep4の組合せである。入力埋込み210の書記素トークン212Gの第2のセットの第2の書記素トークン212G2に対応する第7のトークン212gは、書記素トークンG2の第7のトークン埋込みEt、Et7、第2のセグメント埋込みEs、EsB、第2の単語位置埋込みEwp、Ewp2、および第7の位置埋込みEp、Ep7の組合せである。入力埋込み210の書記素トークン212Gの第2のセットのn番目の書記素トークン212Gnに対応する第8のトークン212hは、書記素トークンGnの第8のトークン埋込みEt、Et7、第2のセグメント埋込みEs、EsB、第2の単語位置埋込みEwp、Ewp2、および第8の単語位置埋込みEp、Ep8の組合せである。入力埋込み210の第2のSEPトークン212SEP(たとえば、第2のセグメントの終わりを示す)に対応する第9のトークン212iは、CEPトークンの第9のトークン埋込みEt、Et9、第2のセグメント埋込みEs、EsB、第3の単語位置埋込みEwp、Ewp3、および第9の位置埋込みEp、Ep9の組合せである。ここで、セグメントAとセグメントBは同じ文であるため、入力埋込み210の音素トークン212Pの第1の単語位置(たとえば、第1の単語位置埋込みEwp1)を表す埋込みEは、書記素トークン212Gの第1の単語位置(たとえば、第1の単語位置埋込みEwp1)を表す埋込みEと同じであり、これは、書記素および音素トークン212が同じ単語片レベルで発生することを示している。
【0040】
いくつかの例では、拡張エンコーダ202の変換器220は、入力エンコーダ埋込み210を受信し、拡張エンコーダ202の出力としてコンテキストベクトルVc(出力エンコーダ埋込み(Vc)とも呼ばれる)を生成する。入力エンコーダ埋込み210と同様に、出力エンコーダ埋込みまたはコンテキストベクトルVcも、入力トークン212に基づく出力トークンのシーケンス(たとえば、V1~V9として示される)であり得る。
図2Cを参照すると、いくつかの実装形態では、変換器220は、入力エンコーダ埋込み210を受信し、入力エンコーダ埋込み210の音素トークン212Pと書記素トークン212Gとの間の関係に基づいて出力エンコーダ埋込みVcを生成するように構成される。たとえば、入力エンコーダ埋込み210からの音素トークンのセット212Pの音素トークン212Pごとに、変換器220は、それぞれの音素トークン212Pに対応するテキスト入力152のそれぞれの単語を識別する。変換器220は、それぞれの音素に対する単語位置埋込みEwpに基づいて、それぞれの音素トークン212Pに対応するそれぞれの単語を識別し得る。たとえば、入力エンコーダ埋込み210の第1の音素212pの場合、単語位置埋込みEwpは、第1の音素トークン212PがセグメントA(すなわち、音素セグメント)の第1の単語にあることを識別する埋込みである。変換器220がそれぞれの音素トークン212Pに対応するそれぞれの単語を識別すると、変換器220は、どの書記素トークン212Gがそのそれぞれの単語にも属するかを決定する。この例では、第1の音素トークン212Pは、入力テキスト152の第1の単語に対応し、第1の書記素トークン212Gも、入力テキスト151の第1の単語に対応する(たとえば、セグメントB(S=B)において第1の単語(WP=1)として示される)。音素トークン212Pと同様に、変換器220は、書記素トークン212Gのセットに対する単語位置埋込みE、Ewpを使用して、書記素トークン212Gが第1の音素トークン212Pの単語位置に対応すると決定し得る。たとえば、第1の音素トークン212P1に対応する単語位置埋込みE、Ewp1は、第1の書記素トークン212G1に対応する単語位置埋込みE、Ewp1と一致するか、または同じである。音素トークン212Pと書記素トークン212Gとの間のこの関係を識別することによって、変換器220は、この関係をコンテキストベクトルVcの一部として表す。次いで、変換器220は、入力トークン212ごとにこのプロセスを繰り返してもよい。
【0041】
いくつかの構成では、変換器220は、特定の入力トークン212を他のすべての入力トークン212との関係として表すことによって、コンテキストベクトルVcの各トークンVを生成する。たとえば、
図2Cは、入力トークン212P1の現在のトークンステップについて、変換器220の出力トークンV2が、第1の音素トークンと他のすべての入力トークン212との関係を説明することを示している。いくつかの実装形態では、変換器220は、他の入力トークン212のそれぞれが出力トークンV2に何らかの影響を与えるように、他の入力トークン212の各々に対して現在のトークンステップ(たとえば、第1の音素トークン212P)の強度を重み付けするか、または定性的に表すように構成され得る。ここで、第1の音素トークン212P1は、第1の書記素トークン212G1と強い関係(たとえば、単語位置レベルでの共有埋込みE)を有するため、変換器220は、この関係の何らかの表現を有する出力トークンV2を生成し得る。
【0042】
特定の入力トークンの他のすべての入力トークン212に対する関係の表現としてコンテキストベクトルVcの各トークンVを生成することは、異なるタイプのTTSモデルにとって有益であり得る。すなわち、特定のTTSタスクに対応するために、特殊なTTSモデル、または特定のアーキテクチャを備えたTTSモデルを歴史的に必要としてきたTTS状況がいくつかある。これは通常、多言語TTSモデルまたは多アクセントTTSモデルに当てはまる。多言語TTSモデルとは、様々な言語からの入力テキスト152に対応し、したがって、これらの様々な言語で合成音声154を生成し得るTTSモデルを指す。これは、単言語(または、単一の言語)TTSモデルとは対照的である。従来、これらTTSモデルは音素ベースのTTSモデルを採用してきたため、多言語TTSモデルは問題が発生する傾向がある。音素は異なる言語間で大きく重複する可能性があるため、音素は多言語モデルにとって課題となる。したがって、言語の曖昧さにつながるこの重複により、従来の多言語モデルは、モデルを効果的にするために追加の言語入力を組み込む必要があった。しかし、追加の言語入力を使用すると、コード切替えが発生したときに何らかの問題が発生する可能性がある。コード切替えは、1つの文に複数の言語が含まれる場合を指す。コード切替えの状況では、言語入力とテキスト入力を組み合わせても、複数の言語を識別できない場合、またはどの特定のトークンがどの言語に対応しているかを識別できない場合がある。別の言い方をすると、文中のトークンごとの正確な言語識別子を取得することは困難である。しかしながら、コンテキストベクトルVcの各トークンVは、他のすべての入力トークン212に対する特定の入力トークンの関係を表すため、拡張エンコーダ202はこれらの問題を解決し得る。したがって、入力エンコーダ埋込み210の入力トークン212のうちの1つが言語識別子を含む場合、その言語情報は出力エンコーダ埋込みVcのそれぞれのトークンVに伝えられる。たとえば、
図2Cは、特殊トークン212CLSのうちの1つが、その後、コンテキストベクトルVcの第2のトークンV2に翻訳される言語識別子214を含むことを示している。
図2Cは、特殊トークン212CLSに関連付けられる言語識別子214を示しているが、入力エンコーダ埋込み210は、他の入力トークン212が言語識別子214を含むように構成され得る。追加的または代替的に、多アクセントTTSモデルの場合、識別子214は代わりにロケールまたはアクセント識別子214であってもよい。
【0043】
多言語TTSモデルの他に、拡張エンコーダ202が多アクセントTTSモデルに組み込まれてもよい。多アクセントのTTSモデルにも、歴史的にいくつかの課題があった。たとえば、多言語TTSモデルと同様に、多アクセントTTSモデルは音素ベースのTTSモデルを使用する傾向がある。これは、エンコーダ入力の音素と書記素との間の位置合わせの問題が解決されていないという事実に起因すると考えられる。しかしながら、拡張エンコーダ202の現在の技法を使用すると、多アクセントTTSモデルは、入力テキスト152のロケールまたはアクセントを識別するために、書記素の使用を活用することができる。音素と書記素との間の関係を表現するためのこれらの配置の改善により、拡張エンコーダ202は、単言語TTSモデル、単一ロケールTTSモデル、多言語TTSモデル、多アクセントTTSモデル、アテンションベースのTTS、および継続時間ベースのTTSモデルなどの様々なTTSモデルにおいて、大幅な修正があったとしても、それほど修正せずに使用され得る。したがって、拡張エンコーダ202は、これらのTTSシステムの他のアーキテクチャを中断することなく、TTSシステムにおいて使用されるエンコーダを置き換えることができる。
【0044】
図3を参照すると、従来のBERTと同様に、拡張エンコーダ202は事前トレーニングプロセス300を受ける。ここでのみ、拡張エンコーダ202の事前トレーニングプロセス300は、事前トレーニングプロセスが書記素のみを使用する従来のBERTとは異なり、音素と書記素の両方を使用する。事前トレーニングプロセス中、拡張エンコーダ202は平文コーパス302上で事前トレーニングを行う。いくつかの実装形態では、平文コーパス302においてトレーニングを行う場合、事前トレーニングプロセス300は、書記素対音素(G2P)変換システムを使用して音素を取得し、サブワードテキストトークナイザを使用して書記素を取得する。いくつかの例では、事前トレーニングプロセス300は、拡張エンコーダ202を組み込むTTSモデル200のタイプに応じて変化し得る。たとえば、単言語または単一ロケールTTSモデルに対して拡張エンコーダ202を事前トレーニングする場合、事前トレーニングプロセス300は、単一の目標320、またはマスク言語モデリング(MLM)目標320、320aのみを使用する。一般的に言えば、MLM目標320、320aを用いてトレーニングを行う場合、マスク入力トークン312Mを予測するために、入力トークン312、312a~nの一部の割合がランダムにマスキングされる。このマスク予測によって、右コンテキストと左コンテキストの両方(すなわち、双方向コンテキスト)が可能になる。さらに、拡張エンコーダ202を使用すると、単語のシーケンス(すなわち、単数または複数の文)に対応する各トレーニング例310の入力コンテンツ304は、1回目はトレーニング音素トークン312、312b~dのシーケンスとして、もう1回はトレーニング書記素トークン312、312f~hのシーケンスとして、2回表される。ここで、MLM目標320aがこれらのトレーニングトークン312にマスキングをランダムに適用した場合、トレーニング音素トークン312b~dにおいてマスキングされたトレーニングトークン312は、対応するもの(すなわち、マスキングされていない)がトレーニング書記素トークン312f~312hに存在する可能性があり、事前トレーニングのトークン予測プロセスにバイアスをかける。この理由により、MLM目標320aを有する事前トレーニングプロセス300は、代わりに単語レベルでランダムマスキングを適用するが、それが音素セグメントと書記素セグメントの間で一貫していることを確認する。すなわち、単語の音素がマスキングされると、対応する書記素もマスキングされる。たとえば、
図3は、セグメントAの第1の単語に対する2つのマスキングされた音素312、312M
p1,2と、セグメントBの対応する第1の単語(すなわち、相補書記素)に対する1つのマスキングされた書記素312、312M
Gを示している。あるいは、MLM目標320aは、事前トレーニングプロセス300中に他のマスキング戦略を使用して実装され得る。たとえば、元のBERTマスキングが適用され得るが、マスキング率が増加するか、事前トレーニングプロセス300は、P2GおよびG2Pのような方法でマスキングを適用し、一方のセグメント(たとえば、書記素セグメント-セグメントB)内のすべてのトークンがマスクアウトされ、他方のセグメント(たとえば、音素セグメント-セグメントA)内のすべてのトークンが保持される。
【0045】
多言語TTSモデルおよび多アクセントTTSモデルなどの他のTTSモデル200の場合、事前トレーニングプロセス300は、分類目標320、320bをさらに使用する。ここで、分類目標320bを使用する事前トレーニングプロセス300は、ロケールまたは言語を予測するために拡張エンコーダ202の出力をトレーニングする。たとえば、前述したように、CLSトークンなどの特別なトークンは、言語またはロケール識別子214を運ぶ場合がある。ここで、拡張エンコーダ202は、事前トレーニング時に、言語またはロケールを予測し、その言語またはロケールをCLSトークンなどのトークンに関連付けられる識別子として示すことを学習する。いくつかの例では、言語分類の方がアクセント分類よりも簡単な場合もある。これらの例では、分類目標320bの分類損失は、より低い重み(たとえば、0.1)を使用し得る。
【0046】
事前トレーニングプロセス300は、入力エンコーダ埋込み210を予測する方法を学習するためにTTSモデル200の拡張エンコーダ202を事前トレーニングし、次いで、微調整プロセスは、特定のタスクのために完全なTTSモデル200に組み込まれた拡張エンコーダ202をトレーニングする。微調整プロセスでは、事前トレーニングされたモデルから重みを初期化し、次いで、これらの重みがTTSモデルのトレーニング中にさらに調整される。いくつかの例では、微調整は、パフォーマンスの低下を防止し、トレーニングされたTTSモデル200の一般化を促進するために、変換器220の上位層を微調整しながら、変換器220の埋込みおよび下位層をフリーズする。そうしないと、微調整プロセスで使用するトレーニングデータセットが小さくなるため、パフォーマンスの低下が発生する可能性がある。微調整プロセスは、下流の音素トークン212P上の最終変換層からの隠れ状態のみをTTSコンポーネント(たとえば、アダプタ204およびデコーダ206)に渡し得る。これらの隠れ状態は音素の位置のみを参照するが、これらの隠れ状態は依然として、拡張エンコーダ202がトレーニングされた方法に基づいて書記素ならびに言語(または、ロケール)からの情報を運ぶ。いくつかの構成では、微調整プロセスはMLM目標320aをオフにするが、多言語または多アクセントのTTSモデルに対して分類目標320bをアクティブのままにする。たとえば、微調整プロセス中に分類目標320bをアクティブのままにすることによって、言語情報がエンコードされた表現で維持され得る。
【0047】
図4は、音素と書記素の両方を使用して出力エンコーダ埋込みVcを生成する方法400の動作の例示的な構成のフローチャートである。動作402において、方法400は、音声合成モデル200のエンコーダ202において、入力エンコーダ埋込み210として表される単語のシーケンスを含むテキスト入力152を受け取る。入力エンコーダ埋込み210は複数のトークン212を含み、複数のトークン212は、テキスト入力152をそれぞれの書記素として表す書記素トークン212、212Gの第1のセットと、テキスト入力152をそれぞれの音素として表す音素トークン212、212Pの第2のセットとを含む。方法400は、音素トークンの第2のセット212Pのそれぞれの音素トークン212Pについて、動作404および406を実施する。動作404において、方法400は、それぞれの音素トークン212Pに対応する単語のシーケンスのそれぞれの単語を識別する。動作406において、方法400は、それぞれの音素トークン212Pに対応する単語のシーケンスのそれぞれの単語を表すそれぞれの書記素トークン212Gを決定する。動作408において、方法400は、それぞれの音素トークン212Pと、それぞれの音素トークン212Pと同じそれぞれの単語を表すと決定された対応する書記素トークン212Gとの間の関係に基づいて、出力エンコーダ埋込みVcを生成する。
【0048】
図5は、本明細書で説明されるシステム(たとえば、TTSシステム150、TTSモデル200、および/または拡張エンコーダ202)および方法(たとえば、方法400)を実装するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形式のデジタルコンピュータを表すことが意図される。本明細書に示されるコンポーネント、それらの接続と関係、およびそれらの機能は、例示のみを目的としており、本明細書で説明および/または請求される発明の実装形態を限定することを意図するものではない。
【0049】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)、メモリ520(たとえば、メモリハードウェア)、ストレージデバイス530、メモリ520に接続する高速インターフェース/コントローラ540、および高速拡張ポート550、および低速バス570およびストレージデバイス530に接続する低速インターフェース/コントローラ560を含む。コンポーネント510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で搭載され得る。プロセッサ510は、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)用のグラフィック情報を表示するために、メモリ520またストレージデバイス530に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに、必要に応じて使用され得る。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは必要な動作の一部を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0050】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ520は、コンピューティングデバイス500によって使用されるプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例は、これらに限定されないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能なプログラマブル読取り専用メモリ(EPROM)/電子的に消去可能なプログラマブル読取り専用メモリ(EEPROM)(たとえば、通常、ブートプログラムなどのファームウェアに使用される)を含む。揮発性メモリの例は、これらに限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含む。
【0051】
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することができる。いくつかの実装形態では、ストレージデバイス530はコンピュータ可読媒体である。様々な異なる実装形態において、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は情報担体に具体的に組み込まれる。コンピュータプログラム製品は、実行されると、上記のような1つまたは複数の方法を実施する命令を含む。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0052】
高速コントローラ540は、コンピューティングデバイス500の帯域幅を大量に消費する動作を管理し、一方、低速コントローラ560は、帯域幅をあまり消費しない動作を管理する。そのような職務の割り当ては単なる例である。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)に、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に結合される。いくつかの実装形態では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に接続される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得、たとえばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイス、あるいはスイッチまたはルータなどのネットワーキングデバイスに結合され得る。
【0053】
コンピューティングデバイス500は、図面に示されるように、多くの異なる形式で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ500aとして、またはそのようなサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0054】
本明細書で説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0055】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語、ならびに/あるいはアセンブリ/マシン言語で実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0056】
本明細書で説明されるプロセスおよび論理フローは、入力データを動作して出力を生成することによって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実施することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実施することができる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリ、ランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの必須要素は、命令を実施するためのプロセッサと、命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量ストレージデバイス、たとえば、磁気、光磁気ディスク、または光ディスクを含むか、あるいはそれらからデータを受信するか、またはそれらにデータを転送する、あるいは両方を行うために動作可能に結合される。しかしながら、コンピュータにそのようなデバイスが搭載されている必要はない。コンピュータプログラム命令およびデータを記憶するために適したコンピュータ可読媒体は、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサとメモリは、専用論理回路によって補完されてもよく、専用論理回路に組み込まれてもよい。
【0057】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーン、ならびに任意で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールなどを有するコンピュータ上で実装することができる。ユーザとの対話を提供するために他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、触覚的フィードバックなど、任意の形式の感覚的フィードバックとすることができ、ユーザからの入力は、音響、音声、および触覚入力を含む、あらゆる形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0058】
多くの実装形態が説明されてきた。それにも関わらず、本開示の趣旨および範囲から逸脱することなく、様々な修正を行うことができることが理解されるであろう。したがって、他の実装形態も特許請求の範囲に含まれる。
【符号の説明】
【0059】
10 ユーザ
12 音声発話
14 オーディオデータ
100 音声環境
110 音声対応デバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオキャプチャデバイス
118 音声出力デバイス
118 スピーカ
120 ネットワーク
130 リモートシステム
132 リモートリソース
134 リモートデータ処理ハードウェア
136 リモートメモリハードウェア
140 音声処理システム
140 音声認識システム
142 転写物
150 音声処理システム
150 TTSシステム
152 テキスト入力
152 入力テキスト
154 合成再生オーディオ
154 合成音声
154 再生信号
200 音声処理システム
200 音声合成モデル
200 TTSモデル
202 拡張エンコーダ
204 アダプタ
204a 第1のアダプタ
204b 第2のアダプタ
206 デコーダ
210 入力埋込み
210 入力エンコーダ埋込み
212 書記素トークン
212 音素トークン
212 CLSトークン
212 SEPトークン
212、212P1~n 音素トークンの第1のセット
212a~n トークン
212a 第1のトークン
212b 第2のトークン
212G 書記素トークン
212G、212G1~n 書記素トークンの第2のセット
212G1 第1の書記素トークン
212P 音素トークン
212P1 第1の音素トークン
212P1 入力トークン
212P2 第2の音素トークン
212c 第3のトークン
212d 第4のトークン
212e 第5のトークン
212f 第6のトークン
212g 第7のトークン
212h 第8のトークン
212i 第9のトークン
212p 第1の音素
214 言語識別子
214 言語またはロケール識別子
220 変換器
300 事前トレーニングプロセス
302 平文コーパス
304 入力コンテンツ
310 トレーニング例
312、312a~n 入力トークン
312、312b~d トレーニング音素トークン
312、312f~h トレーニング書記素トークン
312M マスク入力トークン
320 目標
320、320a マスク言語モデリング(MLM)目標
320、320b 分類目標
400 方法
402 動作
404 方法
406 動作
500 コンピューティングデバイス
500a 標準サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
【手続補正書】
【提出日】2023-11-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(112)によって実行されると、前記データ処理ハードウェア(112)に、
音声合成モデル(150)のエンコーダ(202)において、入力エンコーダ埋込み(210)として表される単語のシーケンスを備えるテキスト入力(152)を受信するステップであって、前記入力エンコーダ埋込み(210)が複数のトークン(212)を備え、前記複数のトークン(212)が、前記テキスト入力(152)をそれぞれの書記素として表す書記素トークン(212G)埋込みの第1のセットと、前記テキスト入力(152)をそれぞれの音素として表す音素トークン(212P)の第2のセットとを備える、ステップと、
音素トークン(212P)の前記第2のセットのそれぞれの音素トークン(212P)について、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスのそれぞれの単語を識別するステップと、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表すそれぞれの書記素トークン(212G)埋込みを決定するステップと、
前記エンコーダ(202)によって、それぞれの音素トークン(212P)と、前記それぞれの音素トークン(212P)と同じそれぞれの単語を表すと決定された前記対応する書記素トークン(212G)埋込みとの間の関係に基づいて、出力エンコーダ埋込み(Vc)を生成するステップと
を備える動作を実施させる、コンピュータ実装方法(400)。
【請求項2】
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の位置を識別するステップを備え、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の前記位置において、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップを備える、請求項1に記載の方法(400)。
【請求項3】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の各トークンが、
書記素トークン埋込み(212G)または音素トークン埋込み(212P)の一方、
セグメント埋込み、
単語位置埋込み、および
位置埋込み
の組合せを表す、請求項1または2に記載の方法(400)。
【請求項4】
前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップが、前記それぞれの音素トークン(212P)に関連付けられるそれぞれの単語位置埋込みに基づいて、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別するステップを備える、請求項3に記載の方法(400)。
【請求項5】
前記それぞれの音素トークン(212P)に対応する単語のシーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定するステップが、前記それぞれの書記素トークン(212G)埋込みが、前記それぞれの音素トークン(212P)の前記それぞれの単語位置埋込みと一致する対応する単語位置埋込みを備えることを決定するステップを備える、請求項4に記載の方法(400)。
【請求項6】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信するアテンションメカニズムを備える、請求項1から5のいずれか一項に記載の方法(400)。
【請求項7】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信する継続時間ベースのアップサンプラを備える、請求項1から6のいずれか一項に記載の方法(400)。
【請求項8】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)が、前記
テキスト入力の言語を識別する特別なトークンを備える、請求項1から7のいずれか一項に記載の方法(400)。
【請求項9】
前記動作が、
前記エンコーダ(202)に複数のトレーニング例(310)を供給するステップであって、各トレーニング例(310)が、単語のトレーニングシーケンスに対応するトレーニング書記素トークン(212G)埋込みのシーケンス、および同じ単語のトレーニングシーケンスに対応するトレーニング音素トークン(212P)のシーケンスとして表される、ステップと、
単語の前記トレーニングシーケンスからのそれぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング音素トークン(212P)をマスキングするステップと、
単語の前記トレーニングシーケンスからの前記それぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング書記素トークン(212G)埋込みをマスキングするステップと
によって、前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップをさらに備える、請求項1から8のいずれか一項に記載の方法(400)。
【請求項10】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップであって、前記分類トークンが言語識別子(214)を備える、ステップをさらに備える、請求項1から9のいずれか一項に記載の方法(400)。
【請求項11】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記出力エンコーダ埋込み(Vc)がエンコーダトークンのシーケンスを備え、各エンコーダトークンが、前記
テキスト入力に関する言語情報を備える、請求項1から10のいずれか一項に記載の方法(400)。
【請求項12】
前記音声合成モデル(150)が多アクセント音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングするステップであって、前記分類トークンがアクセント識別子(214)を備える、ステップをさらに備える、請求項1から11のいずれか一項に記載の方法(400)。
【請求項13】
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と
を備え、前記メモリハードウェア(114)は、前記データ処理ハードウェア(112)上で実行されると、前記データ処理ハードウェア(112)に、
音声合成モデル(150)のエンコーダ(202)において、入力エンコーダ埋込み(210)として表される単語のシーケンスを備えるテキスト入力(152)を受信することであって、前記入力エンコーダ埋込み(210)が複数のトークン(212)を備え、前記複数のトークン(212)が、前記テキスト入力(152)をそれぞれの書記素として表す書記素トークン(212G)埋込みの第1のセットと、前記テキスト入力(152)をそれぞれの音素として表す音素トークン(212P)の第2のセットとを備える、ことと、
音素トークン(212P)の前記第2のセットのそれぞれの音素トークン(212P)について、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスのそれぞれの単語を識別することと、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表すそれぞれの書記素トークン(212G)埋込みを決定することと、
前記エンコーダ(202)によって、それぞれの音素トークン(212P)と、前記それぞれの音素トークン(212P)と同じそれぞれの単語を表すと決定された前記対応する書記素トークン(212G)埋込みとの間の関係に基づいて、出力エンコーダ埋込み(Vc)を生成することと
を備える動作を実施させる命令を記憶する、システム(200)。
【請求項14】
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の位置を識別することを備え、
前記エンコーダ(202)によって、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することが、前記それぞれの音素トークン(212P)に対応する前記それぞれの単語内の前記位置において、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することを備える、請求項13に記載のシステム(200)。
【請求項15】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の各トークンが、
書記素トークン埋込み(212G)または音素トークン埋込み(212P)の一方、
セグメント埋込み、
単語位置埋込み、および
位置埋込み
の組合せを表す、請求項13または14に記載のシステム(200)。
【請求項16】
前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することが、前記それぞれの音素トークン(212P)に関連付けられるそれぞれの単語位置埋込みに基づいて、前記それぞれの音素トークン(212P)に対応する単語の前記シーケンスの前記それぞれの単語を識別することを備える、請求項15に記載のシステム(200)。
【請求項17】
前記それぞれの音素トークン(212P)に対応する単語のシーケンスの前記それぞれの単語を表す前記それぞれの書記素トークン(212G)埋込みを決定することが、前記それぞれの書記素トークン(212G)埋込みが、前記それぞれの音素トークン(212P)の前記それぞれの単語位置埋込みと一致する対応する単語位置埋込みを備えることを決定することを備える、請求項16に記載のシステム(200)。
【請求項18】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信するアテンションメカニズムを備える、請求項13から17のいずれか一項に記載のシステム(200)。
【請求項19】
前記音声合成モデル(150)が、前記エンコーダ(202)と通信する継続時間ベースのアップサンプラを備える、請求項13から18のいずれか一項に記載のシステム(200)。
【請求項20】
前記入力エンコーダ埋込み(210)の前記複数のトークン(212)が、前記
テキスト入力の言語を識別する特別なトークンを備える、請求項13から19のいずれか一項に記載のシステム(200)。
【請求項21】
前記動作が、
前記エンコーダ(202)に複数のトレーニング例(310)を供給することであって、各トレーニング例(310)が、単語のトレーニングシーケンスに対応するトレーニング書記素トークン(212G)埋込みのシーケンス、および同じ単語のトレーニングシーケンスに対応するトレーニング音素トークン(212P)のシーケンスとして表される、ことと、
単語の前記トレーニングシーケンスからのそれぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング音素トークン(212P)をマスキングすることと、
単語の前記トレーニングシーケンスからの前記それぞれの単語のトレーニング音素トークン(212P)の前記シーケンスからトレーニング書記素トークン(212G)埋込みをマスキングすることと
によって、前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることをさらに備える、請求項13から20のいずれか一項に記載のシステム(200)。
【請求項22】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることであって、前記分類トークンが言語識別子(214)を備える、ことをさらに備える、請求項13から21のいずれか一項に記載のシステム(200)。
【請求項23】
前記音声合成モデル(150)が多言語音声合成モデル(150)を備え、
前記出力エンコーダ埋込み(Vc)がエンコーダトークンのシーケンスを備え、各エンコーダトークンが、前記
テキスト入力に関する言語情報を備える、請求項13から22のいずれか一項に記載のシステム(200)。
【請求項24】
前記音声合成モデル(150)が多アクセント音声合成モデル(150)を備え、
前記動作が、前記入力エンコーダ埋込み(210)の前記複数のトークン(212)の分類トークンを予測するために、分類目標(320)を使用して前記音声合成モデル(150)の前記エンコーダ(202)を事前トレーニングすることであって、前記分類トークンがアクセント識別子(214)を備える、ことをさらに備える、請求項13から23のいずれか一項に記載のシステム(200)。
【国際調査報告】