Sundy1219 / eesen-for-thchs30

ASR for Chinese Mandarin
75 stars 30 forks source link
asr chinese ctc eesen lstm mandarin wfst

这个recipe是基于eesen代码改写的中文语音识别,语料库为清华语料库(data_thchs30)。

1 功能:

1)可以实现中文语音识别  

2)可以加入其它的汉语语料库进行算法研究

3)也可以单独研究以wfst为架构的解码器,实现声学模型出来的音素到词的转换

2 算法:BiLSTM+CTC+WFST

1)BiLSTM:3 layers+ 1 projection layer,320 hidden units  

2)CTC:216个声韵母标签+1个blank标签  

3)WFST: CTC token fst(T.fst), lexicon fst(L.fst), language model fst(G.fst) 

3 实验结果:

1)CTC训练标签正确率:92%左右  

2)CTC交叉严重标签正确率:90%左右  

3)最终的解码WER:25%左右  

4 该目录下的相关文件说明:

 1)运行该项目: ./run.sh 

    也可以单独运行每个高亮的shell脚本,其中  

    make_TLG_WFST.sh: 用来生成TLG.fst . 无需加参数运行,生成的文件所在的目录为:data/{train,test,dev,lang,search_Graph}.  

    feature.sh:用来生成wav音频数据的fbank特征,40+delta+double delta. 无需加参数运行,生成的文件所在目录为:data/{train,test,dev} ,fbank  

    train.sh: 训练声学模型 无需加参数运行,也可以修改该脚本里的网络参数。生成的文件所在目录为:exp/model_l$_c$  

    decode.sh:利用 声学模型 和集成了语言模型的WFST进行解码. 生成的文件所在目录为:exp/model_l$_c$/decode_test 

2)数据准备:  

    准备语言模型languange model ,放入data/language_model目录下,语言模型的文件格式类似于清华的  

    准备字典lexicon.txt,放入 data/dict目录下  

    准备训练数据,放入corpus/train目录下,wav+text  

    准备测试数据,放入corpus/test目录下, wav+text  

    准备验证数据,放入corpus/dev目录下,wav+text  

5 安装eesen:

1)要想运行该项目,必须根据https://github.com/srvk/eesen中的INSTALL安装eesen