Efficient Viterbi algorithms for lexical tree based models

66
Introduction Algorithms for expanded tree models Error-Correcting Viterbi for DAGs Experimental results and conclusions Efficient Viterbi algorithms for lexical tree based models S. España Boquera, M.J. Castro Bleda, F. Zamora Martínez, J. Gorbe Moya Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia, Spain 22-25 May 2007, Paris, France S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

description

In this paper we propose a family of Viterbi algorithms specialized for lexical tree based FSA and HMM acoustic models. Two algorithms to decode a tree lexicon with left-to-right models with or without skips and other algorithm which takes a directed acyclic graph as input and performs error correcting decoding are presented. They store the set of active states topologically sorted in contiguous memory queues. The number of basic operations needed to update each hypothesis is reduced and also more locality in memory is obtained reducing the expected number of cache misses and achieving a speed-up over other implementations.

Transcript of Efficient Viterbi algorithms for lexical tree based models

Page 1: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Efficient Viterbi algorithms for lexical treebased models

S. España Boquera, M.J. Castro Bleda, F. ZamoraMartínez, J. Gorbe Moya

Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de Valencia, Spain

22-25 May 2007, Paris, France

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 2: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Index

1 Introduction

2 Algorithms for expanded tree modelsLeft-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

3 Error-Correcting Viterbi for DAGsVERTEX-STEP algorithmEDGE-STEP algorithm

4 Experimental results and conclusionsExperimental resultsConclusionsConclusions

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 3: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Viterbi algorithms for Automatic Speech Recognition

Hidden Markov Models (HMM) and Finite State Automata(FSA) are the most widespread used models for AutomaticSpeech Recognition (ASR). The Viterbi algorithm is usedfor decoding.Most of large vocabulary Viterbi based decoders make useof a lexicon tree organization together with pruningtechniques such as beam search which only maintainactive the best hypothesis.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 4: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Why to use a tree lexicon?

The lexical tree organization is a very good tradeoff betweencompact space representation and adequacy for decoding:

A lexicon tree organization (which has many advantagesover a linear lexicon representation) reduces the size of themodel.More compact representations are possible (lexiconnetwork), but the gain in space is accompanied with amore complex Viterbi decoder.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 5: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

How to use a tree lexicon?

Large vocabulary one-step decoders usually keep a set oflexical tree based Viterbi parsers in parallel. Two commonapproaches are:

time-start copies All hypothesis competing in a treeparsing share the same word start time.language model history copies When a trigramlanguage model is used, the language model historycopies approach maintains a tree parsing for every bigramhistory (w1, w2).

The second approach has a loss of optimality which is knownas word-pair approximation.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 6: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Contributions of this work

In both time-start and language model history copies, fasterViterbi algorithms for the lexical tree model have a significantimpact in the overall performance of the ASR system.

This work proposes Viterbi algorithms specialized for lexicaltree based FSA and HMM acoustic models in order to:

Decode a tree lexicon with left-to-right models VITERBI-M

Decode a tree lexicon with left-to-right models with skipsVITERBI-MS

Parse a directed acyclic graph (DAG) (e.g. a phone graphor a word lattice) with error correcting edition operations(insertion, substitution, deletion) VITERBI-MEC-DAG

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 7: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Index

1 Introduction

2 Algorithms for expanded tree modelsLeft-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

3 Error-Correcting Viterbi for DAGsVERTEX-STEP algorithmEDGE-STEP algorithm

4 Experimental results and conclusionsExperimental resultsConclusionsConclusions

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 8: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Observations about the Expanded Tree Models

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 9: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Observations about the Expanded Tree Models

If a lexicon tree is expanded with left-to-right acoustic HMMmodels without skips, we can observe that

Every state has at most two predecessors: itself andpossibly his parent.If we ignore the loops, the expanded model is acyclic.Therefore, a topological order is possible in general.A level traversal of the tree provides a topological orderwith some additional features:

Children occupy contiguous positions.If a subset of states is stored in topological order and wegenerate the children of every active state following thatorder, the resulting list is also ordered with respect to thetopological order.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 10: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Model representation

A tree model T of n states is represented with three vectors ofsize n and one of size n + 1 as follows:

loop_prob stores the loop transition probabilities.from_prob stores the parent incoming transitionprobabilities.e_index stores the index of the associated emissionprobability class associated to the acoustic frame to beobserved.first_child stores the index of the first child.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 11: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 12: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 13: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 14: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 15: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 16: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 17: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 18: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 19: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 20: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 21: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 22: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 23: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 24: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 25: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 26: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 27: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

VITERBI-M algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 28: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Extension to across-word context dependent units

Coarticulated word transitions: First phone(s) of wordsdepends on the last phone(s) of the previous words.A model which resembles a tree lexicon excepting the rootis needed.

phonetic contextsDifferent

Gen

eral

to

po

log

y H

MM

mo

del

Co

arti

cula

ted

wo

rd t

ran

siti

on

Tree lexicon HMM models

The VITERBI-M can be easily adapted to this structure bytreating specially the general topology at the root.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 29: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Left-to-right with skips algorithm (VITERBI-MS)

