基于词的神经机器翻译往往难以应付训练数据中未出现过的新词或罕见词。斯坦福大学计算机科学系的研究者 Minh-Thang Luong 和 Christopher D. Manning 提出的混合词-字符模型能在字符层面上处理未知词,从而能实现神经机器翻译的进一步提升。
论文地址:https://arxiv.org/pdf/1604.00788.pdf
项目地址:http://nlp.stanford.edu/projects/nmt
引言
这篇论文提出了一种混合式神经机器翻译模型,其既会考虑词,也会考虑字符,这主要有助于罕见词或未知词的翻译。他们使用了一种结合了全局注意机制的长短期记忆(LSTM)神经网络,实现了较高的训练效率和翻译质量。
神经机器翻译
相比于之前的统计机器翻译方法,神经机器翻译(NMT)已经通过使用循环神经网络(RNN)实现了很大的提升。RNN 是一种非常适合建模序列数据的架构,能够直接基于源句 p(y|x) 计算目标句的概率。NMT 通过采用一种被称为“编码器-解码器”的框架而实现了当前最佳的翻译结果。这种方法的基本思想相当简单:首先在源句上运行第一个 RNN,然后将其“编码”成实数向量,这个 RNN 被称为“编码器”;然后,第二个 RNN(即“解码器”)会使用这个向量化之后的源句来创建对应的目标句,具体做法是通过计算负对数似然的和来生成目标句。
但是,NMT 主要是在词层面上实现的;而且在大多数 NMT 训练过程中,我们并没有足够多的词作为训练数据。所以有很多词肯定不会出现在我们的词汇表中,这些词被称为“未知词(unknown words)”。最常见的解决方案是使用通配符 <unk> 替换源句中所有未知词,但这往往会省略掉源句中一些有价值的信息。因此,这篇论文提出了一种混合模型,能逐个字符单独处理未知词。
混合神经翻译模型
假设“cute”是英语短语“a cute cat”中的一个未知词,而我们希望将其翻译成捷克语。首先,这个混合模型会按通常的基于词的 NMT 处理词汇库中的已有词。然后,一个深度 LSTM 会单独在字符层面上处理未知词。
对于常规的 NMT 模型,我们希望通过最小化交叉熵损失函数来优化模型:
(D 表示平行语料库),而在这篇论文提出的混合模型中,损失函数就变成了:
其中 Jw 指之前的词级解码的损失函数,Jc 指新的字符级解码的损失函数(该论文的 α 设置为 1)。
在解码步骤,该混合模型使用了全局注意机制。首先,其产生一个语境向量 ct,这是根据当前隐藏状态 ht(对应当前的源词)之间的对齐计算得到的。然后,它使用这个语境向量来计算一个新的隐藏状态:
此外,这个新状态会被用于计算生成目标词的概率:
注意的基本思想是将每个单词都表示成一个向量,而不是表示整个句子,从而节省内存和计算时间,还能通过减少参数来防止过拟合。通过在两个方向上运行 RNN,我们可以得到每个词的一个双向表征。因此 ct 可这样计算:
其中 H 是包含输入句中所有词的向量化表征的矩阵,αt 被称为注意向量,其元素的值通常假设在 0 到 1 之间且相加之和为 1。
然后,将这个新创建的向量用于初始化该字符到字符解码器。因为考虑源句的语境能让模型更好地预测目标句。这篇论文提出了一种被称“分离路径(separate-path)目标生成”的不同方法,其能以一种类似的计算方式创建对应向量:
结果
在 WMT’15 英语-捷克语翻译任务上,相比于其它 NMT 模型和最佳系统,这个混合神经机器翻译模型的表现高出 2.1 到 11.4 BLEU,达到了 20.7 BLEU 的成绩。它还得到了更高的 chrF3 分数。
此外,当词汇库大小较小时,这个混合 NMT 模型的表现已能超越常规的基于词的 NMT。随着词汇量增大,实验结果表明这个混合 NMT 模型依然表现良好并得到了最高的 BLEU 分数。
在 10k 词汇量时,用于替换简单的 <unk> 技术的基于字符的模型对 BLEU 分数贡献最大,为 +2.1 BLEU。另外,分离路径方法也为其带来了 1.5 BLEU 的提升。
总结
这篇论文提出的混合架构结合了基于词的模型和基于字符的模型。其中基于词的模型可以快速轻松地训练,基于字符的模型则可以非常有效地处理未知词。因此,这种混合模型可得到更高质量的翻译结果。此外,这篇论文还表明了完全基于字符的模型的潜力,尽管这种模型的训练速度非常慢。所以未来也许可以研究一下如何提升基于字符的模型的速度。
参考文献
[1]Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models.
Minh-Thang Luong and Christopher D. Manning , Computer Science Department, Stanford University, Stanford, CA 94305
[2]Neural Machine Translation and Sequence-to-sequence Models: A Tutorial.
Graham Neubig, Language Technology Institute, Carnegie Mellon University