【问题标题】:Retrieval from the database with Sphinx4使用 Sphinx4 从数据库中检索
【发布时间】:2014-11-24 21:46:11
【问题描述】:

现在我正在使用语音制作字典应用程序。我已经制作了这本词典,大约有 100000 个单词作为数据库。这本词典需要语音搜索。为此,我使用 Sphinx4 / cmusphinx 作为要使用的工具。我已经阅读了相关网站的参考资料并成功运行了应用程序示例。然后我在这个示例(HelloWorld)中实现相同的方法到我的字典中。以前,我已经在语法(.gram)中放入了 100000 个单词。当我尝试运行它时,我的字典被冻结了,5 分钟后,eclipse 显示“Java Heap Size Out of Memory”

语法配置

#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 个词)的搜索引擎?

希望你能帮助我。

【问题讨论】:

    标签: cmusphinx sphinx4


    【解决方案1】:

    方法没问题。

    如果你没有足够的内存给 JVM,你可以用 -Xmx 选项增加它

    为了准确检索,最好创建一个包含单词频率的一元语言模型,而不仅仅是一个简单的列表。详情见

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

    为了获得最佳准确性,最好使用最新的高级 API,详情请参阅

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

    【讨论】:

    • 感谢您的回答。我已经将 jvm 增加到 1024,但我仍然没有得到我期望的结果。当我说“你好”时,没有发生任何事情,而不是打印口语。读100000字很难吗? .. 看了cmusphinx.sourceforge.net/wiki/tutoriallm 后,我对dmp 格式和lm 格式感到困惑。在使用 .lm 的示例应用程序 (HelloNGram) 中有。我的问题是,这两者有什么不同?哪个更好 ? .对于 dmp 格式,我如何在我的程序中实现 dmp 格式?我在给定的参考文献中找不到它。
    • 首先请升级到最新版本。然后,您需要下载 en-us-generic 声学模型以获得最佳准确性。我不确定“在我的程序中实现 dmp 格式”是什么意思。 lm 格式和 dmp 格式是语言模型的等效表示。 lm 格式是文本,dmp 格式是二进制。有一个工具可以在它们之间进行转换,如教程中所述。
    • 你好尼古拉。我想在stackoverflow.com/questions/26925322/… 中询问您的评论。我对 config.xml 中的这四个值很好奇。这些东西如何影响 sphinx4 的速度和准确性?如果这些事情有影响,那么我想编辑这些值以尝试在准确性和速度方面获得最佳设置。是否有任何参考或指导如何修改它?我已经下载并使用了最新的英文模型语言(.dmp),但准确性仍然不是我所期望的。我使用了 Sphinx4-5 alpha。
    猜你喜欢
    • 2016-01-29
    • 1970-01-01
    • 2017-06-29
    • 2012-12-18
    • 2018-04-22
    • 2013-05-15
    • 2012-03-23
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多