(57)【要約】【課題】高精度な自動音素セグメンテーションをＨＭＭを用いて可能にする。【解決手段】ＨＭＭの学習装置２０は、音素境界の画定した学習データをＨＭＭ３６に与える学習データ選択部３２及びＨＭＭ選択部３４と、ＨＭＭの出力する尤度と、学習データの音素境界とに基づき、損失関数の値を算出する損失関数算出部３８と、算出される損失関数の値が最小となるように、識別学習アルゴリズムに従って、学習データ選択部３２、ＨＭＭ選択部３４及び損失関数算出部３８を制御してＨＭＭを最適化する最適化部２２とを含む。【選択図】      図１
2005049643.tif 000002
【特許請求の範囲】
【請求項１】
音素ごとに準備された音素セグメンテーション用隠れマルコフモデル（ＨＭＭ）を学習させる音素セグメンテーション用ＨＭＭの学習装置であって、
前記各ＨＭＭは、音声データを与えると当該音声中に担当の音素が存在する尤度を出力する機能を持ち、前記ＨＭＭの学習装置は、学習対象のＨＭＭを記憶するための記憶装置に接続可能であり、
予め音素境界が画定された、学習データを前記学習対象のＨＭＭに与えるための学習データ付与手段と、
前記学習データを受けたＨＭＭの出力する尤度と、前記学習データの音素境界とに基づき、予め定められる損失関数の値を算出するための損失関数値算出手段とを含み、前記損失関数は、前記ＨＭＭの出力する尤度により決定される音素境界と、前記学習データの音素境界との間の時間的誤差と、前記ＨＭＭが当該時間的誤差部分において出力する尤度との関数であり、
前記損失関数値算出手段により算出される損失関数の値が予め定められた条件を満足するものとなる様に所定のアルゴリズムにしたがって、前記学習データ付与手段及び前記損失関数値算出手段を制御して前記ＨＭＭを最適化するための手段とを含む、ＨＭＭの学習装置。
【請求項２】
前記損失関数は、前記時間的誤差Ｅlと、前記音素境界に隣接する二つの音素に対応するＨＭＭが当該時間的誤差Ｅlの部分において出力する尤度との間に次の式で定められる関数であり、
損失関数Ｌ＝Ｅlw×Ｅd
ただしＥdは前記時間的境界に遅延する側から隣接する音素のためのＨＭＭの出力する尤度から、前記時間的境界に先行する側から隣接する音素のためのＨＭＭの出力する尤度を減算した値であり、ｗは０から１の範囲の任意の定数である、請求項１に記載のＨＭＭの学習装置。
【請求項３】
前記最適化するための手段は、
前記損失関数値算出手段の算出した値に基づき、ＨＭＭの更新のための補正量を識別学習アルゴリズムに従って算出するための補正量算出手段と、
予め準備された複数の前記学習データの各々に対し、前記学習データ付与手段、前記損失関数値算出手段、及び前記補正量算出手段による処理を実行させるための手段と、
前記実行させるための手段による処理ごとに前記補正量算出手段が算出した補正量を、ＨＭＭごとに蓄積するための補正量蓄積手段と、
前記予め準備された複数の前記学習データの全てについて前記補正量の算出及び蓄積が終了した事に応答して、前記補正量蓄積手段により蓄積された補正量によって各ＨＭＭを更新するための手段とを含む、請求項１に記載のＨＭＭの学習装置。
【請求項４】
さらに、予め定められた条件が成立した事に応答して、前記学習データ付与手段、前記損失関数値算出手段、及び前記最適化するための手段による処理を終了させるための手段を含む、請求項１〜請求項３のいずれかに記載のＨＭＭの学習装置。
【請求項５】
コンピュータにより実行されると、当該コンピュータを請求項１〜請求項４のいずれかに記載のＨＭＭの学習装置として動作させる、コンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムによりプログラムされたコンピュータ。
【請求項７】
音素ごとに準備された音素セグメンテーション用ＨＭＭを学習させる音素セグメンテーション用ＨＭＭの学習方法であって、各前記ＨＭＭは、音声データを与えると当該音声中に担当の音素が存在する尤度を出力する機能を持ち、
予め音素境界が画定された、学習データを前記学習対象のＨＭＭに与える学習データ付与ステップと、
前記学習データを受けたＨＭＭの出力する尤度と、前記学習データの音素境界とに基づき、予め定められる損失関数の値を算出するステップとを含み、前記損失関数は、前記ＨＭＭの出力する尤度により決定される音素境界と、前記学習データの音素境界との間の時間的誤差と、前記ＨＭＭが当該時間的誤差部分において出力する尤度との関数であり、
前記損失関数値を算出するステップにおいて算出される損失関数の値が予め定められた条件を満足するものとなる様に所定のアルゴリズムに従って、前記学習データ付与ステップ及び前記損失関数値を算出するステップを繰返し実行し、その結果を用いて前記ＨＭＭを最適化するステップとを含む、ＨＭＭの学習方法。
【請求項８】
前記損失関数は、前記時間的誤差Ｅlと、前記音素境界に隣接する二つの音素に対応するＨＭＭが当該時間的誤差Ｅlの部分において出力する尤度との間に次の式で定められる関数であり、
損失関数Ｌ＝Ｅlw×Ｅd
ただしＥdは前記時間的境界に遅延する側から隣接する音素のためのＨＭＭの出力する尤度から、前記時間的境界に先行する側から隣接する音素のためのＨＭＭの出力する尤度を減算した値であり、ｗは０から１の範囲の任意の定数である、請求項７に記載のＨＭＭの学習方法。
【請求項９】
前記最適化するステップは、
前記損失関数値を算出するステップにおいて算出された値に基づき、ＨＭＭの更新のための補正量を識別学習アルゴリズムに従って算出する補正量算出ステップと、
予め準備された複数の前記学習データの各々に対し、前記学習データ付与ステップ、前記損失関数値を算出するステップ、及び前記補正量算出ステップを実行させるステップと、
前記実行させるステップによる処理ごとに前記補正量算出ステップにおいて算出された補正量を、ＨＭＭごとに蓄積するステップと、
前記予め準備された複数の前記学習データの全てについて前記補正量の算出及び蓄積が終了した事に応答して、前記蓄積するステップにおいて蓄積された補正量によって各ＨＭＭを更新するステップとを含む、請求項７に記載のＨＭＭの学習方法。
【請求項１０】
さらに、予め定められた条件が成立した事に応答して、前記学習データ付与ステップ、前記損失関数値を算出するステップ、及び前記最適化するステップによる処理を終了させるステップを含む、請求項７〜請求項９のいずれかに記載のＨＭＭの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声コーパスの音声波形に対する音素セグメンテーション技術に関し、特に、大規模な音声コーパスに対し、自動的に高精度で音素セグメンテーションを行なうための技術に関する。
【背景技術】
【０００２】
コンピュータ技術及びデータコミュニケーション技術の発達に伴い、人間と機械との間のインターフェイスが重要となっている。人間にとっては、人と話をするのと同様に機械とのコミュニケーションを行なう事が望ましく、そのための技術開発が進められている。
【０００３】
人間から機械への情報の伝達としては、音声認識、画像認識等の認知技術が主として用いられる。また機械から人間への情報の伝達方法は種々あるが、中でも音声合成技術が用いられる機会が増加している。音声応答システム、音声翻訳システム、コンピュータゲーム等が代表的な応用例である。さらに、近年のロボット等の開発の進展に伴い、音声認識及び画像認識と音声合成とを組合せる事で、人間とロボットとのコミュニケーションを人間同士のコミュニケーションと同様に実現する事が期待される。
【０００４】
音声合成では、如何にして自然な音声を合成するかが重要である。最近では、数十時間規模の大規模な音声コーパスを使用して音声素片を作成しておき、入力されるテキストデータに応じて適切な音声素片を選択し接続する、いわゆる音声素片接続型音声合成が研究されている。この技術では、音声コーパスに含まれる音声波形上の音素の開始・終了時点の情報が必要となる。
【０００５】
「音素」とは、言語音声の基本的単位であって、日本語の場合であればローマ字表記した場合の１文字にほぼ相当する。
【０００６】
音声波形上の音素の開始・終了時点を弁別しマークを付与する作業を、「音素セグメンテーション」と呼ぶ。音素セグメンテーションを行なう最も一般的な方法は、人手による方法である。しかし、音素セグメンテーションの作業を人手で行なうためのコストは大きく、その結果、音声合成のコストも高くなる。そこで、音素セグメンテーションを自動的に行なう技術が必要とされている。
【０００７】
そのために、例えば特許文献１等において、音声認識の分野で一般的なＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）を用いた音素セグメンテーションが提案されている。ＨＭＭを用いる事により、自動的に音素セグメンテーションが行なえるので、音声コーパスが大きくなっても音素セグメンテーションを比較的短期間に低いコストで行なう事ができる。特許文献１に記載のものでは、一旦音声コーパスを用いてＨＭＭの学習を行なった後、このＨＭＭを用いて当該音声コーパスの音声素片の分類を行ない、その結果が正しい音声素片のみを音声素片辞書に登録して音声合成に利用する。
【０００８】
【特許文献１】特開２００１−２８２２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、ＨＭＭを用いた音素の開始・終了時点の検出では、人手で音素セグメンテーションを行なう場合と比較して時間精度が不十分である事が知られている。音素セグメンテーションの時間精度が低いと、合成音声の中に意図しない音の断片が混入するため音質劣化が生じる。従って、従来のＨＭＭを用いて音素セグメンテーションを行なった音声コーパスを用いて合成した音声の音質は低くなる。
【課題を解決するための手段】
【００１０】
本発明の第１の局面に係るＨＭＭの学習装置は、音素ごとに準備された音素セグメンテーション用ＨＭＭを学習させるためのものである。各ＨＭＭは、音声データを与えると当該音声中に担当の音素が存在する尤度を出力する機能を持つ。ＨＭＭの学習装置は、学習対象のＨＭＭを記憶するための記憶装置に接続可能である。ＨＭＭの学習装置は、予め音素境界が画定された、学習データを学習対象のＨＭＭに与えるための学習データ付与手段と、学習データを受けたＨＭＭの出力する尤度と、学習データの音素境界とに基づき、予め定められる損失関数の値を算出するための損失関数値算出手段とを含む。損失関数は、ＨＭＭの出力する尤度により決定される音素境界と、学習データの音素境界との間の時間的誤差と、ＨＭＭが当該時間的誤差部分において出力する尤度との関数である。ＨＭＭの学習装置はさらに、損失関数値算出手段により算出される損失関数の値が予め定められた条件を満足するものとなる様に所定のアルゴリズムに従って、学習データ付与手段及び損失関数値算出手段を制御してＨＭＭを最適化するための手段を含む。
【００１１】
好ましくは、損失関数は、時間的誤差Ｅlと、音素境界に隣接する二つの音素に対応するＨＭＭが当該時間的誤差Ｅlの部分において出力する尤度との間に次の式で定められる関数である。
【００１２】
損失関数Ｌ＝Ｅlw×Ｅd
ただしＥdは時間的境界に遅延する側から隣接する音素のためのＨＭＭの出力する尤度から、時間的境界に先行する側から隣接する音素のためのＨＭＭの出力する尤度を減算した値であり、ｗは０から１の範囲の任意の定数である。
【００１３】
より好ましくは、最適化するための手段は、損失関数値算出手段の算出した値に基づき、ＨＭＭの更新のための補正量を識別学習アルゴリズムに従って算出するための補正量算出手段と、予め準備された複数の学習データの各々に対し、学習データ付与手段、損失関数値算出手段、及び補正量算出手段による処理を実行させるための手段と、実行させるための手段による処理ごとに補正量算出手段が算出した補正量を、ＨＭＭごとに蓄積するための補正量蓄積手段と、予め準備された複数の学習データの全てについて補正量の算出及び蓄積が終了した事に応答して、補正量蓄積手段により蓄積された補正量によって各ＨＭＭを更新するための手段とを含む。
【００１４】
ＨＭＭの学習装置は、さらに、予め定められた条件が成立した事に応答して、学習データ付与手段、損失関数値算出手段、及び最適化するための手段による処理を終了させるための手段を含んでもよい。
【００１５】
この発明の第２の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを上記したいずれかのＨＭＭの学習装置として動作させるものである。
【００１６】
この発明の第３の局面に係るコンピュータは、第２の局面に係るコンピュータプログラムによりプログラムされたものである。
【００１７】
この発明の第４の局面に係るＨＭＭの学習方法は、音素ごとに準備された音素セグメンテーション用ＨＭＭを学習させる方法である。各ＨＭＭは、音声データを与えると当該音声中に担当の音素が存在する尤度を出力する機能を持つ。この方法は、予め音素境界が画定された、学習データを学習対象のＨＭＭに与える学習データ付与ステップと、学習データを受けたＨＭＭの出力する尤度と、学習データの音素境界とに基づき、予め定められる損失関数の値を算出するステップとを含む。損失関数は、ＨＭＭの出力する尤度により決定される音素境界と、学習データの音素境界との間の時間的誤差と、ＨＭＭが当該時間的誤差部分において出力する尤度との関数である。この方法はさらに、損失関数値を算出するステップにおいて算出される損失関数の値が予め定められた条件を満足するものとなる様に所定のアルゴリズムに従って、学習データ付与ステップ及び損失関数値を算出するステップを繰返し実行し、その結果を用いてＨＭＭを最適化するステップを含む。
【００１８】
好ましくは、損失関数は、時間的誤差Ｅlと、音素境界に隣接する二つの音素に対応するＨＭＭが当該時間的誤差Ｅlの部分において出力する尤度との間に次の式で定められる関数である。
【００１９】
損失関数Ｌ＝Ｅlw×Ｅd
ただしＥdは時間的境界に遅延する側から隣接する音素のためのＨＭＭの出力する尤度から、時間的境界に先行する側から隣接する音素のためのＨＭＭの出力する尤度を減算した値であり、ｗは０から１の範囲の任意の定数である。
【００２０】
好ましくは、最適化するステップは、損失関数値を算出するステップにおいて算出された値に基づき、ＨＭＭの更新のための補正量を識別学習アルゴリズムに従って算出する補正量算出ステップと、予め準備された複数の学習データの各々に対し、学習データ付与ステップ、損失関数値を算出するステップ、及び補正量算出ステップを実行させるステップと、実行させるステップによる処理ごとに補正量算出ステップにおいて算出された補正量を、ＨＭＭごとに蓄積するステップと、予め準備された複数の学習データの全てについて補正量の算出及び蓄積が終了した事に応答して、蓄積するステップにおいて蓄積された補正量によって各ＨＭＭを更新するステップとを含む。
【００２１】
この方法はさらに、予め定められた条件が成立した事に応答して、学習データ付与ステップ、損失関数値を算出するステップ、及び最適化するステップによる処理を終了させるステップを含んでもよい。
【発明の効果】
【００２２】
ＨＭＭの出力する尤度により決定される音素境界と、学習データの音素境界との間の時間的誤差と、当該時間的誤差部分におけるＨＭＭの出力する尤度との関数である損失関数を用いてＨＭＭを学習させる。損失関数の値は音素境界誤差に直接反応するため、識別学習アルゴリズムを用いて最適化を行なう事により、ＨＭＭ出力による音素境界誤差を低減する事ができる。
【発明を実施するための最良の形態】
【００２３】
従来技術の音素セグメンテーションでは、ＨＭＭは最尤基準に基づいて訓練されている。すなわち、ＨＭＭは音素の存在の検出に対しては最適化されているが、音素の開始・終了時点の誤差を最小化するような最適化はされていない。ＨＭＭを用いた従来の技術で音素セグメンテーションの時間精度が不十分だったのはそれが理由だと思われる。そこで本実施の形態では、ＨＭＭに識別学習アルゴリズムを適用し、ＨＭＭによる音素の開始・終了時点の誤差を最小化する。
【００２４】
識別学習とは、目的関数（損失関数とも呼ばれる。）を直接的に最小化するアルゴリズムであり、音素検出誤りを改善する手法として一般的に知られている。
【００２５】
識別学習を音素の開始・終了時点の検出に適用しようとする場合、その損失関数をどの様に定義するかが問題となる。本実施の形態で用いる損失関数については後述する。
【００２６】
［構成］
図１に、本実施の形態に係る音素セグメンテーションのためのＨＭＭ学習装置２０のブロック図を示す。図１には、ＨＭＭ学習装置２０に加えて、ＨＭＭ学習装置２０により学習されたＨＭＭを用いて入力音声に対する音素セグメンテーションを行なう音素セグメンテーションシステム５０も示してある。
【００２７】
図１を参照して、ＨＭＭ学習装置２０は、学習データとなる音声波形を記憶した音声コーパス３０と、音声コーパス３０から所定の順番で全ての学習データを選択して出力するための学習データ選択部３２と、学習の対象となる、各音素に対応したＨＭＭを記憶するＨＭＭ記憶部３６と、ＨＭＭ記憶部３６に記憶されたＨＭＭのうち、学習データ選択部３２から出力された学習データの音素に対応するものを選択して学習データを与えるためのＨＭＭ選択部３４とを含む。
【００２８】
音声コーパス３０に記憶されている音声データは、既に何らかの方法により正しい音素セグメンテーションが行なわれている。その音素境界は画定されており、いわばＨＭＭにより行なわれる音素セグメンテーションの学習における「正解」である。
【００２９】
ＨＭＭ記憶部３６には、音素ごとにその開始・終了時点を検出するために使用されるＨＭＭが含まれている。各ＨＭＭは、音声データを与えられると、その音声中に自己の担当する音素が存在する尤度を出力する。各ＨＭＭからの出力を調べる事により、音素境界を検出する事ができる。本実施の形態では、ＨＭＭを、この音素境界の誤差が最小となる様に最適化する。ＨＭＭ選択部３４は、選択した学習データに対してＨＭＭに与えるための特徴量を算出し、学習データに対応するＨＭＭに与える機能を持つ。
【００３０】
図１を参照して、ＨＭＭ学習装置２０はさらに、ＨＭＭ選択部３４により選択されたＨＭＭが学習データに対応して出力する尤度及びそれから検出される音素境界と、この学習データの音素境界の「正解」とに基づいて、損失関数の値を算出する損失関数算出部３８を含む。
【００３１】
損失関数算出部３８による計算が行なわれる損失関数について、図２を参照して説明する。図２（Ａ）に示す様に、音声コーパス３０からの学習データが音素ａ（８０）と、音素ｉ（８２）とが連続するもので、その間の境界が時間軸上で境界位置８４で示される位置にあるものとする。一方、図２（Ｂ）に示す様に、音素ａに対応するＨＭＭと音素ｉに対応するＨＭＭとから得られる尤度により、音声が音素ａ（９０）及び音素ｉ（９２）に区切られ、その間の境界が時間軸上で境界位置９４において検出されたものとする。図２に示す例では、境界は音素ａの側に斜線領域で示す誤差９６だけ移動している。
【００３２】
本実施の形態では、損失関数Ｌを次の様に定義する。
【００３３】
損失関数Ｌ＝Ｅlw×Ｅd
ただしＥd＝（音素ｉのＨＭＭに対する誤差９６の領域の尤度）−（音素ａのＨＭＭに対する誤差９６の領域の尤度）、Ｅl＝誤差９６の時間長、ｗは時間誤差と尤度とのどちらを学習において重視するかを示す重みである。本実施の形態では、重みｗは０から１の範囲の任意の定数である。ＨＭＭによる音声境界の検出時の最大誤差を小さくしたい場合にはｗを１に近くし、平均誤差を小さくしたい場合にはｗを０に近づける。
【００３４】
損失関数算出部３８は、ＨＭＭからの出力に従ってこの損失関数の値を算出する。
【００３５】
再び図１を参照して、ＨＭＭ学習装置２０は、損失関数算出部３８から出力される損失関数の値に基づき、識別学習アルゴリズムに従って、学習データ選択部３２、ＨＭＭ選択部３４、及び損失関数算出部３８を制御してＨＭＭ記憶部３６に記憶されたＨＭＭを最適化するための最適化部２２を含む。
【００３６】
最適化部２２は、損失関数算出部３８により算出された損失関数の値に基づき、対応するＨＭＭのパラメータ補正量を識別学習に従って算出するための補正量算出部４０と、補正量算出部４０の算出した補正量を、ＨＭＭごとに蓄積して記憶するための補正量蓄積部４２とを含む。
【００３７】
最適化部２２はさらに、学習データ選択部３２によって音声コーパス３０に含まれる全ての音声データを用いたＨＭＭに関する補正計算が終了した事に応答して、補正量蓄積部４２に蓄積されている補正量が所定の終了条件を充足しているか否かを判定し、終了条件が充足されていればＨＭＭ学習装置２０による学習を終了させるための終了判定部４４と、終了判定部４４によって終了条件が充足されていないと判定されたときに、補正量蓄積部４２に蓄積されている補正量を記憶するための補正量記憶部４６と、終了判定部４４によって終了条件が充足されていないと判定されたときに、補正量蓄積部４２に蓄積されている補正量を用いてＨＭＭ記憶部３６中の各ＨＭＭのパラメータ更新を行なうためのパラメータ更新部４８とを含む。
【００３８】
補正量記憶部４６に記憶されている補正量は、次の学習の終了時点において終了判定部４４による終了判定に用いられる。より具体的には、終了判定部４４は、補正量記憶部４６に記憶されている前回の学習で蓄積された補正量の値よりも、今回の学習で蓄積された補正量の値の方が大きかったり、等しかったりした場合には、繰返しによる改善が見られないので学習を終了させる。
【００３９】
［動作］
以上の構成を有するＨＭＭ学習装置２０は以下の様に動作する。これに先立ち、正しく音素セグメンテーションが行なわれた音声学習データからなる音声コーパス３０が準備されているものとする。また、補正量蓄積部４２の蓄積補正量は初期値（例えば０）に初期化されているものとする。
【００４０】
学習が開始されると、学習データ選択部３２は、音声コーパス３０から学習データを一つずつ選択し、ＨＭＭ選択部３４に与える。ＨＭＭ選択部３４は、ＨＭＭ記憶部３６中のＨＭＭのうち、学習データに対応するＨＭＭに対してこの音声データを与える。それらＨＭＭは、与えられた音声データに対する尤度を出力し損失関数算出部３８に与える。
【００４１】
損失関数算出部３８は、ＨＭＭ記憶部３６から出力される尤度に基づいて学習データに対する音素境界を検出し、さらに前述した式に従って損失関数を算出し補正量算出部４０に与える。補正量算出部４０は、与えられた値に基づき、対応するＨＭＭのパラメータの補正量を算出し補正量蓄積部４２に与える。補正量蓄積部４２は、与えられた補正量を、ＨＭＭごとに蓄積する。
【００４２】
学習データ選択部３２、ＨＭＭ選択部３４、ＨＭＭ記憶部３６の各ＨＭＭ，損失関数算出部３８、補正量算出部４０、及び補正量蓄積部４２による処理が音声コーパス３０に含まれる全ての学習データに対し終了すると、終了判定部４４が補正量蓄積部４２に蓄積されている補正量と、補正量記憶部４６に蓄積されている補正量とを比較する。終了判定部４４は、補正量が減少していれば次の学習を開始させるが、それ以外の場合には学習を終了させる。
【００４３】
前述した損失関数Ｌは音素境界の誤差に直接反応する。そのため、識別学習アルゴリズムを用いて最適化を行なう事により、学習が終了した時点では、ＨＭＭ記憶部３６に含まれる各ＨＭＭは、それらを用いて音素セグメンテーションを行なった場合の音素境界誤差が最小となる様に最適化されている。
【００４４】
例えば図１に示す様に、音素セグメンテーションシステム５０がＨＭＭを用いた音素セグメンテーション処理部６２を含むものとする。上述の様にして学習が完了したＨＭＭ記憶部３６に記憶されたＨＭＭを用い、入力音声コーパス６０の各音声データに音素セグメンテーションを行なう事ができる。これにより、高い精度で音素セグメンテーションを行なって出力音声コーパス６４を得る事ができる。音素境界の検出は自動的に行なわれるため、入力音声コーパス６０が大規模であっても、短時間に、高精度で、かつ低コストで音素境界の検出を行なう事ができる。
【００４５】
なお、本実施の形態では全ての学習データに対し補正量の蓄積が終了した時点でＨＭＭの補正を行なっている。しかし本発明はそのような実施の形態には限定されない。例えば、全ての学習データを処理するのを待たずに、途中で（例えば学習データ１００個について補正量蓄積の処理が終了する毎に）ＨＭＭの補正を行なうようにしてもよい。
【００４６】
［コンピュータによる実現］
上記したＨＭＭ学習装置２０及び音素セグメンテーションシステム５０は、いずれもコンピュータハードウェアとそのコンピュータハードウェア上で実行されるソフトウェアとにより実現する事ができる。図３に、ＨＭＭ学習装置２０を実現するコンピュータシステムの外観を、図４にそのブロック図を、それぞれ示す。
【００４７】
図３を参照して、ＨＭＭ学習装置２０は、マイクロフォン１２４及びスピーカ１３８の組と、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ１３０及びＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ１３２を有するコンピュータ１２０と、いずれもコンピュータ１２０に接続されたモニタ１２２、キーボード１２６及びマウス１２８とを含む。
【００４８】
マイクロフォン１２４とスピーカ１３８とは、音声認識、音声対話、音声入力などに用いられるものであって、この発明の一部を構成するものではない。従って、システムのうちマイクロフォン１２４及びスピーカ１３８に関する部分の詳細はここでは説明しない。
【００４９】
図４はコンピュータ１２０のハードウェアブロック図である。図４を参照して、コンピュータ１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１４０と、ＣＰＵ１４０に接続されたバス１４２と、バス１４２に接続された読出専用メモリ（ＲＯＭ）１４４と、バス１４２に接続されたランダムアクセスメモリ（ＲＡＭ）１４６と、バス１４２に接続されたハードディスクドライブ１４８と、ＣＤ−ＲＯＭ１６０が装着され、そこからデータを読出すＣＤ−ＲＯＭドライブ１３０と、ＦＤ１６２が装着され、そこからデータを読出し、データを書込むフレキシブルディスク(ＦＤ)ドライブ１３２とを含む。
【００５０】
コンピュータ１２０はさらに、マイクロフォン１２４及びスピーカ１３８が接続されるサウンドボード１５０と、バス１４２に接続されローカルエリアネットワーク（ＬＡＮ）等のデータ通信ネットワークに接続する機能を提供するネットワークボード１５２とを含む。
【００５１】
本実施の形態に係るＨＭＭ学習装置２０を実現するためのプログラムは、たとえばＣＤ−ＲＯＭ１６０に記憶されて流通する。そのＣＤ−ＲＯＭ１６０をＣＤ−ＲＯＭドライブ１３０に装着し、例えばＯＳ（オペレーティングシステム）の機能を用いてハードディスク１４８にコピーする。また、学習対象となる音声コーパス３０（図１）及びＨＭＭ記憶部３６は、いずれもハードディスク１４８に予め記憶させておく。そして、このプログラムをＲＡＭ１４６にロードしてＣＰＵ１４０に実行させる事により、上記したＨＭＭ学習装置２０が実現される。
【００５２】
コンピュータの動作原理は周知であるので、ここではその詳細は省略する。
【００５３】
図５は、上記したＨＭＭ学習装置２０をコンピュータ１２０により実現するためのコンピュータプログラムの制御の流れを示すフローチャートである。図５を参照して、このプログラムが起動されると、まずステップ２００で作業領域を初期化する。この初期化では、例えば図１に示す補正量記憶部４６の記憶内容などが初期化される。
【００５４】
続いて、ステップ２０２で繰返しごとの初期化処理が実行される。この処理では、例えば補正量蓄積部４２の蓄積補正量が初期化される。
【００５５】
ステップ２０４で、音声コーパス３０に記憶されている最初の学習データの選択を試みる。そしてステップ２０６で、全ての学習データに対する処理が完了したか否かが判定される。処理が完了していれば制御はステップ２１８に進む。この場合の処理については後述する。処理が完了していなければ制御はステップ２０８に進む。
【００５６】
ステップ２０８では、選択された学習データを、その学習データに対応した適切なＨＭＭに与える処理が実行される。この結果、対応のＨＭＭからは、それぞれが担当する音素の尤度が出力される。
【００５７】
ステップ２１０では、ＨＭＭから出力された尤度と、選択された学習データに「正解」として付されていた音素境界を示す情報とに基づいて、ＨＭＭにより検出される音素境界と「正解」の音素境界との間の誤差を算出する処理が実行される。続いてステップ２１２で、算出された誤差を用い、前述した損失関数の値が算出される。
【００５８】
ステップ２１４では、この損失関数の値に基づき、学習データと関係するＨＭＭの補正量を計算する処理と、計算された補正量をＨＭＭごとに蓄積する処理とが行なわれる。続いてステップ２１６で、処理対象の学習データとして次の学習データを選択し、制御はステップ２０６に戻る。以下、ステップ２０６で、学習データが終了したと判定されるまで、学習データを交代させながらステップ２０６からステップ２１６までの処理が繰返し実行される。
【００５９】
ステップ２０６で学習データが終了したと判定されると制御はステップ２１８に進む。ステップ２１８では終了条件の判定が行なわれる。具体的には、補正量について改善があったか否か（補正量が減少したか否か）についての判定が行なわれる。改善があればさらに学習を行なう事でＨＭＭの最適化を図れるので、制御はステップ２２０に進む。さもなければこれ以上ＨＭＭの最適化は図れないという事であるから処理を終了する。
【００６０】
ステップ２２０では、今までの学習で蓄積された補正量を保存（記憶）する処理が行なわれる。この値を用いて、次回の学習の終了時、ステップ２１８で補正量の改善があったか否かを判定する事ができる。
【００６１】
続いてステップ２２２では、蓄積された補正量に従い全てのＨＭＭパラメータを更新する処理が実行される。この処理の後、制御はステップ２０２に戻り、再び全ての学習データに対する処理が開始される。
【００６２】
以上の制御構造を持つプログラムを図３及び図４に示すような一般的なコンピュータで実行させる事により、本実施の形態に係るＨＭＭ学習装置２０を実現する事ができる。
【００６３】
［実施の形態の好ましい効果］
以上の様に本実施の形態のＨＭＭ学習装置２０では、音素境界の誤差の時間長と、その誤差領域に対してＨＭＭが出力する尤度との双方に関連した損失関数を定義し、その損失関数を用いてＨＭＭの識別学習を行なった。この損失関数は、音素境界の誤差に直接反応するため、識別学習アルゴリズムを用いた最適化により、音素境界の誤差を低減する事ができる。また、誤差として時間と尤度とのどちらを重視するかを重みによって指定できるため、最大誤差の大きさと、平均誤差の大きさとのいずれに重点をおいて最適化するかを指定する事ができる。
【００６４】
［可能な変形例］
なお、上記した実施の形態では、学習の終了として前回の蓄積補正量の値と、今回の蓄積補正量の値とを比較している。しかし本発明はそのような実施の形態に限定されるわけではない。たとえば、蓄積補正量の大きさにかかわらず所定回数だけ学習が実行されれば処理を終了させる様にしてもよい。また、蓄積補正量の差が所定のしきい値よりも小さくなったときに学習を終了させる様にしてもよい。
【００６５】
また、上記した実施の形態では、音声コーパス３０に含まれる全ての学習データによる補正量の算出が終了するまで、ＨＭＭパラメータの更新は行なっていない。しかし本発明はそのような実施の形態には限定されない。たとえば、各学習データによる処理が完了するごとにＨＭＭパラメータの更新を行なう様にしてもよい。
【００６６】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施の形態にかかるＨＭＭ学習装置の機能ブロック図である。
【図２】実施の形態で用いた損失関数を説明するための図である。
【図３】実施の形態を実現するためのコンピュータの外観図である。
【図４】図３に示すコンピュータのブロック図である。
【図５】実施の形態を実現するためのプログラムのフローチャートである。
【符号の説明】
【００６８】
２０  ＨＭＭ学習装置、３０  音声コーパス、３２  学習データ選択部、３４  ＨＭＭ選択部、３６  ＨＭＭ記憶部、３８  損失関数算出部、４０  補正量算出部、４２  補正量蓄積部、４４  終了判定部、４６  補正量記憶部、４８  パラメータ更新部
【図１】
2005049643.tif 000003
【図２】
2005049643.tif 000004
【図３】
2005049643.tif 000005
【図４】
2005049643.tif 000006
【図５】
2005049643.tif 000007
【手続補正書】
【提出日】平成16年6月24日(2004.6.24)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2005049643.tif 000008