摩西是一个由英国爱丁堡大学的SMT先锋团队[科恩等人,2007 ]开发的翻译系统。摩西的最新版本支持许多特征和功能。例如,它支持基于短语和基于语法基础的模型(从短语/规则提取解码)。同时,它提供的因素翻译模型(factored translation model)使得系统能够使用在不同层次的多种信息。此外,混淆网络(confusion network)和字格(word lattices)可以用来作为输入,用以减小系统的最佳输出误差。此外,摩西包提供了许多有用的脚本和工具,以支持更多的功能。

从使用的操作系统开始说吧。

一、关于操作系统

事实上,根据本人编译安装的经验,编译moses和linux系统的版本关系是不大的,但是一定要确保你的系统版本较新,否则容易出现各种小问题,影响编译安装进度。这里使用ubuntu作为例子吧,本人比较懒,喜欢使用apt-get命令来安装软件和所需的库,当然,如果是centOS的话,yum也可以有同样的效果,可以配一下软件源。

先说一下本人机器的基本信息。

l 服务器环境:

l 系统配置:

二、安装boost库

Moses使用C++作为开发语言,并且使用了C++的Boost库。因为是从源代码开始编辑整个Moses系统,因此需要在编译前安装Boost库。在Ubuntu系统下,使用下面的命令来安装Boost,这里用的是1.53版本(低版本的boost下,新版的moses编译会有依赖问题):

apt-get install libboost1.53-all-dev

三、安装GIZA++

GIZA++是一个统计机器翻译工具,是用来训练IBM模型1-5和HMM词对齐模型的。该软件包还包含了mkcls等生成单词训练生成对准模型的工具。使用下面的命令下载并编译GIZA++:

wget http://giza-pp.googlecode.com/files/giza-pp-v1.0.7.tar.gz

tar xzvf giza-pp-v1.0.7.tar.gz

cd giza-pp

make

编译完成后,将生成三个可执行文件:

· giza-pp/GIZA++-v2/GIZA++

· giza-pp/GIZA++-v2/snt2cooc.out

· giza-pp/mkcls-v2/mkcls

记得在编译完之后将上面的三个文件拷到一个目录下,便于访问使用。

我是直接将其放在tools/gizapp文件夹下的。

编译创建好GIZA++后,有两种方式来使用它,一是在编译Moses时将GIZA++的地址作为选项参数。如果在编译Moses时没有指定GIZA++的地址,可以采用另外一个方法,那就是在训练语言模型时指明GIZA++三个可执行文件的路径,例如:

train-model.perl -external-bin-dir $HOME/external-bin-dir

我在实际操作中,采用的是第二种方法,即在使用Moses时,给一个参数指明GIZA++路径。

四、安装IRSTLM

在创建语言模型时,需要选用一种估值方法,目前有两种工具可以使用:

· IRSTLM

· SRILM

两者在使用效果上没有太大差别。对于实验使用的话,两者都是免费的。但是,如果将SRILM应用于商业产品,则需要支付不菲的许可证费用,而IRSTLM没有费用。因此,现在挺多地方都选用了IRSTLM作为估值工具,我这里使用的也是IRSTLM。

在编译IRSTLM之前,需要安装两个工具。由于IRSTLM的脚本 regenerate-makefiles.sh 用到了aclocal 命令,而此命令在automake 包中,因此先安装 automake 包。另外还需要安装libtool。使用下面的命令来安装这两个工具:

$ sudo apt-get install automake

$ sudo apt-get install libtool

接下来就可以安装IRSTLM了。先下载软件包,下载地址为:

使用下面的命令进行安装:

tar zxvf irstlm-5.80.01.tgz

cd irstlm-5.80.01/

./regenerate-makefiles.sh

./configure --prefix=/home/yaoqiang/moses/irstlm-5.80.01

make

sudo make install

这样就编译安装好了IRSTLM,在安装路径下新增了三个目录bin/,include/,以及lib/。bin/下面包括了许多可执行脚本,其中就包括创建语言模型的脚本build-lm.sh。

五、安装Moses

Moses目前(2013.04)已经出了其1.0版。且从2011年起,Moses已经迁移到Github,下载其代码就需要使用git,使用起来非常方便。

如果你的Ubuntu系统上没有git,可以通过下面的命令进行安装:

sudo apt-get install git

有了git之后,就可以使用下面的命令来下载Moses:

git clone git://github.com/moses-smt/mosesdecoder.git

进入mosesdecoder目录,编译Moses,一条完整的简单命令如下,其中分别指定了irstlm和giza的位置:

./bjam -j8 \ --with-irstlm=/home/yaoqiang/moses/irstlm-5.80.01 \  --with-giza=/home/yaoqiang/moses/giza-pp

其中,-j8是说明CPU是8核的,另外两个参数分别指定了IRSTLM和GIZA++的路径,耐心等待一段时间,会看到编译成功的提示。

至此,Moses系统就安装完成了。

后续我将介绍moses的训练(training)和调优(tuning)以及使用的过程和方法,以及moses的高级特征等。

moses 编译_手把手教你编译MOSES机器翻译系统 | 学步园相关推荐

  1. ipa文件反编译_手把手教你反编译别人的app

    虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈.此文想以实际例子出发,告诉大家,如何去反编译一个app,并且从某个角度来说,iOS没有传说中的&q ...

  2. ipa文件反编译_手把手教你反编译别人的iOS App

    下载智可网手机app可以学习更多哦! 虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈.此文想以实际例子出发,告诉大家,如何去反编译一个app,并且 ...

  3. python开源报表系统详细操作流程_手把手教你实现自动化报表系统

    今天给大家安利一套自动化报表的实现过程. 说到报表,大家脑海里一定浮现了各种高大上的财务报表,不管他们如何实现的,本文却要教你实现自己的报表系统.对于土豪公司来说,这些都是小case,因为商业的工具平 ...

  4. win10系统崩溃怎么修复_手把手教你“无损”修复win10系统

    平时在电脑的使用中,大家偶都遇到一些软件故障或者系统的某些功能出问题. 比如我前段时间就遇到USB驱动的故障,导致USB鼠标键盘无法使用.但是在BIOS下,键盘鼠标都是正常的,这样就确定是系统的故障. ...

  5. easyuefi安装不了_手把手教你Windows Linux双系统的安装与卸载

    作者:-叶丶知秋 链接:https://blog.csdn.net/fanxueya1322/article/details/90205143 转载请保留出处 良许前言: 后台突然有很多小伙伴留言想看 ...

  6. deepin20系统选择手动安装盘_手把手教你安装Mac双系统

    Attention:本教程适用于14年及其以前的Mac.之后会出适用于15年及其以后机子的教程. 双系统教程很多,问题是14年及其之前的机子需要手动下载对应的BootCamp驱动.很多老教程都忽略了这 ...

  7. [ROC-RK3568-PC] 手把手教你编译Linux_SDK并打包Buildroot系统固件

    ✏️ROC-RK3568-PC入门篇连载进程: ✅ [ROC-RK3568-PC] 手把手教你把出厂的Android系统烧写为Ubuntu系统 ✅ [ROC-RK3568-PC] 手把手教你制作Ubu ...

  8. Android反编译:手把手教你制作高德地图车机共存版

    Android反编译:手把手教你制作高德地图车机共存版 前言 前期准备 反编译流程 反编译获取有效信息 修改关键信息 修改包名 修改其它配置 生成APK 重新打包成apk 重新签名 绕过校验机制 定位 ...

  9. 软件_手把手教vscode配置c++,python开发环境

    原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...

最新文章

  1. Linux Security Module逆向分析实战
  2. springmvc教程--快速入门教程
  3. Xen 工作原理与体系架构
  4. 快速幂算法相关题目(Leetcode题解-Python语言)
  5. python视频处理代码_python如何实现视频转代码视频
  6. delphi7 安装delphi 5 delphi 6控件
  7. Use grep to report back only line numbers
  8. nginx 代理静态资源报 403
  9. mysql数据库优化总结 有图 有用
  10. 不全屏放映ppt的方法
  11. CMDB内功心法,助我登上运维之巅
  12. Python学习笔记—条件判断和循环
  13. java dump可视化在线内存分析工具
  14. 电脑开热点手机连不上
  15. 4399IT运维实习生面试经历
  16. Buuctf:[MRCTF2020]你传你呢
  17. 周昆 浙江大学计算机学院院长,周昆 - 国立浙江大学维基
  18. win10安装IIS时报错windows无法请求的更改,错误代码0x8007057解决办法2017年10月15日
  19. windows定时关机命令 取消定时关机命令 查看DNS缓存命令 清除DNS缓存命令
  20. 计算机图形学中消隐的相关概念及算法

热门文章

  1. 交友结婚的原则[转贴]
  2. pc版qq登录及移动版qq登录的申请过程
  3. Vue3+Ant-design项目启用ts/typescript
  4. 苹果开发者账户续费,支付授权失败,真正的解决办法
  5. C语言基础之汉语拼音读数字
  6. 极客日报:腾讯《王者荣耀》禁止未满12周岁用户充值;B站发布16款新品游戏;华为注册姚安娜商标被驳回
  7. Unity Android 加载Sprite
  8. Springboot Vue个人简历网站系统java项目源码
  9. Unity学习4:如何实现2D图像跟踪(涂色类AR项目实践1)
  10. WEB应用防火墙(WAF启明设备)