在你完成整套moses的训练和微调(tuning)之后,你可以在本机上对文本里面的内容进行翻译,或者手动在终端输入进行翻译。这种方式作为研究是可以的,只适合单人使用,一个实际的服务器能同时处理多个人的翻译需求,且整个系统只启动一次,不用每次来一个请求载入一次相关数据(因为moses的数据较大时载入需要一定时间)。这样我们就应该以server的形式启动我们的翻译系统。

1 简介

Moses是能够让我们以server的形式启动进程的,然后通过xmlrpc接收所需要翻译的句子。这也就意味着一个moses进程可以为使用Java,perl,python,php或者其他有xmlrpc库的编程语言编写的客户端(client)提供服务。

要得到moses server,你首先需要安装xmlrpc-c,建议安装稳定版本,例如stable version1.16.19.接下来需要为了使得你最后的bin可执行文件夹下有mosesserver,需要重新编译源码,并在编译的时候指定xmlrpc的路径,在原编译命令上再加上参数--with-xmlrpc-c=<path-xmlrpc-c-config> 且你需要设置moses成多线程工作的。

编译过后可以在bin文件夹下找到可执行文件mosesserver,启动它的方式和moses一样,在执行moses的命令中多加两个参数即可,我们需要这两个参数来制定监听端和日志文件存放处(--server-port 和 --server-log) ,若不指定的话,则俩参数默认指向8080端口和/dev/null。

2 mosesserver详细安装过程和网页翻译系统搭建过程

作为背景,还是先说一下本人机器的基本信息。

l 服务器环境:

l 系统配置:

l 编程语言:PHP和perl

l 开始安装:

Ø 安装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

记得将这些文件拷至要使用的文件夹下。

Ø 安装srilm

下载srilm之后执行以下命令:

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

Ø 安装xmlrpc

1. 下载了再安装的方式

REPOS=http://svn.code.sf.net/p/xmlrpc-c/code/stable

svn checkout $REPOS xmlrpc-c

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

make

make install

2.apt-get安装

Apt-get install libxmlrpc-c3-dev  (这种情况下生成的xmlrpc-c-config在/usr/bin下)

Ø 安装boost

我还是建议直接apt-get安装吧,别折腾着自己编译安装了,一条命令解决:

apt-get install libboost1.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)。

当然,在这之前你需要安装一些东西。

Ø Apache and PHP 安装

sudo apt-get install apache2

sudo apt-get install libapache2-mod-php5 mysql-server phpmyadmin

Ø Netcat Installation

sudo apt-get install netcat

接着你可以把/contrib/iSenWeb下的东西都移至/var/www文件夹下,

修改moses.pl中moses.ini配置文件和可执行文件moses的地址,我是将这个文件重写了一遍,命名为yq_moses.pl,我的moses可执行文件和配置文件的地址是:

在这之后你就可以启动监听端口了,命令如下:

perl yq_moses.pl  <hostname>  <port>

例如我这里的命令就是:

perl yq_moses.pl  192.168.0.84  9999

后台启动如下图所示:

可以先测试一下是否启动正确:

echo " 请给我一杯咖啡" | nc 192.168.0.84 9999

可以看到返回结果

Please give me a cup of coffee .

在浏览器打开http://192.168.0.84/index.html,可看到以下页面(和tianliang提供的版本有出入,我这里重写了html和php,加入了baidu和jibbigo的翻译结果做对比)。

