Menu

Help!!

Help
weiheng
2005-01-26
2012-09-22
  • weiheng

    weiheng - 2005-01-26

    Hi,

    I'm currently working on a speech recognition project. This project require to recognize just single word instead of whole sentence. Currently the WER is just too high. How do I programatically reduce the WER? Can I check the tokens and scores and filter out result with low scores or too many tokens?

    Thanks.

     
    • Willie Walker

      Willie Walker - 2005-02-02

      Hi Weiheng:

      A lot of this depends upon your task. If you have a relatively small vocabulary where the user might say any of the words with equal probability, you might consider using a trivial JSGF grammar that is a simple word list. If you have some idea of the probabilities of the words, you could also try adding weights to the words.

      To tune the engine, there are a number of parameters you can set. For JSGF grammars, you might try setting the following parameters in the linguist:

          <property name="addOutOfGrammarBranch" value="true"/>
          <property name="outOfGrammarProbability" value="1E-60"/>
          <property name="phoneInsertionProbability" value="1E-10"/>
          <property name="phoneLoopAcousticModel" value="wsj"/>
      

      The bunch of these together should tell calls to getBestResultNoFiller to return "<unk>" if Sphinx-4 thinks the utterance is out of grammar. You can read more about this in the FAQ:

      http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#out_of_grammar

      Note, however, that if you have individual words that can be easily confused (e.g., "on"/"off" "cat"/"fat"), you may still end up with poor results.

      Hope this helps,

      Will

      PS - You might also take a look at the demo/sphinx/confidence/ demo.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.