【问题标题】:Creating ARPA language model file with 50,000 words创建 50,000 字的 ARPA 语言模型文件
【发布时间】:2011-04-21 11:24:07
【问题描述】:

我想创建一个包含近 50,000 个单词的 ARPA 语言模型文件。我无法通过将我的文本文件传递给 CMU 语言工具来生成语言模型。是否有任何其他链接可以让我获得这么多单词的语言模型?

【问题讨论】:

  • 你的意思是说你需要一个英文单词集合吗?

标签: speech-recognition cmusphinx n-gram language-model


【解决方案1】:

我想我会回答这个问题,因为它有几票,尽管基于克里斯蒂娜的其他问题,我认为这对她来说不是一个可用的答案,因为 50,000 字的语言模型几乎肯定不会有由于硬件限制,目前使用这种语言模型格式的 iOS 应用内识别系统具有可接受的单词错误率或识别速度(甚至很可能长时间运行)。我认为值得记录它,因为我认为它可能对使用平台的其他人有所帮助,在该平台上,将这种大小的词汇表保留在内存中更可行,也许未来的设备模型也有可能。

据我所知,没有像 Sphinx 知识库工具这样的基于 Web 的工具可以处理 50,000 字的纯文本语料库并返回 ARPA 语言模型。但是,您可以通过以下步骤获得一个已经完整的 64,000 字 DMP 语言模型(可以在命令行中与 Sphinx 一起使用,也可以在其他平台实现中以与 ARPA .lm 文件相同的方式使用):

  1. 从 CMU 演讲网站下载此语言模型:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Language%20Model/HUB4_trigram_lm.zip

在该文件夹中有一个名为 language_model.arpaformat.DMP 的文件,它将成为您的语言模型。

  1. 从 CMU 语音网站下载此文件,它将成为您的发音词典:

https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic

将 cmu07a.dic 的内容全部转换为大写字母。

如果您愿意,您还可以通过删除语料库 language_model.vocabulary 中未找到的任何单词来精简发音词典(这将是一个正则表达式问题)。这些文件旨在与 Sphinx 英语声学模型之一一起使用。

如果使用 50,000 个单词的英语语言模型的愿望是由进行某种通用的大词汇量语音识别的想法驱动的,而不是因为需要使用非常具体的 50,000 个单词(例如,像医学词典或 50,000 个条目的联系人列表),如果硬件可以处理,这种方法应该会给出这些结果。可能需要更改一些 Sphinx 或 Pocketsphinx 设置,以优化通过这种大小的模型进行的搜索。

【讨论】:

  • Open ear 新版本0.91内置了创建语言模型文件的功能。这确实解决了我的问题。希望其他人能从中得到帮助
  • 嗨,Christina,很高兴听到 OpenEars .91 动态语言模型生成对您很有效,但我很惊讶听到它可以生成 50,000 个单词的语言模型。这是在设备上工作还是在模拟器上工作?
  • 我只是出于好奇而问,因为当我设计 LanguageModelGenerator 类时,我不知道它会被用于或可用于如此大的模型——我当时想的是 10-500 个单词用于特定于上下文的命令和控制语言模型。
  • 它不像我们想为任何单词创建新的语言模型然后我们可以动态创建它我还没有测试过这么大量的单词
  • 那么如何创建一个大约12k左右的大量单词的语言模型??
【解决方案2】:

您的训练语料库有多大?如果只有 50000 字,那就太小了。

一般来说,您可以使用 CMU 或 HTK 的工具包

HTK 语音识别工具包的详细文档:http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz

这里也是对 CMU 的 SLM 工具包的描述:http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html

另见: Building openears compatible language model

您可以采用更通用的语言模型,基于更大的语料库并用它插入您的更小的语言模型......例如退避语言模型......但这不是一项简单的任务。

见:http://en.wikipedia.org/wiki/Katz's_back-off_model

【讨论】:

    猜你喜欢
    • 2013-04-30
    • 1970-01-01
    • 2018-01-13
    • 2012-06-24
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多