Abstract

  • 文本分类作为一个经典的自然语言处理任务,已经有很多利用卷积神经网络进行文本分类的研究,但是利用图卷积神经网络进行研究的仍然较少。
  • 本文基于单词共现和文档单词间的关系构建一个text graph,然后为语料库学习Text GCN,最后用于文本分类。

Introduction

  1. 背景叙述
  • 文本分类的一个重要中间步骤是文本表示。传统的方法用手工制作的特征来表示文本,比如稀疏的词汇特征(词袋)。
  • 随着深度学习模型被广泛用于学习文本表示,如:卷积神经网络(CNN)和循环神经网络(RNN)、长短期记忆(LSTM)等。CNN和RNN优先考虑局部性和顺序性,这些深度学习模型可以很好地捕捉局部连续词序列中的语义和句法信息,但可能会忽略带有非连续和长距离语义的语料库中的全局词共出现。近年来,神经网络或图嵌入引起了人们的广泛关注。图神经网络由于具有丰富的关系结构,能够在图嵌入中保存全局的结构信息,因此在处理任务时非常有效。
  1. 文章工作
  • 在本文中,作者提出一种新的基于图神经网络的文本分类方法。作者利用整个语料库,以单词和文档作为节点、利用词的共现信息构建两个词节点之间的边、利用词频和词的文档频率构建词节点与文档节点之间的边,构造一个单独的大型图。然后,使用GCN对图进行建模,将文本分类问题转化为节点分类问题。
  • 该方法可以在标注文档比例较小的情况下实现较强的分类性能。
  • 代码地址:Text GCN
  1. 文章贡献
  • 提出了一种新的图神经网络文本分类方法,是第一个将整个语料库建模为异构图,并利用图神经网络联合学习单词和文档嵌入的研究。
  • 在几个基准数据集上的结果表明,本文的方法在不使用预先训练的单词嵌入或外部知识的情况下,优于最先进的文本分类方法。该方法还可以自动学习预测词和文档的嵌入。

Related Work

  1. Traditional Text Classification

    ​ 传统的文本分类研究主要集中在特征工程和分类算法上。对于特征工程来说,最常用的功能是bag of words功能。此外,还设计了一些更复杂的功能,如n-grams和本体中的实体。目前也有将文本转换为图形以及对图和子图进行特征工程的研究。与这些方法不同,本文的方法可以将文本表示作为节点嵌入自动学习。

  2. Deep Learning for Text Classification

  • 深度学习文本分类研究可以分为两类:
  • 第一类研究侧重于基于单词嵌入的模型。最近的几项研究表明,文本分类深度学习的成功在很大程度上取决于单词嵌入的有效性。一些作者将无监督的单词嵌入聚合为文档嵌入,然后将这些文档嵌入输入分类器。我们的工作与这些方法有关,主要区别在于这些方法在学习单词嵌入后构建文本表示,而本文的方法同时学习单词和文档嵌入进行文本分类。
  • 第二类研究采用深度学习的方法。两个具有代表性的深度网络是CNN和RNN。尽管这些方法有效且应用广泛,但它们主要关注局部连续词序列,而没有明确使用语料库中的全局词共现信息。
  1. Graph Neural Networks

    ​ Kipf和Welling在2017年提出了一种简化的图形神经网络模型,称为图形卷积网络(GCN),该模型在许多基准图形数据集上获得了最先进的分类结果。GCN也在几个NLP任务中进行了探索,如语义角色标记、关系分类和机器翻译,其中GCN用于对句子的句法结构进行编码。最近的一些研究探索了用于文本分类的图形神经网络。然而,他们要么将文档或句子视为图的节点,要么依赖不常用的文档引用关系构建图表。作者在构建语料库图时,将文档和单词视为节点(因此是异构图),不需要文档间的关系。

Method

Graph Convolutional Networks (GCN)

