这个是啥
这个博客主要用来记录在爱丁堡大学读Speech and Language Processing的硕士时上过的一些课程。我自己本人是国内普通211汉语言学本科的,相关的背景也比较薄弱,还望各位多担待。
TIMIT是很多研究Kaldi的旁友经常接触到的语料库,网上也有不少介绍在Kaldi上跑TIMIT的文章,我个人觉得比较详细的是以下这篇:
Kaldi完美运行TIMIT完整结果(含DNN)
上面这篇文章把/egs/timit/s5/run.sh里的内容基本上介绍了一遍,Dan Povey本人在Google的group上也经常会让提问的人回去研究一下这些类似于‘范例’一样的脚本,这是学习Kaldi的一个好途径。【也是我完成这个作业的一个小捷径。
这里主要介绍一下我在完成这份作业时遇到的几个小坑,基本上都是我在作业中遇到的,而且国内论坛没怎么见人提到过的。
语言模型
Kaldi主要是用来做文字级别的识别,即word recognition,同时也能拿来做音素级别的识别,也就是phone recognition。这个主要是在数据准备的阶段完成,Kaldi会根据data中提供的字典生成语言模型。我们可以通过查看data/lang/word 这个文件的内容来判断,如果里面的是音素,那就是做音素级别的识别,反之则是文字级别的。
这个在训练之前要注意一下,同时也要保证data/train/text和data/test/text这两个文件里的大小写要和上面提到的data/lang/word一致。
这个大概就是语言模型容易遇到的坑,建议留神