Kaldi中语言模型

数据准备流程是为了整理数据,生成指定的文件或者是变成指定的格式,方便kaldi后面的语言模型训练,数据准备流程
1、 处理集外词,将分词后的预料库data/local/train/text中的文件索引全部替换成,在生成语言模型时,如果计数文件中或者训练文件总出现了词典之外的词(OOV)将被替换成,然后将 作为正常词进行统计,这么做的好处是给大量OOV分配概率,使得相比于以前频数稀少的精确词,使用增大计算概率,也起到了一定的泛化效果,会降低perplexity值,使得模型效果变好
2、 为方便kalid统计词频,给所有word加上(分别代表 句首,句尾,集外词)设置索引,生成索引文件word_map,并且将训练语料data/local/train/text中的每个word按照索引映射成word_map的指定项,生成train.gz文件,后续语言模型依据train.gz文件统计各ngram出现的频率
3、 结合发音词典和语料库,统计每个word出现的频次并且按照出现次数的多少排序,生成unigram.counts文件,该文件的目的主要是在后续模型回退阶段,回退至unigram时,为unigram赋概率值,具体计算:count(unigram)/vocabulary_size。

你可能感兴趣的:(语音识别,语言模型,语音识别)