前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

textgcn

作者头像
opprash
修改2020-01-19 16:53:26
2.1K0
修改2020-01-19 16:53:26
举报
文章被收录于专栏:大数据和机器学习

论文:Graph Convolutional Networks for Text Classification. Liang Yao, Chengsheng Mao, Yuan Luo∗.

一、摘要

传统的文本分类方法主要集中在特征工程和分类算法上面,就特征工程而言,最共同的方法是使用词袋模型,另外,一些更复杂的特征如n-grams模型,命名实体识别等。还存在有关将文本转换为图形以及对图形和子图形进行特征工程的现有研究。与这些方法不同,本片文章的方法可以自动将文本表示形式学习为节点嵌入。

在这项工作中,作者提出一种新型的神经网络来进行文本分类,作者从整个语料库构造一个大图,这个图使用文档和词来作为图节点,图中词语之间的边代表两个词的共现信息,词与文档之间的边代表词频和和句频,最后通过将文本分类问题转化为图中的节点分类问题。总结如下:

1. 提出了一种新的文本分类的图神经网络方法。这是第一次将整个语料库建模为异构图(heterogeneous graph),并研究用图形神经网络联合学习词和文档嵌入。

2. 在几个基准数据集上的结果表明,我们的方法在不使用预先训练的单词嵌入或外部知识输入的情况下,优于最新的文本分类方法。该方法还可以自动学习预测词和文档的嵌入。

具体方法

GCN是一种多层神经网络,它直接在一个图上面进行操作,然后根据节点领域的性质输出节点嵌入向量,现考虑一个图G=(V,E),其中V(|V|=n)和E分别是节点集和边集,假设每一个节点都和自身相连,即对于任意v都有(v,v)∈E,设X∈R^{n*m} 为 包含 n 个节点的特征向量的矩阵,其中m为特征向量的维数,每行x_v∈R^m为节点v的特征向量。A是图G的邻接矩阵,D是G的度矩阵,其中D_{ii}=Dii = Aij求和 .由于存在自环(self-loops)A的对角线元素为1。GCN 的一个卷积层只能捕获近领域信息。当多个 GCN 层堆叠时,将会汇总更大的领域信息。对于单层 GCN , k 维节点特征矩阵L^{(1)}属于R^{n*k},计算公式如下:

其中A帽=D^{-1/2}AD^{-1/2}是规范化对称邻接矩阵,w_0∈R^{m*k}是权重矩阵。如前所述,可以通过叠加GCN层来合并高阶领域信息:

其中 j 表示层数,L^0=X。

二、Text-Gcn

作者构建了一个包含词节点和文档节点的大型异构文本图,这样就可以显式地对全局的单词共现进行建模,并且可以很容易地应用图卷积,如下图所示,文本图节点的数量 |V| 等于文档的数量(语料库大小)加上语料库中不同词的数量(词汇量大小)。作者简单地令特征矩阵 X=I为单位矩阵,意味着每个词或者文档被表示为 one-hot 向量做为 text-GCN 的输入。我们根据文档中词的出现(文档节点-词节点的边)和整个语料库中的词共现(词节点与词节点的边)在节点之间建立边。文档节点和词节点之间的边的权重是文档中该单词的词频逆文档频率(TF-IDF)。我们发现使用 TF-IDF 权重比仅使用频率要好。为了利用全局词共现信息,我们在语料库中的所有文档上使用一个固定大小的滑动窗口来收集词共现统计信息。两个词节点之间边的权重用点互信息(PMI)。PMI 计算如下:

其中N是预料库中华东窗口的总数,N^{i,j}是同时包含i和j的滑动窗口数。N(i)是包含i的滑动窗口数,所以,节点i和节点j之间的边的权重定义为:

正的PMI值意味着语料库中词汇的语义相关性很高,而负的PMI值则意味着语料库中词汇的语义相关性很小或没有。因此,我们只在PMI值为正的词节点对之间添加边。在构建文本图之后,我们将该图输入到一个简单的两层 GCN(Kipf and Welling 2017)中。第二层节点(词/文档)嵌入的维度具有与标签集大小相同,之后节点嵌入再送到 softmax 分类器中:

其中A帽=D^{-1/2}AD^{-1/2}与方程(1)相同。损失函数定义为所有标记文档的交叉误差

其中Y_D是一组具有标签的文档索引,F是输出特征的维数,它等于类的数目,Y_df是softmax层输出文档节点d∈Y_D是属于f类的概率。有了损失函数就可以梯度下降来训练参数W_0和W_1。方程7中的Z是原始词和文档节点通过两层GCN后获得的嵌入,整个文本分类GCN模型如下图所示。

text-GCN示意图。以 Ohsumed 语料库为例。以“O”开头的节点是文档节点,其他是单词节点。黑色粗体边缘是文档-词边,灰色细边是词-词边缘。R(x)是指x的表示(嵌入)。不同的颜色意味着不同的文档类(为了避免混乱,只显示了四个示例类)。CVD:心血管疾病。Neo:肿瘤。Resp:呼吸道疾病。Immun:
text-GCN示意图。以 Ohsumed 语料库为例。以“O”开头的节点是文档节点,其他是单词节点。黑色粗体边缘是文档-词边,灰色细边是词-词边缘。R(x)是指x的表示(嵌入)。不同的颜色意味着不同的文档类(为了避免混乱,只显示了四个示例类)。CVD:心血管疾病。Neo:肿瘤。Resp:呼吸道疾病。Immun:

