The Search Module
Search refers to the recognition process itself: finding
the best matching sequence of words or symbols to match an
incomming signal. The search is defined over a vocabulary that
specifies which words are to be known to the recognizer, the
language model and the acoustic.
For the JANUS search, there are 3 passes:
- the Tree Forward pass, where the vocabulary is organized as an
allophone tree
- the Flat Forward pass, that operates on a subsection of the
searchspace created by the Tree forward
- the Full Flat Forward pass, where the vocabulary is organized
as a flat list like in the Flat Forward, but the searchspace is not
restricted by the tree pass. This is convenient for small vocabularies
where the tree might not save much time or even hurt.
- the Lattice pass, that builds lattices on the structures created
either by Tree Forward or Flat forward pass.
Each of the 3 passes is implemented as a subobject to a search object.
Each of those 3 subobjects has list of hypotheses of the type HypoList
as subobject (see tcl part of search documentation).
Both the Tree and the Full Flat
pass allow for runon recognition (processing of speech during speech input) and
continuous output (partial hypotheses before the search is done with the sentence).
Runon recognition requires a modified preprocessing, while partial hyposethes
are possible with every system.
To use partial hypotheses, configure the search verbosity to 2 (default is 0).
The publish function defined for the corresponding pass of the search (tree or flat)
will then be called for every 20 frames processed by the search.
Common publish functions for partial hypotheses might set the text variable of a tk
message to the value of the updated hypothesis and refresh the window.
Other information on Search:
If this page is incomplete, ask monika@ira.uka.de and finkem@cs.cmu.edu to complete it.