环境:ubuntu16.04
1 安装需要的包
sudo apt-get install build-essential git-core pkg-config automake libtool wget zlib1g-dev python-dev libbz2-dev
sudo apt-get install libsoap-lite-perl
2 在github上clone mose
clone https://github.com/moses-smt/mosesdecoder.git
3 安装giza++
git clone https://github.com/moses-smt/giza-pp.git
cd giza-pp
make
4 把需要用到的giza++文件复制到MosesDecoder
cd ../mosesdecoder
mkdir tools
cp ../giza-pp/GIZA++-v2/GIZA++ ../giza-pp/GIZA++-v2/snt2cooc.out ../giza-pp/mkcls-v2/mkcls tools
cd ..
5 安装IRSTLM 5.80.08 5.80.08下载页面 注意要安装新一点的IRSTLM版本(5.80.07以后),否则后面编译过程可能会出错
mkdir irstlm
wget https://jaist.dl.sourceforge.net/project/irstlm/irstlm/irstlm-5.80/irstlm-5.80.08.tgz
tar zxvf irstlm-5.80.08.tgz
cd irstlm-5.80.08
cd trunk
./regenerate-makefiles.sh
./configure --prefix=$HOME/irstlm
这条命令设置了IRSTLM的安装路径,$HOME可替换为其他你想要安装的路径,这个安装路径是最后一步mose编译要写上的参数
安装
make install
cd ..
cd ..
6 安装boost 1.64 注意看编译过程的信息,确认boost编译成功,否则最后一步的mose编译会报错 failed gcc.link
wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
tar zxvf boost_1_64_0.tar.gz
cd boost_1_64_0/
./bootstrap.sh
./b2 --layout=system link=static install || echo FAILURE
cd ..
7 安装cmph2.0
wget http://www.achrafothman.net/aslsmt/tools/cmph_2.0.orig.tar.gz
tar zxvf cmph_2.0.orig.tar.gz
cd cmph-2.0/
./configure
make
make install
8 安装XMLRPC
wget http://www.achrafothman.net/aslsmt/tools/xmlrpc-c_1.33.14.orig.tar.gz
tar zxvf xmlrpc-c_1.33.14.orig.tar.gz
cd xmlrpc-c-1.33.14/
./configure
make
make install
9 终于到最后一步啦 编译mose
cd mosesdecoder
make -f contrib/Makefiles/install-dependencies.gmake
我运行make -f 这里时报了一个xmlrpc有关的error,不知道是不是要指定路径什么的,虽然报错了,但是运行下面的命令,还是能安装成功
./bjam --with-boost=../boost_1_64_0 --with-cmph=../cmph-2.0 --with-irstlm=../irstlm --with-giza=../giza-pp
参数(如--with-boost等)后面要替换成相应的路径地址,--with-irstlm的路径是第5步中的安装路径
出现上面的信息就是安装成功啦!!!
参考资料
mose官方安装教程 。。。这个看起来像是很久以前写的,都没更新
http://achrafothman.net/site/how-to-install-moses-statistical-machine-translation-in-ubuntu/ 一个国外的安装教程,本文的命令基本是搬运它的,要注意的是这篇文章里面的参数前面只加了一杠- 要改成--才能运行成功
https://blog.csdn.net/han_xiaoyang/article/details/10101701
这篇是csdn上的博客 13年的比较老了