Graph Convolutional Networks for Text Classification [阅读笔记]
简介
文章基于词的共线和文档的词关系,构建了语料库的知识图谱。Text GCN初始化为word和doc的独热表示,然后他们共同学习word和doc的嵌入表示,文档带标签。实验表明,随着训练数据占比降低,Text GCN相对于最先进的比较方法的改进变得更加突出,这表明文本GCN对文本分类中训练数据较少的稳定性。
贡献
- 提出了一种基于GCN的文本分类方法。首次提出将整个语料库建模成一个异构网络,并同时学习神经网络的word和doc嵌入表示。
- Text GCN方法不需要预训练word嵌入和专业知识。Text GCN方法还可以自动学习预测词和文档嵌入。
相关研究
传统文本分类方法
传统的文本分类方法主要基于特征工程和分类算法。特征工程中最常用到八字格特征( bagof-words),后来,有人提出用其他复杂特征表示,如2011年提出的entities in ontologies和2012年提出的n-grams等。还有一些关于将文本转换为图和对图和子图形进行特征工程的研究等。这篇文章与上述方法不同的是,Text GCN可以学习节点嵌入的文本表示。
基于深度学习的文本分类方法
深度学习的文本分类方法可分为两种:一种是基于词嵌入的模型,另一种是基于深度神经网络。
最近几项研究表明,文本分类模型的分类效果很大程度上取决于词嵌入的有效性。有人提出将未监督的单词嵌入聚合为文档嵌入,然后将这些文档嵌入到一个类中;还有人提出共同学习单词/文档和文档标签嵌入。这篇文章提出的Text GCN思想与这些方法有相似之处,主要的区别在于,这些方法在学习单词嵌入后构建文本表示,而Text GCN同时学习单词和文档嵌入以进行文本分类。
基于深度神经网络的文本分类模型主要有两个代表性的CNN和RNN。CNN的基本架构与计算机视觉使用的卷积方式类似,不过使用的是一维卷积,而不是二维。LSTM是RNN的一种,有人提出往LSTM模型加入attention机制来提高模型的泛化能力。虽然这些方法都取得了一定的效果,并被广泛使用,但他们只关注局部连续的word序列,而没有使用到语料库中的global word信息。
图神经网络
图神经网络主要用于关系分类、机器翻译等。使用GCN对句子结构进行编码,构建知识图谱。在最近的一些GCN研究中,他们将一个doc视为word节点构成的图,或基于非常规可用的doc引用关系构建图谱。与之相反的是,我们构建语料库图谱时,同时将doc和word视为节点,加入到知识图谱中,并且不需要doc之间的内部关联信息。
方法
图卷积网络(GCN)
GCN是一个多层的神经网络,直接作用于图并能够基于节点的邻接关系,产生节点嵌入向量。本文使用的GCN迭代公式如下:
L ( 1 ) = ρ ( A ~ X W 0 ) L^{(1)} = \rho(\tilde{A}XW_0) L(1)=ρ(A~XW0)
L ( j + 1 ) = ρ ( A ~ L ( j ) W j ) L^{(j+1)} = \rho(\tilde{A}L^{(j)}W_j) L(j+1)=ρ(A~L(j)Wj)
其中,
A A A:图G的邻接矩阵
A ~ \tilde{A} A~:矩阵A的正则化表示
X X X:包含图G中所有n个节点特征
D D D:图G的度矩阵( D i i = Σ j A i j D_{ii} = \Sigma_jA_{ij} Dii=ΣjAij)
文本图神经网络 Text GCN
图的构建
本文将word和doc作为节点,构建知识图谱,如下图所示:
图中:
-
节点总数 V V V = doc(语料库)+unique word(词库)
-
边 E E E = doc-word edge + word-word edge
-
doc-word edge边权重 w e i g h t weight weight 基于word在doc中出现的信息,用 TF-IDF算法计算。
TF-IDF算法是一种简单快捷的文档特征词抽取方法,通过统计文档中的词频来对文档进行主题分类,用以评估一个word对一份doc或一个语料库中的其中一份doc的重要程度。word的重要性随着它在doc中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
TF-IDF其主要思想是,如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。其计算方式为:- TF(Term Frequency 词频):某个word在该doc中出现的次数,计算公式如下:
t f i , j = n i , j Σ k n k , j tf_{i,j}=\frac{n_{i,j}}{\Sigma_kn_{k,j}} t
- TF(Term Frequency 词频):某个word在该doc中出现的次数,计算公式如下: