我想用近50,000个单词创建一个ARPA语言模型文件。我无法通过将文本文件传递给CMU语言工具来生成语言模型。是否有其他链接可用于获取这些词语的语言模型?
答案 0 :(得分:10)
我以为我会回答这个,因为它有几张选票,虽然基于克里斯蒂娜的其他问题我不认为这对她来说是一个有用的答案,因为一个50,000字的语言模型几乎肯定不会有由于硬件限制,目前使用这种语言模型格式的iOS应用程序内识别系统可接受的单词错误率或识别速度(或者很可能甚至长时间运行)。我认为值得记录它是因为我认为对于那些使用平台的人来说可能会有所帮助,这种平台在内存中保留这么大的词汇量更可行,并且可能也是未来设备模型的可能性。
我不知道像Sphinx知识库工具这样的基于网络的工具,它将挖掘一个50,000字的明文语料库并返回一个ARPA语言模型。但是,您可以通过以下步骤获得已经完整的64,000字DMP语言模型(可以在命令行或其他平台实现中以与ARPA .lm文件相同的方式与Sphinx一起使用):
在该文件夹中是一个名为language_model.arpaformat.DMP的文件,它将是您的语言模型。
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设置,这将通过这种尺寸的模型优化搜索。
答案 1 :(得分:0)
你的训练语料库有多大?如果它只有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