斯坦福大学 NLP 组开放神经机器翻译代码库

本文涉及的产品
图片翻译,图片翻译 100张
NLP自然语言处理_高级版,每接口累计50万次
文档翻译,文档翻译 1千页
简介:

近日,斯坦福大学自然语言处理组(Stanford NLP)发布了一篇文章,总结了该研究组在神经机器翻译(NMT)上的研究信息。在这篇文章中,他们还放出了在多种翻译任务上(比如英德翻译和英语-捷克语翻译)实现了当前最佳结果的代码库(codebase)。除此之外,「为了鼓励再现和增加透明」,他们还放出了他们用于训练模型的处理过的数据以及可以通过他们的代码库使用的预训练好的模型。

image

参与成员:

Christopher D. Manning(斯坦福大学计算机科学和语言学教授)

Minh-Thang Luong(斯坦福博士,Google Brain 研究科学家)

Abigail See(斯坦福大学计算机科学在读博士)

Hieu Pham

代码库

对于混合 NMT(hybrid NMT),请使用这个代码库并且引用:

代码库:https://github.com/lmthang/nmt.hybrid

论文:使用混合词-字符模型实现开放词汇神经机器翻译(Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models)

摘要:几乎之前所有的神经机器翻译(NMT)使用的词汇都受限,随后可能用一个方法来修补未知的单词。本论文展示了一个全新的能实现开放词汇神经机器翻译(open vocabulary NMT)的词-字符解决方法。我们建立了一个混合的系统,能够实现大部分的词级(word level)翻译,并可查阅罕见词的字母组成。我们字符级的循环神经网络能计算源词的表征,并能在需要时恢复未知的目标词。这种混合的方法还有一个双重优点是,与基于字符的网络相比,它更快且更容易训练;同时,它不像基于词的模型那样会产生未知的词。在 WMT' 15 英语-捷克语的翻译任务上,这种混合方法还实现了一个额外的+ 2.1 BLEU 分的提升——超过已经能处理未知单词的模型 11.4 BLEU 分。我们的最佳系统在这个任务上达到了新的最佳表现:20.7 BLEU 分。我们证明了我们的字符模型不仅能成功地学习生成形式很好的捷克语词(这是一种词汇复杂高度屈折的语言),还能为英语源词建立了正确的表征。

对于通用的基于注意的 NMT(general attention-based NMT),请引用以下论文:

代码库:https://github.com/lmthang/nmt.hybrid

论文:实现基于注意的神经机器翻译的有效方法(Effective Approaches to Attention-based Neural Machine Translation)

摘要:最近一种在翻译过程中通过选择性地集中关注部分源句子的注意机制被用于提升神经机器翻译(NMT)结果。然而,探索用于基于注意的神经机器翻译(NMT)的有用架构的研究还不多。本论文探讨了两种简单有效的注意机制类别:一种能顾及到所有源词的全局方法,以及一种只能一次查看源词的一个子集的局部方法。我们证明了在英语-德语/德语-英语 WMT 翻译任务上,这两种方法都是有效的。使用局部注意方法,相比于已经结合了 dropout 等技术的非注意系统,我们的系统增长了 5.0 BLEU 点。我们的组合模型使用了不同的注意架构,在 WNT'15 英语-德语的翻译任务中,实现了目前最好的结果:25.9 BLEU 点;比现有的基于 NMT 和 一个 n-gram reranker 的最佳系统提升了 1.0 BLEU 点。

对于剪枝 NMT(pruning NMT),请引用以下论文(如果你对代码有兴趣,请联系我们):

论文:通过剪枝的神经机器翻译的压缩(Compression of Neural Machine Translation Models via Pruning)

摘要:和其它许多深度学习领域一样,神经机器翻译(NMT)常会遭遇过度参数化(over-parameterization)的问题,这会导致需要大量的存储空间。这篇论文检查了三种简单的基于幅度的(magnitude-based)用来压缩 NMT 模型的剪枝方案,即 class-blind、class-uniform 和 class-distribution;它们的不同之处在于剪枝的阈值为 NMT 架构中不同的权重类所计算的方式。我们表明权重剪枝(weight pruning)可作为一种用于当前最佳 NMT 压缩技术。我们表明一个带有超过 2 亿个参数的 NMT 模型可以在仅有非常少量的性能损失的情况下被剪去 40%——这个结果是在 WMT'14 英语-德语翻译任务上得到的。这揭示了 NMT 架构中的冗余的分布。我们的主要结果是:通过再训练(retraining),我们可以使用 80% 剪枝的模型来恢复甚至超越原有的表现。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】自然语言处理(NLP)的突破,关注NLP在机器翻译、情感分析、聊天机器人等方面的最新研究成果和应用案例。
自然语言处理(NLP)作为人工智能的一个重要分支,近年来取得了显著的突破,特别在机器翻译、情感分析、聊天机器人等领域取得了显著的研究成果和广泛的应用。以下是对这些领域最新研究成果和应用案例的概述,并附带相应的代码实例。
174 1
|
4月前
|
机器学习/深度学习 数据采集 自然语言处理
神经机器翻译(NMT)的关键组件
神经机器翻译(NMT)的关键组件
|
7月前
|
机器学习/深度学习 自然语言处理 算法框架/工具
python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译
python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译
|
7月前
|
机器学习/深度学习 自然语言处理 网络架构
神经机器翻译(NMT)
神经机器翻译(NMT)
355 2
|
机器学习/深度学习 人工智能 自然语言处理
NLP机器翻译全景:从基本原理到技术实战全解析
NLP机器翻译全景:从基本原理到技术实战全解析
137 0
|
自然语言处理 达摩院 开发者
|
自然语言处理 知识图谱
|
自然语言处理 文字识别 达摩院
|
机器学习/深度学习 自然语言处理 算法
神经机器翻译的Subword技术
神经机器翻译的Subword技术
166 0
神经机器翻译的Subword技术
|
机器学习/深度学习 自然语言处理 PyTorch
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(三)
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
151 0
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(三)