GCN是一种多层神经网络,它直接在图上操作,并根据其邻域的属性导出其节点的嵌入向量。

  • 形式定义:图G=(V,E)G=(V,E)G=(V,E),则 VVV 是顶点集合,EEE 是边集合。每个节点都存在到自身的边,即对∀v∈V,∃(v,v)∈E\forall v\in V,\exist(v,v)\in E∀v∈V,∃(v,v)∈E。设 X∈Rn×mX \in \mathbb{R}^{n \times m}X∈Rn×m 是包含所有顶点及其特征的矩阵,其中 mmm 是特征向量的维数,每行的 xv∈Rmx_{v} \in \mathbb{R}^{m}xv​∈Rm 是 vvv 的特征向量。由此引出图GGG 的邻接矩阵 AAA 和度矩阵 DDD,其中Dii=∑jAijD_{i i}=\sum_{j} A_{i j}Dii​=∑j​Aij​。
  • 对于单层GCN,新的 kkk 维节点特征矩阵 L(1)∈Rn×kL^{(1)} \in \mathbb{R}^{n \times k}L(1)∈Rn×k,可由 L(1)=ρ(A~XW0)L^{(1)}=\rho\left(\tilde{A} X W_{0}\right)L(1)=ρ(A~XW0​) 计算得到,其中A~=D−12AD−12\tilde{A}=D^{-\frac{1}{2}} A D^{-\frac{1}{2}}A~=D−21​AD−21​是归一化对称邻接矩阵 ,W0∈Rm×kW_{0} \in \mathbb{R}^{m \times k}W0​∈Rm×k是一个权重矩阵,ρ(x)=max⁡(0,x)\rho(x)=\max (0, x)ρ(x)=max(0,x)是一个ReLU激活函数。
  • 单层GCN只能捕获具有一层卷积的近邻信息。当多个GCN层堆叠时,更高阶的邻域信息将被整合。可以通过叠加多个GCN层来整合高阶邻域信息: L(j+1)=ρ(A~L(j)Wj)L^{(j+1)}=\rho\left(\tilde{A} L^{(j)} W_{j}\right)L(j+1)=ρ(A~L(j)Wj​),其中jjj代表GCN的层数,L(0)=XL^{(0)}=XL(0)=X。

Text Graph Convolutional Networks (Text GCN)

  1. 作者依托语料库构建了一个大型的异构文本图,其中包含单词节点和文档节点,以便可以显式地对全局单词共现进行建模,并且可以很容易地调整图形卷积。Word Document Graph中结点数=语料库中文档的数量+语料库中唯一单词数的数量。文本GCN的示意图如下所示:

