`
xitonga
  • 浏览: 590425 次
文章分类
社区版块
存档分类
最新评论

srilm安装及ngram-count简单使用

 
阅读更多

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过程:

  1. export SRILM=`pwd`。
  2. make MACHINE_TYPE=i686-m64。
  3. 如果提示找不到TCL库之类的错误,就修改Makefile文件,里面有 TCL_INCLUDE 与TCL_LIBRARY 两个变量 ,比如可以分别设为-I/usr/local/include 以及 -L/usr/local/tcl8.5
  4. 进入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相关的主要类的类图

    SRILM与ngram-count相关的主要类的类图 使用starUML及其逆向工程工具绘制

    SRILM的ngram训练相关的类图及流程图

    主要针对SRILM的训练,即ngram-count。 内含5个jpg文件: 1.类图--与ngram-count相关的主要类的静态图; 2.ngram-count--从语料训练出模型的主要流程; 3.lmstats.countfile--ngram-count的子流程,用于构建词汇表和...

    SRILM源代码分析笔记

    1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具); 2.ngram-count.jpg:从语料训练出模型的主要流程; 3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的...

    SRILM源代码仔细分析

    1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具); 2.ngram-count.jpg:从语料训练出模型的主要流程; 3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的...

    srilm-1.7.1.tar.gz

    (下载到的srilm.tar.gz(1.7.1)要重命名成srilm.tgz,然后运行sudo ./install_srilm.sh即可自行安装) 安装成功提示如下: /home/avatar/kaldi-master/tools/srilm/sbin/decipher-install 0555 compare-sclite ....

    srilm-1.7.3.tar.gz

    一般帖子上附的这个下载网址内网登不上 (http://www.speech.sri.com/projects/srilm/download.html) 所以就拜托国外的同学帮我下了这个最新版本的srilm 亲测可用哈~

    srilm-1.7.2.tar.gz.zip

    srilm-1.7.2.tar.gz,用于htk,及python环境下的操作。。

    srilm-1.4.6

    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. ,所以传一份上来...

    srilm 语言模型训练工具

    语言模型训练工具 做语音识别 自然语言处理 都需要的工具 官网地址 http://www.speech.sri.com/projects/srilm/download.html 一般打不开 我就上传到这里 供朋友们下载

    pysrilm:SRILM 的 Python 接口

    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

    srilm-1.7.2.tar.gz,用于htk,及python环境下的操作。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    srilm-1.7.x.rar

    srilm 版本1.7,官网下载比较慢,放到这里来,有需要的可以下载

    swig-srilm:SRILM工具包的SWIG包装器

    要求GNU make 简化的包装和接口生成器( ) 本地Python和/或Perl安装SRILM工具箱(v1.7.1)。 如果您有SRILM的旧版本(例如1.5.x系列),则应使用old_srilm分支。 请注意,SRILM应该已经被编译为与位置无关的代码。 ...

    免费下载srilm-1.7.3.tar.gz和srilm-1.7.1.tar.gz

    国外的要翻墙,用不了.这里免费进行分享

    免费下载[srilm-1.7.3.tar].zip

    在学习语音识别中遇到不能安装SRILM的问题,在此记录一下

    srilm-1.7.2

    语言模型训练工具,可以进行统计翻译项目,亲测可用。

    icslp2002-srilm

    33.第三十三套:机器读心术之文本挖掘与自然语言处理高级视频教程

    srilm-1.7.3

    亲测在64位的ubuntu16.04 server下可用,保证可以运行,请放心下载。下载后只要解压并运行make指令即可安装。

    srilm笔记1

    2:对每个文本统计词频~/srilm/bin/i686-m64/make-batch-counts_jane train_split_data/train.tx

    作业1-SRILM实验1

    实验日志依次展示如下:1)原始Knser-Ney算法2)添加“-kndiscountn 3” 指令3)witten bell算法3. 根据上述过程中生成的语言模

Global site tag (gtag.js) - Google Analytics