2013-01-07 25 views
3

我在Android上成功使用PocketsphinxDemo。說3個不同的單詞,我有一套非常有限的單詞可以被識別。 我目前收到很多誤報 - 在說話時,Pocketsphinx識別出我的3個單詞中的一個,雖然他們沒有說過。如何在PocketSphinx中可靠地拒絕超出Grammar的單詞

因爲我找不到參數pocketsphinx使用任何引用,這裏是我的問題:

有一個參數,使Pocketsphinx反應更嚴格?

我希望它只有在Pocketsphinx高度「確定」匹配正確的單詞時纔會返回其識別猜測。

這裏是我目前使用的是默認參數:

c.setFloat("-samprate", 8000.0); 
c.setInt("-maxhmmpf", 2000); 
c.setInt("-maxwpf", 10); 
c.setInt("-pl_window", 2); 
c.setBoolean("-backtrace", true); 
c.setBoolean("-bestpath", false); 

回答

2

有簡單的排斥反應pocketpshinx外的語法詞不支持,現在,雖然它可能很快就會出現。對於一些詳細信息,請

http://cmusphinx.sourceforge.net/wiki/faq#qcan_pocketsphinx_reject_out-of-grammar_words_and_noises

您仍然可以效仿外的語法與單詞手機環路和可以給你一些排斥反應。爲此,您需要以特殊方式構造語法,並在那裏添加垃圾電話。欲瞭解更多詳情,請參見

http://sourceforge.net/p/cmusphinx/discussion/help/thread/1c6cb941/?limit=50#efa9

語法格式擰在那裏,但這個想法很簡單,你只需要添加手機在循環:

<result> = word1 | word2 | (phone1 | phone2 | .... | phone 39)* 

對於IPhone Openears實施拒絕特殊模塊,它不是主要分佈的一部分:

http://www.politepix.com/rejecto/

+0

謝謝!我想嘗試一下。我目前使用lmtool在線將我的語法轉換爲lm/dict文件。 JSGF語法有沒有類似的東西? – Hokascha

+0

JSGF語法有一個文本編輯器 –

+0

如何將JSGF語法提供給pocketsphinx? – Hokascha