【序列模型】基于 Tree-LSTM 的树结构语义表示模型

论文标题 | Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks

论文来源 | ACL 2015

论文链接 | https://arxiv.org/abs/1503.00075

源码链接 | https://github.com/stanfordnlp/treelstm

TL;DR

目前的 LSTM 仅能对序列信息进行建模,但是自然语言中通常由词组成短语形成了句法依存的语义树。为了学习到树结构的语义信息,论文中提出了两种 Tree-LSTM 模型:Child-Sum Tree-LSTMs 和 N-ary Tree LSTMs。实验部分 Tree-LSTMs 对比多种 LSTMs 变体,在语义相似性计算和情感分类任务中超过所有 baselines。

Algorithm/Model

LSTM

首先简单介绍下 LSTM 提供后续论文的改进对比,主要模型架构如下所示

LSTM 模型

每个门电路的计算方式如下所示:

此部分不再细述,详细可以参考另一篇文章:Understanding LSTM Networks

LSTM 能够处理序列信息,但是无法处理带有树结构的数据,例如下图所示的依存句法分析树 (Dependency Tree)、成分句法分析树 (Constituency Tree)等。

依存句法分析树
成分句法分析树

以上仅表示两种自然语言分析中两种语义表示格式,但是模型可以类推到其它树结构数据~

Tree-LSTMs

为了解决将树结构的数据作为输入训练 RNN 的问题,论文中提出了两种结构的 Tree-Structured LSTM:

  • Child-Sum Tree-LSTMs (Dependency Tree-LSTMs)

    适用于子节点个数不定或者子节点乱序的树结构。

  • N-ary Tree-LSTM (Constituency Tree-LSTMs)

    适用于每个单元的子单元的个数最多是 ,且子单元之间是有序的。

Tree-LSTM

与标准 LSTM 结构类似,Tree-LSTM 中每个 cell 都包括类似的输入门 ,输出门 ,cell state 和隐层输出 。不同的是 Tree-LSTM 单元中门向量和细胞状态的更新依赖于所有与之相关的子单元的状态,另外,相比于标准 LSTM 的单个遗忘门,Tree-LSTM 拥有多个遗忘门 ,分别对应当前单元的每个子单元 ,因此 Tree-LSTM 可以选择性地从子节点中获取信息,例如在情感分析任务中去保存语义信息更加丰富的子节点的信息。

与标准 LSTM 相同,每个 Tree-LSTM 单元会有一个输入向量 可以表示一个句子中的单词的向量表示,每个节点的 input word 取决于网络的树结构,例如要处理 Dependency tree 的 Tree-LSTM,那么 Tree-LSTM 树中的每个节点将 「head word」 对应的向量当作输入;而在 constituency tree 中,叶子节点将对应的词向量当作输入。

考虑到目前需要处理的数据类似于 Dependency Tree,因此本文中仅介绍下 Child-Sum Tree-LSTMs。

Child-Sum Tree-LSTMs

给定树且令 表示节点 的子节点集合,那么 Child-Sum Tree-LSTMs 的计算公式如下图所示:

从上述计算公式可以看出,Tree-LSTM 和 LSTM 间的区别包含两点:

  • LSTM 中只用到了上一步神经元的隐藏输出 ,而 Tree-LSTM 用到了所有子节点的隐藏输出

  • Tree-LSTM 使用了多个遗忘门 来控制多个子节点的 cell state candidate

由于 Child-Sum Tree-LSTMs 将其子节点的状态 进行累加,因此适合「多分支、子节点无序的树」,例如 dependency tree, 一个 head 的 dependent 数量是高度可变的,因此我们将应用在dependency tree上的 Child-Sum Tree-LSTM称为 Dependency Tree-LSTM 。

介绍完 Child-Sum Tree-LSTMs 后即可将其用于下游任务中,论文中用于情感分类和语义相似性计算任务中。

Experiments

在不同实验中模型的参数如下所示

参数设置

情感分类任务中

实验结果

语义相似性计算任务中

实验结果

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步



个人微信
备注:昵称+学校/公司+方向
如果没有备注不拉群!
拉你进AI蜗牛车交流群



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值