目前的LSTM仅能对序列信息进行建模, 但是自然语言中通常由词组成的短语形成了句法依存的语义树。为了学习到树结构的语义信息。论文中提出了两种Tree-LSTM模型。Child-Sum、Tree-LSTM、和N-ary Tree LSTMs。实验部分的Tree-LSTM、对比多种LSTMs的变体,在语义相似性计算和情感分类任务超过有bselilnes。
首先简单介绍下 LSTM提供的后续论文改进对比,主要模型结构如下所示:
每个门电路的计算方式如下:
f
t
=
σ
(
W
f
x
t
+
U
f
h
t
−
1
+
b
f
)
f_t = \sigma(W^{f}x_t + U^{f}h_{t - 1} + b^{f})
ft=σ(Wfxt+Ufht−1+bf)
i
t
=
σ
(
W
i
x
t
+
U
i
h
t
−
1
+
b
i
)
i_t = \sigma(W^{i}x_t + U^{i}h_{t -1} + b^{i})
it=σ(Wixt+Uiht−1+bi)
c
t
=
i
t
⊙
u
t
+
f
t
⊙
c
t
−
1
c_t =i_t \odot u_t + f_t \odot c_{t-1}
ct=it⊙ut+ft⊙ct−1
0
t
=
σ
(
W
0
x
t
+
U
0
h
t
−
1
+
b
0
)
0_t = \sigma(W^{0}x_{t} + U^{0} h_{t - 1} + b^{0})
0t=σ(W0xt+U0ht−1+b0)
h
t
=
o
t
⊙
t
a
n
h
(
c
t
)
h_t = o_t\odot tanh(c_t)
ht=ot⊙tanh(ct)
通过不断的门控单元和门控细胞,复杂的计算并一层一层的传递,。
此部分不再阐述,详细可以参考另一篇文章全部都将其搞定都行啦的样子与打算。
LSTM能够处理序列信息,但是无法处理带有树结构的数据,例如,下图所示的依存句法分析树。成分句法分析树等。
带
有
树
结
构
的
信
息
带有树结构的信息
带有树结构的信息
以上仅表示两种自然语言分析中的两种语义表示格式,但是模型可以类推到其他树结构数据。
为了将树结构的数据作为输入训练RNN,论文提出了两种结构:
T
r
e
e
−
S
t
r
u
c
t
u
r
e
d
L
S
T
M
Tree-Structured LSTM
Tree−StructuredLSTM
不同的是Tree-LSTM单元中门向量和细胞状态更新依赖于所有与子相关的子单元的状态。另外, 相比较于标准的LSTM的单个遗忘门,Tree-LSTM拥有多个遗忘门 f j k f_{jk} fjk,分别对应当前单元的每个子单元 k k k,因此,Tree-LSTM可以选择地从子节点中获取信息,例如再情感分类中,去保**存语义信息更加丰富的子节点信息
**。
与标准的LSTM不同,每个Tree-LSTM单元会有一个输入向量
x
J
x_J
xJ
x
j
x_j
xj可以表示一个句子中单词的向量表示,每个节点的input word取决于网络的树结构,例如要处理的Dependency tree 的Tree-LSTM,那么Tree-LSTM树中的每个节点,将[head word],对应的向量当做输入,而在[constituency tree]中,将对应的词向量当做输入。
考虑到目前需要处理的数据类似于 Dependency Tree.因此,本文中仅介绍下**: Child-Sum Tree-LSTMs**。
给定树且另
C
(
j
)
C(j)
C(j)表示节点
j
j
j的子节点集合。那么Child-SUM Tree-LSTMs的计算公式如下:
从上述计算公式即可:Tree-LSTM与LSTM间的区别包含两点:
由于Child_Tree Tree-LSTMs将其子节点的状态 h k h_k hk进行累加,因此适合(多分枝、子节点无序的树。)例如:dependency tree, 一个 head 的 dependent 数量是高度可变的,因此我们将应用在dependency tree上的 Child-Sum Tree-LSTM称为 Dependency Tree-LSTM 。
介绍完Child-Sum Tree-LSTMS后即可将其应用于下游任务,论文中用于情感分类和语义相似性的计算任务中。
即不同实验中模型参数如下所示:
情感分类任务:
语义相似性计算任务中:
慢慢的将各种树结构,啥的全部都将其搞定,会自己学习各种树结构。
慢慢的整理即可,全部将其搞定都行啦的样子于打算。
还有都是慢慢的将自己的树结构啥的全部都将其搞定。学习各种树模型。慢慢的全部将其掌握都行啦的回事与打算。