TokenType Struct Reference
The PhoneModel class defines the phone models, the LexicalTree class the tree structure and the TokenType struct is the glue between them. LexicalTree is responsible for the token flow between phones and for language model lookahead, while PhoneModels will fill the likelihood variables and decises if a token may be passed within the phone model. More...
Public Attributes | |
TokenType * | next |
float | likelihood |
WLRType * | path |
PLRType * | phonePath |
float | lookAheadV |
LMLAGlobalListType * | lmLookAhead |
Detailed Description
The PhoneModel class defines the phone models, the LexicalTree class the tree structure and the TokenType struct is the glue between them. LexicalTree is responsible for the token flow between phones and for language model lookahead, while PhoneModels will fill the likelihood variables and decises if a token may be passed within the phone model.The TokenType structure is the data type of each token. Because a token will always be in a list and it shall be possible to search forwards and backwards in that list, the next and previous variables are added to the type.
The likelihood variable and lookAheadV(alue) contain the current likelihood of the token and the part of this likelihood that is added due to language model lookahead. lookAheadV is stored in order to quickly being able to substract the lookahead from the real likelihood and replace it with a new value.
The lookahead value is calculated with help of an entire LM lookahead tree. This tree contains all possible lookahead values and is shared between all tokens with the same LM history. The variable lmLookAhead contains a pointer to this lookahead tree.
In order to make backtracking word history possible a Word Link Record list is stored in the path variable. If phone alignment is enabled, the phonePath variable contains the phone history information.
Member Data Documentation
float TokenType::likelihood |
Referenced by PhoneModel::addChain(), PhoneModel::addChain_lmla(), PhoneModel::addChain_ordered(), Segmenter::createSegments(), LexicalTree::findBestToken(), LexicalTree::getBestGrammarEndToken(), LexicalTree::getBestRecognition(), PhoneModel::getOutput(), LexicalTree::processNodeOutput(), PhoneModel::processVector(), LexicalTree::processVector_prune_processNodesOutput(), LexicalTree::processWord(), LexicalTree::pruneToken(), PhoneModel::replaceTokenLM(), and ArticulatoryStream::testStream().
float TokenType::lookAheadV |
Referenced by PhoneModel::addChain(), PhoneModel::addChain_lmla(), PhoneModel::addChain_ordered(), LexicalTree::getBestRecognition(), LexicalTree::processNodeOutput(), PhoneModel::processVector(), LexicalTree::processVector_LMLAReordering(), LexicalTree::processVector_LMLAReordering_prepare(), and LexicalTree::processWord().
Referenced by PhoneModel::addChain(), PhoneModel::addChain_lmla(), PhoneModel::addChain_ordered(), LexicalTree::createLattice(), LexicalTree::findBestToken(), LexicalTree::getBestGrammarEndToken(), PhoneModel::initialiseToken(), LexicalTree::processNodeOutput(), PhoneModel::processVector(), LexicalTree::processVector_LMLAReordering(), LexicalTree::processVector_LMLAReordering_prepare(), LexicalTree::processVector_prune_processNodesOutput(), LexicalTree::processWord(), LexicalTree::pruneToken(), LexicalTree::touchWLRs(), and LexicalTree::updateStats().
Referenced by LexicalTree::adaptAMs(), PhoneModel::addChain(), PhoneModel::addChain_lmla(), PhoneModel::addChain_ordered(), LexicalTree::createLattice(), Segmenter::createSegments(), LexicalTree::findBestToken(), LexicalTree::getBestIDSequence(), LexicalTree::getBestRecognition(), LexicalTree::getBestRecognitionScore(), LexicalTree::processNodeOutput(), PhoneModel::processVector(), LexicalTree::processVector_grammar(), LexicalTree::processVector_LMLAReordering(), LexicalTree::processVector_LMLAReordering_prepare(), LexicalTree::processWord(), PhoneModel::replaceTokenLM(), LexicalTree::safeBestRecognition(), and LexicalTree::touchWLRs().
Referenced by PhoneModel::addChain(), PhoneModel::addChain_lmla(), PhoneModel::addChain_ordered(), PhoneModel::initialiseToken(), LexicalTree::processNodeOutput(), PhoneModel::processVector(), LexicalTree::processWord(), LexicalTree::pruneToken(), PhoneModel::replaceTokenLM(), and ArticulatoryStream::testStream().