Viterbiサーチ(one-pass DP)は各認識単語の最後の状態を意味するグリッド と単語の最初の状態を意味するグリッドの遷移において尤度の高い遷移を選 択していく。認識単位を単語とした場合のアルゴリズムを表 2.2に示す。
| [定義] |
| フレーム |
| [初期化] |
| 1)
|
| [ Viterbiサーチ] |
| 3) |
| 4)
|
| 5) |
|
|
|
|
| [単語境界の計算] |
| 7)
|
| 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)の遷移の尤度の高い方を選択する。
これを全状態に対して計算を行なう。