/NMT-Coverage

Attention-based NMT with a coverage mechanism to indicate whether a source word is translated or not

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

NMT-Coverage

Please refer to a clean version of improved NMT, which is incorporates coverage, context gates, and reconstruction models.

In this version, we introduce a coverage mechanism (NMT-Coverage) to indicate whether a source word is translated or not, which proves to alleviate over-translation and under-translation. If you use the code, please cite our paper:

@InProceedings{Tu:2016:ACL,
  author    = {Tu, Zhaopeng and Lu, Zhengdong and Liu, Yang and Liu, Xiaohua and Li, Hang},
  title     = {Modeling Coverage for Neural Machine Translation},
  booktitle = {Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics},
  year      = {2016},
}

For any comments or questions, please email the first author.

Installation

NMT-Coverage is developed by Zhaopeng Tu, which is on top of lisa-groudhog (https://github.com/lisa-groundhog/GroundHog). It requires Theano0.8 or above version (for the module "scan" used in the trainer).

To install NMT-Coverage in a multi-user setting

python setup.py develop --user

For general installation, simply use

python setup.py develop

NOTE: This will install the development version of Theano, if Theano is not currently installed.

How to Run?

See experiments/nmt/README.md