编者按:现有的多数神经机器翻译模型直接从源文本逐词翻译,翻译后的文本存在些许机翻的生硬感。受到人类翻译过程和其他领域基于模板和基于语法的方法启发,微软亚洲研究院提出了一种使用从语法树结构中提取的模板作为软目标模板来指导翻译过程的方法 ST-NMT。实验表明,ST-NMT 模型在中-英、英-德、日-中等多个翻译任务上明显优于基线模型,证明了软目标模板的有效性。
尽管近年来神经机器翻译(NMT)取得了长足的进步,但大多数神经机器翻译模型直接从源文本生成翻译。受到人类翻译过程和其他领域基于模板和基于语法的方法的成功启发,我们提出了一种使用从语法树结构中提取的模板作为软目标模板来指导翻译过程的方法。为了学习目标句子的句法结构,我们采用语法分析树来生成候选模板,并将模板信息融合到编码器-解码器框架中,同时利用模板和源文本生成翻译。实验表明,我们的模型在四个数据集上明显优于基线模型,证明了软目标模板的有效性。
近年来,神经机器翻译取得了巨大的进步,但常规的神经机器翻译模型一般直接把源语言文本翻译到目标语言文本。但实际上,我们知道人类在翻译一句话时通常是先对目标文本的句型或者结构有一个大致的想法,然后再将源语言文本翻译成为目标语言文本,并不是直接逐词进行翻译。
通常我们在进行造句训练的时候,最开始老师会教给我们一些句型,例如 “sb. like doing sth; There be...” 等,然后让我们做练习。下图是一个中英翻译训练教材的内容,要求根据以下句型将中文翻译到英文。
图1:中英翻译训练教材内容
受到人类翻译过程的启示,我们提出了使用从句法分析树提取模板作为软目标语言模板来指导翻译过程的方法。为了学习目标句子的句法结构,我们采用句法分析树来生成候选模板。如图2所示,我们首先根据源语言文本预测将要用到的目标语言的模板,这里 “我喜欢打篮球”,很容易想到 “sb. like doing sth” 这个句型,随后我们根据源语言和模板来生成翻译。
图2:使用软目标模板指导翻译过程示例
基于这一核心思想以及模板方法在机器摘要、问答和其他文本上取得的成功。我们假设目标句子的候选模板可以指导句子翻译过程。我们将这些从句法分析树中提取的模板作为软模板,由<S><NP><VP>这些具有句子结构信息和目标语言组成。这里模板是“软 (soft) ”的,因为我们并不强制要求生成的目标语言翻译一定是完全基于模板来生成,这里的模板仅仅是提供一种参考来对翻译提供一定的帮助。
为了更有效地使用软模板,我们引入了基于目标语言软模板的神经机器翻译模型 (Soft Template-based NMT,ST-NMT),它可以使用源文本和软模板来预测最终的翻译。我们的方法可以分为两个阶段。在第一阶段,通过使用源文本和从句法分析树中提取的模板,训练一个标准的 Transformer 模型来专门预测软目标模板。在第二阶段,我们使用两种编码器,包括软目标模板编码器和源语言编码器,以对源文本和模板进行编码并生成最终翻译。
图3:从分析树中抽取模板
在此过程中,通过使用源语言 S 和模板 T 数据,我们对 P(T|X) 建模,使得我们能够根据源语言对模板进行预测。为了构造源语言-模板数据集,我们使用句法分析树来解析目标语言文本并获得树形结构。然后,我们裁剪超过一定深度的节点,并将裁剪后的子树按照原有顺序还原回去得到模板数据。通过这些操作,我们获得了源语言-模板平行训练数据,并训练了 Transformer 模型 P(T|X) 来预测软目标模板。
语法解析树可以显示整个句子的结构和语法信息,利用语法来区分终端(terminal nodes)和非终端节点(non-terminal nodes)。更确切地说,非终端节点由属于非终端节点集合 S,而终端节点属于目标语言节点集合 V。S={V, VP, NP, ..., ASBR} 等代表语法成分的标记和 V={There, are, …, people} 包含目标语言单词。如图2所示,句子“有人在奔跑”通过语法解析树生成树形结构。在这种情况下,非终端节点集合S0={S, NP, VP, EX, VBP, NP, DT, NNS, VBG} 和终端节点集合 V0={There, are, some, people, running}。我们的模板 T={t1, t2, t3, t4} 是有序序列,由终端节点和非终端节点组成。在这种情况下,t1=There, t2=are, t3=VP, t4=NP。我们的模板是提取特定深度的子树,并使用位于子树的叶节上的终端和非终端节点来生成模板。
为了预测软目标模板,我们根据源文本和提取的模板的训练数据来训练一个Transformer 模型。Transformer 模型读取源文本,并使用束搜索预测软目标模板。然后,我们选择束搜索的前 K 个结果作为模板。
选择子树的深度是一个权衡。在图3中,当深度等于1是一种特殊的情况,此时模板仅具有一个符号 S。模板 S 无法提供任何有用的信息。另一个特殊情况是当深度大于6时,“There are some people running” 此时模板只有终端节点。该模板仅包含目标语言单词,不能提供任何其他信息。而当深度等于4时,模板为 “There are VP NP”。该模板包含句子句法和结构信息,适用于我们的方法。
使用 Transformer 模型 P(T|X),我们需要构造伪训练数据(源语言文本、目标语言文本、目标软模板),而不是通过语法分析树直接提取的模板。给定源文本 X,我们使用 P(T|X) 通过束搜索来生成排名靠前的目标语言软模板 T。最后,我们得到三元组训练数据 (源语言文本、目标语言文本、软模板)为下一阶段做准备。
我们的模型首先通过源语言 Transformer 编码器以读取源语言序列 X=(x1, x2, x3, ..., xn)并生成模板序列 T=(t1, t2, t3, ..., tm) 由模板 Transformer 解码器提供。如图3所示,我们的模型使用源语言 Transformer 编码器和模板 Transformer 编码器,分别对源语言序列 X 和模板序列 T 进行编码,最终解码器生成最终翻译。我们的方法主要包括两个阶段:(1)训练数据由基于选区的解析树构造。然后,我们采用标准的 Transformer 将源文本转换为下一代软目标模板。(2)基于源文本和预测的软目标模板,我们使用两个编码器分别将两个序列编码为隐藏状态,并使用目标语言解码器生成最终翻译。
图4:ST-NMT 模型
给定三元组训练数据(源语言文本,目标语言文本,软模板)后,我们使用源语言文本和软模板生成目标语言文本如下公式。源语言 Transformer 编码器和软模板Transformer 编码器将输入序列 X 和由目标语言单词和非终端节点组成的模板 T 映射到隐层向量。然后,与两个编码器交互的 Transformer 解码器生成最终翻译 Y,即:
基于源语言编码器隐藏层状态和软模板编码器隐藏层状态,目标语言 Transformer 解码器使用编码器-解码器多头注意共同使用源语言和模板信息来生成最终翻译 Y。此外,目标序列解码器使用两组注意力机制参数用于不同的编码器。解码器分别使用源语句上下文 X=(x1, ..., xm)和目标模板上下文 T=(t1, ..., tn),然后我们的模型通过关注源上下文和模板上下文获得两个隐藏状态,在这里,我们使用门控单元融合了包含源语言信息的隐藏层状态和包含模板信息的隐藏层状态,如下所示:
与常规 NMT 相似,为了使模型能够预测目标序列,我们使用最大似然估计来更新模型参数。当我们在不使用模板 Transformer 编码器的情况下训练 P(Y|X) 时,我们仅需要优化以下损失函数:
我们使用模板 Transformer 编码器训练 P(Y|X,T) 时,损失函数可以通过以下公式计算:
在实践中,我们发现优化这两个目标可以使得模型更易于训练避免收到模板中噪声的干扰,并获得较高的 BLEU 分数,因为存在一些影响翻译质量的低质量模板。通过同时优化两个目标,我们可以减少某些低质量模板的影响并提高模型的稳定性。为了平衡这两个目标,我们的模型在两个目标上同时进行了迭代训练,如下所示:
为了证明该方法的有效性,我们在多个数据集和多个语种进行了实验,包括 IWSLT14 德语-英语翻译任务,WMT14 英语-德语翻译任务,LDC 中英翻译任务和 ASPEC 日中翻译任务。实验表明,与基线模型相比,我们的方法取得了更好的结果,这表明软目标模板可以有效地指导翻译过程并提供积极的影响。同时我们的方法可用于不同规模、不同语种、不同领域的数据集。
表1:LDC 中英翻译任务结果
表2:WMT14 英语-德语翻译任务结果
表3:IWSLT14 德语-英语翻译任务结果
表4:ASPEC 日中翻译任务结果
在这项工作中,我们提出了一种利用源文本和软模板生成翻译的机器翻译模型。我们的方法可以从子树中提取模板,该子树是从语法分析树的特定深度得到的。然后,我们使用 Transformer 模型来预测源文本的软目标模板。进一步,我们结合了源文本和模板信息来指导翻译过程。我们将软模板神经机器翻译模型(ST-NMT)与其他基线模型在多个数据集上进行比较。实验结果表明,ST-NMT 可以显著提高翻译性能。
了解更多技术细节,请查看论文:
Improving Neural Machine Translation with Soft Template Prediction
链接:https://www.microsoft.com/en-us/research/publication/improving-neural-machine-translation-with-soft-template-prediction/
你也许还想看: