(57)【要約】【課題】テキストから音声を生成するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置を提供する。【解決手段】システムの1つが、1つまたは複数のコンピュータと、命令を記憶する1つまたは複数のストレージデバイスとを含み、この命令は、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに、特定の自然言語の文字のシーケンスを受け取ることと、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを生成するために文字のシーケンスを処理することとを行うように構成されたシーケンスツーシーケンスリカレントニューラルネットワークと、特定の自然言語の文字のシーケンスを受け取ることと、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを出力として取得するためにシーケンスツーシーケンスリカレントニューラルネットワークに入力として文字のシーケンスを提供することとを行うように構成されたサブシステムとを実装させる。【選択図】図1
2020170200.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータと、命令を記憶した1つまたは複数のストレージデバイスとを備えるシステムであって、前記命令が、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
シーケンスツーシーケンスリカレントニューラルネットワークであって、
特定の自然言語の文字のシーケンスを受け取ることと、
前記特定の自然言語の文字の前記シーケンスの口頭発話のスペクトログラムを生成するために、文字の前記シーケンスを処理することと
を行うように構成された、シーケンスツーシーケンスリカレントニューラルネットワークと、
サブシステムであって、
前記特定の自然言語の文字の前記シーケンスを受け取ることと、
前記特定の自然言語の文字の前記シーケンスの前記口頭発話の前記スペクトログラムを出力として取得するために、文字の前記シーケンスを入力として前記シーケンスツーシーケンスリカレントニューラルネットワークに提供することと
を行うように構成された、サブシステムと
を実装させる、システム。
【請求項２】
前記シーケンスツーシーケンスリカレントニューラルネットワークが、
エンコーダニューラルネットワークであって、
文字の前記シーケンスを受け取ることと、
前記シーケンスの前記文字の各々のそれぞれの符号化表現を生成するために、文字の前記シーケンスを処理することと
を行うように構成された、エンコーダニューラルネットワークと、
アテンションベースのデコーダリカレントニューラルネットワークであって、
デコーダ入力のシーケンスを受け取ることと、
前記シーケンスの各デコーダ入力に対して、
前記スペクトログラムのr個のフレームを生成するために、前記デコーダ入力および前記符号化表現を処理することであって、rは1よりも大きい整数である、処理することと
を行うように構成された、アテンションベースのデコーダリカレントニューラルネットワークと
を備える、請求項1に記載のシステム。
【請求項３】
前記エンコーダニューラルネットワークが、
エンコーダプレネットニューラルネットワークであって、
前記シーケンスの各文字のそれぞれの埋込みを受け取ることと、
前記文字の変換された埋込みを生成するために、前記シーケンスの各文字の前記それぞれの埋込みを処理することと
を行うように構成された、エンコーダプレネットニューラルネットワークと、
エンコーダCBHGニューラルネットワークであって、
前記変換された埋込みを受け取ることと、
前記符号化表現を生成するために前記変換された埋込みを処理することと
を行うように構成された、エンコーダCBHGニューラルネットワークと
を備える、請求項2に記載のシステム。
【請求項４】
前記エンコーダCBHGニューラルネットワークが、1-D畳み込みフィルタのバンク、続いてハイウェイネットワーク、および続いて双方向リカレントニューラルネットワークを含む、請求項3に記載のシステム。
【請求項５】
前記双方向リカレントニューラルネットワークが、ゲート付きリカレントユニットニューラルネットワークである、請求項4に記載のシステム。
【請求項６】
前記エンコーダCBHGニューラルネットワークが、前記変換された埋込みと、1-D畳み込みフィルタの前記バンクの出力との間に残差結合を含む、請求項4または5のいずれか一項に記載のシステム。
【請求項７】
1-D畳み込みフィルタの前記バンクが、ストライド1での時間層に沿ったmaxプーリングを含む、請求項4から6のいずれか一項に記載のシステム。
【請求項８】
前記シーケンスの第1のデコーダ入力が、あらかじめ決定された初期フレームであり、前記シーケンスの各他のデコーダ入力が、前記シーケンスの前記デコーダ入力に先行するデコーダ入力を処理することによって生成された前記r個のフレームのうちの1つまたは複数である、請求項2から7のいずれか一項に記載のシステム。
【請求項９】
前記スペクトログラムが、圧縮されたスペクトログラムである、請求項1から8のいずれか一項に記載のシステム。
【請求項１０】
前記圧縮されたスペクトログラムが、メル尺度のスペクトログラムである、請求項9に記載のシステム。
【請求項１１】
前記システムが、
後処理ニューラルネットワークであって、
前記圧縮されたスペクトログラムを受け取ることと、
波形合成器入力を生成するために、前記圧縮されたスペクトログラムを処理することと
を行うように構成された、後処理ニューラルネットワークと、
波形合成器であって、
前記波形合成器入力を受け取ることと、
前記特定の自然言語の文字の前記入力シーケンスの前記口頭発話の波形を生成するために、前記波形合成器入力を処理することと
を行うように構成された、波形合成器と
をさらに備え、
前記サブシステムが、
前記波形合成器入力を取得するために、前記圧縮されたスペクトログラムを入力として前記後処理ニューラルネットワークに提供することと、
前記波形を生成するために、前記波形合成器入力を入力として前記波形合成器に提供することと
を行うようにさらに構成される、請求項9または10のいずれか一項に記載のシステム。
【請求項１２】
前記サブシステムが、
前記波形を使用して音声を生成することと、
前記生成された音声を再生のために提供することと
を行うようにさらに構成される、請求項11に記載のシステム。
【請求項１３】
前記波形合成器入力が、前記特定の自然言語の文字の前記入力シーケンスの前記口頭発話の線形スケールのスペクトログラムである、請求項11または12のいずれか一項に記載のシステム。
【請求項１４】
前記波形合成器が、訓練可能スペクトログラム波形変換器である、請求項11から13のいずれか一項に記載のシステム。
【請求項１５】
前記後処理ニューラルネットワークが、前記シーケンスツーシーケンスリカレントニューラルネットワークと一緒に訓練された、請求項11から14のいずれか一項に記載のシステム。
【請求項１６】
前記後処理ニューラルネットワークが、1-D畳み込みサブネットワーク、続いてハイウェイネットワーク、および続いて双方向リカレントニューラルネットワークを含むCBHGニューラルネットワークである、請求項11から15のいずれか一項に記載のシステム。
【請求項１７】
前記双方向リカレントニューラルネットワークが、ゲート付きリカレントユニットニューラルネットワークである、請求項16に記載のシステム。
【請求項１８】
前記CBHGニューラルネットワークが、1つまたは複数の残差結合である、請求項16または17のいずれか一項に記載のシステム。
【請求項１９】
前記1-D畳み込みサブネットワークが、1-D畳み込みフィルタのバンク、続いてストライド1での時間層に沿ったmaxプーリングを含む、請求項16から18のいずれか一項に記載のシステム。
【請求項２０】
前記サブシステムが、
前記特定の自然言語の文字の前記入力シーケンスの前記口頭発話の前記スペクトログラムを使用して音声を生成することと、
前記生成された音声を再生のために提供することと
を行うようにさらに構成される、請求項1から10のいずれか一項に記載のシステム。
【請求項２１】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から20のいずれか一項に記載のシステムを実装させる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項２２】
請求項1から20のいずれか一項に記載のサブシステムによって行われる動作を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2017年3月29日に出願されたギリシャ特許出願第20170100126号の非仮出願であり、これに基づく優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【０００２】
本明細書は、ニューラルネットワークを使用して、テキストを音声に変換することに関する。
【背景技術】
【０００３】
ニューラルネットワークは、受け取った入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を用いる機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワークの次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層が、パラメータのそれぞれのセットの現在の値に従って、受け取った入力から出力を生成する。
【０００４】
いくつかのニューラルネットワークは、リカレントニューラルネットワークである。リカレントニューラルネットワークは、入力シーケンスを受け取り、入力シーケンスから出力シーケンスを生成するニューラルネットワークである。詳細には、リカレントニューラルネットワークは、現在の時間ステップで出力を計算する際に、前の時間ステップからネットワークの内部状態の一部または全部を使用することができる。リカレントニューラルネットワークの一例は、長短期記憶(LSTM)ニューラルネットワークであり、LSTMニューラルネットワークは1つまたは複数のLSTMメモリブロックを含む。各LSTMメモリブロックは、1つまたは複数のセルを含むことができ、セルは各々が、入力ゲートと、忘却ゲートと、出力ゲートとを含み、これらはたとえば現在の活性化を生成する際に使用するために、またはLSTMニューラルネットワークの他の構成要素に提供されるように、セルについての前の状態をセルが記憶することを可能にする。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】S. IoffeおよびC. Szegedy、「Batch normalization: Accelerating deep network training by reducing internal covariate shift」、arXiv preprint arXiv:1502.03167、2015
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書は、1つまたは複数の位置の1つまたは複数のコンピュータ上にコンピュータプログラムとして実装される、テキストを音声に変換するシステムについて説明する。
【０００７】
一般に、1つの発明的態様が、1つまたは複数のコンピュータと、命令を記憶する1つまたは複数のストレージデバイスとを含むシステムにおいて具現化されてよく、この命令は、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに、特定の自然言語の文字のシーケンスを受け取ることと、特定の自然言語の文字のシーケンスの口頭発話(verbal utterance)のスペクトログラムを生成するために文字のシーケンスを処理することとを行うように構成されたシーケンスツーシーケンス(sequence-to-sequence)リカレントニューラルネットワークと、特定の自然言語の文字のシーケンスを受け取ることと、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを出力として取得するためにシーケンスツーシーケンスリカレントニューラルネットワークに入力として文字のシーケンスを提供することとを行うように構成されたサブシステムとを実装させる。サブシステムは、特定の自然言語の文字の入力シーケンスの口頭発話のスペクトログラムを使用して音声を生成し、生成された音声を再生のために提供するようにさらに構成することができる。
【０００８】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するために、特定の実施形態で実装することができる。フレームレベルで音声を生成することによって、本明細書に記載するシステムは、他のシステムよりも速くテキストから音声を生成すると同時に、同等の、さらにはより優れた品質の音声を生成することができる。加えて、以下でより詳細に説明するように、本明細書に記載するシステムは、モデルサイズ、訓練時間、および推論時間を短縮することができ、また実質的に収束速度を上げることができる。本明細書に記載するシステムは、手動設計の言語機能または複雑な構成要素を必要とすることなく、たとえば、隠れマルコフモデル(HMM)アライナーを必要とすることなく、高品質の音声を生成することができ、その結果、複雑さが軽減され、使用する計算リソースが少なくなりながら、依然として高品質音声を生成する。
【０００９】
本明細書の主題の1つまたは複数の実施形態の詳細について、添付の図面および以下の説明に示す。説明、図面、および特許請求の範囲から、主題の他の特徴、態様、および利点が明らかとなるであろう。
【図面の簡単な説明】
【００１０】
【図１】例示的なテキスト音声変換システムを示す図である。
【図２】例示的なCBHGニューラルネットワークを示す図である。
【図３】文字のシーケンスを音声に変換するための例示的なプロセスの流れ図である。
【図４】文字のシーケンスの口頭発話の圧縮されたスペクトログラムから音声を生成するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００１１】
様々な図面における同じ参照番号および名称は、同じ要素を示す。
【００１２】
図1は、例示的なテキスト音声変換システム100を示す。テキスト音声変換システム100は、以下で説明するシステム、構成要素、および技法を実装することができる、1つまたは複数の場所の1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムの一例である。
【００１３】
システム100は、入力として入力テキスト104を受け取り、出力として音声120を生成するために入力テキスト104を処理するように構成されたサブシステム102を含む。入力テキスト104は、特定の自然言語の文字のシーケンスを含む。文字のシーケンスは、アルファベット文字、数字、句読点、および/または他の特殊文字を含んでよい。入力テキスト104は、可変長の文字のシーケンスとすることができる。
【００１４】
入力テキスト104を処理するために、サブシステム102は、シーケンスツーシーケンスリカレントニューラルネットワーク106(以下では「seq2seqネットワーク106」)と、後処理ニューラルネットワーク108と、波形合成器110とを含むエンドツーエンドのテキスト音声モデル150と対話するように構成される。
【００１５】
サブシステム102が、特定の自然言語の文字のシーケンスを含む入力テキスト104を受け取った後、サブシステム102は、文字のシーケンスを入力としてseq2seqネットワーク106に提供する。seq2seqネットワーク106は、サブシステム102から文字のシーケンスを受け取ることと、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを生成するために文字のシーケンスを処理することとを行うように構成される。
【００１６】
詳細には、seq2seqネットワーク106は、(i)エンコーダプレネット(pre-net)ニューラルネットワーク114、およびエンコーダCBHGニューラルネットワーク116を含むエンコーダニューラルネットワーク112と、(ii)アテンションベースのデコーダリカレントニューラルネットワーク118とを使用して、文字のシーケンスを処理する。文字のシーケンスの各文字は、ワンホット(one-hot)ベクトルとして表し、連続ベクトルに埋め込むことができる。すなわち、サブシステム102は、シーケンスの各文字をワンホットベクトルとして表し、次いで、シーケンスを入力としてseq2seqネットワーク106に提供する前に、文字の埋込み、すなわち、ベクトルまたは数値の他の順序付き集まりを生成することができる。
【００１７】
エンコーダプレネットニューラルネットワーク114は、シーケンスの各文字のそれぞれの埋込みを受け取ることと、文字の変換された埋込みを生成するために、各文字のそれぞれの埋込みを処理することとを行うように構成される。たとえば、エンコーダプレネットニューラルネットワーク114は、変換された埋込みを生成するために、各埋込みに非線形変換のセットを適用することができる。いくつかの場合には、エンコーダプレネットニューラルネットワーク114は、収束速度を上げ、訓練中のシステムの汎化能力を向上させるために、ドロップアウトを有するボトルネックニューラルネットワーク層を含む。
【００１８】
エンコーダCBHGニューラルネットワーク116は、エンコーダプレネットニューラルネットワーク114から変換された埋込みを受け取り、文字のシーケンスの符号化表現を生成するために、変換された埋込みを処理するように構成される。エンコーダCBHGニューラルネットワーク112は、図2に関して以下でより詳細に説明するCBHGニューラルネットワークを含む。本明細書で説明するエンコーダCBHGニューラルネットワーク112の使用は、過適合(overfitting)を減らす可能性がある。加えてこれは、たとえばマルチレイヤRNNエンコーダと比較すると、誤った発音がより少なくなる可能性がある。
【００１９】
アテンションベースのデコーダリカレントニューラルネットワーク118(本明細書では「デコーダニューラルネットワーク118」と呼ぶ)は、デコーダ入力のシーケンスを受け取るように構成される。シーケンスの各デコーダ入力に対して、デコーダニューラルネットワーク118は、文字のシーケンスのスペクトログラムの複数のフレームを生成するために、デコーダ入力およびエンコーダCBHGニューラルネットワーク116によって生成された符号化表現を処理するように構成される。すなわち、各デコーダステップで1つのフレームを生成する(予測する)のではなく、デコーダニューラルネットワーク118は、rが1よりも大きい整数であるとすると、スペクトログラムのr個のフレームを生成する。多くの場合、r個のフレームのセット間に重複はない。
【００２０】
詳細には、デコーダステップtにおいて、デコーダステップt-1に生成されたr個のフレームのうちの少なくとも最後のフレームが、デコーダステップt+1でのデコーダニューラルネットワーク118への入力として供給される。いくつかの実装形態では、デコーダステップt-1に生成されたr個のフレームの全部が、デコーダステップt+1でのデコーダニューラルネットワーク118への入力として供給され得る。第1のデコーダステップに対するデコーダ入力は、オール0のフレーム(すなわち、<GO>フレーム)とすることができる。符号化表現についてのアテンションが、たとえば、従来のアテンションメカニズムを使用して、すべての符号化ステップに適用される。デコーダニューラルネットワーク118は、所与のデコーダステップでr個のフレームを同時に予測するために、線形活性化を用いる全結合ニューラルネットワーク層を使用してよい。たとえば、各フレームが80-D(80次元)ベクトルである5個のフレームを予測するには、デコーダニューラルネットワーク118は、線形活性化を用いる全結合ニューラルネットワーク層を使用して、400-Dベクトルを予測し、および400-Dベクトルを形状変更(reshape)して、5個のフレームを取得する。
【００２１】
各時間ステップでr個のフレームを生成することによって、デコーダニューラルネットワーク118は、デコーダステップの総数をrで割り、したがって、モデルサイズ、訓練時間、および推論時間を削減する。加えて、この技法は、実質的に収束速度を上げる、すなわち、アテンションメカニズムによって学習されるフレームと符号化表現との間にはるかに速い(かつより安定した)整合がもたらされるからである。これは、隣接する音声フレームが相互に関連し、各文字が通常複数のフレームに対応するからである。ある時間ステップで複数のフレームを発すると、デコーダニューラルネットワーク118はこの品質を活用して、訓練中に符号化表現に効率的に対応する方法を直ちに学習する、すなわちそのように訓練されることが可能になる。
【００２２】
デコーダニューラルネットワーク118は、1つまたは複数のゲート付きリカレントユニット(gated recurrent unit)ニューラルネットワーク層を含んでもよい。収束の速度を上げるために、デコーダニューラルネットワーク118は、1つまたは複数の垂直残差結合(vertical residual connection)を含んでもよい。いくつかの実装形態では、スペクトログラムは、メル尺度のスペクトログラムなどの圧縮されたスペクトログラムである。たとえば、未加工のスペクトログラムではなく、圧縮されたスペクトログラムを使用すると、冗長性が減少し、それによって、訓練および推論中に必要とされる計算が減少する。
【００２３】
後処理ニューラルネットワーク108は、圧縮されたスペクトログラムを受け取り、波形合成器入力を生成するために、圧縮されたスペクトログラムを処理するように構成される。
【００２４】
圧縮されたスペクトログラムを処理するために、後処理ニューラルネットワーク108は、CBHGニューラルネットワークを含む。詳細には、CBHGニューラルネットワークは、1-D畳み込みサブネットワーク、続いてハイウェイネットワーク(highway network)、および続いて双方向リカレントニューラルネットワークを含む。CBHGニューラルネットワークは、1つまたは複数の残差結合を含んでもよい。1-D畳み込みサブネットワークは、1-D畳み込みフィルタのバンク、続いてストライド1での時間層に沿ったmaxプーリングを含んでよい。いくつかの場合には、双方向リカレントニューラルネットワークは、ゲート付きリカレントユニットニューラルネットワークである。CBHGニューラルネットワークについて、図2を参照しながら以下でより詳細に説明する。
【００２５】
いくつかの実装形態では、後処理ニューラルネットワーク108は、シーケンスツーシーケンスリカレントニューラルネットワーク106と一緒に訓練されている。すなわち、訓練中に、システム100(または外部システム)は、後処理ニューラルネットワーク108およびseq2seqネットワーク106を、同じニューラルネットワーク訓練技法、たとえば、勾配降下法ベースの訓練技法を使用して、同じ訓練データセット上で訓練する。より詳細には、システム100(または外部システム)は、後処理ニューラルネットワーク108およびseq2seqネットワーク106のすべてのネットワークパラメータの現在の値を一緒に調整するために、損失関数の勾配の推定を逆伝播することができる。別々に訓練されるまたは事前訓練される必要がある構成要素を有し、したがって各構成要素のエラーが混合することがある、従来のシステムとは異なり、一緒に訓練される後処理NN108およびseq2seqネットワーク106を有するシステムは、よりロバストである(たとえば、エラーがより小さくなり、スクラッチから訓練することができる)。これらの利点は、現実の世界で見られる極めて大量の豊かで表現に富み、さらには多くの場合ノイズのあるデータ上でのエンドツーエンドのテキスト音声モデル150の訓練を可能にする。
【００２６】
波形合成器110は、波形合成器入力を受け取ることと、特定の自然言語の文字の入力シーケンスの口頭発話の波形を生成するために波形合成器入力を処理することとを行うように構成される。いくつかの実装形態では、波形合成器は、Griffin-Lim合成器である。いくつかの他の実装形態では、波形合成器は、ボコーダである。いくつかの他の実装形態では、波形合成器は、訓練可能スペクトログラム波形変換器(trainable spectrogram to waveform inverter)である。
【００２７】
波形合成器110が波形を生成した後、サブシステム102は、波形を使用して音声120を生成し、生成された音声120を、たとえばユーザデバイス上で再生するために提供する、または別のシステムが音声を生成し、再生できるように、生成された波形を別のシステムに提供することができる。
【００２８】
図2は、例示的なCBHGニューラルネットワーク200を示す。CBHGニューラルネットワーク200は、エンコーダCBHGニューラルネットワーク116に含まれるCBHGニューラルネットワーク、または図1の後処理ニューラルネットワーク108に含まれるCBHGニューラルネットワークとすることができる。
【００２９】
CBHGニューラルネットワーク200は、1-D畳み込みサブネットワーク208、続いてハイウェイネットワーク212、および続いて双方向リカレントニューラルネットワーク214を含む。CBHGニューラルネットワーク200は、1つまたは複数の残差結合、たとえば残差結合210を含んでよい。
【００３０】
1-D畳み込みサブネットワーク208は、1-D畳み込みフィルタのバンク204、続いてストライド1での時間層に沿ったmaxプーリング206を含んでよい。1-D畳み込みフィルタのバンク204は、1-D畳み込みフィルタのK個のセットを含んでよく、その中のk番目のセットが、畳み込み幅kを各々有するCk個のフィルタを含む。
【００３１】
1-D畳み込みサブネットワーク208は、入力シーケンス202、たとえば、エンコーダプレネットニューラルネットワークによって生成される文字のシーケンスの変換された埋込みを受け取るように構成される。サブネットワーク208は、入力シーケンス202の畳み込み出力を生成するために、1-D畳み込みフィルタのバンク204を使用して入力シーケンスを処理する。サブネットワーク208は次いで、畳み込み出力を一緒にスタックし、ストライド1での時間層に沿ったmaxプーリング206を使用して、スタックされた畳み込み出力を処理して、maxプーリングされた出力を生成する。サブネットワーク208は次いで、1つまたは複数の固定幅の1-D畳み込みフィルタを使用して、maxプーリングされた出力を処理して、サブネットワーク208のサブネットワーク出力を生成する。
【００３２】
サブネットワーク出力が生成された後、残差結合210は、畳み込み出力を生成するために、サブネットワーク出力を元の入力シーケンス202と結び付けるように構成される。
【００３３】
ハイウェイネットワーク212および双方向リカレントニューラルネットワーク214は、次いで、文字のシーケンスの符号化表現を生成するために、畳み込み出力を処理するように構成される。
【００３４】
詳細には、ハイウェイネットワーク212は、文字のシーケンスの高レベル特徴表現を生成するために畳み込み出力を処理するように構成される。いくつかの実装形態では、ハイウェイネットワークは、1つまたは複数の全結合ニューラルネットワーク層を含む。
【００３５】
双方向リカレントニューラルネットワーク214は、文字のシーケンスのシーケンシャルな特徴表現を生成するために高レベル特徴表現を処理するように構成される。シーケンシャルな特徴表現は、特定の文字の周りの文字のシーケンスの局所構造を表す。シーケンシャルな特徴表現は、特徴ベクトルのシーケンスを含んでよい。いくつかの実装形態では、双方向リカレントニューラルネットワークは、ゲート付きリカレントユニットニューラルネットワークである。
【００３６】
訓練中、1-D畳み込みサブネットワーク208の畳み込みフィルタの1つまたは複数は、S. IoffeおよびC. Szegedy、「Batch normalization: Accelerating deep network training by reducing internal covariate shift」、arXiv preprint arXiv:1502.03167、2015において詳細に説明される、バッチ正規化法を使用して訓練することができる。
【００３７】
いくつかの実装形態では、CBHGニューラルネットワーク200内の1つまたは複数の畳み込みフィルタは、非因果的畳み込みフィルタ、すなわち、所与の時間ステップTにおいて、周囲の入力と双方向(たとえば、...、T-1、T-2、およびT+1、T+2、...など)に畳み込むことができる畳み込みフィルタである。対照的に、因果的畳み込みフィルタは、前の入力(...T-1、T-2、など)と畳み込むことしかできない。
【００３８】
いくつかの他の実装形態では、CBHGニューラルネットワーク200内のすべての畳み込みフィルタが、非因果的畳み込みフィルタである。
【００３９】
非因果的畳み込みフィルタ、バッチ正規化、残差結合、およびストライド1での時間層に沿ったmaxプーリングを使用すると、入力シーケンス上でCBHGニューラルネットワーク200の汎化能力が向上し、したがって、テキスト音声変換システムが高品質の音声を生成できるようになる。
【００４０】
図3は、文字のシーケンスを音声に変換するための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数の場所にある1つまたは複数のコンピュータのシステムによって行われるものとして説明する。たとえば、適切にプログラムされたテキスト音声変換システム(たとえば、図1のテキスト音声変換システム100)またはテキスト音声変換システムのサブシステム(たとえば、図1のサブシステム102)が、プロセス300を行うことができる。
【００４１】
システムは、特定の自然言語の文字のシーケンスを受け取る(ステップ302)。
【００４２】
次いでシステムは、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを出力として取得するために、文字のシーケンスを入力としてシーケンスツーシーケンス(seq2seq)リカレントニューラルネットワークに提供する(ステップ304)。いくつかの実装形態では、スペクトログラムは、圧縮されたスペクトログラム、たとえば、メル尺度のスペクトログラムである。
【００４３】
詳細には、システムから文字のシーケンスを受け取った後、seq2seqリカレントニューラルネットワークは、エンコーダプレネットニューラルネットワークと、エンコーダCBHGニューラルネットワークとを含むエンコーダニューラルネットワークを使用して、シーケンス中の文字の各々のそれぞれの符号化表現を生成するために、文字のシーケンスを処理する。
【００４４】
より詳細には、文字のシーケンス中の各文字は、ワンホットベクトルとして表し、連続ベクトルに埋め込むことができる。エンコーダプレネットニューラルネットワークは、シーケンスの各文字のそれぞれの埋込みを受け取り、エンコーダプレネットニューラルネットワークを使用して文字の変換された埋込みを生成するために、シーケンス中の各文字のそれぞれの埋込みを処理する。たとえば、エンコーダプレネットニューラルネットワークは、変換された埋込みを生成するために、各埋込みに非線形変換のセットを適用することができる。次いでエンコーダCBHGニューラルネットワークは、エンコーダプレネットニューラルネットワークから変換された埋込みを受け取り、文字のシーケンスの符号化表現を生成するために、変換された埋込みを処理する。
【００４５】
文字のシーケンスの口頭発話のスペクトログラムを生成するために、seq2seqリカレントニューラルネットワークは、アテンションベースのデコーダリカレントニューラルネットワークを使用して符号化表現を処理する。詳細には、アテンションベースのデコーダリカレントニューラルネットワークは、デコーダ入力のシーケンスを受け取る。シーケンスの第1のデコーダ入力は、あらかじめ決定された初期フレームである。シーケンスの各デコーダ入力に対して、アテンションベースのデコーダリカレントニューラルネットワークは、スペクトログラムのr個のフレームを生成するために、デコーダ入力および符号化表現を処理する。ここで、rは1よりも大きい整数である。生成されたr個のフレームのうちの1つまたは複数は、シーケンスの次のデコーダ入力として使用することができる。言い換えれば、シーケンスの各他のデコーダ入力は、シーケンスのデコーダ入力に先行するデコーダ入力によって生成されたr個のフレームのうちの1つまたは複数である。
【００４６】
アテンションベースのデコーダリカレントニューラルネットワークの出力は、したがって、スペクトログラムを形成するフレームの複数のセットを含み、その中の各セットがr個のフレームを含む。多くの場合、r個のフレームのセット間に重複はない。一度にr個のフレームを生成することによって、アテンションベースのデコーダリカレントニューラルネットワークによって行われるデコーダステップの総数は、r分の1に減少し、したがって訓練および推論時間が減少する。またこの技法は、アテンションベースのデコーダリカレントニューラルネットワークおよびシステム全般の収束速度および学習率を上げるのに役立つ。
【００４７】
システムは、特定の自然言語の文字のシーケンスの口頭発話のスペクトログラムを使用して、音声を生成する(ステップ306)。
【００４８】
いくつかの実装形態では、スペクトログラムが圧縮されたスペクトログラムであるとき、システムは、圧縮されたスペクトログラムから波形を生成し、波形を使用して音声を生成することができる。圧縮されたスペクトログラムから音声を生成することについて、図4を参照しながら以下でより詳細に説明する。
【００４９】
システムは次いで、生成された音声を再生のために提供する(ステップ308)。たとえば、システムは、生成された音声を再生のためにデータ通信ネットワークを介してユーザデバイスに送信する。
【００５０】
図4は、文字のシーケンスの口頭発話の圧縮されたスペクトログラムから音声を生成するための例示的なプロセス400の流れ図である。便宜上、プロセス400は、1つまたは複数の場所にある1つまたは複数のコンピュータのシステムによって行われるものとして説明する。たとえば、適切にプログラムされたテキスト音声変換システム(たとえば、図1のテキスト音声変換システム100)またはテキスト音声変換システムのサブシステム(たとえば、図1のサブシステム102)が、プロセス400を行うことができる。
【００５１】
システムは、特定の自然言語の文字のシーケンスの口頭発話の圧縮されたスペクトログラムを受け取る(ステップ402)。
【００５２】
次いでシステムは、波形合成器入力を取得するために、圧縮されたスペクトログラムを入力として後処理ニューラルネットワークに提供する(ステップ404)。いくつかの場合には、波形合成器入力は、特定の自然言語の文字の入力シーケンスの口頭発話の線形スケールのスペクトログラムである。
【００５３】
波形合成器入力を取得した後、システムは、波形合成器入力を入力として波形合成器に提供する(ステップ406)。波形合成器は、波形を生成するために、波形合成器入力を処理する。いくつかの実装形態では、波形合成器は、線形スケールのスペクトログラムなどの波形合成器入力からの波形を合成するためにGriffin-Limアルゴリズムを使用するGriffin-Lim合成器である。いくつかの他の実装形態では、波形合成器は、ボコーダである。いくつかの他の実装形態では、波形合成器は、訓練可能スペクトログラム波形変換器である。
【００５４】
次いでシステムは、波形を使用して音声を生成する、すなわち、波形によって表される音を生成する(ステップ408)。システムは次いで、たとえばユーザデバイス上での再生のために、生成された音声を提供してもよい。いくつかの実装形態では、システムは、別のシステムが音声を生成し、再生できるように、別のシステムに波形を提供してもよい。
【００５５】
1つまたは複数のコンピュータのシステムが特定の動作またはアクションを行うように構成されるとは、動作時にシステムに動作またはアクションを行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステムがインストールしていることを意味する。1つまたは複数のコンピュータが特定の動作またはアクションを行うように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを行わせる命令を含むことを意味する。
【００５６】
本明細書で説明する主題および機能的動作の実施形態は、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書で開示する構造およびそれらの構造的に同等のものを含む、コンピュータハードウェアにおいて、またはそれらの1つもしくは複数の組合せにおいて、実装されることがある。本明細書で説明する主題の実装形態は、1つまたは複数のコンピュータプログラムとして実装されることがあり、すなわち、データ処理装置によって実行されるように、またはデータ処理装置の動作を制御するために、有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることがある。代替的にまたは追加として、プログラム命令は、人為的に生成された伝搬信号、たとえば、データ処理装置による実行のために好適な受信装置に送信するための情報を符号化するために生成される機械生成の電気、光、または電磁信号上で符号化されることがある。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることがある。しかしながら、コンピュータ記憶媒体は伝搬信号ではない。
【００５７】
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードを含むことができる。
【００５８】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれる、または説明される場合もある)コンピュータプログラムは、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、プログラム言語の任意の形態で書くことができ、またコンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するのに適した他のユニットとしてなど、任意の形態で配置されることがある。コンピュータプログラムは、ファイルシステムのファイルに対応する場合があるが、対応する必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプトを入れたファイルの一部分に、当該プログラムに専用の単一ファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに、記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するもしくは複数のサイトにわたって分散し、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置することができる。
【００５９】
本明細書において使用される、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなど、機能の符号化されたブロックであることがある。各エンジンは、1つまたは複数のプロセッサと、コンピュータ可読媒体とを含む任意の適切なタイプのコンピューティングデバイス、たとえば、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子ブックリーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または他の据置型もしくは携帯型デバイス上に実装することができる。加えて、エンジンの2つ以上が、同じコンピューティングデバイス上に、または異なるコンピューティングデバイス上に実装される場合がある。
【００６０】
本明細書で説明するプロセスおよび論理フローは、入力データで動作し、出力を生成することによって機能を行うために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラマブルコンピュータが実行することによって実行可能である。プロセスおよび論理フローはまた、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行可能であり、装置もまたこれらとして実装可能である。たとえば、プロセスおよび論理フローは、グラフィックス処理ユニット(GPU)によって実行されることがあり、また装置は、GPUとして実装されることがある。
【００６１】
コンピュータプログラムの実行に好適なコンピュータは、一例として、汎用または専用マイクロプロセッサ、または両方、または他の種類の中央処理ユニットを含み、これらに基づくことがある。一般的に中央処理ユニットは、読取り専用メモリ、またはランダムアクセスメモリ、または両方から命令およびデータを受け取ることになる。コンピュータの必須要素は、命令を行うまたは実行するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的にコンピュータはまた、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むことになり、またはこれらからデータを受け取ること、もしくはこれらにデータを転送すること、もしくはその両方を行うために動作可能に結合されることになる。しかしながら、コンピュータがそのようなデバイスを有する必要はない。さらに、コンピュータが別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)レシーバ、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれることがある。
【００６２】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補われる、または専用論理回路に組み込まれることがある。
【００６３】
ユーザとの対話を可能にするために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがそれによってコンピュータへの入力を行うことができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータに実装されることがある。ユーザとの対話を可能にするために他の種類のデバイスが使用されることもあり、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、もしくは触覚フィードバックであることが可能であり、ユーザからの入力は、音響入力、音声入力、もしくは触覚入力など、任意の形態で受け取ることができる。加えて、コンピュータが、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受け取ることによって、たとえば、ウェブブラウザから受け取られる要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【００６４】
本明細書で説明する主題の実施形態は、たとえばデータサーバとして、バックエンド構成要素を含むコンピューティングシステム、またはミドルウェア構成要素、たとえばアプリケーションサーバを含むコンピューティングシステム、またはフロントエンド構成要素、たとえば、それによりユーザが本明細書で説明する主題の実装形態と対話することができるグラフィカルユーザインタフェース、もしくはウェブブラウザを有するクライアントコンピュータを含む、コンピューティングシステム、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装可能である。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば通信ネットワークによって、相互接続可能である。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、およびワイドエリアネットワーク(「WAN」)、たとえばインターネットが含まれる。
【００６５】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、一般的に互いから遠くにあり、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータで実行している、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００６６】
本明細書は、多くの特定の実装形態の詳細を含むが、これらは任意の発明の範囲への、または特許請求される可能性のあるものの範囲への制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有である場合がある特徴の説明として解釈されるべきである。本明細書で別個の実施形態の文脈で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実装されることもある。逆に、単一の実施形態の文脈で説明される様々な特徴は、複数の実施形態において別々に、または任意の適切な部分的組合せで実装されることもある。さらに、特徴は、ある組合せで機能するものとして上記で説明され、さらに当初はそのように特許請求される場合があるが、特許請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除されることがあり、特許請求される組合せは、部分的組合せ、または部分的組合せの変形を対象とすることがある。
【００６７】
同様に、動作は、特定の順序で図面に示されるが、これは、望ましい結果を達成するために、このような動作が図示された特定の順序でもしくは順次に行われること、または例示したすべての動作が行われることを必要とするものと理解されるべきではない。いくつかの環境では、マルチタスクおよび並列処理が有利である場合がある。さらに、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載するプログラム構成要素およびシステムは、一般的に単一のソフトウェア製品に統合される、または複数のソフトウェア製品にパッケージ化されることがあると理解されるべきである。
【００６８】
主題の特定の実施形態について説明した。他の実施形態も、特許請求の範囲内である。たとえば、特許請求の範囲に記載するアクションは、異なる順序で行われ、やはり望ましい結果を実現することがある。一例として、添付図に示すプロセスは、望ましい結果を達成するために、図示した特定の順序、または一連の順序を必ずしも必要としない。いくつかの実装形態では、マルチタスクおよび並列処理が有利である場合がある。
【符号の説明】
【００６９】
100  テキスト音声変換システム
102  サブシステム
104  入力テキスト
106  シーケンスツーシーケンス(seq2seq)リカレントニューラルネットワーク
108  後処理ニューラルネットワーク
110  波形合成器
112  エンコーダニューラルネットワーク
114  エンコーダプレネットニューラルネットワーク
116  エンコーダCBHGニューラルネットワーク
118  アテンションベースのデコーダリカレントニューラルネットワーク
120  音声
150  エンドツーエンドのテキスト音声モデル
200  CBHGニューラルネットワーク
202  入力シーケンス
204  1-D畳み込みフィルタのバンク
206  maxプーリング
208  1-D畳み込みサブネットワーク
210  残差結合
212  ハイウェイネットワーク
214  双方向リカレントニューラルネットワーク
【図１】
2020170200.tif 000003
【図２】
2020170200.tif 000004
【図３】
2020170200.tif 000005
【図４】
2020170200.tif 000006
【手続補正書】
【提出日】令和2年8月19日(2020.8.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シーケンスツーシーケンスリカレントニューラルネットワークを含むテキスト音声変換システムを使用して、特定の自然言語の文字のシーケンスから前記特定の自然言語の文字の前記シーケンスの口頭発話のスペクトログラムを生成するためのコンピュータにより実施される方法であって、
前記シーケンスツーシーケンスリカレントニューラルネットワークが、エンコーダニューラルネットワークと、アテンションベースのデコーダリカレントニューラルネットワークとを備え、
前記エンコーダニューラルネットワークで、前記特定の自然言語の文字の前記シーケンスを受け取ることと、
前記エンコーダニューラルネットワークを使用して、前記シーケンスの前記文字の各々のそれぞれの符号化表現を生成するために、文字の前記シーケンスを処理することと、
デコーダ入力のシーケンスを受け取ることと、
デコーダ入力の前記シーケンスの各デコーダ入力に対して、前記アテンションベースのデコーダリカレントニューラルネットワークを使用して、前記スペクトログラムの複数のフレームを生成するために、前記デコーダ入力および前記符号化表現を処理することと、
前記特定の自然言語の文字の前記シーケンスの前記口頭発話の前記スペクトログラムから、波形を生成することと
を含む、方法。
【請求項２】
前記エンコーダニューラルネットワークが、エンコーダプレネットニューラルネットワークと、エンコーダCBHGニューラルネットワークとを備え、
前記テキスト音声変換システムの前記エンコーダニューラルネットワークを使用して、前記シーケンスの前記文字の各々のそれぞれの符号化表現を生成するために、文字の前記シーケンスを処理することが、
前記エンコーダプレネットニューラルネットワークを使用して、前記シーケンスの各文字のそれぞれの埋込みを受け取ることと、
前記エンコーダプレネットニューラルネットワークを使用して、前記文字のそれぞれの変換された埋込みを生成するために、前記シーケンスの各文字の前記それぞれの埋込みを処理することと、
前記エンコーダCBHGニューラルネットワークを使用して、前記文字のそれぞれの符号化表現を生成するために、前記シーケンスの各文字のそれぞれの変換された埋込みを処理することと
を含む、請求項1に記載の方法。
【請求項３】
前記エンコーダCBHGニューラルネットワークが、1-D畳み込みフィルタのバンク、続いてハイウェイネットワーク、および続いて双方向リカレントニューラルネットワークを含む、請求項2に記載の方法。
【請求項４】
前記双方向リカレントニューラルネットワークが、ゲート付きリカレントユニットニューラルネットワークである、請求項3に記載の方法。
【請求項５】
前記エンコーダCBHGニューラルネットワークが、前記変換された埋込みと、1-D畳み込みフィルタの前記バンクの出力との間に残差結合を含む、請求項3に記載の方法。
【請求項６】
1-D畳み込みフィルタの前記バンクが、ストライド1での時間層に沿ったmaxプーリングを含む、請求項3に記載の方法。
【請求項７】
前記シーケンスの第1のデコーダ入力が、あらかじめ決定された初期フレームである、請求項1に記載の方法。
【請求項８】
前記スペクトログラムが、圧縮されたスペクトログラムである、請求項1に記載の方法。
【請求項９】
前記圧縮されたスペクトログラムが、メル尺度のスペクトログラムである、請求項8に記載の方法。
【請求項１０】
波形合成器入力を生成するために、前記圧縮されたスペクトログラムを処理することと、
前記テキスト音声変換システムの波形合成器を使用して、前記特定の自然言語の文字の入力シーケンスの前記口頭発話の前記波形を生成するために、前記波形合成器入力を処理することと
をさらに含む、請求項8に記載の方法。
【請求項１１】
前記波形を使用して音声を生成することと、
前記生成された音声を再生のために提供することと
をさらに含む、請求項1に記載の方法。
【請求項１２】
前記波形合成器が、訓練可能スペクトログラム波形変換器である、請求項10に記載の方法。
【請求項１３】
前記波形合成器が、ボコーダである、請求項10に記載の方法。
【請求項１４】
前記波形合成器入力が、前記特定の自然言語の文字の前記入力シーケンスの前記口頭発話の線形スケールのスペクトログラムである、請求項10に記載の方法。
【請求項１５】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から14のいずれか一項に記載の方法を実行させる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【外国語明細書】
2020170200000001.pdf