UNdreaMT 是一个开源的无监督神经机器翻译系统,该系统的具体实现方式在以下的论文里有详细地描述:
Mikel Artetxe, Gorka Labaka, Eneko Agirre, and Kyunghyun Cho. 2018. Unsupervised Neural Machine Translation. In Proceedings of the Sixth International Conference on Learning Representations (ICLR 2018).
论文链接:
https://arxiv.org/pdf/1710.11041.pdf
如果你需要用该软件做学术研究,请在论文里引用以下信息:
@inproceedings{artetxe2018iclr,
author = {Artetxe, Mikel and Labaka, Gorka and Agirre, Eneko and Cho, Kyunghyun},
title = {Unsupervised neural machine translation},
booktitle = {Proceedings of the Sixth International Conference on Learning Representations},
month = {April},
year = {2018}
}
Github 链接:
https://github.com/artetxem/undreamt
安装需求:
用法:
下面的指令使用了论文中描述的完全相同的设置用单语语料库来训练无监督的 NMT 系统。
python3 train.py --src SRC.MONO.TXT --trg TRG.MONO.TXT --src_embeddings SRC.EMB.TXT --trg_embeddings TRG.EMB.TXT --save MODEL_PREFIX --cuda
上述的数据通过以下的方式提供:
使用上述的设置,在单个 Titan Xp 上训练大概需要 3 天。一旦训练完成,你就能用生成的模型来翻译,如下所示:
python3 translate.py MODEL_PREFIX.final.src2trg.pth < INPUT.TXT > OUTPUT.TXT
有关更多详细信息和其他选项,请使用 --help 运行上述脚本。