使用MOSES搭建网页翻译系统相关推荐

  1. ubuntu15.04 32位下基于IRSTLM,GIZA++和Moses的统计翻译系统的环境搭建及运行

    由于搭建Moses环境需要多个模块之间相互调用,模块之间存在版本搭配的问题,笔者也尝试过,不同的模块版本相互搭配的话造成编译失败的可能性非常大,经过不到一周的坚持,总算搭建成功,下面是我成功搭建的各个 ...

  2. 基于bootStrop+Vue.js实现的网页翻译系统

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/85584343?spm=1001.2014.3001.5503 1 需求分析 前端页面选 ...

  3. 搭建属于自己的翻译系统

    你有没有用过翻译系统?你有没有想过搭建一套属于自己的翻译系统? 在本文中,我们将介绍如何使用神经网络搭建翻译系统,尽管可能受制于训练数据以及模型大小的原因,搭建的翻译系统可能不够完善,准确性和覆盖范围 ...

  4. MOSES翻译系统的训练,调优和使用

    这里我假设你已经成功安装了摩西moses,并希望在平行语料数据的基础上建立一个真正的短语翻译系统.这个过程需要一定的Unix的基础,理想情况下,最好还有一台Linux服务器.当然,如果你只是想试试的话 ...

  5. 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统(如果你想,也可以在线)

    前言:目前翻译都是在线的,要在C#开发的程序上做一个可以实时翻译的功能,好像不是那么好做(其实主要是第三方的都要AppID或者授权,太不友好了).而且大多数处于局域网内,所以访问在线的api也显得比较 ...

  6. 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问...

    前言:目前翻译都是在线的,要在C#开发的程序上做一个可以实时翻译的功能,好像不是那么好做.而且大多数处于局域网内,所以访问在线的api也显得比较尴尬.于是,就有了以下这篇文章,自己搭建一套简单的离线翻 ...

  7. 工作时不方便回复女朋友,这也是程序员单身理由?手把手教你搭建撩妹神器——基于Keras实现中英文翻译系统/聊天机器人seq2seq模型

    开篇导读 首先复习下前面聊天机器人系列: <一>聊天机器人/翻译系统系列一梳理了聊天机器人网络设计模型原理 (理论篇-图文解锁seq2seq+attention模型原理) <二> ...

  8. 一步一步搭建前端监控系统:如何将网页截图上报?

    摘要: 通过录屏或者截图,快速复现BUG场景. 作者:一步一个脚印一个坑 原文:搭建前端监控系统(备选)Js截图上报篇 Fundebug经授权转载,版权归原作者所有. PS:本文关于Fundebug录 ...

  9. 我的世界php安装,我的世界Linux搭建网页后台Multicraft下载与安装

    小编为大家带来了<我的世界>Linux搭建网页后台Multicraft下载与安装,首先下载Multicraft Linux版,下载好了以后请玩家自己看着下面的教程来安装. 64位:http ...

最新文章

  1. 可构建AI的「AI」诞生:几分之一秒内,就能预测新网络的参数
  2. python字符串出栈方法_python字符串常用方法
  3. Fastboot的安装与使用
  4. hdu-超级密码(BFS)
  5. MutationObserver详解
  6. 剑指Offer-LeetCode刷题
  7. 测试技巧–不编写测试
  8. python控制条件语句_Python条件控制语句
  9. Ubuntu环境变量添加的安全方法
  10. MapReduce过程详解
  11. 踢向《英雄王座》的面目全非脚
  12. 计算机科技英语写作,英语科技写作
  13. 开源代码学习之persepolis【二】
  14. QIIME 2:可重复、交互和扩展的微生物组数据分析流程
  15. 电脑保护眼睛的背景颜色
  16. usrp的API接口
  17. 数据预处理与特征工程—12.常见的数据预处理与特征工程手段总结
  18. Office提示“由于本机的限制,该操作已被取消。请与系统管理员联系
  19. Home Assistant集成外部MQTT服务
  20. E-prime2.0安装教程及软件下载

热门文章

  1. 2022程序员都推荐的算法编程课程终于来了!新手从入门到面试考点全覆盖,学到就是赚到!...
  2. 这篇文章让你实现时光机特效的操作
  3. js 实现 图片刷新 验证码 看不清 换一张
  4. ������ʾ����
  5. [附源码]计算机毕业设计springboot动物保护协会网站
  6. Foundry 中文文档发布啦
  7. 只要7步,就能将任何魔方6面还原(留着以后教孩子玩)
  8. 网站微信扫码支付流程
  9. 计算机派位志愿填报技巧,海淀小升初哪些入学途径采取电脑派位 志愿又怎么填报 2021家长了解...
  10. 王刚日记:好软文是什么样子的?