语音识别系统语言模型的训练和声学模型的改进
Posted aimod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语音识别系统语言模型的训练和声学模型的改进相关的知识,希望对你有一定的参考价值。
一、训练语言模型
词与词之间存在着合乎句法与否的约束,语言模型就是用来表示这些约束的,它可以提供字与字之间的上下文信息和语义信息。N-gram模型,即对训练音频文件所对应的文本文件进行统计,提取不同字词之间先后发生的统计关系。
如果你的语言模型较小(例如小的语音指令集或者任务),而且是英文的,那就可以直接上CMU提供的网络服务器上面训练,如果较大的话,一般使用CMUclmtk语言模型工具来训练。下面分两种情况来介绍:
1.1、利用在线工具建立语言模型
进入网址:http://www.speech.cs.cmu.edu/tools/lmtool.html
.dic、.lm的文件
pocketsphinx_continuous解码器用-lm选项来指定要加载的语言模型,-dict来指定要加载的字典。
1.2、训练大文本数据的语言模型
我们通过语言模型训练工具CMUCLMTK统计大量文本数据得到以单个词建立的N-Gram模型
具体的步骤如下:
(1)准备训练的文本,也就是语料库:
(2)产生词汇表vocabulary文件:# text2wfreq < *.txt | wfreq2vocab > *.tmp.vocab
命令text2wfreq:统计文本文件中每个词出现的次数,得到一个后缀为wfreq的文件
命令wfreq2vocab:统计文本文件中含有多少个词,即有哪些词。如数字识别中包含10个数字和两个静音
(3)生成 arpa格式的语言模型:
(4)转换为 CMU的二进制格式 (DMP):
最终生成了语言模型*.lm.DMP,此文件为解码器端所需要的文件格式
以上是关于语音识别系统语言模型的训练和声学模型的改进的主要内容,如果未能解决你的问题,请参考以下文章