Github 项目推荐 | 用 PyTorch 实现 OpenNMT

2018 年 5 月 22 日 AI研习社

这是一个用 PyTorch 实现的 OpenNMT 的库,OpenNMT 是一个神经机器翻译系统。

Github:

https://github.com/mattiadg/SR-NMT

  快速开始

一些有用的工具:

下面的例子使用了 Moss  tokenizer (http://www.statmt.org/moses/) 来准备用于评估的数据和 moses BLEU 脚本。

wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/tokenizer/tokenizer.perl
wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/share/nonbreaking_prefixes/nonbreaking_prefix.de
wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/share/nonbreaking_prefixes/nonbreaking_prefix.en
sed -i "s/$RealBin\/..\/share\/nonbreaking_prefixes//" tokenizer.perl
wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/generic/multi-bleu.perl

WMT'16 多模式翻译:Multi30k(de-en)

WMT'16多模式翻译任务训练示例(http://www.statmt.org/wmt16/multimodal-task.html)。

0)下载数据:

mkdir -p data/multi30k
wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/training.tar.gz &&  tar -xf training.tar.gz -C data/multi30k && rm training.tar.gz
wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/validation.tar.gz && tar -xf validation.tar.gz -C data/multi30k && rm validation.tar.gz
wget https://staff.fnwi.uva.nl/d.elliott/wmt16/mmt16_task1_test.tgz && tar -xf mmt16_task1_test.tgz -C data/multi30k && rm mmt16_task1_test.tgz
1) Preprocess the data.

1)预处理数据:

for l in en de; do for f in data/multi30k/*.$ldo if [[ "$f" != *"test"* ]]; then sed -i "$ d" $ffi;  donedone
for l in en de; do for f in data/multi30k/*.$ldo perl tokenizer.perl -a -no-escape -l $l -q  < $f > $f.atok; donedone
python preprocess.py -train_src data/multi30k/train.en.atok -train_tgt data/multi30k/train.de.atok -valid_src data/multi30k/val.en.atok -valid_tgt data/multi30k/val.de.atok -save_data data/multi30k.atok.low -lower

2)训练模型:

python train.py -data data/multi30k.atok.low.train.pt -save_model multi30k_model -gpus 0

3)翻译语句:

python translate.py -gpu 0 -model multi30k_model_e13_*.pt -src data/multi30k/test.en.atok -tgt data/multi30k/test.de.atok -replace_unk -verbose -output multi30k.test.pred.atok

4)评估:

perl multi-bleu.perl data/multi30k/test.de.atok < multi30k.test.pred.atok

预训练模型:

以下预训练模型可以下载并与 translate.py 一起使用(这些训练有较旧版本的代码;它们将很快更新)。

  • onmt_model_en_de_200k:基于 OpenNMT / IntegrationTesting 中 200k 句子数据集的英德翻译模型。 Perplexity:21。

  • onmt_model_en_fr_b1M:一个英语 - 法语模型,以基准 -1M 为基础进行培训。 Perplexity:4.85。

从Python入门-如何成为AI工程师

BAT资深算法工程师独家研发课程

最贴近生活与工作的好玩实操项目

班级管理助学搭配专业的助教答疑

学以致用拿offer,学完即推荐就业


新人福利


关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据资料】


一文详解如何用 R 语言绘制热图

登录查看更多
2

相关内容

【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
专知会员服务
109+阅读 · 2020年3月12日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
116+阅读 · 2019年12月31日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
34+阅读 · 2019年6月10日
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
基于PyTorch/TorchText的自然语言处理库
专知
27+阅读 · 2019年4月22日
干货 | Github项目推荐 : GANSynth: 用GANs创作音乐
AI科技评论
9+阅读 · 2019年3月2日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Phrase-Based & Neural Unsupervised Machine Translation
Arxiv
7+阅读 · 2018年6月1日
Arxiv
3+阅读 · 2018年6月1日
Arxiv
3+阅读 · 2018年5月28日
Arxiv
6+阅读 · 2018年2月28日
VIP会员
相关VIP内容
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
专知会员服务
109+阅读 · 2020年3月12日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
116+阅读 · 2019年12月31日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
Top
微信扫码咨询专知VIP会员