No description, website, or topics provided.
Python Jupyter Notebook Perl Emacs Lisp Shell Smalltalk Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data release the code Dec 3, 2016
LICENSE
README.md Update README.md Dec 10, 2016
__init__.py
bleu.py release the code Dec 3, 2016
config.py add configure for training the agent Dec 10, 2016
data_iterator.py release the code Dec 3, 2016
insepection.py release the code Dec 3, 2016
layers.py
mteval.sh release the code Dec 3, 2016
nmt_uni.py release the code Dec 3, 2016
optimizer.py
plot_heatmap.ipynb
policy.py
pretrain_uni.py make pretraining easy Dec 6, 2016
reward.py
run_eval.sh release the code Dec 3, 2016
run_train.sh release the code Dec 3, 2016
show_progress.ipynb
simultrans_beam.py
simultrans_eval.py release the code Dec 3, 2016
simultrans_model.py release the code Dec 3, 2016
simultrans_train.py
translate_uni.py release the code Dec 3, 2016
translate_uni.sh
utils.py release the code Dec 3, 2016

README.md

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