A Graph Convolutional Network with Adaptive Graph Generation and Channel Selection for Event Detection
motivation
图神经网络已经被证明可以很好的解决长距离的语义依赖。但是
- 之前的方法大多使用固定的图,如依赖于外部解析器生成的图(句法依存图等)
- 图是固定的
- 无法使用梯度优化这个图
- 如果图建错了,误差传播
- 很多图都只关注了语法信息,而忽略了语义信息
the information content extracted for aggregation is simply determined by the (syntactic) edge direction or type
因此,本工作提出了以下贡献:
- adaptive graph generation,采样生成可微可导的图
- gated-multi-channel
- multi-channel selection,在两个相邻节点之间选择信息通道
- information gating,限制通过的信息
Method
输入句子长度为\(n\),表示为\(S = [w_1, w_2, \dots, w_n]\),用\(\mathbf{w}_i, \mathbf{p}_i\)表示词嵌入向量和POS-tagging的嵌入向量。\(\mathbf{x}_i = [\mathbf{w}_i ; \mathbf{p}_i]\)。
Adaptive Graph Generation Module
- 学习 probabilistic head-selection (PHS) \(P\),其中每一行\(p_i\)对应一个单词\(w_i\),表示选择它的头节点的概率分布
- 使用 STGumbel-Softmax 技巧从 PHS 矩阵中抽样一个图,其中 arg max 用于向前传递,梯度近似于向后传递中的正常Gumbel Softmax。
Deep biaffine attention for PHS matrix
首先讨论如何构造图的表示。
将输入序列\([\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_n]\)通过双向LSTM,得到上下文表示\([r_1, r_2,\dots,r_n]\),然后两个多层感知机计算每个节点作为从属节点和支配节点的概率:
计算两个节点之间一条边存在的概率
计算每条边存在的概率,构建PHS。
ST-Gumbel-Softmax trick for sparse-graph sampling
目前我们已经得到一张全连接的图,每条边的概率已被计算出来。但是这样作者并不满足,列举以下将全连接图转为稀疏图的原因:
- 稀疏图的运算速度更快
-
downstream event detection module is usually nonlinear, which makes the two methods have different results.(没看懂)
- 稀疏图可解释性更好
借助 ST-Gumbel Softmax trick,对于每个节点\(i\),根据\(P_i\)随机选取头部节点,one-hot编码表示如下:
其中,\(g_{i,k}\)是从gumbel分布中随机得到的噪音。
另外,用带温度的softmax函数替代不可微的\(\argmax\)操作。
其中\(\tau\)表示温度,测试阶段,直接使用\(\argmax\)采样。
Gated-Multi-Channel GCN
首先说明一些GCN的基础和使用的符号。
之前的事件检测任务中使用的图,涉及到三种边:自环(self-loop),正边(along),反边(rev)。
卷积计算:
式中\(\text{IC}\)表示信息通道。可以理解为卷积核。
Gated-Multi-Channel GCN (GMC-GCN)
在GMC-GCN中,有\(C+1\)个通道,即涉及到两个点之间的边的\(C\)个通道和自环的通道。
对于自环的通道,GMC-GCN和原始GCN计算方式一样:\(\text{IC}_0 (h_i)\)
对于非自环,计算每个通道的注意力分布\(\alpha_{i,j} \in \mathbb{R}^C\):
另外,通道的选择还应该考虑到相邻节点的语义特征,
最后还使用了一个门控机制来调节要传递和聚合的信息内容的数量,原因有以下两个。
- 首先,不同的邻居对一个给定的顶点应该有不同的影响,给它们分配相同的权重是不公平的。
- 其次,这种门控机制也有助于纠正图生成阶段可能出现的错误。
最后,修改信息聚合方式
用BIO的方式做事件检测: