LexicalNode Struct Reference
A lexical node is a single node of the lexical tree or Pronounciation Prefix Tree (PPT). It contains token, AM and word information. More...
Public Attributes | |
TokenType ** | tokenSeq |
Normally of length NONSIL_NUMBER_OF_STATES (3). | |
LexicalNode * | nextTree |
If wordID != -1, this points to the start node of the next tree (for LVCSR back to the top). | |
LexicalNode * | next |
Next node. Multiple 'next' nodes are linked together (in the next node) with 'parallel'. | |
LexicalNode * | parallel |
Parallel node. | |
TokenType ** | inputToken |
int | modelID |
int | contextPrev |
Previous modelID (left context). | |
int | contextNext |
Next modelID (right context). | |
int | contextKey |
For speed-up reasons pre-calculated: contextPrev * numberOfPhones + contextNext. | |
int | wordID |
-1 if not an end node. Otherwise the ID of the word. | |
int | depth |
int | tokenSeqLength |
int | compressedTreeIndex |
bool | nodeIsActive |
One or more states of this node are being used. | |
bool | toBeDeletedFromList |
When this switch is TRUE. The node will be deleted from the 'active list'. |
Detailed Description
A lexical node is a single node of the lexical tree or Pronounciation Prefix Tree (PPT). It contains token, AM and word information.Because we use a static PPT (no copies are made), for each HMM state in a node, it is possible that there are multiple valid tokens linked to it.
The modelID points to the PhoneModel object (AM model). If wordID is not -1, this node is a word-end node.
Each node can have a following node (next) in the tree. It may also have a parallel node. Finaly it is possible that a node points to another lexical tree structure. This typically happens with alignment- or grammar-tasks.
Member Data Documentation
Referenced by Segmenter::createLexicalTree(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_initBackward(), LexicalTree::latticeBaumWelch_initForward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_numberNodes(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::prepareLMLACreation(), LexicalTree::processNode(), LexicalTree::setLattice(), LexicalTree::setNodeLocationPars(), and LexicalTree::setTreeStartEndMatrix().
For speed-up reasons pre-calculated: contextPrev * numberOfPhones + contextNext.
Referenced by LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), LexicalTree::findCorrectNode(), LexicalTree::getPhoneString(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_processNodes(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setNodeLocationPars(), and LexicalTree::setTreeStartEndMatrix().
Next modelID (right context).
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), LexicalTree::getPhoneString(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setNodeLocationPars(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), and Shout_dct2lextree::writeTree().
Previous modelID (left context).
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), LexicalTree::getPhoneString(), LexicalTree::processVector_processNodes(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setNodeLocationPars(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), and Shout_dct2lextree::writeTree().
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), Segmenter::createLexicalTree(), LexicalTree::deleteTree(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::processNode(), LexicalTree::setDepthLevel(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setTreeStartEndMatrix(), and LexicalTree::~LexicalTree().
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), LexicalTree::deleteNodes(), LexicalTree::deleteTree(), LexicalTree::findBestToken(), LexicalTree::getBestGrammarEndToken(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::initialiseTree(), LexicalTree::LexicalTree(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_grammar(), LexicalTree::processVector_LMLAReordering(), LexicalTree::processVector_LMLAReordering_prepare(), LexicalTree::processVector_processNodes(), LexicalTree::processVector_pruneLM(), LexicalTree::processWord(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), ArticulatoryStream::testStream(), LexicalTree::updateStats(), and LexicalTree::~LexicalTree().
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), LexicalTree::checkTreeRobustness(), Segmenter::createLexicalTree(), Segmenter::createSegments(), LexicalTree::getAlignmentString(), LexicalTree::getLastModelForContext(), LexicalTree::getPhoneString(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::prepareLMLACreation(), LexicalTree::printWordPronunciation(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_processNodes(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), ArticulatoryStream::testStream(), and Shout_dct2lextree::writeTree().
Next node. Multiple 'next' nodes are linked together (in the next node) with 'parallel'.
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), LexicalTree::checkTreeRobustness(), Segmenter::createLexicalTree(), LexicalTree::deleteTree(), LexicalTree::findCorrectNode(), LexicalTree::getAlignmentString(), LexicalTree::getLastModelForContext(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_numberNodes(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::prepareLMLACreation(), LexicalTree::printWordPronunciation(), LexicalTree::processNodeOutput(), LexicalTree::readTree(), LexicalTree::setDepthLevel(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setNodeLocationPars(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), and Shout_dct2lextree::writeTree().
If wordID != -1, this points to the start node of the next tree (for LVCSR back to the top).
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), Segmenter::createLexicalTree(), LexicalTree::deleteTree(), LexicalTree::getAlignmentString(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseTree(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_numberNodes(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::LexicalTree(), LexicalTree::processNodeOutput(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setPhoneLoop(), and LexicalTree::setTreeStartEndMatrix().
One or more states of this node are being used.
Referenced by LexicalTree::addNodeToList(), LexicalTree::createActiveNodesList(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::initialiseTree(), LexicalTree::LexicalTree(), LexicalTree::processVector_administrationCleanup(), LexicalTree::processVector_processNodes(), LexicalTree::readTree(), LexicalTree::setLattice(), LexicalTree::setPhoneLoop(), and LexicalTree::setTreeStartEndMatrix().
Parallel node.
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), LexicalTree::checkTreeRobustness(), Segmenter::createLexicalTree(), Segmenter::createSegments(), LexicalTree::deleteTree(), LexicalTree::findCorrectNode(), LexicalTree::getLastModelForContext(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::initialiseTree(), LexicalTree::latticeBaumWelch_backward(), LexicalTree::latticeBaumWelch_calculatePosteriors(), LexicalTree::latticeBaumWelch_forward(), LexicalTree::latticeBaumWelch_initBackward(), LexicalTree::latticeBaumWelch_initForward(), LexicalTree::latticeBaumWelch_mmi_accumulatorsPosteriors(), LexicalTree::latticeBaumWelch_numberNodes(), LexicalTree::latticeBaumWelch_printPosteriors(), LexicalTree::latticeBaumWelch_setLikelihoods(), LexicalTree::prepareLMLACreation(), LexicalTree::printWordPronunciation(), LexicalTree::processVector_processNodes(), LexicalTree::readTree(), LexicalTree::setDepthLevel(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeContext(), LexicalTree::setNodeLocationPars(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), Shout_dct2lextree::writeTree(), and LexicalTree::~LexicalTree().
When this switch is TRUE. The node will be deleted from the 'active list'.
Referenced by LexicalTree::addNodeToList(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::initialiseTree(), LexicalTree::LexicalTree(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_administrationCleanup(), LexicalTree::processVector_processNodes(), LexicalTree::readTree(), LexicalTree::setLattice(), LexicalTree::setPhoneLoop(), and LexicalTree::setTreeStartEndMatrix().
Normally of length NONSIL_NUMBER_OF_STATES (3).
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), Segmenter::createSegments(), LexicalTree::deleteNodes(), LexicalTree::deleteTree(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::LexicalTree(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_grammar(), LexicalTree::processVector_prune_processNodesOutput(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), LexicalTree::updateStats(), and LexicalTree::~LexicalTree().
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), ArticulatoryStream::ArticulatoryStream(), Segmenter::createLexicalTree(), LexicalTree::deleteNodes(), LexicalTree::getPhoneString(), LexicalTree::initialiseNode(), LexicalTree::initialiseSystem(), LexicalTree::LexicalTree(), LexicalTree::processNode(), LexicalTree::processNodeOutput(), LexicalTree::processVector_prune_processNodesOutput(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), ArticulatoryStream::testStream(), and LexicalTree::updateStats().
-1 if not an end node. Otherwise the ID of the word.
Referenced by LexicalTree::addForcedAlignOOV(), LexicalTree::addWordStringToAlignment(), Segmenter::createLexicalTree(), LexicalTree::getLastModelForContext(), LexicalTree::getPhoneString(), LexicalTree::prepareLMLACreation(), LexicalTree::printWordPronunciation(), LexicalTree::processNodeOutput(), LexicalTree::processVector_processNodes(), LexicalTree::processVector_prune_processNodesOutput(), LexicalTree::readTree(), LexicalTree::setForcedAlign(), LexicalTree::setLattice(), LexicalTree::setNodeLocationPars(), LexicalTree::setPhoneLoop(), LexicalTree::setTreeStartEndMatrix(), Shout_dct2lextree::Shout_dct2lextree(), and Shout_dct2lextree::writeTree().