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

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

▶ 日本放送協会の特許一覧 ▶ 一般財団法人NHKエンジニアリングシステムの特許一覧

特開2022-37815韻律記号推定学習装置、韻律記号推定装置及びプログラム
<>
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図1
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図2
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図3
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図4
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図5
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図6
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図7
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図8
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図9
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図10
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図11
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図12
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図13
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図14
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図15
  • 特開-韻律記号推定学習装置、韻律記号推定装置及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022037815
(43)【公開日】2022-03-09
(54)【発明の名称】韻律記号推定学習装置、韻律記号推定装置及びプログラム
(51)【国際特許分類】
   G10L 15/06 20130101AFI20220302BHJP
   G10L 13/10 20130101ALI20220302BHJP
   G10L 15/16 20060101ALI20220302BHJP
   G06F 40/44 20200101ALI20220302BHJP
【FI】
G10L15/06 300C
G10L13/10 113Z
G10L15/16
G06F40/44
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020142157
(22)【出願日】2020-08-25
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(71)【出願人】
【識別番号】591053926
【氏名又は名称】一般財団法人NHKエンジニアリングシステム
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】清山 信正
(72)【発明者】
【氏名】栗原 清
(72)【発明者】
【氏名】熊野 正
(72)【発明者】
【氏名】今井 篤
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091EA01
(57)【要約】      (修正有)
【課題】テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定する。
【解決手段】韻律記号推定学習装置1において、、前処理部11と、統計モデル13を含む韻律記号推定学習部12と、を備える。前処理部11は、韻律記号推定学習用音声コーパスのテキストに対する言語分析処理により、韻律記号を付与して正解ラベルを作成し、教師データを作成し、1文字分前方へシフトして正解データを作成し、正解ラベルの所定の韻律記号を削除する等して入力ラベルを作成し、入力文字データを作成し、テキストに対応する音声信号から入力音響データを作成する。韻律記号推定学習部12は、統計モデル13を用いて、入力文字データ、入力音響データ及び教師データから推定データを求め、推定データと正解データとの間の誤差が小さくなるように、統計モデル13を学習する。
【選択図】図1
【特許請求の範囲】
【請求項1】
予め設定された韻律記号推定学習用音声コーパスを用いて、韻律記号付き文字列を推定するための統計モデルを学習する韻律記号推定学習装置において、
前記韻律記号推定学習用音声コーパスが格納されたメモリと、
前記メモリから、前記韻律記号推定学習用音声コーパスのテキスト及び前記テキストに対応する音声信号を読み出し、前記テキストに対して所定の前処理を行うことで、正解ラベル、教師データ、正解データ、入力ラベル及び入力文字データをそれぞれ作成すると共に、前記音声信号に対して所定の前処理を行い、入力音響データを作成する前処理部と、
前記統計モデルを用いて、前記前処理部により作成された前記入力文字データ、前記入力音響データ及び前記教師データから推定データを求め、前記推定データと、前記前処理部により作成された前記正解データとの間の誤差が小さくなるように、前記統計モデルを学習する韻律記号推定学習部と、を備え、
前記前処理部は、
前記テキストの読み仮名を求め、前記読み仮名に韻律記号を付与することで前記正解ラベルを作成する正解ラベル作成部と、
前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記教師データを作成する教師データ作成部と、
前記教師データ作成部により作成された前記教師データの前記並びをシフトし、前記正解データを作成する正解データ作成部と、
前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のうち、所定種類の前記韻律記号を削除し、所定種類の前記韻律記号を所定の韻律記号に置き換え、前記入力ラベルを作成する入力ラベル作成部と、
前記入力ラベル作成部により作成された前記入力ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを前記番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記入力文字データを作成する入力文字データ作成部と、
前記音声信号からフレーム単位の音響特徴量を求め、所定の最大フレーム数となるように、前記音響特徴量の前記入力音響データを作成する入力音響データ作成部と、
を備えたことを特徴とする韻律記号推定学習装置。
【請求項2】
請求項1に記載の韻律記号推定学習装置において、
前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、
前記統計モデルは、
前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めるエンコーダ部と、
前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して復号を行うことで、前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsに基づきアテンションを求め、前記アテンション及び前記教師データに基づき前記推定データを求めるデコーダ部と、
を備えたことを特徴とする韻律記号推定学習装置。
【請求項3】
請求項1に記載の韻律記号推定学習装置において、
前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、
前記統計モデルは、
前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めると共に、前記符号化に伴う内部状態及び最終状態を、それぞれ文字内部状態state_c及び文字最終状態state_hとして求めるエンコーダ部と、
前記エンコーダ部から前記文字内部状態state_c及び前記文字最終状態state_hを入力し、前記文字内部状態state_c及び前記文字最終状態state_hを、復号を行う際の再帰型ニューラルネットワークの初期状態として使用し、
前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して前記復号を行うことで、前記教師データに基づき前記再帰型ニューラルネットワークを用いて復号化時系列出力decoder_outputsを求め、前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsに基づき第1のアテンションを求め、前記第1のアテンション及び前記復号化時系列出力decoder_outputsに基づき第2のアテンションを求め、前記第1のアテンション、前記第2のアテンション及び前記復号化時系列出力decoder_outputsに基づき前記推定データを求めるデコーダ部と、
を備えたことを特徴とする韻律記号推定学習装置。
【請求項4】
請求項1に記載の韻律記号推定学習装置において、
前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、
前記統計モデルは、
前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めると共に、前記符号化に伴う内部状態及び最終状態を、それぞれ文字内部状態state_c及び文字最終状態state_hとして求めるエンコーダ部と、
前記エンコーダ部から前記文字内部状態state_c及び前記文字最終状態state_hを入力し、前記文字内部状態state_c及び前記文字最終状態state_hを、復号を行う際の再帰型ニューラルネットワークの初期状態として使用し、
前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して前記復号を行うことで、前記教師データに基づき前記再帰型ニューラルネットワークを用いて復号化時系列出力decoder_outputsを求め、前記文字時系列出力encoderg_outputs及び前記復号化時系列出力decoder_outputsに基づき第1のアテンションを求め、前記音響時系列出力encodera_outputs及び前記復号化時系列出力decoder_outputsに基づき第2のアテンションを求め、前記第1のアテンション、前記文字時系列出力encoderg_outputs、前記第2のアテンション、前記音響時系列出力encodera_outputs及び前記復号化時系列出力decoder_outputsに基づき前記推定データを求めるデコーダ部と、
を備えたことを特徴とする韻律記号推定学習装置。
【請求項5】
請求項2から4までのいずれか一項に記載の韻律記号推定学習装置において、
前記エンコーダ部は、
前記入力音響データに対して前記符号化を行うことで前記音響時系列出力encodera_outputsを求める際に、
前記入力音響データに対する双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算、及び前記演算により得られた前記音響時系列出力encodera_outputsに対する平均プーリング演算(AveragePooling1D)の処理を所定のN回行い(Nは2以上の整数)、前記音響時系列出力encodera_outputsにおけるフレーム数を減少させる、ことを特徴とする韻律記号推定学習装置。
【請求項6】
請求項3に記載の韻律記号推定学習装置において、
前記デコーダ部は、
前記第2のアテンションを求める際に、前記第1のアテンション及び前記復号化時系列出力decoder_outputsをそれぞれの全結合層(Dense)に入力し、それぞれの前記全結合層の出力の行列積(Dot)を演算し、前記行列積の結果にスケーリング因子sqrtの逆数を乗算(ScaleMul)することで、前記第2のアテンションを求める、ことを特徴とする韻律記号推定学習装置。
【請求項7】
請求項1から6までのいずれか一項に記載の韻律記号推定学習装置により学習された統計モデルを用いて、音声コーパスから韻律記号付き文字列を推定する韻律記号推定装置であって、
前記音声コーパスが格納されたメモリと、
前記メモリから、前記音声コーパスのテキスト及び前記テキストに対応する音声信号を読み出し、前記テキストに対して所定の前処理を行い、正解ラベル、入力ラベル及び入力文字データを作成すると共に、前記音声信号に対して所定の前処理を行い、入力音響データを作成し、前記テキストの文頭に対応する番号を文頭データとして出力する前処理部と、
前記統計モデルを用いて、前記前処理部により作成された前記入力文字データ及び前記入力音響データ、並びに前記前処理部により出力された前記文頭データから、前記文頭データの次のデータを推定し、さらにその次のデータを順次推定することで、推定データを求める推定部と、
前記推定部により推定された前記推定データを構成する番号のそれぞれを読み仮名及び韻律記号に変換し、前記韻律記号付き文字列の推定ラベルを求める番号/ラベル変換部と、を備え、
前記前処理部は、
前記テキストの前記読み仮名を求め、前記読み仮名に前記韻律記号を付与することで前記正解ラベルを作成する正解ラベル作成部と、
前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のうち、所定種類の前記韻律記号を削除し、所定種類の前記韻律記号を所定の韻律記号に置き換え、前記入力ラベルを作成する入力ラベル作成部と、
前記入力ラベル作成部により作成された前記入力ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記入力文字データを作成する入力文字データ作成部と、
前記音声信号からフレーム単位の音響特徴量を求め、所定の最大フレーム数となるように、前記音響特徴量の前記入力音響データを作成する入力音響データ作成部と、
前記テキストの文頭に対応する番号を文頭データとして出力する文頭データ出力部と、
を備えたことを特徴とする韻律記号推定装置。
【請求項8】
コンピュータを、請求項1から6までのいずれか一項に記載の韻律記号推定学習装置として機能させるためのプログラム。
【請求項9】
コンピュータを、請求項7に記載の韻律記号推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト及び音声信号を用いて韻律記号を推定する統計モデルを学習する韻律記号推定学習装置、統計モデルを用いてテキスト及び音声信号から韻律記号を推定する韻律記号推定装置、及びプログラムに関する。
【背景技術】
【0002】
従来、統計的な情報を用いて、任意のテキストに対し音声を合成する技術が知られている。このテキスト音声合成を高品質に実現するためには、事前準備として、音声信号、その発話内容のテキストの読み仮名、及び、アクセント、ポーズ等の韻律に関する情報(以下、「韻律記号」という。)を多量に用意しておく必要がある。
【0003】
多量の音声信号に対して読み仮名及び韻律記号を正しく付与するには、アクセント、ポーズ等の韻律を正確に聞き分けることができるアナウンサー等の専門家による作業が必要となり、コストがかかるという問題があった。
【0004】
この問題を解決するために、音声信号に対するアクセント型を判定する技術が提案されている(例えば、非特許文献1を参照)。
【0005】
非特許文献1の技術は、発話の音声信号に対する文章をひらがなで表現し、単語毎にアクセント型の数値を付記した正解ラベルと、音声信号をフレーム単位で切り出し音響分析して得られる音響特徴量とを事前に文章毎に作成しておく。そして、当該技術は、アクセント型の数値を「?」記号に置換したラベルと、フレーム単位の音響特徴量とを入力し、アクセント型の数値を付記した正解ラベルを出力及び推定するDNN(Deep Neural Network)を用いたモデルを学習する。
【0006】
このモデルは、seq2seq(sequence to sequence)で構成される。seq2seqは、RNNを用いたエンコーダ(encoder)部及びデコーダ(decoder)部から構成されたニューラルネットワークのモデルである。
【0007】
エンコーダ部は、ラベル及び音響特徴量を入力し、それぞれ符号化を行う。デコーダ部は、符号化データを用いて作成した2次元のアテンション(attention)を重み付け加算等することで、復号を行う。そして、デコーダ部により復号された出力データと正解ラベルとの間の誤差が最小となるように、モデルの学習が行われる。
【0008】
一方、テキストに対してポーズを付与する技術が提案されている(例えば、特許文献1を参照)。
【0009】
特許文献1の技術は、テキストに対して、当該テキストを構成する単語の並び、当該単語の並びに含まれる各単語に対応する品詞を表すラベル、及び、単語の直後のポーズの有無を表すラベルが付与された品詞及びポーズラベル付きテキストを学習テキストとする。そして、当該技術は、品詞及びポーズの有無で構成された2組の系列をN-gramモデルによってモデル化したポーズ付与モデルを学習する。
【0010】
また、特許文献1の技術は、学習されたポーズ付与モデルを用いて、テキストに対し、当該テキストを構成する単語の並び、及び当該単語の並びに含まれる各単語に対応する品詞を表すラベルが付与された品詞ラベル付きテキストについて、最尤となる2組の系列を探索する。そして、当該技術は、最尤となる2組の系列に含まれるポーズの有無を、品詞ラベル付きテキストに付与する。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第5980143号公報
【非特許文献】
【0012】
【非特許文献1】Interspeech.2018-1381, 1284-1287, 2018/09/2-6, “Sequence-to-Sequence Neural Network Model with 2D Attention for Learning Japanese Pitch Accents”, Antoine Bruguier, Heiga Zen, Arkady Arkhangorodsky
【発明の概要】
【発明が解決しようとする課題】
【0013】
前述の非特許文献1の技術では、2次元のアテンションを作成するために、入力ラベル及び入力音響特徴量をそれぞれ符号化したデータ(入力ラベル符号化データ、入力音響特徴量符号化データ)が用いられる。具体的には、2次元のアテンションは、符号化の次元毎に、入力ラベル符号化データが入力音響特徴量のフレーム数分繰り返して用いられ、入力音響特徴量符号化データが入力ラベルのその数分繰り返して用いられることで作成される。
【0014】
このため、情報量は冗長となると共に、2次元のアテンションのサイズは、入力ラベル数×入力音響特徴量フレーム数×(入力ラベル符号化次元数+入力音響特徴量フレーム符号化次元数)となり、大規模なものとなる。
【0015】
このように、前述の非特許文献1の技術では、2次元のアテンションを作成するために、膨大なメモリ及び演算量が必要となり、その実現が難しいという問題があった。さらに、この技術は、テキスト及び音声信号からアクセント型を推定するものであり、ポーズ等を含む韻律記号を推定することはできない。
【0016】
また、前述の特許文献1の技術は、音声信号の情報を考慮しておらず、テキストの情報のみを用いてポーズを付与するため、ポーズを正しく付与することができない場合があるという問題があった。また、この技術は、テキストにポーズを付与するものであり、アクセント型を推定するものではなく、ポーズ以外の韻律記号を推定するものでもない。
【0017】
このように、従来技術では、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を同時に推定することができず、現在のところ、この問題を解決する技術は存在しない。
【0018】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定可能な韻律記号推定学習装置、韻律記号推定装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0019】
前記課題を解決するために、請求項1の韻律記号推定学習装置は、予め設定された韻律記号推定学習用音声コーパスを用いて、韻律記号付き文字列を推定するための統計モデルを学習する韻律記号推定学習装置において、前記韻律記号推定学習用音声コーパスが格納されたメモリと、前記メモリから、前記韻律記号推定学習用音声コーパスのテキスト及び前記テキストに対応する音声信号を読み出し、前記テキストに対して所定の前処理を行うことで、正解ラベル、教師データ、正解データ、入力ラベル及び入力文字データをそれぞれ作成すると共に、前記音声信号に対して所定の前処理を行い、入力音響データを作成する前処理部と、前記統計モデルを用いて、前記前処理部により作成された前記入力文字データ、前記入力音響データ及び前記教師データから推定データを求め、前記推定データと、前記前処理部により作成された前記正解データとの間の誤差が小さくなるように、前記統計モデルを学習する韻律記号推定学習部と、を備え、前記前処理部が、前記テキストの読み仮名を求め、前記読み仮名に韻律記号を付与することで前記正解ラベルを作成する正解ラベル作成部と、前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記教師データを作成する教師データ作成部と、前記教師データ作成部により作成された前記教師データの前記並びをシフトし、前記正解データを作成する正解データ作成部と、前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のうち、所定種類の前記韻律記号を削除し、所定種類の前記韻律記号を所定の韻律記号に置き換え、前記入力ラベルを作成する入力ラベル作成部と、前記入力ラベル作成部により作成された前記入力ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを前記番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記入力文字データを作成する入力文字データ作成部と、前記音声信号からフレーム単位の音響特徴量を求め、所定の最大フレーム数となるように、前記音響特徴量の前記入力音響データを作成する入力音響データ作成部と、を備えたことを特徴とする。
【0020】
また、請求項2の韻律記号推定学習装置は、請求項1に記載の韻律記号推定学習装置において、前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、前記統計モデルが、前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めるエンコーダ部と、前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して復号を行うことで、前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsに基づきアテンションを求め、前記アテンション及び前記教師データに基づき前記推定データを求めるデコーダ部と、を備えたことを特徴とする。
【0021】
また、請求項3の韻律記号推定学習装置は、請求項1に記載の韻律記号推定学習装置において、前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、前記統計モデルが、前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めると共に、前記符号化に伴う内部状態及び最終状態を、それぞれ文字内部状態state_c及び文字最終状態state_hとして求めるエンコーダ部と、前記エンコーダ部から前記文字内部状態state_c及び前記文字最終状態state_hを入力し、前記文字内部状態state_c及び前記文字最終状態state_hを、復号を行う際の再帰型ニューラルネットワークの初期状態として使用し、前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して前記復号を行うことで、前記教師データに基づき前記再帰型ニューラルネットワークを用いて復号化時系列出力decoder_outputsを求め、前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsに基づき第1のアテンションを求め、前記第1のアテンション及び前記復号化時系列出力decoder_outputsに基づき第2のアテンションを求め、前記第1のアテンション、前記第2のアテンション及び前記復号化時系列出力decoder_outputsに基づき前記推定データを求めるデコーダ部と、を備えたことを特徴とする。
【0022】
また、請求項4の韻律記号推定学習装置は、請求項1に記載の韻律記号推定学習装置において、前記統計モデルを、アテンション構造付きのseq2seq(sequence to sequence)モデルのディープニューラルネットワークとし、前記統計モデルが、前記前処理部から前記入力文字データ及び前記入力音響データを入力して符号化を行うことで、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを求めると共に、前記符号化に伴う内部状態及び最終状態を、それぞれ文字内部状態state_c及び文字最終状態state_hとして求めるエンコーダ部と、前記エンコーダ部から前記文字内部状態state_c及び前記文字最終状態state_hを入力し、前記文字内部状態state_c及び前記文字最終状態state_hを、復号を行う際の再帰型ニューラルネットワークの初期状態として使用し、前記エンコーダ部から前記文字時系列出力encoderg_outputs及び前記音響時系列出力encodera_outputsを入力すると共に、前記前処理部から前記教師データを入力して前記復号を行うことで、前記教師データに基づき前記再帰型ニューラルネットワークを用いて復号化時系列出力decoder_outputsを求め、前記文字時系列出力encoderg_outputs及び前記復号化時系列出力decoder_outputsに基づき第1のアテンションを求め、前記音響時系列出力encodera_outputs及び前記復号化時系列出力decoder_outputsに基づき第2のアテンションを求め、前記第1のアテンション、前記文字時系列出力encoderg_outputs、前記第2のアテンション、前記音響時系列出力encodera_outputs及び前記復号化時系列出力decoder_outputsに基づき前記推定データを求めるデコーダ部と、を備えたことを特徴とする。
【0023】
また、請求項5の韻律記号推定学習装置は、請求項2から4までのいずれか一項に記載の韻律記号推定学習装置において、前記エンコーダ部が、前記入力音響データに対して前記符号化を行うことで前記音響時系列出力encodera_outputsを求める際に、前記入力音響データに対する双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算、及び前記演算により得られた前記音響時系列出力encodera_outputsに対する平均プーリング演算(AveragePooling1D)の処理を所定のN回行い(Nは2以上の整数)、前記音響時系列出力encodera_outputsにおけるフレーム数を減少させる、ことを特徴とする。
【0024】
また、請求項6の韻律記号推定学習装置は、請求項3に記載の韻律記号推定学習装置において、前記デコーダ部が、前記第2のアテンションを求める際に、前記第1のアテンション及び前記復号化時系列出力decoder_outputsをそれぞれの全結合層(Dense)に入力し、それぞれの前記全結合層の出力の行列積(Dot)を演算し、前記行列積の結果にスケーリング因子sqrtの逆数を乗算(ScaleMul)することで、前記第2のアテンションを求める、ことを特徴とする。
【0025】
さらに、請求項7の韻律記号推定装置は、請求項1から6までのいずれか一項に記載の韻律記号推定学習装置により学習された統計モデルを用いて、音声コーパスから韻律記号付き文字列を推定する韻律記号推定装置であって、前記音声コーパスが格納されたメモリと、前記メモリから、前記音声コーパスのテキスト及び前記テキストに対応する音声信号を読み出し、前記テキストに対して所定の前処理を行い、正解ラベル、入力ラベル及び入力文字データを作成すると共に、前記音声信号に対して所定の前処理を行い、入力音響データを作成し、前記テキストの文頭に対応する番号を文頭データとして出力する前処理部と、前記統計モデルを用いて、前記前処理部により作成された前記入力文字データ及び前記入力音響データ、並びに前記前処理部により出力された前記文頭データから、前記文頭データの次のデータを推定し、さらにその次のデータを順次推定することで、推定データを求める推定部と、前記推定部により推定された前記推定データを構成する番号のそれぞれを読み仮名及び韻律記号に変換し、前記韻律記号付き文字列の推定ラベルを求める番号/ラベル変換部と、を備え、前記前処理部が、前記テキストの前記読み仮名を求め、前記読み仮名に前記韻律記号を付与することで前記正解ラベルを作成する正解ラベル作成部と、前記正解ラベル作成部により作成された前記正解ラベルを構成する前記読み仮名及び前記韻律記号のうち、所定種類の前記韻律記号を削除し、所定種類の前記韻律記号を所定の韻律記号に置き換え、前記入力ラベルを作成する入力ラベル作成部と、前記入力ラベル作成部により作成された前記入力ラベルを構成する前記読み仮名及び前記韻律記号のそれぞれを番号に変換し、所定の最大文字列長となるように、前記番号の並びで表した前記入力文字データを作成する入力文字データ作成部と、前記音声信号からフレーム単位の音響特徴量を求め、所定の最大フレーム数となるように、前記音響特徴量の前記入力音響データを作成する入力音響データ作成部と、前記テキストの文頭に対応する番号を文頭データとして出力する文頭データ出力部と、を備えたことを特徴とする。
【0026】
さらに、請求項8のプログラムは、コンピュータを、請求項1から6までのいずれか一項に記載の韻律記号推定学習装置として機能させることを特徴とする。
【0027】
また、請求項9のプログラムは、コンピュータを、請求項7に記載の韻律記号推定装置として機能させることを特徴とする。
【発明の効果】
【0028】
以上のように、本発明によれば、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定することができる。
【図面の簡単な説明】
【0029】
図1】本発明の実施形態による韻律記号推定学習装置の構成例を示すブロック図である。
図2】韻律記号推定学習装置に備えた前処理部の構成例を示すブロック図である。
図3】韻律記号推定学習装置に備えた前処理部の処理例を示すフローチャートである。
図4】テキスト、正解ラベル等の例を説明する図である。
図5】文脈依存ラベルの形式例を示す図である。
図6】ステップS301の言語分析処理により作成された文脈依存ラベルのデータ構成例を説明する図である。
図7】ラベル/番号対応表の例を示す図である。
図8】ベースライン方式の統計モデルのネットワーク構造を示す図である。
図9】実施例1の統計モデルのネットワーク構造を示す図である。
図10】実施例2の統計モデルのネットワーク構造を示す図である。
図11】実施例3の統計モデルのネットワーク構造を示す図である。
図12】本発明の実施形態による韻律記号推定装置の構成例を示すブロック図である。
図13】韻律記号推定装置に備えた前処理部の構成例を示すブロック図である。
図14】韻律記号推定装置に備えた前処理部の処理例を示すフローチャートである。
図15】推定部に備えた処理部の処理例を示すフローチャートである。
図16】(1)は、音響特徴量としてスペクトルパラメータを利用した場合の推定実験の結果を示す図である。(2)は、音響特徴量として音源パラメータを利用した場合の推定実験の結果を示す図である。
【発明を実施するための形態】
【0030】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明の韻律記号推定学習装置は、韻律記号推定学習用音声コーパスから読み出したテキスト及び音声信号に対して前処理を行い、入力文字データ、入力音響データ、教師データ及び正解データを求める。そして、韻律記号推定学習装置は、入力文字データ、入力音響データ及び教師データを入力データとし、統計モデルを用いて推定データを求め、推定データが正解データと一致するように、統計モデルを学習する。
【0031】
また、本発明の韻律記号推定装置は、音声コーパスから読み出したテキスト及び音声信号に対して前処理を行い、入力文字データ、入力音響データ及び文頭データを求める。そして、韻律記号推定装置は、入力文字データ、入力音響データ及び文頭データを入力データとし、韻律記号推定学習装置により学習された統計モデルを用いて、文頭データの次のデータを推定データとして求めて出力する。韻律記号推定装置は、統計モデルを用いて、さらにその次のデータを推定データとして順次求めて出力する。
【0032】
これにより、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定することができる。
【0033】
〔韻律記号推定学習装置〕
まず、韻律記号推定学習装置について説明する。図1は、本発明の実施形態による韻律記号推定学習装置の構成例を示すブロック図である。この韻律記号推定学習装置1は、メモリ10、前処理部11及び韻律記号推定学習部12を備えている。
【0034】
メモリ10には、予め設定された韻律記号推定学習用音声コーパスが格納されている。韻律記号推定学習用音声コーパスは、発話文章毎の予め設定されたテキストと、これに対応する予め設定された音声信号から構成される。テキストは、漢字仮名交じり文で構成され、音声信号は、標本化周波数が16kHz、変換ビット数が16ビットで標本化されているものとする。後述する音声コーパスについても同様である。
【0035】
前処理部11は、メモリ10から韻律記号推定学習用音声コーパスのテキスト、及び当該テキストに対応する音声信号を読み出す。そして、前処理部11は、テキストに基づいて所定の前処理を行い、入力文字データ、教師データ及び正解データを求める。また、前処理部11は、テキストに対応する音声信号に基づいて所定の前処理を行い、入力音響データを求める。
【0036】
前処理部11は、入力文字データ、入力音響データ、教師データ及び正解データを韻律記号推定学習部12に出力する。
【0037】
ここで、前処理部11は、メモリ10に格納された韻律記号推定学習用音声コーパスの発話文章毎のテキスト及びこれに対応する音声信号を単位として、前処理をそれぞれ行い、入力文字データ、入力音響データ、教師データ及び正解データを求める。韻律記号推定学習用音声コーパスの発話文章毎の入力文字データ、入力音響データ、教師データ及び正解データは、韻律記号推定学習部12の学習処理に用いられる。前処理部11の処理の詳細については後述する。
【0038】
韻律記号推定学習部12は、前処理部11から入力文字データ、入力音響データ、教師データ及び正解データを入力する。そして、韻律記号推定学習部12は、後述するseq2seqの統計モデル13を用いて、入力文字データ、入力音響データ及び教師データから推定データを求め、推定データと正解データとの間の誤差が小さくなるように、seq2seqの統計モデル13を学習する。
【0039】
ここで、韻律記号推定学習部12は、韻律記号推定学習用音声コーパスの発話文章毎の入力文字データ、入力音響データ、教師データ及び正解データを単位として、seq2seqの統計モデル13を学習する。韻律記号推定学習部12の詳細については後述する。
【0040】
(前処理部11)
次に、図1に示した前処理部11について詳細に説明する。図2は、韻律記号推定学習装置1に備えた前処理部11の構成例を示すブロック図であり、図3は、韻律記号推定学習装置1に備えた前処理部11の処理例を示すフローチャートである。また、図4は、テキスト、正解ラベル等の例を説明する図である。
【0041】
この前処理部11は、正解ラベル作成部30、メモリ31,35、教師データ作成部32、正解データ作成部33、入力ラベル作成部34、入力文字データ作成部36及び入力音響データ作成部37を備えている。
【0042】
(正解ラベル作成部30)
正解ラベル作成部30は、メモリ10から読み出したテキストを入力し、テキストに対して言語分析処理を行い、漢字仮名交じり文のテキストから文脈依存ラベルを求める(ステップS301)。具体的には、正解ラベル作成部30は、テキストを言語分析処理によりアクセント句単位に分割する等して、テキストの文を構成する音素毎に、音素情報、アクセント情報、品詞情報、アクセント句情報、呼気段落情報、総数情報等の各情報を求め、文脈依存ラベルを作成する。
【0043】
図5は、文脈依存ラベルの形式例を示す図であり、図6は、ステップS301の言語分析処理により作成された文脈依存ラベルのデータ構成例を説明する図である。図5に示す文脈依存ラベルの形式例を用いることで、図6に示す文脈依存ラベルにおいて、現在着目している音素に関する情報が1行に記述される。
【0044】
音素毎の文脈依存ラベルとしては、現在着目している音素及びこれに隣接する前後2つの音素を併せた5つの音素(p1~p5)、現在着目している音素の属するアクセント句における拍単位での位置及びアクセント核からの拍単位での位置(a1~a3)、現在着目している音素の属するアクセント句における形態素の品詞及びその活用形並びに活用型(c1~c3)、現在着目している音素の属するアクセント句に隣接するアクセント句における形態素の品詞及びその活用形並びに活用型(b1~b3,d1~d3)、現在着目している音素の属するアクセント句の拍数、アクセント核の拍単位での位置及びアクセント句のタイプ(疑問形か疑問形でないか)並びに現在着目している音素の属する呼気段落における現在着目している音素の属するアクセント句のアクセント句単位での位置及び拍単位での位置(f1~f8)、現在着目している音素の属するアクセント句に隣接するアクセント句の拍数及びアクセント核の拍単位での位置並びに現在着目している音素の属するアクセント句と隣接するアクセント句との間のポーズの有無(e1~e5,g1~g5)、現在着目している音素の属する呼気段落におけるアクセント句数及び拍数並びに発話内における現在着目している音素の属する呼気段落の呼気段落単位での位置、アクセント句単位及び拍単位での位置(i1~i8)、現在着目している音素の属する呼気段落に隣接する呼気段落のアクセント句数及び拍数(h1,h2,j1,j2)、発話内の呼気段落数、アクセント句数及び拍数(k1~k3)等が使用される。
【0045】
図6に示す文脈依存ラベルは、音韻に関わる情報及び韻律に関わる情報から構成される。具体的には、文脈依存ラベルは、図3のステップS301の言語分析処理により作成され、音素毎に、音素情報、アクセント情報、品詞情報、アクセント句情報、呼気段落情報及び総数情報から構成される。この例は、テキストが「あらゆる現実を、すべて自分の方へ捻じ曲げたのだ。」の場合の文脈依存ラベルである。
【0046】
言語分析処理としては、例えば以下に示すプログラムが用いられる。
“Open JTalk”,インターネット<URL:http://open-jtalk.sourceforge.net/>
【0047】
図2図4に戻って、正解ラベル作成部30は、ステップS301から移行して、文脈依存ラベルを用いて、テキストの読み仮名(本実施形態では、カタカナ)を求める。そして、正解ラベル作成部30は、テキストのカタカナに対して韻律記号を付与することで、テキストの正解ラベルを作成する(ステップS302)。
【0048】
正解ラベル作成部30は、正解ラベルを教師データ作成部32及び入力ラベル作成部34に出力する。後述する韻律記号の例では、正解ラベルの文頭文字は、いずれも「S」となる。
【0049】
具体的には、正解ラベル作成部30は、文脈依存ラベルにおける音韻情報(各音素における現在の音素(p3)の時系列)を用いてカタカナを求めると共に、韻律情報(p3,a1~a3,f1~f3)を用いて韻律記号を付与することで、テキストの正解ラベルを作成する。
【0050】
尚、正解ラベル作成部30は、文脈依存ラベルから正解ラベルを作成するようにしたが、このような自動変換では、テキストのみを用いており、音声信号が考慮されていないため、カタカナ及び韻律記号に誤りを含む可能性がある。そこで、正解ラベル作成部30は、正解ラベルを作成した後、ユーザに対し音声信号を聴取させ正解ラベルを確認させるようにしてもよい。この場合、正解ラベル作成部30は、ユーザ操作に従い、正解ラベルを修正する。
【0051】
韻律記号は、アクセント核、アクセント句区切り、ポーズ、文末表現、並びに文頭及び文末の記号である。韻律記号には、フレーズ区切り、サブアクセント句区切りの記号を追加するようにしてもよい。
【0052】
図4を参照して、テキストが「あらゆる現実を、すべて自分の方へ捻じ曲げたのだ。」の場合、ステップS301,S302により、正解ラベル「Sアラユ’ル/ゲンジツオ_ス’ベテ/ジブンノホ’オエ/ネジマ’ゲタノダN」が作成される。
【0053】
韻律記号は、JEITA IT-4006「日本語テキスト音声合成用記号」を参考に設定したものである。韻律記号において、文頭記号を「S」、通常のイントネーションの文末記号を「N」(疑問のイントネーションの文末記号を「I」)、アクセント核の位置を「’」、アクセント句区切りを「/」、フレーズ区切りを「|」、ポーズを「_」で表す。
【0054】
文末のイントネーションによって、文末記号を増やすようにしてもよい。また、ポーズの長さの閾値を設定し、ポーズの長さの属する範囲によって、異なる記号を設定してもよい。また、この韻律記号は例であり、任意の記号を用いることができる。
【0055】
(メモリ31)
メモリ31には、ラベルと番号が対応したラベル/番号対応表が格納されている。図7は、ラベル/番号対応表の例を示す図である。このラベル/番号対応表は、韻律記号のラベル、及び当該ラベルに対応する番号から構成され、ラベル及び番号の組からなる。
【0056】
ラベルは、原則として、全てのカタカナ及び全ての韻律記号におけるそれぞれの1文字である。より詳細には、ラベルは、拍または韻律記号の単位の文字である。例えば、カタカナが拗音「ャ、ュ、ョ」または外来語で使われる小さな母音「ァ、ィ、ゥ、ェ、ォ」の場合、2文字(または3文字)で1拍のラベルとして扱われる。ラベルのカタカナは、音素及び発音記号等、読み方を表現する記号に置き換えてもよい。
【0057】
番号は、ラベルに対応して一意に割り当てられており、異なるラベルに対して同じ番号は存在しない。図7の例では、文頭記号のラベル「S」に対応する番号が「1」であり、文末記号のラベル「N」に対応する番号が「4」である。
【0058】
(教師データ作成部32)
図2図4に戻って、教師データ作成部32は、正解ラベル作成部30から正解ラベルを入力する。そして、教師データ作成部32は、メモリ10に格納された韻律記号推定学習用音声コーパスの全てのテキストに対応する全ての正解ラベルについて、予め、その最大文字列長を算出し、これを保持しておく(ステップS303)。
【0059】
教師データ作成部32は、メモリ31に格納されたラベル/番号対応表を用いて、正解ラベルを構成する全てのラベル(カタカナ及び韻律記号)のそれぞれを、対応する番号に変換することで、正解ラベルを番号の並びで表現する。
【0060】
教師データ作成部32は、正解ラベルに対応する番号の並びの長さが最大文字列長となるように、文末記号のラベル「N」を除いた正解ラベルについて、対応する番号の並びにゼロデータ(ゼロ「0」)を詰める(付加する)ことで、教師データを作成する(ステップS304)。そして、教師データ作成部32は、教師データを正解データ作成部33に出力すると共に、韻律記号推定学習部12に出力する。教師データの文頭番号は、いずれも文頭記号のラベル「S」に対応する番号「1」となる。
【0061】
図4を参照して、正解ラベルが「Sアラユ’ル/ゲンジツオ_ス’ベテ/ジブンノホ’オエ/ネジマ’ゲタノダN」である場合、ステップS303,S304により、教師データ「12・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3000」が作成される。
【0062】
ここで、仮に最大文字列長が正解ラベル「Sアラユ’ル/ゲンジツオ_ス’ベテ/ジブンノホ’オエ/ネジマ’ゲタノダN」の文字列長+2とする。また、文頭記号のラベル「S」に対応する番号を「1」、ラベル「ア」に対応する番号を「2」、ラベル「ダ」に対応する番号を「3」、文末記号のラベル「N」に対応する番号を「4」とする。
【0063】
教師データ「12・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3000」は、正解ラベルにおける文頭記号のラベル「S」に対応する番号「1」、ラベル「ア」に対応する番号「2」、・・・、正解ラベルにおける文末記号のラベル「N」の1つ手前のラベル「ダ」に対応する番号「3」に加え、最大文字列長までゼロ「0」を詰めた並びである。ゼロ「0」の数は、正解ラベルの文字列長から文末記号のラベル分の1を減算した結果をAとして、最大文字列長からAを減算した数である。
【0064】
(正解データ作成部33)
正解データ作成部33は、教師データ作成部32から教師データを入力する。そして、正解データ作成部33は、教師データに対し、その並びを1文字分(カタカナ及び韻律記号の1記号(1データ)分)先読み(前方へシフト)することで正解データを作成する(ステップS305)。これにより、正解データは、教師データに対して1文字分未来へシフトさせた並びとなる。
【0065】
これは、統計モデル13に教師データが1文字入力されたときに、統計モデル13から教師データのその次の1文字が推定データとして出力されるように、韻律記号推定学習部12が統計モデル13を学習するためである。
【0066】
この場合、正解データ作成部33は、シフト後の並びに対し、末尾にゼロ「0」を付加すると共に、教師データの作成の際に付加された最初のゼロ「0」を、正解ラベルの文末記号のラベル「N」に対応する番号「4」に置き換えることで、正解データを作成する。正解データ作成部33は、正解データを韻律記号推定学習部12に出力する。正解データには、文頭記号のラベル「S」に対応する番号「1」が含まれていない。
【0067】
図4を参照して、教師データが「12・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3000」である場合、ステップS305により、次に示す正解データが作成される。正解データは、「2・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・34000」となる。
【0068】
正解データ「2・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・34000」は、教師データの並びを前方へ1文字分シフトし、最初のゼロ「0」を正解ラベルの文末記号のラベル「N」に対応する番号「4」に置き換え、末尾にゼロ「0」を付加した並びである。
【0069】
(入力ラベル作成部34)
入力ラベル作成部34は、正解ラベル作成部30から正解ラベルを入力する。そして、入力ラベル作成部34は、正解ラベルを構成するカタカナ及び韻律記号のうち、所定種類の韻律記号(韻律記号のアクセント核「’」)を削除する。また、入力ラベル作成部34は、所定種類の韻律記号(韻律記号のアクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」)を韻律記号「?」に置換することで、入力ラベルを作成する(ステップS306)。入力ラベル作成部34は、入力ラベルを入力文字データ作成部36に出力する。
【0070】
図4を参照して、正解ラベルが「Sアラユ’ル/ゲンジツオ_ス’ベテ/ジブンノホ’オエ/ネジマ’ゲタノダN」である場合、ステップS306により、入力ラベル「Sアラユル?ゲンジツオ?スベテ?ジブンノホオエ?ネジマゲタノダN」が作成される。
【0071】
これにより、入力ラベルは、正解ラベルにおいて、韻律記号のアクセント核「’」が削除され、韻律記号のアクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」が韻律記号「?」に置換された文字列となる。
【0072】
(メモリ35)
メモリ35には、ラベルと番号が対応したラベル/番号対応表が格納されている。ラベル/番号対応表は、図7に示したように、ラベル、及び当該ラベルに対応する番号から構成され、ラベル及び番号の組からなる。ラベル/番号対応表には、例えば図7に示した組に加え、入力ラベル作成部34により置換された「?」及びこれに対応する番号が含まれる。
【0073】
番号は、ラベルに対応して一意に割り当てられており、異なるラベルに対して同じ番号は存在しない。
【0074】
(入力文字データ作成部36)
入力文字データ作成部36は、入力ラベル作成部34から入力ラベルを入力する。そして、入力文字データ作成部36は、メモリ10に格納された韻律記号推定学習用音声コーパスの全てのテキストに対応する全ての入力ラベルについて、予め、その最大文字列長を算出し、これを保持しておく(ステップS307)。
【0075】
入力文字データ作成部36は、メモリ35に格納されたラベル/番号対応表を用いて、入力ラベルを構成する全てのラベル(カタカナ及び韻律記号)のそれぞれを、対応する番号に変換することで、入力ラベルを番号の並びで表現する。
【0076】
入力文字データ作成部36は、入力ラベルに対応する番号の並びの長さが最大文字列長となるように、入力ラベルに対応する番号の並びにゼロ「0」を詰める(付加する)ことで、入力文字データを作成する(ステップS308)。そして、入力文字データ作成部36は、入力文字データを韻律記号推定学習部12に出力する。入力文字データの文頭番号は、いずれも文頭記号のラベル「S」に対応する番号「1」となる。
【0077】
図4を参照して、入力ラベルが「Sアラユル?ゲンジツオ?スベテ?ジブンノホオエ?ネジマゲタノダN」である場合、ステップS307,S308により、入力文字データ「12・・・・・・・・・・・・・・・・・・・・・・・・・・・・34000」が作成される。
【0078】
ここで、仮に最大文字列長が入力ラベル「Sアラユル?ゲンジツオ?スベテ?ジブンノホオエ?ネジマゲタノダN」の文字列長+3とする。また、文頭記号のラベル「S」に対応する番号を「1」、ラベル「ア」に対応する番号を「2」、ラベル「ダ」に対応する番号を「3」、文末記号のラベル「N」に対応する番号を「4」とする。
【0079】
入力文字データ「12・・・・・・・・・・・・・・・・・・・・・・・・・・・・34000」は、正解ラベルにおける文頭記号のラベル「S」に対応する番号「1」、ラベル「ア」に対応する番号「2」、・・・、ラベル「ダ」に対応する番号「3」、文末記号のラベル「N」に対応する番号「4」に加え、最大文字列長までゼロ「0」を詰めた並びである。ゼロ「0」の数は、最大文字列長から正解ラベルの文字列長を減算した数である。
【0080】
入力文字データと教師データ及び正解データとを比較すると、入力文字データは、正解ラベルを構成する全てのラベルから、所定種類の韻律記号(韻律記号のアクセント核「’」)を削除し、所定種類の韻律記号(韻律記号のアクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」)を韻律記号「?」に置換したラベルに対応する番号を含んで構成される。これに対し、教師データは、正解ラベルを構成する全てのラベルに対応する番号のうち、文末記号のラベル「N」に対応する番号「4」を含んでいない点で、入力文字データと相違する。また、正解データは、正解ラベルを構成する全てのラベルに対応する番号のうち、文頭記号のラベル「S」に対応する番号「1」を含んでいない点で、入力文字データと相違する。
【0081】
ここで、統計モデル13を学習するために用いる入力文字データには、アクセント核「’」、アクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」が反映されていない。これは、一般に、テキストを言語分析して得られるアクセント核の位置、アクセント句区切り、フレーズ区切り及びポーズは、当該テキストに対応する音声信号と必ずしも一致するとは限らないからである。
【0082】
つまり、アクセント核「’」、アクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」が反映されていない入力文字データと、後述する入力音響データとを、統計モデル13を学習するために用いることで、アクセント核「’」、アクセント句区切り「/」、フレーズ区切り「|」及びポーズ「_」を推定可能な統計モデル13を学習することができる。
【0083】
(入力音響データ作成部37)
入力音響データ作成部37は、メモリ10から読み出したテキストに対応する音声信号を入力し、音声信号に対して音響分析処理を行い、音響特徴量を求める(ステップS309)。具体的には、入力音響データ作成部37は、音響分析処理により音声信号からフレーム単位の信号を切り出し、フレーム単位の音響特徴量を求める。
【0084】
例えば、入力音響データ作成部37は、音響特徴量としてスペクトルパラメータを利用する場合、人間の聴覚特性を考慮したメルスペクトログラムを算出する。メルスペクトログラムの次数は80とし、フレームシフトは10msとする。メルスペクトログラムを算出する音響分析処理としては、例えば以下に示すプログラムが用いられる。
“librosa.feature.melspectrogram”,インターネット<URL:https://librosa.github.io/librosa/generated/librosa.feature.melspectrogram.html>
【0085】
また、入力音響データ作成部37は、音響特徴量として音源パラメータを利用する場合、ピッチ周波数及び有声無声判定値を算出する。ピッチ周波数の次数は1とし、フレームシフトは5msとする。ピッチ周波数を算出する音響分析処理としては、例えば以下に示すプログラムが用いられる。
“google/REAPER”,インターネット<URL:https://github.com/google/REAPER>
【0086】
また、入力音響データ作成部37は、ピッチ周波数を対数化し、無声区間を前後の対数ピッチ周波数で補完し、文頭及び文末の無音区間について、それぞれ文頭及び文末の対数ピッチ周波数の値とする。有声無声判定値は、有声区間を1、無声及び無音区間を0とする。これらの演算を実現するために、例えば以下に示すプログラムが用いられる。
“sp-nitech/SPTK”,インターネット<URL:https://github.com/sp-nitech/SPTK>
【0087】
ここで、音響特徴量として音源パラメータを利用する場合は、スペクトルパラメータを利用する場合よりも、少ない情報で実現することができる点で有利である。しかし、音源パラメータを利用する場合は、抽出誤りが生じることがあるため、スペクトルパラメータを利用する場合よりも、精度の点で劣ることが想定される。
【0088】
入力音響データ作成部37は、ステップS309から移行して、メモリ10に格納された韻律記号推定学習用音声コーパスの全ての音声信号に対応する全ての音響特徴量の最大フレーム数を算出し、これを保持しておく(ステップS310)。
【0089】
入力音響データ作成部37は、音響分析処理により求めた全ての音響特徴量の全フレームのデータを用いて、次元毎に、平均が0及び分散が1となるように、音響特徴量に対して標準化を行う。そして、入力音響データ作成部37は、標準化した音響特徴量のフレーム数が最大フレーム数となるように、音響特徴量の末尾フレーム以降にゼロ「0」を詰める(付加する)ことで、入力音響データを作成する(ステップS311)。入力音響データ作成部37は、入力音響データを韻律記号推定学習部12に出力する。
【0090】
(韻律記号推定学習部12)
次に、図1に示した韻律記号推定学習部12について詳細に説明する。図1に示したとおり、韻律記号推定学習部12は、統計モデル13、減算部14及び更新部15を備えている。統計モデル13は、エンコーダ部16及びデコーダ部17から構成される。統計モデル13の具体例については後述する。
【0091】
エンコーダ部16は、前処理部11から入力文字データ及び入力音響データを入力する。そして、エンコーダ部16は、入力文字データに対して符号化を行うことで、文字時系列出力xg、文字最終状態state_hg及び文字内部状態state_cgを求める。また、エンコーダ部16は、入力音響データに対して符号化を行うことで、音響時系列出力xaを求める。
【0092】
エンコーダ部16は、文字時系列出力xg、文字最終状態state_hg、文字内部状態state_cg及び音響時系列出力xaをデコーダ部17に出力する。これらのデータのうち文字最終状態state_hg及び文字内部状態state_cgは、デコーダ部17の初期状態として使用される。
【0093】
デコーダ部17は、前処理部11から教師データを入力すると共に、エンコーダ部16から文字時系列出力xg、文字最終状態state_hg、文字内部状態state_cg及び音響時系列出力xaを入力する。そして、デコーダ部17は、文字最終状態state_hg及び文字内部状態state_cgを、当該デコーダ部17に備えたLSTM(Long Short Term Memory)のニューラルネットワークにおける初期状態として使用する。
【0094】
デコーダ部17は、文字時系列出力xg、音響時系列出力xa及び教師データを用いて復号を行うことで、推定データを求める。そして、デコーダ部17は、推定データを減算部14に出力する。ここで、デコーダ部17は、復号により推定データを求める際に、アテンションを求める。
【0095】
減算部14は、前処理部11から正解データを入力すると共に、統計モデル13から推定データを入力する。そして、減算部14は、推定データと正解データとの間の減算処理により誤差を求め、誤差を更新部15に出力する。
【0096】
更新部15は、減算部14から誤差を入力し、誤差が小さくなるように、統計モデル13のエンコーダ部16及びデコーダ部17のパラメータを更新する。これにより、統計モデル13から出力された推定データが正解データと一致するように、統計モデル13を学習することができ、最適なパラメータが得られる。
【0097】
尚、統計モデル13の学習及びデータを推定するためのディープニューラルネットワークを構成するために、例えば以下に示すプラットフォームが用いられる。
“TensorFlow”,インターネット<URL:https://www.tensorflow.org/>
【0098】
統計モデル13は、例えばアテンション構造付きのseq2seqモデル(sequence to sequence + attentionモデル)で構成され、図1に示したとおり、エンコーダ部16及びデコーダ部17に区分される。
【0099】
アテンションとしては、例えば、以下の文献に基づいて開発されたscaled dot product attention(縮小付き内積注意機構)が用いられる。
[文献] Minh-Thang Luong, Hieu Pham, and Christopher D Manning. “Effective approaches to attention based neural machine translation,” arXiv:1508.04025, 2015/08
[文献] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin. “Attention Is All You Need,” arXiv:1706.03762, 2017/06
【0100】
パラメータである学習係数は、例えばAdamの最適化にて、バッチ数B=32、エポック数1000、誤差逆伝播法により学習が行われる。尚、過学習を防ぐため、20エポック連続して誤差が減少しない場合は早期停止し、誤差が最小となったときの統計モデル13が、後述する韻律記号推定装置2に用いられる。
【0101】
以上のように、本発明の実施形態の韻律記号推定学習装置1によれば、前処理部11は、韻律記号推定学習用音声コーパスのテキストに対して言語分析処理を行うことで文脈依存ラベルを求め、テキストのカタカナを求め、韻律記号を付与することで正解ラベルを作成する。そして、前処理部11は、予め設定されたラベル/番号対応表を用いて、正解ラベルを構成する全てのラベル(カタカナ及び韻律記号)のそれぞれを、対応する番号に変換し、全ての正解ラベルについての最大文字列長となるように、教師データを作成し、教師データの並びを1文字分前方へシフトすることで正解データを作成する。
【0102】
前処理部11は、正解ラベルを構成するカタカナ及び韻律記号のうち、韻律記号のアクセント核「’」を削除し、韻律記号のアクセント句区切り「/」等を記号「?」に置換することで、入力ラベルを作成する。そして、前処理部11は、予め設定されたラベル/番号対応表を用いて、入力ラベルを構成する全てのラベル(カタカナ及び韻律記号)のそれぞれを、対応する番号に変換し、全ての入力ラベルについての最大文字列長となるように、入力文字データを作成する。
【0103】
前処理部11は、韻律記号推定学習用音声コーパスのテキストに対応する音声信号に対して音響分析処理を行い、音響特徴量を求め、標準化した音響特徴量のフレーム数が全ての音響特徴量の最大フレーム数となるように、入力音響データを作成する。
【0104】
韻律記号推定学習部12は、統計モデル13を用いて、入力文字データ、入力音響データ及び教師データから推定データを求め、推定データと正解データとの間の誤差が小さくなるように、統計モデル13を学習する。
【0105】
これにより、後述する韻律記号推定装置2は、韻律記号推定学習装置1により事前に学習された統計モデル13を用いることで、テキスト及びこれに対応する音声信号から、当該テキストに対応する韻律記号付き文字列を推定し、これを推定ラベルとして出力することができる。したがって、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定することができる。
【0106】
〔統計モデル13の具体例〕
次に、図1に示した統計モデル13の具体例について説明する。この統計モデル13は、後述する統計モデル24でもある。
【0107】
<ベースライン方式の統計モデル13>
まず、ベースライン方式の統計モデル13について説明する。このベースライン方式の統計モデル13は、音声信号から作成した入力音響データを用いることなく、テキストから作成した入力文字データ、教師データ及び正解データのみを用いて学習が行われるDNNモデルである。後述する韻律記号推定装置2において、統計モデル24は、テキストから作成した入力文字データ及び文頭データを入力し、推定データを出力する。
【0108】
図8は、ベースライン方式の統計モデル13のネットワーク構造を示す図である。この統計モデル13’のエンコーダ部16は、前処理部11から文字入力データを入力し、ステップS801~S805の処理を行い、文字最終状態state_h(state_hg)、文字内部状態state_c(state_cg)及び文字時系列出力encoder_outputs(xg)を作成する。そして、エンコーダ部16は、文字最終状態state_h、文字内部状態state_c及び文字時系列出力encoder_outputsをデコーダ部17に出力する。
【0109】
デコーダ部17は、前処理部11から教師データを入力すると共に、エンコーダ部16から文字最終状態state_h、文字内部状態state_c及び文字時系列出力encoder_outputsを入力する。そして、デコーダ部17は、ステップS806~S819の処理を行い、アテンション、アテンションの重み及び推定データを作成し、推定データを減算部14に出力する。
【0110】
デコーダ部17から出力された推定データ及び前処理部11から出力された正解データを用いて、統計モデル13’の学習が行われる。
【0111】
ステップS801~S819の各処理に対応するニューラルネットワークを構成する層により、後述する演算が行われる。
【0112】
(エンコーダ部16/ベースライン方式)
エンコーダ部16は、入力文字データを入力層(InputLayer)に入力し(ステップS801)、128次元の埋め込み(Embedding)によりベクトル化する(ステップS802)。エンコーダ部16は、ベクトル化したデータを、双方向再帰型ニューラルネットワーク(Bidirectional LSTM(順方向及び逆方向共に隠れ層I=128次))に入力し、当該ニューラルネットワークの演算を行う(ステップS803)。
【0113】
エンコーダ部16は、順方向及び逆方向の符号化時系列出力(入力ラベルの最大文字列長Teを有する)encoder_out_forward及びencoder_out_backwardを加算し、符号化時系列出力である文字時系列出力encoder_outputs[B,Te,I]を求め、デコーダ部17に出力する。Bはバッチサイズ、Teは入力ラベルの最大文字列長、Iは隠れ層の次元を示す。
【0114】
ここで、エンコーダ部16は、この文字時系列出力encoder_outputs[B,Te,I]について汎化学習させるために、バッチ毎の正規化(Batch Normalization)を行い(ステップS804)、さらに、ドロップアウト率(Dropout率)0.5でドロップアウト(Dropout)を実施しておく(ステップS805)。
【0115】
また、エンコーダ部16は、ステップS803において、順方向及び逆方向の符号化時系列出力encoder_out_forward及びencoder_out_backwardの内部状態を加算し、文字内部状態state_cを求める。さらに、エンコーダ部16は、これらの最終状態を加算し、文字最終状態state_hを求める。そして、エンコーダ部16は、文字最終状態state_h及び文字内部状態state_cをデコーダ部17に出力する。文字最終状態state_h及び文字内部状態state_cは、デコーダ部17のLSTMの初期状態に使用される。
【0116】
(デコーダ部17/ベースライン方式)
デコーダ部17は、エンコーダ部16から文字時系列出力encoder_outputs[B,Te,I]を入力し、アテンションを作成する。
【0117】
デコーダ部17は、教師データを入力層(InputLayer)に入力し(ステップS806)、入力層の出力を128次元の埋め込み(Embedding)によりベクトル化する(ステップS807)。デコーダ部17は、エンコーダ部16から文字最終状態state_h及び文字内部状態state_cを入力する。そして、デコーダ部17は、ベクトル化したデータを、文字最終状態state_h及び文字内部状態state_cを初期状態とする再帰型ニューラルネットワーク(LSTM(隠れ層I=128次))に入力し、当該ニューラルネットワークの演算を行う(ステップS808)。
【0118】
デコーダ部17は、復号化時系列出力(正解ラベルの最大文字列長Tdを有する)decoder_outputs[B,Td,I]を求める。Bはバッチサイズ、Tdは正解ラベルの最大文字列長、Iは隠れ層の次元を示す。
【0119】
ここで、デコーダ部17は、この復号化時系列出力decoder_outputs[B,Td,I]について汎化学習させるために、バッチ毎の正規化(Batch Normalization)を行い(ステップS809)、さらに、ドロップアウト率(Dropout率)0.5でドロップアウト(Dropout)を実施しておく(ステップS810)。
【0120】
デコーダ部17は、エンコーダ部16から文字時系列出力encoder_outputs[B,Te,I]を入力する。そして、デコーダ部17は、文字時系列出力encoder_outputs[B,Te,I]とステップS810にて求めた復号化時系列出力decoder_outputs[B,Td,I]とを、それぞれL=128次の全結合層(Dense)に入力し(ステップS811,S812)、Lの軸でそれぞれの全結合層の出力の行列積(Dot)を演算する(ステップS813)。
【0121】
デコーダ部17は、行列積の結果にスケーリング因子sqrt(L)の逆数を乗算(ScaleMul)することで、アテンション[B,Td,Te](scaled dot product attention)を求める(ステップS814)。Bはバッチサイズ、Tdは正解ラベルの最大文字列長、Teは入力ラベルの最大文字列長を示す。
【0122】
デコーダ部17は、アテンション[B,Td,Te](scaled dot product attention)に対してソフトマックス関数(Softmax)を演算することで、アテンションの重みw[B,Td,Te]を求める(ステップS815)。
【0123】
デコーダ部17は、アテンションの重みw[B,Td,Te]及び文字時系列出力encoder_outputs[B,Te,I]の行列積(Dot)を演算することで、コンテキストcontext[B,Td,I]を求める(ステップS816)。
【0124】
デコーダ部17は、コンテキストcontext[B,Td,I]と復号化時系列出力decoder_outputs[B,Td,I]とをコンカテネート(Concatenate)により結合することで、データ[B,Td,2I]を求める(ステップS817)。
【0125】
デコーダ部17は、データ[B,Td,2I]に対し、双曲線正接関数(tanh)を活性化関数とするM=128次の全結合層(tanh)に入力し(ステップS818)、全結合層の出力であるデータ[B,Td,M]に対し、メモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数N=87次のソフトマックス関数(Softmax)を演算し(ステップS819)、演算結果[B,Td,N]を推定データとして出力する。
【0126】
デコーダ部17から出力された推定データと前処理部11から出力された正解データとの間の誤差が小さくなるように、スパースなマルチクラス分類交差エントロピー関数(sparse_categorical_crossentropy)を目的関数として、統計モデル13’の学習が行われる。
【0127】
以上のように、図8に示したベースライン方式の統計モデル13’によれば、エンコーダ部16は、符号化により、入力文字データに基づいて文字時系列出力encoderg_outputs[B,Te,I]を求める。また、エンコーダ部16は、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算において、文字最終状態state_h及び文字内部状態state_cを求める。
【0128】
デコーダ部17は、文字最終状態state_h及び文字内部状態state_cを、LSTMの初期状態に使用する。また、デコーダ部17は、復号により、教師データに基づいて復号化時系列出力decoder_outputs[B,Td,I]を求める。そして、デコーダ部17は、文字時系列出力encoderg_outputs[B,Te,I]及び復号化時系列出力decoder_outputs[B,Td,I]に基づいて、アテンション[B,Td,Te](scaled dot product attention)を求め、アテンション[B,Td,Te](scaled dot product attention)に基づいて、アテンションの重みw[B,Td,Te]を求める。
【0129】
デコーダ部17は、アテンションの重みw[B,Td,Te]、文字時系列出力encoder_outputs[B,Te,I]、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、推定データを求める。そして、推定データ及び正解データを用いて、統計モデル13’の学習が行われる。
【0130】
尚、図8に示した統計モデル13’が、後述する韻律記号推定装置2の統計モデル24として機能する場合、エンコーダ部16は後述するエンコーダ部26として機能し、デコーダ部17は後述するデコーダ部27として機能する。この場合、後述するデコーダ部27は、教師データの代わりに、後述する配列D[1:T]を順次入力する。
【0131】
また、例えばメモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数が87の場合、後述するデコーダ部27は、ソフトマックス関数(Softmax)の演算により87個の演算結果を出力する。このため、デコーダ部27は、87個の演算結果に対してargmax関数の演算を行い、最大値をとる演算結果に対応する番号を推定データとして出力する。後述する図9図11についても同様である。
【0132】
<実施例1の統計モデル13>
次に、実施例1の統計モデル13について説明する。この実施例1の統計モデル13は、前述の非特許文献1を改良した方式によるものである。実施例1の統計モデル13は、テキストから作成した入力文字データ、音声信号から作成した入力音響データ、教師データ及び正解データを用いて学習が行われるDNNモデルである。後述する韻律記号推定装置2において、統計モデル24は、テキストから作成した入力文字データ、及び音声信号から作成した入力音響データを入力すると共に、文頭データを入力し、推定データを出力する。尚、この実施例1の統計モデル13では、文字内部状態state_c及び文字最終状態state_hを使用しない。
【0133】
図9は、実施例1の統計モデル13のネットワーク構造を示す図である。この統計モデル13-1のエンコーダ部16は、前処理部11から入力文字データを入力し、ステップS901~S905の処理を行い、文字時系列出力encoderg_outputs(xg)を作成する。また、エンコーダ部16は、前処理部11から入力音響データを入力し、ステップS906~S910の処理を行い、音響時系列出力encodera_outputs(xa)を作成する。そして、エンコーダ部16は、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsをデコーダ部17に出力する。
【0134】
デコーダ部17は、前処理部11から教師データを入力すると共に、エンコーダ部16から文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを入力する。そして、デコーダ部17は、ステップS911~S932の処理を行い、アテンション、アテンションの重み及び推定データを作成し、推定データを減算部14に出力する。
【0135】
デコーダ部17から出力された推定データ及び前処理部11から出力された正解データを用いて、統計モデル13-1の学習が行われる。
【0136】
ステップS901~S932の各処理に対応するニューラルネットワークの層により、後述する演算が行われる。
【0137】
(エンコーダ部16/実施例1)
エンコーダ部16は、入力文字データを入力層(InputLayer)に入力し(ステップS901)、入力層の出力を128次元の埋め込み(Embedding)によりベクトル化する(ステップS902)。エンコーダ部16は、ベクトル化したデータを、双方向再帰型ニューラルネットワーク(Bidirectional LSTM(順方向及び逆方向共に隠れ層I=128次))に入力し、当該ニューラルネットワークの演算を行う(ステップS903)。
【0138】
エンコーダ部16は、順方向及び逆方向の符号化時系列出力(入力ラベルの最大文字列長Teを有する)encoderg_out_forward及びencoderg_out_backwardを加算し、符号化時系列出力である文字時系列出力encoderg_outputs[B,Te,I]を求め、デコーダ部17に出力する。Bはバッチサイズ、Teは入力ラベルの最大文字列長、Iは隠れ層の次元を示す。
【0139】
ここで、エンコーダ部16は、この文字時系列出力encoderg_outputs[B,Te,I]について汎化学習させるために、バッチ毎の正規化(Batch Normalization)を行い(ステップS904)、さらに、ドロップアウト率(Dropout率)0.5でドロップアウト(Dropout)を実施しておく(ステップS905)。
【0140】
エンコーダ部16は、入力音響データを入力層(InputLayer)に入力し(ステップS906)、入力層の出力を双方向再帰型ニューラルネットワーク(Bidirectional LSTM(順方向及び逆方向共に隠れ層J=64次))に入力し、当該ニューラルネットワークの演算を行う(ステップS907)。
【0141】
エンコーダ部16は、順方向及び逆方向の符号化時系列出力(入力音響データの最大フレーム数Uを有する)encodera_out_forward及びencodera_out_backwardを加算し、符号化時系列出力である音響時系列出力encodera_outputs[B,U,J]を求める。Bはバッチサイズ、Uは入力音響データの最大フレーム数、Jは隠れ層の次元を示す。
【0142】
エンコーダ部16は、音響時系列出力encodera_outputs[B,U,J]に対し、時系列データのための平均プーリング演算(AveragePooling1D)を行い(ステップS908)、フレーム数を1/2に減らす。
【0143】
ここで、ステップS907,S908の処理をN回繰り返し行うことにより、時系列データのフレーム数を1/2Nに減らすことができる。Nは2以上の整数とする。つまり、エンコーダ部16は、ステップS907,S908の処理をN回繰り返し、音響時系列出力encodera_outputs[B,U’,J]を求める。エンコーダ部16は、音響時系列出力encodera_outputs[B,U’,J]をデコーダ部17に出力する。
【0144】
U’=U/2Nである。Nは2以上の整数であり、一般的な音素長を160m程度と想定して予め設定される。例えば音響特徴量が10msシフトで算出された場合、160/10=16=24であり、N=4が用いられる。音響特徴量が5msシフトで算出された場合、160/5=32=25であり、N=5が用いられる。
【0145】
ここで、エンコーダ部16は、入力音響データの最大フレーム数Uを1/2N倍のU’に減らした音響時系列出力encodera_outputs[B,U’,J]について汎化学習させるために、バッチ毎の正規化(Batch Normalization)を行い(ステップS909)、さらに、ドロップアウト率(Dropout率)0.5でドロップアウト(Dropout)を実施しておく(ステップS910)。
【0146】
このように、エンコーダ部16は、ステップS907,S908の処理にて、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算、及び当該演算により得られた音響時系列出力encodera_outputs[B,U,J]に対する平均プーリング演算(AveragePooling1D)の処理をN回行うようにした。
【0147】
これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、音響時系列出力encodera_outputs[B,U’,J]が求めらる。したがって、以降の演算を少ないメモリにて実現することができる。
【0148】
(デコーダ部17/実施例1)
デコーダ部17は、エンコーダ部16から文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]を入力し、2次元のアテンション及びアテンションの重みを作成する。
【0149】
デコーダ部17は、エンコーダ部16から入力した文字時系列出力encoderg_outputs[B,Te,I]=[32,100,128]に対してリシェープ(Reshape)による整形を行い、データ[B,Te×I]=[32,12800]を求める(ステップS911)。
【0150】
デコーダ部17は、データ[B,Te×I]=[32,12800]に対してリピートベクトル(RepeatVector)により、音響時系列出力encodera_outputs[B,U’,J]のフレーム数U’分の処理を繰り返すことでデータ[B,U’,Te×I]=[32,95,12800]を求める(ステップS912)。そして、デコーダ部17は、データ[B,U’,Te×I]=[32,95,12800]に対してリシェープ(Reshape)による整形を行い、データencoderg_outputs_mod[B,U’×Te,I]=[32,9500,128]を求める(ステップS913)。
【0151】
デコーダ部17は、エンコーダ部16から入力した音響時系列出力encodera_outputs[B,U’,J]=[32,95,64]に対してリシェープ(Reshape)による整形を行い、データ[B,U’×J]=[32,6080]を求める(ステップS914)。
【0152】
デコーダ部17は、データ[B,U’×J]=[32,6080]に対してリピートベクトル(RepeatVector)により、文字時系列出力encoderg_outputs[B,Te,I]の文字数Te分の処理を繰り返すことでデータ[B,Te,U’×J]=[32,100,6080]を求める(ステップS915)。そして、デコーダ部17は、データ[B,Te,U’×J]=[32,100,6080]に対してリシェープ(Reshape)による整形を行い、データ[B,Te,U’,J]=[32,100,95,64]を求める(ステップS916)。
【0153】
デコーダ部17は、データ[B,Te,U’,J]=[32,100,95,64]に対してパーミュート(Permute)により軸を入れ替えることで、データ[B,U’,Te,J]=[32,95,100,64]を求める(ステップS917)。そして、デコーダ部17は、データ[B,U’,Te,J]=[32,95,100,64]に対してリシェープ(Reshape)による整形を行い、データencodera_outputs_mod[B,U’×Te,J]=[32,9500,64]を求める(ステップS918)。
【0154】
デコーダ部17は、ステップS913にて求めたデータencoderg_outputs_mod[B,U’×Te,I]=[32,9500,128]と、ステップS918にて求めたデータencodera_outputs_mod[B,U’×Te,J]=[32,9500,64]とをコンカテネート(Concatenate)により結合することで、2次元のアテンション[B,U’×Te,K]=[32,9500,320]を求める(ステップS919)。K=I+Jとする。
【0155】
ここで、2次元のアテンション[B,U’×Te,K]は3次元のテンソルであるが、入力音響データの最大フレーム数UをダウンサンプリングしたU’及び入力ラベルの最大文字列長Teを用いている点で2次元である。つまり、2次元のアテンション[B,U’×Te,K]における2次元は、前述の非特許文献1の技術と同様に、入力音響データの最大フレーム数UをダウンサンプリングしたU’、及び入力ラベルの最大文字列長Teの部分を指している。
【0156】
ここで、前述の非特許文献1の技術では、U’の部分をU=1524として演算を行うため、浮動小数点数が32ビット(float32bit(4bytes))にて32×1524×100×320のメモリ量を確保する場合、それだけで6GB(≒32×1524×100×320×4バイト)程度のメモリ量が必要になる。
【0157】
このため、非特許文献1の技術では、他の演算も含めるとメモリ量確保の点において、また演算速度の点において実現が難しい。
【0158】
また、非特許文献1の技術では、2次元のアテンション[B,U’×Te,K]=[32,9500,320]に対して、2次元のアテンションの重みw[B,U’×Te]を求めるが、その算出方法については記載されていない。
【0159】
2次元のアテンションの重みw[B,U’×Te]を算出する方法として、self dot productを用いる場合、非特許文献1の技術において、アテンション[B,U’×Te,K]=[32,9500,320]のKの軸で行列積(Dot)を演算することが想定される。しかし、この方法では、アテンションの重みw[B,U’×Te,U’×Te]=[32,9500,9500]のメモリを確保する必要があり、12GB(≒32×9500×9500×4バイト)程度のメモリ量が必要となる。
【0160】
このため、非特許文献1の技術では、前述のとおり、メモリ量確保の点において、また演算速度の点において実現が難しい。
【0161】
そこで、デコーダ部17は、ステップS919にて求めた2次元のアテンション[B,U’×Te,K]=[32,9500,320]をKの軸で二乗和をとって加算し(Sum Square)(ステップS920)、加算結果に対してソフトマックス関数(Softmax)を演算し、アテンションの重みw[B,U’×Te]を求める(ステップS921)。
【0162】
これにより、アテンション[B,U’×Te,K]=[32,9500,320]のKの軸で行列積(Dot)を演算することなく、アテンションの重みw[B,U’×Te]を求めることができる。非特許文献1では、アテンションの重みw[B,U’×Te,U’×Te]のメモリを確保する必要があると想定されるが、実施例1では、アテンションの重みw[B,U’×Te]のメモリを確保すれば済む。したがって、実施例1では、以降の演算を少ないメモリにて実現することができる。
【0163】
デコーダ部17は、アテンションの重みw[B,U’×Te]及び2次元のアテンション[B, U’×Te,K]の行列積(Dot)を演算することで、コンテキストcontext[B,K]を求める(ステップS922)。
【0164】
デコーダ部17は、コンテキストcontext[B,K]に対してリピートベクトル(RepeatVector)により、復号化時系列出力decoder_outputsの文字数(正解ラベルの最大文字列長Td=117)分の処理を繰り返すことで、データ[B,Td,K]を求める(ステップS923)。
【0165】
デコーダ部17は、データ[B,Td,K]をE=128次の全結合層(Dense)に入力する(ステップS924)。
【0166】
デコーダ部17は、教師データを入力層(InputLayer)に入力し(ステップS925)、入力層の出力をE=128次の埋め込み(Embedding)によりベクトル化する(ステップS926)。
【0167】
デコーダ部17は、ステップS924における全結合層の出力であるデータ[B,Td,E]と、ステップS926にてベクトル化した128次のデータ[B,Td,E]とをコンカテネート(Concatenate)により結合することで、データ[B,Td,2E]を求める(ステップS927)。
【0168】
デコーダ部17は、データ[B,Td,2E]を再帰型ニューラルネットワーク(LSTM(隠れ層I=128次))に入力し、当該ニューラルネットワークの演算を行う(ステップS928)。デコーダ部17は、復号化時系列出力(正解ラベルの最大文字列長Tdを有する)decoder_outputs[B,Td,2E]を求める。
【0169】
これにより、2次元のアテンション[B,U’×Te,K]から求めたコンテキストcontext[B,K]は、教師データをE=128次の埋め込み層でベクトル化したものと結合され、再帰型ニューラルネットワーク(LSTM(隠れ層I=128次))に入力され、LSTMの演算が行われる。
【0170】
ここで、デコーダ部17は、この復号化時系列出力decoder_outputs[B,Td,2E]について汎化学習させるために、バッチ毎の正規化(Batch Normalization)を行い(ステップS929)、さらに、ドロップアウト率(Dropout率)0.5でドロップアウト(Dropout)を実施しておく(ステップS930)。
【0171】
デコーダ部17は、復号化時系列出力 [B,Td,2E]に対し、双曲線正接関数(tanh)を活性化関数とするM=128次の全結合層(tanh)に入力し(ステップS931)、全結合層の出力であるデータ[B,Td,M]に対し、メモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数N=87次のソフトマックス関数(Softmax)を演算し(ステップS932)、演算結果[B,Td,N]を推定データとして出力する。
【0172】
デコーダ部17から出力された推定データと前処理部11から出力された正解データとの間の誤差が小さくなるように、スパースなマルチクラス分類交差エントロピー関数を目的関数として、統計モデル13-1の学習が行われる。
【0173】
以上のように、図9に示した実施例1の統計モデル13-1によれば、エンコーダ部16は、符号化により、入力文字データに基づいて文字時系列出力encoderg_outputs[B,Te,I]を求め、入力音響データに基づいて音響時系列出力encodera_outputs[B,U’,J]を求める。
【0174】
デコーダ部17は、復号により、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]に基づいて、2次元のアテンション[B,U’×Te,K]を求め、2次元のアテンション[B,U’×Te,K]に基づいて、アテンションの重みw[B,U’×Te]を求める。そして、デコーダ部17は、アテンションの重みw[B,U’×Te]及び2次元のアテンション[B, U’×Te,K]に基づいて、コンテキストcontext[B,K]を求める。
【0175】
デコーダ部17は、コンテキストcontext[B,K]及び教師データに基づいて、推定データを求める。そして、推定データ及び正解データを用いて、統計モデル13-1の学習が行われる。
【0176】
これにより、入力文字データに加え、入力音響データも用いているため、図8に示したベースライン方式よりも、推定精度が高くなり、精度の高い学習を行うことができる。
【0177】
また、エンコーダ部16は、ステップS907,S908の処理にて、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算、及び当該演算により得られた音響時系列出力encodera_outputs[B,U,J]に対する平均プーリング演算(AveragePooling1D)の処理をN回行い、音響時系列出力encodera_outputs[B,U’,J]を求めるようにした。
【0178】
これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、以降の演算を少ないメモリにて実現することができる。
【0179】
また、デコーダ部17は、ステップS920,S921の処理にて、2次元のアテンション[B,U’×Te,K]=[32,9500,320]をKの軸で二乗和をとって加算し(Sum Square)、加算結果に対してソフトマックス関数(Softmax)を演算してアテンションの重みw[B,U’×Te]を求めるようにした。
【0180】
これにより、アテンション[B,U’×Te,K]=[32,9500,320]のKの軸で行列積(Dot)を演算することなく、アテンションの重みw[B,U’×Te]を求めることができるため、以降の演算を少ないメモリにて実現することができる。
【0181】
<実施例2の統計モデル13>
次に、実施例2の統計モデル13について説明する。この実施例2の統計モデル13は、前述の非特許文献1を改良した方式によるものである。実施例2の統計モデル13は、実施例1と同様に、テキストから作成した入力文字データ、音声信号から作成した入力音響データ、教師データ及び正解データを用いて学習が行われるDNNモデルである。後述する韻律記号推定装置2において、統計モデル24は、テキストから作成した入力文字データ、及び音声信号から作成した入力音響データを入力すると共に、文頭データを入力し、推定データを出力する。
【0182】
図10は、実施例2の統計モデル13のネットワーク構造を示す図である。この統計モデル13-2のエンコーダ部16は、前処理部11から入力文字データを入力し、ステップS1001~S1005の処理を行い、文字最終状態state_h(state_hg)、文字内部状態state_c(state_cg)及び文字時系列出力encoderg_outputs(xg)を作成する。また、エンコーダ部16は、前処理部11から入力音響データを入力し、ステップS1006~S1010の処理を行い、音響時系列出力encodera_outputs(xa)を作成する。そして、エンコーダ部16は、文字最終状態state_h、文字内部状態state_c、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsをデコーダ部17に出力する。
【0183】
デコーダ部17は、前処理部11から教師データを入力すると共に、エンコーダ部16から文字最終状態state_h、文字内部状態state_c、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを入力する。そして、デコーダ部17は、ステップS1011~S1033の処理を行い、アテンション、アテンションの重み及び推定データを作成し、推定データを減算部14に出力する。
【0184】
デコーダ部17から出力された推定データ及び前処理部11から出力された正解データを用いて、統計モデル13-2の学習が行われる。
【0185】
ステップS1001~S1033の各処理に対応するニューラルネットワークの層により、後述する演算が行われる。
【0186】
(エンコーダ部16/実施例2)
エンコーダ部16は、図9に示した実施例1の統計モデル13-1のエンコーダ部16によるステップS901~S910と同様の処理を行い、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]を求める(ステップS1001~S1010)。そして、エンコーダ部16は、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]をデコーダ部17に出力する。
【0187】
ここで、エンコーダ部16は、ステップS1003の双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算において、順方向及び逆方向の符号化時系列出力encoder_out_forward及びencoder_out_backwardの内部状態を加算し、文字内部状態state_cを求める。また、エンコーダ部16は、これらの最終状態を加算し、文字最終状態state_hを求める。そして、エンコーダ部16は、文字最終状態state_h及び文字内部状態state_cをデコーダ部17に出力する。文字最終状態state_h及び文字内部状態state_cは、デコーダ部17のLSTMの初期状態に使用される。
【0188】
エンコーダ部16は、実施例1のステップS907,S908と同様に、ステップS1007,S1008の処理を行う。これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、以降の演算を少ないメモリにて実現することができる。
【0189】
(デコーダ部17/実施例2)
デコーダ部17は、エンコーダ部16から文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]を入力し、2次元のアテンションを作成し、さらに、前処理部11から教師データを入力し、アテンションの重みを作成する。
【0190】
デコーダ部17は、図9に示した実施例1の統計モデル13-1のデコーダ部17によるステップS911~S919と同様の処理を行い、2次元のアテンション[B,U’×Te,K]を求める(ステップS1011~S1019)。
【0191】
デコーダ部17は、図8に示したベースライン方式の統計モデル13’のデコーダ部17によるステップS806~S810と同様の処理を行い、復号化時系列出力decoder_outputs[B,Td,I]を求める(ステップS1020~S1024)。
【0192】
デコーダ部17は、ステップS1019にて求めた2次元のアテンション[B,U’×Te,K]とステップS1024にて求めた復号化時系列出力decoder_outputs[B,Td,I]とを、それぞれL=128次の全結合層(Dense)に入力し(ステップS1025,S1026)、Lの軸でそれぞれの全結合層の出力の行列積(Dot)を演算する(ステップS1027)。
【0193】
デコーダ部17は、行列積の結果にスケーリング因子sqrt(L=128)の逆数を乗算(ScaleMul)することで、アテンション[B,Td,U’×Te](scaled dot product attention)を求める(ステップS1028)。
【0194】
デコーダ部17は、アテンション[B,Td,U’×Te](scaled dot product attention)に対してソフトマックス関数(Softmax)を演算することで、アテンションの重みw[B,Td,U’×Te]を求める(ステップS1029)。
【0195】
デコーダ部17は、ステップS1029にて求めたアテンションの重みw[B,Td,U’×Te]及びステップS1019にて求めた2次元のアテンション[B,U’×Te,K]の行列積(Dot)を演算することで、コンテキストcontext[B,Td,K]を求める(ステップS1030)。
【0196】
ここで、前述の非特許文献1の技術では、スケーリング因子sqrtの逆数を乗算(ScaleMul)するステップS1028の処理は行っていない。このため、アテンションが大きくなりすぎて、逆伝播のソフトマックス関数(Softmax)の勾配が極端に小さくなり、アテンションの効果が得られない。
【0197】
これに対し、実施例2の統計モデル13-2では、ステップS1028において、デコーダ部17は、スケーリング因子sqrtの逆数を乗算(ScaleMul)することで、アテンションを求めるようにした。このため、アテンションが大きくなることはなく、逆伝播のソフトマックス関数(Softmax)の勾配が極端に小さくなることもなく、アテンションの効果を得ることができる。
【0198】
デコーダ部17は、コンテキストcontext[B,Td,K]と復号化時系列出力decoder_outputs[B,Td,I]とをコンカテネート(Concatenate)により結合することで、データ[B,Td,I+K]を求める(ステップS1031)。
【0199】
デコーダ部17は、データ[B,Td,I+K]に対し、双曲線正接関数(tanh)を活性化関数とするM=128次の全結合層(tanh)に入力し(ステップS1032)、全結合層の出力であるデータ[B,Td,M]に対し、メモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数N=87次のソフトマックス関数(Softmax)を演算し(ステップS1033)、演算結果[B,Td,N]を推定データとして出力する。
【0200】
デコーダ部17から出力された推定データと前処理部11から出力された正解データとの間の誤差が小さくなるように、スパースなマルチクラス分類交差エントロピー関数を目的関数として、統計モデル13-2の学習が行われる。
【0201】
以上のように、図10に示した実施例2の統計モデル13-2によれば、エンコーダ部16は、符号化により、入力文字データに基づいて文字時系列出力encoderg_outputs[B,Te,I]を求め、入力音響データに基づいて音響時系列出力encodera_outputs[B,U’,J]を求める。また、エンコーダ部16は、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算において、文字最終状態state_h及び文字内部状態state_cを求める。
【0202】
デコーダ部17は、文字最終状態state_h及び文字内部状態state_cを、LSTMの初期状態に使用する。また、デコーダ部17は、復号により、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]に基づいて、2次元のアテンション[B,U’×Te,K]を求める。そして、デコーダ部17は、2次元のアテンション[B,U’×Te,K]、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、アテンション[B,Td,U’×Te](scaled dot product attention)を求める。
【0203】
デコーダ部17は、アテンション[B,Td,U’×Te](scaled dot product attention)に基づいて、アテンションの重みw[B,Td,U’×Te]を求める。そして、デコーダ部17は、アテンションの重みw[B,Td,U’×Te]及び2次元のアテンション[B,U’×Te,K]に基づいて、コンテキストcontext[B,Td,K]を求める。
【0204】
デコーダ部17は、コンテキストcontext[B,K]、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、推定データを求める。そして、推定データ及び正解データを用いて、統計モデル13-2の学習が行われる。
【0205】
これにより、エンコーダ部16により求めた文字最終状態state_h及び文字内部状態state_cを、デコーダ部17のLSTMの初期状態として使用するため、図9に示した実施例1よりも、推定精度が高くなり、精度の高い学習を行うことができる。
【0206】
また、エンコーダ部16は、ステップS1007,S1008の処理にて、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算及び平均プーリング演算(AveragePooling1D)の処理をN回行い、音響時系列出力encodera_outputs[B,U’,J]を求めるようにした。
【0207】
これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、以降の演算を少ないメモリにて実現することができる。
【0208】
また、実施例2の統計モデル13-2では、ソースターゲットアテンション(source-target attention)であるアテンション[B,Td,U’×Te](scaled dot product attention)を用いて推定データを求める。一方、図9に示した実施例1では、セルフアテンション(self-attention)である2次元のアテンション[B,U’×Te,K]を用いて推定データを求める。このため、ソースとターゲットの関連度合を利用する実施例2の統計モデル13-2の方が、ソースのみの情報を利用する実施例1よりも推定精度が高くなる。
【0209】
また、デコーダ部17は、ステップS1028~S1030の処理にて、行列積の結果にスケーリング因子sqrt(L=128)の逆数を乗算(ScaleMul)することで、アテンション[B,Td,U’×Te](scaled dot product attention)を求め、ソフトマックス関数(Softmax)を演算することで、アテンションの重みw[B,Td,U’×Te]を求めるようにした。
【0210】
これにより、スケーリング因子sqrtの逆数を乗算(ScaleMul)することで、アテンションを求めるようにしたから、前述の非特許文献1とは異なり、アテンションが大きくなることはない。このため、逆伝播のソフトマックス関数(Softmax)の勾配が極端に小さくなることがなく、アテンションの効果を得ることができる。
【0211】
<実施例3の統計モデル13>
次に、実施例3の統計モデル13について説明する。この実施例3の統計モデル13は、実施例1,2と同様に、テキストから作成した入力文字データ、音声信号から作成した入力音響データ、教師データ及び正解データを用いて学習が行われるDNNモデルである。後述する韻律記号推定装置2において、統計モデル24は、テキストから作成した入力文字データ、及び音声信号から作成した入力音響データを入力すると共に、文頭データを入力し、推定データを出力する。
【0212】
図11は、実施例3の統計モデル13のネットワーク構造を示す図である。この統計モデル13-3のエンコーダ部16は、前処理部11から入力文字データを入力し、ステップS1101~S1105の処理を行い、文字最終状態state_h(state_hg)、文字内部状態state_c(state_cg)及び文字時系列出力encoderg_outputs(xg)を作成する。また、エンコーダ部16は、前処理部11から入力音響データを入力し、ステップS1106~S1110の処理を行い、音響時系列出力encodera_outputs(xa)を作成する。そして、エンコーダ部16は、文字最終状態state_h、文字内部状態state_c、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsをデコーダ部17に出力する。
【0213】
デコーダ部17は、前処理部11から教師データを入力すると共に、エンコーダ部16から文字最終状態state_h、文字内部状態state_c、文字時系列出力encoderg_outputs及び音響時系列出力encodera_outputsを入力する。そして、デコーダ部17は、ステップS1111~S1130の処理を行い、2つのアテンション、2つのアテンションの重み及び推定データを作成し、推定データを減算部14に出力する。
【0214】
デコーダ部17から出力された推定データ及び前処理部11から出力された正解データを用いて、統計モデル13-3の学習が行われる。
【0215】
ステップS1101~S1130の各処理に対応するニューラルネットワークの層により、後述する演算が行われる。
【0216】
(エンコーダ部16/実施例3)
エンコーダ部16は、図9に示した実施例1の統計モデル13-1のエンコーダ部16によるステップS901~S910と同様の処理を行い、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]を求める(ステップS1101~S1110)。そして、エンコーダ部16は、文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]をデコーダ部17に出力する。
【0217】
ここで、エンコーダ部16は、ステップS1103の双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算において、順方向及び逆方向の符号化時系列出力encoder_out_forward及びencoder_out_backwardの内部状態を加算し、文字内部状態state_cを求める。また、エンコーダ部16は、これらの最終状態を加算し、文字最終状態state_hを求める。そして、エンコーダ部16は、文字最終状態state_h及び文字内部状態state_cをデコーダ部17に出力する。文字最終状態state_h及び文字内部状態state_cは、デコーダ部17のLSTMの初期状態に使用される。
【0218】
エンコーダ部16は、実施例1のステップS907,S908及び実施例2のステップS1007,1008と同様に、ステップS1107,S1108の処理を行う。これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、以降の演算を少ないメモリにて実現することができる。
【0219】
(デコーダ部17/実施例3)
デコーダ部17は、エンコーダ部16から文字時系列出力encoderg_outputs[B,Te,I]及び音響時系列出力encodera_outputs[B,U’,J]を入力する。そして、デコーダ部17は、文字時系列出力encoderg_outputs[B,Te,I]、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、第1のアテンション及びアテンションの重みを作成する。また、デコーダ部17は、音響時系列出力encodera_outputs[B,U’,J]、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、第2のアテンション及びアテンションの重みを作成する。
【0220】
デコーダ部17は、図8に示したベースライン方式の統計モデル13’のデコーダ部17によるステップS806~S810と同様の処理を行い、復号化時系列出力decoder_outputs[B,Td,I]を求める(ステップS1111~S1115)。
【0221】
デコーダ部17は、エンコーダ部16がステップS1105にて求めた文字時系列出力encoderg_outputs[B,Te,I]と、ステップS1115にて求めた復号化時系列出力decoder_outputs[B,Td,I]とを、それぞれL=128次の全結合層(Dense)に入力し(ステップS1116,S1117)、Lの軸でそれぞれの全結合層の出力の行列積(Dot)を演算する(ステップS1118)。
【0222】
デコーダ部17は、行列積の結果にスケーリング因子sqrt(L=128)の逆数を乗算(ScaleMul)することで、第1のアテンション[B,Td,Te](scaled dot product attention)を求める(ステップS1119)。
【0223】
デコーダ部17は、第1のアテンション[B,Td,Te](scaled dot product attention)に対してソフトマックス関数(Softmax)を演算することで、第1のアテンションの重みwg[B,Td,Te]を求める(ステップS1120)。
【0224】
デコーダ部17は、ステップS1120にて求めた第1のアテンションの重みwg[B,Td,Te]、及びエンコーダ部16がステップS1005にて求めた文字時系列出力encoderg_outputs[B,Te,I]の行列積(Dot)を演算することで、第1のコンテキストcontextg[B,Td,I]を求める(ステップS1121)。
【0225】
一方、デコーダ部17は、エンコーダ部16がステップS1110にて求めた音響時系列出力encodera_outputs[B,U’,J]と、ステップS1115にて求めた復号化時系列出力decoder_outputs[B,Td,I]とを、それぞれL=128次の全結合層(Dense)に入力し(ステップS1122,S1117)、Lの軸でそれぞれの全結合層の出力の行列積(Dot)を演算する(ステップS1123)。
【0226】
デコーダ部17は、行列積の結果にスケーリング因子sqrt(L=128)の逆数を乗算(ScaleMul)することで、第2のアテンション[B,Td,Te](scaled dot product attention)を求める(ステップS1124)。
【0227】
デコーダ部17は、第2のアテンション[B,Td,Te](scaled dot product attention)に対してソフトマックス関数(Softmax)を演算することで、第2のアテンションの重みwa[B,Td,Te]を求める(ステップS1125)。
【0228】
デコーダ部17は、ステップS1125にて求めた第2のアテンションの重みwa[B,Td,Te]、及びエンコーダ部16がステップS1110にて求めた音響時系列出力encodera_outputs[B,U’,J]の行列積(Dot)を演算することで、第2のコンテキストcontexta[B,Td,J]を求める(ステップS1126)。
【0229】
デコーダ部17は、ステップS1121にて求めた第1のコンテキストcontextg[B,Td,I]、ステップS1126にて求めた第2のコンテキストcontexta[B,Td,J]、及びステップS1115にて求めた復号化時系列出力decoder_outputs[B,Td,I]をコンカテネート(Concatenate)により結合することで、データ[B,Td,2I+J]を求める(ステップS1127)。
【0230】
デコーダ部17は、データ[B,Td,2I+J]に対し、双曲線正接関数(tanh)を活性化関数とするM=128次の全結合層(tanh)に入力し(ステップS1128)、全結合層の出力であるデータ[B,Td,M]に対し、メモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数N=87次のソフトマックス関数(Softmax)を演算し(ステップS1129)、演算結果[B,Td,N]を推定データとして出力する。
【0231】
デコーダ部17から出力された推定データと前処理部11から出力された正解データとの間の誤差が小さくなるように、スパースなマルチクラス分類交差エントロピー関数を目的関数として、統計モデル13-3の学習が行われる。
【0232】
以上のように、図11に示した実施例3の統計モデル13-3によれば、エンコーダ部16は、符号化により、入力文字データに基づいて文字時系列出力encoderg_outputs[B,Te,I]を求め、入力音響データに基づいて音響時系列出力encodera_outputs[B,U’,J]を求める。また、エンコーダ部16は、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算において、文字最終状態state_h及び文字内部状態state_cを求める。
【0233】
デコーダ部17は、文字最終状態state_h及び文字内部状態state_cを、LSTMの初期状態に使用する。また、デコーダ部17は、復号により、文字時系列出力encoderg_outputs[B,Te,I] 、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、第1のアテンション[B,Td,Te](scaled dot product attention)を求め、第1のアテンションの重みwg[B,Td,Te]を求める。また、デコーダ部17は、音響時系列出力encodera_outputs[B,U’,J] 、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、第2のアテンション[B,Td,Te](scaled dot product attention)を求め、第2のアテンションの重みwa[B,Td,Te]を求める。
【0234】
デコーダ部17は、第1のアテンションの重みwg[B,Td,Te]及び文字時系列出力encoderg_outputs[B,Te,I]に基づいて、第1のコンテキストcontextg[B,Td,I]を求める。また、デコーダ部17は、第2のアテンションの重みwa[B,Td,Te]及び音響時系列出力encodera_outputs[B,U’,J]に基づいて、第2のコンテキストcontexta[B,Td,J]を求める。
【0235】
デコーダ部17は、第1のコンテキストcontextg[B,Td,I]、第2のコンテキストcontexta[B,Td,J] 、及び教師データから求めた復号化時系列出力decoder_outputs[B,Td,I]に基づいて、推定データを求める。そして、推定データ及び正解データを用いて、統計モデル13-3の学習が行われる。
【0236】
これにより、エンコーダ部16により求めた文字最終状態state_h及び文字内部状態state_cを、デコーダ部17のLSTMの初期状態として使用するため、図9に示した実施例1よりも、推定精度が高くなり、精度の高い学習を行うことができる。
【0237】
また、エンコーダ部16は、ステップS1107,S1108の処理にて、双方向再帰型ニューラルネットワーク(Bidirectional LSTM)の演算及び平均プーリング演算(AveragePooling1D)の処理をN回行い、音響時系列出力encodera_outputs[B,U’,J]を求めるようにした。
【0238】
これにより、音響時系列出力encodera_outputs[B,U,J]の最大フレーム数UをU’=U/2Nに減少させることができ、以降の演算を少ないメモリにて実現することができる。
【0239】
また、実施例3の統計モデル13-3では、ソースターゲットアテンション(source-target attention)である第1及び第2のアテンション[B,Td,Te](scaled dot product attention)を用いて推定データを求める。一方、図9に示した実施例1では、セルフアテンション(self-attention)である2次元のアテンション[B,U’×Te,K]を用いて推定データを求める。このため、ソースとターゲットの関連度合を利用する実施例3の統計モデル13-3の方が、ソースのみの情報を利用する実施例1よりも推定精度が高くなる。
【0240】
また、実施例3の統計モデル13-3に用いるアテンション[B,Td,Te](scaled dot product attention)は、図9に示した実施例1の2次元のアテンション[B,U’×Te,K]及び図10に示した実施例2のアテンション[B,Td,U’×Te](scaled dot product attention)よりも、使用するメモリ量が少なくて済む。
【0241】
つまり、実施例1,2のアテンションは、図9に示したステップS912,S915及び図10に示したステップS1012,S1015のリピートベクトル(RepeatVector)の処理により、入力文字データの処理及び入力音響データの処理を冗長に繰り返して求めたものである。これに対し、実施例3のアテンションは、リピートベクトル(RepeatVector)の処理による繰り返しがないため、実施例1,2によりも消費メモリ及び演算コストが少なくて済む。
【0242】
〔韻律記号推定装置〕
次に、本発明の実施形態による韻律記号推定装置について説明する。図12は、本発明の実施形態による韻律記号推定装置の構成例を示すブロック図である。この韻律記号推定装置2は、メモリ20、前処理部21、推定部22及び番号/ラベル変換部23を備えている。
【0243】
韻律記号推定装置2は、図1に示した韻律記号推定学習装置1により学習された統計モデル13(図12では後述する統計モデル24)を用いて、テキスト及び音声信号に対応する韻律記号付き文字列を求め、これを推定ラベルとして出力する。韻律記号付き文字列である推定ラベルは、カタカナ及び韻律記号で表したラベルにより構成される。
【0244】
メモリ20には、予め設定された音声コーパスが格納されている。音声コーパスは、図1に示したメモリ10の韻律記号推定学習用音声コーパスと同様に、発話文章毎の予め設定されたテキストと、これに対応する予め設定された音声信号から構成される。
【0245】
前処理部21は、メモリ20から音声コーパスのテキスト、及び当該テキストに対応する音声信号を読み出す。そして、前処理部21は、テキストに基づいて所定の前処理を行い、入力文字データを作成する。また、前処理部21は、テキストに対応する音声信号に基づいて所定の前処理を行い、入力音響データを作成する。
【0246】
前処理部21は、入力文字データ及び入力音響データ、並びに所定の文頭データ(例えば、文頭記号のラベル「S」に対応する番号「1」)を推定部22に出力する。前処理部21の処理の詳細については後述する。
【0247】
推定部22は、前処理部21から入力文字データ、入力音響データ及び文頭データを入力する。そして、推定部22は、図1に示した韻律記号推定学習装置1により学習された統計モデル13である後述する統計モデル24を用いて、入力文字データ、入力音響データ及び文頭データから、文頭データの次のデータを推定し、さらにその次のデータを順次推定することで、推定データを求める。推定部22は、推定データを番号/ラベル変換部23に出力する。推定部22の処理の詳細については後述する。
【0248】
番号/ラベル変換部23は、図示しないメモリを備えており、当該メモリには、図7に示したラベル/番号対応表が格納されているものとする。番号/ラベル変換部23は、推定部22から推定データを入力し、図示しないメモリに格納されたラベル/番号対応表から、推定データの示す番号に対応するラベルを読み出し、読み出したラベルを推定ラベルとして出力する。
【0249】
これにより、メモリ20から読み出したテキスト及び音声信号に対応する韻律記号付き文字列が、推定ラベルとして出力される。例えば、図4を参照して、テキストが「あらゆる現実を、すべて自分の方へ捻じ曲げたのだ。」の場合、理想的には、正解ラベルと同等の推定ラベル「Sアラユ’ル/ゲンジツオ_ス’ベテ/ジブンノホ’オエ/ネジマ’ゲタノダN」が出力される。
【0250】
(前処理部21)
次に、図12に示した前処理部21について詳細に説明する。図13は、韻律記号推定装置2に備えた前処理部21の構成例を示すブロック図であり、図14は、韻律記号推定装置2に備えた前処理部21の処理例を示すフローチャートである。
【0251】
前処理部21は、正解ラベル作成部30、入力ラベル作成部34、メモリ31,35、入力文字データ作成部36、入力音響データ作成部37及び文頭データ出力部38を備えている。
【0252】
図2に示した前処理部11と図13に示す前処理部21とを比較すると、両前処理部11,21は、正解ラベル作成部30、入力ラベル作成部34、メモリ31,35、入力文字データ作成部36及び入力音響データ作成部37を備えている点で共通する。一方、前処理部21は、文頭データ出力部38を備えている点で、文頭データ出力部38を備えていない前処理部11と相違する。
【0253】
また、図14に示すステップS1401~S1408の処理は、図3に示したステップS301,S302,S306~S311の処理にそれぞれ相当する。図13において、図2と共通する部分にはそれぞれ図2と同一の符号を付し、その詳しい説明は省略する。
【0254】
尚、韻律記号推定装置2の前処理部21に備えた正解ラベル作成部30は、正解ラベルを作成したときに、ユーザ操作に従った正解ラベルの修正処理を行うことはない。つまり、正解ラベル作成部30は、ユーザに対し音声信号を聴取させ正解ラベルを確認させることはなく、ユーザ操作に従い、正解ラベルを修正することもない。
【0255】
文頭データ出力部38は、メモリ31に格納されたラベル/番号対応表から、テキストの文頭記号のラベル「S」に対応する番号「1」を読み出し、読み出した番号「1」を文頭データとして推定部22に出力する(ステップS1409)。
【0256】
尚、前処理部21は、予め設定された文頭記号のラベル「S」に対応する番号「1」を、文頭データとして推定部22に出力するようにしてもよい。この場合、前処理部21は、メモリ31及び文頭データ出力部38を備えていない。また、文頭データ出力部38は、メモリ31の代わりにメモリ35を用いるようにしてもよい。
【0257】
(推定部22)
次に、図12に示した推定部22について詳細に説明する。図12に示したとおり、推定部22は、seq2seqの統計モデル24及び処理部25を備えている。統計モデル24は、エンコーダ部26及びデコーダ部27から構成される。統計モデル24は、図1に示した韻律記号推定学習装置1により学習された統計モデル13に相当する。
【0258】
エンコーダ部26は、前処理部21から入力文字データ及び入力音響データを入力する。そして、エンコーダ部26は、入力文字データに対して符号化を行うことで、文字時系列出力xg、文字最終状態state_hg及び文字内部状態state_cgを求める。また、エンコーダ部26は、入力音響データに対して符号化を行うことで、音響時系列出力xaを求める。
【0259】
エンコーダ部26は、文字時系列出力xg、文字最終状態state_hg、文字内部状態state_cg及び音響時系列出力xaをデコーダ部27に出力する。これらのデータのうち文字最終状態state_hg及び文字内部状態state_cgは、デコーダ部27の初期状態として使用される。
【0260】
デコーダ部27は、処理部25から後述する配列D[1:T-1]を順次入力すると共に、エンコーダ部26から文字時系列出力xg、文字最終状態state_hg、文字内部状態state_cg及び音響時系列出力xaを入力する。そして、デコーダ部27は、文字最終状態state_hg及び文字内部状態state_cgを、当該デコーダ部27に備えたLSTMのニューラルネットワークにおける初期状態として使用する。
【0261】
デコーダ部27は、文字時系列出力xg及び音響時系列出力xa、並びに順次入力した後述する配列D[1:T-1]を用いて復号を行うことで、推定データ(1文字に対応するデータ、既に求めた推定データに対して次の推定データ)を順次求める。そして、デコーダ部27は、推定データを処理部25に出力する。
【0262】
具体的には、最初に、デコーダ部27は、処理部25から、文頭データのみが格納された配列D[1:T]を入力し、復号を行うことで、文頭データの次のデータを推定データとして求めて出力する。次に、デコーダ部27は、処理部25から、文頭データ及び当該文頭データの次の推定データが格納された配列D[1:T]を入力し、復号を行うことで、文頭データの次の次のデータを推定データとして求めて出力する。
【0263】
このように、デコーダ部27は、処理部25から、推定データが順次追加された配列D[1:T]を入力し、復号を行うことで、次の推定データを出力する。ここで、デコーダ部27は、復号により推定データを求める際に、アテンションを求める。
【0264】
このように、図12に示した統計モデル24において、エンコーダ部26は、前処理部21から文字入力データ及び入力音響データを入力し、デコーダ部27は、前処理部21から処理部25を介して、文頭データのみが格納された配列D[1:T]を入力する。そして、統計モデル24は、韻律記号付き文字列である推定ラベルの1ラベルに対応するデータを、推定データとして順番に推定する。
【0265】
図9図11に示した統計モデル24(統計モデル13)において、例えばメモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数が87の場合、デコーダ部27は、ソフトマックス関数(Softmax)の演算により87個の演算結果を求める。そして、デコーダ部27は、87個の演算結果に対してargmax関数の演算を行い、最大値をとる演算結果に対応する番号を推定データとして出力する。
【0266】
処理部25は、前処理部21から文頭データを入力すると共に、統計モデル24のデコーダ部27から1文字に対応する推定データを入力する。
【0267】
最初に、処理部25は、文頭データのみを格納した配列D[1:T]を生成し、これを統計モデル24のデコーダ部27に出力し、文頭データの次の推定データをデコーダ部27から入力し、入力した推定データを番号/ラベル変換部23に出力する。
【0268】
そして、処理部25は、入力した推定データを配列D[1:T]に追加することで、新たな配列D[1:T]を生成し、これをデコーダ部27に出力し、その次の推定データをデコーダ部27から入力し、入力した推定データを番号/ラベル変換部23に出力する。処理部25は、このような処理を繰り返すことで、配列D[1:T]を出力し、次の推定データを入力して番号/ラベル変換部23に出力する。
【0269】
図15は、推定部22に備えた処理部25の処理例を示すフローチャートである。まず、処理部25は、(正解データの最大文字列長と同様の)正解ラベルの最大文字列長と同じ文字列長を有する配列D[1:T]を用意し、ゼロ「0」にて初期化する(ステップS1501)。
【0270】
処理部25は、前処理部21から文頭データを入力し(ステップS1502)、配列D[1:T]のインデックスi=1を設定する(ステップS1503)。
【0271】
処理部25は、文頭データを配列D[1:T]に格納する(ステップS1504)。これにより、配列D[1:T]=(文頭データ,0,・・・,0)が生成される。
【0272】
処理部25は、配列D[1:T]=(文頭データ,0,・・・,0)を統計モデル24に出力する(ステップS1505)。
【0273】
これにより、配列D[1:T]=(文頭データ,0,・・・,0)が統計モデル24のデコーダ部27に入力され、演算が行われ、統計モデル24のデコーダ部27から1文字に対応する推定データが出力される。
【0274】
処理部25は、統計モデル24から、配列D[1:T]=(文頭データ,0,・・・,0)を用いて演算された1文字に対応する推定データを入力し(ステップS1506)、入力した推定データを番号/ラベル変換部23に出力する(ステップS1507)。
【0275】
これにより、推定データが番号/ラベル変換部23に入力され、推定データの番号が、推定ラベルを構成するラベルに変換される。
【0276】
処理部25は、所定の条件を満たすか否かを判定する(ステップS1508)。所定の条件は、例えば統計モデル24から入力した推定データが、文末記号のラベル「N」または疑問のイントネーションの文末記号のラベル「I」に対応する番号であるか否かである。また、所定の条件は、例えば統計モデル24から入力した推定データの数が文頭データを含めて、正解ラベルの最大文字列長に到達したか否かである。
【0277】
処理部25は、ステップS1508において、所定の条件を満たさないと判定した場合(ステップS1508:N)、ステップS1509へ移行する。一方、処理部25は、ステップS1508において、所定の条件を満たすと判定した場合(ステップS1508:Y)、当該処理を終了する。
【0278】
例えば、処理部25は、統計モデル24から入力した推定データが、文末記号のラベル「N」に対応する番号でなく、かつラベル「I」に対応する番号でないと判定した場合、所定の条件を満たさないと判定する。一方、処理部25は、統計モデル24から入力した推定データが、文末記号のラベル「N」に対応する番号であると判定した場合、またはラベル「I」に対応する番号でないと判定した場合、所定の条件を満たすと判定する。
【0279】
処理部25は、ステップS1508(N)から移行して、配列D[1:T]に、1文字に対応する推定データを追加し(ステップS1509)、インデックスiに1を加算し(ステップS1510)、ステップS1505へ移行する。
【0280】
これにより、例えば配列D[1:T]=(文頭データ,0,・・・,0)に推定データが追加されることで、配列D[1:T]=(文頭データ,文頭データの次の推定データ,・・・,0)が生成され、インデックスi=2となる。そして、ステップS1505~ステップS1510の処理により、配列D[1:T]=(文頭データ,文頭データの次の推定データ,文頭データの次の次の推定データ,・・・,0)が生成され、インデックスi=3となる。
【0281】
以上のように、本発明の実施形態の韻律記号推定装置2によれば、前処理部21は、音声コーパスのテキストに対して言語分析処理を行うことで文脈依存ラベルを求め、テキストのカタカナを求め、韻律記号を付与することで正解ラベルを作成する。
【0282】
前処理部21は、正解ラベルを構成するカタカナ及び韻律記号のうち、韻律記号のアクセント核「’」を削除し、韻律記号のアクセント句区切り「/」等を記号「?」に置換することで、入力ラベルを作成する。そして、前処理部21は、予め設定されたラベル/番号対応表を用いて、入力ラベルを構成する全てのラベル(カタカナ及び韻律記号)のそれぞれを、対応する番号に変換し、全ての入力ラベルについての最大文字列長となるように、入力文字データを作成する。
【0283】
前処理部21は、音声コーパスのテキストに対応する音声信号に対して音響分析処理を行い、音響特徴量を求め、標準化した音響特徴量のフレーム数が全ての音響特徴量の最大フレーム数となるように、入力音響データを作成する。また、前処理部21は、テキストの文頭データを出力する。
【0284】
推定部22は、韻律記号推定学習装置1により学習された統計モデル13である統計モデル24を用いて、入力文字データ、入力音響データ及び文頭データから、文頭データの次のデータを推定データとして求め、さらにその次のデータを推定データとして順次求める。
【0285】
番号/ラベル変換部23は、予め設定されたラベル/番号対応表から、推定データの示す番号に対応するラベルを読み出し、テキストに対応する韻律記号付き文字列である推定ラベルとして出力する。
【0286】
これにより、韻律記号推定学習装置1により事前に学習された統計モデル24を用いて、テキストに対応する韻律記号を含むラベルを推定することができる。したがって、テキスト及び音声信号から、アクセントだけでなくポーズ等を含む韻律記号を推定することができる。
【0287】
〔実験結果〕
次に、シミュレーションによる実験結果について説明する。図16(1)は、音響特徴量としてスペクトルパラメータを利用した場合の推定実験の結果を示す図である。図16(2)は、音響特徴量として音源パラメータを利用した場合の推定実験の結果を示す図である。
【0288】
図16(1)及び(2)には、統計モデル13,24が図8に示したベースライン方式のネットワーク構造の場合、図10に示した実施例2のネットワーク構造の場合、及び図11に示した実施例3のネットワーク構造の場合の結果がそれぞれ示されている。
【0289】
ここで、韻律記号推定学習装置1の韻律記号推定学習用音声コーパス及び韻律記号推定装置2の音声コーパスとしては、例えば以下の実験データを用いる。実験データは、2名の女性話者が各種文章を読み上げたもので、それぞれ10,577文及び10,217文の合計20,794文から、入力ラベルの文字数が100文字以内(入力ラベルの最大文字列長が100文字)となる18,852文を対象とする。より詳細には、実験データの合計18,852文のうち約80%の15,072文を訓練用、約10%の1,856文を訓練評価用とし、これの実験データは韻律記号推定学習装置1による学習用とする。また、約10%の1,856文をテスト用とし、韻律記号推定装置2による推定用とする。このとき、メモリ35に格納されたラベル/番号対応表に含まれる入力ラベルの異なり数は83、メモリ31に格納されたラベル/番号対応表に含まれる正解ラベルの異なり数は87、正解ラベルの最大文字列長は117文字、音響特徴量の最大フレーム数は1524とする。
【0290】
評価には、2つの文字列がどの程度異なっているかを示す編集距離とも呼ばれるレーベンシュタイン距離を用いる。レーベンシュタイン距離は、挿入、削除及び置換によって、一方の文字列を他方の文字列に変形するのに必要な手順の最小回数である。この数値を長い方の文字列の長さから減算したものを一致文字数とする。
【0291】
テスト用の実験データについて、1文毎に正解ラベルと推定ラベルの一致文字数mi、正解ラベルの文字数ci、推定ラベルの文字数eiとし、それぞれ全テスト用の実験データに渡って加算したものをM=Σii,C=Σii,E=Σiiとする。一致文字数Mを正解ラベルの文字数Cで除算したものを再現率R=M/Cとし、一致文字数Mを推定ラベルの文字数Eで除算したものを適合率P=M/Eとし、再現率Rと適合率Pの調和平均をF値F=2×(R×P)/(R+P)とする。
【0292】
テスト用の実験データの正解ラベル及び推定ラベルの区切り文字(ポーズ、フレーズ区切り、アクセント句区切り、サブアクセント句区切り)について、前記と同様の手順で求めた再現率、適合率、F値を、それぞれRP,PP,FPとする。
【0293】
また、テスト用の実験データの正解ラベル及び推定ラベルのアクセント核文字について、前記と同様の手順で求めた再現率、適合率、F値を、それぞれRA,PA,FAとする。また、テスト用の実験データの正解ラベル及び推定ラベルが完全に一致した文の数を全文数で除算したものを、完全一致率FULLとする。
【0294】
図16(1)及び(2)に示す再現率R,RP,RA、適合率P,PP,PA、F値F,FP,FA及び完全一致率FULLにおいて、いずれの評価値も、値が大きい方が高い性能を示す。
【0295】
図16(1)と図16(2)とを比較すると、図16(1)のスペクトルパラメータを利用した場合の方が、図16(2)の音源パラメータを利用した場合よりも性能が高くなっていることがわかる。また、いずれの評価値においても、ベースライン方式<実施例2≦実施例3となっていることがわかる。
【0296】
このように、シミュレーションによる実験によれば、最も評価の高い例が実施例3であることがわかる。実施例3を用いることにより、メモリ量確保の点でも、演算速度の点でも実現が容易であり、一層高精度に韻律記号付き文字列を推定することができる。
【0297】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0298】
例えば、韻律記号推定学習装置1は、統計モデル13として、図8図11に示したアテンション構造付きのseq2seqモデルのディープニューラルネットワークを用いるようにした。これに対し、韻律記号推定学習装置1は、アテンション構造付きでないseq2seqモデルのディープニューラルネットワークを用いるようにしてもよいし、seq2seqモデル以外のディープニューラルネットワークを用いるようにしてもよい。また、韻律記号推定学習装置1は、ディープニューラルネットワーク以外のニューラルネットワークを用いるようにしてもよい。
【0299】
尚、本発明の実施形態による韻律記号推定学習装置1及び韻律記号推定装置2のハードウェア構成としては、通常のコンピュータを使用することができる。韻律記号推定学習装置1及び韻律記号推定装置2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0300】
韻律記号推定学習装置1に備えたメモリ10、前処理部11及び韻律記号推定学習部12の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、韻律記号推定装置2に備えたメモリ20、前処理部21、推定部22及び番号/ラベル変換部23の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0301】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0302】
1 韻律記号推定学習装置
2 韻律記号推定装置
10,20,31,35 メモリ
11,21 前処理部
12 韻律記号推定学習部
13,13’,13-1,13-2,13-3,24 統計モデル
14 減算部
15 更新部
16,26 エンコーダ部
17,27 デコーダ部
22 推定部
23 番号/ラベル変換部
25 処理部
30 正解ラベル作成部
32 教師データ作成部
33 正解データ作成部
34 入力ラベル作成部
36 入力文字データ作成部
37 入力音響データ作成部
38 文頭データ出力部
xg 文字時系列出力
state_hg 文字最終状態
state_cg 文字内部状態
xa 音響時系列出力
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16