《Syntax-Enhanced Neural Machine Translation with Syntax-Aware Word Representations》论文笔记

试图解决的问题

语法可以用于加强神经机器翻译的性能,比如2017年的工作集成了语法树(Tree-RNN)到Seq2Seq神经机器翻译模型中。但是由于不同语法树的不均匀性,增加了批运算的困难,进而导致速度降低,即使专门设计了批算法,效果还是不尽如人意。Tree-Linearization方法试图解决这个问题,主要的思想是把语法树线性化成序列符号,然后利用结果序列作为NMT的输入。但是这种方法无法充分利用语法信息,因为层级树结构不再被包含在新的表达方式中。这两种算法基于有监督依存分析器的最好输出,因此可能会有错误传播的问题,即依存分析器有时不能得到最好结果。

这篇文章提出了算法来解决这些问题,在使用语法信息的同时,保证模型的效率。作者提出了一种隐式的语法编码方式,通过语法感知的词表征来加强NMT模型。

方法介绍

Baseline

作者使用了简单有效的有注意力机制的Seq2Seq模型。对于标准的encoder-decoder架构,encoder首先将原始语言句子映射成隐向量的序列,然后decoder预测出目标句子。

Encoder

在这一部分,使用了一个单层双向循环神经网络,编码句子以获取当前单词和上下文的特征。
在这里插入图片描述

Decoder

Decoder的设计用到了注意力机制,训练的目标是最大化参考翻译的概率值。

方法设计

其实这篇论文的思想很简单,首先确定一个有监督依存分析器的encoder-decoder模型,然后将encoder的输出做一个映射(即套一个前向线性层),得到的结果再与词嵌入向量进行串接,之后输入Bi-RNN模型,再经decoder得到翻译的输出。

一张图足以说明:
在这里插入图片描述

实验

超参

所有隐藏神经层的维度大小是1024,输入的词嵌入向量和SAWR映射层的维度是512,两者串接在一起就是1024。用[-0.1, 0.1]的正太分布初始化所有模型参数。在翻译模型的输出层使用比例0.5的dropout。

采用Adam算法作为优化器,初始学习率是 5 × 1 0 − 4 5 \times 10^{-4} 5×104,梯度裁剪阈值设为5,批大小为80。decoding时使用beam search,beam大小为5。

语法解析器

作者使用了效果最好的BiAffine依存分析器,获得源语言的依存语法信息。此分析器能够理解为一种encoder-decoder模型,其中encoder部分是三层的双向LSTM,decoder使用BAfine操作给所有候选依存弧打分,并通过动态规划发现分数最高的树。

分析

文章提出,可以将语法分析器作为整个神经网络的一部分进行微调,但是实验结果显示,效果不如不对语法分析器进行微调的系统。原因可能是微调混乱了语法分析器的表达能力,使它的功能和其他网络组件的重叠了。这证明,预训练好的单独的语法分析器对NMT具有很大的帮助。

通过语法信息的加入,长距离单词之间的关系被建模出来,因此长句子的翻译性能会更好,实验也证明了这一点。

作者最后又用了transformer作为baseline,将语法分析器encoder的输出映射后与词嵌入串接,然后在后面接一个线性层去对齐transformer输入层的维度。

结论

作者提出了一种新奇的语法集成方法,即混合了依存语法分析器,其隐式编码了依存语法,而不需离散的语法树。实验显示,这种方法相比于Tree-RNN和Tree-Linearization有了速度和效果上的提升。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值