`
BradyZhu
  • 浏览: 260406 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

手把手教你编译MOSES机器翻译系统

 
阅读更多

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

http://www.statmt.org/moses/


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

一、关于操作系统

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

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

l服务器环境:


l系统配置:



二、安装boost库

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

apt-getinstalllibboost1.53-all-dev


三、安装GIZA++

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

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

tarxzvfgiza-pp-v1.0.7.tar.gz

cdgiza-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。使用下面的命令来安装这两个工具:

$sudoapt-getinstallautomake

$sudoapt-getinstalllibtool

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

http://sourceforge.net/projects/irstlm/files/

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

tarzxvfirstlm-5.80.01.tgz

cdirstlm-5.80.01/

./regenerate-makefiles.sh

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

make

sudomakeinstall

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


五、安装Moses

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

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

sudoapt-getinstallgit

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

gitclonegit://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统计机器翻译系统实验过程" Moses统计机器翻译系统是基于统计机器翻译的开源系统,它可以用于机器翻译任务的实现。本文将从Moses的环境搭建、语料库的准备、标注、语言模型的训练、翻译模型的训练、调优和...

    Moses机器翻译手册

    用户手册和代码指南为Moses机器翻译解码器提供了全面介绍。Moses的开发得到了多个项目的资金支持,并在学术界广受认可,成为研究领域的标准工具。 ### 目录 手册内容包括: - 引言:介绍Moses,概述技术、组成、...

    搭建属于自己的机器翻译系统.docx

    NiuTrans开源系统在国际上具有较高的知名度,与爱丁堡大学的Moses系统并列为目前国际上支持统计机器翻译模型最全的两套系统之一。然而,对于非专业人士,这些技术细节可能并不重要,更关键的是如何实际操作搭建起一...

    moses-online:摩西,机器翻译系统

    该系统具有附加参数、在线特征的权重和在线算法的学习率。 这些参数可以作为 1. "weight-ol <weight>" : is the initial weight of the online feature function2. "f_learningrate <rate>" : is the learning rate...

    moses_manual

    moses文档 指导更好的使用机器翻译系统moses

    MOSES算法MOSES算法.pdf

    MOSES算法是一种复杂的技术系统,涉及多个科学领域,包括数学、物理、工程学等。为了了解MOSES算法的技术细节,我们将从数学角度探讨该算法的基本原理和数值算法。 I. 算法简介 MOSES算法的主要目标是解决复杂的...

    搭建属于自己的机器翻译系统.doc

    NiuTrans开源系统在国际上具有较高的知名度,被公认为全球两大支持统计机器翻译模型最全的系统之一,与爱丁堡大学的Moses系统并列。尽管这些信息对于专业学者具有价值,但对于非专业人士而言,更关注的是如何快速...

    MOSES

    通常,"MOSES"可能是“Multi-Objective SysteM for Evaluation and Selection of Typefaces”的缩写,这是一个用于多目标字体评估和选择的系统。在IT行业中,字体设计和选择对于用户界面(UI)和用户体验(UX)至关...

    统计机器翻译

    总的来说,`mgiza`是统计机器翻译领域不可或缺的工具,它不仅提供了强大的词对齐功能,还支持多种模型的训练,为构建高效、准确的翻译系统奠定了坚实的基础。随着深度学习在NLP领域的普及,`mgiza`等传统工具虽然...

    翻译开源软件

    "356305227moses-2007-01-10.zip" 是Moses开源机器翻译系统的旧版本,Moses是一个流行的统计机器翻译系统,特别适合处理短语性的翻译模型。它支持多种语言对,并且有一个活跃的社区提供支持和改进。 综上所述,这些...

    基于摩西核心项目的机器翻译工具套件

    其中,"摩西核心项目"(Moses Core Project)是一个开源的统计机器翻译系统,它为开发者和研究者提供了构建和优化机器翻译模型的强大平台。 摩西核心项目起源于2007年,由约翰霍普金斯大学、卡内基梅隆大学和IBM等...

    统计机器翻译开源软件介绍

    - **背景**:Moses是一款高度可配置的统计机器翻译系统。 - **特点**:Moses采用了多种技术,包括短语对齐、重新排序模型等,支持多种语言对。 - **应用**:Moses因其灵活性和高性能而在学术界和工业界广受欢迎。 #...

    人工智能技术 机器翻译原理与方法讲义(06)基于短语的统计机器翻译方法 共120页.pptx

    ### 人工智能技术:机器翻译原理与方法讲义(06)——基于短语的统计机器翻译方法 #### 一、引言 随着信息技术的发展,尤其是人工智能领域的进步,机器翻译技术得到了飞速发展。本讲义重点介绍的是机器翻译领域的一...

    moses-tagger:用于以MOSES格式准备语料库的标记器

    MOSES是一种开源的统计机器翻译系统,广泛应用于自动翻译领域。它允许用户利用大量双语数据训练模型,从而实现高质量的文本翻译。在机器翻译领域,语料库的预处理是至关重要的步骤,因为这直接影响到最终模型的性能...

    giza++用作词语对齐,在自然语言处理中有广泛应用

    1. 机器翻译:Giza++在机器翻译系统中起着核心作用。通过对双语语料库中的词语进行对齐,可以构建词典,这个词典用于翻译模型的训练,从而提高翻译质量。 2. 术语提取:在信息检索、文档摘要和文本挖掘等领域,Giza...

    Python-PyTorch中的神经机器翻译框架

    在Python的深度学习库PyTorch中,神经机器翻译(Neural Machine Translation, NMT)是一种先进的自然语言处理技术,用于将一种语言自动翻译成另一种语言。NMT框架基于神经网络,尤其是递归神经网络(RNN)、长短期...

    AI Challenger 神经网络翻译

    文中推荐了一些机器翻译工具,包括Moses、基于GRU的NMT框架、基于CNN的NMT框架,以及谷歌利用TensorFlow开发的NMT框架。这些工具展示了机器翻译从传统的基于规则和统计方法到基于深度学习方法的转变。 6. 搜狗参赛...

Global site tag (gtag.js) - Google Analytics