​ 示例取自Ohsumed语料库。

  • 以“O”开头的节点是文档节点,其他节点是word节点。
  • 黑色粗体边缘是document-word边,灰色细边是word-word 边缘。
  • R(x)R(x)R(x)代表xxx的嵌入表示。
  • 不同的颜色表示不同的文档类。这里为了避免混乱,只显示了四个示例类,CVD:心血管疾病,Neo:肿瘤,Resp:呼吸道疾病,Immun:免疫性疾病。
  1. 作者基于文档中的词出现情况(document-word edges)和整个语料库中的词的共现(word-word edges)在节点之间建立边。
  • 文档节点和单词节点之间边的权重是文档中单词的术语频率逆文档频率(TF-IDF),其中术语频率是单词在文档中出现的次数,逆文档频率是包含该单词的文档数的对数反比分数。
  • 为了利用全局词共现信息,作者对语料库中的所有文档使用固定大小的滑动窗口来收集共现统计信息,并使用点态互信息(PMI)来计算两个词节点之间的权重,PMI是一种常用的词关联度量。一对单词间的PMI值可以通过PMI⁡(i,j)=log⁡p(i,j)p(i)p(j)\operatorname{PMI}(i, j)=\log \frac{p(i, j)}{p(i) p(j)}PMI(i,j)=logp(i)p(j)p(i,j)​计算,其中p(i,j)=#W(i,j)#Wp(i, j)=\frac{\# W(i, j)}{\# W}p(i,j)=#W#W(i,j)​,p(i)=#W(i)#Wp(i)=\frac{\# W(i)}{\# W}p(i)=#W#W(i)​,#W(i)\# W(i)#W(i)是包含单词iii的语料库中滑动窗口的数量,#W(i,j)\# W(i,j)#W(i,j)是同时包含单词iii和jjj的滑动窗口的数量。 #W\# W#W是语料库中滑动窗口的总数。正的PMI值意味着语料库中单词的高度语义相关性,而负的PMI值意味着语料库中几乎没有语义相关性。因此,我们只在PMI值为正的词对之间添加边。
  • 因此,节点i,ji,ji,j之间的权重可以定义为:Aij={PMI⁡(i,j)i,jare words, PMI⁡(i,j)>0TF-IDF⁡ijiis document, jis word 1i=j0otherwise A_{i j}= \begin{cases}\operatorname{PMI}(i, j) & i, j \text { are words, } \operatorname{PMI}(i, j)>0 \\ \operatorname{TF-I D F}_{i j} & i \text { is document, } j \text { is word } \\ 1 & i=j \\ 0 & \text { otherwise }\end{cases}Aij​=⎩⎪⎪⎪⎨⎪⎪⎪⎧​PMI(i,j)TF-IDFij​10​i,j are words, PMI(i,j)>0i is document, j is word i=j otherwise ​。
  1. 将构建好的Text Graph输入到一个简单的两层GCN中。
  • E1=A~XW0E_1=\tilde{A} X W_{0}E1​=A~XW0​包含第一层 document和Word嵌入。
  • E2=(A~ReLU⁡(A~XW0)W1)E_2=\left(\tilde{A} \operatorname{ReLU}\left(\tilde{A} X W_{0}\right) W_{1}\right)E2​=(A~ReLU(A~XW0​)W1​)包含第二层 document和Word嵌入。
  • 将E2E_2E2​输入到Softmax分类器中:Z=softmax⁡(A~ReLU⁡(A~XW0)W1)Z=\operatorname{softmax}\left(\tilde{A} \operatorname{ReLU}\left(\tilde{A} X W_{0}\right) W_{1}\right)Z=softmax(A~ReLU(A~XW0​)W1​),其中A~=D−12AD−12\tilde{A}=D^{-\frac{1}{2}} A D^{-\frac{1}{2}}A~=D−21​AD−21​,softmax⁡(xi)=1Zexp⁡(xi)\operatorname{softmax}\left(x_{i}\right)=\frac{1}{\mathcal{Z}} \exp \left(x_{i}\right)softmax(xi​)=Z1​exp(xi​),Z=∑iexp⁡(xi)\mathcal{Z}=\sum_{i} \exp \left(x_{i}\right)Z=∑i​exp(xi​)。权重参数 W0W_0W0​ 和 W1W_1W1​ 可以通过梯度下降来训练。
  • 损失函数被定义为所有标记文档上的交叉熵误差:L=−∑d∈YD∑f=1FYdfln⁡Zdf\mathcal{L}=-\sum_{d \in \mathcal{Y}_{D}} \sum_{f=1}^{F} Y_{d f} \ln Z_{d f}L=−∑d∈YD​​∑f=1F​Ydf​lnZdf​,其中YD\mathcal{Y}_{D}YD​是具有标签的文档索引集,FFF是输出特征的维度等于类的数量,YYY是标签指示器矩阵。

Experiment

Datasets

  1. 20-Newsgroups (20NG):20NG数据集包含18846个文档,平均分为20个不同类别。训练集中总共有11314份文档,测试集中有7532份文档。
  2. Ohsumed:Ohsumed 语料来自MEDLINE数据库,该数据库是国家医学图书馆维护的重要医学文献书目数据库。作者在1991年的前20000篇摘要中使用了13929篇独特的心血管疾病摘要。集合中的每个文档都有23个疾病类别中的一个或多个关联类别。当我们关注单标签文本分类时,属于多个类别的文档被排除在外,因此只剩下7400个属于一个类别的文档。训练集中有3357份文档,测试集中有4043份文档。
  3. R5和R8:R52和R8是路透社21578数据集的两个子集。R8有8个类别,分为5485个训练文档和2189个测试文档。R52有52个类别,分为6532个训练文档和2568个测试文档。
  4. MR:MR是一个用于二元情感分类的电影评论数据集,每个评论只包含一句话。语料库中有5331篇正面评论和5331篇负面评论。
  • 预处理数据集后的统计信息如下表所示:

Settings

  • 对于Text GCN,我们将第一个卷积层的嵌入大小设置为200,并将窗口大小设置为20。
  • learning rate:0.02
  • dropout rate:0.5

Test Performance

论文阅读笔记:Graph Convolutional Networks for Text Classification相关推荐

  1. 【论文复现】Character-level Convolutional Networks for Text Classification

    写在前面 今天讨论的论文依然是文本分类主题的.Character-level Convolutional Networks for Text Classification这篇论文是在2016年4月份发 ...

  2. 论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

    Semantic Graph Convolutional Networks for 3D Human Pose Regression 使用语义图卷积网络对三维人体姿态进行回归 Abstract ​ 在 ...

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

    文章目录 1.Introduction 2.Model 2.1 Graph Tensor 2.2 Text graph tensor construction Semantic-based graph ...

  4. [论文阅读笔记]Two-Stream Convolutional Networks for Action Recognition in Videos

    Karen Simonyan Andrew Zisserman  Visual Geometry Group, University of Oxford  fkaren,azg@robots.ox.a ...

  5. 【论文解读 ICLR 2020 | DropEdge】TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION

    论文题目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION 论文来源:ICLR 2020 论文链接 ...

  6. 【论文阅读】Fully Convolutional Networks for Semantic Segmentation【CVPR,PAMI】

    摘要 我们的研究表明,卷积网络通过端到端.像素到像素的训练,在语义分割方面比之前的最佳结果有所提高 我们的关键见解是构建完全卷积网络,它接受任意大小的输入,并产生相应大小的输出,并具有有效的推理和学习 ...

  7. 论文阅读-VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

    作者: Karen Simonyan et al. 日期: 2015 类型: conference article 来源: ICLR 评价: veyr deep networks 论文链接: http ...

  8. 论文阅读——Quantizing deep convolutional networks for efficient inference: A whitepaper

    Quantizing deep convolutional networks for efficient inference: A whitepaper Abstract 本文针对如何对卷积神经网络的 ...

  9. 【视频分类论文阅读】Two-Stream Convolutional Networks for Action Recognition in Videos

    论文是视频分类的开山之作,采用了一个双流网络,是空间流和事件流共同组成的,网络的具体实现都是CNN,空间流的输入是静止的图片,来获取物体形状大小等appearance信息,时间流的输入是多个从两帧之间 ...

最新文章

  1. 小程序在输入npm命令_小程序中使用npm
  2. Ajax Get请求获取后台返回的数据
  3. Spring-AOP概念及使用教程
  4. hadoop上传文件报错
  5. SylixOS中MTD调用底层接口流程分析
  6. 给老师的作文:育儿经验-父母是孩子最好的老师
  7. 服务器系统记事本乱码,记事本乱码完美解决修复教程
  8. jQuery第六章课后作业
  9. QT二次开发Kvaser
  10. python中grid是什么意思_python中网格Grid和列表List的认识
  11. 【CSS】1149- CSS filter 有哪些神奇用途
  12. mysql查询数据1168_mysqldump 1168 error
  13. 如何用Camtasia将喜欢的视频做出复古的感觉
  14. python的爬虫攻击
  15. 如何在 3dMax 中制作游戏中的战斧模型?
  16. data mining - 实用机器学习工具与技术 - 读书笔记( 一 )
  17. (转载)c# winform comboBox的常用一些属性和用法
  18. Js实现获取当前时间并显示
  19. 高效的多维空间点索引算法 — Geohash 和 Google S2—绝对好文
  20. 解决百度网盘二维码加载不出来问题

热门文章

  1. java不能作为整型常量_以下字符组合中,不能作为Java整型常量的是_学小易找答案...
  2. 应用案例 | 打造智慧港口,广东某集装箱公司积极推进港口转型
  3. 2021“快手光合创作者大会”背后的服务新理念
  4. CloudSim有关NetworkDatacenter的学习
  5. 分享几点我的读书心得
  6. IOS程序员大牛们的经典语录
  7. input标签动态设置只读属性及其兼容性
  8. 软考高项 : (21)2016年上半年论文写作真题
  9. Webpack升级优化小记:happyPack+dll初体验
  10. php做网站步骤_制作一个简单PHP网站系统的最基本流程