(57)【要約】  重み係数学習システムは、学習音声データを認識しその認識結果を出力する音声認識手段と、音響モデルと言語モデルとから得られるスコアに対し、学習音声データの正解テキストを用いて計算される正解のスコアと、認識結果のスコアとの差が大きくなるようにスコアにかかる重み係数を更新する重み係数更新手段と、更新された後のスコアを用いて、重み係数更新手段に戻り重み係数を再更新するか否かを判断する収束判断手段と、更新された後のスコアを用いて、音声認識手段まで戻りその処理をやり直して重み係数更新手段により重み係数を更新するか否かを判断する重み係数収束判断手段とを備える。
2008105263.tif 000002
【特許請求の範囲】
【請求項１】
学習音声データを認識しその認識結果を出力する音声認識手段と、
音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識手段により出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新手段と、
更新された後のスコアを用いて、前記重み係数更新手段に戻り前記重み係数を再更新するか否かを判断する収束判断手段と、
前記更新された後のスコアを用いて、前記音声認識手段まで戻りその処理をやり直して前記重み係数更新手段により前記重み係数を更新するか否かを判断する重み係数収束判断手段と、
を備えることを特徴とする重み係数学習システム。
【請求項２】
前記認識結果は、単語グラフであることを特徴とする、請求項１記載の重み係数学習システム。
【請求項３】
前記認識結果は、音響スコアと言語スコアとの和のうち、和の大きいものから予め定められた数の単語列であることを特徴とする、請求項１記載の重み係数学習システム。
【請求項４】
前記認識結果は、音響スコアと、言語スコアと、それらの和とが、予め定められた閾値より大きい単語列であることを特徴とする、請求項１記載の重み係数学習システム。
【請求項５】
前記認識結果は、音響スコアと、言語スコアと、それらの和とが、１番大きなスコアからの差分が、予め定められた閾値より小さい単語列であることを特徴とする、請求項１記載の重み係数学習システム。
【請求項６】
前記収束判断手段は、前記重み係数が更新される前のスコアと、前記重み係数が更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、前記重み係数更新手段に戻り処理することを特徴とする、請求項１乃至５のいずれか１項に記載の重み係数学習システム。
【請求項７】
前記収束判断手段は、前記重み係数が更新される前と更新された後との前記重み係数の差分、および、当該差分を更新される前の値で割った前記重み係数の変化率が、予め定められた閾値よりも大きい場合に、前記重み係数更新手段に戻り処理することを特徴とする、請求項１乃至５のいずれか１項に記載の重み係数学習システム。
【請求項８】
前記重み係数収束判断手段は、前記重み係数が更新される前のスコアと、更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、前記音声認識手段に戻り処理することを特徴とする、請求項１乃至７のいずれか１項に記載の重み係数学習システム。
【請求項９】
前記重み係数収束判断手段は、前記重み係数が更新される前と更新された後との前記重み係数の差分、および、当該差分を更新される前の値で割った前記重み係数の変化率が、予め定められた閾値よりも大きい場合に、前記音声認識手段に戻り処理することを特徴とする、請求項１乃至７のいずれか１項に記載の重み係数学習システム。
【請求項１０】
学習音声データを認識しその認識結果を出力する音声認識ステップと、
音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識ステップにより出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新ステップと、
更新された後のスコアを用いて、前記重み係数更新ステップに戻り前記重み係数を再更新するか否かを判断する収束判断ステップと、
前記更新された後のスコアを用いて、前記音声認識ステップまで戻りその処理をやり直して前記重み係数更新ステップにより前記重み係数を更新するか否かを判断する重み係数収束判断ステップと、
を備えることを特徴とする重み係数学習方法。
【請求項１１】
前記認識結果は、単語グラフであることを特徴とする、請求項１０記載の重み係数学習方法。
【請求項１２】
前記認識結果は、音響スコアと言語スコアとの和のうち、和の大きいものから予め定められた数の単語列であることを特徴とする、請求項１０記載の重み係数学習方法。
【請求項１３】
前記認識結果は、音響スコアと、言語スコアと、それらの和とが、予め定められた閾値より大きい単語列であることを特徴とする、請求項１０記載の重み係数学習方法。
【請求項１４】
前記認識結果は、音響スコアと、言語スコアと、それらの和とが、１番大きなスコアからの差分が、予め定められた閾値より小さい単語列であることを特徴とする、請求項１０記載の重み係数学習方法。
【請求項１５】
前記収束判断ステップは、前記重み係数が更新される前のスコアと、前記重み係数が更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、前記重み係数更新ステップに戻り処理することを特徴とする、請求項１０乃至１４のいずれか１項に記載の重み係数学習方法。
【請求項１６】
前記収束判断ステップは、前記重み係数が更新される前と更新された後との前記重み係数の差分、および、当該差分を更新される前の値で割った前記重み係数の変化率が、予め定められた閾値よりも大きい場合に、前記重み係数更新ステップに戻り処理することを特徴とする、請求項１０乃至１４のいずれか１項に記載の重み係数学習方法。
【請求項１７】
前記重み係数収束判断ステップは、前記重み係数が更新される前のスコアと、更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、前記音声認識ステップに戻り処理することを特徴とする、請求項１０乃至１６のいずれか１項に記載の重み係数学習方法。
【請求項１８】
前記重み係数収束判断ステップは、前記重み係数が更新される前と更新された後との前記重み係数の差分、および、当該差分を更新される前の値で割った前記重み係数の変化率が、予め定められた閾値よりも大きい場合に、前記音声認識ステップに戻り処理することを特徴とする、請求項１０乃至１６のいずれか１項に記載の重み係数学習方法。
【請求項１９】
コンピュータに、
学習音声データを認識しその認識結果を出力する音声認識処理と、
音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識処理により出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新処理と、
更新された後のスコアを用いて、前記重み係数更新処理に戻り前記重み係数を再更新するか否かを判断する収束判断処理と、
前記更新された後のスコアを用いて、前記音声認識処理まで戻りその処理をやり直して前記重み係数更新処理により前記重み係数を更新するか否かを判断する重み係数収束判断処理と、
を実行させるための重み係数学習プログラム。
【請求項２０】
請求項１乃至９のいずれか１項に記載の重み係数学習システムにより更新された重み係数を用いて音声認識を行うことを特徴とする音声認識システム。
【請求項２１】
請求項１０乃至１８のいずれか１項に記載の重み係数学習方法により更新された重み係数を用いて音声認識を行うことを特徴とする音声認識方法。
【請求項２２】
コンピュータに、請求項１９に記載の重み係数学習プログラムにより更新された重み係数を用いて音声認識を行う音声認識処理を実行させるための音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識で用いる音響モデルと言語モデルとから得られるスコアの重み係数を学習する重み係数学習システムと、これにより学習された重み係数を用いて音声認識を行う音声認識システムと、これらの方法及びプログラムとに関する。
【背景技術】
【０００２】
大語彙連続音声認識は、音響モデルと、言語モデルとを用いて実現されている。音響モデルは、音声と単語の発音に対する音響的な類似度を表すスコア（以後、「音響スコア」と呼ぶ）を計算するためのものである。言語モデルは、単語の繋がりやすさの程度を表すスコア（以後、「言語スコア」と呼ぶ）を計算するためのものである。理想的な場合、これら音響スコアと言語スコアとの比率は、１：１である。【０００３】
しかし、音響モデルで得られる値は、非特許文献１の９３ページに示されるように、正規分布のような確率密度分布で近似され、そこから得られる値を用いて近似されている。また、言語モデルは、非特許文献１の１９２ページに示されるように、先行Ｎ−１単語を条件にしたＮグラムで近似されている。【０００４】
このように、音響モデルと言語モデルとは、共に近似されたモデルを用いていることから、音響スコアと言語スコアとの偏りの整合を取るため、それぞれのスコアに重み係数をかけて実現されている。ここで偏りとは、近似により本来の値よりも大きな値になるなどの現象を指す。音声認識の分野において、これらの重み係数はいくつかの値を用意しておき、テスト用の音声データの認識率を観察しながら、選ぶ方法が取られてきた。このような方法は、音響モデルや言語モデルが１組の場合は問題ないと考えられるが、複数の音響モデルと言語モデルの組や新たなスコアを組み合わせる場合、用意すべきパラメータ数がべき乗のオーダーで大きくなり、計算は不可能であると考える。【０００５】
このような問題に対し、非特許文献２で示されるように、統計的な機械翻訳の分野において、異なる確率モデルから得られるスコアに対し、最大エントロピー法（以後、「ＭＥ法」と称する）を用いて重み係数を調整する方法が知られている。【０００６】
ＭＥ法は、非特許文献３の１５５〜１７４ページで述べられているように、制約条件下でエントロピーを最大にする方法であり、未知データに対し一様な分布関数を推定する学習方式である。この方式では、制約条件として最尤推定を用いた場合、推定される分布関数は式（１）で表されるロジスティック関数になることが知られている。【０００７】
【数１】
2008105263.tif 000003
ここで、ｋはモデルの数（番号）を表す自然数、ｗ、ｏは出力系列と入力系列であり、非特許文献２では、ｗを英語の単語系列、ｏをフランス語の単語系列としている。ｆｋ（ｗ，ｏ）は各モデルを用いて計算されるスコアであり、非特許文献２ではｆ１（ｗ，ｏ）はフランス語の単語から英語の単語が出現する生成確率の対数値、ｆ２（ｗ，ｏ）は英語の単語列の出現する確率値の対数値が用いられている。λｋはそれぞれの確率モデルを用いて計算されるスコアの重み係数を表し、正解のｗとｏの組み合わせにおいて、事後確率Ｐ（ｗ｜ｏ）が一番大きくなるように最適化される。【０００８】
ここで、式（１）の分母は、出力系列ｗの全ての組み合わせについて足し合わせることを示している。しかし、出力系列ｗを構成する要素数（非特許文献２の場合、英語の単語の語彙数）が大きくなると、それらの組み合わせは大きくなり、式（１）の分母は計算することができない。非特許文献２のような統計的な機械翻訳の分野では、事前知識として連続して出現しない単語の情報を活用することにより、単語列の組み合わせ数を有限に絞るなどの工夫を行うことで対処している。
【非特許文献１】S. Young（ヤング）、他１０名著、「The HTK Book for HTK version 3.3(エイチティーケーブック  バージョン３．３）」、Cambridge University Engineering Department、April 2005、pp.1-345
【非特許文献２】F. J. Och（オーク）、他１名、「Discriminative Training and Maximum Entropy Models for Statistical Machine Translation（統計機械翻訳に対する識別学習と最大エントロピー法）」、Proc. ACL、July 2002、pp.295-302
【非特許文献３】北著、「言語モデルと計算４：確率的言語モデル」、東京大学出版会、１９９９年
【非特許文献４】Ｌａｆｆｅｒｔｙ他2著、「Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data」In Proc. of ICML, pp. 282-289, 2001
【発明の開示】
【発明が解決しようとする課題】
【０００９】
大語彙連続音声認識にＭＥ法を適用する場合、式（１）の分母の計算のために全ての単語の組み合わせを計算する場合、語彙数が大きいことに加え、入力系列ｏに対応する音声の観測時系列の連続量であることから、全ての単語は発声された区間のあらゆる場所に出現することが可能である。このため、同じ単語であっても少しでも出現時刻が違うと同じスコアとはならず、違う単語の組み合わせとして扱うことになるため、その組み合わせは膨大になる。また、膨大な候補から単純に候補を絞った場合、絞られた環境（方法）に依存した重み係数λｋが推定されてしまい、本来求めたい重み係数λｋに到達しない恐れがある。【００１０】
本発明の目的は、音響モデルと言語モデルとを用いて計算されるスコアにかかる重み係数を、予め範囲などの事前知識が無くても自動的かつ高速に推定することができ、その重み係数を用いた高精度な音声認識をおこなうシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係る重み係数学習システムは、学習音声データを認識しその認識結果を出力する音声認識手段と、音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識手段により出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新手段と、更新された後のスコアを用いて、前記重み係数更新手段に戻り前記重み係数を再更新するか否かを判断する収束判断手段と、前記更新された後のスコアを用いて、前記音声認識手段まで戻りその処理をやり直して前記重み係数更新手段により前記重み係数を更新するか否かを判断する重み係数収束判断手段と、を備えることを特徴とする。【００１２】
本発明に係る重み係数学習方法は、学習音声データを認識しその認識結果を出力する音声認識ステップと、音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識ステップにより出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新ステップと、更新された後のスコアを用いて、前記重み係数更新ステップに戻り前記重み係数を再更新するか否かを判断する収束判断ステップと、前記更新された後のスコアを用いて、前記音声認識ステップまで戻りその処理をやり直して前記重み係数更新ステップにより前記重み係数を更新するか否かを判断する重み係数収束判断ステップと、を備えることを特徴とする。【００１３】
本発明に係る重み係数学習プログラムは、コンピュータに、学習音声データを認識しその認識結果を出力する音声認識処理と、音声認識で用いる音響モデルと言語モデルとから得られるスコアに対し、前記学習音声データの正解テキストを用いて計算される正解のスコアと、前記音声認識処理により出力される認識結果のスコアとの差が大きくなるように前記スコアにかかる重み係数を更新する重み係数更新処理と、更新された後のスコアを用いて、前記重み係数更新処理に戻り前記重み係数を再更新するか否かを判断する収束判断処理と、前記更新された後のスコアを用いて、前記音声認識処理まで戻りその処理をやり直して前記重み係数更新処理により前記重み係数を更新するか否かを判断する重み係数収束判断処理と、を実行させるためのものである。【００１４】
本発明に係る音声認識システムは、上記の重み係数学習システムにより更新された重み係数を用いて音声認識を行うことを特徴とする。【００１５】
本発明に係る音声認識方法は、上記の重み係数学習方法により更新された重み係数を用いて音声認識を行うことを特徴とする。【００１６】
本発明に係る音声認識方法は、コンピュータに、上記の重み係数学習プログラムにより更新された重み係数を用いて音声認識を行う音声認識処理を実行させるためのものである。
【発明の効果】
【００１７】
本発明によれば、音声認識のための音響モデルと言語モデルとを用いて計算されるスコアにかかる重み係数を、予め範囲などの事前知識が無くても自動的かつ高速に推定することができる。そして、その重み係数を用いた高精度な音声認識をおこなうことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る重み係数学習システムの構成を示すブロック図である。
【図２】音声認識手段の認識結果として出力される単語グラフを説明するための図である。
【図３】候補絞込み手段が単語グラフから候補を絞り込むためのアルゴリズムであるＡ＊サーチを説明するための図である。
【図４】本発明の第１の実施形態に係る重み係数学習システムの動作を説明するフローチャートである。
【図５】本発明の第２の実施形態に係る音声認識システムの構成を示すブロック図である。
【符号の説明】
【００１９】
００１  重み係数学習手段
１００  学習音声データ
１０１  音声認識手段
１０２  音響モデル・言語モデル
１０３  候補絞込み手段
１０４  スコア計算手段
１０５  スコア期待値計算手段
１０６  重み係数更新手段
１０７  目的関数計算手段
１０８  収束判断手段
１０９  重み係数収束判断手段
１１０  正解テキスト
【発明を実施するための最良の形態】
【００２０】
次に、本発明に係る重み係数学習システム及び音声認識システムを実施するための最良の形態について、図面を参照して詳細に説明する。【００２１】
（第１の実施形態）
図１を用いて、音声認識における音響スコアと言語スコアの重み係数学習システムの構成要素について説明する。【００２２】
図１を参照すると、本発明の第１の実施形態に係る重み係数学習システムは、例えばコンピュータシステムを用いて構成されるもので、重み係数学習手段００１と、学習音声データ１００と、言語モデル・音響モデル１０２と、正解テキスト１１０とを備えている。【００２３】
重み係数学習手段００１は、音声認識手段１０１と、候補絞り込み手段１０３と、スコア計算手段１０４と、スコア期待値計算手段１０５と、重み係数更新手段１０６と、目的関数計算手段１０７と、収束判断手段１０８と、重み係数収束判断手段１０９とを有している。これら各手段は、一例としてコンピュータによるソフトウェアの処理により実現される。この場合、各手段の処理は、個別のプログラムで実現しても、ＯＳ（オペレーションシステム）等の他のプログラムと連携して実現してもいずれでもよく、その機能を実現可能なものであればよい。【００２４】
学習音声データ１００は、重み係数の値を推定するための音声データで、例えばサンプリング周波数を４４．１ｋＨｚ、１サンプルあたり１６ビットでＡ／Ｄ（Analog to Digital）変換されたものである。この学習音声データ１００は、例えばハードディスク装置やメモリ等の記憶装置に記憶され、本システムを構成するコンピュータによりアクセス可能となっている。【００２５】
正解テキスト１１０は、学習音声１００の発声内容を書き起こしたテキストデータである。この正解テキスト１１０は、例えばハードディスク装置やメモリ等の記憶装置に記憶され、本システムを構成するコンピュータによりアクセス可能となっている。【００２６】
音響モデル・言語モデル１０２は、音声認識に用いる音響モデルと言語モデルである。この音響モデル・言語モデル１０２は、例えばハードディスク装置やメモリ等の記憶装置に記憶され、本システムを構成するコンピュータによりアクセス可能となっている。【００２７】
このうち、音響モデルは、音声の音響的特長を表現した確率モデルであり、例えば非特許文献１の３５ページから４０ページに書かれている、前後の音素コンテキストを考慮したトライフォンを音素として持つＨＭＭ（Hidden Marcov Model：隠れマルコフモデル）が広く使われている。【００２８】
以下、音響モデルの学習について述べる。【００２９】
先ず、音声の音響的特長は、非特許文献１の５４ページから６４ページに記載されているような、音声データを１０ｍｓｅｃ程度の一定区間を切り出し、プリエンファシス、ＦＦＴ、フィルタバンクの処理を行った後、コサイン変換を行うことで抽出される。抽出された特徴量に加え、パワーや、前後の時刻の差分を用いることもできる。抽出された特徴とそれに対応する書き起こしテキストを用いて得られたラベルデータを用い、非特許文献１の１２７ページから１３０ページに記載されているフォワード・バックワード確率を計算することで、特徴とラベルデータとを対応付ける。【００３０】
ここで、ラベルデータとしては、前述のトライフォンなどが考えられる。例えば、「わたくし」と書き起こされた場合、ラベルデータは、「*-w+a w-a+t a-t+a t-a+k a-k+u k-u+s u-s+i s-i+*」のようになる。対応付けられた特徴量とラベルデータとを用いて、音素やさらに細かい状態単位などの区間毎に分布関数のパラメータを計算する。分布関数として正規分布が用いられることが多いが、この場合は、パラメータ特徴量の平均と分散である。【００３１】
言語モデルは、非特許文献３の５７ページから６２ページに記載されているように、言語モデルをＮグラムによる近似で表し、その学習方法は主に最尤推定によって行われる。Ｎグラムは、言語モデルのモデル化の手法で、履歴のＮ−１単語を条件としたＮ個目の単語の出現確率（条件付き確率）を用いて、全単語の出現確率を近似する方法である。出現確率は、最尤推定によると学習コーパスの単語列の頻度を数えることによって計算することができる。例えば、「私」の後に「は」が出現する確率を表すＰ（は｜私）は、「私」「は」が同時に出現する同時確率Ｐ（私，は）と、「私」が出現する確率Ｐ（私）とを用いて、Ｐ（は｜私）＝Ｐ（私，は）／Ｐ（私）と計算することができる。【００３２】
音声認識手段１０１は、学習音声１００と音響モデルと言語モデルを用いて、前述のフォワード・バックワード確率の対数値を音響スコアとし、Ｎグラムの対数値を言語スコアとして、両者の和が最も大きいものを認識候補として出力する。出力の形式は、非特許文献１の３３４〜３３８に掲載されている単語グラフが用いられることが多い。【００３３】
図２を用いて、単語グラフについて説明する。【００３４】
図２の左図におけるＩ１〜Ｉ５は、単語の始端時刻と終端時刻を定義する点であり、始端時刻を表すものを始端ノード、終端時刻を表すものを終端ノードと呼ぶ。図２の左図にて、単語は、ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇとしてあらわされており、単語の先頭時刻である始端ノードから単語の終端時刻である終端ノードを結ぶ実線として図示されている。これを単語アークと呼ぶ。始終端ノードの表す時刻がその単語が認識候補として現れた時刻を示す。単語グラフは、図２の左図を右図のように書き下したもので、各始端終端ノード（Ｉ１〜Ｉ５）を用いて単語アークを記述する。記述された単語アークごとに、単語、音響尤度などの情報が記述されている。【００３５】
候補絞込み手段１０３は、音声認識手段１０１が出力した認識結果である、単語グラフを用いてスコアの高い順にＭ個の認識候補を選択し、それぞれの認識候補の音響スコアと言語スコア、単語数などの情報を出力する。選択の方法は、例えば、Ａ＊サーチ（Ａスターサーチ）が使われる。【００３６】
ここで、図２と図３を用いて、候補絞込み手段１０３によるＡ＊サーチについて動作を説明する。【００３７】
Ａ＊サーチでは、スタックと呼ばれる単語情報を記憶する手段が用意されている。ここで、単語情報とは、単語グラフ上の単語（ａ〜ｈ）とその経路情報および経路のスコアをさす。経路情報とは、単語グラフの終端であるＩ５のノードに接続する単語、例えばｅから、先頭までたどったときに通過した単語ｅ→ｃ→ａのような経路を表す情報である。【００３８】
経路のスコアは、この実施例の場合、音響スコアと言語スコアの和とする。経路スコアは、前向きスコアと後ろ向きスコアの和からなる。前向きスコアとは、始端からある単語にたどり着くまでに足された音響スコアと言語スコアの和とし、後ろ向きスコアとは、終端からある単語スコアにたどり着くまでに足された音響スコアと言語スコアの和とする。例えば、単語ａにおける経路スコアを計算する場合、前向きスコアは０で、後ろ向きスコアは単語ｅ、ｃもしくはｇ、ｆ、ｃか、ｇ、ｄの３通りの経路のいずれかの音響スコアと言語スコアの和として定義される。【００３９】
次に、図３を参照して、Ａ＊サーチの動作の詳細を説明する。【００４０】
図３において、Ｓｔｅｐ０では、初期状態として、特に単語の意味を成さない仮の終端（終端）がスタックにつまれている。終端は、図２の単語ｅ、ｇに繋がっているとする。【００４１】
次いで、Ｓｔｅｐ１では、スタックの先頭を取り出す。ここで、一旦スタックは空になる。次の動作として、終端に繋がる単語ｅ、ｇをスタックに積む。そのとき、各単語に終端から接続されたとする経路情報と、経路のスコアを付加する。【００４２】
次いで、Ｓｔｅｐ２−１では、スタックを経路のスコアでソートする。図の場合、ｇが先頭に来たとしている。【００４３】
次いで、Ｓｔｅｐ３−１では、スタックの先頭の単語ｇを取り出す。このとき一旦、スタックは単語アークｅだけになる。単語アークｇに繋がる単語ｆ、ｄ、ｈをスタックに積む。このとき、ｆ、ｄ、ｈの経路情報として、「ｇ←終端」のように、終端からｇを経て到達したことを示す経路情報を付加する。更に、経路スコアを付加する。【００４４】
次いで、Ｓｔｅｐ２−２、Ｓｔｅｐ３−２では、上記と同様なことを繰り返す。Ｓｔｅｐ２−３の処理が終了後に先頭に来ている単語の前に新たな単語が無い場合（単語ａのように）、第１位候補として、単語で表されていた単語ｇ、ｄ、ａを認識結果として出力する。【００４５】
以後、Ｓｔｅｐ２−ｎ、Ｓｔｅｐ３−ｎ（ｎは整数）を繰り返し行い、スタックの先頭に来た単語アークの接続先が無い場合、認識結果として単語列を出力する動作を行うことで、第Ｍ位候補となる単語列を認識結果として出力することができる。【００４６】
スコア計算手段１０４は、学習音声データ１００と正解テキスト１１０を用いて、後述する式（２）における【００４７】
【数２】
2008105263.tif 000004
を計算する。【００４８】
ここで、ｋ＝１の場合は音響スコアで、ｋ＝２の場合は言語スコアとし、ｏｉはｉ番目の学習音声データ、ｗｉはｉ番目の学習音声データに対応する単語系列である。ここで計算される音響スコアは、個々の学習音声データとその単語系列セットｏｉとｗｉを用いて得られる、前述のフォワード・バックワード確率の対数値である。同様に言語スコアは、単語系列のＮグラム確率の対数値である。【００４９】
スコア期待値計算手段１０５は、候補絞込み手段１０３によって絞られた認識候補と、音響スコアと、言語スコアとを用いて、【００５０】
【数３】
2008105263.tif 000005
を計算する。【００５１】
ここで、ｐ（ｗ｜ｏｉ）は、学習音声データｏｉと任意の単語列ｗの事後確率で、式（１）で計算することができる。ただし、式（１）の分母は、単語列ｗを全ての組み合わせについて計算する必要があるが、スコア期待値計算手段１０５では、候補絞込み手段１０３で選択されたＭ個の候補のみについて計算する。【００５２】
重み係数更新手段１０６は、音響モデルと言語モデルとから得られるスコアに対し、学習音声データ１００の正解テキスト１１０を用いて計算される正解のスコアと、音声認識手段１０１により出力される認識結果のスコアとの差が大きくなるようにスコアにかかる重み係数を更新する。具体的には、下記の式（２）を用いて、各モデルのスコアの重み係数を更新する。【００５３】
【数４】
2008105263.tif 000006
ここで、式（２）の【００５４】
【数５】
2008105263.tif 000007
は、スコア計算手段１０４で計算される値であり、【００５５】
【数６】
2008105263.tif 000008
は、スコア期待値計算手段１０５によって計算される値である。ηは予め適当に設定された値とする。例えば、η＝０．１程度に設定しておくものとする。【００５６】
目的関数計算手段１０７は、スコア期待値計算手段１０５で計算された事後確率ｐ（ｗ｜ｏ）のうち、学習音声データｏに対応する単語系列ｗに当たるものを積算する。【００５７】
収束判断手段１０８は、目的関数計算手段１０７により積算された事後確率に対し、１回前の更新時に計算された値からの変化量が、ある一定の閾値以下の場合、更新終了の判断を行う。一方、閾値よりも大きい場合、再度候補選択手段１０３に戻って処理を続ける。ここで変化量は、前回からの差分を今回の値で割ったものであるとする。【００５８】
重み係数収束判断手段１０９は、重み係数更新手段１０６により更新された重み係数の値に対し、１回前の更新時で得られた値との差分の比率が閾値以下になった場合、終了の判断を行う。また、閾値よりも大きい場合、再度、音声認識手段１０１に戻り処理を繰り返すことを判断する。【００５９】
次に、図４を参照して、本実施形態の重み係数学習手段００１の動作を説明する。【００６０】
まず、音声認識手段１０１の処理を実行する（ステップＳｔ１１）。この処理では、音響モデル・言語モデル１０２を用いて学習音声データ１００の認識を行う。この場合、音響モデルと言語モデルのそれぞれの重み係数λ１、λ２は、初期値として任意の値を用いるが、理想的な場合を想定し、λ１＝１、λ２＝１とする。認識を行った後に、認識結果を図２に示される形式の単語グラフを出力する。【００６１】
次いで、単語絞込み手段１０３の処理を実行する（ステップＳｔ１２）。この処理では、単語グラフをＡ＊サーチを用いて探索を行い、Ｍ個の単語列候補と、それに付随する音響スコア、言語スコアとを出力する。【００６２】
次いで、スコア計算手段１０４の処理を実行する（ステップＳｔ１３）。この処理では、学習音声データ１００と正解テキスト１１０を用いて、式（２）における【００６３】
【数７】
2008105263.tif 000009
を計算する。これは、全ての学習音声データ１００に対して行われるとする。【００６４】
次いで、スコア期待値計算手段１０５の処理を実行する（ステップＳｔ１４）。この処理では、Ｍ個の単語列候補と音響スコアと言語スコアを用いて、【００６５】
【数８】
2008105263.tif 000010
を計算する。これは、全ての学習音声データ１００に対して計算されるとする。すなわち、学習音声データ数×Ｍ回の計算が行われる。【００６６】
次いで、重み係数更新手段１０６の処理を実行する（ステップＳｔ１５）。この処理では、η＝０．１としてスコア計算手段１０４で計算された【００６７】
【数９】
2008105263.tif 000011
と、スコア期待値計算手段１０５で計算された【００６８】
【数１０】
2008105263.tif 000012
とを、式（２）へ適用し、重み係数λｋを更新する。【００６９】
次いで、目的関数計算手段１０７の処理を実行する（ステップＳｔ１６）。この処理では、式（１）と、単語列候補、および正解テキスト１１０を用いて各学習音声データの事後確率を計算し、それらを積算する。【００７０】
次いで、収束判断手段１０８の処理を実行する（ステップＳｔ１７）。この処理では、積算された事後確率に対し、変化率がある一定の閾値、たとえば１．０−４以下であるか否かを判断する。その結果、閾値よりも大きい場合（ＮＯ）は、候補絞込み手段１０３の処理（ステップＳｔ１２）に戻る。この場合、候補絞込み手段１０３は、重み係数更新手段１０６で更新された重み係数の値を用いて候補を絞り込む。一方、閾値以下の場合（ＹＥＳ）は、収束したものとして次段の重み係数収束判断手段１０９に処理を進める。【００７１】
次いで、重み係数収束判断手段１０９の処理を実行する（ステップＳｔ１８）。この処理では、更新された重み係数の変化率がある一定の閾値以下であるか否かを判断する。その結果、閾値よりも大きい場合（ＮＯ）は、音声認識手段１０１の処理（ステップＳｔ１１）に戻る。この場合、音声認識手段１０１は、重み係数の値を更新して、再度認識処理を行う。一方、閾値以下の場合（ＹＥＳ）は、収束したものとして終了の判断を行う。【００７２】
従って、本実施形態によれば、音響モデルや言語モデルなどから計算されるスコアにかかる重み係数の調整において、自動的にそれらの最適な値を調整することができる重み係数学習システムを提供することができる。【００７３】
すなわち、本実施形態では、各モデルにより計算されるスコアの重み係数の計算において、任意の初期値から推定を始めても、最適値を推定することができる。このため、それらの重み係数の値を用いることで高精度な音声認識が可能になる。【００７４】
その理由は、次のとおりである。式（１）を最大にする場合、正確に分母の計算を行う必要があるが、全ての単語などの出力系列の組み合わせを計算する代わりに、自動的にその組み合わせの選別を行い、その選別された中で最適値を計算する。そのことにより、初期値よりも適した重み係数の値（準最適値と呼ぶ）が推定されることになる。そしてさらに、この準最適値を用いて更に認識処理などを行い、候補を選別し直すことで、より推定に適した選別が行われることになる。その中で最適値を再度推定することで、前回の準最適値よりもより適当な値になっていることが期待できる。【００７５】
なお、上記実施形態では、スコア期待値計算手段１０５において、計算される値【００７６】
【数１１】
2008105263.tif 000013
の計算方法として、候補絞込み手段１０３で選択されたＭ個の候補を用いて計算する方法をあげたが、その他の例として、非特許文献４で記述されているフォワード・バックワードアルゴリズムを用いることで、単語グラフから直接計算することも可能である。【００７７】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態は、第１の実施形態における音響スコアと言語スコアの重み係数学習システムを用いた音声認識システムに適用したものである。【００７８】
図５を参照すると、本実施形態の音声認識システムは、重み係数学習手段００１と、学習音声データ１００と、音響モデル・言語モデル１０２と、音声認識手段１０３とを有している。それぞれの構成は、第１の実施形態と同様である（音声認識手段１０３は、重み係数学習手段００１内の音声認識手段１０１の構成と同様である）。【００７９】
次に、本実施形態における動作を説明する。【００８０】
まず、重み係数学習手段００１により、前述したように、学習音声データ１００と、音響モデル・言語モデル１０２とを用いて、音響スコアと言語スコアにかかる重み係数λ１、λ２を推定する。【００８１】
次いで、音声認識手段１０３により、音響モデル・言語モデル１０２を用いて、学習音声データ１００とは別の認識対象となる音声データの認識を行う。認識の際に、前述と同様の音響スコアと言語スコアが計算されるが、それにかかる重み係数は、重み係数学習手段００１が推定した値λ１、λ２を用いる。【００８２】
従って、本実施形態によれば、音響モデルや言語モデルなどから計算されるスコアにかかる重み係数の調整において、自動的にそれらの最適な値を調整することができる重み係数学習システムを用いることにより、調整された重み係数を用いた高精度な音声認識システムを提供することができる。【００８３】
（変形例）
以上、本発明の実施形態を詳細に説明したが、本発明は、代表的に例示した上述の実施形態に限定されるものではなく、当業者であれば、特許請求の範囲の記載内容に基づき、本発明の要旨を逸脱しない範囲内で種々の態様に変形、変更することができる。これらの変形例や変更例も本発明の権利範囲に属するものである。【００８４】
例えば、前記の実施形態では、音響モデルと言語モデルの重み係数の推定について記述したが、モデルの数は２つに限らず、複数の音響モデルや複数の言語モデルでも同様の処理でそれぞれのモデルで得られるスコアにかかる重み係数を推定することが可能である。その場合、式（１）や式（２）のｋがモデルの数に応じて増えていくことになる。また、音響スコアや言語スコアだけに限らず、任意のスコアが導入されても、それにかかる重み係数を設定した上で適用が可能である。【００８５】
候補絞込み手段１０３は、Ｍ個の認識候補の決め方として、Ｍが予め定められた一定値にする場合が考えられる。また、同様にＭ個の決め方として、音響スコアや言語スコア、更に音響スコアと言語スコアの和が閾値よりも大きいものだけを選択することもできる。また、Ｍの決め方として、音響スコアや言語スコア、または音響スコアと言語スコアの和が１位候補のそれとの差分や比率が閾値以上のものを選択することができる。【００８６】
スコア期待値計算手段１０５は、Ｍ個の候補を用いて期待値を計算する方法だけではなく、単語グラフを用いて期待値を計算する方法に置き換えることも可能である。【００８７】
収束判断手段１０８は、重み係数が更新される前のスコアと、重み係数が更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、重み係数更新手段１０８に戻り処理するようにしてもよい。【００８８】
また、収束判断手段１０８は、積算された事後確率の値だけでなく、重み係数更新手段１０８により更新された重み係数の値を用いて収束の判断を行ってもよい。【００８９】
例えば、収束判断手段１０８は、重み係数が更新される前と更新された後との重み係数の差分、および、当該差分を更新される前の値で割った重み係数の変化率が、予め定められた閾値よりも大きい場合に、重み係数更新手段１０８に戻り処理するようにしてもよい。【００９０】
重み係数収束判断手段１０９は、重み係数が更新される前と更新された後との重み係数の差分、および、当該差分を更新される前の値で割った重み係数の変化率が、予め定められた閾値よりも大きい場合に、音声認識手段１０１に戻り処理するようにしてもよい。【００９１】
また、重み係数収束判断手段１０９は、重み係数の値だけではなく、目的関数計算手段１０７によって計算された積算された事後確率を用いて収束の判断をしてもよい。【００９２】
例えば、重み係数収束判断手段１０９は、重み係数が更新される前のスコアと、更新された後のスコアとの差分、および、当該差分を更新される前のスコアで割った変化率が、予め定められた閾値よりも大きい場合に、音声認識手段１０１に戻り処理するようにしてもよい。【００９３】
また、上記の重み係数学習システムと音声認識システムは、そのハードウェア及びソフトウェア構成は特に限定されるものではなく、上述した各手段の機能を実現可能なものであれば、いずれのものでも適用可能である。例えば、各部の機能毎に回路を独立させて構成したものでも、複数の機能を１つの回路にまとめて一体に構成したものでも、いずれのものであってもよい。或いは、全ての機能を主にソフトウェアの処理で実現するものでもあってもよい。【００９４】
また、上記の重み係数学習システムと、音声認識システムとを構成する各手段の少なくとも一部の機能を、プログラムコードを用いて実現する場合、かかるプログラムコード及びこれを記録する記録媒体は、本発明の範疇に含まれる。この場合、ＯＳ（Operating System）やアプリケーションソフト等の他のソフトウェアと連携して上記機能が実現される場合は、それらのプログラムコードも含まれる。記録媒体には、コンピュータ内に配置されるＲＯＭ（Read Only Memory）等のメモリやハードディスクのほか、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)、ＤＶＤ−ＲＯＭ(Digital Versatile Disk Read Only Memory)等のディスク型記録媒体や、磁気テープ等のテープ型記録媒体、或いは持ち運び可能なＩＣ(Integrated Circuit)メモリ等の可搬型記録媒体も含まれる。また、他の実施形態としては、インターネット等の通信ネットワークを介して、サーバ等の他のコンピュータ機の記録媒体上に格納されたプログラムコードをダウンロードしたりする態様も含まれる。【００９５】
この出願は、２００７年２月２８日に出願された日本出願特願２００７−０４９９７５号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００９６】
本発明によれば、音声認識を行う音声認識装置や、音声認識装置をコンピュータに実現させるためのプログラムといった用途に適用できる。
【図１】
2008105263.tif 000014
【図２】
2008105263.tif 000015
【図３】
2008105263.tif 000016
【図４】
2008105263.tif 000017
【図５】
2008105263.tif 000018
【国際調査報告】
2008105263.tif 000019
2008105263.tif 000020
2008105263.tif 000021
2008105263.tif 000022