言語情報として単語のtrigramを用いた場合の求める解は、文候
補
を以下のように定式化して、これを最大
にする文(単語列)
を選び出すことである。
ここでは単語
の音響尤度、
は単語
の次に単語
が現
れたときに
に遷移する確率、
は音響尤度と単語
の尤度を結びつける結合定数である。
従来、連続単語認識のためのアルゴリズムとして知られている Viterbiサーチ(one-pass DP)は各単語のHMMの最後の状態と単語の 最初の状態の遷移においてtrigramの確率を掛けることによって 1)式を満たす最尤の単語列の候補を計算することができる。ただ し、 trigramは2つ前の単語から現在の単語に遷移する確率値で あるため、認識アルゴリズムでは、現在の単語と 1つ前の単語の最大累積尤度を、つねに保持する必要がある。そ のためbigramと比較すると、必要なメモリ量が大幅に増加する。 認識単位を単語とした場合のアルゴリズムを表 2 に示す。
図 1 に、このアルゴリズムの簡略図を
示す。この図では、認識語彙数をと
の2単語で、単語の
HMMは 4-state 3-loop で、状態は0から2までとする。縦軸はHMMの
状態で、横軸は時間で、奥行きは語彙を示している。
図中○ 1から○ 7は表 1 に示され る状態までの最大累積尤度であるとする。
単語の最初の状態以外は、前時刻の同一状態と前時刻の1つ前の最
大累積尤度の2遷移のうち、最大累積尤度の高い方を選択する。例
えば、○ 3は○ 1の遷移と○ 2から遷移の最大累積尤
度の高い方を選択する。しかし、単語の最初の状態は、前時刻の最
初の同一の最大累積尤度と各認識単語の最後の最大累積尤度に現在
の単語に遷移するtrigramの連鎖確率値を掛けたものから遷移の最
大累積尤度の高い方を選択する。例えば、○ 7は
○ 4にtrigramの値(
) を掛けたものと
○ 5にtrigramの値(
)と○ 6の遷移の尤
度の高い方を選択する。これを全状態に対して計算を行なう。
[定義] |
![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
![]() |
![]() |
![]() ![]() |
![]() ![]() ![]() ![]() |
フレーム![]() |
![]() |
[初期化] |
![]() |
1)
![]() |
![]() |
[ Viterbiサーチ] |
![]() |
2) ![]() |
3) ![]() |
4)
![]() |
5)
![]() |
![]() |
![]() |
[単語境界の計算] |
6)
![]() |
7)
![]() |
8)
![]() |
![]() |
もし
![]() ![]() |