Left-to-right units with skips are known as Bakis topology.

The states of the expanded tree lexicon can have one, twoor three predecessors.The model representation is similar to that of VITERBI-M

algorithm but another vector skip_prob is needed to store,for every state, the incoming skip transition probabilities.The algorithm uses another auxiliary queue to store theactive states with scores computed by means of the skiptransitions.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 30: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Left-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

Left-to-right with skips algorithm (VITERBI-MS)

α (t)

α

merge

(t+1)

generate children

generate grandchildren

>= beam threshold?

*loop probability

*emission probabilityupdate best probability

aux_child

aux_gchild

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 31: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

Index

1 Introduction

2 Algorithms for expanded tree modelsLeft-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

3 Error-Correcting Viterbi for DAGsVERTEX-STEP algorithmEDGE-STEP algorithm

4 Experimental results and conclusionsExperimental resultsConclusionsConclusions

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 32: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

Error-Correcting Viterbi for DAGs

The input is a directed acyclic graph (phone graphs, wordlattices, etc.).Uses error correcting decoding with the following editionoperations: insertions, substitutions and deletions.The VITERBI-MEC-DAG algorithm is a combination of:

VERTEX-STEP algorithm,EDGE-STEP algorithm.

following the input DAG topologic order:

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 33: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

Is applied for every vertex when all edges arriving to ithave been processedThis procedure only considers the cost of insertions.Several consecutive insertions are possible.A sole active state at the root could, in principle, activate allthe states of the model. Beam search can be used tocontrol this growth.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 34: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 35: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 36: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 37: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 38: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 39: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 40: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 41: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 42: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 43: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 44: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

VERTEX-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 45: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

Is applied for every edge after the origin vertex has beenupdated with VERTEX-STEP algorithm.Destination vertex is updatedThis procedure only considers the cost of

Deletions (the edge of input DAG is traversed but edgelabel is deleted).Substitutions (including a symbol by itself or a correcttransition).

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 46: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 47: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 48: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 49: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 50: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 51: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 52: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 53: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 54: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 55: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 56: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 57: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 58: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 59: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 60: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 61: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

VERTEX-STEP algorithmEDGE-STEP algorithm

EDGE-STEP algorithm

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 62: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Experimental resultsConclusionsConclusions

Index

1 Introduction

2 Algorithms for expanded tree modelsLeft-to-right algorithmExtension to across-word context dependent unitsLeft-to-right with skips algorithm

3 Error-Correcting Viterbi for DAGsVERTEX-STEP algorithmEDGE-STEP algorithm

4 Experimental results and conclusionsExperimental resultsConclusionsConclusions

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 63: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Experimental resultsConclusionsConclusions

Experimental results Viterbi-M

In order to compare the performance of our Viterbi-M algorithm,three algorithms have been implemented in C++ and testedwith the same data structures to represent tree based HMMmodels:

VITERBI-M described in this work.A conventional Viterbi. algorithm based on two hash tableswith chaining to store and to look up the active states.The active envelope algorithm: uses a single linked list tostore the set of states in topologic order. Since thisalgorithm modifies the original set of active states toperform a Viterbi step, it is restricted to sequential inputdata and cannot be used when the input data is a DAG

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 64: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Experimental resultsConclusionsConclusions

Experimental results

The lexical trees used in the experiments were obtained byexpanding 3-state left-to-right without skips hybridneural/HMM acoustic models the tree lexicon.Only the Viterbi decoding time has been measured (theemission scores calculation and other preprocessing stepswere not taken into account).The results are shown in millions of active states orhypothesis updated per second

Num. states Hash swap A. Envelope Viterbi-M9 571 3.001 16.082 29.350

76 189 2.761 12.924 28.036310 888 1.922 6.442 24.534

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 65: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Experimental resultsConclusionsConclusions

Conclusions

The proposed algorithms are based on contiguousmemory queues which contain the set of active statestopologically sorted.Less operations in the internal loops and more locality ofdata (cache friendly algorithm) are expected.Although the asymptotic cost of these algorithms is thesame as any reasonable implementation, VITERBI-M isapproximately 10 times faster than the hash-tableswapping implementation and from 2 to 4 times faster thanthe active envelope algorithm.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007

Page 66: Efficient Viterbi algorithms for lexical tree based models

IntroductionAlgorithms for expanded tree models

Error-Correcting Viterbi for DAGsExperimental results and conclusions

Experimental resultsConclusionsConclusions

Conclusions

More experimentation is needed in order to betterunderstand a decrease in speed with the size of themodels and the effect of other parameters such as thebeam width of the pruning during the search. We arepreparing experiments using HMM models trained withHTK toolkit and the the Wall Street Journal corpus.Two word graphs algorithms are being implemented:

Using a tree lexicon with the time-start and the VITERBI-Malgorithm.Using a phone graph generator algorithm and theVITERBI-MEC-DAG algorithm afterwards to obtain thedesired word graph.

S. España, M.J. Castro, F. Zamora, J. Gorbe NOLISP 2007