Github 项目推荐 | 用 Keras 实现的神经网络机器翻译

本库是用 Keras 实现的神经网络机器翻译,查阅库文件请访问:

https://nmt-keras.readthedocs.io/

Github 页面:

https://github.com/lvapeab/nmt-keras

如过你需要在研究中使用本工具库,请引用以下论文:

@misc{nmt-keras2017,
  author = {Peris, {\'A}lvaro},
  title = {{NMT}-{K}eras},
  year = {2017},
  publisher = {GitHub},
  note = {GitHub repository},
  howpublished = {\url{https://github.com/lvapeab/nmt-keras}},
}

安装

假设已经安装 pip,请运行:

git clone https://github.com/lvapeab/nmt-keras
cd nmt-keras
pip install -r requirements.txt

获取运行该库所需要的软件包。

需求

安装 NMT-Keras 需要以下的库

  • 我们的 Keras 版本(推荐版本 2.0.7 或更新版本) https://github.com/MarcBS/keras
  • Multimodal Keras Wrapper(2.0 版或更新版本,文档和教程) https://github.com/lvapeab/multimodal_keras_wrapper
  • Coco-caption 评估套件(只需执行评估) https://github.com/lvapeab/coco-caption/tree/master/pycocoevalcap/

用法:

  1. 在 config.py 脚本中设置一个训练配置。请查阅文档(https://github.com/lvapeab/nmt-keras/blob/master/examples/documentation/config.md)获取有关每个特定超参数的详细信息。您也可以在按照语法 Key = Value 调用 main.py 脚本时指定参数。
  2. 开始训练!:
python main.py

解码

一旦我们的模型开始训练,我们就可以使用 sample_ensemble.py 脚本翻译新文本。有关此脚本的更多详细信息,请参阅 ensembling_tutorial:

https://github.com/lvapeab/nmt-keras/blob/master/examples/documentation/ensembling_tutorial.md

总之,如果我们想使用前三个 epoch 的模型来翻译 examples / EuTrans / test.en 文件,只需运行:

python sample_ensemble.py 
             --models trained_models/tutorial_model/epoch_1 \ 
                      trained_models/tutorial_model/epoch_2 \
             --dataset datasets/Dataset_tutorial_dataset.pkl \
             --text examples/EuTrans/test.en

评分

score.py(https://github.com/lvapeab/nmt-keras/blob/master/score.py)脚本可用于获取平行语料库的概率(-log)。 其语法如下:

python score.py --help
usage: Use several translation models for scoring source--target pairs
       [-h] -ds DATASET [-src SOURCE] [-trg TARGET] [-s SPLITS [SPLITS ...]]
       [-d DEST] [-v] [-c CONFIG] --models MODELS [MODELS ...]
optional arguments:
    -h, --help            show this help message and exit
    -ds DATASET, --dataset DATASET
                            Dataset instance with data
    -src SOURCE, --source SOURCE
                            Text file with source sentences
    -trg TARGET, --target TARGET
                            Text file with target sentences
    -s SPLITS [SPLITS ...], --splits SPLITS [SPLITS ...]
                            Splits to sample. Should be already includedinto the
                            dataset object.
    -d DEST, --dest DEST  File to save scores in
    -v, --verbose         Be verbose
    -c CONFIG, --config CONFIG
                            Config pkl for loading the model configuration. If not
                            specified, hyperparameters are read from config.py
    --models MODELS [MODELS ...]
                            path to the models

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏和蔼的张星的图像处理专栏

总结?

其实算不得总结,lintcode这个在专题不会再更新了,准备秋招的时候大概看过一遍这个,有些还是很有用的,然后剑指offer差不多刷了一遍,过些天闲了我把剑指o...

1074
来自专栏PaddlePaddle

【使用指南】PaddlePaddle安装编译问题汇总和基本使用概念

编写|PaddlePaddle 排版|wangp Part1 安装编译问题汇总 ? 用户在使用PaddlePaddle GPU的Docker镜像的时候,常常出现...

4379
来自专栏生信技能树

第3篇:用MACS2软件call peaks

Peak calling即利用计算的方法找出ChIP-seq或ATAC-seq中reads富集的基因组区域。

1.3K4
来自专栏量子位

TensorFlow 1.2正式发布,新增Python 3.6支持

王小新 编译整理 量子位 出品 | 公众号 QbitAI TensorFlow 1.2.0今日正式发布。 主要功能和改进点: 在Windows系统下新增对Pyt...

3524
来自专栏目标检测和深度学习

Github 项目推荐 | 用 Keras 实现的神经网络机器翻译

本库是用 Keras 实现的神经网络机器翻译,查阅库文件请访问: https://nmt-keras.readthedocs.io/ Github 页面: ht...

4007
来自专栏小鄧子的技术博客专栏

【译】添加图像转换类库

如果你已经有了一个图像转换的想法,希望在应用中使用,可以花上几分钟的时间,了解一下picasso-transformations这个三方类库。它是一个提供了各种...

653
来自专栏数据结构与算法

03:成绩排序 个人博客:doubleq.win

个人博客:doubleq.win 03:成绩排序 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给出班里某门课程的成绩单...

3515
来自专栏python爬虫日记

python下调用pytesseract识别某网站验证码

pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract

3343
来自专栏杨熹的专栏

TensorFlow-6-TensorBoard 可视化学习

学习资料: https://www.tensorflow.org/get_started/summaries_and_tensorboard 中文翻译: h...

3345
来自专栏蘑菇先生的技术笔记

探索c#之一致性Hash详解

2585

扫码关注云+社区

领取腾讯云代金券