首页 > 其他 > 详细

Niutrans 机器翻译系统的搭建

时间:2014-02-13 20:59:33      阅读:714      评论:0      收藏:0      [点我收藏+]

  NiuTrans是一个开源的统计机器翻译系统,由中国的 东北大学 自然语言处理实验室 开发,相对于moses,笔者认为Niutrans更好搭建,比如Niutrans内嵌小巧、高效的N-元语言模型,无需其它软件(如SRILM)的外部支持。

    另外: NiuTrans支持多个统计机器翻译模型:
   a)
基于短语的模型
   b)
基于层次短语的模型
   c)
基于句法(树到串,串到树,树到树)
的模

    所以还是比较好的契合使用需求,关键是Niutrans在windows下也可很好使用,笔者是在32bit的windows下搭建的。

 

一、准备工作

  在正式搭建Niutrans之前,应该保证机器上安装有:Visual Studio 2008,Cygwin,以及 perl(5.10.0 版本或更高)。这里主要是在安装Cygwin的时候遇见了点问题,先对Cygwin做一个简要介绍:

这是一个在windows 上模拟linux的软件,使用的命令与linux下的命令行相同,软件从http://www.cygwin.com/install.html 上下载,并按照步骤安装即可。
 
     安装成功之后,要配置环境变量,我当时在windows配置环境变量后,想在cygwin上运行perl脚本,发现显示“command not found”,这时使用echo $PATH命令查看安装路径——发现perl的安装路径不在其中,决定在cygwin上修改环境变量,具体方法如下:
bubuko.com,布布扣
修改cygwin.BAT文件如下
@echo off
D:
set CYGWIN=tty notitle glob
set PATH=%PATH%;d:\cygwin\bin;d:\cygwin\sbin;d:\cygwin\usr\bin;d:\cygwin\usr\sbin;d:\cygwin\usr\local\bin
set LD_LIBRARY_PATH=d:\cygwin\lib;d:\cygwin\usr\lib;d:\cygwin\usr\local\lib

chdir D:\cygwin\bin
bash --login -i
 
里面的路径改成你的安装路径
bubuko.com,布布扣

      PS:其次根据上面的方法便可以做到环境变量的修改,不过注意哦,一定要关闭cygwin环境,重新运行.bat文件,才会有修改。(寡人在这上面耗费了好长时间呢)

 

二、安装下载niutrans

  点击 下载地址1 或 下载地址2 下载系统的源代码和样本数据。解压下载的软件包(假设安装目录是“NiuTrans”),按照如下说明安装系统。


     - 在“NiuTrans\src\”下打开“NiuTrans.sln”
     - 设置编译模式为“Release”
     - 设置平台模式为“Win32”(32位OS)或“x64”(64位OS)
     - 构建整体解决方案
   在“NiuTrans\bin\”目录下生成了所有的二进制文件。    

 

三、训练

_ 学习翻译模型learning translation model
_ 学习语言模型learning n-gram language model
 
 详细步骤可参见网站:http://www.nlplab.com/NiuPlan/NiuTrans.Phrase.ch.html
 
这里强调一点:要准备训练数据,这一点很关键
 
  • a). 训练数据:双语句对以及对应的词对齐结果
    b). 开发数据:带有至少一个参考译文的源语句子集
    c). 测试数据:新句集
    d). 评价数据:测试数据集的参考答案
    NiuTrans软件包中提供了一些样本文件,供系统实验以及研究格式要求之用,位于"NiuTrans/sample-data/sample-submission-version"文件夹中。

bubuko.com,布布扣
sample-submission-version/
  -- TM-training-set/                   # 带有词对齐结果的双语句对集(共有100,000句对)
       -- chinese.txt                   # 源语句子集
       -- english.txt                   # 目标语句子集(英文全部转换为小写字符)
       -- Alignment.txt                 # 句对的词对齐结果
  -- LM-training-set/
       -- e.lm.txt                      # 单语语料,用于训练语言模型(100K目标语句子)
  -- Dev-set/
       -- Niu.dev.txt                   # 开发数据集,用于权重调优(400句子集)
  -- Test-set/
       -- Niu.test.txt                  # 测试数据集(1K句子集)
  -- Reference-for-evaluation/
       -- Niu.test.reference            # 测试数据集的参考译文(1K句子集)
  -- Recaser-training-set/
       -- english.keepcase.txt          # 单语语料,用于训练Recasing模型(10K句子集)
  -- description-of-the-sample-data     # 样本数据的描述
bubuko.com,布布扣

 

这个过程需要的时间可能较长,需耐心等待,另外,如果想用自己的句子做训练的话,可参照:http://www.nlplab.com/NiuPlan/NiuTrans.YourData.ch.html
 
 

Niutrans 机器翻译系统的搭建

原文:http://www.cnblogs.com/inspirationhyl/p/3547990.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!