文本特征和图结点混合增强的图卷积网络文本分类*
2024-01-30杨晓奇刘伍颖
杨晓奇,刘伍颖
(1.广东外语外贸大学信息科学与技术学院,广东 广州 510006;2.鲁东大学山东省语言资源开发与应用重点实验室,山东 烟台 264025;3.广东外语外贸大学外国语言学及应用语言学研究中心,广东 广州 510420)
0 引言
文本分类是自然语言处理中的一项重要任务,它被广泛应用于各大场景,包括舆情监测、新闻分类、信息检索、情感分析[1-2]以及事件预测等,旨在根据文本的内容和语义将其自动分类到预定义的类别中,而实现这一过程的算法称为分类器,在这个过程中,特征提取是一个重要步骤,传统的特征提取方法主要基于词袋模型、TF-IDF和N-gram模型等,它们简单直观、易于实现,但在复杂的场景效果有限.随着深度学习的兴起,深度学习模型在文本分类任务中取得了显著效果.常用的深度学习模型包括卷积神经网络(CNN)[3]、循环神经网络(RNN)[4-6]等,能够自动学习文本中的语义和上下文信息.然而它们主要关注捕捉局部连续词序列中的语义和句法信息,在一些文本中,重要的语义关系可能存在于非连续的词语之间或者跨度较长的片段中,这些传统模型无法很好地捕捉到全局的词语共现信息.为了解决这一问题,图神经网络(GNN)[7]出现了,这是一种强大的深度学习模型,具有处理非欧氏空间数据的能力,其出现弥补了传统深度学习模型只能处理欧氏空间数据的不足.图神经网络通过考虑数据中的复杂关系结构和全局结构信息,有效地处理具有非线性和非连续关系的数据,这不仅在文本分类任务中有着重要的研究价值,而且在知识图谱、社会网络等领域都有着广泛的应用场景.
近年来,预训练语言模型(如BERT[8])在各种自然语言处理任务中证明了它们的巨大优势,越来越多的任务开始在原有的工作基础上融合预训练语言模型,并都获得了更好的效果.但是单一的语义特征表示在一定程度上会限制模型对它的理解,当遇到一些特征更为丰富的文本时,模型有可能无法准确理解它们,此时,使用合适的数据增强方法[9-10]在保持标签类别不变的前提下,按照一定的策略改变文本的内容,不仅可以达到文本特征增强的效果,同时可以缓解低资源场景的局限问题.
本文提出了一种文本特征和图结点混合增强的图卷积网络文本分类方法(Maximal-features-enhancement GCN,MfeGCN).该方法在BertGCN[11]的基础上加以改进,一方面改进了单词-文档的边构造方式,使用BM25+算法来计算单词与文档之间的边权重,同时使用一种基于最高得分的同义词替换策略,在使用预训练模型(如BERT)进行微调时,丰富了文档结点的语义表示,在图卷积神经网络中植入使用上述增强策略增强后的文本作为图的增强结点,然后进行构图,图中的结点包括原文档结点、增强文档结点、原单词结点和增强单词结点,旨在结合文本特征方面和图结构方面加以改进,从而优化模型的分类性能.
在4个真实公开数据集进行实验,结果表明MfeGCN模型与基础BertGCN模型以及其它基线模型相比,其表现效果更为优异.
1 文本分类方法综述
文本分类方法可以划分为传统机器学习方法、深度学习方法等.传统的方法有K-近邻、朴素贝叶斯等.随着深度学习技术的发展,越来越多的深度学习模型(如CNN和RNN)被应用到文本分类中.近年来,图神经网络被应用于分类任务并取得了不错的结果.
1.1 传统机器学习文本分类
传统的文本分类方法主要由特征工程和浅层分类算法构成,其中的代表性分类方法有朴素贝叶斯算法、K-最近邻算法、决策树算法和支持向量机等.
朴素贝叶斯(Naive Bayes,NB)[12].朴素贝叶斯算法是一种基于概率统计和特征条件独立性假设的分类算法,其核心思想是通过计算后验概率来进行分类.
K-最近邻算法(K-Nearest Neighbors,KNN)[13].K-最近邻算法是一种基于最近邻样本的分类算法,其核心思想是通过找到与待预测样本最接近的K个训练样本来进行分类.
决策树(Decision Tree,DT)[14].决策树算法是一种基于树结构的机器学习算法,用于解决分类和回归问题.其核心思想是通过构建一棵树来表示特征之间的关系,并根据特征的值进行分割和预测.
支持向量机(Support Vector Machine,SVM)[15-16].支持向量机使用向量空间模型来表示文档,将文档嵌入映射到高维空间,以此将文档表示为高维向量,并将每个文档抽象为高维空间中的一个点,其核心思想是通过构建一个最优的超平面来将不同类别的样本分开.
1.2 深度学习文本分类
相比传统的机器学习文本分类方法,深度学习方法避免了人工设计规则和特征,并能够自动挖掘文本的语义表示,形成一个通过学习直接将特征映射为目标输出的非线性转换过程,将特征工程集成到模型拟合的过程中.主要的代表模型有CNN、RNN、预训练模型和GNN等.
CNN最早由Yann LeCun等于1989年提出,其基本原理是通过多层卷积和池化操作来提取输入数据的特征,并通过全连接层进行分类或回归,卷积操作利用卷积核在输入数据上进行滑动,提取不同位置的局部特征.后来,Kim于2014年提出了TextCNN[3],将卷积神经网络引入文本分类领域,并取得了很好的效果.TextCNN的优势在于其简单而有效的结构,能够捕捉文本中的局部特征,并且具有较好的泛化能力.
RNN是一种具有记忆功能的神经网络,其基本原理是通过在每个时间步上输入当前特征和上一个时间步的隐藏状态,来建模序列中的依赖关系,它使用相同的参数在每个时间步上进行计算,以捕捉特征的时间性质.RNN的隐藏状态可以理解为对先前信息的编码表示,在每个时间步上更新并传递到下一个时间步,因此该网络具有记忆的功能.
预训练模型是指在大规模无标签数据上进行预训练的深度神经网络模型,旨在习得数据中的统计规律和语义信息,这些模型的参数可以作为后续任务的初始参数,通过微调的方式在下游任务的有标签数据上进行训练,从而加速模型收敛、提升性能.代表模型有BERT[8],其通过在大规模无标签数据上进行预训练,学习了丰富的句子表示,包含了上下文相关的语义信息,在自然语言处理(NLP)任务中取得了重大突破,并成为许多NLP任务的基准模型.
近几年来,GNN[7]受到了各个研究领域的广泛关注,GNN模型基于消息传播机制,通过在图结构上进行信息传递和聚合来学习结点的表示,利用邻居结点信息更新自身结点的表示,并通过多轮迭代逐步扩展和融合全局图信息,直至达到某一个稳定状态.而GCN[17]是一种使用了卷积操作的GNN,通过在图上进行卷积操作来更新结点的表示,利用邻居结点的特征进行卷积运算,并将卷积结果作为结点的更新表示.在工业界,GCN也有一些实际应用,例如药物分子设计[18]、疾病诊断[19]、交通流预测[20]和推荐系统[21]等,在自然语言处理领域,实体关系抽取、文本生成、文本分类和机器翻译等方向也都取得了不错的效果.
2 方法
本节所述MfeGCN模型基于BertGCN模型加以改进,包括构建图中边权重的算法和极大特征增强方法以及整个架构的一些步骤和细节.
2.1 BM25-PLUS(BM25+)
BM25算法是信息检索领域一种用于对给定的查询项和若干个相关的文档进行相关性计算后,根据每个文档和查询项之间的相关性得分进行排序的算法.但当遇到一些过长的文档时,BM25算法会面临对该超长文档过度惩罚的问题[22],于是Lyu等提出了BM25+算法[22],该算法在原有BM25算法的基础上,为每一个查询项中出现在文本中的特征项相关性得分设置一个下界δ,此时,即使一个文档特别长,搜索项都至少贡献了一个正常数相关性得分,本文将使用该算法来计算单词-文档之间的边权重,具体的得分计算方式为:
式中:IDF(ai)可以用来表示特征项ai的权重,N表示文档集合中的所有文档数量,n(ai)则表示包含特征词ai的文档数量,其表示为:
子项R(ai,b)表示特征项ai与文档b的相关性得分,k1和δ均为可自由调节的协调因子,一般可取值的范围为k1∈[0.2,4.0]、δ∈[0,1.5],k1用于控制词频对文档匹配得分的影响程度,δ用于缓解对超长文档过度惩罚的问题[23],其表示为:
2.2 PPMI
正点互信息(PPMI)用于计算单词-单词之间的边权重,其思想是统计两个词语在文本中同时出现的频率,频率越高,表示这两个词语的相关性越高,这一方法将全局词共现信息很好地利用了起来,具体的计算方式为:
式中:wins表示滑动窗口的总数,win(a,b)表示单词a和单词b共同出现的滑动窗口个数,win(a)表示出现单词a的滑动窗口个数,P(b)与P(a)同理.
2.3 MfeGCN
图卷积神经网络中,需要将数据集构建成一个图G(V,E)[24],V表示结点,E表示边.当结点a表示单词、结点b表示文档时,使用BM25+来计算边的权值;当结点a和b均表示单词时,使用PPMI计算边的权值;当结点形成自连接的边时,将边的权值表示为1;其它情况定义边的权值为0,图的边权值表示为:
经过上述算法后,文本数据集中的边权重已确立完毕,然后使用预训练模型BERT对所有文档结点进行初始化获得文档嵌入,单词结点嵌入初始化为0,并将它们作为GCN结构的结点嵌入,然后将该图结构输入一个两层的GCN中,每一层的结点特征表示为:
式中:l表示GCN的层数,表示结点加上了自连接边后的邻接矩阵,也就是在邻接矩阵的基础上加上一个单位矩阵,表示图的度矩阵,H(l)表示当前层的特征向量矩阵,W(l)表示第l层的可学习权重矩阵,σ是一个激活函数Relu,将这些计算因子进行计算后便可得到下一层的结点特征表示.经过多次图传播后将GCN最后一层的隐藏层向量作为softmax层的输入,得到文本类别的概率分布为:
式中:当l=0时,X=H(0)表示输入层的特征向量矩阵,E表示结点之间的边,g表示GCN结构,输出结果作为文本的表示,输入softmax层得到所有类别的概率分布.
融合BERT和GCN模块前,先构造一个BERT分类器,使用在下游任务微调后的BERT得到的文本嵌入X,将X输入一个softmax层获得最终的文本概率分布为:
获得BERT的预测概率分布与GCN的预测概率分布后,使用线性预插值法融合两部分的预测.λ是一个可调节的超参数;当λ=1时,表示模型只更新GCN部分的参数;当λ=0时,表示模型只更新BERT部分的参数;当λ∈(0,1)时,根据λ的取值,两个部分将会得到不同程度的权衡.因此,可以通过调节λ值的大小来联合优化BERT和GCN的预测结果,以这样的方式可以加快模型的收敛速度,同时获得更优性能.
最后,使用交叉熵损失函数同时优化BERT和GCN(式(13)),其中:Ctrue表示真实类别,C表示模型预测的类别.
本文在文本分类模型BertGCN的基础上,除了改进其边权重的计算方式外,同时加入了一种基于最高得分的同义词增强策略[25],包括对BERT部分和GCN部分的特征表示增强,通过增强BERT部分的文本语义表示及在GNN中以增加增强结点的方式提高模型的分类性能.首先将训练集样本进行清洗和去除停用词后,分词处理构造出一个训练集词表li,也就是训练集中每一个文档皆由li中的单词构成,然后统计其中每个单词出现次数Nx,并计算该词的出现次数在整个训练集中的占比,得到其分值Sx.
式中:i表示单词的索引且i∈(1,n),n表示词表大小,Ni表示在词表li中第i个单词出现的总次数,通过计算可以得到训练数据中每一个单词的分值.
将训练集的文档个数记为H,文档的索引设置为c,c∈(1,H),w表示文档中的单词,那么训练集中每一个独立的文档可以表示为Dc={w1,w2,···,wm},m表示组成该文档的单词个数.同样的,将一个基于最高得分同义词替换策略处理后的文档表示为Dc′={w1′,w2′,···,wm′},最终的文档表示为DE=Dc+.
对于每一个原文档,首先使用NLTK工具包中的WordNet词典工具获得该文档中每一个单词的同义词集合Synonyms(wα)={s1,s2,···,sk}.其中:α∈(1,m),k则表示词典工具所能获得的同义词数目,然后分别计算集合中每一个同义词的得分:
式中:p∈(1,k),如果同义词在训练集词表li中出现,那么将其分值置为词表中该词的得分,若同义词不在训练集词表中出现,那么该同义词的得分置为0.随后挑选同义词集合中得分最高的同义词替换掉原单词,其定义形式为:
式中:Score={Score1,Score2,···,Scorek} 表示同义词得分集合,经过最高得分同义词替换策略处理的单词进行合并后得到最终的增强文档表示Dc′,基于最高得分的增强策略为:
1)将一个训练集样本Dc做分词处理,并将其转换为一个数组;
2)对于每一个样本数组Dc,获得数组内每一个单词wα的同义词集合Synonyms(wα);
3)计算每个单词的同义词集合中每个同义词的得分Scorep后得到同义词得分集合Score;
4)选择Score中得分最高对应同义词wα′替换掉原单词wα,如果同义词集合为空,那么保持不变;
5)将整个样本数组进行以上步骤后,形成一个新的增强样本数组;
6)将其它的训练集样本分别进行上述操作,得到一批新的增强样本;
7)最后整合原样本Dc和增强样本形成最终训练样本DE.
本文使用的模型结构如图1所示,包括了两大类结点,分别表示文档结点和单词结点.其中:Dc表示文档结点,表示增强文档结点,W表示单词结点.可以使用BERT或者ROBERTA等预训练模型将向量化的文本嵌入作为GCN的输入,经过隐藏层后形成的R(x)为文档或单词x的词嵌入表示.最后,融合BERT模块和GCN模块分别经过softmax后的概率分布,选择概率最高的类别作为最终的预测结果.
3 实验与分析
3.1 数据集
实验使用了文本分类的4个公开数据集,分别是R8、R52、Ohsumed和MR.与Yao等[25]使用相同的数据划分方法划分训练集和测试集,随机抽取训练集中10%的数据作为验证集.
R8:8分类的路透社数据集子集,包括5 485个训练文档和2 189个测试文档.
R52:52分类的路透社数据集子集,包括6 532个训练文档和2 568个测试文档.
Ohsumed:数据由医疗信息数据库MEDLINE中的心血管疾病摘要构成,取其中的7 400篇单标签文档,包括3 357篇训练文档和4 043篇测试文档.
MR:情感2分类的影评数据集,每一篇文档仅由一句评论构成,包括7 108篇训练文档和3 554篇测试文档.
训练模型前,先对数据集进行预处理,使用工具包NLTK去除停用词,再去除数据集中词频小于5的词,数据集中的低频词有可能是一些拼写错误的单词或其它噪声数据,去除此类词可以减少噪声对模型的影响,由于MR数据集的文档长度普遍较短,去除停用词后不再对其作删词处理.
3.2 基线模型
CNN(rand)[3]:以随机初始化的词向量作为卷积神经网络的输入.
CNN(non-static)[3]:使用预训练的词向量作为卷积神经网络的输入.
LSTM[4]:长短时记忆网络,使用随机初始化的词向量作为输入,并使用最后的隐藏层状态作为最终的文本表示.
LSTM(pretrain)[4]:使用预训练的词向量作为该网络的输入,取最后一层隐藏层向量作为文本表示.
TextGCN[26]:文本图卷积网络,将语料库中的文本数据建模成为一个包含文档结点和单词结点的异构图,实现将文本分类转换为结点分类.
SGC[27]:简单图卷积是图卷积神经网络的一种变体,通过去除非线性和在连续层之间折叠权矩阵来降低GCN的复杂性.
BERT[8]:大规模预训练模型,以文本序列作为输入,加载对应领域的预训练模型对下游任务进行微调.
BertGCN[11]:融合预训练模型BERT和图卷积网络GCN,以BERT初始化的词嵌入作为GCN中文档结点的表示,使用插值法结合BERT部分和GCN部分的预测作为最终结果.
3.3 参数设置与评价指标
为了与基础模型BertGCN作性能上的对比,以下提及的一些超参数将与BertGCN在各个数据集中的超参数设置保持一致.首先,将微调阶段的BERT模块的学习率设置为1×10-4,得到所有词嵌入后,进入联合训练阶段,设置联合训练阶段的BERT模块的学习率为1×10-5,GCN模块的学习率为1×10-3,dropout设置为0.5,滑动窗口的大小设置为20,GCN隐藏层的嵌入维度设置为200,使用Adam优化器[28]进行优化.使用插值法融合BERT部分和GCN部分的概率分布时所用到的超参数λ在4个数据集中各有不同,R8数据集中λ的取值为0.7,R52数据集中λ的取值为0.3,Ohsumed数据集中λ的取值为0.9,MR数据集中λ的取值为0.4.
实验使用的评价指标为准确率(Accuracy),表示正确的预测结果个数占样本总数的百分比.
3.4 实验对比
在4个文本分类领域的公开数据集上进行对比实验,模型的性能对比如表1所示,其中加粗部分为最优结果.MfeGCN的表现在4个数据集上的测评结果优于所有的基线模型.在Ohsumed以及MR数据集上的性能提升较为明显,分别达到了2%和1.31%,而在R8和R52数据集上的提升相对有限,我们认为有以下因素.
表1 MfeGCN和基线模型在不同数据集上的分类准确率
从边构造上来看,BM25+算法依赖文档中的词汇来计算相关性分数,如果文档的单词数较少,那么可能导致单词覆盖不充分,在计算边权重时受到一定的限制.
从语义特征上来看,得益于Ohsumed和MR数据集中较为充足的单词量,进行文档增强时所扩展的语义信息将更加广泛,而在R8和R52数据集中,增强文档得到的语义信息则相对有限.
从图结构上来看,数据集Ohsumed和MR中所构成的词汇表的单词数量远多于R8和R52数据集,这样一来,能够提供的外部知识也会相应增多.因此,Ohsumed和MR数据集所构成的图会比R8和R52数据集所构成的图更加稠密,根据GCN的特点,图结点从其邻居结点获取到的特征也会变多.
3.5 消融实验
针对MfeGCN模型的性能效果,又进行了消融实验,首先是包括只改变构图方式而不增加增强结点的模型MfeGCN without E-nodes,还有将MfeGCN模型中构造单词-文档边权重的BM25+算法更换回原BertGCN模型中的单词-文档边权重构造方法TF-IDF,单纯进行文本特征和图结点混合增强,此处记为MfeGCN-T,以及融合了二者的MfeGCN模型本身进行消融实验,结果如表2所示.
表2 消融实验在不同数据集上的准确率
由表2可知,在BertGCN的基础上改进其边构造方式,只使用BM25+算法来计算其边权重后,MfeGCN without E-nodes的性能比原方法有了一定的提升,当仅增强文本和增加增强节点而不改变其边构造方式时,MfeGCNT的性能也比基础模型BertGCN的性能要优,而在BertGCN的基础上既使用新的边构造算法BM25+来构建单词-文档边关系权重,同时进行文本特征和图结点混合增强后,整体性能又有了一定的提升.
3.6 分析与讨论
我们认为MfeGCN取得更好的表现主要有以下原因:
1)BM25+算法是TF-IDF算法的一种改进,对于TF-IDF算法而言,当TF部分的值越大,那么整体返回的值会越大,而BM25+算法针对这一点进行改进,当其TF部分越大,那么整体返回值会趋于一个数值,同时增加了一个用于缓解对超长文档过度惩罚问题的参数.它对于传统TF-IDF算法有一些优势,一方面,考虑了词项频率的饱和度,TF-IDF算法中词项频率的增长通常是线性的,而BM25+算法中词项频率的增长是对数级的,也就是说,对于频繁出现的词项,它们的权重增长会更加缓慢,从而避免了对高频词项的过度偏袒;另一方面,BM25+算法引入了几个可调节的参数k1、b和δ,根据具体的应用场景进行调优,可以更好地适应不同的数据集,提供更准确的计算结果,并且BM25+算法相对TF-IDF只关注词项频率和逆文档频率而言,考虑了文档长度因素,在一些长文档场景下依旧可以表现出很好的性能.由表2可知,仅改进构图方式,MfeGCN without E-nodes模型性能相比基础模型BertGCN有了一定的提升,说明优化构图方式对于最终的模型表现有一定的正面影响.
2)基于最高得分的同义词替换策略引入了原始训练集中不存在的单词,添加了额外的知识,分别对4个训练集进行了统计,包括统计分别组成每个训练集的原始单词个数以及引入的额外单词个数,具体指标如表3所示.由表3可知,使用该方法后,每个训练集都引入了一定的外部单词,这些外部知识在一定程度上提升了模型的泛化性能.由表2可知,当不改变构图方式时,仅对训练集进行特征增强,最终的模型性能得益于外部知识以及同类特征极大化聚合而有了一定的提升.结合两个方面的改进后,模型吸收了它们各自的优势而拥有了更好的性能.
表3 不同数据集非重复原始词个数以及外部词个数
对于同类特征极大化聚合的验证,分别挑选R52和Ohsumed数据集进行实验.所选两个数据集中分别随机选取各自所有类别中的8种类别2次进行验证,每种类别取10条数据,结果如图2和图3所示.颜色越深代表比重越大,随机选取不同的类别后,依然符合同类特征极大化聚合的结论,也就是某个类别中样本的增强文本的替换词大部分来自其同类样本.
图2 Ohsumed数据集随机选取类别组的替换词在该组各类别的占比
图3 R52数据集随机选取类别组的替换词在该组各类别的占比
4 总结
本文基于BertGCN模型进行改进,分别从其构图方式和特征增强方面入手,使用了BM25+算法来计算单词-文档之间的边权重,并且使用了文本特征和图结点混合增强策略对文本进行特征补充及增强.一方面,BM25+算法优化了边的权重;另一方面,增强结点融合了同类知识以及外部知识.
实验结果表明,MfeGCN模型均比其它的基线模型性能好,并且在消融实验中各项结果也体现了各部分改进模块的有效性.未来的工作中,将针对图结构和增强样本进一步改善处理,结合各自优势进一步优化模型,并加以验证分析.