Viterbiサーチ(one-pass DP)は各認識単語の最後の状態を意味するグリッド と単語の最初の状態を意味するグリッドの遷移において尤度の高い遷移を選 択していく。認識単位を単語とした場合のアルゴリズムを表 2.2に示す。
[定義] |
:単語における状態数 |
:単語における状態から状態への遷移確率 |
:単語の状態におけるベクトルの出力確率 |
:語彙数 |
:入力フレーム数 |
:フレームにおける観測ベクトル |
:単語,状態での |
フレームまでの最大累積尤度 |
[初期化] |
においてstep1を実行 |
1) |
は文頭を意味 |
[ Viterbiサーチ] |
においてstep2 step6を実行 |
3) においてstep4を実行 |
4) においてstep5を実行 |
5) |
[単語境界の計算] |
7) においてstep8を実行 |
8) |
もし ならば |
図2.5に、このアルゴリズムの簡略図を示す。この 図では、認識語彙数をとの2単語で、単語のHMMは 4-state 3-loop で、状態は0から2までとする。縦軸はHMMの状態で、横軸は時間で、奥行きは 語彙を示している。 ○ 1は時間において単語状態が0、 ○ 2は時間において単語状態が1、 ○ 3は時間において単語状態が0、 ○ 4は時間において単語状態が2、 ○ 5は時間において単語状態が2、 ○ 6は時間において単語状態が2、 を意味するグリッド(最大累積尤度)であるとする。
単語の最初の状態を意味するグリッド以外は、前時刻の同一状態と前時刻の 1つ前の最大累積尤度の2遷移のうち、最大累積尤度の高い方を選択する。 例えば、○ 6は○ 2の遷移と○ 4から遷移の最大累積尤度の高 い方を選択する。しかし、単語の最初の状態を意味するグリッドは、前時刻 の最初の同一の最大累積尤度と各認識単語の最後の最大累積尤度の高い方を 選択する。例えば、 ○ 3 は ○ 1, ○ 5, ○ 6 の遷移の尤度の 高い方を選択する。
なお、単語のbigramを利用するときは、 ○ 3は○ 5にbigramの値( ) を掛けたものと ○ 4にbigramの値( ), (: language weight)の遷移の尤度の高い方を選択する。
これを全状態に対して計算を行なう。