実験に用いた認識アルゴリズムの基本は、単語のHMMにViterbiサー チ(one-pass DP)に単語のbigramとした。これの認識アルゴリズムを 表3に示す。
ただし、実験ではHMMの状態
を複数(
個)持たせること
によって複数の候補を出力するN-bestサーチを行なった。また、計
算量およびメモリー量を減らすために次のような方法を使用した。
one-pass DPでは最尤度のワード列を知るために、計算の途中において
選択した経路を残す必要がある。このために[語彙数
HMM
の状態数
最大認識時間のフレーム長]のメモリー空間が必
要である。しかし、どの経路を選択したかを最大シンボル出力確率
とともに、次の状態に渡すことによって[語彙数
HMMの状態数
文を構成する最大単語数]のメモリー
空間で計算可能である。後者を選択したとき計算時間は少し増加す
るが、一般的には文を構成する最大単語数は最大認識時間のフレー
ム長より小さいため、メモリー量を削減できる。
| [定義] |
| ベクトル |
| フレーム |
| [初期化] |
| 1) |
| 2)
|
| [Viterbiサーチ] |
| 3) |
| 4) |
| 5) |
| 6)
|
| 7)
|
|
|
| [単語境界の計算] |
| 8)
|
| 9)
|
|
|
| もし
|
単語のbigramの値を記憶しておくには[語彙数
]のメモリー
空間が必要である。しかし、テキストデータ中に存在するbigramの
組み合わせの値をリスト形式で記憶することにより、メモリーを節
約できる。
Viterbiサーチでは各フレームごとに、単語境界の計算をするため に、全ての前の単語の最終状態の値に前の単語から現在の単語に遷 移するbigramの値を加算してから最大値を選択する(表 3 step9)。しかしbigram の値はリスト形式で記憶されているため、bigramの値を得るために 計算コストがかかる。そこで、このコストを減らすために、全ての 前の単語の最終状態の値で最大値を選択してからbigramの値を加算 して最大値を選択した。このアルゴリズムを次に示す。
9)
もし
ならば
このアルゴリズムを選択した場合bigramの値をアクセスする回数が 減らせるため、全体の計算コストが減少する。ただし、得られる尤 度は近似解になる。