论文阅读 | You Only Need Attention to Traverse Trees

论文地址:<https://www.aclweb.org/anthology/P19-1030/&gt;

已有的研究工作:

最近有众多的模型关注对于句子的通用编码建模,从而将其用在任何监督任务中。针对单词序列,完全基于Attention的模型存在两个主要的问题:1、随着句子长度的增长,其对内存的消耗会呈2次方增长;2、不能有效的抓取和利用语义信息。递归神经网络可以通过遍历树结构来提取很好语义信息。

本文的工作和创新点:

本文提出了一个Tree Transformer模型,该模型只需通过注意力机制进行递归遍历,就可以捕获用于句子的短语语法,以及用于依赖树的单词依赖性。

研究方法:

早期的研究方法:

句子向量的表示最早来自于2013年词嵌入的突破,现有的方法包括基于RNN类网络的方法,在单词序列上使用LSTM/GRU,在每一步提取上下文特征,之后使用某种池化方法。典型的例子如ELMO模型。

在Transformer提出之后,也有BERT、GPT等这样的利用attention的句子建模方法,在大规模的数据集上进行预训练。

这样的模型在建模的过程中没有考虑语法和语义上的一些信息。

同时也有一些对于自然语言句子的树形结构的研究,如RvNN模型,自底向上地在子节点上应用符合函数,计算父节点的表示,直到根节点。

本文提出的模型:

本文提出了一种新的递归神经网络结构,该结构由一个可分解的注意框架构成,称之为模型树转换器。其原理主要是:给定依赖关系树或选择树结构,任务是遍历其中的每一个子树,并推断出其根表示向量。该模型使用复合函数将一组子表示转换为一个单亲表示。该模型结构图如下图所示。

下面是具体的解释。对于依赖树(dependency tree),它在每个节点上都包含一个词,要遍历依赖树中的一个子树,需要同时查看父树和子树的表示。对于constituency tree,只有叶子节点包含单词,非终结向量仅在遍历了每个子树之后计算。使用attention块作为组成函数,

而对于本文的attention的计算方式,即multi-branch attention框架。它基于Transformer中的multi-head attention的框架。标准的dot-product attention的公式为:

![]()

因为我们需要n个branches,所以对于每个向量复制n份。所以应用下面公式:

![]()

其中i在[1,n]之间,W作为参数存在,并且节点之间的参数是相同的。之后对于得到的这些向量,使用残差连接在不同的语义空间上组合,最后通过一个层归一化。公式表达如下:

![]()

在这些transformer的表示上,使用一个position-wise的卷积网络。通过一个概率分布来进行放缩。

![]()

![]()

最后通过另一个残差连接组合,下面公式中的EwS表示element-wise summation。x和 分别对应attention模块的输入输出。

![]()

![]()

实验部分:

与标准模型、基于lstm的模型以及树结构的LSTMs相比,本文模型在四个任务上得到了比较好的结果。

![]()

综合评价:

本文的idea让人感觉很自然,我们有LSTM网络,有结合了语义特征的tree LSTM网络。对于transformer结构,也可以由tree transformer结构。而且tree transformer结构除了可以捕获语义信息这个作用,也可以克服transformer对于长句子建模的问题。不过从实验结果来看,提升不是很明显,如在SST数据集上,tree transformer的结果86.66相比于tree LSTM的87.27还要更差一点。

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。