Message Passing Attention Networks for Document Understanding

在这里插入图片描述

 Message Passing Attention Networks for Document Understanding
 https://github.com/giannisnik/mpad.

1.Motivation

将MP(message passing)架构应用于文本表示学习。

2 Message Passing Neural Networks

对于一个图 G G G=( V V V, E E E),考虑节点 v v v V V V,在 t t t + + + 1 1 1时刻,一个massage 向量由节点 v v v的邻居计算得出:
在这里插入图片描述
然后,通过将其当前特征向量 h h h t ^t t v _v v与消息向量 m m m t ^t t + ^+ + 1 ^1 1 v _v v相结合来计算节点 v v v的新表示 h h h t ^t t + ^+ + 1 ^1 1 v _v v:
在这里插入图片描述
消息按时间步长传递。每一步都由MP的不同层实现。因此,迭代对应于网络深度。最终的特征向量 h h h T ^T T v _v v是基于从以 v v v为根高度为 T T T的子树中的所有节点的消息传播。

如果需要图级特征向量,例如用于分类或回归,则应使用必须对排列不变的 R R R E E E A A A D D D O O O U U U T T T函数
在这里插入图片描述

3 Message Passing Attention network for Document understanding (MPAD)

3.1 Word co-occurrence networks

将文档表示为一个滑动窗口大小为2的词共现网络,表示为 G G G=( V V V, E E E)。文档中的每个唯一单词由 G G G中的一个节点表示,如果在发现两个节点在一起(在窗口范围内),则添加一条边。 G G G是有向加权的:边方向和权重分别捕获文本流向和共现次数。

G G G中,同一个句子中的连续单词为邻居。这些节点通过公共邻居连接在一起。

 也就是说,长度为2的路径对应于二元模型。长度超过2的路径可以对应于传统的n-grams,也可以对应于宽松的n-gram,即从不同句子中共现。

Master node.

G G G还包括一个特殊的文档节点,它通过单位权重双向边链接到所有其他节点。

  这里是否会因为图太过密集导致信息传递混乱,甚至丢失?

3.2 Message passing

A A A G G G G G G R R R E E E G G G A A A 函数:
在这里插入图片描述
其中 H H H t ^t t R R R n ^n n × ^× × d ^d d为节点特征(在 t t t=0时, d d d等于预训练单词嵌入的维数。), A A A R R R n ^n n × ^× × n ^n n G G G的邻接矩阵,由于 G G G是有向的,所以 A A A是非对称的。此外,设置 A A A的对角线为零,不考虑节点本身的特征,只考虑其传入邻居的特征。因为 G G G是加权的,所以 A A A的行表示节点 v i v_i vi上传入边的权重。 D D D R R R d ^d d × ^× × d ^d d为度矩阵(度矩阵是对角阵,对角上的元素为各个顶点的度。顶点 v i v_i vi的度表示和该顶点相关联的边的数量。), M M M t ^t t + ^+ + 1 ^1 1 R R R n ^n n × ^× × d ^d d表示massage矩阵。

接下来使用GRU聚合:
在这里插入图片描述
忽略偏置有:
在这里插入图片描述

3.3 Readout

在消息传递和执行 T T T次迭代的更新之后,就可获得包含最终顶点表示的矩阵 H H H T ^T T R R R n ^n n × ^× × d ^d d。设 G G G − ^- 为无特殊节点(主节点)及其相邻边的图,则矩阵 H H H − ^- T ^T T R R R ( ^( ( n ^n n − ^- 1 ^1 1 ) ^) ) × ^× × d ^d d为对应的表示矩阵。

随后将应用于 H H H − ^- T ^T T的self-attention与最终文档节点表示的连接作为 R R R E E E A A A D D D O O O U U U T T T函数:
在这里插入图片描述

H H H − ^- T ^T T首先传递到由矩阵 W W W T ^T T A _A A R R R d ^d d × ^× × d ^d d参数化的稠密层,然后通过点积比较密集层 Y Y Y T ^T T R R R ( ^( ( n ^n n − ^- 1 ^1 1 ) ^) ) × ^× × d ^d d与可训练向量 v T v^T vT R d R^d Rd(随机初始化)的输出注意力权重向量 α α α。最后加权得到文档的整体表示。

 这里与poly-encoder 同样设置了不同的v,但是结果却相反,poly-encoder 的v增大结果编号,本文报告了不好的结果。

Master node skip connection

h h h T ^T T G _G G R R R 2 ^2 2 d ^d d通过连接 u T u^T uT和最终主节点表示获得。即主节点向量绕过了注意机制。这种选择背后的原因是,作者期望特殊文档节点学习关于文档的高级摘要,例如它的大小、词汇等。因此,通过使主节点绕过注意力层,直接将关于文档的全局信息注入到它的最终表示中。

Multi-readout

随着迭代的进行,虽然节点特征捕获越来越多的全局信息。但是保留更多的本地信息可能也是有用的。因此本文并不是将读出函数仅应用于 t t t = T T T,而是将其应用于所有时间步长并连接结果,最终获得 h h h G _G G R R R T ^T T × ^× × 2 ^2 2 d ^d d:
在这里插入图片描述

3.4 Hierarchical variants of MPAD

本文提出了MPAD的几个变体,在所有这些方法中,文档中的每个句子表示为一个单词共现网络,并通过应用如前所述的MPAD来获得它的嵌入。

MPAD-sentence-att.

句子嵌入是通过自我关注来简单组合的。

MPAD-clique

构建一个完整的图,其中每个节点代表一个句子。然后,将该图输入到MPAD,舒适化节点为句子的embedding加权平均。

MPAD-path

不是一个完整的图,本文根据文本的自然流动建立一个路径。也就是说,如果两个节点所代表的两个句子在文档中相互跟随,则这两个节点通过有向边连接。

4 Experiments

4.1datasets

在这里插入图片描述

实验参数设置

MP iterations (T=2)
d = 128
window of size 2
所有层:ReLU activation
learning rate of 0.001
dropout 0.5

结果

在这里插入图片描述

消融

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43390809/article/details/114187263