User Tools

Site Tools


private:small_lm_decoder

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

private:small_lm_decoder [2018/07/06 07:45] (current)
Line 1: Line 1:
 +===== Small LM decoder =====
 +
 +Poor mans trigrams works because it gives better LM scores than bigrams without increasing the search space. ​  It should be possible to do this will the Kaldi bigLM decoder, this was designed to have a big LM and a small WFST to as to reduce the overall footprint size.   The standard Kaldi search keeps the location in the big LM so that the full power of the big LM is available (nothing pruned)
 +
 +What we want is just the opposite, for every point in the WFST you keep just the WSFT location. ​  This is half way between standard Kaldi decode and then bigLM decoder, so all the parts should be present and there shouldn'​t be much hacking.
 +
 +The WFST should be generated so that:
 +  * it's as small as possible
 +  * it keeps enough acoustic context to anchor the word boundary and hte states around it
 +
 +The standard Kaldi lattice generation should then keep all of the hypothesis that get pruned because of the poor mans trigram approximation. ​ We want to use the :
 +  * acoustic model to get the word boundaries good enough
 +  * a LM to guide the search well enough
 +
 +It should be possible to keep a big LM state so that when new word boundardies are found it's very fast to look up the LM prob.  If this is independent of the LM size then big LMs can be used in the first pass.   There will always be a poor-mans-trigram approximation so there'​s no point in super big LMs.
 +
 +Patentable??? ​  ​Probably once but not anymore.
  
private/small_lm_decoder.txt ยท Last modified: 2018/07/06 07:45 (external edit)