kaldi-asr / kaldi

kaldi-asr/kaldi is the official location of the Kaldi project.
http://kaldi-asr.org
Other
14.24k stars 5.32k forks source link

Why we need final tokens? #2729

Closed studyself closed 6 years ago

studyself commented 6 years ago

Hi All,

What is a final token? Is it a kind of token corresponding to non-emitting state, state 3, which has final-probability one, in HmmTopology? Sorry that, i am not familiar with WFST. Before my diving into WFST, could you give me some top level views of designing principles of "final tokens" and "final probs"? Will the decoding results be different when I cut off the utterance at any frame before the last frame is reached?

Quinn

-------------------------- I am asking questions about codes below: BaseFloat finalcost = fst.Final(state).Value() + lm_difffst->Final(lm_state).Value(); ...... ...... if (finalactive) { BaseFloat final_cost = tok_to_final_cost[tok]; tok_extra_cost = (tok->tot_cost + final_cost) - best_cost_final; } else tok_extra_cost = tok->tot_cost - best_cost_nofinal;

danpovey commented 6 years ago

replied on kaldi-help