(57)【要約】【課題】音声認識性能を向上させる。【解決手段】学習部（１２）は、時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習する。取得部（１４）は、学習部で学習された隠れマルコフモデルで表された音響モデルを用いて学習用音声データを音声認識することにより、各音素の継続時間長を取得する。調整部（１６）は、音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する。【選択図】図１
2015225296.tif 000002
【特許請求の範囲】
【請求項１】
時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習する学習部と、
前記学習部で学習された隠れマルコフモデルで表された音響モデルを用いて前記学習用音声データを音声認識することにより、各音素の継続時間長を取得する取得部と、
音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する調整部と、
を含む音響モデル調整装置。
【請求項２】
前記学習部は、前記調整部で状態の数が調整された後、隠れマルコフモデルのパラメータを学習し、
前記取得部は、前記学習部で学習された隠れマルコフモデルで表された音響モデルを用いて、前記学習用音声データを音声認識することにより、各音素の継続時間長を再度取得し、
前記調整部は、音素の種類毎に求めた継続時間長の代表値が前記第１所定値以上の種類に属する音素の隠れマルコフモデルに含まれる状態の数を増加するように調整する、
請求項１に記載の音響モデル調整装置。
【請求項３】
前記調整部は、音素の種類毎に求めた継続時間長の代表値が前記第１所定値より小さい第２所定値以下の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を減少するように調整する、
請求項１または２に記載の音響モデル調整装置。
【請求項４】
音素の種類毎の継続時間長の代表値は、音素の種類毎の継続時間長の平均値、音素の種類毎の継続時間長の中央値、音素の種類毎の継続時間長の最頻値、または音素の種類毎の継続時間長の平均値を当該音素を表す隠れマルコフモデルの状態の数から１を減算した値で除算した値である請求項１〜３の何れか１項に記載の音響モデル調整装置。
【請求項５】
前記調整部は、音素の種類毎の継続時間長のばらつきを示す値が第３所定値以上である場合、当該音素を表す隠れマルコフモデルを、当該種類に属する音素の中で第４所定値以上の継続時間長を有する音素を表す第１隠れマルコフモデルと、当該種類に属する音素の中で前記第４所定値より小さい継続時間長を有する音素を表す第２隠れマルコフモデルと、に置換し、前記状態の数が調整された後、前記第１隠れマルコフモデルの状態の数と前記第２隠れマルコフモデルの状態の数とが同一である場合は、前記第１隠れマルコフモデル及び前記第２隠れマルコフモデルを置換前の隠れマルコフモデルと再度置換する、
請求項１〜４の何れか１項に記載の音響モデル調整装置。
【請求項６】
前後の音素を考慮したトライフォンが認識の処理単位として用いられる場合に、前記学習部は、前記トライフォンの状態の共有を決定するために、前記状態の数が調整された後の前記音素を表す隠れマルコフモデルの状態の数を用いる、
請求項１〜５の何れか１項に記載の音響モデル調整装置。
【請求項７】
時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習し、
学習された隠れマルコフモデルで表された音響モデルを用いて前記学習用音声データを音声認識することにより、各音素の継続時間長を取得し、
音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する、
ことを含む音響モデル調整処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、音響モデル調整装置及びプログラムに関する。
【背景技術】
【０００２】
音声認識技術では、音響モデルが認識性能を左右する。現在の音響モデルの主流は、隠れマルコフモデル（Hidden Markov Model：ＨＭＭ）である。音素を表す隠れマルコフモデル（音素ＨＭＭ）は、各々が音素の部分に対応する定常信号であるとみなされる複数の状態、状態毎に定められた信号が出力される確率である出力確率及び状態間の遷移に関する確率である遷移確率などを含む。
【０００３】
音素ＨＭＭの状態の数が適切であると、誤検出を抑制することが可能となり音響モデルの音声認識性能を向上させることが可能となる。したがって、従来技術では、音素ＨＭＭの状態の数を調整するために、まず、グラフィカルユーザインターフェイスなどに表示される時間軸に沿った音声波形を目視しながら、ユーザがマニュアルで音声データの発声ラベルの境界を時間軸に沿って定義する。その後、当該発声ラベルの境界と音素ＨＭＭの境界とのずれが小さくなるように、音素ＨＭＭの状態の数を調整する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−１３５９２号公報
【非特許文献】
【０００５】
【非特許文献１】鹿野清宏著、「音声認識システム」、オーム社、２００６年１０月５日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、発声ラベルの境界を定義するために、多くの時間及び労力がかかる。
開示の技術は、１つの側面として、音声認識性能が向上するように、音響モデルにおける音素ＨＭＭの状態の数を調整することを目的とする。
【課題を解決するための手段】
【０００７】
開示の技術において、学習部は、時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習する。また、取得部は、学習部で学習された隠れマルコフモデルで表された音響モデルを用いて学習用音声データを音声認識することにより、各音素の継続時間長を取得する。また、調整部は、音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する。
【発明の効果】
【０００８】
開示の技術は、１つの側面として、音声認識性能が向上するように、音響モデルにおける音素ＨＭＭの状態の数を調整することが可能となるという効果を有する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るコンピュータの要部機能の一例を示すブロック図である。
【図２】第１実施形態に係るコンピュータの電気系の構成の一例を示すブロック図である。
【図３】第１実施形態のＨＭＭ調整処理の流れの一例を示すフローチャートである。
【図４Ａ】音素ＨＭＭの一例を示す図である。
【図４Ｂ】音素ＨＭＭの一例を示す図である。
【図５】ＨＭＭの一例を示す図である。
【図６】継続時間長を所定時間毎に区切った区間毎に音素の種類の出現頻度を表すヒストグラムの一例である。
【図７Ａ】音素ＨＭＭの一例を示す図である。
【図７Ｂ】音素ＨＭＭの一例を示す図である。
【図７Ｃ】音素ＨＭＭの一例を示す図である。
【図８】第２実施形態のＨＭＭ調整処理の流れの一例を示すフローチャートである。
【図９Ａ】音声データの発声ラベルの一例を示す図である。
【図９Ｂ】音声データの発声ラベルの一例を示す図である。
【図１０】ＨＭＭの一例を示す図である。
【図１１】第３実施形態のＨＭＭ調整処理の流れの一例を示すフローチャートである。
【図１２Ａ】トライフォンの状態の共有を決定するための決定木の一例を示す図である。
【図１２Ｂ】トライフォンの状態の共有を決定するための決定木の一例を示す図である。
【発明を実施するための形態】
【００１０】
［第１実施形態］
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術にかかる音響モデル調整装置の一例として汎用装置であるコンピュータを例に挙げて説明するが、開示の技術はこれに限定されるものではない。開示の技術は、例えば、音響モデル調整のための専用装置、または音響モデル調整のためのデバイスを装着した基板などに適用可能である。
【００１１】
一例として図１に示すコンピュータ１０は、学習部１２、取得部１４、調整部１６、及び記憶部１８を有する。
【００１２】
記憶部１８は、音響モデルであるＨＭＭ１８Ａ、音素ＨＭＭを学習させるための学習用音声データ１８Ｂを含む。また、記憶部１８は、ＨＭＭで音声データを認識することにより取得される音素の継続時間長に関する音素データ１８Ｃを含む。学習用音声データ１８Ｂは、音声波形データを音響処理することにより取得される特徴量と、発声される音素列の各音素の種類を表す発声ラベルと、を含む。特徴量は、例えば、メル周波数ケプストラム係数であってよい。
【００１３】
学習部１２は、音素ＨＭＭを学習用音声データ１８Ｂを用いて学習させる。取得部１４は、ＨＭＭ１８Ａを用いて学習用音声データを認識することにより音素の継続時間長を取得する。調整部１６は、音素の種類毎の継続時間長の代表値に基づいて当該種類の音素を表す音素ＨＭＭの状態の数を調整する。音素ＨＭＭは、時間軸方向に並んだ複数の状態を含む。ＨＭＭは音素ＨＭＭを連結して作成される。代表値は、例えば、音素の種類毎の継続時間長の平均値、中央値などである。
【００１４】
コンピュータ１０は、一例として図２に示すように、ＣＰＵ（Central Processing Unit）６０、１次記憶部６２、２次記憶部６４、及び外部インターフェイス７０を備えている。ＣＰＵ６０、１次記憶部６２、２次記憶部６４、及び外部インターフェイス７０は、バス８を介して相互に接続されている。
【００１５】
外部インターフェイス７０には、図示しない外部装置が接続され、外部装置とＣＰＵ６０との間の各種情報の送受信を司る。
【００１６】
１次記憶部６２は、例えば、ＲＡＭ（Random Access Memory）などの揮発性のメモリである。２次記憶部６４は、例えば、ＨＤＤ（Hard Disk Drive）、またはＳＳＤ（Solid State Drive）などの不揮発性のメモリである。１次記憶部６２及び２次記憶部６４は、図１の記憶部１８として機能する。
【００１７】
２次記憶部６４は、一例として、学習サブプログラム６６Ａ、取得サブプログラム６６Ｂ、及び調整サブプログラム６６Ｃを含むＨＭＭ調整プログラム６６を記憶している。また、２次記憶部６４は、ＨＭＭ１８Ａが記憶される記憶領域であるＨＭＭ部６８Ａ、学習用音声データ１８Ｂが記憶される記憶領域である音声データ部６８Ｂ及び音素データ１８Ｃが記憶される記憶領域である音素データ部６８Ｃを含む。
【００１８】
ＣＰＵ６０は、２次記憶部６４から学習サブプログラム６６Ａ、取得サブプログラム６６Ｂ、及び調整サブプログラム６６Ｃを読み出して１次記憶部６２に展開する。ＣＰＵ６０は、学習サブプログラム６６Ａを実行することで、図１に示す学習部１２として動作する。ＣＰＵ６０は、取得サブプログラム６６Ｂを実行することで図１に示す取得部１４として動作する。ＣＰＵ６０は、調整サブプログラム６６Ｃを実行することで、図１に示す調整部１６として動作する。
【００１９】
学習サブプログラム６６Ａ、取得サブプログラム６６Ｂ、及び調整サブプログラム６６Ｃを実行することにより行われるＨＭＭ調整処理を図３に例示する。
【００２０】
ステップ３０２で、ＣＰＵ６０は、予め定めた初期値に従って、音素の種類毎に音素ＨＭＭを作成し、２次記憶部６４のＨＭＭ部６８Ａに記憶させる。例えば、図４Ａに示すように、初期音素ＨＭＭは、時間軸方向に並んだ２つの状態Ｓｊ、Ｓｊ＋１、及び状態Ｓｊから状態Ｓｊ＋１への初期状態遷移確率、状態Ｓｊ、Ｓｊ＋１の初期出力確率などのパラメータを含む。音素の種類は、日本語で２４個、英語で４４個とされることが多いので、例えば、日本語では２４個の初期音素ＨＭＭが作成され、英語では４４個の初期音素ＨＭＭが作成される。
【００２１】
ステップ３０４で、ＣＰＵ６０は、音声データ部６８Ｂに記憶されている学習用音声データを用いて音素ＨＭＭを最尤推定で学習させることにより、状態遷移確率及び出力確率などの音素ＨＭＭのパラメータを決定する。
【００２２】
全ての音素ＨＭＭのパラメータが決定されると、ステップ３０６で、ＣＰＵ６０は、音素ＨＭＭの学習に使用した学習用音声データを単語を表すＨＭＭに認識させることにより、各音素の継続時間長を取得する。図５に一例を示す単語を表すＨＭＭは、単語に含まれる音素の各々を表す音素ＨＭＭを連結して作成される。図５では、単語「tako」を表すＨＭＭを作成するために、発声ラベル/t/、発声ラベル/a/、発声ラベル/k/、発声ラベル/o/の各々が表す種類の音素を表す音素ＨＭＭが連結されている。
【００２３】
学習用音声データをＨＭＭに認識させると、ある音素ＨＭＭから次の音素ＨＭＭへ移る時間を取得することが可能であるため、音声波形データに対応する発声ラベルで表される音素の区間が取得される。音素毎の区間の終了時間から開始時間の減算を行うことにより、音素の継続時間長を取得する。ＣＰＵ６０は、取得した音素の継続時間長を音素データ部６８Ｃに記憶させる。
【００２４】
例えば、発声ラベル/t/で表される音素の区間の開始時間が０ｍ秒であり、終了時間が３０ｍ秒であれば、当該音素の継続時間長は３０ｍ秒（＝３０ｍ秒−０ｍ秒）である。また、例えば、発声ラベル/a/で表される音素の区間の開始時間が３０ｍ秒であり、終了時間が１００ｍ秒であれば、当該音素の継続時間長は７０ｍ秒（＝１００ｍ秒−３０ｍ秒）である。また、例えば、発声ラベル/k/で表される音素の区間の開始時間が１００ｍ秒であり、終了時間が２４０ｍ秒であれば、当該音素の継続時間長は１４０ｍ秒（＝２４０ｍ秒−１００ｍ秒）である。また、例えば、発声ラベル/o/で表される音素の区間の開始時間が２４０ｍ秒であり、終了時間が３２０ｍ秒であれば、当該音素の継続時間長は８０ｍ秒（＝３２０ｍ秒−２４０ｍ秒）である。
【００２５】
ＨＭＭによる学習用音声データの認識が完了すると、ステップ３１６で、ＣＰＵ６０は、音素データ部６８Ｃから音素の継続時間長を読み出し、音素の種類毎に継続時間長の代表値である平均値ｍを計算する。ＣＰＵ６０は、計算した音素の種類毎の継続時間長の平均値を音素データ部６８Ｃに記憶させる。
【００２６】
例えば、音素の継続時間長を所定時間ｔ毎に区切った各々の区間に出現する音素の種類毎の音素の出現頻度を音素データ部６８Ｃに記憶させるようにしてもよい。図６は、一例として、継続時間長をｔ（２０ｍ秒）毎に区切った各々の区間に出現する発声ラベル/a/、/i/、/o/の各々によって表される種類の音素の出現頻度を表すヒストグラムを示す。
【００２７】
音素の継続時間長を所定時間ｔ毎に区切った各々の区間に出現する音素の種類毎の音素の出現頻度を音素データ部６８Ｃに記憶させる場合、音素の種類毎の平均値は、例えば、式（１）で計算される。Ｍは区間の数、ｙｊは各区間の音素の種類毎の音素の出現頻度を表す。
【数１】
2015225296.tif 000003
【００２８】
音素の全ての種類について継続時間長の平均値の計算が完了すると、ステップ３１８で、ＣＰＵ６０は、音素の種類毎の継続時間長の平均値に基づいて、音素の種類毎に、当該種類の音素を表す音素ＨＭＭの状態の数を調整する。例えば、当該音素の継続時間長の平均値が所定値以上である場合、図４Ｂに示すように、音素ＨＭＭの状態の数を１つ増加する。所定値は、例えば、５０ｍ秒であってよい。
【００２９】
ステップ３２０で、ＣＰＵ６０は、音素の種類の何れかを表す音素ＨＭＭの状態の数に変化があるか否かを判定する。判定が肯定された場合、ＣＰＵ６０は、ステップ３０４に戻り、ステップ３０４〜ステップ３２０を再度行う。判定が否定された場合、ＣＰＵ６０はＨＭＭ調整処理を終了する。
【００３０】
ステップ３０２で作成される音素ＨＭＭの状態の数を２つとしたが、開示の技術はこれに限定されない。例えば、３つであってもよいし、異なる種類の音素を表す音素ＨＭＭが異なる状態の数を有していてもよい。また、ステップ３０２で音素ＨＭＭを作成する代わりに、既存の音素ＨＭＭを初期ＨＭＭとして用いてもよい。
【００３１】
ステップ３０４で行われる学習には最尤推定を用いるものとしたが、開示の技術はこれに限定されない。例えば、誤り最小基準を用いてもよい。
【００３２】
ステップ３０６で、音素ＨＭＭの学習に使用した学習用音声データを単語を表すＨＭＭに認識させるものとしたが、開示の技術はこれに限定されない。例えば、文章を表すＨＭＭに認識させてもよい。
【００３３】
ステップ３１６で、音素の種類毎の継続時間長の代表値として平均値を用いたが、開示の技術はこれに限定されない。例えば、音素の種類毎の継続時間長の代表値として中央値または最頻値を用いてもよいし、音素の種類毎に継続時間長を短い順にソートした場合に上位１０％に含まれる継続時間長の平均値を用いてもよい。また、例えば、音素の種類毎に最も短い継続時間長から１０番目に短い継続時間長までの１０個の継続時間長の平均値を計算する。次に、当該平均値を当該種類の音素を表す音素ＨＭＭの状態の数で除算した値が最も大きい種類の音素を表す音素ＨＭＭの状態の数だけをステップ３１８で１つ増加するようにしてもよい。
【００３４】
また、例えば、音素の種類毎に継続時間長の平均値を状態の数から１を減算した値で除算した値を計算し、当該値が所定値（例えば、５０ｍ秒）以上となる場合に、当該種類の音素を表す音素ＨＭＭの状態の数を１つ増加するようにしてもよい。
【００３５】
また、例えば、音素の種類毎に計算された継続時間長の代表値が所定値以下の場合、当該種類の音素を表す音素ＨＭＭの状態の数を１つ減少するようにしてもよい。当該所定値は、音素ＨＭＭの状態の数を増加するための所定値より小さい値である。
【００３６】
ステップ３１８では、音素ＨＭＭの状態の数を１つ増加するものとしたが、開示の技術はこれに限定されない。音素の種類毎の継続時間長の代表値に基づいて、継続時間長が長い傾向を有する種類の音素を表す音素ＨＭＭの状態の数を少なくとも１つ増加すればよい。また、継続時間長が短い傾向を有する種類の音素を表す音素ＨＭＭの状態の数を少なくとも１つ減少すればよい。
【００３７】
すなわち、音素の種類毎の継続時間長の代表値が当該音素の種類に属する音素の継続時間長が短い傾向を示す場合、図７Ａに示すように、当該種類の音素を表す音素ＨＭＭの状態の数が少なくなるように調整される。例えば、音素の種類の継続時間長の平均値が小さい場合、当該種類の音素を表す音素ＨＭＭの状態数は少なくなるように調整される。また、音素の種類毎の継続時間長の代表値が当該音素の種類に属する音素の継続時間長が長い傾向を示す場合、図７Ｂに示すように、当該音素の種類を示す音素ＨＭＭの状態の数が多くなるように調整される。例えば、音素の種類の継続時間長の平均値が大きい場合に、当該種類の音素を表す音素ＨＭＭの状態の数は多くなるように調整される。また、音素の種類毎の継続時間長の代表値が当該音素の種類に属する音素の継続時間長が中間的な傾向を示す場合、図７Ｃに示すように、当該種類の音素を表す音素ＨＭＭの状態の数が中間的な数となるように調整される。例えば、音素の種類の継続時間長の平均値が中間的な値である場合に、当該種類の音素を表す音素ＨＭＭの状態の数は中間的な数となるように調整される。
【００３８】
ステップ３２０で、何れの音素ＨＭＭも状態の数が変更されていない場合に、ＨＭＭ調整処理を終了するものとしたが、開示の技術はこれに限定されない。例えば、ＨＭＭ調整処理を所定回数繰り返した場合、ＨＭＭ調整処理を終了してもよい。所定回数は、例えば、２回であってよい。また、ステップ３１８で、例えば、音素の種類毎に最も短い継続時間長から１０番目に短い継続時間長までの１０個の継続時間長の平均値を状態の数で除算した値が所定値以下である場合に、ステップ３２０でＨＭＭ調整処理を終了してもよい。所定値は、例えば、２０ｍ秒であってよい。
【００３９】
ＨＭＭ調整プログラム６６は第２記憶部６４に記憶されているものとしたが、開示の技術はこれに限定されない。例えば、ＨＭＭ調整プログラム６６は、ＣＤ−ＲＯＭなどの非一時記憶媒体に記憶されていてもよく、非一時記憶媒体から読み出され１次記憶部６２に展開されてもよい。
【００４０】
音素ＨＭＭの状態の数が音素ＨＭＭで表される音素の種類に属する音素の継続時間長に適切に対応している場合、ＨＭＭによる音声認識性能を向上させることが可能である。第１実施形態によれば、学習用音声データを認識させることにより取得される音素の種類毎の継続時間長の代表値に基づいて音素ＨＭＭの状態の数を調整するので、ＨＭＭによる音声認識性能を向上させることが可能となる。
【００４１】
第１実施形態によれば、ＨＭＭで学習用音声データを認識させることにより音声データの発声ラベルの境界を取得するため、ユーザがマニュアルで音声データの発声ラベルの境界を定義する手間を省くことが可能となる。ＨＭＭで学習用音声データを認識させることにより取得された音声データの発声ラベルの境界は、ユーザがマニュアルで定義した音声データの発声ラベルの境界と比較して精度が落ちる。しかしながら、第１実施形態によれば、学習用音声データを認識させることにより取得される音素の種類毎の継続時間長の代表値に基づいて音素ＨＭＭの状態の数を調整するため、ＨＭＭによる音声認識性能を向上させることが可能となる。
【００４２】
［第２実施形態］
第２実施形態の構成は第１実施形態の構成と同様であるため、説明を省略する。また、第１実施形態と同様の処理についても説明を省略する。
【００４３】
図８に一例を示すように、第２実施形態では、ステップ４０８で、ＣＰＵ６０は、音素の種類毎に継続時間長の代表値である平均値、及び標準偏差値を計算し、音素データ部６８Ｃに保存する。標準偏差値σは、下記（２）式で計算される。Ｎは学習用音声データにおける音素の種類に属する音素の出現数、ｘｉは当該音素の種類に属する音素の各々の継続時間長、ｍは当該音素の種類に属する音素の平均値を表す。
【数２】
2015225296.tif 000004
【００４４】
全ての音素の種類毎の平均値及び標準偏差値の計算が完了すると、ステップ４１０で、ＣＰＵ６０は、継続時間長のばらつきを示す標準偏差値が所定値以上の音素の種類を表す発声ラベルを２つの発声ラベルに置換する。また、当該種類の音素を表す音素ＨＭＭを２つの音素ＨＭＭに置換する。所定値は、例えば、５０であってよい。
【００４５】
例えば、図９Ａで示される発声ラベル/a/で表される種類の音素の標準偏差値が５０以上である場合、図９Ｂに示すように、発声ラベル/a/を発声ラベル/a1/と発声ラベル/a2/とに置換し、当該種類に属する音素を２つの発声ラベルの何れかに割り当てる。例えば、当該種類の音素の継続時間長の平均値より短い継続時間長を有する音素を発声ラベル/a1/に割り当て、当該種類の音素の継続時間長の平均値以上の継続時間長を有する音素を発声ラベル/a2/に割り当てる。発声ラベル/a/で表される種類の音素を表す音素ＨＭＭも、発声ラベル/a1/で表される種類の音素を表す音素ＨＭＭと発声ラベル/a2/で表される種類の音素を表す音素ＨＭＭとに置換する。
【００４６】
ステップ４１２で、ＣＰＵ６０は、発声ラベルの何れかが２つの発声ラベルに置換されたか否か判定する。判定が肯定された場合、ステップ４１４で、ＣＰＵ６０は、音素の種類毎に継続時間長の平均値を再度計算して、音素データ部６８Ｃに保存する。例えば、ステップ４１０で置換された新しい発声ラベル/a1/及び/a2/で表される音素の種類の各々の継続時間長の平均値が計算される。ステップ４１２の判定が否定された場合、ＣＰＵ６０は、ステップ３１８に直接進む。
【００４７】
図１０に、発声ラベル/a/が発声ラベル/a1/及び/a2/に置換され、これに伴い、発声ラベルで表される種類の音素を表す音素ＨＭＭが２つの音素ＨＭＭに置換された場合の単語を表すＨＭＭの一例を示す。
【００４８】
なお、ステップ４１０で、標準偏差値が所定値以上である場合に、音素ＨＭＭを２つの音素ＨＭＭに置換したが、開示の技術はこれに限定されない。例えば、分散値が所定値以上である場合に、音素ＨＭＭを２つの音素ＨＭＭに置換してもよい。また、例えば、最も分散値が大きい種類の音素を表す音素ＨＭＭを２つの音素ＨＭＭに置換するようにしてもよい。また、音素ＨＭＭを３つ以上の音素ＨＭＭに置換してもよい。
【００４９】
ステップ４１０で、発声ラベル/a/を２つの音素ＨＭＭに置換する場合、閾値として継続時間長の平均値を用いたが、開示の技術はこれに限定されない。例えば、継続時間長の中央値または最頻値を用いてもよい。
【００５０】
また、置換された２つの音素ＨＭＭの状態の数がＨＭＭ調整処理の完了後に一致する場合には、置換された２つの音素ＨＭＭを統合して元の１つの音素ＨＭＭに戻してもよい。すなわち、置換された２つの音素ＨＭＭを置換前の音素ＨＭＭと再度置換してもよい。
【００５１】
音素ＨＭＭの状態の数が音素ＨＭＭで表される音素の種類に属する音素の継続時間長に適切に対応している場合、ＨＭＭによる音声認識性能を向上させることが可能である。第２実施形態によれば、学習用音声データを認識させることにより取得される音素の種類毎の継続時間長の代表値に基づいて音素ＨＭＭの状態の数を調整するので、ＨＭＭによる音声認識性能を向上させることが可能となる。
【００５２】
また、第２実施形態によれば、音素の種類毎の継続時間長のばらつきに基づいて当該音素ＨＭＭを複数の音素ＨＭＭに置換するため、音素ＨＭＭの状態の数を音素ＨＭＭで表される音素の種類に属する音素にさらに適切に対応させることが可能である。したがって、ＨＭＭによる音声認識性能をさらに向上させることが可能となる。
【００５３】
[第３実施形態]
第３実施形態の構成は第１実施形態の構成と同様であるため、説明を省略する。また、第１実施形態と同様の処理についても説明を省略する。
【００５４】
第３実施形態では、開示の技術を前後の音素環境を考慮したトライフォン（３つ組み音素：triphone）の状態の共有の決定に適用する。音素の音響的な特徴は当該音素の前後の音素環境の影響で大きく変化し、音声認識が困難となる場合がある。このような問題に対処するため、トライフォンが認識の処理単位として用いられる。
【００５５】
トライフォンでは、モデルの総和が音素の種類の数の３乗、すなわち、数万以上になる。したがって、全てのモデルを学習させる学習用音声データを確保することが困難となるため、モデルの数を低減する。モデルの数を低減するため、音響的特徴が類似したトライフォンをグループ化する。トライフォンのグループ化は、トライフォン全体をクラスタリングするのではなく、状態毎にグループ化されることが一般的であり、状態の共有と呼ばれる。
【００５６】
トライフォンのグループ化には、グループを徐々に細分化していくトップダウン方式と、類似したグループを徐々にまとめていくボトムアップ方式と、がある。
【００５７】
以下ではトップダウン方式でグループを細分化する場合について説明する。図１１に例示するように、ステップ３２０で、ＣＰＵ６０は、何れかの音素ＨＭＭの状態の数に変更があるか否かを判定し、判定が肯定された場合、ＣＰＵ６０は、ステップ５２２に進み、判定が否定された場合。ＣＰＵ６０は、ＨＭＭ調整処理を終了する。
【００５８】
ステップ５２２で、ＣＰＵ６０は、状態の共有を決定し、ステップ３０４に戻る。
【００５９】
状態の共有の決定は、例えば、図１２Ａに示す決定木を用いてトップダウン方式で行われる。図１２Ａの決定木では、中心音素を表す音素ＨＭＭ（中心音素ＨＭＭ）の状態の数が２であり、かつ、後続音素が母音である場合、状態を共有する。また、中心音素ＨＭＭの状態の数が２であり、かつ、後続音素が母音でない場合、状態を共有する。また、中心音素ＨＭＭの状態の数が３または４であり、かつ、先行音素が母音である場合、状態を共有する。また、中心音素ＨＭＭの状態の数が３または４であり、かつ、先行音素が母音でない場合、状態を共有する。また、中心音素ＨＭＭの状態の数が５以上であり、かつ、先行音素が母音である場合、状態を共有する。また、中心音素ＨＭＭの状態の数が５以上であり、かつ、先行音素が母音でない場合、状態を共有する。
【００６０】
なお、図１２Ａの決定木は一例であり、開示の技術はこれに限定されない。例えば、図１２Ｂに示す決定木を用いてボトムアップ式で状態の共有の決定を行ってもよい。図１２Ｂの決定木では、後続音素が母音であり、かつ、先行音素が母音である場合、状態を共有する。また、後続音素が母音であり、先行音素が母音でなく、かつ、中心音素ＨＭＭの状態の数が３以下である場合、状態を共有する。また、後続音素が母音であり、先行音素が母音でなく、かつ、中心音素ＨＭＭの状態の数が４以上である場合、状態を共有する。また、後続音素が母音でなく、かつ、先行音素が破裂音である場合、状態を共有する。また、後続音素が母音でなく、かつ、先行音素が破裂音でない場合、状態を共有する。
【００６１】
なお、第３実施形態を第１実施形態に適用するものとして説明したが、開示の技術はこれに限定されない。第３実施形態を第２実施形態に適用してもよい。
【００６２】
音素ＨＭＭの状態の数が音素ＨＭＭで表される音素の種類に属する音素の継続時間長に適切に対応している場合、ＨＭＭによる音声認識性能を向上させることが可能である。第３実施形態によれば、学習用音声データを認識させることにより取得される音素の種類毎の継続時間長の代表値に基づいて音素ＨＭＭの状態の数を調整するので、ＨＭＭによる音声認識性能を向上させることが可能となる。
【００６３】
また、第３実施形態によれば、トライフォンの状態の共有を決定するために、調整された音素ＨＭＭの状態の数を用いるため、状態の共有をより適切に決定することが可能となる。
【００６４】
［第１関連技術］
開示の技術と第１関連技術との差異は、開示の技術が、学習用音声データを認識させることにより取得される音素の種類毎の継続時間長の代表値に基づいて音素ＨＭＭの状態の数を調整することである。これに対し、第１関連技術は音素ＨＭＭの状態の数を調整しない。
【００６５】
原稿読み上げデータに対し、ワードスポッティングによる音声認識を行った場合、第１関連技術では、検出率が９８％、適合率が９３％であり、開示の技術では、検出率が９９％、適合率が９５％であった。すなわち、検出率及び適合率共に、開示の技術は第１関連技術よりも向上された性能を示す。開示の技術では、音素ＨＭＭの状態の数が音素ＨＭＭで表される音素の種類に属する音素の継続時間長に適切に対応するように調整されているためである。ワードスポッティングによる音声認識とは、予め登録されたキーワードまたは重要ワードのみを認識する音声認識である。
【００６６】
[第２関連技術]
第２関連技術では、グラフィカルユーザインターフェイスなどに表示される時間軸に沿った音声波形を目視しながら、ユーザがマニュアルで音声データの発声ラベルの境界を時間軸に沿って定義する。その後、当該発声ラベルの境界と音素ＨＭＭの境界とのずれが小さくなるように、音素ＨＭＭの状態の数を調整する。
【００６７】
学習用音声データとして原稿読み上げデータを用いた場合、第２関連技術では、発声ラベルの境界を定義するために音声データの時間長の合計の５０倍程度の時間がかかる。一方、開示の技術では、ユーザがマニュアルで発声ラベルの境界の定義を行わない。したがって、開示の技術では、発声ラベルの境界の定義にかかる時間を節約することが可能となる。すなわち、開示の技術では、学習用音声データとして原稿読み上げデータを用いた場合、音声データの時間長の合計の５０倍程度の時間を節約することが可能である。
【００６８】
また、学習用音声データとして、音声書き起こしデータを用いた場合は、第２関連技術及び開示の技術の双方で、発声ラベルを生成するために、音声データの時間長の合計の５倍程度の時間がさらにかかる。音声書き起こしデータを用いた場合、第２関連技術では、発声ラベルの境界の定義に音声データの時間長の合計の５０倍程度の時間がかかるため、音声データの時間長の合計の５５倍程度の時間がかかる。一方、開示の技術では、音声書き起こしデータを用いた場合でも、原稿読み上げデータを用いた場合と同様に、発声ラベルの境界の定義にかかる時間を節約することができるため、音声データの時間長の合計の５倍程度の時間しかかからない。すなわち、開示の技術では、学習用音声データとして音声書き起こしデータを用いた場合であっても、音声データの時間長の合計の５０倍程度の時間を節約することが可能である。
【００６９】
したがって、学習用音声データとして原稿読み上げデータを用いた場合であっても、音声書き起こしデータを用いた場合であっても、開示の技術では、第２関連技術と比較して、処理にかかる時間及び労力を大幅に軽減することが可能である。
【００７０】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習する学習部と、
前記学習部で学習された隠れマルコフモデルで表された音響モデルを用いて前記学習用音声データを音声認識することにより、各音素の継続時間長を取得する取得部と、
音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する調整部と、
を含む音響モデル調整装置。
【００７１】
（付記２）
前記学習部は、前記調整部で状態の数が調整された後、隠れマルコフモデルのパラメータを学習し、
前記取得部は、前記学習部で学習された隠れマルコフモデルで表された音響モデルを用いて、前記学習用音声データを音声認識することにより、各音素の継続時間長を再度取得し、
前記調整部は、音素の種類毎に求めた継続時間長の代表値が前記第１所定値以上の種類に属する音素の隠れマルコフモデルに含まれる状態の数を増加するように調整する、
付記１に記載の音響モデル調整装置。
【００７２】
（付記３）
前記調整部は、音素の種類毎に求めた継続時間長の代表値が前記第１所定値より小さい第２所定値以下の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を減少するように調整する、
付記１または２に記載の音響モデル調整装置。
【００７３】
（付記４）
音素の種類毎の継続時間長の代表値は、音素の種類毎の継続時間長の平均値、音素の種類毎の継続時間長の中央値、音素の種類毎の継続時間長の最頻値、または音素の種類毎の継続時間長の平均値を当該音素を表す隠れマルコフモデルの状態の数から１を減算した値で除算した値である付記１〜３の何れかに記載の音響モデル調整装置。
【００７４】
（付記５）
前記学習部は、最尤推定または誤り最小基準を用いて学習する、付記１〜４の何れかに記載の音響モデル調整装置。
【００７５】
（付記６）
前記調整部は、音素の種類毎の継続時間長のばらつきを示す値が第３所定値以上である場合、当該音素を表す隠れマルコフモデルを、当該種類に属する音素の中で第４所定値以上の継続時間長を有する音素を表す第１隠れマルコフモデルと、当該種類に属する音素の中で前記第４所定値より小さい継続時間長を有する音素を表す第２隠れマルコフモデルと、に置換し、前記状態の数が調整された後、前記第１隠れマルコフモデルの状態の数と前記第２隠れマルコフモデルの状態の数とが同一である場合は、前記第１隠れマルコフモデル及び前記第２隠れマルコフモデルを置換前の隠れマルコフモデルと再度置換する、
付記１〜５の何れかに記載の音響モデル調整装置。
【００７６】
（付記７）
前記第４所定値は前記代表値である付記６に記載の音響モデル調整装置。
【００７７】
（付記８）
前後の音素を考慮したトライフォンが認識の処理単位として用いられる場合に、前記学習部は、前記トライフォンの状態の共有を決定するために、前記状態の数が調整された後の前記音素を表す隠れマルコフモデルの状態の数を用いる、
付記１〜７の何れかに記載の音響モデル調整装置。
【００７８】
（付記９）
時間軸方向に並んだ複数の状態を含み、かつ音素の各々を表す初期隠れマルコフモデルのパラメータを、音素の種類に対応する発声ラベルが付された学習用音声データを用いて、学習し、
学習された前記隠れマルコフモデルで表された音響モデルを用いて前記学習用音声データを音声認識することにより、各音素の継続時間長を取得し、
音素の種類毎に求めた継続時間長の代表値が第１所定値以上の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を増加するように調整する、
ことを含む音響モデル調整処理をコンピュータに実行させるためのプログラム。
【００７９】
（付記１０）
前記音響モデル調整処理は、
前記状態の数が調整された後、隠れマルコフモデルのパラメータを学習し、
学習された前記隠れマルコフモデルで表された音響モデルを用いて、前記学習用音声データを音声認識することにより、各音素の継続時間長を再度取得し、
音素の種類毎に求めた継続時間長の代表値が前記第１所定値以上の種類に属する音素の隠れマルコフモデルに含まれる状態の数を増加するように調整する、
ことをさらに含む、付記９に記載のプログラム。
【００８０】
（付記１１）
前記音響モデル調整処理は、
前記音素の種類毎に求めた継続時間長の代表値が前記第１所定値より小さい第２所定値以下の種類に属する音素を表す隠れマルコフモデルに含まれる状態の数を減少するように調整する、
ことをさらに含む、付記９または１０に記載のプログラム。
【００８１】
（付記１２）
前記音素の種類毎の継続時間長の代表値は、音素の種類毎の継続時間長の平均値、音素の種類毎の継続時間長の中央値、音素の種類毎の継続時間長の最頻値、または音素の種類毎の継続時間長の平均値を当該音素を表す隠れマルコフモデルの状態の数から１を減算した値で除算した値である付記９〜１１の何れかに記載のプログラム。
【００８２】
（付記１３）
隠れマルコフモデルの前記パラメータは、最尤推定または誤り最小基準を用いて学習される、付記９〜１２の何れかに記載のプログラム。
【００８３】
（付記１４）
前記音響モデル調整処理は、
前記音素の種類毎の継続時間長のばらつきを示す値が第３所定値以上である場合、当該音素を表す隠れマルコフモデルを、当該種類に属する音素の中で第４所定値以上の継続時間長を有する音素を表す第１隠れマルコフモデルと、当該種類に属する音素の中で前記第４所定値より小さい継続時間長を有する音素を表す第２隠れマルコフモデルと、に置換し、前記状態の数が調整された後、前記第１隠れマルコフモデルの状態の数と前記第２隠れマルコフモデルの状態の数とが同一である場合は、前記第１隠れマルコフモデル及び前記第２隠れマルコフモデルを置換前の隠れマルコフモデルと再度置換する、
ことをさらに含む、
付記９〜１３の何れかに記載のプログラム。
【００８４】
（付記１５）
前記第４所定値は前記代表値である付記１４に記載のプログラム。
【００８５】
（付記１６）
前後の音素を考慮したトライフォンが認識の処理単位として用いられる場合に、前記トライフォンの状態の共有を決定するために、前記状態の数が調整された後の前記音素を表す隠れマルコフモデルの状態の数を用いる、
付記９〜１５の何れかに記載のプログラム。
【符号の説明】
【００８６】
１０  コンピュータ
１２  学習部
１４  取得部
１６  調整部
６０  ＣＰＵ
６６  ＨＭＭ調整プログラム
【図１】
2015225296.tif 000005
【図２】
2015225296.tif 000006
【図３】
2015225296.tif 000007
【図４Ａ】
2015225296.tif 000008
【図４Ｂ】
2015225296.tif 000009
【図７Ａ】
2015225296.tif 000010
【図７Ｂ】
2015225296.tif 000011
【図７Ｃ】
2015225296.tif 000012
【図８】
2015225296.tif 000013
【図９Ａ】
2015225296.tif 000014
【図９Ｂ】
2015225296.tif 000015
【図１１】
2015225296.tif 000016
【図１２Ａ】
2015225296.tif 000017
【図１２Ｂ】
2015225296.tif 000018
【図５】
2015225296.tif 000019
【図６】
2015225296.tif 000020
【図１０】
2015225296.tif 000021