kaldi安装srilm及使用

今天看语言模型如何生成,很多资料都提示用srilm来生成,那就搜索如何安装和使用。在网上查了很多资料都没搞定,花了4个小时左右终于安装完成并能做简单测试,这里简单记录一下整个过程。

准备工作

先参考 SRILM的安装与使用文章,安装各种依赖,其中查看依赖,直接输入which 包名即可,例如检查gawk是否安装,输入命令which gawk查看是否存在,把没有安装的依赖包安装好。

要特别注意TCL的安装,下载地址:http://www.tcl.tk/software/tcltk/download.html,我下载的是8.6.8的版本,直接使用make是没有办法安装的,参考文章 http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html中的脚本,写个脚本来安装。

srilm安装

方法1、最开始可以通过kaldi提供的脚本来安装,脚本是./kaldi/tools/install_srilm.sh,由于可能下载不成功,请先手动下载下来后,把下载和解压等脚本注释掉,然后跑脚本,这种方式应该是可以跑过的

方法2、上面的方法是最简单的,如果按照没成功那就按上面文章的介绍方式进行安装。

验证

在安装目录srilm下,运行

 make test

需要等待一段时间,如果出现都是 IDENTICAL,就证明 SRILM 编译成功了。运行顺利的话,会出现如下类似结果

*** Running test select-vocab ***

7.68user 0.06system 0:06.96elapsed 111%CPU (0avgtext+0avgdata 51728maxresident)k

0inputs+1944outputs (0major+12883minor)pagefaults 0swaps

select-vocab: stdout output IDENTICAL.

select-vocab: stderr output IDENTICAL.

make[1]: Leaving directory `/home/xxx/srilm/utils/test'

使用

进入./srilm/bin/i686-m64下(这里要注意i686-m64这几个不是固定的,操作系统和硬件不一样的话,这个名字会有区别),新建文件test.txt,内容

If you do want to use SRILM or are generally interested in it, please consider joining the SRILM user mailing list

执行命令

./ngram-count -text test.txt -lm test.lm

在目录下生成了test.lm文件则生成了语言模型。

常用命令

./ngram-count -text corpus.zh -order 3 -write corpus.zh.count 

./ngram-count -read corpus.zh.count -order 3 -lm corpus.zh.lm -interpolate -kndiscount

遇到的坑

安装完成后,不知道ngram-count放什么地方,这个疑惑的时间最久,很多例子都是说把srilm/bin加入到path中即可,其实加bin是没有任何用处的。

你可能感兴趣的:(kaldi安装srilm及使用)