SRILM是一个统计和分析语言模型的工具,提供一些命令行工具,如ngram,ngram-count,可以很方便的统计NGRAM的语言模型。
1,下载
我开始在这个站上下载,感觉很慢。 http://www.speech.sri.com/projects/srilm/download.html。 然后直接换了个站下载,直接下载1.5版本的。
wget ftp://ftp.speech.sri.com/pub/people/stolcke/srilm/srilm-1.5.7.tar.gz 。这个版本也不低,现在最高的版本是1.7.
2,安装
我的机器是64位的。
安装这个包依赖于TCL包,TCL的下载地址是:http://www.tcl.tk/software/tcltk/download.html(这个包的安装,很常规,解压后,进入unix目录,下面就有configure文件了)
安装srilm过程:
新建一个文本文件,如source.txt,随便搞个内容,如下:
[root@localhost lm]# cat source.txt If you do want to use SRILM or are generally interested in it, please consider joining the SRILM user mailing list. [root@localhost lm]#然后执行命令
ngram-count -text source.txt -lm source.lm
[root@localhost lm]# cat source.lm \data\ ngram 1=22 ngram 2=22 ngram 3=0 \1-grams: -1.341524 </s> -99 <s> -99 -1.341524 If -99 -1.050479 SRILM -7.440329 -1.341524 are -99 -1.341524 consider -99 -1.341524 do -99 -1.341524 generally -99 -1.341524 in -99 -1.341524 interested -99 -1.341524 it, -99 -1.341524 joining -99 -1.341524 list. -99 -1.341524 mailing -99 -1.341524 or -99 -1.341524 please -99 -1.341524 the -99 -1.341524 to -99 -1.341524 use -99 -1.341524 user -99 -1.341524 want -99 -1.341524 you -99 \2-grams: 0 <s> If 0 If you -0.30103 SRILM or -0.30103 SRILM user 0 are generally 0 consider joining 0 do want 0 generally interested 0 in it, 0 interested in 0 it, please 0 joining the 0 list. </s> 0 mailing list. 0 or are 0 please consider 0 the SRILM 0 to use 0 use SRILM 0 user mailing 0 want to 0 you do \3-grams: \end\ [root@localhost lm]#
[root@localhost lm]# cat source.dict you are list please [root@localhost lm]#
ngram-count -text source.txt -lm source.lm -vocab source.dict结果如下:
[root@localhost lm]# cat source.lm \data\ ngram 1=6 ngram 2=0 ngram 3=0 \1-grams: -0.60206 </s> -99 <s> -0.60206 are -7.180781 list -0.60206 please -0.60206 you \2-grams: \3-grams: \end\ [root@localhost lm]#
[root@localhost lm]# cat source.dict you do mailing are list please [root@localhost lm]#
[root@localhost lm]# cat source.lm \data\ ngram 1=8 ngram 2=1 ngram 3=0 \1-grams: -0.7781513 </s> -99 <s> -0.7781513 are -0.7781513 do -7.269613 list -0.7781513 mailing -0.7781513 please -0.7781513 you -99 \2-grams: 0 you do \3-grams: \end\ [root@localhost lm]#