1. 简称
论文《Text Level Graph Neural Network for Text Classification》,作者Lianzhe Huang(MOE Key Lab of Computational Linguistics, Peking University, Beijing, 100871, China)
,经典的GNN论文(Text-Level-GNN)
。
2. 摘要
最近,由于GNN在处理复杂结构和保留全局信息方面表现出色,因此研究探索了文本分类的图神经网络(GNN)技术。然而,现有的基于GNN的方法主要面临固定语料库级图结构
的实际问题,这些结构不支持在线测试和高内存消耗。为了解决这些问题,我们提出了一个新的基于GNN的模型,该模型为具有全局参数共享的每个输入文本构建图形,而不是为整个语料库构建单个图形。这种方法消除了单个文本和整个语料库之间的依赖负担,支持在线测试但仍保留全局信息。此外,我们通过文本中较小的窗口来构建图形,这不仅提取了更多的局部特征
,而且还显著减少了边数量以及内存消耗
。实验表明,我们的模型也能在多个文本分类数据集上优于现有模型,消耗更少的内存。
3. 引言
文本分类是自然语言处理(NLP)的一个基本问题,它有许多应用程序,例如垃圾邮件检测
,新闻过滤
等。文本分类的必要步骤是文本表示学习。
随着深度学习的发展,诸如卷积神经网络(CNN)
和递归神经网络(RNN)
等神经网络已被用于文本表示。最近,一种名为Graph Neural Network(GNN)
的新型神经网络引起了广泛关注。 GNN最初是在(Scarselli et al. 2009)中提出的并已用于NLP的许多任务中,包括文本分类
,序列标记
,神经机器翻译
,和关系推理
,(Defferrard et al. 2016)首先在文本分类任务中使用图卷积神经网络(GCN),并且优于传统的CNN模型。此外,(Yao et al. 2019)改进了(Def- ferrard et al. 2016)的工作,即在图中应用文章节点和边缘权重,其模型优于最新的文本分类方法。
但是,这些基于GNN的模型通常采用为整个语料库构建一个图的方式,这在实践中引起以下问题。首先,
由于边缘众多,因此要求高内存消耗
。由于这种方法为整个企业建立了一个单一的图形,并使用权重固定的边,这极大地限制了边的表达能力,因此,它们必须使用较大的连接窗口才能获得全局表示。其次,
这种模型很难进行在线测试
,因为其图的结构和参数取决于语料,并且在训练后无法修改。
为了解决上述问题,我们提出了一种新的基于GNN的文本分类方法。代替构建单个语料库级别图,我们为每个输入文本生成一个文本级别图
。对于文本级图,我们在文本中相当小的窗口内连接单词节点,而不是直接完全连接所有单词节点。相同节点的表示和边缘权重是全局共享的,可以通过传递消息的机制
在文本级别图中进行更新,其中节点从相邻节点接收信息以更新其表示。最后,我们总结了所有图中的节点预测结果。通过我们的设计,文本级图消除了单个输入文本和整个语料库之间依赖于在线测试的负担。此外,它还具有通过在较小的上下文窗口中连接单词来减少内存消耗的好处,因为它排除了文本中距离较远且与当前单词关系不多的很多单词,从而大大减少了单词的数量。边缘。消息传递机制使图中的节点感知周围的信息,以在特定上下文中获得精确的含义。
在我们的实验中,与以前的方法相比,我们的方法在多个文本分类数据集中获得了最先进的结果,并且显著减少了内存资源。
4. 核心
在本节中,我们将详细介绍我们的方法。首先,
我们展示如何为给定文本构建文本级图;文本级别图的所有参数均取自某些全局共享矩阵
。然后,
我们在这些图上引入消息传递机制
,以从上下文中获取信息。最后,
我们描述了如何根据所学的表示来预测给定文本的标签
。我们的模型的总体架构如图1所示。
4.1 Building Text Graph
我们将一个有个单词的文本记为,其中由一个维词嵌入向量进行初始化,并且在训练中被更新。要为给定的文本构建图形,我们将出现在文本中的所有单词视为图形的节点。每个边都从文本中的一个单词开始,并以其相邻的单词结束。
具体来说,文本的图形定义为:
其中和是图的节点集和边集,而中的单词表示和中的边权重均取自全局共享矩阵。 表示图中每个单词连接的相邻单词的数量。此外,我们将训练集中出现次数少于k次的边缘均匀地映射到“公共”边缘,以使参数得到充分训练。
与构建图的先前方法相比,我们的方法可以从节点和边的角度极大地减少图的比例
。这意味着文本级图形可以消耗更少的GPU内存。此外,他们的方法对新出现的文本不友好,而我们的方法可以解决此问题,因为每个文本的图形仅取决于其内容。
6.2 Message Passing Mechanism
卷积可以从局部特征中提取信息。在图域中,卷积是通过频谱方法
或非频谱方法
实现的。在本文中,一种称为消息传递机制(MPM)
的非频谱方法被用于卷积。MPM首先从相邻节点收集信息,并根据其原始表示形式和所收集的信息来更新其表示形式
,其定义为:
其中是节点从其邻居接收到的消息;max
是一种归约函数,它将每个维上的最大值组合起来以形成一个新的向量作为输出。代表原始文本中的最近个单词的节点;是从节点到节点的边缘权重,它可以在训练时更新;代表节点先前的表示向量。是节点的可训练的变量,指示应该保留多少的信息。代表节点更新后的表示。
MPM使节点的表示受到邻域的影响,这意味着表示可以从上下文中获取信息。因此,即使对于一词多义
,上下文中的精确含义也可以通过来自邻居的加权信息的影响来确定。此外,文本级图的参数取自全局共享矩阵
,这意味着表示形式也可以像其他基于图的模型一样带来全局信息。
最后,使用文本中所有节点的表示来预测文本的标签:
其中是将向量映射到输出空间的矩阵,是文本的节点集,是偏差。
训练的目的是最小化真实标签和预测标签之间的交叉熵损失:
其中是真实标签的one-hot
向量表示。
5. 实验
在本节中,我们将描述实验设置并报告实验结果。
5.1 Experimental Setup
在实验中,我们利用了R8
,R52
和Ohsumed
。R8
和R52
都是路透社21578数据集的子集。从MEDLINE数据库中提取了假设的答案。 MEDLINE专为多标签分类而设计,我们删除带有两个或更多标签的文本
。对于上述所有数据集,我们从训练集中随机选择10%的文本以构建验证集。表1列出了数据集的概述。
我们将我们的方法与以下基准模型进行比较。值得注意的是,某些模型的结果直接取自(Yao et al. 2019)。
- CNN(Kim,2014)提出,对词嵌入执行卷积和最大池化操作以获取文本表示。
- LSTM(Liu et al., 2016)中定义,使用最后一个隐藏状态作为文本的表示形式。 Bi-LSTM是双向LSTM。
- fastText由(Joulin et al. 2017)提出,将平均单词或n-gram嵌入作为文档嵌入。
- Graph-CNN通过(Defferrard et al., 2016)提出的傅立叶滤波器对单词相似度图进行卷积运算。
-
Text-GCN(Yao et al.,2019)提出了一种基于图的文本分类模型,该模型为
整个语料库构建了一个大图
。
5.2 Implementation Details
我们设置节点表示的维度为300并使用随机向量初始化或Glove。在2.1节讨论的设置为2。我们使用Adam optimizer,初始化学习速率为,L2权重衰减设置为。在dense层之后应用保持概率为0.5的dropout。我们的模型的批次大小为32。如果验证损失在10个连续的时间段内都没有减少,我们将停止训练
。
对于基准模型,我们使用默认参数设置,如其原始论文或实施中所述。对于使用预训练词嵌入的模型,我们使用了300维GloVe词嵌入。
5.3 Experimental Results
表2报告了针对其他基准方法的模型结果。我们可以看到我们的模型可以达到最新的结果。
我们注意到,基于图形的模型的结果要优于CNN,LSTM和fastTest等传统模型
。这可能是由于图结构的特性。图结构允许存在不同数量的邻居节点,这使单词节点
可以通过不同的搭配学习更多的准确表示。此外,单词之间的关系
可以记录在边缘权重中并全局共享。这些对于传统模型都是不可能的。
我们还发现我们的模型比诸如Graph-CNN的基于图的模型表现更好。 Graph CNN使用与我们类似的词袋模型表示文档,但是它们在没有加权边缘的大窗口内连接单词节点,无法区分不同单词之间的重要性
。然而我们的模型采用可训练的边缘权重,但是当面对各种搭配时,这些词可以使单词表达方式有所不同。此外,权重是全局共享的,这意味着可以通过所有语料在整个语料库中包含相同搭配的文本来训练权重
。
我们还注意到,我们的模型比以前的最新模型Text-GCN更好。这可能是由于之前已经讨论过的更具表现力的优势,以及表示学习的差异。当我们的模型在像传统单词嵌入的上下文窗口中训练时,Text-GCN通过语料库级别共现来学习单词表示。因此,我们的模型可以受益于预训练的词嵌入并获得更好的结果。
5.4 Analysis of Memory Consumption
表3报告了Text-GCN和我们的模型之间的内存消耗和边数的比较。结果表明,我们的模型在内存消耗方面具有显着优势。
如2.1所述,我们模型中的单词仅连接到文本中的相邻单词,而基于Corpus级图的Text-GCN在合理的大窗口内连接节点。因为Text-GCN使用共现信息作为固定权重,所以它必须扩大窗口大小才能获得更准确的共现权重。因此,我们将得到比Text-GCN更稀疏的边缘权重矩阵。同样,由于文本的表示是通过文本中单词节点的表示之和计算得出的,因此我们的模型中没有文本节点,这也减少了内存消耗
。
5.5 Analysis of Edges
为了理解各种连接窗口的差异,我们比较了R8和假定数据集具有不同p值的性能,结果报告在图2中。
我们发现,随着p变大,精度会提高,并且当p变大时,将达到最佳性能。与大约3个街区相连。然后,精度随着p的增加而降低了波动性。这表明,当仅与最近的邻域连接时,节点无法理解上下文中跨越多个单词的依赖关系,而与较远的邻域连接(p更大)时,图与完全连接的图,忽略了局部特征。此外,边缘越少,内存消耗越少。与以前的方法相比,我们的模型具有更少的边缘,这也显示了我们提出的模型的优势。
5.6 Ablation Study
为了进一步分析我们的模型,我们进行了消融研究,表4显示了结果。
在(1)中,我们固定边缘的权重并使用逐点互信息(PMI)对其进行初始化,并将滑动窗口的大小设置为20,与(Yao et al.,2019)相同。删除可训练边缘会使模型在所有数据集上的表现更差,这证明了可训练边缘的有效性
。我们认为,主要原因是与固定边缘相比,可训练边缘可以更好地模拟单词之间的关系。
在(2)中,我们通过均值减少来更改最大减少。在原始模型中,节点仅通过获取每个维度的最大值即可从接收到的消息中获取新的表示形式。从表4中可以看出,最大减少量可以获得更好的结果。节点减少功能类似于CNN上的池化操作。通过max减少可突出显示具有高度区分性的功能,并提供非线性特性,有助于获得更好的结果。
在(3)中,我们从节点上去除了预训练的单词嵌入,并用随机向量初始化所有节点。与原始模型相比,在没有预训练词嵌入的情况下,性能略有下降。因此,我们认为,预训练词嵌入对提高模型的性能具有特殊的作用。
6. 相关工作
在本节中,我们将详细介绍有关GNN
和文本分类
的相关工作。
6.1 Graph Neural Networks
Graph Neural Networks(GNN)最近受到了广泛关注(Zhou et al., 2018; Zhang et al., 2018b; Wu et al., 2019)。 GNN可以对非欧几里得数据进行建模,而传统的神经网络只能对规则的网格数据进行建模。虽然现实中的许多任务,例如知识图谱
(Ham- aguchi et al., 2017),社交网络
(Hamilton et al.,2017)和许多其他研究领域(Khalil et al.,2017)的数据形式为树或图。因此提出了GNN(Scarselli et al.,2009)将深度学习技术应用于图域数据。
6.2 Text Classification
文本分类是自然语言处理的一个经典问题,在现实中具有广泛的应用。传统的文本分类,例如词袋
(Zhang et al.,2010),n-gram
(Wang and Manning,2012)和主题模型
(Wallach,2006),主要关注特征工程和算法。随着深度学习技术的发展,越来越多的深度学习模型被用于文本分类。Kim (2014); Liu et al. (2016) 将CNN和RNN应用于文本分类,并获得了比传统模型更好的结果。
随着GNN的发展,一些基于图的分类模型逐渐出现(Hamilton et al., 2017; Velicˇkovic ́ et al., 2017; Peng et al., 2018). Yao et al. (2019)提出了Text-GCN并在几个主流数据集上取得了最新的成果。但是,Text-GCN具有高内存消耗
和缺乏支持在线培训的缺点
。本文提出的模型解决了Text-GCN中提到的问题,并取得了较好的效果。
8. 结论
在本文中,我们提出了一个新的基于图的文本分类模型,该模型使用文本级图而不是整个语料库的单个图。实验结果表明,我们的模型达到了最先进的性能,并且在内存消耗方面具有显着优势。
9. 致谢
我们的工作得到了国家重点研究发展计划的支持(No.2017YFB1002101)和国家自然科学基金会的资助(No.61433015和No.61572049)。本文的通讯作者是Houfeng Wang。
10. 重点论文
- Peter W Battaglia, Jessica B Hamrick, Victor Bapst, Alvaro Sanchez-Gonzalez, Vinicius Zambaldi, Mateusz Malinowski, Andrea Tacchetti, David Raposo, Adam Santoro, Ryan Faulkner, et al. 2018. Relational inductive biases, deep learning, and graph networks. arXiv preprint arXiv:1806.01261.
- Michae ̈l Defferrard, Xavier Bresson, and Pierre Vandergheynst. 2016. Convolutional neural networks on graphs with fast localized spectral filtering. In Advances in neural information processing systems, pages 3844–3852.
- Yue Zhang, Qi Liu, and Linfeng Song. 2018a. Sentence-state lstm for text representation. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 317–327.
- Liang Yao, Chengsheng Mao, and Yuan Luo. 2019. Graph convolutional networks for text classification. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, pages 7370–7377.
- Jie Zhou, Ganqu Cui, Zhengyan Zhang, Cheng Yang, Zhiyuan Liu, and Maosong Sun. 2018. Graph neural networks: A review of methods and applications. arXiv preprint arXiv:1812.08434.
- Yue Zhang, Qi Liu, and Linfeng Song. 2018a. Sentence-state lstm for text representation. In Proceedings of the 56th Annual Meeting of the Associa- tion for Computational Linguistics (Volume 1: Long Papers), pages 317–327.
- Zonghan Wu, Shirui Pan, Fengwen Chen, Guodong Long, Chengqi Zhang, and Philip S. Yu. 2019. A comprehensive survey on graph neural networks.
11. 代码编写
# 后续追加代码分析
参考文献
- Huang L, Ma D, Li S, Zhang X, Wang H. Text Level Graph Neural Network for Text Classification. EMNLP/IJCNLP. 2019:3442-3448. doi:10.18653/v1/D19-1345.