我正在尝试开发一个能够识别cmusphinx命令的Android应用程序。 Cmusphinx运作良好,但它使用的字典有太多我不需要的词汇。我所做的是用imtool创建一个新词典并将其添加到PocketSphinxAndroidDemo中。最后我收到了一个错误
01-20 11:14:34.492: E/cmusphinx(3586): ERROR: "ngram_search_fwdtree.c", line 336: No word from the language model has pronunciation in the dictionary
可能导致此错误的原因是什么?我是否应该更改其他内容以便在项目中添加新词典?我检查了官方文档,但找不到任何有关它的信息。 感谢
答案 0 :(得分:0)
此错误表示词典中的单词集与语言模型中的单词集不匹配。 Dictionary有.dic
或.dict
扩展名,位于PocketsphinxAndroid项目的assets文件夹中。语言模型具有.lm
或.dmp
扩展名,也位于资源文件夹中。
您可以使用文本编辑器打开这两个文件,并比较字典和语言模型中的词汇表。那些应该匹配。考虑到两者都区分大小写,所以如果字典是小写的,语言模型也应该是小写的。
最可能的原因是案例不匹配或编码不匹配。