Text Level Graph Neural Network for Text Classification

在这里插入图片描述
Text Level Graph Neural Network for Text Classification

Motivation

解决基于GNN的文本分类主要面临的不支持在线测试的固定语料层次图结构和高内存消耗的实际问题。

2 Method

首先为给定的文本构建一个文本层次图;文本级图的所有参数都取自一些全局共享矩阵。然后,在这些图上引入消息传递机制,从上下文中获取信息。最后,基于所学的表示来预测给定文本的标签。

2.1 Building Text Graph

对于文本 T T T = { r 1 r_1 r1,…, r i r_i ri,…, r l r_l rl},其中 r i r_i ri表示 i i i t t t h h h单词的表示形式。 r i r_i ri d d d维词嵌入初始化的向量,可以通过训练更新。要为给定的文本构建一个图,首先将文本中出现的所有单词视为图的节点。每条边从文本中的一个单词开始,以其相邻的单词结束。具体地,文本 T T T的图形被定义为:
在这里插入图片描述
其中 N N N E E E是图的节点集和边集, N N N中的单词表示和 E E E中的边权重取自全局共享矩阵。 p p p表示与图中每个单词相连的相邻单词的数量。此外,将训练集中出现少于 k k k次的边统一映射到“public”边,以使参数得到充分训练。如下图
在这里插入图片描述
上图:结构图为一个单独的文本“he is very proud of you.”。为了显示方便,在这个图中,为节点“very”(节点和边用红色表示)设置 p p p = 2,为其他节点(用蓝色表示)设置 p p p = 1。在实际情况下,会话期间 p p p的值是唯一的。图中的所有参数都来自图底部显示的全局共享表示矩阵。

  与以往构建图的方法相比,该方法可以极大地减少图的节点和边的规模。这意味着文本级图形可以消耗更少的GPU内存。

2.2 Message Passing Mechanism

本文采用空间方法进行卷积以进行消息传递。首先从相邻节点收集信息,并基于其原始表示和收集的信息更新其表示,其定义为:
在这里插入图片描述
其中 M n M_n Mn R R R d ^d d是节点 n n n从其邻居接收的消息; m m m a a a x x x将每个维度上的最大值组合起来,形成一个新的向量作为输出。 N N N p ^p p n _n n表示表示原文中 n n n个最接近的 p p p个单词的节点; e e e a _a a n _n n R R R 1 ^1 1是边权重,并且可以在训练期间更新; r n r_n rn R R R d ^d d表示节点 n n n的前一种表示形式, η n η_n ηn R 1 R^1 R1是节点 n n n的一个可训练变量,它表示应该保留多少 n n n的信息。 r r r ’ ’ n _n nb表示节点n的更新。
最后,文本中所有节点的表示用于预测文本的标签:
在这里插入图片描述
其中 W W W R R R d ^d d × ^× × c ^c c是将向量映射到输出空间的矩阵, N i N_i Ni是文本 i i i的节点集。
训练目标最小化交叉熵损失:
在这里插入图片描述

其中 g g g i _i i是地面真实标签的“one-hot向量”。

实验

在这里插入图片描述

p值影响

在这里插入图片描述

消融

(1)取消边之间的权重,性能变差,说明为边设置权重较好。
(2)mean取代max
(3)去掉预训练词嵌入
在这里插入图片描述

猜你喜欢

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