(57)【要約】【課題】  混合分布HMMの出力確率計算の計算量を削減すること。【解決手段】  連続した時刻や観測信号の変化が少ないと判断される場合には、混合分布の出力確率を最大にする分布も変化しない可能性が高いことを利用して、混合分布HMMの出力確率を求める際に、最大出力確率となる分布を記憶しておき、連続した時刻あるいは観測信号の変化が少ない場合には、記憶した分布の出力確率を混合分布の出力確率とする。こうすることで混合分布の出力確率を計算する際に他の分布の出力確率計算を省き、出力確率に要する計算量を削減する。【選択図】  図５
2006293033.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に記憶された認識対象の事象をモデル化した混合分布HMM、を用いて観測信号のパターン認識を行うパターン認識装置によって実行される、混合分布HMMの状態の出力確率計算方法であって、
第１の観測信号について、状態に属する全分布の重み付き出力確率を計算し、その最大値および、最大値を出力する分布である最大分布を求め、求まった最大値を混合分布の出力確率とする第１の出力確率計算工程と、
第１の出力確率計算工程で求められた最大分布を特定する情報を記憶装置に格納する最大分布記憶工程と、
所定の条件を満たす場合、第１の観測信号よりも後に観測された第２の観測信号については、第１の出力確率計算工程に代えて、最大分布記憶工程において記憶装置に格納された最大分布の重み付き出力確率を計算し、その計算した重み付き出力確率を混合分布の出力確率とする第２の出力確率計算工程と、
を有することを特徴とする出力確率計算方法。
【請求項２】
前記所定の条件は、最後に行われた第１の出力確率計算工程の実行時から所定時間を経過していないこと、とすることを特徴とする請求項１に記載の出力確率計算方法。
【請求項３】
前記所定の条件は、最後に行われた第１の出力確率計算工程で対象とされた観測信号と現在の観測信号との距離が所定値未満であること、とすることを特徴とする請求項１に記載の出力確率計算方法。
【請求項４】
前記所定の条件は、最後に行われた第１の出力確率計算工程の実行時から所定時間を経過しておらず、なおかつ、当該最後に行われた第１の出力確率計算工程で対象とされた観測信号と現在の観測信号との距離が所定値未満であること、とすることを特徴とする請求項１に記載の出力確率計算方法。
【請求項５】
記憶装置に記憶された認識対象の事象をモデル化した混合分布HMM、を用いて観測信号のパターン認識を行うパターン認識装置によって実行される、混合分布HMMの状態の出力確率を計算する出力確率計算方法であって、
第１の観測信号について、状態に属する全分布の重み付き出力確率を計算し、その最大値および、最大値を出力する分布である最大分布を求め、求まった最大値を混合分布の出力確率とする第１の出力確率計算工程と、
第１の出力確率計算工程で求めた最大分布を特定する情報を記憶装置に格納する最大分布記憶工程と、
第１の観測信号よりも後に観測された第２の観測信号について、最大分布記憶工程により記憶装置に格納された最大分布の重み付き出力確率を計算し、その計算した重み付き出力確率を混合分布の出力確率とする第２の出力確率計算工程と、
第２の出力確率計算工程で計算された出力確率が所定の閾値以下である場合には、第１の出力確率計算工程により出力確率を再計算させる制御工程と、
を有することを特徴とする出力確率計算方法。
【請求項６】
混合分布HMMの状態の出力確率を計算する出力確率計算装置であって、
状態に属する全分布の重み付き出力確率を計算し、その最大値および、最大値を出力する分布である最大分布を求め、求まった最大値を混合分布の出力確率とする第１の出力確率計算手段と、
第１の出力確率計算手段により求められた最大分布を特定する情報を記憶する記憶手段と、
記憶手段に記憶された最大分布の重み付き出力確率を計算し、その計算した重み付き出力確率を混合分布の出力確率とする第２の出力確率計算手段と、
所定の条件を満たすか否かに応じて、第１の出力確率計算手段と第２の出力確率計算手段とを切り替える制御手段と、
を有することを特徴とする出力確率計算装置。
【請求項７】
混合分布HMMの状態の出力確率を計算する出力確率計算装置であって、
第１の観測信号について、状態に属する全分布の重み付き出力確率を計算し、その最大値および、最大値を出力する分布である最大分布を求め、求まった最大値を混合分布の出力確率とする第１の出力確率計算手段と、
第１の出力確率計算手段により求められた最大分布を特定する情報を記憶する記憶手段と、
第１の観測信号よりも後に観測された第２の観測信号について、記憶手段に記憶された最大分布の重み付き出力確率を計算し、その計算した重み付き出力確率を混合分布の出力確率とする第２の出力確率計算手段と、
第２の出力確率計算手段により計算された出力確率が所定の閾値以下である場合には、第２の出力確率計算手段により出力確率を再計算させる制御手段と、
を有することを特徴とする出力確率計算装置。
【請求項８】
請求項６または７に記載の出力確率計算装置を含む音声認識装置。
【請求項９】
請求項１から５までのいずれかに記載の出力確率計算方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録した、コンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、混合分布HMMの状態の出力確率を計算する方法および装置に関する。
【背景技術】
【０００２】
HMM（隠れマルコフモデル）は、時系列信号を表現するのに適しており、音声認識や動画像認識など時間変動する信号を扱うパターン認識の分野で広く用いられている。
【０００３】
一般にHMMは複数の状態で構成され、各状態で信号を出力する確率である出力確率と状態間を遷移する確率である遷移確率で表される。図２に、３状態で構成したHMMの一例を示す。図２において、ｓは状態インデックス、a(i,j)はi番目の状態iから状態jに遷移する遷移確率、b(i,o)は状態iにおいて信号oを出力する出力確率である。パターン認識では、複数のHMMで認識対象の事象をモデル化しておき、時系列信号O(t)（t=1〜T）を観測した際に、各HMMについてその信号系列がHMMから出力される確率を遷移確率および出力確率から求め、最も確率が高い事象を認識結果とする。
【０００４】
HMMやHMMを用いたパターン認識の方法のより詳しい説明については、多くの文献で紹介されているので詳細な説明は省略する。例えば、HMMを用いた音声認識については非特許文献１に詳しく紹介されている。
【０００５】
音声認識では、出力確率分布を複数の連続分布の和で表した混合分布HMMがよく用いられる。図３にその例を示す。図３の例は、HMMの状態の出力確率分布（３０１）を、分布１（３０２）と分布２（３０３）の和で表したものである。信号 oが観測されたときの出力確率値b(o)は、分布１（３０２）から求まる出力確率b'(1,o)と分布２（３０３）から求まる出力確率b'(2,o)を用いて、b(o) = b'(1,o) + b'(2, o) で求める。
【０００６】
図３の例では、簡単のため観測信号が１次元の場合について説明したが、音声認識をはじめとするパターン認識では、観測信号として複数の特徴量を用いるのが一般的なので、出力確率分布は多次元の混合連続分布で定義される。また、出力確率の計算が簡単な正規分布がよく用いられており、混合分布の出力確率は複数の正規分布の出力確率の重み付き和で計算される。
【０００７】
また、図３では混合する分布の数（混合数）が２つの場合で説明したが、認識精度の高いモデルを作成するためには、出力確率分布を精密に表現するために混合数を多くする必要がある。
【０００８】
実際の出力確率は例えば無相関正規分布を用いた場合の混合分布の出力確率は次式で計算できる。
【０００９】
【数１】
2006293033.tif 000003
【００１０】
【数２】
2006293033.tif 000004
【００１１】
数１、数２において、各変数は次の通りである。
K ： 使用する特徴量（観測信号）の次元数、
O＝{o(1),o(2),...,o(K)} ： 観測信号（K次元ベクトル）、
b(O)：混合分布の出力確率、
b'(ｍ,O)：分布mの出力確率、
M：混合数、
w(m)：分布mに対する重み、
σ2 (m,k)：分布mのk次元の分散、
μ(m,k)：分布mのk次元の平均
【００１２】
コンピュータ上で実際に出力確率を計算する場合は次式に示すように重み付き出力確率の対数値B'(m,O)を計算するのが一般的である。
【００１３】
【数３】
2006293033.tif 000005
【００１４】
対数値にすることでアンダーフローを回避し、また、数１のべき乗計算の項が展開されコンピュータの計算負荷が少なくなるという利点がある。観測信号によらない定数部分（C(m)）は事前に計算しておくことができる。最終的に求める混合分布の出力確率の対数値B(O)は、次式のようになる。
【００１５】
【数４】
2006293033.tif 000006
【００１６】
数４では、各分布の重み付き対数出力確率値が求まった後、混合分布の出力確率値を計算するために、べき乗計算と自然対数の計算がなお必要である。この計算を簡素化する方法として、非特許文献２、特許文献３に出力確率演算の近似方法が開示されている。
【００１７】
非特許文献２では、混合分布の出力確率を求める際に、各分布の出力確率の和を求める代わりに、各分布の出力確率のうち最大の出力確率で近似することで計算量の削減を行っている。すなわち、数２のかわりに次式で混合分布の出力確率を計算する。
【００１８】
【数５】
2006293033.tif 000007
【００１９】
特許文献３には、非特許文献２と同様の手法を状態遷移出力型HMMに適用した例が示されている。
【００２０】
数５の近似演算を数４に用いると、次式のように混合分布の対数出力確率の演算が簡略化できる。
【００２１】
【数６】
2006293033.tif 000008
【００２２】
【非特許文献１】Lawrence Rabiner, Biing-Hwang Juang著, "Fundamentals of Speech Recognition", Englewood Cliffs NJ: PTR Prentice Hall (Signal Processing Series), 1993, ISBN 0-13-015157-2
【非特許文献２】H. Ney, A. Noll 著, "Phoneme modeling using continuous mixture densities", Proc. ICASSP88, pp.437-440, 1988
【特許文献１】特許第２９８３３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
上述の従来手法は、近似誤差による認識精度の劣化が少なく優れた手法であるが、混合分布HMMの出力確率計算には、依然として膨大な計算量が必要である。
【００２４】
本発明は、混合分布HMMの出力確率計算の計算量をさらに削減することを目的とする。
【課題を解決するための手段】
【００２５】
本発明の一側面は、記憶装置に記憶された認識対象の事象をモデル化した混合分布HMM、を用いて観測信号のパターン認識を行うパターン認識装置によって実行される、混合分布HMMの状態の出力確率計算方法に係り、第１の観測信号について、状態に属する全分布の重み付き出力確率を計算し、その最大値および、最大値を出力する分布である最大分布を求め、求まった最大値を混合分布の出力確率とする第１の出力確率計算工程と、第１の出力確率計算工程で求められた最大分布を特定する情報を記憶装置に格納する最大分布記憶工程と、所定の条件を満たす場合、第１の観測信号よりも後に観測された第２の観測信号については、第１の出力確率計算工程に代えて、最大分布記憶工程において記憶装置に格納された最大分布の重み付き出力確率を計算し、その計算した重み付き出力確率を混合分布の出力確率とする第２の出力確率計算工程とを有する。
【発明の効果】
【００２６】
本発明によれば、従来よりも混合分布HMMの出力確率計算の計算量を削減することができる。このため、例えば混合分布HMMを用いた音声認識装置に本発明を適用した場合には、従来よりも少ない計算量で音声認識を実施することができ、応答速度が早い音声認識を実現できる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００２８】
（実施形態１）
観測信号の時間変化が緩やかである場合、ある時刻tに観測された信号O(t)に対して最大出力確率となる分布は、わずかに変動した次の時刻の観測信号O(t+1)においても、最大出力確率となる可能性が高いと考えられる。つまり観測信号の変化が少ない場合は、最大出力確率となる分布も変動しないと考えられる。図４に簡単な例を示す。図４において上記した数５による近似演算を当てはめると、観測信号o(t)に対する混合分布の出力確率b(o(t))は、o(ｔ)の出力確率が高い分布１（３０１）の出力確率値b'(1,o(t))で近似される。次の時刻t+1の観測信号o(t+1)が図４に示したようにo(t)に対してあまり変動しなかった場合、o(t+1)に対する混合分布の出力確率b(o(t+1))もまた、分布１の出力確率値b'(1,o(t+1))で近似される。
【００２９】
本発明は、観測信号の変化が少ない場合、混合分布の出力確率を最大にする分布も変化しない可能性が高いことを利用して、混合HMMの各状態の出力確率を求める際に、状態ごとに最大出力確率となる分布を記憶しておき、観測信号の変化が少ないと判断される場合には記憶した分布の出力確率を混合分布の出力確率とするものである。こうすることで混合分布の出力確率を計算する際に他の分布の出力確率計算を省き、出力確率に要する計算量を削減する。
【００３０】
本実施形態では、短時間での観測信号の時間変化は少なく、近接した期間では同一の分布が最大の出力確率になると仮定して、出力確率を最大にする分布を求めた後、一定期間はその分布の出力確率のみを計算する方法について説明する。
【００３１】
なお、本実施形態では、音声認識装置に本発明を適用する場合について説明するが、本発明は、音声認識装置以外にも、混合分布HMMの出力確率計算を必要とするパターン認識装置（例えば、画像認識装置など）にも適用できることは言うまでもない。
【００３２】
また、本実施形態では、出力確率の対数値を計算する場合について述べるが、対数値ではない出力確率にも適用可能である。
【００３３】
図１は、本実施形態に係る音声認識装置の機能ブロック図である。音声検出部１０１は、入力音声信号から音声区間を検出する。音響処理部１０２は、音声検出部１０１で検出された音声区間の音声信号から、例えばLPCケプストラムやメルケプストラム係数などの音声認識に用いるＫ次元の特徴ベクトルO(t) ＝｛o(t,1), ..., o(t,ｋ), ..., o(t,Ｋ)｝(１≦t≦T) を計算する。尤度計算部１０３は、観測信号としての特徴ベクトルO(t)と音響モデル（HMM）１０５を参照して、言語探索部１０４で実行する探索処理に必要な混合分布HMMの状態sの対数出力確率B(s, O(t)) (1≦s≦S) を計算する (sは状態のインデックス)。探索部１０４は、認識対象語を列挙した認識辞書や受理可能な文法を記録した言語モデル１０６および音響モデル１０５から、音声認識に必要なHMM状態系列を構成し、尤度計算部１０３で計算された各状態の対数出力確率およびHMMの状態遷移確率を参照して、例えばViterbiアルゴリズムを用いてHMM状態系列ごとに出力確率の累積値を求める。そして、累積値が最も大きいHMM状態系列を認識結果とする。
【００３４】
以上のような構成の音声認識装置に、本発明に係る混合分布HMMの出力確率計算手法を適用する場合について、以下で説明する。
【００３５】
本実施形態における尤度計算部１０３の詳細な機能ブロック図を、図５に示す。図示のように、この尤度計算部１０３は、出力確率の計算方法が相異なる出力確率計算部Ａ（５０３）と、出力確率計算部Ｂ（５０４）とを有する。出力確率計算部Ａは、混合分布の全ての分布について対数出力確率を計算して、その最大値を状態の対数出力確率とする。すなわち、先述の数６に示した計算を実施する。その計算後、最大値を出力する分布を特定する情報（例えば、インデックス）は最大分布記憶部５０５に記憶され、その計算を実施した時刻は最大分布計算時刻記憶部５０２に記憶される。他方の出力確率計算部Ｂは、最大分布記憶部５０５に記憶されている分布の対数出力確率を計算し、その値を状態の対数出力確率とする。
【００３６】
計算方法切替部５０１は、出力確率の計算方法の切り替えおよび切り替えのための条件判断を行う。音声認識装置の起動後に初めて出力確率を計算する場合や、最大分布計算時刻記憶部５０２に記憶されている時刻から一定期間経過している場合は、出力確率計算部Ａを選択し、最後に最大分布の計算を行ってから一定期間内は、出力確率計算部Ｂを選択する。このようにして出力確率計算の方法の切替え制御を行う。
【００３７】
次に、時刻tに観測された信号ベクトルO(t)に対する状態sの対数出力確率B(s,O(t))の計算手順について図６のフローチャートを用いて説明する。
【００３８】
音声認識装置の起動後、状態sの対数出力確率を初めて計算する場合は（ステップＳ１０１、YES）、状態ｓの全分布ｍ（1≦m≦M(s)、M(s)は状態ｓの混合数）の対数出力確率B'(s,m,O(t))を計算し、その最大値を状態sの対数出力確率B(s,O(t))とする（ステップＳ１０３）。このとき、対数出力確率が最大となる分布（最大分布）を特定する情報であるインデックスｍをm_max(s)とする。そして、そのm_max(s)を最大分布記憶部５０５に記憶するとともに、状態ｓの最大分布を計算した時刻t'(s)を最大分布計算時刻記憶部５０２に記憶する（ステップＳ１０４）。
【００３９】
一方、状態sの対数出力確率を計算するのが初めてではない場合で（ステップＳ１０１、NO）、現在時刻tが、最後に状態sの最大分布m_max(s)を計算した時刻t'(s)から一定期間(Th1(s))を経過していない場合（ステップＳ１０２、NO）は、状態sの最大分布はm_max(s)になると仮定して、分布m_max(s)の対数出力確率B'(s,m_max(s),O(t))を状態sの対数出力確率B(s,O(t))とする（ステップＳ１０５）。
【００４０】
また、ステップＳ１０２において、現在の時刻がt'(s)から一定期間(Th1(s))を経過した場合は、観測信号が最大分布を計算した時から大きく変化している可能性があり、対数出力確率が最大となる分布も変わる可能性があるので、あらためて全分布の対数出力確率および最大分布の計算をやり直し、t'(s)およびm_max(s)を更新する（ステップＳ１０３）。
【００４１】
以上の処理において、ステップＳ１０１、S１０２の条件判定は計算方法切替部５０１によって実行され、ステップＳ１０３の対数出力確率の最大値の計算およびステップＳ１０４の最大分布計算時刻の更新処理は出力確率計算部Ａ（５０３）によって実行され、ステップＳ１０５の記憶されている分布の対数出力確率の計算は出力確率計算部Ｂ（５０４）によって実行される。また、ステップＳ１０３で求めたm_max(s)は、状態sの最大出力確率を与える分布として最大分布記憶部５０５に記憶され、また、ステップＳ１０４で更新した状態ｓの最大分布を計算した時刻t'(s)は最大分布計算時刻記憶部５０２に記憶される。
【００４２】
ステップＳ１０３、S１０５における、B'(s,m,O(t))の計算は、先述の数３に状態s、時刻tの添字が追加されただけで計算自体は同一となる。添字の追加により、数３は次式のようになる。
【００４３】
【数７】
2006293033.tif 000009
【００４４】
数７における各変数の説明は次の通りである。
O(t)={o(t,1), ..., o(t,k), ..., o(t,K)}：時刻tの観測信号（K次元ベクトル）、
w(s,m)：状態ｓの分布ｍに対する重み、
σ2 (s,m,k)：状態ｓの分布ｍのｋ次元の分散、
μ(s,m,k)：状態ｓの分布ｍのｋ次元の平均
【００４５】
以上説明したように出力確率計算を実施することで、ある状態sの混合分布について最大出力確率となる分布m_max(s)をいったん求めると、続くTh1(s)-1の期間ではm_max(s)以外のB'(s,m,O(t))の計算を省くことができる。例えば、状態sの混合数M(s)がM、Th1(s)の単位をフレームとしてTh1(s)＝Nフレームとした場合の(N-1)フレームの間は、(M-1)回のB'(s,m,O(t))の計算を省けるのでトータルで(M-1)×(N-1)回のB'(s,m,O(t))の計算を省くことができる。このときの、従来法と本発明とのB'(s,m,O(t))の計算回数の比較結果を、図１３に示す。
【００４６】
続いて、参考のため、本発明の効果を調べるために発明者等が行った音声認識実験の結果について説明する。
【００４７】
男女14名が都市名を発声した540発声を、800状態の混合分布HMMを用いて音声認識した場合の認識率および音声認識の処理時間を、本発明を適用した場合と適用しなかった場合について調べた。認識対象語数は100である。また、実験では混合数の違いによる効果の違いを比較するため、混合数2および混合数8の２種類のHMMを用いた。本実施形態におけるTh1(s)は、HMMの状態によらず一律に２として行った。この実験結果を、図１４に示す。
【００４８】
同図は、左の列から順にHMMの混合数、手法（従来法／本発明）、認識率、処理時間を表している。本発明の認識率のカッコ内の数字は、従来法の認識率との差を示している。また、処理時間は各混合数のHMMにおいて従来法の処理時間を1.0とした場合の本発明の処理時間を表している。
【００４９】
この結果から、本発明は、認識率をほぼ同等に保ったまま音声認識の処理時間を削減できることがわかる。また、HMMの混合数が多いほどその削減効果が大きいこともわかる。
【００５０】
（実施形態２）
本発明は、出力確率が最大になる分布（最大分布）を求める際に、その分布を記憶しておき、以降の出力確率計算時に観測信号の変化が少ない場合に、記憶されている最大分布の出力確率を混合分布の出力確率として他の分布の出力確率計算を省くことで計算量を削減する手法である。本実施形態では、別々の時刻に観測された観測信号同士の距離を計算し、その距離が閾値未満の場合を観測信号の変化が少ない場合とする。すなわち、最大分布を求めた時刻の観測信号と、現在の観測信号との距離が閾値未満の場合は、記憶されている最大分布の出力確率を混合分布の出力確率とする。
【００５１】
本実施形態における尤度計算部１０３を、図７に示す。これは、図５に示した実施形態１の構成に観測信号距離計算部５０６を加えた構成である。また、本実施形態における出力確率の計算手順を示すフローチャートを、図８に示す。このフローチャートに示すように、実施形態１とは、出力確率計算の方法を切り替える条件判定が異なる。具体的には、図６のステップＳ１０２がステップＳ１０６で置き換えられている。
【００５２】
以下、本実施形態における出力確率の計算手順の詳細を、実施形態１と異なる処理（ステップＳ１０６）についてのみ、図７および図８を用いて説明する。
【００５３】
新たに追加された観測信号距離計算部５０６では、異なる観測信号O(t)、 O(t')同士の距離D(O(t), O(t'))を、次式により計算する。
【００５４】
【数８】
2006293033.tif 000010
【００５５】
図８のフローチャートにおいて、音声認識装置の起動後、状態sの対数出力確率を計算するのが初めてではない場合は（ステップＳ１０１、NO）、観測信号距離計算部５０６で、現在の観測信号O(t)とm_max(s)を計算した時刻t'(s)における観測信号O(t'(s))との距離D(O(t), O(t'(s)))を上記の数８に従って計算し、D(O(t), O(t'(s)))が閾値(Th2(s))未満の場合は、観測信号の時間変化が少なく状態sの最大分布は変わらないと仮定して、分布m_max(s)の対数出力確率B'(s,m_max(s),O(t))を状態sの対数出力確率B(s,O(t))とする（ステップＳ１０５）。
【００５６】
一方、ステップＳ１０６において、現在の時刻がD(O(t), O(t'(s)))が閾値(Th2(s))以上になった場合は、観測信号が大きく変化して対数出力確率が最大となる分布も変わる可能性があるので、あらためて全分布の対数出力確率および最大分布の計算をやり直し、t'(s)およびm_max(s)を更新する（ステップＳ１０３）。
【００５７】
なお、以上の説明では、観測信号距離計算部５０６で計算する２つの観測信号間の距離D(O(t), O(t'))を、数８に示したユークリッド距離で計算したが、本発明はこれに限るものではなく、例えば市街地距離、マハラノビス距離など別の距離尺度を用いて計算してもよい。
【００５８】
（実施形態３）
本実施形態は、ステップＳ１０５において出力確率計算部Ｂ（５０４）で計算される最大分布の出力確率値を、出力確率計算方法を切り替える基準とするものである。
【００５９】
混合分布において、ある分布の出力確率が閾値以上の場合は、その分布よりも大きい出力確率になる分布がないと判断できる場合がある。簡単な例を図９を用いて説明する。
【００６０】
図９において、分布１（３０２）の出力確率がｘ以上となる区間３０５では、分布１の出力確率は分布２（３０３）の出力確率よりも必ず大きくなる。本実施形態は、このような場合を利用して出力確率の計算計算方法を切り替えるようにしたもので、ある状態の対数出力確率を計算する際に、まず、記憶してある最大分布の出力確率を計算し、その値がある閾値以上の場合はその出力確率を混合分布の出力確率とし、閾値未満の場合は全分布の対数出力確率を計算し、その最大値および最大値となる分布を計算するようにしたものである。
【００６１】
本実施形態の尤度計算部１０３は、実施形態１の構成（図５）と同じで、出力確率の計算手順は図１０に示すフローチャートのようになる。図１０において、実施形態１、実施形態２とは、出力確率計算の方法を切り替える条件判定が異なる。具体的には、実施形態１におけるステップＳ１０２、実施形態２におけるステップＳ１０６の代わりに、ステップＳ１０７の条件判定処理が実行される。ここで、本実施形態では、記憶されている最大分布の出力確率をステップＳ１０７の条件判定に用いるため、このステップＳ１０７の前に、最大分布の出力確率計算を行うステップＳ１０５が実行される点に注意されたい。
【００６２】
以下、本実施形形態における出力確率の計算手順の詳細を、前述の他の実施形態とは異なる部分についてのみ、図５および図１０を用いて説明する。
【００６３】
音声認識装置の起動後、状態sの対数出力確率を計算するのが初めてではない場合は（ステップＳ１０１、NO）、記憶されている最大分布m_max(s)の対数出力確率B'(s,m_max(s),O(t))を状態sの対数出力確率B(s,O(t))とする（ステップＳ１０５）。
【００６４】
次にステップＳ１０７において、ステップＳ１０５で求めたB(s,O(t))を閾値Th3(s)と比較して、閾値を超えていればステップＳ１０５で求めたB(s,O(t))をそのまま状態sの対数出力確率とする。B(s,O(t))が閾値Th3(s)以下の場合は、あらためて全分布の対数出力確率および最大分布の計算を行い、対数出力確率B(s,(O(t))、最大分布を計算した時刻t'(s)および最大分布m_max(s)を更新する（ステップＳ１０３）。
【００６５】
本実施形態において、閾値Th3(s) は、事前に決められた固定値を用いてもよいし、過去の対数出力確率との差、あるいは比などを用いても良い。この場合、Th3(s)を次式で定義することによって、様々な閾値の設定が可能になる。
【００６６】
【数９】
2006293033.tif 000011
【００６７】
上記の数９において、α=1.0とすれば、時刻t'の対数出力確率との差βを閾値とすることになり、ステップＳ１０７において、ステップＳ１０５で求めたB(s,O(t))と時刻t'の対数出力確率B(s,O(t'))との差がβ以下(B(s,O(t))- B(s,O(t')) ≦ β)の時に、ステップＳ１０３の処理を行う。
【００６８】
また、β=0.0とすれば、時刻t'の対数出力確率との比αを閾値とすることになり、ステップＳ１０７において、ステップＳ１０５で求めたB(s,O(t))と時刻t'の対数出力確率B(s,O(t'))との比がα以下(B(s,O(t))／B(s,O(t') ≦ α)の時に、ステップＳ１０３の処理を行う。
【００６９】
また、対数出力確率を比較する対象の時刻t'は、最大分布を求めた時刻t'(s)でもよいし、単に一時刻前のt-1としてもよい。
【００７０】
（実施形態４）
上述の実施形態１〜３で用いた最大分布を計算するかどうかの条件判定（ステップＳ１０２、S１０６、S１０７）を複数組み合わせることも可能である。本実施形態では実施形態１と実施形態２とを組み合わせた場合を説明する。
【００７１】
本実施形態における尤度計算部１０３の詳細な構成は図７に示した実施形態２の機能ブロック図と同じである。本実施形態における出力確率の計算手順を示すフローチャートを図１１に示す。本実施形態では、ステップＳ１０５の処理、すなわち出力確率計算部Ｂ（５０４）による計算を実施するかどうかの判定を、実施形態１で示したステップＳ１０２および実施形態２で示したステップＳ１０６の２つの判定方法によって行う。このようにすることで、ステップＳ１０５においてm_max(s)が間違っていた場合、すなわち、出力確率を最大とする分布が変わっていた場合、の出力確率計算の誤差を少なくし、単独の判定条件でステップＳ１０５を実施する実施形態１、実施形態２よりも認識精度の劣化を少なくすることが期待できる。その反面、本実施形態による計算量の削減効果は実施形態１、実施形態２よりも少なくなる。実施形態１や実施形態２で認識精度の劣化が著しい場合などに本実施形態を実施するのがよいと思われる。
【００７２】
なお、本実施形態では、ステップＳ１０２の後にステップＳ１０６の判定を行っているが、その順序を逆にして、ステップＳ１０６の後にステップＳ１０２の判定を行うようにしてもよい。
【００７３】
同様にして、その他の組み合わせ、あるいは全てを組み合わせた構成も実施可能である。その一例として、実施形態１〜３を全て組み合わせた場合の出力確率の計算手順のフローチャートを図１２に示す。なお、この場合、尤度計算部１０３の構成は、実施形態２で用いた図７と同じになる。
【００７４】
（その他の実施形態）
上述の実施形態１〜４ではそれぞれ、ステップＳ１０２、Ｓ１０６、Ｓ１０７の判定に用いる閾値(Th1(s)、 Th2(s)、 Th3(s))を状態ごとに設定するようにしたが、本発明はこれに限るものではなく、全状態で共通としてもよいし、各状態の分布ごとに設定するようにしてもよい。あるいは、HMMの状態が属する音素あるいは母音や子音などといった音素クラスごとに設定するようにしてもよい。
【００７５】
ところで、図１に示した音声認識装置の機能構成は、専用のハードウェアロジックにより実現することもできるが、汎用のコンピュータシステムで実現することができるものである。
【００７６】
図１の音声認識装置を実現するコンピュータシステムの概略構成を、図１５に示す。図示のコンピュータシステムは、システム全体の制御をつかさどるＣＰＵ１、ブートプログラムや固定的なデータ等を記憶しているＲＯＭ２、メインメモリとして機能するＲＡＭ３をはじめ、以下の構成を備える。
【００７７】
ＨＤＤ４は記憶手段としてのハードディスク装置であって、ここにＯＳ１０のほか、音声認識プログラム１１、図１に示した音響モデル１０５および言語モデル１０６が格納される。音声認識プログラム１１は、図１に示した音声検出部１０１、音響処理部１０２、尤度計算部１０３、および探索部１０４の各機能を実現するプログラムモジュールを含んでいる。ＨＤＤ４は更に、図５あるいは図７に示した最大分布計算時刻記憶部５０２および最大分布記憶部５０５としても機能する。
【００７８】
ＶＲＡＭ５は表示しようとするイメージデータを展開するメモリであり、ここにイメージデータ等を展開することで画面表示装置の一例であるＣＲＴ６に表示させることができる。７および８はそれぞれ、入力装置としてのキーボードおよびマウスで、ＣＰＵ１に割り込み信号を伝えるキーボードコントローラ７ａおよびマウスコントローラ８ｂに接続されている。
【００７９】
以上の構成において、音声認識プログラム１１は例えば、キーボード７あるいはマウス８からの特定の指示イベントに応じて起動される。その際に、音声認識プログラム１１はＲＡＭ３にロードされ、ＣＰＵ１によって実行される。これによってこのコンピュータシステムは音声認識装置として機能することになる。
【００８０】
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（図６、図８、図１０〜１２のいずれかのフローチャートに対応するプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【００８２】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
【００８３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８４】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００８５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００８６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８８】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施形態に係る音声認識装置の機能ブロック図である。
【図２】３状態ＨＭＭの一例を示す図である。
【図３】従来の混合分布HMMの出力確率の計算手法を説明する図である。
【図４】本発明の混合分布HMMの出力確率の計算手法を説明する図である。
【図５】本発明の実施形態１および３における尤度計算部の詳細な機能ブロック図である。
【図６】本発明の実施形態１における出力確率の計算手順を示すフローチャートである。
【図７】本発明の実施形態２および４における尤度計算部の詳細な機能ブロック図である。
【図８】本発明の実施形態２における出力確率の計算手順を示すフローチャートである。
【図９】本発明の実施形態３における混合分布HMMの出力確率の計算手法を説明する図である。
【図１０】本発明の実施形態３における出力確率の計算手順を示すフローチャートである。
【図１１】本発明の実施形態４における出力確率の計算手順の一例を示すフローチャートである。
【図１２】本発明の実施形態４における出力確率の計算手順の別の例を示すフローチャートである。
【図１３】従来法と本発明とにおける、状態ｓの全分布ｍの対数出力確率B'(s,m,O(t))の計算回数の比較結果を示す図である。
【図１４】本発明を適用した音声認識の認識率および処理時間の実験結果を示す図である。
【図１５】図１の音声認識装置を実現するコンピュータシステムの概略構成を示すブロック図である。
【図１】
2006293033.tif 000012
【図２】
2006293033.tif 000013
【図３】
2006293033.tif 000014
【図４】
2006293033.tif 000015
【図５】
2006293033.tif 000016
【図６】
2006293033.tif 000017
【図７】
2006293033.tif 000018
【図８】
2006293033.tif 000019
【図９】
2006293033.tif 000020
【図１０】
2006293033.tif 000021
【図１１】
2006293033.tif 000022
【図１２】
2006293033.tif 000023
【図１３】
2006293033.tif 000024
【図１４】
2006293033.tif 000025
【図１５】
2006293033.tif 000026