PocketSphinx语音识别系统语言模型的训练和声学模型的改进.docVIP

  • 181
  • 0
  • 约1.08万字
  • 约 23页
  • 2018-04-01 发布于江西
  • 举报

PocketSphinx语音识别系统语言模型的训练和声学模型的改进.doc

PocketSphinx语音识别系统语言模型的训练和声学模型的改进

PocketSphinx语音识别系统语言模型的训练和声学模型的改进 一、训练语言模型 ?????? 词与词之间存在着合乎句法与否的约束,语言模型就是用来表示这些约束的,它可以提供字与字之间的上下文信息和语义信息。在pocketsphinx语音识别系统时,采用了N-gram模型,即对训练音频文件所对应的文本文件进行统计,提取不同字词之间先后发生的统计关系。 ?????? 如果你的语言模型较小(例如小的语音指令集或者任务),而且是英文的,那就可以直接上CMU提供的网络服务器上面训练,如果较大的话,一般使用CMUclmtk语言模型工具来训练。下面分两种情况来介绍: ? 1.1、利用在线工具建立语言模型 (1)创建一个语料库: 语料库实际上就是一些文本的集合,包含了你需要识别的语音的文字的一些集合,例如句子啊,词啊等等。 #vi corpus.txt 输入如下内容: stop forward backward turn right turn left 保存退出 (2)利用在线工具LMTool建立语言模型: ?????? 进入网址:/tools/lmtool.html 点击Browse按钮,选择之前创建的corpus.txt,最后点击COMPILE KNOWLEDGE BASE?。这样就会生成字典文件* .dic?和语言模型文件?*.lm,例如: 生成TAR2916.tar.gz tar xzf TAR2916.tar.gz 2916.corpus 2916.lm 2916.bo 2916.vocab 2916.dic 2916.sent 2916.token 真正有用的是.dic、.lm?的文件 (3)测试结果: pocketsphinx_continuous解码器用-lm选项来指定要加载的语言模型,-dict来指定要加载的字典。 #pocketsphinx_continuous -lm 2916.lm -dict 2916.dic INFO: ngram_search_fwdflat.c(295): Utterance vocabulary contains 1 words INFO: ngram_search_fwdflat.c(912): 97 words recognized (2/fr) INFO: ngram_search_fwdflat.c(914): 2342 senones evaluated (38/fr) INFO: ngram_search_fwdflat.c(916): 1011 channels searched (16/fr) INFO: ngram_search_fwdflat.c(918): 167 words searched (2/fr) INFO: ngram_search_fwdflat.c(920): 47 word transitions (0/fr) WARNING: ngram_search.c, line 1087: /s not found in last frame, using sil instead INFO: ngram_search.c(1137): lattice start node s.0 end node sil.56 INFO: ps_lattice.c(1228): Normalizer P(O) = alpha(sil:56:60) = -341653 INFO: ps_lattice.c(1266): Joint P(O,S) = -341653 P(S|O) = 0 000000000: STOP (-6531224) READY.... Listening... ? 1.2、训练大文本数据的语言模型 ??????? 我们通过语言模型训练工具CMUCLMTK统计大量文本数据得到以单个词建立的N-Gram模型。 语言模型训练工具的说明见: /SLM/toolkit_documentation.html 具体的步骤如下:(得先安装语言模型训练工具CMUCLMTK,安装过程在上一博文中) (1)准备训练的文本,也就是语料库: ??????? 这里只是举一个例子,所以语料库也不大,而一般的语料库都是由大文本来组成的,里面就是有一些我们的日常用语或者报纸啊,书啊等等所出现过的句子。文本数据越大,训练得到的语言模型就越好。 #vi weather.txt 在?.txt中输入如下内容,记住结尾不可留“\n”(实验证明了这一点)。每个utterances?由?s和?/s?来分隔 s?天气?/s s?有雨?/s s?晴朗?/s s?多云?/s s?雷电?/s wq?保存退出 (2)产生词汇表vocabulary文件: # text2wfreq weather.txt |

文档评论(0)

1亿VIP精品文档

相关文档