当GNN遇见NLP(六):Text Level Graph Neural Network for Text Classification,EMNLP2019


本文作者来自北大。
以往基于GNN的方法主要面临的实际问题是固定语料库级图结构,不支持在线测试,内存消耗大。因此本文提出一种方法,为每个输入文本构建具有全局参数共享的图,而不是为整个语料库构建单个图。通过小窗口来构建图形,这不仅可以提取更多的局部特征,而且可以显著减少边缘数和内存消耗。实验表明,该模型在占用较少内存的情况下,在多个文本分类数据集上的性能优于现有模型。

Method

Building Text Graph

本文主要是在图生成的方式上做了改进。最先我们看符号定义。
每个包含l个单词的文本被表示为T={r1,r2…rl},r为对应单词的d维embedding。然后,将每个单词视为结点,相连的单词之间添加边,构建一个文本图。形式化描述为:
在这里插入图片描述
N与E一看就知道对应结点集与边集,结点来自单词1~l;边来自j的上下文窗口,窗口大小为p。边的权重来自于全局共享矩阵,个人的理解是把整个语料库做成了一个大的矩阵,每两个单词之间通过共现或者PMI之类的数据存在一个关系值,作为边之间的权重。之后,将出现次数<k的边统一映射到一个统一的表示。原文说这会使得参数充分训练,这个我不知道怎么理解,暂时理解为将低频次的边删去可以使得模型更注重高频的关系。
这样构建出来的图的结构只依赖于每条文本,边的权重则来自于全局关系,这样使得图的大小得到缩减,并且适用于新来的文本。这里是说,比如textGCN之类的方法,通过处理所有的待分类句子生成一个巨大的图,这个图根据语料而固定,因此当新的句子来的时候无法处理。
文中给出了一个例子。左下方的是特征矩阵,右下方的就是global shared representation matrix,这个矩阵为每个单词之间都生成一个关系,因此是V×V的。
在这里插入图片描述

Message Passing Mechanism

接下来是传播过程中的参数更新。空域GNN的过程可以看做是message passing mechanism (MPM),MPM首先从相邻节点收集信息,根据原始表示和收集到的信息更新其表示。本文的更新方式如下:
在这里插入图片描述
e_an是可训练参数,表示聚合的时候从邻居结点那里得到信息的权重。max是每一维度的最大特征选择方法。Mn是最大聚合邻居信息之后的结果。然后在(4)中与结点rn自身的原来信息做一个加权,得到新的潜在表示r。个人觉得这个方法比GAT并没高明到哪里去,本质上还是在做特征的可学习加权聚合。
经过多次传播之后,通过公式(5)预测文本标签:
在这里插入图片描述
损失函数就是简化的交叉熵:
在这里插入图片描述

Experiments

Datasets & Baselines

数据集就对比了仨,都是很常用的文本分类数据集:R8,R52,Ohsumed。从训练集中随机选取10%的样本来构建验证集。个人觉得验证集有时候也没啥用。这几个数据集的统计信息如下,都是比较长的文本了:
在这里插入图片描述
对比的基线算法也都比较基础:
CNN,LSTM,fastText,Graph-GNN(傅里叶变换的那个谱方法),Text-GCN。
具体的参数设置为:Glove300预训练的词向量,k(那个边出现的频次阈值)=2,Adam优化方法,初始学习率0.001,L2正则化0.0001(这个正则化有时候加效果并不好,具体要看模型是过拟合还是欠拟合吧),dropout=0.5,batch size=32,early stop被设置为10。

Experimental Results

在这里插入图片描述
每个模型训练10次取平均值并计算标准差作为±。都是很标准的操作。接下来比较了一下内存的占用。本文的模型边少,并且没有用文档结点作为分类的标准,而是一个文档一个输入,因此结点数目也更少,当然占用内存更少。尽管内存占优,但是速度可能比不过textGCN,因为textGCN只需要训练一个大图上的传播,因此其速度更快。但是textGCN确实由于需要维护一个N×N的图矩阵,在进行复杂计算的时候,比如GAT,其内存就远远不够用了。
在这里插入图片描述
接下来是对窗口大小p值的探讨:
在这里插入图片描述
当p值增大时,准确率会提高,并且当连接到3个邻域时,准确率达到最佳。然后,随着p的增加,准确率会降低波动率。这说明,仅与最近的邻域连接时,节点无法理解上下文中跨多个单词的依赖关系,而与远处的邻域(p大得多)连接时,图与忽略局部特征的全连通图越来越相似。

Ablation Study

除此之外,本文还进行了三种不同方式的消融试验:
在这里插入图片描述
(1)在第一组消融试验中与固定权重的边进行对比,发现可训练权重的边效果更好。
(2)用均值简化来改变最大简化。在原始模型中,节点通过获得每个维度的最大值从接收到的消息中获得新的表示。从表4可以看出,最大约简可以取得较好的效果。节点约简函数类似于CNN上的池化操作。最大还原突出了鉴别性强且具有非线性的特征,有助于获得更好的结果。
(3)节点中移除预先训练好的单词嵌入,并使用随机向量初始化所有节点。与原模型相比,在没有预先训练单词嵌入的情况下,性能略有下降。因此,我们认为预先训练好的单词嵌入对于提高我们的模型的性能有特殊的作用。

Conclusion

本文提出了一种新的基于图的文本分类模型,该模型对整个语料库使用文本级图而不是单一图。实验结果表明,该模型具有较高的性能,在内存消耗方面具有明显的优势。
实际上本文并没有多大的创新之处,只是改变了图生成的方式,这种生成方式和gPool-GCN类似。并且,最大特征提取的方法很早之前就已经被使用过了,比如LGCN,可学习权重参数也与GAT类似。并且,只做了三组数据的试验从量上来说并不多,不能很有说服力地说明模型的普适性;而且对比的基线算法除了textGCN之外也没有很强。尽管如此,凭借着新颖独特的创新角度(其实消耗内存更少本人并不觉得有多大创新)以及完备的实验过程,还是发表在了EMNLP上,可见只要多读读论文找到好的角度实验做得好还是很有机会发表在好的期刊会议上的。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月的echo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值