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

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

▶ 国立大学法人 奈良先端科学技術大学院大学の特許一覧

特許6989951スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法
<>
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図1
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図2
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図3
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図4
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図5
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図6
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図7
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図8
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図9
  • 特許-スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-07
(45)【発行日】2022-01-12
(54)【発明の名称】スピーチチェイン装置、コンピュータプログラムおよびDNN音声認識・合成相互学習方法
(51)【国際特許分類】
   G10L 15/16 20060101AFI20220104BHJP
   G10L 13/06 20130101ALI20220104BHJP
   G10L 25/30 20130101ALI20220104BHJP
【FI】
G10L15/16
G10L13/06 140
G10L25/30
【請求項の数】 7
(21)【出願番号】P 2018001538
(22)【出願日】2018-01-09
(65)【公開番号】P2019120841
(43)【公開日】2019-07-22
【審査請求日】2020-12-21
【新規性喪失の例外の表示】特許法第30条第2項適用 平成29年7月16日に、https://arxiv.org/pdf/1707.04879.pdfに掲載
【新規性喪失の例外の表示】特許法第30条第2項適用 平成29年12月18日に、2017 IEEE Automatic Speech Recognition and Understanding Workshopにて発表
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】100163186
【弁理士】
【氏名又は名称】松永 裕吉
(72)【発明者】
【氏名】アンドロス チャンドラ
(72)【発明者】
【氏名】サクリアニ サクティ
(72)【発明者】
【氏名】中村 哲
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2003-271182(JP,A)
【文献】中村哲,日本音響学会2017年秋季研究発表会講演論文集[CD-ROM],2017年09月,pp.1387-1390
【文献】Y.Benahmed, et al.,Using Text-to-Speech Engine to Improve the Accuracy of a Speech-Enabled Interface,2007 Innovations in Information Technologies,IEEE,2007年11月,pp.302-306
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-99/00
(57)【特許請求の範囲】
【請求項1】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、
文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、
入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、
前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、
入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、
前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、
前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第1の学習制御部と、
前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第2の学習制御部と、を備えたスピーチチェイン装置。
【請求項2】
前記音声認識部に入力される前記音声特徴系列データがメルスペクトル特徴量であり、
前記音声合成部から出力される前記音声特徴系列データがリニアスペクトル特徴量およびメルスペクトル特徴量であり、
前記音声特徴抽出部が、前記音声特徴系列データとして、前記音声特徴抽出部に入力された音声のリニアスペクトル特徴量およびメルスペクトル特徴量を生成するものであり、
前記第2の学習制御部が、前記音声特徴抽出部によって生成された前記リニアスペクトル特徴量および前記メルスペクトル特徴量を教師データとして用いて前記音声合成部を学習させるものである請求項1に記載のスピーチチェイン装置。
【請求項3】
前記音声合成部が、発話の終端の確率を表す出力レイヤを有するものであり、
前記第2の学習制御部が、さらに発話の終端の確率を教師データとして用いて前記音声合成部を学習させるものである請求項1または請求項2に記載のスピーチチェイン装置。
【請求項4】
前記音声合成部が、話者の識別情報が入力される入力レイヤを有するものである請求項1ないし請求項3のいずれかに記載のスピーチチェイン装置。
【請求項5】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、
文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、
入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、
前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、
入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、
前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、
前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第1の学習制御部と、
前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第2の学習制御部と、をコンピュータに実現させるためのコンピュータプログラム。
【請求項6】
音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部および文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部を相互に学習させるDNN音声認識・合成相互学習方法であって、
教師ありデータとして音声とテキストのペアが与えられた場合、当該音声の音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させるとともに、当該テキストの文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第1のステップと、
教師なしデータとして音声のみが与えられた場合、前記音声認識部に当該音声の音声特徴系列データを入力して前記音声認識部から出力された文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第2のステップと、
教師なしデータとしてテキストのみが与えられた場合、前記音声合成部に当該テキストの文字系列データを入力して前記音声合成部から出力された音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させる第3のステップと、を備えたDNN音声認識・合成相互学習方法。
【請求項7】
音声とテキストのペア、テキストのみおよび音声のみの3種類のデータが混在するデータセットから各種類のデータを一定量ずつ取り出す第4のステップと、
前記データセットから取り出した各種類のデータを用いて前記第1のステップないし前記第3のステップを順に繰り返して前記音声認識部および前記音声合成部のバッチ学習を行う第5のステップと、をさらに備えた請求項6に記載のDNN音声認識・合成相互学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動音声認識(ASR: Automatic Speech Recognition)および自動音声合成(TTS: Text-To-Speech synthesis)に関し、特にディープニューラルネットワーク(DNN: Deep Neural Network)で構築された音声認識部および音声合成部を相互に学習させる技術に関する。
【背景技術】
【0002】
近年、ASRおよびTTSによる音声言語情報処理技術が発達し、機械と人間が音声を通じてコミュニケーションできるようになりつつある。ASRについて言えば、これまで、動的時間伸縮法(DTW: dynamic time warping)によるテンプレートベースのスキームや、隠れマルコフ混合ガウスモデル(HMM-GMM: hidden Markov model - Gaussian mixture model)といった厳格な統計モデルによるデータ駆動手法といった音響音声学に基づくアプローチが試みられてきた。TTSについて言えば、波形符号化および分析合成方式によるルールベースのシステムから、波形素片接続手法や隠れセミマルコフ混合ガウスモデル(HSMM-GMM: hidden semi-Markov model - GMM)を用いたより自由度のある手法へとシフトしつつある。
【0003】
そして、近年のコンピュータハードウェアの著しい性能向上によりDNNがさまざまな分野で実用可能となり、ASRおよびTTSにもDNNを用いたディープラーニングが取り入れられつつある(例えば、下記非特許文献1、2を参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0005】
人は自分の声を聞きながら言葉を発している。すなわち、人間の脳は耳から聞こえる自分の声の音量や音調や明瞭さなどに基づいて次にどのような発声をするのか決定して発声器官に指示を出している。このように人の音声認識および音声発話では聴覚器菅、脳および発声器官からなる閉ループであるスピーチチェインが非常に重要な役割を果たしている。例えば、聴覚を失った子供はスピーチチェインが機能しなくなることによってうまく喋れなくなることが知られている。このように人の音声認識と音声発話は互いに密接に関連し合うにもかかわらず、ASRおよびTTSの研究・開発はそれぞれ独自に進展してきた。
【0006】
ASTとTTSの分離はDNNを用いたディープラーニングが取り入れられてからも変わっていない。そして、ASRとTTSとが分離されていることにより次のような問題が生じる。
1.ASRおよびTTSをそれぞれ十分なレベルにまで学習させるために音声とテキストのペアからなる教師ありデータを大量に用意する必要がある。教師ありデータは人手で作成しなければならないため大変な労力とコストがかかってしまう。
2.実際の推論段階ではオンラインで入力される信号にノイズが混入するため、それが原因で学習済みのASRおよびTTSの出力誤差が大きくなったりあるいは出力が得られなくなったりすることがある。そこでオンライン入力された信号に基づいてASRおよびTTSの再学習が必要になるが、そもそもオンライン入力される信号は教師なしデータであり、教師なしデータを用いてASRおよびTTSを学習させる仕組みが確立されていない。
【0007】
上記問題に鑑み、本発明は、人間のスピーチチェインのメカニズムを機械で再現するスピーチチェイン装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一局面に従うと、音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部と、文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部と、入力された音声を処理して、前記音声認識部に入力される前記音声特徴系列データを生成する音声特徴抽出部と、前記音声認識部から出力される前記文字系列データに基づいて、前記音声特徴抽出部に入力された音声に対応するテキストを生成するテキスト生成部と、入力されたテキストを処理して、前記音声合成部に入力される前記文字系列データを生成するテキスト特徴抽出部と、前記音声合成部から出力される前記音声特徴系列データに基づいて、前記テキスト特徴抽出部に入力されたテキストに対応する音声を生成する音声生成部と、前記音声合成部から出力された前記音声特徴系列データを学習データとして前記音声認識部に入力し、前記テキスト特徴抽出部によって生成された前記文字系列データを教師データとして用いて前記音声認識部を学習させる第1の学習制御部と、前記音声認識部から出力された前記文字系列データを学習データとして前記音声合成部に入力し、前記音声特徴抽出部によって生成された前記音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第2の学習制御部と、を備えたスピーチチェイン装置が提供される。
【0009】
具体的には、前記音声認識部に入力される前記音声特徴系列データがメルスペクトル特徴量であってもよく、前記音声合成部から出力される前記音声特徴系列データがリニアスペクトル特徴量およびメルスペクトル特徴量であってもよく、前記音声特徴抽出部が、前記音声特徴系列データとして、前記音声特徴抽出部に入力された音声のリニアスペクトル特徴量およびメルスペクトル特徴量を生成するものであってもよく、前記第2の学習制御部が、前記音声特徴抽出部によって生成された前記リニアスペクトル特徴量および前記メルスペクトル特徴量を教師データとして用いて前記音声合成部を学習させるものであってもよい。
【0010】
また、具体的には、前記音声合成部が、発話の終端の確率を表す出力レイヤを有するものであってもよく、前記第2の学習制御部が、さらに発話の終端の確率を教師データとして用いて前記音声合成部を学習させるものであってもよい。
【0011】
また、具体的には、前記音声合成部が、話者の識別情報が入力される入力レイヤを有するものであってもよい。
【0012】
本発明の別の一局面に従うと、上記スピーチチェイン装置の各構成要素をコンピュータに実現させるためのコンピュータプログラムが提供される。
【0013】
本発明のさらに別の一局面に従うと、音声特徴系列データを入力とし文字系列データを出力とするディープニューラルネットワークで構築された音声認識部および文字系列データを入力とし音声特徴系列データを出力とするディープニューラルネットワークで構築された音声合成部を相互に学習させるDNN音声認識・合成相互学習方法であって、教師ありデータとして音声とテキストのペアが与えられた場合、当該音声の音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させるとともに、当該テキストの文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第1のステップと、教師なしデータとして音声のみが与えられた場合、前記音声認識部に当該音声の音声特徴系列データを入力して前記音声認識部から出力された文字系列データを学習データとして前記音声合成部に入力し、当該音声の音声特徴系列データを教師データとして用いて前記音声合成部を学習させる第2のステップと、教師なしデータとしてテキストのみが与えられた場合、前記音声合成部に当該テキストの文字系列データを入力して前記音声合成部から出力された音声特徴系列データを学習データとして前記音声認識部に入力し、当該テキストの文字系列データを教師データとして用いて前記音声認識部を学習させる第3のステップと、を備えたDNN音声認識・合成相互学習方法が提供される。
【0014】
上記DNN音声認識・合成相互学習方法は、音声とテキストのペア、テキストのみおよび音声のみの3種類のデータが混在するデータセットから各種類のデータを一定量ずつ取り出す第4のステップと、前記データセットから取り出した各種類のデータを用いて前記第1のステップないし前記第3のステップを順に繰り返して前記音声認識部および前記音声合成部のバッチ学習を行う第5のステップと、をさらに備えてもよい。
【発明の効果】
【0015】
本発明によると人間のスピーチチェインのメカニズムを機械で再現することができる。これにより、音声認識用に入力された音声および音声合成用に入力されたテキストを教師なしデータとして用いて音声合成および音声認識のオンライン学習を行うことができるようになり、教師ありデータとしての音声とテキストのペアを大量に用意する労力とコストを削減することができる。さらに、本発明に係るスピーチチェイン装置は、音声認識装置および音声合成装置として使えば使うほど学習が進んで音声認識および音声合成の精度が向上する。
【図面の簡単な説明】
【0016】
図1】本発明に係るスピーチチェイン装置のベースとなるマシンスピーチチェインのアーキテクチャを示す図
図2】マシンスピーチチェインにおいてASRの出力をTTSの学習データとして用いてASRを学習させる様子を示す模式図
図3】マシンスピーチチェインにおいてTTSの出力をASRの学習データとして用いてTTSを学習させる様子を示す模式図
図4】一例に係るDNN音声認識モデルの模式図
図5】一例に係るDNN音声合成モデルの模式図
図6】本発明の一実施形態に係るスピーチチェイン装置のブロック図
図7】音声特徴系列データ生成処理のフローチャート
図8】文字系列データ生成処理のフローチャート
図9】DNN音声認識・合成相互学習の全体フローチャート
図10】ASRおよびTTSのバッチ学習処理のフローチャート
【発明を実施するための形態】
【0017】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0018】
なお、発明者らは、当業者が本発明を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0019】
また、本明細書において単に「音声」と言う場合、それは音声波形信号を指すことに留意されたい。
【0020】
1.マシンスピーチチェイン(Machine Speech Chain)
図1は、本発明に係るスピーチチェイン装置のベースとなるマシンスピーチチェインのアーキテクチャを示す図である。マシンスピーチチェイン1は、上述した人間のスピーチチェインのメカニズムを機械で再現するものであり、音声xを受けてそれをテキストyに変換する音声認識部(以下、単に「ASR」と称することがある。)10と、テキストyを受けてそれを音声xに変換する音声合成部(以下、単に「TTS」と称することがある。)20とを備えている。マシンスピーチチェイン1においてASR10およびTTS20は、ASR10の出力(テキストy)がTTS20に入力されるとともにTTS20の出力(音声x)がASR10に入力されるように互いに接続されて閉ループを形成している。
【0021】
ASR10およびTTS20はいずれも系列(sequence)データが入出力されるsequence-to-sequence型モデルとして構成されている。具体的には、ASR10は、音声特徴系列データを入力とし文字系列データを出力とするモデルとして、TTS20は、文字系列データを入力とし音声特徴系列データを出力とするモデルとしてそれぞれ構成されている。このようにASR10およびTTS20をいずれもsequence-to-sequence型モデルとして構成したことにより、ASR10およびTTS20間で一方の出力を他方に入力することが可能になっている。
【0022】
また、マシンスピーチチェイン1においてASR10およびTTS20の閉ループを形成したことで、一方のモデルの出力を他方のモデルの学習データとして用いて各モデルを学習させることができるようになる。例えば、音声合成処理の過程でTTS20から出力される音声xをASR10の学習データとして用いてASR10を学習させることができ、逆に音声認識処理の過程でASR10から出力されるテキストyをTTS20の学習データとして用いてTTS20を学習させることができる。
【0023】
図2は、マシンスピーチチェイン1においてASR10の出力をTTS20の学習データとして用いてTTS20を学習させる様子を示す模式図である。図2に示したように、マシンスピーチチェイン1において音声認識処理が行われる場合、ASR10は、音声xを受けてそれをテキストyに変換する。TTS20は、ASR10によって変換されたテキストyを受けてそれを音声xに再変換する。このとき、ASR10によって変換されたテキストyを学習データ、ASR10に入力された元の音声xを教師データとして用いて、TTS20の出力(音声x)と教師データ(音声x)との誤差が小さくなるように(損失関数LostTTS(x,x)の値が小さくなるように)TTS20のパラメータ調整、すなわちディープラーニングが行われる。
【0024】
図3は、マシンスピーチチェイン1においてTTS20の出力をASR10の学習データとして用いてASR10を学習させる様子を示す模式図である。図3に示したように、マシンスピーチチェイン1において音声合成処理が行われる場合、TTS20は、テキストyを受けてそれを音声xに変換する。ASR10は、TTS20によって変換された音声xを受けてそれをテキストyに再変換する。このとき、TTS20によって変換された音声xを学習データ、TTS20に入力された元のテキストyを教師データとして用いて、ASR10の出力(テキストy、より詳細にはyを構成する各文字の発生確率p)と教師データ(テキストy)との誤差が小さくなるように(損失関数LostASR(y,p)の値が小さくなるように)ASR10のパラメータ調整、すなわちディープラーニングが行われる。
【0025】
従来のように音声認識モデルと音声合成モデルとが相互接続されていなければ、教師ありデータとして音声とテキストのペアを用意してそれぞれのモデルをオフラインで学習(音声認識モデルの学習には音声が学習データ、テキストが教師データとして用いられ、音声合成モデルの学習にはテキストが学習データ、音声が教師データとして用いられる。)させる必要がある。一方、マシンスピーチチェイン1は、教師ありデータを用いてASR10およびTTS20をそれぞれ教師強制(teacher-forcing)モードでオフライン学習させることができるのはもちろん、音声認識用にオンライン入力された音声を用いてTTS20を学習させ、また、音声合成用にオンライン入力されたテキストを用いてASR10を学習させることができる。すなわち、マシンスピーチチェイン1は、音声認識または音声合成をしながらASR10およびTTS20をオンライン学習させることができる。
【0026】
2.DNN音声認識・合成モデル
次に、マシンスピーチチェイン1を構成するASR10およびTTS20の詳細について説明する。本発明の実施形態ではASR10およびTTS20はいずれもディープニューラルネットワーク(DNN)で構築される。
【0027】
まず、DNN音声認識モデルについて説明する。図4は、一例に係るDNN音声認識モデルの模式図である。ASR10は、音声xを長さSの音声特徴系列データ(すなわちx=[x,…,x])、テキストyを長さTの文字系列データ(すなわちy=[y,…,y])としたときの条件付き確率p(y|x)を求めるsequence-to-sequence型モデルとして構成される。具体的には、ASR10は、再帰型ニューラルネットワーク(RNN: Recurrent Neural Network)を応用したオートエンコーダとして構築することができる。音声特徴系列データの各要素xはD次元の実数値ベクトルである。文字系列データの各要素yは音素(phoneme)または書記素(grapheme)である。
【0028】
より詳細には、ASR10は、エンコーダ11と、デコーダ12と、アテンション13とを備えている。エンコーダ11は、3層の双方向LSTM(Bi-LSTM: Bidirectional Long Short-Term Memory)レイヤ111、112、113を備えている。エンコーダ11において、初段の双方向LSTMレイヤ111に対数メルスペクトル特徴量で表される音声特徴系列データx,…,xが入力されて最終段の双方向LSTMレイヤ113から中間層ベクトルh (s=1,…,S)が出力される。
【0029】
デコーダ12は、文字埋め込み(Char Emb.: Character Embed)レイヤ121と、LSTMレイヤ122とを備えている。デコーダ12において、文字埋め込みレイヤ121に文字系列データy,…,yT-1が入力されてLSTMレイヤ122から文字系列データy,…,yが出力される。デコーダ12の入力である文字系列データyは音素または書記素そのものではなく音素または書記素のidまたはインデックス番号である。時刻tにおけるデコーダ12の出力yは、LSTMレイヤ122から出力される中間層ベクトルh とアテンション13によって計算されるコンテキストベクトルcとを連結したベクトルを所定の線型作用素で重み付けし、さらにそれを所定の活性化関数に入力することにより算出される。図示していないが、LSTMレイヤ122から出力される文字系列データy,…,yはsoftmax関数によって各文字の発生確率py1,…,pyTとして正規化される。
【0030】
アテンション13は、コンテキストベクトルcを計算するモジュールである。より詳細には、アテンション13は、デコーダ12のLSTMレイヤ122から出力される時刻tにおける中間層ベクトルh とエンコーダ11の双方向LSTMレイヤ113が保持している中間層ベクトルh ,…,h から値aを計算し、さらに値aと中間層ベクトルh ,…,h からコンテキストベクトルcを計算する。なお、値aおよびコンテキストベクトルcの計算式は周知であるのでここでの説明は省略する。
【0031】
ASR10のパラメータは、次の損失関数の値が最小になるように確率的勾配降下法や誤差逆伝播法などを用いて調整される。
ここで、Cは出力クラスの数であり、yは正解(ground truth)のテキストである。
【0032】
オフライン学習時に教師ありデータとして音声とテキストのペアが与えられる場合、当該音声の音声特徴系列データを学習データ、当該テキストの文字系列データを教師データとして用いてASR10の学習を行うことができる。一方、教師なしデータとしてテキストのみが与えられる場合、例えば、音声合成用にオンライン入力されたテキストを使用する場合、図3を参照して説明したように、TTS20から出力される音声特徴系列データを学習データ、音声合成用にオンライン入力されたテキストの文字系列データを教師データとして用いてASR10の学習を行うことができる。
【0033】
次に、DNN音声合成モデルについて説明する。図5は、一例に係るDNN音声合成モデルの模式図である。TTS20は、テキストyを長さTの文字系列データ(すなわちy=[y,…,y])、音声xを長さSの音声特徴系列データ(すなわちx=[x,…,x])としたときの条件付き確率p(x|y)を求めるsequence-to-sequence型モデルとして構築される。具体的には、TTS20は、再帰型ニューラルネットワークを応用したオートエンコーダとして構築することができる。音声特徴系列データの各要素xはD次元の実数値ベクトルである。文字系列データの各要素yは音素または書記素である。
【0034】
より詳細には、TTS20は、エンコーダ21と、デコーダ22と、アテンション23とを備えている。エンコーダ21は、文字埋め込みレイヤ211と、全結合(FC: Fully Connected)レイヤ212と、CBHG(1-D Convolution Bank + Highway network + bidirectional GRU)213とを備えている。エンコーダ21において、文字埋め込みレイヤ211に文字系列データy,…,yが入力されてCBHG213から中間層ベクトルh (t=1,…,T)が出力される。エンコーダ21の入力である文字系列データyは音素または書記素そのものではなく音素または書記素のidまたはインデックス番号である。
【0035】
デコーダ22は、全結合レイヤ221と、LSTMレイヤ222と、CBHG223と、全結合レイヤ224とを備えている。デコーダ22において、全結合レイヤ221に対数メルスペクトル特徴量で表される音声特徴系列データx ,…,x S-1が入力されてLSTMレイヤ222から対数メルスペクトル特徴量で表される音声特徴系列データx ,…,x が出力される。また、デコーダ22において、LSTMレイヤ222から出力される音声特徴系列データx ,…,x がCBHG223に入力されて全結合レイヤ224からリニアスペクトル特徴量で表される音声特徴系列データx (s=1,…,S)が出力される。CBHG223の入力x は、LSTMレイヤ222から出力される中間層ベクトルh とアテンション23によって計算されるコンテキストベクトルcとを連結したベクトルを所定の線型作用素で重み付けし、さらにそれを所定の活性化関数に入力することにより算出される。図示していないが、全結合レイヤ224から出力される音声特徴系列データx (s=1,…,S)はGriffin-Limアルゴリズムに従って処理されて音声が再構築される。
【0036】
デコーダ22は、さらに、出力レイヤ225と、入力レイヤ226とを備えている。出力レイヤ225は、発話の終端の確率を出力するレイヤである。出力レイヤ225を設けた理由は、デコーダ22から出力される音声特徴系列データ音声特徴系列データx およびx (s=1,…,S)はいずれも実数値ベクトルであり、それらからは発話の終端が判断できないからである。もし出力レイヤ225がなければ発話の終端が判断できないためTTS20から出力される音声特徴系列データが所定の長さになったところで強制的に音声合成を終了させることとなり語尾が不自然になるおそれがある。一方、出力レイヤ225を設けたことによって発話の終端が判断できるようになり、音声特徴系列データを所定の長さで強制的に打ち切ることなく発話終端で音声合成を終了させることができ、自然な語尾の音声を合成が実現できる。
【0037】
入力レイヤ226には話者の識別情報が入力される。話者の識別情報として話者のidを用いることができる。入力レイヤ226に入力された話者のidは埋め込み(embed)関数に入力されて実数値ベクトルによる分散表現に変換されてLSTMレイヤ222、224などに入力される。未知の話者にも対応可能にするために、話者のidを話者認識用のi-vectorにマッピングするようにしてもよい。このように話者の識別情報が入力される入力レイヤ226を設けたことで、TTS20は当該話者の声に似た音声を合成できるようになる。
【0038】
上述したようにASR10のオンライン学習ではTTS20から出力される音声特徴系列データが学習データとして用いられるが、このとき音声認識用に入力された音声とTTS20によって合成された音声の声質が異なっているとASR10の学習が正しく進まなくなるおそれがある。そこで入力レイヤ226を設けて話者の声に似た音声を合成できるようにすることでASR10のオンライン学習の質を向上させることができる。特にマシンスピーチチェイン1が複数の話者の音声を認識しなければならないような場合には入力レイヤ226を設けることが望ましい。
【0039】
アテンション23は、コンテキストベクトルcを計算するモジュールである。より詳細には、アテンション23は、デコーダ22のLSTMレイヤ222から出力される時刻sにおける中間層ベクトルh とエンコーダ21のCBHG213が保持している中間層ベクトルh ,…,h から値aを計算し、さらに値aと中間層ベクトルh ,…,h からコンテキストベクトルcを計算する。なお、値aおよびコンテキストベクトルcの計算式は周知であるのでここでの説明は省略する。
【0040】
TTS20のパラメータは、次の損失関数の値が最小になるように確率的勾配降下法や誤差逆伝播法などを用いて調整される。
ここで、x^M、x^R、bはそれぞれTTS20から出力される対数メルスペクトル特徴量、リニアスペクトル特徴量、発話終端確率であり、xM、x、bはそれぞれそれらの正解(ground truth)である。
【0041】
オフライン学習時に教師ありデータとして音声とテキストのペアが与えられる場合、当該テキストの文字系列データを学習データ、当該音声の音声特徴系列データ(対数メルスペクトル特徴量およびリニアスペクトル特徴量)を教師データとして用いてTTS20の学習を行うことができる。一方、教師なしデータとして音声のみが与えられる場合、例えば、音声認識用にオンライン入力された音声を使用する場合、図2を参照して説明したように、ASR10から出力される文字系列データを学習データ、音声認識用にオンライン入力された音声の音声特徴系列データ(対数メルスペクトル特徴量およびリニアスペクトル特徴量)を教師データとして用いてTTS20の学習を行うことができる。
【0042】
3.実施形態
次に、本発明の一実施形態に係るスピーチチェイン装置の構成を説明する。図6は、本発明の一実施形態に係るスピーチチェイン装置100のブロック図である。スピーチチェイン装置100は、音声認識部(ASR)10と、音声合成部(TTS)20と、音声特徴抽出部30と、テキスト生成部40と、テキスト特徴抽出部50と、音声生成部60と、ASR学習制御部70と、TTS学習制御部80とを備えている。スピーチチェイン装置100を構成するこれら要素はハードウェアまたはソフトウェアまたはそれらの組み合わせとして実現することができる。例えば、パソコンやスマートフォンなどのコンピュータ装置に専用のコンピュータソフトウェアをインストールすることで当該コンピュータ装置をスピーチチェイン装置100として機能させることができる。例えば、スピーチチェイン装置100は、クラウド上のサーバーに実装してSaaS(software as a service)として実施することもできる。また、スピーチチェイン装置100の各構成要素を複数のコンピュータ装置に分散配置し、電気通信ネットワークを介して各構成要素を互いに接続することによってスピーチチェイン装置100を実現することもできる。大量の計算が必要なASR10およびTTS20はGPU(Graphics Processing Unit)などの専用のプロセッサで処理し、それ以外の構成要素はCPU(Central Processing Unit)で処理させるとよい。
【0043】
次に、スピーチチェイン装置100の各構成要素の詳細について説明する。なお、ASR10およびTTS20については上述した通りであるため、繰り返しの説明は省略する。
【0044】
音声特徴抽出部30は、入力された音声を処理して、ASR10に入力される音声特徴系列データ(x=[x,…,x])を生成するモジュールである。テキスト生成部40は、ASR10から出力される文字系列データ(y=[y,…,y])に基づいて、音声特徴抽出部30に入力された音声に対応するテキストを生成するモジュールである。音声特徴抽出部30には、図略のマイクロフォンで集音した音声をリアルタイムに入力できる他、図略のストレージ装置やメモリ装置に保持された録音音声などを入力することもできる。テキスト生成部40から出力されるテキストは、図略の表示装置にリアルタイムに表示できる他、図略のストレージ装置やメモリ装置に保存することもできる。
【0045】
図7は、音声特徴抽出部30によって実施される音声特徴系列データ生成処理のフローチャートである。スピーチチェイン装置100に音声が入力されると(S11)、音声特徴抽出部30は、入力された音声に対してプリエンファシス処理を施し(S12)、その後さらに短時間フーリエ変換を施す(S13)。こうして音声特徴抽出部30は、入力された音声からそのリニアスペクトル特徴量を計算し(S14)、それを出力する(S15)。出力されたリニアスペクトル特徴量は図略のメモリ装置などに一時保存される。さらに、音声特徴抽出部30は、リニアスペクトル特徴量から対数メルスペクトル特徴量を計算し(S16)、それを出力する(S17)。出力された対数メルスペクトル特徴量は図略のメモリ装置などに一時保存される。
【0046】
図6へ戻り、テキスト特徴抽出部50は、入力されたテキストを処理して、TTS20に入力される文字系列データ(y=[y,…,y])を生成するモジュールである。音声生成部60は、TTS20から出力される音声特徴系列データ(x=[x,…,x])に基づいて、テキスト特徴抽出部50に入力されたテキストに対応する音声を生成するモジュールである。テキスト特徴抽出部50には、図略の入力デバイスを通じて入力されたテキストやOCR(Optical Character Recognition)装置などで読み取られたテキストをリアルタイムに入力できる他、図略のストレージ装置やメモリ装置に保持された文書中のテキストなどを入力することもできる。音声生成部60から出力される音声は、図略のスピーカからリアルタイムに出音できる他、図略のストレージ装置やメモリ装置に保存することもできる。
【0047】
図8は、テキスト特徴抽出部50によって実施される文字系列データ生成処理のフローチャートである。スピーチチェイン装置100にテキストが入力されると(S21)、テキスト特徴抽出部50は、当該入力されたテキストに含まれる文字、記号、数字の正規化処理を行う(S22)。具体的には、テキスト特徴抽出部50は、大文字をすべて小文字に変換し、ダブルクオーテーションなどの一部の記号をシングルクオーテーションなどの別の記号に置き換え、数字をその読みを表すテキストに変換(例えば、“5”→“five”)する。その後、テキスト特徴抽出部50は、正規化されたテキストを各文字に切り分ける(S23)(例えば、“five”→“f”,“i”,“v”,“e”)。その後、テキスト特徴抽出部50は、各文字をインデックスに変換し(S24)(例えば、 “f”→6,“i”→9,“v”→22,“e”→5)、正規化テキストと文字インデックスを出力する(S25)。出力された正規化テキストと文字インデックスは図略のメモリ装置などに一時保存される。
【0048】
図6へ戻り、ASR学習制御部70は、ASR10の学習を制御するモジュールである。ASR10には音声特徴抽出部30によって生成された音声特徴系列データxおよびTTS20から出力された音声特徴系列データxのいずれか一方が選択的に入力されるようになっている。スピーチチェイン装置100にテキストが入力されてスピーチチェイン装置100が音声合成装置として動作するとき、ASR学習制御部70は、TTS20によって生成された音声特徴系列データx^を学習データとしてASR10に入力し、テキスト特徴抽出部50によって生成された文字系列データyを教師データとして用いて、上述した方法でASR10のパラメータを調整する。
【0049】
TTS学習制御部80は、TTS20の学習を制御するモジュールである。TTS20にはテキスト特徴抽出部50によって生成された文字系列データyおよびASR10から出力された文字系列データyのいずれか一方が選択的に入力されるようになっている。スピーチチェイン装置100に音声が入力されてスピーチチェイン装置100が音声認識装置として動作するとき、TTS学習制御部80は、ASR10によって生成された文字系列データyを学習データとしてTTS20に入力し、音声特徴抽出部30によって生成された音声特徴系列データxを教師データとして用いて、上述した方法でTTS20のパラメータを調整する。
【0050】
図9は、スピーチチェイン装置100において実施されるDNN音声認識・合成相互学習の全体フローチャートである。スピーチチェイン装置100にデータが入力され(S31)、それが音声とテキストのペアであれば(S32でYES)、音声特徴抽出部30が、当該入力された音声から音声特徴系列データxを生成し、テキスト特徴抽出部50が、当該入力されたテキストから文字系列データyを生成する(S33)。音声特徴系列データおよび文字系列データの生成処理について図7および図8を参照して説明した通りである。これら系列データが生成されると、ASR学習制御部70が、音声特徴系列データxを学習データとしてASR10に入力し、文字系列データyを教師データとして用いてASR10を学習させるとともに、TTS学習制御部80が、文字系列データyを学習データとしてTTS20に入力し、音声特徴系列データxを教師データとして用いてTTS20を学習させる(S34)。
【0051】
このように、音声とテキストのペアという教師ありデータが与えられた場合、ASR学習制御部70およびTTS学習制御部80は、その教師ありデータを用いてASR10およびTTS20をそれぞれ教師強制モードでオフライン学習させることができる。
【0052】
スピーチチェイン装置100に入力されたデータが音声のみであれば(S32でNO、S35でYES)、音声特徴抽出部30が当該入力された音声から音声特徴系列データxを生成し(S36)、ASR10がそれを受けて音声認識を行う(S37)。そして、TTS学習制御部80が、ASR10から出力された文字系列データyを学習データとしてTTS20に入力し、音声特徴抽出部30によって生成された音声特徴系列データxを教師データとして用いてTTS20を学習させる(S38)。一方、スピーチチェイン装置100に入力されたデータがテキストのみであれば(S32でNO、S35でNO)、テキスト特徴抽出部50が当該入力されたテキストから文字系列データyを生成し(S39)、TTS20がそれを受けて音声合成を行う(S40)。そして、ASR学習制御部70が、TTS20から出力された音声特徴系列データxを学習データとしてASR10に入力し、テキスト特徴抽出部50によって生成された文字系列データyを教師データとして用いてASR10を学習させる(S41)。
【0053】
このように、音声のみのみが与えられた場合、TTS学習制御部80は、ASR10による音声認識結果をTTS20の学習データとして使用してTTS20を学習させることができる。一方、テキストのみが与えられた場合、ASR学習制御部70は、TTS20による音声合成結果をASR10の学習データとして使用してASR10を学習させることができる。すなわち、教師なしデータを用いてASR10およびTTS20のオンライン学習が可能になる。
【0054】
上述したように、スピーチチェイン装置100においてASR10およびTTS20は教師ありデータおよび教師なしデータのいずれを与えられても学習可能であることから、音声とテキストのペア、テキストのみおよび音声のみの3種類のデータが混在するデータセットを用意してASR10およびTTS20のバッチ学習を行うことができる。
【0055】
図10は、ASR10およびTTS20のバッチ学習処理のフローチャートである。ASR学習制御部70およびTTS学習制御部80は、図略のストレージ装置などに保存されたデータセットから音声とテキストのペアを一定量取り出して音声特徴抽出部30およびテキスト特徴抽出部50にそれぞれ入力し(S51)、音声特徴抽出部30によって生成された音声特徴系列データxおよびテキスト特徴抽出部50によって生成された文字系列データyを用いてASR10およびTTS20をそれぞれ学習させる(S52)。続いて、TTS学習制御部80は、データセットから音声のみのデータを一定量取り出して音声特徴抽出部30に入力し(S53)、ASR10によって生成された文字系列データyを学習データとしてTTS20に入力し、音声特徴抽出部30によって生成された音声特徴系列データxを教師データとして用いてTTS20を学習させる(S54)。続いて、ASR学習制御部70は、データセットからテキストのみのデータを一定量取り出してテキスト特徴抽出部50に入力し(S55)、TTS20によって生成された音声特徴系列データxを学習データとしてASR10に入力し、テキスト特徴抽出部50によって生成された文字系列データyを教師データとして用いてASR10を学習させる(S56)。ASR学習制御部70およびTTS学習制御部80は、以上の工程をデータセットのデータがなくなるまで繰り返す。
【0056】
以上説明したように、本実施形態に係るスピーチチェイン装置100によって人間のスピーチチェインのメカニズムを機械で再現することができる。これにより、音声認識用に入力された音声および音声合成用に入力されたテキストを教師なしデータとして用いて音声合成および音声認識のオンライン学習を行うことができるようになり、教師ありデータとしての音声とテキストのペアを大量に用意する労力とコストを削減することができる。さらに、本実施形態に係るスピーチチェイン装置100は、音声認識装置および音声合成装置として使えば使うほど学習が進んで音声認識および音声合成の精度が向上する。
【0057】
以上のように、本発明における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【0058】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0059】
また、上述の実施の形態は、本発明における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【符号の説明】
【0060】
100…スピーチチェイン装置、10…音声認識部、20…音声合成部、30…音声特徴抽出部、40…テキスト生成部、50…テキスト特徴抽出部、60…音声生成部、70…ASR学習制御部、80…TTS学習制御部、225…出力レイヤ、226…入力レイヤ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10