Sixth International Conference on Spoken Language Processing
We present an optimized implementation of the Viterbi algorithm suitable for small to large vocabulary, and isolated or continuous speech recognition. The Viterbi algorithm is certainly the most popular dynamic programming algorithm used in speech recognition. In this paper we propose a new algorithm that outperforms the Viterbi algorithm in term of complexity and of memory requirements. It is based on the assumption of strictly left to right models and explores the lexical tree in an optimal way, such that book-keeping computation is minimized. The tree is encoded such that children of a node are placed contiguously and in increasing order of memory heap so that the proposed algorithm also optimizes cache usage. Even though the algorithm is asymptotically two times faster that the conventional Viterbi algorithm, in our experiments we measured an improvement of at least three.
Bibliographic reference. Nguyen, Patrick / Rigazio, Luca / Junqua, Jean-Claude (2000): "EWAVES: an efficient decoding algorithm for lexical tree based speech recognition", In ICSLP-2000, vol.4, 286-289.