【论文阅读笔记】Graph Convolutional Networks for Text Classification
1 原文
Graph Convolutional Networks for Text Classification
源码
2 针对问题
文本分类是自然语言处理中一个常见的基础问题。我们常用的文本表示方法有CNN,RNN,LSTM等等。这些模型会优先考虑文本的顺序信息和局部信息,能够很好的捕获连续词序列中的语义和语法信息,但是它忽略了全局的词共现,词共现中携带了不连续以及长距离的语义信息。
3 模型 / 方法
使用图卷积神经网络对文本进行建图,这张图利用单词和文档作为结点。
这是本文中非常重要的一部分,也是图神经网络需要解决的一个开放性问题之一,如何从非结构化数据(如图、文本)生成图结构表示。本文将词和文档同时作为结点进行建图:
图中节点的数量是单词数量+文档数量,O开头的是文档节点,其他的是词节点。图中黑线的线代表文档-词的边,灰色的表示词-词的边。R(x)表示x的embedding表示。节点的不同颜色代表文档的不同类型。
本文提出的TextGCN的初始输入向量是词和文档全部用one-hot编码表示。
- 文档-词的边基于词在文档中的出现信息,使用TF-IDF作为边的权重。
- 词-词的连边基于词的全局词共现信息。词共现信息使用一个固定大小的滑动窗口在语料库中滑动统计词共现信息,然后使用点互信息(PMI)计算两个词节点连线的权重。
在上述公式中, - #W表示滑动窗口的总数量
- #W(i)表示在一个语料库中包含单词i的滑动窗口数量。
- #W(i,j)表示同时包含单词i和单词j的滑动窗口的数量。
- PMI为正表示词与词之间的语义相关性较高,为负表示两个词之间的语义联系较小或者不存在,所以我们只给PMI为正的两个词节点连线。
3.1 Text GCN
- 建立好文本图后,本文将其feed到一个简单的二层图卷积网络中,第二层结点(词或文档)嵌入的大小和 labels set 的相同,然后这些结点被feed给一个softmax分类器,公式化描述如下:
- 第一层使用ReLU作为**函数,第二层使用softmax函数作分类。损失函数为交叉熵:
4 实验结果
5 讨论
- 本文方法的一个重要限制是GCN模型是**内在传导的(inherently transductive)**的,其中在GCN的训练过程中这包括了测试文档结点(不带labels)。
- 因此,Text GCN不能快速地生成embeddings以及不能对后面未曾出现的测试文档做出快速预测。
6 结论
- Text GCN可以捕获文档和词的关系以及全局词共现信息,文档节点的标签信息可以通过他们的邻居节点传递,传递给其他的单词和文档。
- 在情感分类任务上(MR语料)上Text GCN没有表现出优于其他基准模型的结果,主要是因为GCN忽略了词序信息,这在情感分类当中时非常有用的。
- 实验还证明了参数的敏感性。在Text GCN中,窗口大小和第一层GCN输出的向量维度大小的选择都对结果有影响,较小的窗口不能得到有效地全局词共现信息,太大的窗口会使得本来关系并不密切的两个节点之间产生连边。
- 在本文的实验中,Text GCN可以有很好的文本分类结果,但是不能快速生成embedding,也不能为新的文本作分类。在未来的工作中可以引入归纳机制,注意力机制,开发无监督的text GCN框架。