从树结构的长短期记忆网络改进语义表示
Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks
从树结构的长短期记忆网络改进语义表示
图1:上:链结构LSTM网络。下:具有任意分支因子的树状结构LSTM网络。
1 简介
用于短语和句子的分布式表示的大多数模型——即使用实值向量来表示意义的模型——属于三个类别之一:
- 词袋模型
- 序列模型
- 树结构模型
在词袋模型中,短语和句子表示独立于词序:例如,它们可以通过平均构成词表示来生成(Landauer和Dumais,1997; Foltz等,1998)。相反,序列模型构造句子表示作为令牌序列的顺序敏感函数(Elman,1990; Mikolov,2012)。最后,树形结构模型根据句子上的给定句法结构,从其构成的子词组成每个短语和句子表示(Goller和Kuchler,1996; Socher等,2011)。
对顺序不敏感的模型不足以完全捕捉自然语言的语义,因为它们无法解释由于词序或句法结构的差异导致的意义差异(例如,“猫爬树”与“猫爬树”) )。因此,我们转向有序的顺序或树状结构模型。特别是,树状结构模型是一种语言上具有吸引力的选择,因为它们与句子结构的句法解释有关。那么,一个自然的问题是:在多大程度上(如果有的话)我们可以用树状结构模型做得更好,而不是句子表示的顺序模型?在本文中,我们通过直接比较最近用于实现若干NLP任务中的最新结果的顺序模型类型与其树结构化泛化来解决该问题。
在我们的评估中,我们证明了Tree-LSTMs的经验强度作为表示句子的模型。我们在两个任务上评估Tree-LSTM架构:句子对的语义相关性预测和从电影评论中得出的句子的情感分类。我们的实验表明,Tree-LSTM在两个任务上都优于现有系统和顺序LSTM基线。我们的模型和实验的实现可以在https://github.com/stanfordnlp/treelstm上找到。
2 LSTM
2.1 概述
递归神经网络(RNN)能够通过在隐藏状态向量上递归应用转换函数来处理任意长度的输入序列。在每个时间步,隐藏状态是网络在时间接收的输入矢量及其先前隐藏状态的函数。例如,输入向量可以是文本正文中第t个单词的向量表示(Elman,1990; Mikolov,2012)。隐藏状态可以被解释为直到时间t观察到的记号序列的d维分布式表示。
通常,RNN转换函数是一个自然变换,然后是逐点非线性,如双曲正切函数:
不幸的是,具有这种形式的转变函数的RNN的问题在于,在训练期间,梯度向量的组分可以在长序列上指数地增长或衰减(Hochreiter,1998; Bengio等,1994)。随着梯度爆炸或消失的这个问题使得RNN模型难以学习序列中的长距离相关性。
LSTM架构(Hochreiter和Schmidhuber,1997)通过引入能够长时间保持状态的存储器单元来解决学习长期依赖性的问题。虽然已经描述了许多LSTM变体,但在这里我们描述了Zaremba和Sutskever(2014)使用的版本。
我们在每个时间步骤t将LSTM单元定义为中的向量集合:输入门,忘记门,输出门,存储器单元和隐藏状态。门控向量,和的元素位于中。我们将d称为LSTM的记忆维度。
LSTM的计算公式如下:
其中是当前时间步的输入,表示逻辑Sigmod函数,⊙表示元素乘法。直观地,遗忘门控制忘记前一个记忆细胞的程度,输入门控制每个单元的更新程度,输出门控制内部记忆状态的曝光。因此,LSTM单元中的隐藏状态向量是单元内部记忆细胞状态的门控局部视图。由于门控变量的值对于每个矢量元素而变化,因此模型可以学习在多个时间尺度上表示信息。
2.2 LSTM变种
两种常用的基本LSTM架构变体:
- 双向LSTM
- 多层LSTM(也称为堆叠或深LSTM)。
双向LSTM:双向LSTM(Graves等,2013)由两个并行运行的LSTM组成:一个在输入序列上,另一个在输入序列的反向上。在每个时间步,双向LSTM的隐藏状态是前向和后向隐藏状态的串联。此设置允许隐藏状态捕获过去和未来信息。
多层LSTM:在多层LSTM架构中,层l中LSTM单元的隐藏状态在同一时间步骤中用作层中LSTM单元的输入(Graves等,2013; Sutskever等,2014; Zaremba和Sutskever, 2014)。这里的想法是让更高层捕获输入序列的长度依赖性。
这两种变体可以组合成多层双向LSTM(Graves等,2013)。
3 树结构的LSTM
上一节中描述的LSTM体系结构的局限性在于它们仅允许严格的顺序信息传播。在这里,我们提出了基本LSTM架构的两个自然扩展:
- Child-Sum Tree-LSTM
- N-ary Tree-LSTM
两种变体都允许更丰富的网络拓扑,其中每个LSTM单元能够合并来自多个子单元的信息。
与标准LSTM单元一样,每个Tree-LSTM单元(由j索引)包含输入和输出门和,记忆细胞和隐藏状态。标准LSTM单元和Tree-LSTM单元之间的区别在于门控向量和记忆细胞更新取决于可能许多子单元的状态。另外,Tree-LSTM单元不是单个遗忘门,而是为每个孩子k包含一个遗忘门。这允许Tree-LSTM单元选择性地合并来自每个孩子的信息。例如,Tree-LSTM模型可以学习在语义相关性任务中强调语义头,或者它可以学习如何保持情感丰富的孩子的表达以用于情感分类。
图2:组合具有两个子节点(下标2和3)的Tree-LSTM单元的记忆细胞
在公式(4)中,
在公式(10)中,
代价函数是每个标记节点上正确类标签
其中m是训练集中标记节点的数量,上标k表示第k个标记节点,λ是L2正则化超参数。
4.2 句子对的语义相关性
给定句子对,我们希望预测在某个范围内的实值相似度得分,其中是整数。序列是一些序数相似度,其中较高的分数表示较高的相似度,并且我们允许实值分数考虑地面实况等级,这是几个人类注释者的评估的平均值。我们首先使用每个句子的解析树上的Tree-LSTM模型为对中的每个句子生成句子表示和。给定这些句子表示,我们使用神经网络预测的相似性得分,该神经网络同时考虑对之间的距离和角度:
其中
对于
其中m是训练对的数量,上标k表示第k个句子对。