我一直试图让Sphinx使用.gram文件检测其字典(大约130k)中的所有单词,但它处理了大约30秒,然后我得到了这个错误:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashMap.newNode(HashMap.java:1734)
at java.util.HashMap.putVal(HashMap.java:630)
at java.util.HashMap.put(HashMap.java:611)
at java.util.HashSet.add(HashSet.java:219)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.addLeftContext(FlatLinguist.java:754)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.pushLeftContexts(FlatLinguist.java:738)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.pushLeftContexts(FlatLinguist.java:742)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.pushLeftContexts(FlatLinguist.java:742)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.pushLeftContexts(FlatLinguist.java:718)
at edu.cmu.sphinx.linguist.flat.FlatLinguist$GState.collectContexts(FlatLinguist.java:846)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.compileGrammar(FlatLinguist.java:415)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:326)
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:602)
at edu.cmu.sphinx.decoder.Decoder.allocate(Decoder.java:109)
at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:182)
at voce.SpeechRecognizer.<init>(SpeechRecognizer.java:94)
at voce.SpeechInterface.init(SpeechInterface.java:79)
at recognitionTest.main(recognitionTest.java:9)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)有没有一种不同的,或者更高效的内存方式来完成这个任务?
我正在使用一个名为Voce的Sphinx库来简化识别和合成,如果这很重要的话。
发布于 2015-07-28 00:14:04
CMUSphinx不能从语法上识别这么长的列表,特别是对于没有正确包装CMUSphinx的Voce来说,它是复杂的。我们不建议使用Voce。
您可以使用统计n元语法语言模型来创建大型词汇表识别器。您可以从documentation或Transcriber演示中了解更多信息。
https://stackoverflow.com/questions/31642544
复制相似问题