首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CMUSphinx识别大量的单词

如何使用CMUSphinx识别大量的单词
EN

Stack Overflow用户
提问于 2015-07-27 06:23:37
回答 1查看 515关注 0票数 0

我一直试图让Sphinx使用.gram文件检测其字典(大约130k)中的所有单词,但它处理了大约30秒,然后我得到了这个错误:

代码语言:javascript
复制
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库来简化识别和合成,如果这很重要的话。

EN

回答 1

Stack Overflow用户

发布于 2015-07-28 00:14:04

CMUSphinx不能从语法上识别这么长的列表,特别是对于没有正确包装CMUSphinx的Voce来说,它是复杂的。我们不建议使用Voce。

您可以使用统计n元语法语言模型来创建大型词汇表识别器。您可以从documentationTranscriber演示中了解更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31642544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档