GCN和GCN在文本分类中应用

  • 时间:
  • 浏览:0
  • 来源:大发快三_快三安卓版_大发快三安卓版

       传统CNN卷积不能处里图片等欧式形态学 的数据,却先要处里社交网络、信息网络等非欧式形态学 的数据。一般图片是由c个通道h行w列的矩阵组成的,形态学 非常规整。而社交网络、信息网络等是图论中的图(定点和边建立起的拓扑图)。

       传统CNN卷积面对输入数据维度都而是我选着 的,进而CNN卷积处里后得到的输出数据的维度也是选着 的。欧式形态学 数据中的每个点附进形态学 都一样,如有一一四个 像素点附进一定有8个像素点,即每个节点的输入维度和输出维度都会固定的。而非欧式形态学 数据则不一定,如社交网络中A和B是亲戚亲戚朋友,A有n个亲戚亲戚朋友,但B不一定有n个亲戚亲戚朋友,即每个节点的输入维度和输出维度都会不选着 的。

       什么都有必须使用CNN来对社交网络、信息网络等数据进行处里,不可能 对A节点处里后得到输出数据的维度和对B节点处里后得到输出数据维度是不一样的。为了得到社交网络、信息网络的空间形态学 什么都有亲戚亲戚朋友使用GCN(Graph Convolutional Network)来处里。



图1 有一一四个 GCN的实例(图片来源网页[3])

       同一般的卷积神经网络不同,GCN输入的数据是有一一四个 图拓扑矩阵,你你你这名拓扑矩阵一般是图的邻接矩阵。

2.1 概念定义

G 有一一四个 拓扑图定义为G=(V,E) 其中V是节点集合,E是边集合。
N N是图中节点个数,即|V|
F 节点的形态学 数,不同学习任务F不同
X 网络初始化矩阵, X是N行F列的矩阵
D 图的度矩阵,Dij表示点i和点j否是是居于连接
A 图形态学 表征矩阵, A是N行N列的矩阵,A通常是G的邻接矩阵
Hi GCN中每层输出矩阵 Hi是有一一四个 N行F列矩阵
Wi GCN中每层权值矩阵 Wi是有一一四个 F行F列矩阵

2.2 GCN计算最好的土办法

       在GCN中,第1层又H0 = X,从i层到i+1层网络计算其中有一一四个 简单传播规则,即传播规则1:

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{\bf{A}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       其中激活函数σ一般为ReLu函数。尽然你你你这名规则下GCN是有一一四个 简单模型,但不可能 足够强大,当然实际使用传播规则是下面几块:

       传播规则2

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       传播规则3

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {\left( {{\bf{I}} + {{\bf{D}}^{ - \frac{1}{2}}}{\bf{A}}{{\bf{D}}^{ - \frac{1}{2}}}} \right){{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       传播规则4

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{\bf{D}}^{ - \frac{1}{2}}}\left( {{\bf{D}} - {\bf{A}}} \right){{\bf{D}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       传播规则5

\[\begin{array}{l} {{\bf{H}}^{i + 1}} = f\left( {{{\bf{H}}^i},{\bf{A}}} \right) \\ \quad \;\;\; = \sigma \left( {{{{\bf{\hat D}}}^{ - \frac{1}{2}}}{\bf{\hat A}}{{{\bf{\hat D}}}^{ - \frac{1}{2}}}{{\bf{H}}^i}{{\bf{W}}^i}} \right) \\ \end{array}\]

       其中\({\bf{\hat A}}{\rm{ = }}{\bf{A}}{\rm{ + }}{\rm I}\),I是有一一四个 N×N的单位矩阵。而\({\bf{\hat D}}\)\({\bf{\hat A}}\)

是有一一四个 对角线矩阵,其中${{\bf{\hat D}}{ii}} = \sum\limits_j {{{{\bf{\hat A}}}{ij}}} $。

       最后根据不同强度学习任务来定制相应的GCN网络输出。

3.1 文本分类常用算法

       文本分类是自然语言处里比较常见的问题,常见的文本分类主要基于传统的cnn、lstm以及最近几年比较热门的transform、bert等最好的土办法,传统分类的模型主要处里排列整齐的矩阵形态学 ,也而是我什么都有论文中提到的Euclidean Structure,而是我亲戚亲戚朋友科学研究不可能 工业界的实际应用场景中,往往会遇到非Euclidean Structure的数据,如社交网络、信息网络,传统的模型无法处里该类数据,提取形态学 进一步学习,而是我GCN 应运而生,本文主要介绍GCN在文本分类中的应用。

3.2 GCN在文本分类中具体应用

       首先亲戚亲戚朋友将亲戚亲戚朋友的文本语料构建拓扑图,改图的节点由文档和词汇组成,即图中节点数|v|=|doc|+|voc| 其中|doc|表示文档数,|voc|表示词汇总量,对于形态学 矩阵X,亲戚亲戚朋友采用单位矩阵I表示,即每个节点的向量都会one-hot形式表示,下面亲戚亲戚朋友将介绍怎么才能 才能 定义邻接矩阵A,其公式如所示,对于文档节点和词汇节点的权重,亲戚亲戚朋友采用TF-IDF表示,对于词汇节点之间的权重,亲戚亲戚朋友采用互信息表示(PMI, point-wise mutual information),在实验中,PMI表现好于有一一四个 词汇的共现词汇数,其公式如所示:

\[{A_{ij}} = \left\{ \begin{array}{l} {\rm{PMI}}\left( {i,j} \right)\quad \quad \quad \quad i和j是词语而是我{\rm{PMI}}\left( {i,j} \right) > {\rm{0}} \\ {\rm{TF - IDF}}\left( {i,j} \right)\quad \;\;i是文档j是词语 \\ 1\quad \quad \quad \quad \quad \quad \quad \;\;\;i = j \\ 0\quad \quad \quad \quad \quad \quad \quad \;\;一些\\ \end{array} \right.\]

       其中#W(i)表示在固定滑动窗口下词汇i出先的数量,#W(i, j)表示在固定滑动窗口下词汇i,j一起去出先的数量,当PMI(i, j)为正数表示词汇i和词汇j有较强的语义关联性,当PMI(i, j)为负数的之前 表示词汇i,j语义关联性较低,在构建完图后,亲戚亲戚朋友代入GCN中,构建两层GCN,如下:

       亲戚亲戚朋友采用经典的交叉熵来定义损失函数:

       其中YD表示带标签的文挡集合,Ydf 表示标注类别,Zdf为预测的类别。

       下面介绍GCN在多个公开数据集上的实验结果,其中数据源为:

表1: Summary statistic of datasets

       GCN在文本分类上的实验结果见表2。

表2: GCN在在文本分类上的实验结果

       你你你这名新颖的文本分类最好的土办法称为文本图卷积网络(Text-GCN),巧妙地将文档分类问题转为图节点分类问题。Text-GCN不能很好地捕捉文档地全局单词共现信息和利用好文档有限地标签。有一一四个 简单的双层Text-GCN不可能 取得良好地成果。

[1] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1809.02907, 2016.

[2] Yao L, Mao C, Luo Y. Graph convolutional networks for text classification[J]. arXiv preprint arXiv:1809.05679, 2018.

[3] http://tkipf.github.io/graph-convolutional-networks/