在你完成整套moses的训练和微调(tuning)之后,你可以在本机上对文本里面的内容进行翻译,或者手动在终端输入进行翻译。这种方式作为研究是可以的,只适合单人使用,一个实际的服务器能同时处理多个人的翻译需求,且整个系统只启动一次,不用每次来一个请求载入一次相关数据(因为moses的数据较大时载入需要一定时间)。这样我们就应该以server的形式启动我们的翻译系统。
1简介
Moses是能够让我们以server的形式启动进程的,然后通过xmlrpc接收所需要翻译的句子。这也就意味着一个moses进程可以为使用Java,perl,python,php或者其他有xmlrpc库的编程语言编写的客户端(client)提供服务。
要得到mosesserver,你首先需要安装xmlrpc-c,建议安装稳定版本,例如stableversion1.16.19.接下来需要为了使得你最后的bin可执行文件夹下有mosesserver,需要重新编译源码,并在编译的时候指定xmlrpc的路径,在原编译命令上再加上参数--with-xmlrpc-c=<path-xmlrpc-c-config>且你需要设置moses成多线程工作的。
编译过后可以在bin文件夹下找到可执行文件mosesserver,启动它的方式和moses一样,在执行moses的命令中多加两个参数即可,我们需要这两个参数来制定监听端和日志文件存放处(--server-port和--server-log),若不指定的话,则俩参数默认指向8080端口和/dev/null。
2mosesserver详细安装过程和网页翻译系统搭建过程
作为背景,还是先说一下本人机器的基本信息。
l服务器环境:
l系统配置:
l编程语言:PHP和perl
l开始安装:
Ø安装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
记得将这些文件拷至要使用的文件夹下。
Ø安装srilm
下载srilm之后执行以下命令:
tarzxvfirstlm-5.80.01.tgz
cdirstlm-5.80.01/
./regenerate-makefiles.sh
./configure--prefix=/home/yaoqiang/moses/irstlm-5.80.01
make
sudomakeinstall
Ø安装xmlrpc
1.下载了再安装的方式
REPOS=http://svn.code.sf.net/p/xmlrpc-c/code/stable
svncheckout$REPOSxmlrpc-c
./configure--prefix=/home/yaoqiang/moses
make
makeinstall
2.apt-get安装
Apt-getinstalllibxmlrpc-c3-dev(这种情况下生成的xmlrpc-c-config在/usr/bin下)
Ø安装boost
我还是建议直接apt-get安装吧,别折腾着自己编译安装了,一条命令解决:
apt-getinstalllibboost1.53-all-dev
Ø编译moses,在https://github.com/moses-smt/mosesdecoder/tree/RELEASE-1.0上下载REALEASE-1.0版本的moses,
编译的时候建议不要多线程编译(最初编译的时候总是有一个错误,却又找不到原因,改成单线程编译就通过了),因为一些 非多线程安全的库,执行以下命令:
./bjam--with-srilm=/home/yaoqiang/moses/srilm
--with-irstlm=/home/yaoqiang/moses/irstlm
--external-bin-dir=/home/yaoqiang/moses/giza-pp/bin
--with-xmlrpc-c=/usr
做到这里你已经接近成功了,接下来是一段漫长的等待过程,等编译完成之后mosesdecoder以及其中的bin文件夹的文
件如下所示:
Mosesdecoder文件夹下:
上面的bin文件夹下:
如果模型都训练好了,那么你可以用/contrib/iSenWeb下已经写好的perl,php和html搭起一个网页版的翻译系统了(感谢田亮同学提供的前端和php部分,详见http://www.tianliang123.com/post/12)。
当然,在这之前你需要安装一些东西。
ØApacheandPHP安装
sudoapt-getinstallapache2
sudoapt-getinstalllibapache2-mod-php5mysql-serverphpmyadmin
ØNetcatInstallation
sudoapt-getinstallnetcat
接着你可以把/contrib/iSenWeb下的东西都移至/var/www文件夹下,
修改moses.pl中moses.ini配置文件和可执行文件moses的地址,我是将这个文件重写了一遍,命名为yq_moses.pl,我的moses可执行文件和配置文件的地址是:
在这之后你就可以启动监听端口了,命令如下:
perlyq_moses.pl<hostname><port>
例如我这里的命令就是:
perlyq_moses.pl192.168.0.849999
后台启动如下图所示:
可以先测试一下是否启动正确:
echo"请给我一杯咖啡"|nc192.168.0.849999
可以看到返回结果
Pleasegivemeacupofcoffee.
在浏览器打开http://192.168.0.84/index.html,可看到以下页面(和tianliang提供的版本有出入,我这里重写了html和php,加入了baidu和jibbigo的翻译结果做对比)。
分享到:
相关推荐
从Moses前期工作,Moses统计机器翻译系统的环境搭建到准备语料库,标注,训练语言模型,训练翻译模型,调优,测试等整个步骤特别详细。“只要看懂中文,剩下的本文帮你解决”!
全面介绍moses机器翻译系统的文档,既是使用手册,也是机器翻译教程。
moses文档 指导更好的使用机器翻译系统moses
MOSES
该功能还将短语对存储在非预言机中,并在将来的翻译中使用它们时对其进行惩罚。 该系统具有附加参数、在线特征的权重和在线算法的学习率。 这些参数可以作为 1. "weight-ol <weight>" : is the initial weight of ...
MOSES算法MOSES算法.pdf
Altium_Designer使用指南V2(Moses)
This document serves as user manual and code guide for the Moses machine translation decoder. The decoder was mainly developed by Hieu Hoang and Philipp Koehn at the University of Edinburgh and ...
术语“进化”是指MOSES使用遗传编程技术来“进化”新程序。 可以将每个程序视为一棵树(类似于“决策树”,但允许中间节点为任何编程语言构造)。 进化的过程是从一组合理适合的个体中选择一棵示例树
Spectral Analysis of Signals Petre Stoica, Uppsala University Randolph L. Moses, Ohio State University Prentice Hall, 2005 ISBN: 0-13-113956-8
摩西塔格 用于以MOSES格式准备语料库的标记器。
Spectral Analysis of Signals Petre Stoica, Uppsala University Randolph L. Moses, Ohio State University Prentice Hall, 2005 ISBN: 0-13-113956-8
Moses This book presents an introduction to spectral analysis that is designed for either course use or self-study. Clear and concise in approach, it develops a firm understanding of tools and ...
现在是摩西的一部分: ProbingPT 2.1 已集成到Moses master 中。 对代码的所有更新都将发生在摩西存储库中,而不是在这里。 截至 2014 年 6 月 13 日,此 repo 已弃用,仅供参考。 要使用 ProbingPT 构建 ,请执行...
Moses存储库已移动:https://github.com/moses-smt/mosesdecoder用于统计机器翻译的基于短语的分解式,分层和语法解码器
Stanford Phrasal是使用Java编写的基于统计短语的最先进的机器翻译系统。 从本质上讲,它提供了与Moses核心几乎相同的功能。 独特的功能包括:提供易于使用的API来实现新的解码模型功能,使用包含间隙的短语进行翻译...
上传一份英文清晰版的,是djvu格式的,大家喜欢可以下载看下
matlab说话代码MOSES简介 MOSES是解决(M)内存有限(O)nline(S)ubspace(Es)激励问题的新方法; 尤其是,MOSES可以估算数据的主要成分,还...此外,为了解决不同的操作系统,已经采取了谨慎措施,以使该代码可以
Moses:Lua中用于函数编程的实用程序库