解码器采用Moses,有其他选择。
官网:http://www.statmt.org/moses/ ,上面的manual.pdf非常有用。
下载地址:https://github.com/moses-smt/mosesdecoder
前序安装:
moses需要boost库的支持,所以需要先装boost,boost1.48中存在影响moses的bug,所以应该避开该版本,选择其他版本。我们这里选择1.58
boost库需要ICU库的支持,所以要装一下ICU库,我们这里选择使用3.4,1(版本不算高,但是icu的下载网站上不去,貌似是被墙了,所以在百度上找了个)。
如果没有装python的话,要装一下python。
所以安装顺序是python,icu,boost,moses。
ICU和boost是linux下的常用包,安装教程不少,所以不在赘述。
icu: ./configure --prefix=***; make; make install
boost: 修改bootstrap.sh中的一些路径参数; ./bootstrap.sh; ./b2 ; ./b2 install --prefix=*** ; 这个过程比较慢,需要耐心等待。
python: ./configure --prefix=***; make; make install
Moses安装:
./bjam --with-boost=/*****/boost1.58 --with-srilm=/****/srilm1.7.1 -j8
等待编译完成。
Moses 测试:
下载该压缩包,http://www.statmt.org/moses/download/sample-models.tgz
解压
link mose/bin/moses 到sample-models目录下
执行命令:moses -f phrase-model/moses.ini < phrase-model/in > out
如果sample-models目录下得到一个out文件,文件内容为两行:this is a small house ,则表示moses安装成功。
Moses训练脚本解析:
文件:scripts/training/train-model.perl
步骤:
1. 语料处理
2.运行GIZA
3. 词对齐
4. 学习词翻译概率
5.短语抽取
6. 短语打分
7. 学习调序模型
8. 学习生成模型
9.生成解码配置文件
调用GIZA++的部分,主要使用了GIZA++,snt2cooc.out,mkcls三个工具: