论文浅尝 | 从树结构的长短期记忆网络改进语义表示

论文笔记整理:窦春柳,天津大学硕士,方向:自然语言处理

链接: https://arxiv.org/pdf/1503.00075.pdf

动机

由于长短期记忆网络( LSTM )这种具有复杂单元的循环神经网络具有良好的表示序列信息的能力,其在多种序列模型任务中都取得了非常好的结果。到目前为止一直被使用的 LSTM 是一个线性结构。然而,自然语言表现一种将单词组合在一起形成短语的句法结构。本文引入了 Tree-LSTM ,将 LSTM 推广到树状的网络拓扑结构。在两个任务的 baseline 上, Tree-LSTMs 都要优于现有的系统:预测两个句子的语义相关性和情感分类。

亮点

本文的亮点主要包括:

1 )将 LSTM 推广到树状的网络拓扑结构,并且它展示出比序列 LSTM 更好的性能。标准 LSTM 可以看作是 Tree-LSTM 的一种特殊情况。

2 )利用实验验证了 Tree-LSTM 作为句子的表示模型,具有很好的效果。主要在两个任务上去评估 Tree-LSTM 结构:句子对间的语义相关性的预测以及来自于电影影评的句子情感分类。

概念及模型

本文提出了由基本 LSTM 扩展出的两种结构: Child-Sum Tree-LSTM N-ary Tree-LSTM 。这两个变种均允许更丰富的网络拓扑结构,其中每个 LSTM 单元能够联合来自多个子单元的信息。

  • Tree-LSTM 单元

正如标准的 LSTM 单元那样, Tree-LSTM 单元(由 j 标识)都包含输入输出门i_j, o_j,一个记忆单元 c_j,以及隐藏状态 h_j。其与标准 LSTM 单元的不同之处在于,门向量和记忆单元的更新依赖于许多子单元。另外,该单元并不只包含一个遗忘门, Tree-LSTM 单元对每一个子单元均包含一个遗忘门 f_jk。这有助于 Tree-LSTM 单元有选择地联合来自于每一个子单元的信息。

每一个 Tree-LSTM 单元都有一个输入向量 x_j。在我们的应用当中,每一个 x_j 是一句话中一个单词的向量表示。每一个节点的输入单词依赖于当前网络的树结构。

  • Child-Sum Tree-LSTMs

给定一棵树,令 C(j) 为节点 j 的所有子节点的集合。 Child-Sum Tree-LSTM 的转移等式如下:

应用: Dependency Tree-LSTMs

由于 Child-Sum Tree-LSTM 单元根据子单元隐藏状态 h_k 的总和调整其组件,因此适用于具有多分支或其子节点无序的树。例如,它是依存树的一个很好的选择,其中头的依存数目可以是高度可变的我们将应用于依存树的 Child-Sum Tree-LSTM 称为 Dependency Tree-LSTM

  • N-ary Tree-LSTMs

N -ary Tree-LSTM 可用于树结构,其中分支因子最多为 N ,并且子项是有序的,即它们可以从 1 N 索引。对于任何节点 j ,分别将其第 k 个孩子节点的隐藏状态和记忆细胞表示为 h_jk 和 c_jk。 N -ary Tree-LSTM 的转移等式如下:

为每个孩子 k 引入单独的参数矩阵允许 N-Tree Tree-LSTM 模型在单元上对孩子状态学习比 Child Sum Tree-LSTM 更细粒度。例如,考虑一个选区树应用程序,其中节点的左孩子节点对应于名词短语,右孩子节点对应动词短语。假设在这种情况下强调表示中的动词短语是有利的。

遗忘门参数化。在等式 10 中定义了第 k 个孩子的遗忘门 f_jk,其中包含了“非对角线”参数矩阵 U_kl^(f)。此参数化允许更灵活地控制从孩子到父节点的信息传播。例如,这允许二叉树中的左隐藏状态对右孩子的遗忘门具有兴奋或抑制效果。但是,对于较大的 N 值,这些附加参数是不切实际的,可以绑定或固定为零。

应用: Constituency Tree-LSTMs

我们可以自然地将 Binary Tree-LSTM 单元应用于二值化选区树,因为区分了左右子节点。我们将 Binary Tree-LSTM 的这种应用称为 Constituency Tree-LSTM 。注意,在选区树 -LSTM 中,节点 j 仅在它是叶节点时才接收输入向量。

  • 模型

现在描述两个应用是上面描述的 Tree-LSTM 架构的特定模型。

1.Tree-LSTM 分类

在此背景中,我们希望从树的一些子节点的离散类 Y 中预测标签。例如,解析树中节点的标签可以对应于该节点所跨越的短语的某些属性。

在每个节点 j ,我们使用 softmax 分类器来预测标签,给定在以 j 为根的子树中的节点处观察到的输入 {x}_j。分类器将节点处的隐藏状态 h_j 作为输入:

代价函数是每个标记节点上正确类标签 y^(k) 的负对数似然:

其中 m 是训练集中标记节点的数量,上标 k 表示第 k 个标记节点,λ是 L2 正则化超参数。

2. 句子对的语义相关性

给定句子对,我们希望预测 [1,K] 在某个范围内的实值相似度得分,其中是 K>1 整数。序列 {1,2,…,K} 是一些序数相似度,其中较高的分数表示较高的相似度。首先使用每个句子的解析树上的 Tree-LSTM 模型为对每个句子生成句子表示 h_L 和 h_R。给定这些句子表示,使用神经网络预测的相似性得分,该神经网络同时考虑 ( h_L , h_R ) 对之间的距离和角度:

其中 r^T = [1,2,3…K]。使用距离测量 h_x和 h_+ 是出于经验:发现组合优于单独使用任何一种测量。乘法度量 h_x 可以解释为输入表示符号的元素比较。

本文希望给定模型参数 Theta 的预测分布下的预期评级接近评级 。因此,定义了满足 y=r^T p 的系数目标分布:

代价函数是 p 和之间正则化的 KL- 发散:

其中 m 是训练对的数量,上标 k 表示第 k 个句子对。

理论分析

实验

1.Sentiment Classification

数据集采用 Stanford Sentiment Treebank(SST) ,任务主要是二分类和 fine-grained( 五分类 ) 。结果如下图所示:

结果分析:在 fine-grained task 上,作者提出的 Constituency Tree-LSTM 获得了最好的效果, Glove vectors tuned 指使用 Glove 词向量初始化 embedding ,在训练过程中不断更新 embedding ;在二分类上,达到了 SOA 的结果,但是并没有实现指标上的超越。

Constituency Tree-LSTM Dependency Tree-LSTM 表现好的原因可能在于前者使用了更多的 labeled 数据,因为仅从二者树结构对比来说,前者会比后者产生更多的 nodes(319K vs 150K).

2. Semantic Relatedness

数据集采用 Sentences Involving Compositional Knowledge (SICK) ,评价指标包括 Pearson 系数, Spearman 相关系数和 MSE 。结果如下图所示:

结果分析:作者在这个数据集上分别跟 non-LSTM 模型、 RNN 模型、 LSTM 模型做了对比,均实现了指标上的超越。

总结

本文引入了 Tree-LSTM ,将 LSTM 推广到树状的网络拓扑结构。通过在两个任务证明了 Tree-LSTM 的有效性:语义相关性和情感分类,两者均优于现有系统。

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击 阅读原文 ,进入 OpenKG 博客。