一、训练语言模型
词与词之间存在着合乎句法与否的约束,语言模型就是用来表示这些约束的,它可以提供字与字之间的上下文信息和语义信息。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,此文件为解码器端所需要的文件格式
原文地址:https://www.cnblogs.com/aimod/p/9892511.html
时间: 2024-11-02 17:59:00