Ubuntu 8.10下moses测试平台搭建全记录


  实验室换了新机器,重新安装了最新的Ubuntu 8.10,这样不得不重新搭建moses测试平台。拿自己写的<<Moses相关介绍>>作参考,感觉写得不够细,这里把安装的全过程记录下来,属于一个step-by-step的过程,希望对大家有用。

一、在用户52nlp目录下建立moses平台主目录mtworkdir:

  52nlp@52nlp-desktop:~$ mkdir mtworkdir

  52nlp@52nlp-desktop:~$ cd mtworkdir/

二、安装语言模型工具SRILM:

1、建立srilm目录:

  52nlp@52nlp-desktop:~/mtworkdir$ mkdir srilm

  52nlp@52nlp-desktop:~/mtworkdir$ cd srilm/

2.下载最新的的srilm包(目前最新版本为 srilm-1.5.7.tar.gz)

  52nlp@52nlp-desktop:~/mtworkdir/srilm$ wget   ’ftp://ftp.speech.sri.com/pub/people/stolcke/srilm/srilm-1.5.7.tar.gz’

  显示信息如下:

=> `srilm-1.5.7.tar.gz’

正在解析主机 ftp.speech.sri.com… 130.107.33.205

正在连接 ftp.speech.sri.com|130.107.33.205|:21… 已连接。

正在以 anonymous 登录 … 登录成功!

==> SYST … 完成。 ==> PWD … 完成。

==> TYPE I … 完成。 ==> CWD /pub/people/stolcke/srilm … 完成。

==> SIZE srilm-1.5.7.tar.gz … 完成。

==> PASV … 完成。 ==> RETR srilm-1.5.7.tar.gz … 完成。

长度:48526656 (46M) (非正式数据)

出现下载进度条,等待约一段时间之后,下载完毕

3.解压:tar -zxvf srilm-1.5.7.tar.gz

4.首先确认srilm依赖的这些工具是否已安装:

 A template-capable ANSI-C/C++ compiler, preferably gcc version 3.4.3 or higher.

 GNU make, to control compilation and installation.

 GNU gawk, required for many of the utility scripts.

 GNU gzip to unpack the distribution, and to allow SRILM programs to handle “.Z” and “.gz” compressed datafiles (highly recommended).

 bzip2 to handle “.bz2″ compressed files (optional).

 p7zip to handle “7-zip” compressed files (optional).

 The Tcl embeddable scripting language library (only required for some of the test executables).

 除了上面这些工具外,还需要装一个csh。Ubuntu8.10自带的软件不多,安装时用apt-get或新利得都行。

5. 修改MakeFile:

 在以上工具都安装完毕后,首先修改srilm/MakeFile:

   cp Makefile Makefile.bak(备份)

   vi Makefile

 修改或在第7行下面加上一行

 # SRILM = /home/speech/stolcke/project/srilm/devel (原)

 SRILM = $(PWD) (修改)

 再修改srilm/common/Makefile.machine.i686:

  cd common/

  cp Makefile.machine.i686 Makefile.machine.i686.bak

  vi Makefile.machine.i686

 将第15行 # Use the GNU C compiler下的三行修改如下:

  GCC_FLAGS = -mtune=pentium3 -Wreturn-type -Wimplicit

  CC = gcc $(GCC_FLAGS)

  CXX = g++ $(GCC_FLAGS) -DINSTANTIATE_TEMPLATES

 注:我的新机器的cpu是intel64位,所以尝试了一下64位的编译方法,不太成功,这里的方法对于64位机器也是可以的。

 将51行 # Tcl support (standard in Linux) 下的两行修改如下:

  TCL_INCLUDE = -I/usr/include/tcl8.5

  TCL_LIBRARY = -L/usr/lib/tcl8.5

 注:我装的是tcl8.5,如果是其他版本,请相应修改。

6.回到srilm目录下编译:

  cd ..

  make World

 顺利的话,srilm就编译通过了。如果出现问题,很可能就是相应的依赖工具没有装完全,请回到第4步检查。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页

相关内容