机器翻译是自然语言处理的重要组成部分,其目的是使用计算机自动将文本翻译成其他语言的形式。近年来,端到端的神经机器翻译发展迅速,已经成为机器翻译系统的新主流。近日,清华大学自然语言处理组发布了机器翻译工具包 THUMT,为业内人士的研究和开发工作提供了便利。
机器翻译是自然语言处理的重要组成部分,其目的是使用计算机自动将文本翻译成其他语言的形式。近年来,端到端的神经机器翻译发展迅速,已经成为机器翻译系统的新主流。近日,清华大学自然语言处理组发布了机器翻译工具包 THUMT,为业内人士的研究和开发工作提供了便利。
THUMT 是用于神经机器翻译的开源工具包,构建于 Theano 之上,它具有以下特点:
- 基于 Attention 的翻译模型:THUMT 应用了标准的 attention 编码器-解码器框架。
- 最小风险训练:除了标准最大似然估计(MLE)之外,THUMT 还支持最小风险训练(MRT),其目的是找到一组模型参数,以最小化使用训练数据评估指标(如 BLEU)计算的预期损失。
- 使用单一语言语料库:THUMT 为 NMT 提供了半监督训练(SST)能力,能够利用丰富的单语语料库资源来改善源-目标和目标-源 NMT 模型的学习。
- 可视化:为了让人们了解 NMT 的内部工作机制,THUMT 提供了一个可视化工具来展示运行的每个中间状态,以及相关语境之间的相关性。
论文:THUMT: An Open Source Toolkit for Neural Machine Translation
论文链接:https://arxiv.org/pdf/1706.06415.pdf
该论文介绍了清华大学自然语言处理小组开发的 THUMT 神经机器翻译开源工具包。THUMT 在 Theano 上层实现了标准的基于注意的编码器-解码器框架,并且支持三种训练标准:最大似然估计、最小风险训练和半监督训练。它的特点是有一个可视化工具,演示神经网络和语境单词隐藏态间的关联,从而帮助分析 NMT 的内部工作机制。在中英数据集上的实验显示 THUMT 使用最小风险训练极大的超越了 GroundHog 的表现,它也是 NMT 的一个顶尖工具包。
THUMT 实现的模型是标准的基于注意的 NMT 模型 (Bahdanau et al., 2015),在 Theano 之上 (Bergstra et al., 2010)。
THUMT 支持三个优化器:
- SGD:标准随机梯度下降,具有固定学习速率。
- Adadelta(Zeiler,2012):根据历史,随时间动态调整学习速率。
- Adam(Kingma and Ba, 2015):为每个参数计算不同的学习速率。THUMT 使用修正版本的 Adam 来解决 NaN 问题。
图 1:神经机器翻译的可视化
表 1:GroundHog 和 THUMT 之间的对比
表 2:MLE 和 SST 之间的对比
表 3:替代未知单词的效果
表 4:MLE、MRT、SST 训练时间对比
在该工具发布的论文中,研究人员已证明最小风险训练可以提高最大似然估计的效果,同时,半监督训练能够利用单一语言语料库来改善缺乏资源的翻译任务。