两层 GCN 可以允许在最大两步之外的节点之间进行消息传递。因此,尽管图中没有直接的文档与文档之间的边,但是两层 GCN 允许在文档对之间交换信息。在作者的初步实验中。作者发现两层 GCN 的性能优于一层 GCN,而更多的层并不能提高性能。这类似于(Kipf and Welling 2017) 以及 (Li, Han, and Wu 2018)的结果。

三、实验

1.实验设定:

对于Text-GCN,作者将第一卷积层的嵌入大小设置为200,将窗口大小设置为20。调整了其他参数,并将学习率设置为0.02,dropout 率设为0.5,L2 正则化参数设为0。随机选择10%的训练集作为验证集。采用(Kipf and Welling 2017),作者使用Adam训练Text-GCN 最多200个 epoch,如果验证损失连续10个epoch没有减少,则停止训练。对于基线模型,作者使用默认的参数设置,就像在它们最初的论文或应用中那样。对于使用预训练单词嵌入的基线模型,使用300维 GloVe 词嵌入。

2.测试表现:

表2显示了每个模型的测试精度。Text-GCN 在四个数据集上的性能最好,显著优于所有的基线模型(基于student t检验,p<0.05),说明了该方法在长文本数据集上的有效性。

imagText-GCN 表现良好的主要原因有两个方面:1)文本图可以捕获文档与词以及全局词与词之间的关系;2)GCN模型作为拉普拉斯平滑的一种特殊形式,以节点自身及其二阶邻居的加权平均值计算节点的新特征。文档节点的标签信息可以传递给其相邻的词节点(文档中的单词),然后又转发给与该词节点相邻的其它词节点与文档节点。词节点可以收集完整的文档标签信息,并在图中充当桥梁或关键路径,从而将标签信息传播到整个图中。然而,我们也观察到,Text-GCN 并没有在 MR 上优于基于CNN和LSTM的模型。这是因为Text-GCN 忽略了在情感分类中非常有用的单词顺序,而CNN和LSTM则显式地对连续的单词序列建模。另一个原因是MR文本图的边比其他文本图的边少,这限制了消息在节点之间的传递。因为文档很短,所以只有很少的文档-词边。由于滑动窗口的数量较少,词-词边的数量也受到限制。然而,CNN 和 LSTM 依赖于来自外部语料库的预训练单词嵌入,而文本 GCN 只使用目标输入语料库中的信息。

3.参数敏感性:

下图显示了R8和MR上不同滑动窗口大小的测试精度。我们可以看到,测试精度首先随着窗口大小的增大而增大,但当窗口大小大于15时,平均精度停止增大。这表明窗口太小不能产生足够的全局词共现信息,而窗户尺寸太大可能在不太紧密相关的节点之间添加边。图3描述了 R8 和 MR 在第一层嵌入的不同维度上的分类性能。我们观察到图2类似的趋势。过低维的嵌入可能不会很好地将标签信息传播到整个图中,而高维的嵌入则不会提高分类性能,并且可能会花费更多的训练时间。

4.标记数据大小的影响:

为了评估标记数据大小的影响,作者使用不同比例的训练数据测试了几个性能最佳的模型。下图报告了原始 20NG 和 R8 训练集的1%、5%、10%和20%的测试精度。并且注意到,Text-GCN 可以在有限的标记文档下实现更高的测试精度。这再次说明了 GCN 可以很好的将标签信息传递到整个图

5.文档可视化:

作者给出了一个由 Test-GCN 学习的文档嵌入的说明性可视化。使用t-SNE工具(Maaten and Hinton 2008)来可视化学习到的文档嵌入。图5显示了GCN(第一层)、PV-DBOW 和 PTE学习的200维 20NG 测试文档嵌入的可视化。同时肿着还显示了文本GCN 的20维第二层测试文档嵌入。观察到 Test-GCN 可以学习到更具辨别力的文档嵌入,并且第二层嵌入比第一层嵌入更具辨别力。

6.词可视化:

作者还定性地将 Text-GCN 学习到的单词嵌入可视化。图6显示了从 20NG 学习到的第二层单词嵌入的 t-SNE 可视化。作者将具有最高值的维度设置为单词的标签。我们可以看到,具有相同标签的单词彼此很接近,这意味着大多数单词都与某些文档类密切相关。在表示中,显示每个类下值最高的前10个单词。我们注意到前十个词是可以解释的。例如,第1列中的“jpeg”、“graphics”和“image”可以很好地表示其标签“comp.graphics”的含义。其他列中的单词也可以表示其标签的含义。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、摘要
    • 具体方法
    • 二、Text-Gcn
    • 三、实验
      • 1.实验设定:
        • 2.测试表现:
          • 3.参数敏感性:
            • 4.标记数据大小的影响:
              • 5.文档可视化:
                • 6.词可视化:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档