常见问题解答

简介

为什么用神经机器翻译(NMT) ?

我们之所以要用神经机器翻译,有几个原因。

1) 与其它机器翻译结果相比较,神经机器的自动翻译结果明显地更让人满意。 这已使得好几个公司转向基于神经机器翻译的系统。

2) 相似法 (通常称为序列到序列/seq2seq) 也对许多其它自然语言处理(NLP)和语言相关的应用程序有效,如对话、图像字幕和摘要。 如需了解哈佛大学自然语言处理研究组(HarvardNLP)一些新的进展,可点击 这里

3) 神经机器翻译的代表性应用,反映在近来基于深度学习的人工智能的成就中。 例如,最近 纽约时报杂志的封面故事 专门报道过谷歌的神经翻译系统。

在哪里可以了解和学习神经机器翻译(NMT) ?

建议您从斯坦福和纽约大学的研究员所提供的ACL’16 NMT  指导教程 开始。 该指导教程还包括一份有关该领域工作的详细参考书目。

训练神经翻译模型需要做些什么?

您只需要两个文件: 源文件和目标文件。 文件中每行一个句子,字与字之间有空格。 这些文件可以是标准免费翻译语料库如WMT 的语料库,也可以是您想用来训练的任何其它文件。

安装/ 设置

需要用什么样的计算机来进行训练?

理论上您可以用任何计算机来进行训练; 但在实际运用中,除了处理极小的数据集,如果想在合理的时间内完成训练,您还是需要支持CUDA 的 GPU。 训练中等大小的模型,至少需要4GB, 训练大的、最先进的模型,建议使用8-12GB。

模型

如何复制完满的NMT翻译结果?

我们已经发布了一个完整的 教程 用于训练使用标准数据的德语-英语的翻译系统。

有没有预先训练的翻译模型可供试用?

There are several different pretrained models available on the pretrained models page for the Torch version.

在哪里可以获得用于A-B翻译的培训数据?

您不妨试一下 OPUS。 这是一个开源平行语料库。 在剥离XML标记后,您应该能够直接在 OpenNMT 中使用原始文件。

我对其他类似序列到序列的问题感兴趣,如汇总,对话和树生成。 OpenNMT 能做这些工作吗?

能。 OpenNMT是一个通用、基于注意度的序列到序列的系统。 几乎没有什么代码是专用于翻译的,因此,它对许多这样的应用程序应该很有效。

就汇总而言,OpenNMT 已被证明比 NAMAS 那样的神经系统更为有效,将来也会如此。 有关使用 Gigaword 数据集的预训汇总系统的介绍,请参阅 模型 页。

我对序列到序列的其它形式感兴趣,如图像到序列的生成。 OpenNMT 能做这些工作吗?

能。 我们提供了一个相对通用的图像到文本的系统作为案例,同时也附加了少许编码。 您可随意使用,把它作为扩展OpenNMT的模型。