小牛翻译开源社区

  如何利用自有数据训练翻译模型

      当用户觉得NiuTrans Server的翻译效果不理想的时候,并且自己手中有一定量的双语平行数据,完全可以使用 NiuTrans开源 去训练一个更好的模型资源。

1.使用NiuTrans开源训练模型

      NiuTrans Server 工具是依赖于NiuTrans开源统计机器翻译系统实现的。将NiuTrans开源进行改造升级,实现的一个可以在线实时提供翻译服务的系统。所以NiuTrans Server工具中的核心程序均可以在NiuTrans开源中找到源码并自由修改。同时开源中的所有功能在NiuTrans Server中都有继承,NiuTrans开源训练的模型资源,可以导入到工具包中进行使用。模型训练步骤详见 “数据准备”及“短语系统训练步骤”。

      训练过程中,请使用NiuTrans开源自带的所有程序,如需使用自有的分词等其他程序,请联系我们。我们将提供给您系统的相关接口。

2.更换NiuTrans Server工具中的模型

      更换模型主要分为两步,修改配置文件、更换模型文件。

      训练完成后,可以得到5个文件,下面是训练中的默认名称,如果您在使用过程中名称有变更以实际为主。找到这些文件。

NiuTrans.phrase.user.config      //训练配置文件
lm.trie.data                                      //二进制语言模型
lm.vocab                                          //目标语端词汇表
me.reordering.table                      //ME调序模型
phrase.translation.table              //短语翻译模型

      打开 “NiuTrans.phrase.user.config” 训练配置文件,在文件中的最后一行找到类似如下的参数权值:

param="weights" value="1.0278 1.91405 0.9038 0 0.19645 0.02625 -0.4652 0.455 -0.175 0.0676 0 0 0 0 0 0 0"

      将上述整行内容插入到NiuTrans Server工具中的 “NiuTransServer_v1.1.0_zh2en_x64_window/service/conf/” 目录下的 NiuTrans.phrase.config配置文件的最后一行中。

      然后,将剩余的4个模型文件复制到NiuTrans Server工具中的 “NiuTransServer_v1.1.0_zh2en_x64_window/service/Decoder/” 目录下 替换掉原有文件,注意保持文件名一致

      完成后即可启动机器翻译系统。

      一套基于NiuTrans Server工具包,利用用户自由数据搭建的机器翻译系统完成了。



            PS:在使用过程中如果您遇到任何问题或者有什么建议,可以加入我们的QQ群(451967838)或发送邮件(niutrans@mail.neu.edu.cn),我们将第一时间给予答复。