All Projects → nyu-dl → dl4mt-simul-trans

nyu-dl / dl4mt-simul-trans

Licence: BSD-3-Clause License
No description, website, or topics provided.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
perl
6916 projects
emacs lisp
2029 projects
shell
77523 projects
smalltalk
420 projects

Learning to Translate in Real-time with Neural Machine Translation

Translation in Real-time, a.k.a, Simultaneous Translation.

This code is the Theano implementation of the EACL2017 paper Learning to Translate in Real-time with Neural Machine Translation. It is based on the dl4mt-tutorial (https://github.com/nyu-dl/dl4mt-tutorial).

Dependencies:

Python 2.7

  • Theano 0.8.2 (cuda 8.0, cudnn v5)
  • seaborn, pandas (for drawing the heatmap)
  • NLTK 3.2.1

Preprocessing

The preprocessing and evaluation scripts are from MOSES.

Dataset:

We used the WMT'15 corpora as our training set for both pretraining the NMT model and training the Simultaneous NMT model. The original WMT'15 corpora can be downloaded from here. For the preprocessed corpora used in our experiments, both the source and target datasets are preprocessed using byte-pair encoding (http://arxiv.org/abs/1508.07909, https://github.com/rsennrich/subword-nmt).

Pretraining:

Before training the agent for simultaneous translation, the underlined translation model requires pretraining. In our experiments, we pretrained single-layer undirectional NMT for both RU-EN and DE-EN corpora for both directions.

Pretrain your own model:

Follow the instructions and setup the configurations in config.py (pretrain_config) and then excute:

$ export THEANO_FLAGS=device=gpu,floatX=float32
$ python pretrain_uni.py

It normally takes 1~2 weeks for training an unidirectional NMT model for WMT15 corpora.

Evaluate the BLEU score for a pre-trained NMT model

TBA.

Simultaneous Translation:

Training an Agent

Follow the instructions and setup the configurations in config.py (rl_config) and then excute:

$ export THEANO_FLAGS=device=gpu,floatX=float32
$ python simultrans_train.py

Monitoring

TBA.

Visualization

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].