(57)【特許請求の範囲】
【請求項１】
学習用テキストデータに含まれる単語yL,s(t)を示すベクトルwL,s(t)と、前記学習用テキストデータに対応する音声データの音響特徴量であって前記単語yL,s(t)に対応する音響特徴量afL,s(t)とを用いて、単語ベクトル化モデルを学習する学習部を含み、前記単語ベクトル化モデルは単語を示すベクトルを入力とし、その単語に対応する音声データの音響特徴量を出力とするニューラルネットワークを含み、前記単語ベクトル化モデルは何れかの中間層の出力値を単語ベクトルとするモデルである、
単語ベクトル化モデル学習装置。
【請求項２】
請求項１の単語ベクトル化モデル学習装置であって、
学習用テキストデータに含まれる単語yL,s(t)を、その単語yL,s(t)を示す第一ベクトルwL,1,s(t)に変換し、第二単語ベクトル化モデルを用いて、前記第一ベクトルwL,1,s(t)を前記ベクトルwL,s(t)に変換する単語表現変換部を含み、前記第二単語ベクトル化モデルは音声データの音響特徴量を用いずに言語情報に基づき学習されたニューラルネットワークを含むモデルである、
単語ベクトル化モデル学習装置。
【請求項３】
請求項１または請求項２の単語ベクトル化モデル学習装置において学習された単語ベクトル化モデルを用いる単語ベクトル化装置であって、
前記単語ベクトル化モデルを用いて、ベクトル化対象となるテキストデータに含まれる単語yo,s(t)を示すベクトルwo_1,s(t)を単語ベクトルwo_2,s(t)に変換する単語ベクトル変換部を含む、
単語ベクトル化装置。
【請求項４】
請求項３の単語ベクトル化装置を用いてベクトル化された単語ベクトルを用いて、合成音声データを生成する音声合成装置であって、
ある単語の音素情報とその単語に対応する単語ベクトルとを入力とし、その単語に対する合成音声データを生成するための情報を出力するニューラルネットワークを含む音声合成モデルを用いて、前記単語yo,s(t)の音素情報と前記単語ベクトルwo_2,s(t)とを用いて、合成音声データを生成する合成音声生成部を含み、
前記単語ベクトル化モデルは、前記ベクトルwL,s(t)と前記音響特徴量afL,s(t)とを用いて学習された単語ベクトル化モデルを、さらに、単語を示すベクトルと、その単語に対応する音声データであって、音声合成用の音声データの音響特徴量とを用いて再学習されたものである、
音声合成装置。
【請求項５】
学習用テキストデータに含まれる単語yL,s(t)を示すベクトルwL,s(t)と、前記学習用テキストデータに対応する音声データの音響特徴量であって前記単語yL,s(t)に対応する音響特徴量afL,s(t)とを用いて、単語ベクトル化モデルを学習する学習ステップを含み、前記単語ベクトル化モデルは単語を示すベクトルを入力とし、その単語に対応する音声データの音響特徴量を出力とするニューラルネットワークを含み、前記単語ベクトル化モデルは何れかの中間層の出力値を単語ベクトルとするモデルである、
単語ベクトル化モデル学習装置が実行する単語ベクトル化モデル学習方法。
【請求項６】
請求項５の単語ベクトル化モデル学習方法において学習された単語ベクトル化モデルを用いる単語ベクトル化方法であって、
前記単語ベクトル化モデルを用いて、ベクトル化対象となるテキストデータに含まれる単語yo,s(t)を示すベクトルwo_1,s(t)を単語ベクトルwo_2,s(t)に変換する単語ベクトル変換ステップを含む、
単語ベクトル化装置が実行する単語ベクトル化方法。
【請求項７】
請求項６の単語ベクトル化方法を用いてベクトル化された単語ベクトルを用いて、合成音声データを生成する音声合成方法であって、
ある単語の音素情報とその単語に対応する単語ベクトルとを入力とし、その単語に対する合成音声データを生成するための情報を出力するニューラルネットワークを含む音声合成モデルを用いて、前記単語yo,s(t)の音素情報と前記単語ベクトルwo_2,s(t)とを用いて、合成音声データを生成する合成音声生成ステップを含み、
前記単語ベクトル化モデルは、前記ベクトルwL,s(t)と前記音響特徴量afL,s(t)とを用いて学習された単語ベクトル化モデルを、さらに、単語を示すベクトルと、その単語に対応する音声データであって、音声合成用の音声データの音響特徴量とを用いて再学習されたものである、
音声合成装置が実行する音声合成方法。
【請求項８】
請求項１若しくは請求項２の単語ベクトル化モデル学習装置、または、請求項３の単語ベクトル化装置、または、請求項４の音声合成装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成や音声認識などの自然言語処理で用いられる単語をベクトル化する技術に関する。
【背景技術】
【０００２】
自然言語処理等の分野で、単語をベクトル化する技術が提案されている。例えば、単語をベクトル化する技術としてWord2Vecが知られている（非特許文献１等）。単語ベクトル化装置９０は、ベクトル化対象単語系列を入力とし、各単語を示す単語ベクトルを出力する(図１参照)。Word2Vec等の単語ベクトル化技術は、単語をベクトル化し、計算機上で扱いやすくすることができる。そのため、計算機上で扱われる音声合成、音声認識、機械翻訳、対話システム、検索システム等の様々な自然言語処理技術で単語ベクトル化技術が利用されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, "Efficient estimation of word representations in vector space", 2013, ICLR
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在の単語ベクトル化技術で用いられているモデルfは、単語の表記の情報(テキストデータ)texLのみで学習される（図２参照）。例えば、Word2Vecでは、前後の単語からある単語を推定するContinuous Bag of Words（CBOW、図３Ａ参照）、ある単語から前後の単語を推定するSkip-gram(図３Ｂ参照)等のニューラルネットワーク（単語ベクトル化モデル）９２を学習することで、単語間の関係性を学習する。そのため、得られる単語ベクトルは、単語の意味（品詞等）等に基づきベクトル化しているものであり、発音等の情報を考慮することはできない。例えば、英単語"won't"、"want"、"don't"は、ストレスの位置が同じ、発音記号もほぼ同じであるため、発音がほぼ同一の単語だと考えられる。しかし、Word2Vec等ではそういった単語を類似したベクトルへ変換することができない。【０００５】
本発明は、単語を、その単語の持つ音響的な特徴も考慮した単語ベクトルに変換する単語ベクトル化装置、単語ベクトル化装置で利用される単語ベクトル化モデルを学習する単語ベクトル化モデル学習装置、単語ベクトルを用いて合成音声データを生成する音声合成装置、それらの方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様によれば、単語ベクトル化モデル学習装置は、学習用テキストデータに含まれる単語yL,s(t)を示すベクトルwL,s(t)と、学習用テキストデータに対応する音声データの音響特徴量であって単語yL,s(t)に対応する音響特徴量afL,s(t)とを用いて、単語ベクトル化モデルを学習する学習部を含む。単語ベクトル化モデルは単語を示すベクトルを入力とし、その単語に対応する音声データの音響特徴量を出力とするニューラルネットワークを含み、単語ベクトル化モデルは何れかの中間層の出力値を単語ベクトルとするモデルである。【０００７】
上記の課題を解決するために、本発明の他の態様によれば、単語ベクトル化モデル学習装置が実行する単語ベクトル化モデル学習方法は、学習用テキストデータに含まれる単語yL,s(t)を示すベクトルwL,s(t)と、学習用テキストデータに対応する音声データの音響特徴量であって単語yL,s(t)に対応する音響特徴量afL,s(t)とを用いて、単語ベクトル化モデルを学習する学習ステップを含む。単語ベクトル化モデルは単語を示すベクトルを入力とし、その単語に対応する音声データの音響特徴量を出力とするニューラルネットワークを含み、単語ベクトル化モデルは何れかの中間層の出力値を単語ベクトルとするモデルである。
【発明の効果】
【０００８】
本発明によれば、音響的な特徴も考慮した単語ベクトルを得ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】従来技術に係る単語ベクトル化装置を説明するための図。
【図２】従来技術に係る単語ベクトル化モデル学習装置を説明するための図。
【図３Ａ】CBOWのニューラルネットワークを示す図。
【図３Ｂ】Skip-gramのニューラルネットワークを示す図。
【図４】第一、第二、第三実施形態に係る単語ベクトル化モデル学習装置の機能ブロック図。
【図５】第一、第二、第三実施形態に係る単語ベクトル化モデル学習装置の処理フローの例を示す図。
【図６】第一実施形態に係る単語ベクトル化モデル学習装置を説明するための図。
【図７】単語セグメンテーション情報の例を示す図。
【図８】第一、第三実施形態に係る単語ベクトル化装置の機能ブロック図。
【図９】第一、第三実施形態に係る単語ベクトル化装置の処理フローの例を示す図。
【図１０】第四、第五実施形態に係る音声合成装置の機能ブロック図。
【図１１】第四、第五実施形態に係る音声合成装置の処理フローの例を示す図。
【図１２】音声認識用コーパス、音声合成用コーパスに関する情報を示す図。
【図１３Ａ】文章(1)に対して第四実施形態及び従来技術により得られた単語ベクトル間のコサイン類似度を示す図。
【図１３Ｂ】文章(2)に対して第四実施形態及び従来技術により得られた単語ベクトル間のコサイン類似度を示す図。
【図１４】従来技術、第四実施形態、第五実施形態により得られたRMS誤差を示す図。
【図１５】従来技術、第四実施形態、第五実施形態により得られた相関係数を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【００１１】
＜第一実施形態のポイント＞
近年、音声認識等の学習データとして、大量の音声データ及びその書き起こしテキスト(以下、音声認識用コーパスともいう)が用意されるようになっている。本実施形態では、単語ベクトル化モデルの学習データとして、従来用いられているテキスト（単語（形態素）の表記）に加え音声データを用いる。例えば、大量の音声データとテキストとを用いて、入力単語(テキストデータ)からその単語の持つ音響特徴量（スペクトル、音高パラメータ等）とその時間変動を推定するモデルを学習し、そのモデルを単語ベクトル化モデルとして使用する。
【００１２】
このようにモデルを学習することで、単語間の発音等の類似性を考慮したベクトルを抽出することが可能になる。さらに、発音等の類似性を考慮した単語ベクトルの利用により、音声合成、音声認識等の音声処理技術の性能向上が可能となる。
【００１３】
＜第一実施形態に係る単語ベクトル化モデル学習装置＞
図４は第一実施形態に係る単語ベクトル化モデル学習装置１１０の機能ブロック図を、図５はその処理フローを示す。
【００１４】
単語ベクトル化モデル学習装置１１０は、(1)学習用テキストデータtexLと、(2)学習用テキストデータtexLに対応する音声データに基づく情報xLと、(3)音声データ中の単語yL,s(t)がいつ発話されたかを示す単語セグメンテーション情報segL,s(t)とを入力とし、これらの情報を用いて学習した単語ベクトル化モデルfw→afを出力する。
【００１５】
従来の単語ベクトル化モデル学習装置９１（図２参照）との大きな違いは、単語ベクトル化モデル学習装置９１は単語ベクトル化モデルの学習データとしてテキストデータのみを用いているのに対し、本実施形態では音声データとそのテキストデータとを用いている点である。
【００１６】
本実施形態では、学習の際には、単語ベクトル化モデルfw→afの入力として単語情報(学習用テキストデータtexLに含まれる単語yL,s(t)を示す情報wL,s(t))、出力として音声情報(その単語yL,s(t)の音響特徴量afL,s(t))を使用することで(図６参照)、単語からその単語の音響特徴量を推定するニューラルネットワーク(単語ベクトル化モデル)を学習する。
【００１７】
単語ベクトル化モデル学習装置１１０は、CPUと、RAMと、以下の処理を実行するためのプログラムを記録したROMを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００１８】
単語ベクトル化モデル学習装置１１０は、単語表現変換部１１１、音声データ分割部１１２と、学習部１１３を含む。
【００１９】
単語ベクトル化モデルを学習する際に使用する学習データについて説明する。
【００２０】
学習用テキストデータtexLと、学習用テキストデータtexLに対応する音声データとして、例えば、大量の音声データ及びその書き起こしテキストデータからなるコーパス（音声認識用コーパス）等を利用することができる。つまり、人が大量に発声した音声（音声データ）と音声に対して文章（テキストデータ）を付与したものである（それぞれS個の文章）。この音声データには、一人の話者が発話した音声データのみを使用してもよいし、様々な話者が発話した音声データが混在したものを使用してもよい。
【００２１】
また、音声データ中の単語yL,s(t)がいつ発話されたかを示す単語セグメンテーション情報segL,s(t)（図７参照）も付与する。図７の例では、単語セグメンテーション情報として、各単語の開始時間と終了時間とを用いているが、他の情報を用いてもよい。例えば、ある単語の終了時間と次の単語の開始時間とが一致する場合には、開始時間と終了時間との何れか一方のみを単語セグメンテーション情報として用いてもよい。また、文章の開始時刻を指定し、発話時間だけを単語セグメンテーション情報として用いてもよい。例えば、"pause"=350, "This"=250, "is"=80,…とすることで、各単語の開始時間と終了時間とを特定することができる。要は、単語セグメンテーション情報は、単語yL,s(t)がいつ発話されたかを示すことができればどのような情報であってもよい。この単語セグメンテーション情報は人手で付与してもよいし、音声認識器等を使用して、音声データ、テキストデータから自動的に付与してもよい。本実施形態では、単語ベクトル化モデル学習装置１１０に音声データに基づく情報xL(t)と単語セグメンテーション情報segL,s(t)とが入力されている。ただし、単語ベクトル化モデル学習装置１１０に音声データに基づく情報xL(t)のみが入力され、単語ベクトル化モデル学習装置１１０内で強制アライメントにより各単語の単語境界を付与し、単語セグメンテーション情報segL,s(t)を求める構成としてもよい。
【００２２】
また、通常のテキストデータには、発声中の無音（short pause等）を表現する単語は含まれないが、本実施形態では音声データとの整合性を取るために、無音用の単語"pause"を使用する。
【００２３】
音声データに基づく情報xLは、実際の音声データであってもよいし、音声データから取得可能な音響特徴量であってもよい。本実施形態では、音声データから抽出した音響特徴量（スペクトルパラメータ、音高パラメータ（F0））とする。音響特徴量として、スペクトル、音高パラメータのどちらか一方、または両者を使用することも可能である。その他、音声データから信号処理等により抽出可能な音響特徴量(例えば、メルケプストラム、非周期性指標、対数F0、有声・無声フラグ等)を使用することも可能である。音声データに基づく情報xLが実際の音声データの場合には、音声データから音響特徴量を抽出する構成を設ければよい。
【００２４】
以下、各部の処理内容を説明する。
【００２５】
＜単語表現変換部１１１＞
単語表現変換部１１１は、学習用テキストデータtexLを入力とし、学習用テキストデータtexLに含まれる単語yL,s(t)を、その単語yL,s(t)を示すベクトルwL,s(t)に変換し（Ｓ１１１）、出力する。
【００２６】
学習用テキストデータtexL中の単語yL,s(t)を後段の学習部１１３で使用可能な表現（数値表現）へ変換する。なお、ベクトルwL,s(t)を表現変換後単語データともいう。
【００２７】
単語の数値表現の例として、最も一般的なものはone hot表現である。例えば、学習用テキストデータtexL中に含まれる単語がN種類であった場合、one hot表現では各単語をN次元のベクトルwL,s(t)として扱う。
wL,s(t)=[wL,s(t)(1),…,wL,s(t)(n),…,wL,s(t)(N)]
ここで、wL,s(t)は、学習用テキストデータtexL中のs番目（1≦s≦S）の文章のt番目（1≦t≦Ts）（Tsはs番目の文章に含まれる単語数）の単語のベクトルである。よって、各部で全てのs及び全てのtに対して処理を行う。また、wL,s(t)(n)は、wL,s(t)のn次元目の情報を表す。one-hot表現では、単語に該当する次元wL,s(t)(n)を1とし、それ以外の次元を0とするベクトルを構築する。
【００２８】
＜音声データ分割部１１２＞
音声データ分割部１１２は、単語セグメンテーション情報segL,s(t)と音声データに基づく情報xLである音響特徴量とを入力とし、単語セグメンテーション情報segL,s(t)を用いて、音響特徴量を単語yL,s(t)の区分に応じて分割し（Ｓ１１２）、分割された音声データの音響特徴量afL,s(t)を出力する。
【００２９】
本実施形態では、後段の学習部１１３において、分割後の音響特徴量afL,s(t)を任意の固定長（次元数D）のベクトルとして表現する必要がある。そのため、以下の手順により、各単語の分割後の音響特徴量afL,s(t)を得る。
(1)単語セグメンテーション情報segL,s(t)中の単語yL,s(t)の時間情報に基づき、時系列の音響特徴量を単語yL,s(t)毎に分割する。例えば、音声データのフレームシフトが5msの場合、図７の例では、無音用の単語"pause"の音響特徴量として、1フレーム目から70フレーム目までの音響特徴量を得る。同様に単語"This"は71フレーム目から120フレーム目までの音響特徴量となる。
(2)上述の(1)で得られた各単語の音響特徴量は、得られる音響特徴量のフレーム数が異なるため、各単語の音響特徴量の次元数は異なる。そのため、得られた各単語の音響特徴量を固定長のベクトルへ変換する必要がある。変換手法として最も単純なものは、フレーム数が異なる各音響特徴量を任意の固定フレーム数へ変換することである。この変換は、線形補間等により実現できる。
【００３０】
また、得られた分割後の音響特徴量に対し、何らかの次元圧縮手法によって、次元圧縮を行ったデータも分割後の音響特徴量afL,s(t)として使用することも可能である。次元圧縮手法として、例えば主成分分析（PCA）や離散コサイン変換（DCT）、ニューラルネットワークに基づく自己符号化器（Auto encoder）等を使用することが可能である。
【００３１】
＜学習部１１３＞
学習部１１３は、ベクトルwL,s(t)と、分割された音声データの音響特徴量afL,s(t)とを入力とし、これらの値を用いて、単語ベクトル化モデルfw→afを学習する（Ｓ１１３）。なお、単語ベクトル化モデルは単語を示すベクトルwL,s(t)（例えばN次元one hot表現）をその単語に対応する音声データの音響特徴量(例えばD次元ベクトル)に変換するニューラルネットワークである。例えば、単語ベクトル化モデルfw→afは次式により表される。
^afL,s(t)=fw→af(wL,s(t))
本実施形態において、利用可能なニューラルネットワークとして、通常のMultilayer perceptron（MLP）だけでなく、Recurrent Neural Network（RNN）、RNN-LSTM（long short term memory）等の前後の単語を考慮可能なニューラルネットワーク、またそれらを組み合わせたニューラルネットワークを使用することが可能である。
【００３２】
＜第一実施形態に係る単語ベクトル化装置＞
図８は第一実施形態に係る単語ベクトル化装置１２０の機能ブロック図を、図９はその処理フローを示す。
【００３３】
単語ベクトル化装置１２０は、ベクトル化対象となるテキストデータtexoを入力とし、学習した単語ベクトル化モデルfw→afを用いて、テキストデータtexoに含まれる単語yo,s(t)を単語ベクトルwo_2,s(t)に変換し、出力する。ただし、単語ベクトル化装置１２０において、1≦s≦Soであり、Soはベクトル化対象となるテキストデータtexoに含まれる文章の総数、1≦t≦Tsであり、Tsはベクトル化対象となるテキストデータtexoに含まれる文章sに含まれる単語yo,s(t)の総数である。
【００３４】
単語ベクトル化装置１２０は、CPUと、RAMと、以下の処理を実行するためのプログラムを記録したROMを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００３５】
単語ベクトル化装置１２０は、単語表現変換部１２１と単語ベクトル変換部１２２とを含む。単語ベクトル化装置１２０は、ベクトル化に先立ち、予め単語ベクトル化モデルfw→afを受け取り、単語ベクトル変換部１２２に設定しておく。
【００３６】
＜単語表現変換部１２１＞
単語表現変換部１２１は、テキストデータtexoを入力とし、テキストデータtexoに含まれる単語yo,s(t)を、その単語yo,s(t)を示すベクトルwo_1,s(t)に変換し（Ｓ１２１）、出力する。変換方法は、単語表現変換部１１１に対応する方法を用いればよい。
【００３７】
＜単語ベクトル変換部１２２＞
単語ベクトル変換部１２２は、ベクトルwo_1,s(t)を入力とし、単語ベクトル化モデルfw→afを用いて、ベクトルwo_1,s(t)を単語ベクトルwo_2,s(t)に変換し（Ｓ１２２）、出力する。例えば、単語ベクトル化モデルfw→afのニューラルネットワークの順伝搬処理をベクトルwo_1,s(t)を入力として実施し、任意の中間層(ボトルネック層)の出力値（bottleneck feature）を単語yo,s(t)の単語ベクトルwo_2,s(t)として出力することで、ベクトルwo_1,s(t)から単語ベクトルwo_2,s(t)への変換を行う。
【００３８】
＜効果＞
以上の構成により、音響的な特徴も考慮した単語ベクトルwo_2,s(t)を得ることができる。
【００３９】
＜変形例＞
単語ベクトル化モデル学習装置は、学習部１３０のみを含む構成としてもよい。例えば、学習用テキストデータに含まれる単語yL,s(t)を示すベクトルwL,s(t)と、単語yL,s(t)に対応する音響特徴量afL,s(t)とは、別装置により、算出したものを用いてもよい。同様に、単語ベクトル化装置は、単語ベクトル変換部１２２のみを含む構成としてもよい。例えば、ベクトル化対象となるテキストデータに含まれる単語yo,s(t)を示すベクトルwo_1,s(t)は、別装置により、算出したものを用いてもよい。
【００４０】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００４１】
第一実施形態では、音声データとして様々な話者の音声が含まれている場合、話者性の違いにより音声データが大きく異なってしまう。そのため、単語ベクトル化モデル学習を高精度に行うことは難しい。そこで、第二実施形態では、話者毎に音声データに基づく情報xLである音響特徴量に対し正規化を行う。このような構成とすることで、話者性の違いにより単語ベクトル化モデル学習の精度が下がる問題を軽減する。
【００４２】
図４は第二実施形態に係る単語ベクトル化モデル学習装置２１０の機能ブロック図を、図５はその処理フローを示す。
【００４３】
単語ベクトル化モデル学習装置２１０は、単語表現変換部１１１、音声データ正規化部２１４(図４中、破線で示す)と、音声データ分割部１１２と、学習部１１３とを含む。
【００４４】
＜音声データ正規化部２１４＞
音声データ正規化部２１４は、音声データに基づく情報xLである音響特徴量を入力とし、同一の発話者の、学習用テキストデータに対応する音声データの音響特徴量を正規化し（Ｓ１２１）、出力する。
【００４５】
正規化の手法として、例えば、音響特徴量中に各文章の発話者の情報が付与されている場合は、同一の発話者の音響特徴量から平均、分散を求め、z-scoreを求める。例えば、発話者の情報が付与されていない場合には、文章毎に話者が異なると想定し、文章ごとに音響特徴量から平均、分散を求め、z-scoreを求める。そして、z-scoreを正規化後音響特徴量として使用する。
【００４６】
音声データ分割部１１２では、正規化後の音響特徴量を用いる。
【００４７】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。さらに、話者性の違いにより単語ベクトル化モデル学習の精度が下がる問題を軽減できる。
【００４８】
＜第三実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００４９】
第一実施形態、第二実施形態では、単語ベクトル化モデル学習において、音声データに対応する音響特徴量とそのテキストデータを用いている。しかし、一般的に使用可能な音声データに含まれる単語の種類Nは、Web等から入手可能な大量のテキストデータに対して小さい。そのため、従来の学習用テキストデータのみで学習する単語ベクトル化モデルに対し、未知語が発生しやすくなるという課題がある。
【００５０】
本実施形態では、その課題を解決するために、単語表現変換部１１１，１２１において、従来の学習用テキストデータのみで学習する単語ベクトル化モデルを使用する。以下、差分のある単語表現変換部３１１，３２１について説明する（図４、図８参照）。また、本実施形態と第二実施形態とを併用することも可能である。
【００５１】
＜単語表現変換部３１１＞
単語表現変換部３１１は、学習用テキストデータtexLを入力とし、学習用テキストデータtexLに含まれる単語yL,s(t)を、その単語yL,s(t)を示すベクトルwL,s(t)に変換し（Ｓ３１１、図５参照）、出力する。
【００５２】
本実施形態では、学習用テキストデータtexL中の各単語yL,s(t)に対して、言語情報に基づく単語ベクトル化モデルを用いて、単語を後段の学習部１３３で使用可能な表現（数値表現）へ変換し、ベクトルwL,s(t)を得る。言語情報に基づく単語ベクトル化モデルは、非特許文献１で挙げているWord2Vec等を用いることが可能である。
【００５３】
本実施形態では、まず第一実施形態と同様に単語をone hot表現へ変換する。この際の次元数Nとして、第一実施形態では学習用テキストデータtexL中の単語の種類としていたが、本実施形態では言語情報に基づく単語ベクトル化モデルの学習に使用した学習用テキストデータ中の単語の種類とする点が異なる。次に得られた各単語のone hot表現のベクトルに対し、言語情報に基づく単語ベクトル化モデルを用いて、ベクトルwL,s(t)を得る。ベクトルの変換方法は言語情報に基づく単語ベクトル化モデルによって異なるが、Word2Vecの場合は、本発明と同様に順伝搬処理を行い、中間層(ボトルネック層)の出力ベクトルを取り出すことで、ベクトルwL,s(t)を得ることができる。
【００５４】
単語表現変換部３２１においても同様の処理を行う（Ｓ３２１、図９参照）。
【００５５】
＜効果＞
このような構成により、第一実施形態と同様の効果を得ることができる。さらに、未知語の発生を従来の単語ベクトル化モデルと同程度とすることができる。
【００５６】
＜第四実施形態＞
本実施形態では、第一実施形態から第三実施形態で生成した単語ベクトルを音声合成に利用する例について説明する。ただし、単語ベクトルは、音声合成以外の用途に用いることができることは言うまでもなく、本実施形態は単語ベクトルの用途を限定するものではない。
【００５７】
図１０は第四実施形態に係る音声合成装置４００の機能ブロック図を、図１１はその処理フローを示す。
【００５８】
音声合成装置４００は、音声合成用のテキストデータtexOを入力とし、合成音声データzoを出力する。
【００５９】
音声合成装置４００は、CPUと、RAMと、以下の処理を実行するためのプログラムを記録したROMを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００６０】
音声合成装置４００は、音素抽出部４１０と、単語ベクトル化装置１２０または３２０と、合成音声生成部４２０とを含む。単語ベクトル化装置１２０または３２０の処理内容については第一実施形態または第三実施形態で説明した通りである（Ｓ１２０，Ｓ３２０に相当）。単語ベクトル化装置１２０または３２０は、音声合成処理に先立ち、予め単語ベクトル化モデルfw→afを受け取り、単語ベクトル変換部１２２に設定しておく。
【００６１】
＜音素抽出部４１０＞
音素抽出部４１０は、音声合成用のテキストデータtexOを入力とし、テキストデータtexOに対応する音素情報poを抽出し（Ｓ４１０）、出力する。なお、音素抽出方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００６２】
＜合成音声生成部４２０＞
合成音声生成部４２０は、音素情報poと単語ベクトルwo_2,s(t)とを入力とし、合成音声データzoを生成し（Ｓ４２０）、出力する。
【００６３】
例えば、合成音声生成部４２０は、音声合成用モデルを含む。例えば、音声合成用モデルは、単語の音素情報とその単語に対応する単語ベクトルとを入力とし、その単語に対する合成音声データを生成するための情報を出力するモデル(例えばdeep neural network(DNN)モデル)である。合成音声データを生成するための情報としては、メルケプストラム、非周期性指標、F0、有声・無声フラグ等(以下、これらの情報を要素とするベクトルを特徴ベクトルともいう)が考えられる。なお、音声合成処理に先立ち、学習用のテキストデータに対応する音素情報と単語ベクトルと特徴ベクトルとを与えて、音声合成用モデルを学習しておく。さらに、合成音声生成部４２０は、上述の音声合成用モデルに音素情報poと単語ベクトルwo_2,s(t)とを入力し、音声合成用のテキストデータtexOに対応する特徴ベクトルを取得し、ヴォコーダー等を用いて特徴ベクトルから合成音声データzoを生成し、出力する。
【００６４】
＜効果＞
このような構成により、音響的な特徴も考慮した単語ベクトルを用いて合成音声データを生成することができ、従来よりも自然な合成音声データを生成することができる。
【００６５】
＜第五実施形態＞
第四実施形態と異なる部分を中心に説明する。
【００６６】
第四実施形態の音声合成法では、第一実施形態から第三実施形態の何れかの方法により単語ベクトル化モデルを学習する。第一実施形態の説明の中で、単語ベクトル化モデルを学習する際に音声認識用コーパス等を利用することができることを説明した。このとき、音声認識用コーパスを用いて、単語ベクトル化モデルを学習すると、音響特徴量は話者によって異なる。そのため、得られる単語ベクトルは音声合成用コーパスの話者にとって最適であるとは限らない。そこで、音声合成用コーパスの話者により適した単語ベクトルを得るために、音声認識用コーパスから学習した単語ベクトル化モデルに対して、音声合成用コーパスを用いて再学習を行う。
【００６７】
図１０は第五実施形態に係る音声合成装置５００の機能ブロック図を、図１１はその処理フローを示す。
【００６８】
音声合成装置５００は、音素抽出部４１０と単語ベクトル化装置１２０または３２０と、合成音声生成部４２０と再学習部５３０(図１０中、破線で示す)を含む。再学習部５３０の処理内容について説明する。
【００６９】
＜再学習部５３０＞
再学習部５３０は、再学習に先立ち、予め、合成音声用コーパスから得られる音声データとテキストデータとを用いて、ベクトルwv,s(t)と、分割された音声データの音響特徴量afv,s(t)とを求める。なお、ベクトルwv,s(t)と、分割された音声データの音響特徴量afv,s(t)とは、それぞれ単語表現変換部１１１、３１１、音声データ分割部１１２と同様の方法により、求めることができる。なお、分割された音声データの音響特徴量afv,s(t)は音声合成用の音声データの音響特徴量と言える。
【００７０】
再学習部５３０は、単語ベクトル化モデルfw→afと、ベクトルwv,s(t)と、分割された音声データの音響特徴量afv,s(t)とを用いて、単語ベクトル化モデルfw→afを再学習し、学習後の単語ベクトル化モデルfw→afを出力する。
【００７１】
単語ベクトル化装置１２０，３２０では、ベクトル化対象となるテキストデータtexoを入力とし、テキストデータtexoに含まれる単語yo,s(t)を、再学習後の単語ベクトル化モデルfw→afを用いて、単語ベクトルwo_2,s(t)に変換し、出力する。
【００７２】
＜効果＞
このような構成により、単語ベクトルを音声合成用コーパスの話者にとって最適なものとし、従来よりも自然な合成音声データを生成することができる。
【００７３】
＜シミュレーション＞
(実験条件)
単語ベクトル化モデルfw→afの学習に用いる大規模音声データとして、英語ネイティブ話者5,372名が発話した約700時間の音声認識用コーパス(ASR corpus)を用いた。各発話には強制アライメントにより各単語の単語境界を付与している。音声合成用コーパス(TTS corpus)として、英語ネイティブ話者である女性1名のプロナレータが発話した約5時間の音声データを使用した。図１２に両コーパスに関するその他の情報を示す。
【００７４】
単語ベクトル化モデルfw→afは、中間層としてBidirectional LSTM（BLSTM）3層、2層目の中間層の出力をボトルネック層とした。ボトルネック層以外の各層のユニット数は256とし、活性化関数にはRectied Linear Unit（ReLU）を用いた。単語ベクトルの次元数による性能の変化を検証するため、ボトルネック層のユニット数を16、32、64、128、256と変更した5つのモデルを学習している。未知語へ対応するために、学習データ中に出現頻度が2回以下の単語は全て未知語（"UNK"）とし、一単語としている。また、テキストデータと異なり、音声データ中には文頭、文中、文末に無音（ポーズ）が挿入されるため、本シミュレーションではポーズも単語（"PAUSE"）として扱っている。その結果、"UNK"、"PAUSE"を含め、計26,663次元を単語ベクトル化モデルfw→afの入力とした。単語ベクトル化モデルfw→afの出力には、各単語のF0を固定長（32サンプル）へリサンプリングし、そのDCT値の1次から5次を使用した。学習には、全データからランダムに選択した1%を交差検証(early stopping)のための開発データとし、それ以外のデータを学習データとして使用した。音声合成用コーパスを用いた再学習時には、後述の音声合成用モデルと同様に学習、開発データとして、それぞれ4,400文章、100文章を使用した。提案法と比較を行うために、テキストデータのみから学習した単語ベクトルとして、従来法(参考文献１、２参照)と同様に、82,390単語からなる80次元の単語ベクトル(参考文献３)を使用した。
(参考文献１)P. Wang et al:, "Word embedding for recurrent neural  network based TTS synthesis", in ICASSP 2015, p.4879-4883, 2015.
(参考文献２)X. Wang et al:, "Enhance the word vector with prosodic information for the recurrent neural network based TTS system", in INTERSPEECH 2016, p.2856-2860, 2016.
(参考文献３)Mikolov, et al:, "Recurrent neural network based language model", in INTERSPEECH 2010, p.1045-1048, 2010.
この中には、未知語（"UNK"）、ポーズ（"PAUSE"）に相当する単語が存在しないため、本シミュレーションでは未知語は全単語の単語ベクトルの平均、ポーズは文末記号（"
"）の単語ベクトルを使用した。音声合成用モデルには、2層の全結合層と2層のUnidirectional LSTM(参考文献４)から構成されるネットワークを使用した。
(参考文献４)Zen et al: "Unidirectional long short-term memory recurrent neural network with recurrent output layer for low-latency speech synthesis", in ICASSP 2015, p.4470-4474, 2015.
各層のユニット数は256とし、活性化関数にはReLUを使用した。音声の特徴ベクトルとして、STRAIGHT(参考文献５)により抽出した平滑化スペクトルから求めた0次から39次のメルケプストラム、5次元の非周期性指標、対数F0、有声・無声フラグの計47次元を用いた。
(参考文献５)Kawahara et al:, "Restructuring speech representations using a pitch-adaptive time-frequency smoothing and an instantaneous-frequency-based F0 extraction: Possible role of a reptitive structure in sounds", Speech Communication, 27, p.187-207, 1999.
【００７５】
音声信号のサンプリング周波数は22.05kHz、フレームシフトは5msとした。音声合成用モデルの学習、開発データとして、それぞれ4,400文章、100文章を使用し、それ以外の83文章を評価用データとして使用した。従来法との比較のために、音声合成用モデルの入力として以下の6種類を用いた。
1. 音素のみ（Quinphone）
2. 上述の1＋韻律情報ラベル（Prosodic）
3. 上述の1＋テキストデータ単語ベクトル（TxtVec）
4. 上述の1＋提案法単語ベクトル（PropVec）
5. 上述の1＋再学習後提案法単語ベクトル（PropVecFT）
6. 上述の5＋韻律情報ラベル（PropVecFT＋Prosodic）
韻律情報ラベルには、音節、単語、句の位置情報、各音節のストレス情報、ToBIのendtoneを使用した。また、本シミュレーションでは音声合成用モデルとしてUnidirectional LSTMを使用しているため、先の単語の単語ベクトルを考慮することができない。この問題を回避するため、単語ベクトルを使用する手法（3.〜6.）では、当該単語の単語ベクトルに加え、一単語先の単語ベクトルも音声合成用モデルの入力ベクトルとして使用した。
【００７６】
(単語ベクトルの比較)
まず、提案法(第四実施形態)で得られた単語ベクトルとテキストデータのみから学習した単語ベクトルとの比較を行った。比較対象には、韻律情報（音節数、ストレス位置）が類似しているが意味が異なる単語、反対に韻律情報は異なるが意味は類似した単語を使用し、これらの単語ベクトルのコサイン類似度を比較した。提案法の単語ベクトルとして、音声認識用コーパスのみから学習した64次元の単語ベクトルを用いた。また、提案法ではBLSTMを使用しているため、前後の単語系列に依存して得られる単語ベクトルも変化する。そこで、以下の疑似的に作成した2文章中の"{}"内の単語から得られる単語ベクトルを比較対象とした。
(1) I closed the {gate / date / late / door}.
(2) It's a {piece / peace / portion / patch} of cake.
図１３Ａ、図１３Ｂは、それぞれ文章(1),(2)に対して、各手法により得られた単語ベクトル間のコサイン類似度を示す。まず提案法では、韻律情報が類似した単語（piece,peace等）を比較すると、非常に高いコサイン類似度が得られている。一方、意味が類似した単語（piece、patch等）の場合、韻律情報が類似した単語より類似度は低く、提案法で得られたベクトルは単語間の韻律の類似性を反映することができていると考えられる。一方、テキストデータのみから学習した単語ベクトルの場合、韻律情報の類似性とは必ずしも一致しておらず、韻律の類似性を考慮できていないことが分かる。
【００７７】
(音声合成における性能評価)
次に、提案法を音声合成へ利用した場合の有効性を評価するために客観評価を行った。客観評価尺度として、原音声と各手法から生成した対数F0のRMS誤差及び相関係数を用いた。各手法により得られたRMS誤差、相関係数をそれぞれ図１４、図１５に示す。
【００７８】
まず、従来法3種類の比較を行う。従来法の単語ベクトル（TxtVec）は、Quinphoneに対し、F0の生成精度が向上しているが、韻律情報を使用した場合（Prosodic）と比較すると生成精度が低く、従来研究(参考文献１)と同様の傾向が得られた。従来法と提案法（PropVec,第四実施形態）とを比較すると、提案法は単語ベクトルの次元数によらず、TxtVecに対しF0生成精度が向上していることが分かる。また、今回の実験条件では単語ベクトルの次元数を64とした場合が最も性能が高く、Prosodicに匹敵する性能が得られた。また、再学習後の単語ベクトル（PropVecFT,第五実施形態）は、単語ベクトルの次元数によらず、より高いF0生成精度が得られていることが分かる。特に、単語ベクトルの次元数が64の場合、Prosodicより高いF0生成精度が得られている。これらの結果より、単語ベクトル化モデル学習に大規模音声データを用いる提案法は音声合成において有効であると考えられる。最後に、提案法による単語ベクトルと韻律情報を併用した場合の有効性を検証する。PropVecFTとPropVecFT+Prosdicとを比較すると、すべての場合において、PropVecFT+Prosdicが高いF0生成精度が得られた。また、Prosodicとの比較においても、PropVecFT+Prosodicが全ての場合で高い精度が得られており、韻律情報と提案法単語ベクトルを併用した場合でも有効であると考えられる。
【００７９】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００８０】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００８１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００８３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８４】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006777768.tif 000002
【図２】
0006777768.tif 000003
【図３Ａ】
0006777768.tif 000004
【図３Ｂ】
0006777768.tif 000005
【図４】
0006777768.tif 000006
【図５】
0006777768.tif 000007
【図６】
0006777768.tif 000008
【図７】
0006777768.tif 000009
【図８】
0006777768.tif 000010
【図９】
0006777768.tif 000011
【図１０】
0006777768.tif 000012
【図１１】
0006777768.tif 000013
【図１２】
0006777768.tif 000014
【図１３Ａ】
0006777768.tif 000015
【図１３Ｂ】
0006777768.tif 000016
【図１４】
0006777768.tif 000017
【図１５】
0006777768.tif 000018