ACL2014的best paper Fast and Robust Neural Network Joint Models for Statistical Machine Translation在SMT中使用深度学习知识,提出了一种neural network joint model(其实就是融合源端语言知识去做语言模型),论文实验给出的结果宣称大幅度提高了以往基于n-gram语言模型翻译系统的翻译性能。
开源机器翻译系统moses也实现并集成了上述研究成果。参见[1]中
An implementation of Devlin
et al. (2014), a neural network language model that uses a target-side history as well as source-
side context, is implemented in Moses as BilingualLM. It uses NPLM as
back-end (check its installation instructions).
不过moses自己对他命名为Bilingual Neural LM(双语神经网络语言模型)。
和其他语言模型一样,moses将其视为一个翻译特征(feature)融合到自己的解码器中。特征的集成参见[1]。但是如果心急,仅仅改改moses配置文件mose.ini,在训练和解码阶段,使用以前普通的moses解码器(一般都是使用KenLM或者Srilm作为语言模型),moses解码器会报错无法识别那个特征。
参见[1], 正确做法是:
1. 安装神经网络语言模型工具(a neural network language model toolkit)nplm。
2. 在编译的时候带上参数
- --with-nplm=<root dir of the NPLM toolkit>
但是我在安装过程中遇到问题:
Unable to load Boost.Build: could not find "boost-build.jam"
-----------------------------------------------------
Attempted search from /path/to/mosesdecoder up to the root at /path/to/mosesdecoder/share/boost-build. and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: /usr/share/boost-build
开始,遇到这个问题,我一直以为是boost库安装错误。参考[2],[3]等,对boost一阵着折腾。没有任何效果....
参考:
[1] http://www.statmt.org/moses/?n=FactoredTraining.BuildingLanguageModel#ntoc38
[2] http://comments.gmane.org/gmane.comp.nlp.moses.user/6322
[3] http://comments.gmane.org/gmane.comp.nlp.moses.user/11461
版权声明:本文为博主原创文章,未经博主允许不得转载。