2014-11-24 33 views
1

現在我正在使用語音製作字典應用程序。我製作了這本詞典,大約有10萬字作爲數據庫。這本詞典需要通過語音搜索。爲此,我使用Sphinx4/cmusphinx作爲工具來使用。我已閱讀相關網站的參考資料,併成功運行應用程序示例。然後,我將這個示例(HelloWorld)中的相同方法實現到我的字典中。以前,我已經在語法(.gram)中放了10萬個單詞。當我嘗試運行它,我的字典裏變成冷凍並在5分鐘後,日食秀「Java堆大小內存不足」的語法用Sphinx4從數據庫中檢索

#JSGF V1.0; 
grammar hello; 
public <database> = ([<Words>])*; 
<Words>= 100000 words split by "|" 

對於sphinx4的

配置,我用這個版本http://sourceforge.net/projects/cmusphinx/files/sphinx4/1.0%20beta6/

我的方法在我的字典中實現語音正確嗎?

是否有任何良好的參考建設這樣的搜索引擎與大型單詞數據庫(大約100000字)?

希望你能幫助我。

回答

0

該方法沒問題。

如果你沒有足夠的內存來JVM,你可以用-Xmx選項

增加它的精確檢索這是更好地創建的話,不只是一個簡單的列表頻率的元語言模型。詳情請參閱

http://cmusphinx.sourceforge.net/wiki/tutoriallm

爲了獲得最佳的精度,最好使用最新的高層次的API,詳見

http://cmusphinx.sourceforge.net/wiki/sphinx4

+0

謝謝您的回答。 我已經增加了jvm到1024,但我仍然沒有得到我的預期。當我說「你好」時,沒有任何事情發生,而不是打印口語。讀100000字很難嗎? ..在我閱讀http://cmusphinx.sourceforge.net/wiki/tutoriallm後,我對dmp格式和lm格式感到困惑。在示例應用程序(HelloNGram)中使用了.lm。我的問題是,這兩者有什麼不同?哪個更好 ? 。對於dmp格式,我如何實現dmp格式到我的程序中?我在給定的參考資料中找不到它。 – davinma06 2014-11-24 19:13:31

+0

首先請升級到最新版本。然後,您需要下載en-us通用聲學模型以獲得最佳精度。我不確定你的意思是「在我的程序中實現dmp格式」。 Lm格式和dmp格式是語言模型的等效表示。 lm格式是文本,dmp格式是二進制格式。如教程中所述,有一種工具可以在它們之間進行轉換。 – 2014-11-24 19:31:34

+0

嗨尼古拉。有什麼我想問你的評論在這個http://stackoverflow.com/questions/26925322/cmusphinx-live-speech-recognition-too-slow。我非常好奇config.xml中的這四個值。這些事情如何影響sphinx4的速度和準確性?如果這些事情影響,那麼我想編輯這些值,以嘗試獲得準確性和速度方面的最佳設置。有沒有任何參考或指導如何修改它?我已經下載並使用了最新的英語模型語言(.dmp),但準確度仍然不是我的預期。我使用了Sphinx4-5 alpha。 – davinma06 2014-12-03 16:18:14