当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020

文章目录

  • 1、Introduction
  • 2、Model
    • 2.1 Graph Tensor
    • 2.2 Text graph tensor construction
      • Semantic-based graph
      • Syntactic-based graph
      • Sequential-based graph
    • 2.1 Graph tensor learning
      • Preliminary model: merge edges + GCN
      • TensorGCN
  • 3、Experiments and results analysis
  • 结论

1、Introduction

本文的作者来自清华大学,目前只是preprint版本,还没有正式出版。
本文构造一个文本图张量(多个图)来描述语义、句法和上下文信息。然后,对文本图张量进行了两种传播学习。第一种是图内传播,用于在单个图中聚合来自邻近节点的信息。第二种是图间传播,用于协调图之间的异构信息。最终,使用TensorGCN提供了一种有效的方法来协调和集成来自不同类型图的异构信息,提升了文本分类的效果。
模型的总体结构如下:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第1张图片

  • 构建graph tensor。graph tensor包含三种不同的graph,分别聚合了语义、句法以及上下文特征。
  • 图内传播,在同一个graph内进行GCN的传播操作。
  • 图间传播,在不同的graph之间传播异构特征。
  • 池化,并进行最终的分类。
    下面逐一介绍。

2、Model

2.1 Graph Tensor

本文想要利用一系列的图表来充分聚合感兴趣的数据(例如文本文档),不同的图表代表了数据的不同属性。所有这些图都被压缩成一个图张量。张量中每个图的结点都是相同的,而结点之间的边以及权重不同
首先给出图张量的定义:G =(G1;G2; ···;Gr),其中Gi = (Vi;Ei;Ai),Vi表示第i个图张量的结点集合,对于从同一段文本派生出来的图张量,Vi=Vj,Ai≠Aj。
邻接矩阵也被定义成张量的形式:A = (A1;A2; ··· ;Ar) ,其维度为r×n×n。
图的特征也是如此:
在这里插入图片描述在这里插入图片描述
当l = 0时,图特征张量H(0)表示初始化的输入特征。

2.2 Text graph tensor construction

从文本构造图的一种简单方法是将单词和文档视为图中的节点。因此,需要在节点之间构建两种边:word-document边和word-word边。基于文档中单词的出现情况,建立文档边缘,并采用词频逆文档频率法(TF-IDF)测量边上的权值。如果没有其他说明,在以下所有图形中,word-document边都是用TF-IDF构建和测量的。在本研究中,根据三种不同的文本属性:语义信息、句法相依性和局部顺序上下文来建立词word-wor边。

Semantic-based graph

提出了一种基于LSTM的方法来从文本文档中构造基于语义的图(见图2)。分为以下三步:(1)对指定任务的训练数据(例如,这里的文本分类)进行LSTM训练。(2)使用LSTM获取语料库中每个文档/句子中的所有单词的语义特征/嵌入。(3)根据语料库上的词的语义嵌入计算word-word的边权重。
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第2张图片
对于每个句子/文档,从训练后的LSTM输出中获得单词的语义特征/嵌入,并计算单词之间的余弦相似度。当相似度超过阈值,就认为两个单词之间具有语义关系。然后根据单词之间语义关系出现的频率计算结点之间的边权值:
在这里插入图片描述
其中N_semantic表示两个词在语料库中所有句子/文档上具有语义关系的次数,N_total表示两个词在整个语料库中出现在同一句子或者文件中的次数。

Syntactic-based graph

使用Stanford CoreNLP解析器来提取单词之间的依赖关系。虽然提取的依赖项是定向的,但为了简单起见,将其视为无定向关系。与上面语义图中使用的策略类似,我们计算了在整个语料库中每对具有句法依赖的单词的次数,并计算了每对单词的边缘权重(基于语法的图中的节点):
在这里插入图片描述

Sequential-based graph

通过滑动窗口内单词的共现来计算,权重的具体值使用了逐点互信息:
在这里插入图片描述
其中,p(wi,wj)表示两个单词共现的频率,通过二者共现次数/滑动窗口总数来定义;p(w)表示单词出现在窗口内的频率,通过在所有窗口内出现的总次数/窗口数定义。

2.1 Graph tensor learning

首先介绍一个初步的模型“merge edges + GCN”,然后提出TensorGCN模型,它可以直接而有效地学习一个图张量。

Preliminary model: merge edges + GCN

对于graph tensor,所有的图共享相同的节点集,唯一的区别是边。为了将三种不同的图聚合在一起,通过池化操作进行权值选取。当然,由于不同权重代表的含义不同,所以不能直接进行简单的池化;所以引入注意力机制,将分别乘上不同注意力的权值加在一起,代替池化操作:
在这里插入图片描述
其中,W是需要学习的注意力矩阵,与邻接矩阵A的size相同。

TensorGCN

很明显,上述简单的“池化”操作并没有充分地考虑不同graph的异质性,因此提出了TensorGCN,定义了两种不同的传播:图内传播,然后是图间传播。
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第3张图片

  • intra-graph propagation。图内传播就是在三种不同的图的内部分别进行GCN的卷积操作(Figure3 a),其形式化的定义如下:
    在这里插入图片描述
    这同Kipf提出的卷积操作并无太大差别,只是多增加了一个维度。A^hat是经过normalized的邻接矩阵张量,在这里插入图片描述是第l层第i个graph的可学习参数矩阵。
  • inter-graph propagation。图间传播学习在不同的graph之间交换信息(Figure3 b),为此定义了一系列特殊的图,称为virtual graph,通过连接张量中所有图的节点来实现。在graph tensor中,不同的graph中相同位置的结点其实就是一个结点,把它们定义为copy nodes:在这里插入图片描述。每一个结点都产生一个r*r大小的虚图,最终得到了图间邻接矩阵的tensor:在这里插入图片描述。每个虚结点之间都有边,并且权重设置为1。虚拟图上的图间信息传播学习定义如下:
    在这里插入图片描述
    在TensorGCN的最后一层,在完成图间传播之后,我们对图执行一个平均池,以获得用于分类的文档节点的最终表示。

3、Experiments and results analysis

为了方便,定义了一些缩写:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第4张图片
数据集描述:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第5张图片
与不同基线算法对比:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第6张图片
检验并分析了构造的文本图张量的有效性(w/o表示without)。每一个不同类型的graph都可以促进准确率提升:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第7张图片
Preliminary model: merge edges + GCN与只有图内部传播与最终模型的对比:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第8张图片
可视化例子,展示词法信息如何被用来促进文本分类:
当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020_第9张图片

结论

提出了一个文本图张量来从语义、句法和顺序上下文信息中获取特征。实验结果表明,这些不同的上下文约束是互补的,对文本表示学习非常重要。将图卷积网络推广到张量版本的TensorGCN中,采用组内传播和图间传播同时学习策略,有效地协调和整合多图的异构信息。

你可能感兴趣的:(当GCN遇见NLP(三) Tensor Graph Convolutional Networks for Text Classification,arXiv2020)