小牛翻译开源社区

常见问题解答 - 1.3.1 Beta版

系统安装

问: 
NiuTrans能否在windows操作系统上进行使用?

答: 
NiuTrans系统可正常在windows操作系统上使用。
NiuTrans系统的编译过程可采用“visual studio 2008”集成开发环境完成。
在运行niutrans之前,perl和cygwin需要预先安装好。
关于niutrans的安装,可参考niutrans主页“http://www.nlplab.com/NiuPlan/NiuTrans.html”
中的“Requirements”和“Installation”等小节。
在运行NiuTrans时,在windows命令行下运行即可。

问: 
NiuTrans能否在windows 32 bit系统上使用?

答: 
NiuTrans系统支持windows的32位运行环境。
NiuTrans系统的编译过程可采用“visual studio 2008”集成开发环境完成,
选择Release中的win 32版本进行编译。

系统使用

问: 
NiuTrans在windows下为何使用cygwin?

答: 
在windows下,NiuTrans使用cygwin仅仅是使用其sort功能,运行NiuTrans正常在命令行下即可。

问: 
NiuTrans系统中集成了分词模块吗?

答: 
目前,我们的NiuTrans系统确实没有集成任何语言的分词工具或分词模块,但是在接下来的更新版本中,我们会考虑陆续集成分词工具。
现在,网络上有很多开源的分词工具,您可以参考这个URL地址(http://ir.hit.edu.cn/ltp/#crfwordseg )获得分词工具。

词对齐

问: 
如果使用自己的语料,怎么样才能生成alignment.txt文件,
giza++生成的文件格式和示例里面的不太一样。

答: 
我们的词对齐也是通过GIZA++生成的。
首先,利用GIZA++进行双向对齐(即:中->英和英->中)。
由于GIZA++所使用的IBM models得到是非对称的词对齐(支持单向的1对多,但没有多对多),
因此需要对双向对齐的结果进行对称化。对称化我们使用的是标准的"grow-diag-final-and"方法。
这个方法和moses使用的方法一致。具体算法可以在http://www.statmt.org/moses/?n=FactoredTraining.AlignWords找到。
Philipp Koehn的那本Statistical machine translation书中也有很详细的介绍。
词对齐对称化的程序可以参考moses工具包"mosesscriptstrainingsymal"目录下的那个程序。
直接使用它(输入GIZA++双向对齐结果)就可以生成NiuTrans提供的alignment.txt那个样子的词对齐结果。
我们正在考虑在下一个版本的NiuTrans中提供自动生成词对齐结果的模块,

翻译模型模型训练

问: 
NiuTrans中如果使用大规模语料训练翻译模型,如何使用开发集/测试集进行过滤?

答:
由于使用的语料较大,所以生成的翻译模型和调序模型都较大,
普通计算机由于内存的限制可能在运行解码的过程中发生异常,
所以在进行使用的过程中可以使用开发集和测试集进行过滤,
详见http://www.nlplab.com/NiuPlan/NiuTrans.Phrase.ch.html步骤5中的规则过滤。

语言模型训练

问: 
NiuTrans中语言模型训练工具是自己开发的,是否支持srilm训练出来的语言模型?

答: 
关于语言模型,我们的系统暂时不支持SRILM的语言模型文件。
我们现在正在考虑在下个版本中兼容SRILM。

解码器使用

问: 
NiuTrans提供的开发集和测试集的参考译文的数目只有一个,如果一个中文句子对应多个参考译文,
应该如何在解码器中设置相应的参数,或者在语料中标记。

答: 
系统可以使用多个参考译文做MERT或者评价。
关于这个功能的说明可以在在http://www.nlplab.com/NiuPlan/NiuTransAdancedUsage.html 的 
How Many Reference Translations Can Be Involve中找到。
只要按照说明把开发集文件转化一下,
再把参数"-nref"设为你所使用的参考译文的数量就可使用。