(57)【要約】【課題】人間のスピーチチェインのメカニズムを機械で再現するスピーチチェイン装置を提供する。【解決手段】スピーチチェイン装置（１００）は、音声特徴系列データを入力とし文字系列データを出力とするＤＮＮ音声認識部（１０）と、文字系列データを入力とし音声特徴系列データを出力とするＤＮＮ音声合成部（２０）と、入力音声から音声特徴系列データを生成する音声特徴抽出部（３０）と、入力テキストから文字系列データを生成するテキスト特徴抽出部（４０）と、音声合成部から出力された音声特徴系列データを学習データ、テキスト特徴抽出部で生成された文字系列データを教師データとして用いて音声認識部を学習させる第１の学習制御部（７０）と、音声認識部から出力された文字系列データを学習データ、音声特徴抽出部で生成された音声特徴系列データを教師データとして用いて音声合成部を学習させる第２の学習制御部（８０）と、を備える。【選択図】図６
2019120841.tif 000002
【特許請求の範囲】
【請求項１】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、
文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、
入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、
前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、
入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、
前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、
前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第１の学習制御部と、
前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第２の学習制御部と、を備えたスピーチチェイン装置。
【請求項２】
前記音声認識部に入力される前記音声特徴系列データがメルスペクトル特徴量であり、
前記音声合成部から出力される前記音声特徴系列データがリニアスペクトル特徴量およびメルスペクトル特徴量であり、
前記音声特徴抽出部が、前記音声特徴系列データとして、前記音声特徴抽出部に入力された音声のリニアスペクトル特徴量およびメルスペクトル特徴量を生成するものであり、
前記第２の学習制御部が、前記音声特徴抽出部によって生成された前記リニアスペクトル特徴量および前記メルスペクトル特徴量を教師データとして用いて前記音声合成部を学習させるものである請求項１に記載のスピーチチェイン装置。
【請求項３】
前記音声合成部が、発話の終端の確率を表す出力レイヤを有するものであり、
前記第２の学習制御部が、さらに発話の終端の確率を教師データとして用いて前記音声合成部を学習させるものである請求項１または請求項２に記載のスピーチチェイン装置。
【請求項４】
前記音声合成部が、話者の識別情報が入力される入力レイヤを有するものである請求項１ないし請求項３のいずれかに記載のスピーチチェイン装置。
【請求項５】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、
文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、
入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、
前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、
入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、
前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、
前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第１の学習制御部と、
前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第２の学習制御部と、をコンピュータに実現させるためのコンピュータプログラム。
【請求項６】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部および文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部を相互に学習させるＤＮＮ音声認識・合成相互学習方法であって、
教師ありデータとして音声とテキストのペアが与えられた場合、当該音声の音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させるとともに、当該テキストの文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第１のステップと、
教師なしデータとして音声のみが与えられた場合、前記音声認識部に当該音声の音声特徴系列データを入力して前記音声認識部から出力された文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第２のステップと、
教師なしデータとしてテキストのみが与えられた場合、前記音声合成部に当該テキストの文字系列データを入力して前記音声合成部から出力された音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させる第３のステップと、を備えたＤＮＮ音声認識・合成相互学習方法。
【請求項７】
音声とテキストのペア、テキストのみおよび音声のみの３種類のデータが混在するデータセットから各種類のデータを一定量ずつ取り出す第４のステップと、
前記データセットから取り出した各種類のデータを用いて前記第１のステップないし前記第３のステップを順に繰り返して前記音声認識部および前記音声合成部のバッチ学習を行う第５のステップと、をさらに備えた請求項６に記載のＤＮＮ音声認識・合成相互学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動音声認識（ASR: Automatic Speech Recognition）および自動音声合成（TTS: Text-To-Speech synthesis）に関し、特にディープニューラルネットワーク（DNN: Deep Neural Network）で構築された音声認識部および音声合成部を相互に学習させる技術に関する。
【背景技術】
【０００２】
近年、ＡＳＲおよびＴＴＳによる音声言語情報処理技術が発達し、機械と人間が音声を通じてコミュニケーションできるようになりつつある。ＡＳＲについて言えば、これまで、動的時間伸縮法（DTW: dynamic time warping）によるテンプレートベースのスキームや、隠れマルコフ混合ガウスモデル（HMM-GMM: hidden Markov model - Gaussian mixture model）といった厳格な統計モデルによるデータ駆動手法といった音響音声学に基づくアプローチが試みられてきた。ＴＴＳについて言えば、波形符号化および分析合成方式によるルールベースのシステムから、波形素片接続手法や隠れセミマルコフ混合ガウスモデル（HSMM-GMM: hidden semi-Markov model - GMM）を用いたより自由度のある手法へとシフトしつつある。
【０００３】
そして、近年のコンピュータハードウェアの著しい性能向上によりＤＮＮがさまざまな分野で実用可能となり、ＡＳＲおよびＴＴＳにもＤＮＮを用いたディープラーニングが取り入れられつつある（例えば、下記非特許文献１、２を参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】W. Chan, N. Jaitly, Q. Le, and O. Vinyals, “Listen, attend and spell: A neural network for large vocabulary conversational speech recognition,” in Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on. IEEE, 2016, pp. 4960-4964.
【非特許文献２】Y. Wang, R. Skerry-Ryan, D. Stanton, Y. Wu, R. J. Weiss, N. Jaitly, Z. Yang, Y. Xiao, Z. Chen, S. Bengio et al., “Tacotron: A fully end-to-end text-to-speech synthesis model,” arXiv preprint arXiv:1703.10135, 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
人は自分の声を聞きながら言葉を発している。すなわち、人間の脳は耳から聞こえる自分の声の音量や音調や明瞭さなどに基づいて次にどのような発声をするのか決定して発声器官に指示を出している。このように人の音声認識および音声発話では聴覚器菅、脳および発声器官からなる閉ループであるスピーチチェインが非常に重要な役割を果たしている。例えば、聴覚を失った子供はスピーチチェインが機能しなくなることによってうまく喋れなくなることが知られている。このように人の音声認識と音声発話は互いに密接に関連し合うにもかかわらず、ＡＳＲおよびＴＴＳの研究・開発はそれぞれ独自に進展してきた。
【０００６】
ＡＳＴとＴＴＳの分離はＤＮＮを用いたディープラーニングが取り入れられてからも変わっていない。そして、ＡＳＲとＴＴＳとが分離されていることにより次のような問題が生じる。
１．ＡＳＲおよびＴＴＳをそれぞれ十分なレベルにまで学習させるために音声とテキストのペアからなる教師ありデータを大量に用意する必要がある。教師ありデータは人手で作成しなければならないため大変な労力とコストがかかってしまう。
２．実際の推論段階ではオンラインで入力される信号にノイズが混入するため、それが原因で学習済みのＡＳＲおよびＴＴＳの出力誤差が大きくなったりあるいは出力が得られなくなったりすることがある。そこでオンライン入力された信号に基づいてＡＳＲおよびＴＴＳの再学習が必要になるが、そもそもオンライン入力される信号は教師なしデータであり、教師なしデータを用いてＡＳＲおよびＴＴＳを学習させる仕組みが確立されていない。
【０００７】
上記問題に鑑み、本発明は、人間のスピーチチェインのメカニズムを機械で再現するスピーチチェイン装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一局面に従うと、音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第１の学習制御部と、前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第２の学習制御部と、を備えたスピーチチェイン装置が提供される。
【０００９】
具体的には、前記音声認識部に入力される前記音声特徴系列データがメルスペクトル特徴量であってもよく、前記音声合成部から出力される前記音声特徴系列データがリニアスペクトル特徴量およびメルスペクトル特徴量であってもよく、前記音声特徴抽出部が、前記音声特徴系列データとして、前記音声特徴抽出部に入力された音声のリニアスペクトル特徴量およびメルスペクトル特徴量を生成するものであってもよく、前記第２の学習制御部が、前記音声特徴抽出部によって生成された前記リニアスペクトル特徴量および前記メルスペクトル特徴量を教師データとして用いて前記音声合成部を学習させるものであってもよい。
【００１０】
また、具体的には、前記音声合成部が、発話の終端の確率を表す出力レイヤを有するものであってもよく、前記第２の学習制御部が、さらに発話の終端の確率を教師データとして用いて前記音声合成部を学習させるものであってもよい。
【００１１】
また、具体的には、前記音声合成部が、話者の識別情報が入力される入力レイヤを有するものであってもよい。
【００１２】
本発明の別の一局面に従うと、上記スピーチチェイン装置の各構成要素をコンピュータに実現させるためのコンピュータプログラムが提供される。
【００１３】
本発明のさらに別の一局面に従うと、音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部および文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部を相互に学習させるＤＮＮ音声認識・合成相互学習方法であって、教師ありデータとして音声とテキストのペアが与えられた場合、当該音声の音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させるとともに、当該テキストの文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第１のステップと、教師なしデータとして音声のみが与えられた場合、前記音声認識部に当該音声の音声特徴系列データを入力して前記音声認識部から出力された文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第２のステップと、教師なしデータとしてテキストのみが与えられた場合、前記音声合成部に当該テキストの文字系列データを入力して前記音声合成部から出力された音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させる第３のステップと、を備えたＤＮＮ音声認識・合成相互学習方法が提供される。
【００１４】
上記ＤＮＮ音声認識・合成相互学習方法は、音声とテキストのペア、テキストのみおよび音声のみの３種類のデータが混在するデータセットから各種類のデータを一定量ずつ取り出す第４のステップと、前記データセットから取り出した各種類のデータを用いて前記第１のステップないし前記第３のステップを順に繰り返して前記音声認識部および前記音声合成部のバッチ学習を行う第５のステップと、をさらに備えてもよい。
【発明の効果】
【００１５】
本発明によると人間のスピーチチェインのメカニズムを機械で再現することができる。これにより、音声認識用に入力された音声および音声合成用に入力されたテキストを教師なしデータとして用いて音声合成および音声認識のオンライン学習を行うことができるようになり、教師ありデータとしての音声とテキストのペアを大量に用意する労力とコストを削減することができる。さらに、本発明に係るスピーチチェイン装置は、音声認識装置および音声合成装置として使えば使うほど学習が進んで音声認識および音声合成の精度が向上する。
【図面の簡単な説明】
【００１６】
【図１】本発明に係るスピーチチェイン装置のベースとなるマシンスピーチチェインのアーキテクチャを示す図
【図２】マシンスピーチチェインにおいてＡＳＲの出力をＴＴＳの学習データとして用いてＡＳＲを学習させる様子を示す模式図
【図３】マシンスピーチチェインにおいてＴＴＳの出力をＡＳＲの学習データとして用いてＴＴＳを学習させる様子を示す模式図
【図４】一例に係るＤＮＮ音声認識モデルの模式図
【図５】一例に係るＤＮＮ音声合成モデルの模式図
【図６】本発明の一実施形態に係るスピーチチェイン装置のブロック図
【図７】音声特徴系列データ生成処理のフローチャート
【図８】文字系列データ生成処理のフローチャート
【図９】ＤＮＮ音声認識・合成相互学習の全体フローチャート
【図１０】ＡＳＲおよびＴＴＳのバッチ学習処理のフローチャート
【発明を実施するための形態】
【００１７】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１８】
なお、発明者らは、当業者が本発明を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１９】
また、本明細書において単に「音声」と言う場合、それは音声波形信号を指すことに留意されたい。
【００２０】
１．マシンスピーチチェイン（Machine Speech Chain）
図１は、本発明に係るスピーチチェイン装置のベースとなるマシンスピーチチェインのアーキテクチャを示す図である。マシンスピーチチェイン１は、上述した人間のスピーチチェインのメカニズムを機械で再現するものであり、音声ｘを受けてそれをテキストｙ＾に変換する音声認識部（以下、単に「ＡＳＲ」と称することがある。）１０と、テキストｙを受けてそれを音声ｘ＾に変換する音声合成部（以下、単に「ＴＴＳ」と称することがある。）２０とを備えている。マシンスピーチチェイン１においてＡＳＲ１０およびＴＴＳ２０は、ＡＳＲ１０の出力（テキストｙ＾）がＴＴＳ２０に入力されるとともにＴＴＳ２０の出力（音声ｘ＾）がＡＳＲ１０に入力されるように互いに接続されて閉ループを形成している。
【００２１】
ＡＳＲ１０およびＴＴＳ２０はいずれも系列（sequence）データが入出力されるsequence-to-sequence型モデルとして構成されている。具体的には、ＡＳＲ１０は、音声特徴系列データを入力とし文字系列データを出力とするモデルとして、ＴＴＳ２０は、文字系列データを入力とし音声特徴系列データを出力とするモデルとしてそれぞれ構成されている。このようにＡＳＲ１０およびＴＴＳ２０をいずれもsequence-to-sequence型モデルとして構成したことにより、ＡＳＲ１０およびＴＴＳ２０間で一方の出力を他方に入力することが可能になっている。
【００２２】
また、マシンスピーチチェイン１においてＡＳＲ１０およびＴＴＳ２０の閉ループを形成したことで、一方のモデルの出力を他方のモデルの学習データとして用いて各モデルを学習させることができるようになる。例えば、音声合成処理の過程でＴＴＳ２０から出力される音声ｘ＾をＡＳＲ１０の学習データとして用いてＡＳＲ１０を学習させることができ、逆に音声認識処理の過程でＡＳＲ１０から出力されるテキストｙ＾をＴＴＳ２０の学習データとして用いてＴＴＳ２０を学習させることができる。
【００２３】
図２は、マシンスピーチチェイン１においてＡＳＲ１０の出力をＴＴＳ２０の学習データとして用いてＴＴＳ２０を学習させる様子を示す模式図である。図２に示したように、マシンスピーチチェイン１において音声認識処理が行われる場合、ＡＳＲ１０は、音声ｘを受けてそれをテキストｙ＾に変換する。ＴＴＳ２０は、ＡＳＲ１０によって変換されたテキストｙ＾を受けてそれを音声ｘ＾に再変換する。このとき、ＡＳＲ１０によって変換されたテキストｙ＾を学習データ、ＡＳＲ１０に入力された元の音声ｘを教師データとして用いて、ＴＴＳ２０の出力（音声ｘ＾）と教師データ（音声ｘ）との誤差が小さくなるように（損失関数ＬｏｓｔＴＴＳ（ｘ，ｘ＾）の値が小さくなるように）ＴＴＳ２０のパラメータ調整、すなわちディープラーニングが行われる。
【００２４】
図３は、マシンスピーチチェイン１においてＴＴＳ２０の出力をＡＳＲ１０の学習データとして用いてＡＳＲ１０を学習させる様子を示す模式図である。図３に示したように、マシンスピーチチェイン１において音声合成処理が行われる場合、ＴＴＳ２０は、テキストｙを受けてそれを音声ｘ＾に変換する。ＡＳＲ１０は、ＴＴＳ２０によって変換された音声ｘ＾を受けてそれをテキストｙ＾に再変換する。このとき、ＴＴＳ２０によって変換された音声ｘ＾を学習データ、ＴＴＳ２０に入力された元のテキストｙを教師データとして用いて、ＡＳＲ１０の出力（テキストｙ＾、より詳細にはｙ＾を構成する各文字の発生確率ｐｙ）と教師データ（テキストｙ）との誤差が小さくなるように（損失関数ＬｏｓｔＡＳＲ（ｙ，ｐｙ）の値が小さくなるように）ＡＳＲ１０のパラメータ調整、すなわちディープラーニングが行われる。
【００２５】
従来のように音声認識モデルと音声合成モデルとが相互接続されていなければ、教師ありデータとして音声とテキストのペアを用意してそれぞれのモデルをオフラインで学習（音声認識モデルの学習には音声が学習データ、テキストが教師データとして用いられ、音声合成モデルの学習にはテキストが学習データ、音声が教師データとして用いられる。）させる必要がある。一方、マシンスピーチチェイン１は、教師ありデータを用いてＡＳＲ１０およびＴＴＳ２０をそれぞれ教師強制（teacher-forcing）モードでオフライン学習させることができるのはもちろん、音声認識用にオンライン入力された音声を用いてＴＴＳ２０を学習させ、また、音声合成用にオンライン入力されたテキストを用いてＡＳＲ１０を学習させることができる。すなわち、マシンスピーチチェイン１は、音声認識または音声合成をしながらＡＳＲ１０およびＴＴＳ２０をオンライン学習させることができる。
【００２６】
２．ＤＮＮ音声認識・合成モデル
次に、マシンスピーチチェイン１を構成するＡＳＲ１０およびＴＴＳ２０の詳細について説明する。本発明の実施形態ではＡＳＲ１０およびＴＴＳ２０はいずれもディープニューラルネットワーク（ＤＮＮ）で構築される。
【００２７】
まず、ＤＮＮ音声認識モデルについて説明する。図４は、一例に係るＤＮＮ音声認識モデルの模式図である。ＡＳＲ１０は、音声ｘを長さＳの音声特徴系列データ（すなわちｘ＝［ｘ１，…，ｘＳ］）、テキストｙを長さＴの文字系列データ（すなわちｙ＝［ｙ１，…，ｙＴ］）としたときの条件付き確率ｐ（ｙ｜ｘ）を求めるsequence-to-sequence型モデルとして構成される。具体的には、ＡＳＲ１０は、再帰型ニューラルネットワーク（RNN: Recurrent Neural Network）を応用したオートエンコーダとして構築することができる。音声特徴系列データの各要素ｘｓはＤ次元の実数値ベクトルである。文字系列データの各要素ｙｔは音素（phoneme）または書記素（grapheme）である。
【００２８】
より詳細には、ＡＳＲ１０は、エンコーダ１１と、デコーダ１２と、アテンション１３とを備えている。エンコーダ１１は、３層の双方向ＬＳＴＭ（Bi-LSTM: Bidirectional Long Short-Term Memory）レイヤ１１１、１１２、１１３を備えている。エンコーダ１１において、初段の双方向ＬＳＴＭレイヤ１１１に対数メルスペクトル特徴量で表される音声特徴系列データｘ１，…，ｘＳが入力されて最終段の双方向ＬＳＴＭレイヤ１１３から中間層ベクトルｈｅｓ（ｓ＝１，…，Ｓ）が出力される。
【００２９】
デコーダ１２は、文字埋め込み（Char Emb.: Character Embed）レイヤ１２１と、ＬＳＴＭレイヤ１２２とを備えている。デコーダ１２において、文字埋め込みレイヤ１２１に文字系列データｙ０，…，ｙＴ−１が入力されてＬＳＴＭレイヤ１２２から文字系列データｙ１，…，ｙＴが出力される。デコーダ１２の入力である文字系列データｙｔは音素または書記素そのものではなく音素または書記素のｉｄまたはインデックス番号である。時刻ｔにおけるデコーダ１２の出力ｙｔは、ＬＳＴＭレイヤ１２２から出力される中間層ベクトルｈｄｔとアテンション１３によって計算されるコンテキストベクトルｃｔとを連結したベクトルを所定の線型作用素で重み付けし、さらにそれを所定の活性化関数に入力することにより算出される。図示していないが、ＬＳＴＭレイヤ１２２から出力される文字系列データｙ１，…，ｙＴはsoftmax関数によって各文字の発生確率ｐｙ１，…，ｐｙＴとして正規化される。
【００３０】
アテンション１３は、コンテキストベクトルｃｔを計算するモジュールである。より詳細には、アテンション１３は、デコーダ１２のＬＳＴＭレイヤ１２２から出力される時刻ｔにおける中間層ベクトルｈｄｔとエンコーダ１１の双方向ＬＳＴＭレイヤ１１３が保持している中間層ベクトルｈｅ１，…，ｈｅＳから値ａｔを計算し、さらに値ａｔと中間層ベクトルｈｅ１，…，ｈｅＳからコンテキストベクトルｃｔを計算する。なお、値ａｔおよびコンテキストベクトルｃｔの計算式は周知であるのでここでの説明は省略する。
【００３１】
ＡＳＲ１０のパラメータは、次の損失関数の値が最小になるように確率的勾配降下法や誤差逆伝播法などを用いて調整される。
2019120841.tif 000003
ここで、Ｃは出力クラスの数であり、ｙは正解（ground truth）のテキストである。
【００３２】
オフライン学習時に教師ありデータとして音声とテキストのペアが与えられる場合、当該音声の音声特徴系列データを学習データ、当該テキストの文字系列データを教師データとして用いてＡＳＲ１０の学習を行うことができる。一方、教師なしデータとしてテキストのみが与えられる場合、例えば、音声合成用にオンライン入力されたテキストを使用する場合、図３を参照して説明したように、ＴＴＳ２０から出力される音声特徴系列データを学習データ、音声合成用にオンライン入力されたテキストの文字系列データを教師データとして用いてＡＳＲ１０の学習を行うことができる。
【００３３】
次に、ＤＮＮ音声合成モデルについて説明する。図５は、一例に係るＤＮＮ音声合成モデルの模式図である。ＴＴＳ２０は、テキストｙを長さＴの文字系列データ（すなわちｙ＝［ｙ１，…，ｙＴ］）、音声ｘを長さＳの音声特徴系列データ（すなわちｘ＝［ｘ１，…，ｘＳ］）としたときの条件付き確率ｐ（ｘ｜ｙ）を求めるsequence-to-sequence型モデルとして構築される。具体的には、ＴＴＳ２０は、再帰型ニューラルネットワークを応用したオートエンコーダとして構築することができる。音声特徴系列データの各要素ｘｓはＤ次元の実数値ベクトルである。文字系列データの各要素ｙｔは音素または書記素である。
【００３４】
より詳細には、ＴＴＳ２０は、エンコーダ２１と、デコーダ２２と、アテンション２３とを備えている。エンコーダ２１は、文字埋め込みレイヤ２１１と、全結合（FC: Fully Connected）レイヤ２１２と、ＣＢＨＧ（1-D Convolution Bank + Highway network + bidirectional GRU）２１３とを備えている。エンコーダ２１において、文字埋め込みレイヤ２１１に文字系列データｙ１，…，ｙＴが入力されてＣＢＨＧ２１３から中間層ベクトルｈｅｔ（ｔ＝１，…，Ｔ）が出力される。エンコーダ２１の入力である文字系列データｙｔは音素または書記素そのものではなく音素または書記素のｉｄまたはインデックス番号である。
【００３５】
デコーダ２２は、全結合レイヤ２２１と、ＬＳＴＭレイヤ２２２と、ＣＢＨＧ２２３と、全結合レイヤ２２４とを備えている。デコーダ２２において、全結合レイヤ２２１に対数メルスペクトル特徴量で表される音声特徴系列データｘＭ０，…，ｘＭＳ−１が入力されてＬＳＴＭレイヤ２２２から対数メルスペクトル特徴量で表される音声特徴系列データｘＭ１，…，ｘＭＳが出力される。また、デコーダ２２において、ＬＳＴＭレイヤ２２２から出力される音声特徴系列データｘＭ１，…，ｘＭＳがＣＢＨＧ２２３に入力されて全結合レイヤ２２４からリニアスペクトル特徴量で表される音声特徴系列データｘＲｓ（ｓ＝１，…，Ｓ）が出力される。ＣＢＨＧ２２３の入力ｘＭｓは、ＬＳＴＭレイヤ２２２から出力される中間層ベクトルｈｄｓとアテンション２３によって計算されるコンテキストベクトルｃｓとを連結したベクトルを所定の線型作用素で重み付けし、さらにそれを所定の活性化関数に入力することにより算出される。図示していないが、全結合レイヤ２２４から出力される音声特徴系列データｘＲｓ（ｓ＝１，…，Ｓ）はGriffin-Limアルゴリズムに従って処理されて音声が再構築される。
【００３６】
デコーダ２２は、さらに、出力レイヤ２２５と、入力レイヤ２２６とを備えている。出力レイヤ２２５は、発話の終端の確率を出力するレイヤである。出力レイヤ２２５を設けた理由は、デコーダ２２から出力される音声特徴系列データ音声特徴系列データｘＭｓおよびｘＲｓ（ｓ＝１，…，Ｓ）はいずれも実数値ベクトルであり、それらからは発話の終端が判断できないからである。もし出力レイヤ２２５がなければ発話の終端が判断できないためＴＴＳ２０から出力される音声特徴系列データが所定の長さになったところで強制的に音声合成を終了させることとなり語尾が不自然になるおそれがある。一方、出力レイヤ２２５を設けたことによって発話の終端が判断できるようになり、音声特徴系列データを所定の長さで強制的に打ち切ることなく発話終端で音声合成を終了させることができ、自然な語尾の音声を合成が実現できる。
【００３７】
入力レイヤ２２６には話者の識別情報が入力される。話者の識別情報として話者のｉｄを用いることができる。入力レイヤ２２６に入力された話者のｉｄは埋め込み（embed）関数に入力されて実数値ベクトルによる分散表現に変換されてＬＳＴＭレイヤ２２２、２２４などに入力される。未知の話者にも対応可能にするために、話者のｉｄを話者認識用のi-vectorにマッピングするようにしてもよい。このように話者の識別情報が入力される入力レイヤ２２６を設けたことで、ＴＴＳ２０は当該話者の声に似た音声を合成できるようになる。
【００３８】
上述したようにＡＳＲ１０のオンライン学習ではＴＴＳ２０から出力される音声特徴系列データが学習データとして用いられるが、このとき音声認識用に入力された音声とＴＴＳ２０によって合成された音声の声質が異なっているとＡＳＲ１０の学習が正しく進まなくなるおそれがある。そこで入力レイヤ２２６を設けて話者の声に似た音声を合成できるようにすることでＡＳＲ１０のオンライン学習の質を向上させることができる。特にマシンスピーチチェイン１が複数の話者の音声を認識しなければならないような場合には入力レイヤ２２６を設けることが望ましい。
【００３９】
アテンション２３は、コンテキストベクトルｃｓを計算するモジュールである。より詳細には、アテンション２３は、デコーダ２２のＬＳＴＭレイヤ２２２から出力される時刻ｓにおける中間層ベクトルｈｄｓとエンコーダ２１のＣＢＨＧ２１３が保持している中間層ベクトルｈｅ１，…，ｈｅＴから値ａｓを計算し、さらに値ａｓと中間層ベクトルｈｅ１，…，ｈｅＴからコンテキストベクトルｃｓを計算する。なお、値ａｓおよびコンテキストベクトルｃｓの計算式は周知であるのでここでの説明は省略する。
【００４０】
ＴＴＳ２０のパラメータは、次の損失関数の値が最小になるように確率的勾配降下法や誤差逆伝播法などを用いて調整される。
2019120841.tif 000004
ここで、ｘ＾M、ｘ＾Ｒ、ｂ＾はそれぞれＴＴＳ２０から出力される対数メルスペクトル特徴量、リニアスペクトル特徴量、発話終端確率であり、ｘM、ｘＲ、ｂはそれぞれそれらの正解（ground truth）である。
【００４１】
オフライン学習時に教師ありデータとして音声とテキストのペアが与えられる場合、当該テキストの文字系列データを学習データ、当該音声の音声特徴系列データ（対数メルスペクトル特徴量およびリニアスペクトル特徴量）を教師データとして用いてＴＴＳ２０の学習を行うことができる。一方、教師なしデータとして音声のみが与えられる場合、例えば、音声認識用にオンライン入力された音声を使用する場合、図２を参照して説明したように、ＡＳＲ１０から出力される文字系列データを学習データ、音声認識用にオンライン入力された音声の音声特徴系列データ（対数メルスペクトル特徴量およびリニアスペクトル特徴量）を教師データとして用いてＴＴＳ２０の学習を行うことができる。
【００４２】
３．実施形態
次に、本発明の一実施形態に係るスピーチチェイン装置の構成を説明する。図６は、本発明の一実施形態に係るスピーチチェイン装置１００のブロック図である。スピーチチェイン装置１００は、音声認識部（ＡＳＲ）１０と、音声合成部（ＴＴＳ）２０と、音声特徴抽出部３０と、テキスト生成部４０と、テキスト特徴抽出部５０と、音声生成部６０と、ＡＳＲ学習制御部７０と、ＴＴＳ学習制御部８０とを備えている。スピーチチェイン装置１００を構成するこれら要素はハードウェアまたはソフトウェアまたはそれらの組み合わせとして実現することができる。例えば、パソコンやスマートフォンなどのコンピュータ装置に専用のコンピュータソフトウェアをインストールすることで当該コンピュータ装置をスピーチチェイン装置１００として機能させることができる。例えば、スピーチチェイン装置１００は、クラウド上のサーバーに実装してＳａａＳ（software as a service）として実施することもできる。また、スピーチチェイン装置１００の各構成要素を複数のコンピュータ装置に分散配置し、電気通信ネットワークを介して各構成要素を互いに接続することによってスピーチチェイン装置１００を実現することもできる。大量の計算が必要なＡＳＲ１０およびＴＴＳ２０はＧＰＵ（Graphics Processing Unit）などの専用のプロセッサで処理し、それ以外の構成要素はＣＰＵ（Central Processing Unit）で処理させるとよい。
【００４３】
次に、スピーチチェイン装置１００の各構成要素の詳細について説明する。なお、ＡＳＲ１０およびＴＴＳ２０については上述した通りであるため、繰り返しの説明は省略する。
【００４４】
音声特徴抽出部３０は、入力された音声を処理して、ＡＳＲ１０に入力される音声特徴系列データ（ｘ＝［ｘ１，…，ｘＳ］）を生成するモジュールである。テキスト生成部４０は、ＡＳＲ１０から出力される文字系列データ（ｙ＾＝［ｙ１，…，ｙＴ］）に基づいて、音声特徴抽出部３０に入力された音声に対応するテキストを生成するモジュールである。音声特徴抽出部３０には、図略のマイクロフォンで集音した音声をリアルタイムに入力できる他、図略のストレージ装置やメモリ装置に保持された録音音声などを入力することもできる。テキスト生成部４０から出力されるテキストは、図略の表示装置にリアルタイムに表示できる他、図略のストレージ装置やメモリ装置に保存することもできる。
【００４５】
図７は、音声特徴抽出部３０によって実施される音声特徴系列データ生成処理のフローチャートである。スピーチチェイン装置１００に音声が入力されると（Ｓ１１）、音声特徴抽出部３０は、入力された音声に対してプリエンファシス処理を施し（Ｓ１２）、その後さらに短時間フーリエ変換を施す（Ｓ１３）。こうして音声特徴抽出部３０は、入力された音声からそのリニアスペクトル特徴量を計算し（Ｓ１４）、それを出力する（Ｓ１５）。出力されたリニアスペクトル特徴量は図略のメモリ装置などに一時保存される。さらに、音声特徴抽出部３０は、リニアスペクトル特徴量から対数メルスペクトル特徴量を計算し（Ｓ１６）、それを出力する（Ｓ１７）。出力された対数メルスペクトル特徴量は図略のメモリ装置などに一時保存される。
【００４６】
図６へ戻り、テキスト特徴抽出部５０は、入力されたテキストを処理して、ＴＴＳ２０に入力される文字系列データ（ｙ＝［ｙ１，…，ｙＴ］）を生成するモジュールである。音声生成部６０は、ＴＴＳ２０から出力される音声特徴系列データ（ｘ＾＝［ｘ１，…，ｘＳ］）に基づいて、テキスト特徴抽出部５０に入力されたテキストに対応する音声を生成するモジュールである。テキスト特徴抽出部５０には、図略の入力デバイスを通じて入力されたテキストやＯＣＲ（Optical Character Recognition）装置などで読み取られたテキストをリアルタイムに入力できる他、図略のストレージ装置やメモリ装置に保持された文書中のテキストなどを入力することもできる。音声生成部６０から出力される音声は、図略のスピーカからリアルタイムに出音できる他、図略のストレージ装置やメモリ装置に保存することもできる。
【００４７】
図８は、テキスト特徴抽出部５０によって実施される文字系列データ生成処理のフローチャートである。スピーチチェイン装置１００にテキストが入力されると（Ｓ２１）、テキスト特徴抽出部５０は、当該入力されたテキストに含まれる文字、記号、数字の正規化処理を行う（Ｓ２２）。具体的には、テキスト特徴抽出部５０は、大文字をすべて小文字に変換し、ダブルクオーテーションなどの一部の記号をシングルクオーテーションなどの別の記号に置き換え、数字をその読みを表すテキストに変換（例えば、“５”→“ｆｉｖｅ”）する。その後、テキスト特徴抽出部５０は、正規化されたテキストを各文字に切り分ける（Ｓ２３）（例えば、“ｆｉｖｅ”→“ｆ”，“ｉ”，“ｖ”，“ｅ”）。その後、テキスト特徴抽出部５０は、各文字をインデックスに変換し（Ｓ２４）（例えば、 “ｆ”→６，“ｉ”→９，“ｖ”→２２，“ｅ”→５）、正規化テキストと文字インデックスを出力する（Ｓ２５）。出力された正規化テキストと文字インデックスは図略のメモリ装置などに一時保存される。
【００４８】
図６へ戻り、ＡＳＲ学習制御部７０は、ＡＳＲ１０の学習を制御するモジュールである。ＡＳＲ１０には音声特徴抽出部３０によって生成された音声特徴系列データｘおよびＴＴＳ２０から出力された音声特徴系列データｘ＾のいずれか一方が選択的に入力されるようになっている。スピーチチェイン装置１００にテキストが入力されてスピーチチェイン装置１００が音声合成装置として動作するとき、ＡＳＲ学習制御部７０は、ＴＴＳ２０によって生成された音声特徴系列データｘ＾を学習データとしてＡＳＲ１０に入力し、テキスト特徴抽出部５０によって生成された文字系列データｙを教師データとして用いて、上述した方法でＡＳＲ１０のパラメータを調整する。
【００４９】
ＴＴＳ学習制御部８０は、ＴＴＳ２０の学習を制御するモジュールである。ＴＴＳ２０にはテキスト特徴抽出部５０によって生成された文字系列データｙおよびＡＳＲ１０から出力された文字系列データｙ＾のいずれか一方が選択的に入力されるようになっている。スピーチチェイン装置１００に音声が入力されてスピーチチェイン装置１００が音声認識装置として動作するとき、ＴＴＳ学習制御部８０は、ＡＳＲ１０によって生成された文字系列データｙ＾を学習データとしてＴＴＳ２０に入力し、音声特徴抽出部３０によって生成された音声特徴系列データｘを教師データとして用いて、上述した方法でＴＴＳ２０のパラメータを調整する。
【００５０】
図９は、スピーチチェイン装置１００において実施されるＤＮＮ音声認識・合成相互学習の全体フローチャートである。スピーチチェイン装置１００にデータが入力され（Ｓ３１）、それが音声とテキストのペアであれば（Ｓ３２でＹＥＳ）、音声特徴抽出部３０が、当該入力された音声から音声特徴系列データｘを生成し、テキスト特徴抽出部５０が、当該入力されたテキストから文字系列データｙを生成する（Ｓ３３）。音声特徴系列データおよび文字系列データの生成処理について図７および図８を参照して説明した通りである。これら系列データが生成されると、ＡＳＲ学習制御部７０が、音声特徴系列データｘを学習データとしてＡＳＲ１０に入力し、文字系列データｙを教師データとして用いてＡＳＲ１０を学習させるとともに、ＴＴＳ学習制御部８０が、文字系列データｙを学習データとしてＴＴＳ２０に入力し、音声特徴系列データｘを教師データとして用いてＴＴＳ２０を学習させる（Ｓ３４）。
【００５１】
このように、音声とテキストのペアという教師ありデータが与えられた場合、ＡＳＲ学習制御部７０およびＴＴＳ学習制御部８０は、その教師ありデータを用いてＡＳＲ１０およびＴＴＳ２０をそれぞれ教師強制モードでオフライン学習させることができる。
【００５２】
スピーチチェイン装置１００に入力されたデータが音声のみであれば（Ｓ３２でＮＯ、Ｓ３５でＹＥＳ）、音声特徴抽出部３０が当該入力された音声から音声特徴系列データｘを生成し（Ｓ３６）、ＡＳＲ１０がそれを受けて音声認識を行う（Ｓ３７）。そして、ＴＴＳ学習制御部８０が、ＡＳＲ１０から出力された文字系列データｙ＾を学習データとしてＴＴＳ２０に入力し、音声特徴抽出部３０によって生成された音声特徴系列データｘを教師データとして用いてＴＴＳ２０を学習させる（Ｓ３８）。一方、スピーチチェイン装置１００に入力されたデータがテキストのみであれば（Ｓ３２でＮＯ、Ｓ３５でＮＯ）、テキスト特徴抽出部５０が当該入力されたテキストから文字系列データｙを生成し（Ｓ３９）、ＴＴＳ２０がそれを受けて音声合成を行う（Ｓ４０）。そして、ＡＳＲ学習制御部７０が、ＴＴＳ２０から出力された音声特徴系列データｘ＾を学習データとしてＡＳＲ１０に入力し、テキスト特徴抽出部５０によって生成された文字系列データｙを教師データとして用いてＡＳＲ１０を学習させる（Ｓ４１）。
【００５３】
このように、音声のみのみが与えられた場合、ＴＴＳ学習制御部８０は、ＡＳＲ１０による音声認識結果をＴＴＳ２０の学習データとして使用してＴＴＳ２０を学習させることができる。一方、テキストのみが与えられた場合、ＡＳＲ学習制御部７０は、ＴＴＳ２０による音声合成結果をＡＳＲ１０の学習データとして使用してＡＳＲ１０を学習させることができる。すなわち、教師なしデータを用いてＡＳＲ１０およびＴＴＳ２０のオンライン学習が可能になる。
【００５４】
上述したように、スピーチチェイン装置１００においてＡＳＲ１０およびＴＴＳ２０は教師ありデータおよび教師なしデータのいずれを与えられても学習可能であることから、音声とテキストのペア、テキストのみおよび音声のみの３種類のデータが混在するデータセットを用意してＡＳＲ１０およびＴＴＳ２０のバッチ学習を行うことができる。
【００５５】
図１０は、ＡＳＲ１０およびＴＴＳ２０のバッチ学習処理のフローチャートである。ＡＳＲ学習制御部７０およびＴＴＳ学習制御部８０は、図略のストレージ装置などに保存されたデータセットから音声とテキストのペアを一定量取り出して音声特徴抽出部３０およびテキスト特徴抽出部５０にそれぞれ入力し（Ｓ５１）、音声特徴抽出部３０によって生成された音声特徴系列データｘおよびテキスト特徴抽出部５０によって生成された文字系列データｙを用いてＡＳＲ１０およびＴＴＳ２０をそれぞれ学習させる（Ｓ５２）。続いて、ＴＴＳ学習制御部８０は、データセットから音声のみのデータを一定量取り出して音声特徴抽出部３０に入力し（Ｓ５３）、ＡＳＲ１０によって生成された文字系列データｙ＾を学習データとしてＴＴＳ２０に入力し、音声特徴抽出部３０によって生成された音声特徴系列データｘを教師データとして用いてＴＴＳ２０を学習させる（Ｓ５４）。続いて、ＡＳＲ学習制御部７０は、データセットからテキストのみのデータを一定量取り出してテキスト特徴抽出部５０に入力し（Ｓ５５）、ＴＴＳ２０によって生成された音声特徴系列データｘ＾を学習データとしてＡＳＲ１０に入力し、テキスト特徴抽出部５０によって生成された文字系列データｙを教師データとして用いてＡＳＲ１０を学習させる（Ｓ５６）。ＡＳＲ学習制御部７０およびＴＴＳ学習制御部８０は、以上の工程をデータセットのデータがなくなるまで繰り返す。
【００５６】
以上説明したように、本実施形態に係るスピーチチェイン装置１００によって人間のスピーチチェインのメカニズムを機械で再現することができる。これにより、音声認識用に入力された音声および音声合成用に入力されたテキストを教師なしデータとして用いて音声合成および音声認識のオンライン学習を行うことができるようになり、教師ありデータとしての音声とテキストのペアを大量に用意する労力とコストを削減することができる。さらに、本実施形態に係るスピーチチェイン装置１００は、音声認識装置および音声合成装置として使えば使うほど学習が進んで音声認識および音声合成の精度が向上する。
【００５７】
以上のように、本発明における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【００５８】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【００５９】
また、上述の実施の形態は、本発明における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【符号の説明】
【００６０】
１００…スピーチチェイン装置、１０…音声認識部、２０…音声合成部、３０…音声特徴抽出部、４０…テキスト生成部、５０…テキスト特徴抽出部、６０…音声生成部、７０…ＡＳＲ学習制御部、８０…ＴＴＳ学習制御部、２２５…出力レイヤ、２２６…入力レイヤ
【図１】
2019120841.tif 000005
【図２】
2019120841.tif 000006
【図３】
2019120841.tif 000007
【図４】
2019120841.tif 000008
【図５】
2019120841.tif 000009
【図６】
2019120841.tif 000010
【図７】
2019120841.tif 000011
【図８】
2019120841.tif 000012
【図９】
2019120841.tif 000013
【図１０】
2019120841.tif 000014