/NMT

基于seq2seq的机器翻译模型

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

NMT

本项目框架参考于斯坦福大学CS224N课程作业。基本模型是seq2seq+attention。NMT_word和NMT_char分别是word级和char级的翻译,都是可以直接运行的完整项目。训练集共有216617条,验证集有851条,测试集有8064条。

NMT_word

网络架构图

使用指南

首先生成词典文件sh run.sh vocab,然后训练sh run.sh train,在Tesla V100上总共运行了1.8小时,训练完成后再运行sh run.sh test测试BELU值,能达到22.72

NMT_char

网络架构图

  • 编码阶段

参考文献[1],在编码器一端,我们使用一个卷积层来训练word的词向量,然后输入到LSTM中。

  • 译码阶段

译码阶段过程和word级大致相同。对于无法译出的单词,即输出为<unk>,我们使用基于char的译码器来进行翻译。

使用说明

首先生成词典文件sh run.sh vocab,然后训练sh run.sh train,在Tesla V100上总共运行了1.8小时,训练完成后再运行sh run.sh test测试BELU值,能达到24.18

参考文献

  • [1]Character-Aware Neural Language Models
  • [2]Highway Networks