感谢支持
我们一直在努力

Ubuntu 9.10 32位系统下SRILM的配置详解

Ubuntu 9.10 32位系统下SRILM的配置详解这篇文章是在参考了好几篇配置SRILM的文章基础上写出来了,感谢他们,尤其是52nlp


首先,安装依赖的软件包:
1.c/c++ compiler:编译器gcc 3.4.3及以上版本,我的是gcc 4.4
2.GNU make:构建和管理工程的工具,解释Makefile里的指令,描述了整个工程所有文件的编译顺序和编译规则。这里是为了控制SRILM的编译和安装。
3.GNU gawk:GNU所做的awk程序语言。对于文字资料的修改,对比,抽取等处理,使用c或passcal等不方便且费时,awk能够以很短的程序完成。这里是处理SRILM里的一些脚本文件。
4.GNU gzip:使用c语言编写的一种解压缩软件。这里是为了使SRILM能够处理.Z和.GZ后缀的压缩文件。
5.bzip2:数据压缩软件,压缩效率更高。这里是使SRILM能处理.bz2后缀的压缩文件。
6.P7zip:数据压缩软件。这里是使SRILM能处理7-zip的压缩文件。
7.Tcl可嵌入式脚本语言。用于脚本编程和测试。这里是为了SRILM的测试。最好安装tcl8.x和tcl8.x-dev。
8.csh:Unix shell的一种。(这个很重要,安装过程中有个问题困扰了很久,最后发现是csh没有安装的原因)。


安装过程:


一.下载SRILM.tgz压缩包
链接:http://www.speech.sri.com/projects/srilm/download.html,创建安装的目录,并把压缩包解压到该目录。我这里使用的是1.5.8版,安装目录是:/home/moses/tools/srilm


二.修改Makefile文件(srilm目录下)
1.找到此行: # SRILM = /home/speech/stolcke/project/srilm/devel,另起一行输入srilm的安装路径,SRILM = /home/moses/tools/srilm或者SRILM = $(PWD)
2.找到此行:MACHINE_TYPE := $(shell $(SRILM)/sbin/machine-type),在其前加#注释掉,并另起一行输入:MACHINE_TYPE := i686-gcc4。此行告诉Makefile之后要看的设置在/home/user/srilm/common /Makefile.machine.i686-gcc4中。


三.把ubuntu9.10系统的相关设定告诉Makefile,即用编辑器修改 /home/moses/tools/srilm/common目录下的文件:Makefile.machine.i686-gcc4
1.找到:
GCC_FLAGS = -march=athlon64 -m64 -Wreturn-type -Wimplicit
CC = $(GCC_PATH)gcc $(GCC_FLAGS) -Wimplicit-int
CXX = $(GCC_PATH)g++ $(GCC_FLAGS) -DINSTANTIATE_TEMPLATES
这里是为了告诉SRILM系统使用的compiler(c和c++),符合安装情况,不需要修改。
2.找到:
# Tcl support (standard in Linux)
TCL_INCLUDE =
TCL_LIBRARY =


修改为 # Tcl support (standard in Linux)
TCL_INCLUDE = -I /user/include/tcl8.5
TCL_LIBRARY = -L /user/lib/tcl8.5


这里是为了告诉SRILM函数库(TCL)在系统中的安装位置。

3.找到:
GAWK = /usr/bin/awk
修改为 GAWK = /usr/bin/gawk
注:各系统中这些软件的安装情况可能不同,查找软件的安装位置,可使用命令:which is gcc或which is g++或which is gawk等。

四.修改环境变量
输入命令:sudo gedit /etc/profile
找到:
if [ “$PS1” ]; then
if [ “$BASH” ]; then
PS1=’u@h:w$ ‘
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ “`id -u`” -eq 0 ]; then
PS1=’# ‘
else
PS1=’$ ‘
fi
fi
fi
在其后另起一行输入:export PATH=$PATH:/home/moses/tools/srilm/bin/i686-gcc4:/home/moses/tools/srilm/bin


五.安装SRILM并测试
1.编译srilm
make World
2.测试


       编译通过不等于编译成功,必须利用srilm提供的测试模块进行测试
cd test
make all


       出现如下信息:


        ………



       *** Running test ngram-prune ***
11.17user 2.35system 0:14.20elapsed 95%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+15816outputs (0major+31653minor)pagefaults 0swaps
ngram-prune: stdout output IDENTICAL.
ngram-prune: stderr output IDENTICAL.


*** Running test ngram-server ***
0.21user 0.72system 0:06.56elapsed 14%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+8outputs (0major+2559minor)pagefaults 0swaps
ngram-server: stdout output IDENTICAL.
ngram-server: stderr output IDENTICAL.


*** Running test ppl-counts ***
0.10user 0.24system 0:00.32elapsed 104%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+16outputs (0major+4724minor)pagefaults 0swaps
ppl-counts: stdout output IDENTICAL.
ppl-counts: stderr output IDENTICAL.


*** Running test tagged-ngram ***
0.00user 0.05system 0:00.11elapsed 51%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+24outputs (0major+1789minor)pagefaults 0swaps
tagged-ngram: stdout output IDENTICAL.
tagged-ngram: stderr output IDENTICAL.


*** Running test vocab-aliases ***
0.27user 0.24system 0:01.65elapsed 31%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+16outputs (0major+5845minor)pagefaults 0swaps
vocab-aliases: stdout output IDENTICAL.
vocab-aliases: stderr output IDENTICAL.



需要等待一段时间,如果出现多是IDENTICAL,很少的DIFFERS,就证明srilm编译成功了!

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 9.10 32位系统下SRILM的配置详解
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