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过程:
- export SRILM=`pwd`。
- make MACHINE_TYPE=i686-m64。
- 如果提示找不到TCL库之类的错误,就修改Makefile文件,里面有 TCL_INCLUDE 与TCL_LIBRARY 两个变量 ,比如可以分别设为-I/usr/local/include 以及 -L/usr/local/tcl8.5
- 进入test目录试一下,cd test ; make all .
这就编译完了,现在的命令行程序都在./bin/i686-m64/目录,我简单的把这个路径加到PATH里面去了。
3,测试
新建一个文本文件,如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
这就会建立基于source.txt的统计语言模型了,存储在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]#
如果希望只针对指定的词进行统计,就建立一个词列表文件,如source.dict
[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]#
没有2-grams,修改source.dict,使其可以出现2-grams语法,如下:
[root@localhost lm]# cat source.dict
you
do
mailing
are
list
please
[root@localhost lm]#
再执行ngram-count,结果如下:
[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]#
此时,you do作为一个2-gram出现,表示you 后面有do出现的概率。
分享到:
相关推荐
SRILM与ngram-count相关的主要类的类图 使用starUML及其逆向工程工具绘制
主要针对SRILM的训练,即ngram-count。 内含5个jpg文件: 1.类图--与ngram-count相关的主要类的静态图; 2.ngram-count--从语料训练出模型的主要流程; 3.lmstats.countfile--ngram-count的子流程,用于构建词汇表和...
1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具); 2.ngram-count.jpg:从语料训练出模型的主要流程; 3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的...
1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具); 2.ngram-count.jpg:从语料训练出模型的主要流程; 3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的...
(下载到的srilm.tar.gz(1.7.1)要重命名成srilm.tgz,然后运行sudo ./install_srilm.sh即可自行安装) 安装成功提示如下: /home/avatar/kaldi-master/tools/srilm/sbin/decipher-install 0555 compare-sclite ....
一般帖子上附的这个下载网址内网登不上 (http://www.speech.sri.com/projects/srilm/download.html) 所以就拜托国外的同学帮我下了这个最新版本的srilm 亲测可用哈~
srilm-1.7.2.tar.gz,用于htk,及python环境下的操作。。
SRILM is a toolkit for building and applying statistical language models (LMs), primarily for use in speech recognition, statistical tagging and segmentation, and machine translation. ,所以传一份上来...
语言模型训练工具 做语音识别 自然语言处理 都需要的工具 官网地址 http://www.speech.sri.com/projects/srilm/download.html 一般打不开 我就上传到这里 供朋友们下载
pysrilm SRILM 的 Python 接口 版权所有(c)Will Roberts 2015年6月9日 许可证:此包中包含的源代码在 MIT 许可...freq = ngrams.find_count(ngram) 迭代特定模型中特定顺序的所有 n-gram: for (bigram, count) in
srilm-1.7.2.tar.gz,用于htk,及python环境下的操作。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
srilm 版本1.7,官网下载比较慢,放到这里来,有需要的可以下载
要求GNU make 简化的包装和接口生成器( ) 本地Python和/或Perl安装SRILM工具箱(v1.7.1)。 如果您有SRILM的旧版本(例如1.5.x系列),则应使用old_srilm分支。 请注意,SRILM应该已经被编译为与位置无关的代码。 ...
国外的要翻墙,用不了.这里免费进行分享
在学习语音识别中遇到不能安装SRILM的问题,在此记录一下
语言模型训练工具,可以进行统计翻译项目,亲测可用。
33.第三十三套:机器读心术之文本挖掘与自然语言处理高级视频教程
亲测在64位的ubuntu16.04 server下可用,保证可以运行,请放心下载。下载后只要解压并运行make指令即可安装。
2:对每个文本统计词频~/srilm/bin/i686-m64/make-batch-counts_jane train_split_data/train.tx
实验日志依次展示如下:1)原始Knser-Ney算法2)添加“-kndiscountn 3” 指令3)witten bell算法3. 根据上述过程中生成的语言模