文本分类是自然语言处理领域的核心与基础性任务,即利用文本处理技术对一段文本片段进行分析,将其映射到预设的一个或多个类别中,可以用公式表示为𝒳→y,其中:𝒳为一个文本片段;y∈[0,1]k为对应的类别标签.文本分类应用非常广泛,如垃圾邮件检测[1]和情感分析[2]等都可归为文本分类任务.现有文本分类方法分为传统机器学习和深度学习方法两大类.传统机器学习方法处理流程包括文本预处理、特征提取和分类器设计.文本预处理是将文本分割成语义单元,转化成计算机可处理的数据形式.特征提取是抽取最能表征文本含义的关键信息,主流特征提取方法有词袋模型、词频-逆文档频率(TF-IDF)模型和主题模型等.然而,传统机器学习方法存在一定弊端,如须要人工进行特征工程、处理耗时且效率较低、文本的特征表示稀疏等问题[3].随着深度学习技术涌现并迅速发展,文本分类研究逐渐从传统机器学习方法转向深度学习方法.与传统机器学习方法相比,深度学习方法避免人工设计规则和特征,并以端到端的方式学习文本的语义表示.TextCNN模型[4]将卷积神经网络应用到文本分类任务中,利用多个不同尺寸的卷积核提取句子中关键信息,捕捉文本特征的局部相关性,但是TextCNN模型无法建模更长的序列信息,且滑动窗口大小不容易确定.TextRNN模型[5]利用循环神经网络捕捉长距离语义关系,能够更好地表达上下文信息.然而,TextRNN模型属于有偏模型,模型训练中后输入的单词会比先输入的单词更重要,模型偏差会降低分类效果.近年来,将深度学习扩展到图结构上的研究得到广泛关注,图神经网络模型应运而生.图神经网络将图和图节点映射到低维空间中,学习图和图节点的特征表示.由于图数据结构的普遍性及图神经网络在图数据上强大的表征能力,图神经网络已经应用于人工智能各个领域,包括计算机视觉、自然语言处理和交通网络等[6].作为图神经网络中的经典模型,Kipf等[7]提出的图卷积网络(graph convolutional network,GCN)被成功应用于文本分类任务中.Yao等[8]提出的TextGCN模型基于词共现和文档-词关系构建语料库上的无向加权异质图,并运用GCN学习文本表示.TextGCN模型能够分析文本复杂的语法结构,捕获文本的结构信息与单词间的长距离依赖关系.然而,TextGCN模型存在着全局上下文信息提取不充分的问题,且TextGCN模型具有转导性,测试样本须在训练阶段可见,因此不能用于预测一个全新文档[9].本研究提出了一种基于张量的残差图卷积网络(tensor-based residual graph convolutional network,TRGCN)模型.模型采用归纳学习方式解耦文档与单词关系,解决TextGCN的转导性问题;然后使用三种文本分析方法提取词交互关系构建图的边,边的权重设置为相同的值,解决TextRNN的模型偏差问题.利用张量对文档的高阶上下文信息进行建模,构建多关系图邻接张量,提取文本中更丰富的全局上下文信息,并设计张量残差图卷积操作,缓解深层图卷积网络存在的过平滑问题,使模型能学习更远距离的词交互关系,解决TextCNN模型无法建模长序列问题.1 张量残差图卷积网络模型1.1 GCNGCN可视为卷积神经网络在图域上的推广形式.图由一系列节点及其相互关系组成,可表示为𝒢=(𝒱,ℰ,A),其中:𝒱(𝒱=N)为图的节点集合,N为节点数量;ℰ为图的边集;A∈RN×N为图的邻接矩阵.GCN使用图传播规则学习图结构及节点特征表示,常用的图传播规则可以表示为H(l+1)=f(H(l),A)=σ(A^H(l)W(l)), (1)式中:H(l)∈RN×d为第l层的节点特征向量,d为节点特征维度;A^为对邻接矩阵A进行自连接和对称归一化处理后得到的矩阵,A^=D˜-12A˜D˜-12,其中A˜=A+I,I为单位矩阵,D˜为节点度矩阵,D˜(i,i)=∑jA˜(i,j),i,j∈{1,2,⋯,N};W(l)为第l层的训练参数;σ(⋅)表示非线性激活函数.1.2 转导学习与归纳学习构建图时,转导学习与归纳学习是两种不同的学习方式.在转导学习设定中,整个语料库被视为一个大图,图中的节点包括文档或单词,如图1(a)所示.转导学习方式能学习文档的全局表示,分类准确率较高,但存在易忽视文档局部特征的问题,且训练集和测试集数据必须都在图中可见,当语料库文档数量发生变化时,须要重新训练模型.在归纳学习设定中,每个文档单独视为一个图,文档中的单词构成图中的节点,如图1(b)所示.与转导学习相比,归纳学习更易挖掘文本的局部信息与全局特征.对于新加入的文档,可以直接将文档对应的文本图输入到先前学习的模型中,避免重新训练模型.TRGCN中采用归纳学习方式.10.13245/j.hust.230222.F001图1转导学习方式与归纳学习方式对比1.3 邻接张量定义邻接张量是图邻接矩阵的高阶扩展形式,可以表示为𝒜=(A1,A2,⋯,AR)∈RN×N×R, (2)式中:𝒜为由多种关系构建的图邻接矩阵拼接而成的图邻接张量;Ar∈RN×N,r∈{1,2,⋯,R}为第r个关系下的图邻接矩阵,R为文档中上下文关系的数量.1.4 高阶词交互关系抽取构建图邻接张量时,须要先提取语料库中文档的高阶词交互关系,包括句法、语义和序列三种上下文关系.1.4.1 句法关系抽取句法关系用来分析句子成分及各个成分之间的关系.首先将文档划分为多个句子,然后使用Stanford CoreNLP Parser[10]提取每个句子中单词间的句法依赖关系,最后汇总这些句法依赖关系构成文档中所有单词的句法依赖关系,即Rsyntactic(m,n)=Csyntactic(m,n)C(m,n), (3)式中:Rsyntactic(m,n)为单词m和n之间的句法关系的权重;Csyntactic(m,n)为在整个语料库中单词m与n存在句法关系的次数;C(m,n)为在整个语料库中单词m与n出现在同一句子或文档中的次数.1.4.2 语义关系抽取使用潜在狄氏分配从语料库中挖掘语义关系.首先选择文档类别的数量作为主题的数量,然后选择概率最高的前K个单词提取每个文档中单词之间的语义关系.构建语料库中所有单词语义关系过程为Rsemantic(m,n)=Csemantic(m,n)C(m,n), (4)式中:Rsemantic(m,n)为单词m和n之间语义关系的权重;Csemantic(m,n)为在整个语料库中单词m与n存在语义关系的次数.1.4.3 序列关系抽取使用滑动窗口和逐点互信息(point-wise mutual information,PMI)提取文档中的序列关系.滑动窗口用于计算窗口中单词的共现次数.PMI是两个对象之间相关性的度量,可以用来揭示单词之间的序列关系.构建语料库中所有单词序列关系过程为RPMI(m,n)=logp(m,n)p(m)p(n), (5)式中:RPMI(m,n)为单词m和n之间的序列关系的权重;p(m,n)=Cseq(m,n)/Cseq, (6)其中,Cseq(m,n)为包含单词m和n在滑动窗口中的共现次数,Cseq为文档中滑动窗口的数目;p(m)=Cseq(m)/Cseq, (7)其中Cseq(m)为包含词m的文档中滑动窗口数目.1.5 张量残差图卷积网络结构本研究在GCN的基础上提出了一种基于张量的残差图卷积网络模型处理文本分类任务,模型结构如图2所示,图中L为计算的交叉熵损失值.10.13245/j.hust.230222.F002图2张量残差图卷积网络模型分为四部分.第一部分,抽取词之间的句法、语义及序列关系,以归纳方式构建图.第二部分,提出一种张量图卷积层(tensor graph convolution layer,TGCL)提取文档的高阶上下文信息.GCN中的图卷积操作只适用于在邻接矩阵上进行图传播,仅能学习同一种关系内的节点表示,忽视了不同关系下的节点特征交互.为同时学习同一关系内和不同关系间的节点交互关系,提取更高阶的上下文信息,本研究提出了基于张量乘法的图卷积操作,用于邻接张量上的图传播过程.张量图卷积操作可以表示为O=𝒜×H1; (8)H=O×W1,20,1, (9)式中:W∈Rd×R×d'为可训练参数,d'为隐藏层输出维度;×1和×1, 20, 1分别为张量单模乘和多模乘操作.式(8)用于聚合关系内和关系间邻居节点特征;式(9)通过训练学习图节点表示,输出隐藏层特征.通过叠加多层TGCL来聚合更远距离的邻居节点特征,但是TGCL层数增多,会导致节点输出特征过度平滑,使得网络无法区分不同类别的节点[11].叠加的TGCL层数须根据具体任务来确定,本研究中经验地设置TGCL层数为3层.为解决多层图卷积层叠加引起的过平滑问题,基于残差网络思想[12]设计了跳跃连接机制以加深网络深度,缓解模型退化问题,使得信息前后向传播过程更加顺畅.跳跃连接机制可以表示为Hr=F(H)+H, (10)式中:H为残差块的输入特征;F(H)为多层TGCL特征映射;Hr为残差块的输出特征.第三部分,设计图读出模块,运用软注意力机制学习节点特征权重,使用平均池化和最大池化提取图的全局表示,即Hα=WαHr+bα; (11)Hβ=WβHr+bβ; (12)Hout=11+e-Hα⊙eHβ-e-HβeHβ+e-Hβ; (13)H𝒢=1N∑i=1NHiout+maxi=1NHiout, (14)式中:Wα和Wβ为全连接层训练参数;bα和bβ为全连接层偏置项;Hα和Hβ为全连接层输出特征,Hout为软注意力机制学习特征;H𝒢为图的全局表示;⊙表示哈达玛积(Hadamard product).最后,将图的全局表示输入到softmax函数中进行分类,使用交叉熵函数作为分类损失函数,Z=WoH𝒢+bo; (15)y^b=softmax(Zb); (16)L=-∑byblog(y^b), (17)式中:Wo和bo分别为全连接层训练参数和偏置项;Z为全连接层输出特征;y^b为第b个样本归属每个类别的概率;yb为第b个样本的真实标签.2 实验2.1 实验数据集为评估TRGCN在文本分类任务中的性能,在两个广泛使用的公开数据集上进行对比实验:R8是路透社数据集的子集,包含8个类别,分为5 485个训练集和2 189个测试集;MR是二元情感分类任务电影评论数据集,包含5 331条正面评论和5 331条负面评论.两个数据集的信息见表1.10.13245/j.hust.230222.T001表1实验数据集信息数据集文档数训练集测试集分类数每个文档最大词数每个文档最小词数每个文档平均词数R87 6745 4852 1898291441.25MR10 6627 1083 554246118.462.2 基线算法为评估TRGCN的有效性,选取文本分类领域5个经典分类算法进行对比.a.LSTM[5]:长短时记忆网络,该模型使用最后一个隐藏状态作为文本的表示.b.FastText[13]:将单词嵌入的平均词或n-gram嵌入作为文档嵌入,然后将文档嵌入输送到线性分类器进行分类.c.SWEM[14]:一种基于词嵌入的文本分类模型,该模型采用词向量池化方法获得文本表示.d.LEAM[15]:利用标签描述将单词和标签嵌入到同一个联合空间中进行文本分类.e.TextGCN[8]:将单词和文档作为节点构成文本语料库大图,使用GCN提取文本表示.2.3 实验参数与评估指标本文方法基于Pytorch实现,运行环境为Intel Xeon Gold 6234,GPU为Nvidia GeForce 3090.在训练过程中,使用Adam优化器进行训练,学习率根据经验设置为0.001,L2权重衰减设为5×10-5.单词嵌入采用预训练的GLoVe[16]作为输入特征,不在词汇表中的词用均匀分布中随机采样的向量代替,词嵌入维度设为300.为保证对比公平性,其他基线方法采用同样的词嵌入设置.使用dropout机制,dropout参数设为0.4.采用准确率作为模型性能评估指标,即分类正确的样本数占样本总数的百分比.2.4 实验结果分析2.4.1 分类准确率对比表2为TRGCN和5种基线方法的分类准确率比较.可以看出:TRGCN通过抽取多种上下文关系,并运用张量图卷积操作融合多种上下文信息,取得了优于其他方法的分类效果.10.13245/j.hust.230222.T002表2分类准确率比较对比方法R8MRLSTM93.68±0.8275.06±0.44fastText96.13±0.2175.14±0.20SWEM95.32±0.2676.65±0.63LEAM93.31±0.2476.95±0.45TextGCN97.07±0.1076.74±0.20TRGCN97.26±0.1577.75±0.12%2.4.2 参数敏感性图3为使用不同维度的词嵌入情况下模型准确率的变化趋势,图中:ξ为准确率;dc为词嵌入维度.从图3(a)中可以发现:在R8数据集上,当词嵌入维度为50,100和200时模型准确率变化不大,当词嵌入维度为300时,准确率有显著提升.在图3(b)中,模型准确率随词嵌入维度增大而线性增大,可见在MR数据集上,模型受词嵌入维度变化的影响明显.10.13245/j.hust.230222.F003图3不同词嵌入维度下模型准确率变化2.4.3 消融分析在两个数据集上开展消融实验,分别去除句法关系、语义关系和序列关系中的一种关系,实验结果如表3所示.可以看出:句法+序列+语义关系组合在两个数据集上的分类准确率最高,分别为77.04%和97.44%,相较于语义+序列分别提高了0.2%和0.41%,说明抽取的三种关系都起到一定作用,能进一步提升模型的表达能力.10.13245/j.hust.230222.T003表3消融实验准确率比较词交互关系R8MR句法+语义96.3076.50语义+顺序97.0376.84句法+顺序96.8975.89句法+顺序+语义97.2677.75%2.4.4 内存消耗对比TRGCN与Text GCN模型运行时的内存消耗,结果如表4所示,其中数据集的批量大小设置为128.研究结果表明:在设置同样样本批量大小的情况下,TRGCN的内存消耗小于TextGCN,原因是TRGCN使用归纳学习方式构建图,图的节点规模与语料库样本数无关,只与语料库中词汇表大小有关,而TextGCN构建的图节点规模与语料库样本数及词汇表大小都有关.10.13245/j.hust.230222.T004表4模型内存消耗对比数据集TextGCNTRGCNR89 9791 110MR3 3381 100MiB2.4.5 可视化分析使用t-分布邻域嵌入(t-SNE)分别对TRGCN和TextGCN在R8测试集上学到的文本特征进行可视化展示,如图4所示.图中一个点表示一个文档,每种颜色对应一种标签.可以看出:TRGCN和TextGCN生成的可视化结果都有部分点存在重叠,原因是这些点所表示的信息在特征空间比较近似,不易区分,但TRGCN生成的可视化结果中重叠程度明显要低于TextGCN,且不同颜色的点之间距离较远,说明TRGCN学习到的文本特征优于TextGCN.10.13245/j.hust.230222.F004图4R8测试集上的t-SNE可视化展示3 结语本研究提出一种基于张量残差图卷积网络模型的归纳式文本分类方法,将文档视为单个图,单词视为图节点,以此解耦单词和文档的依赖关系.利用单词间的句法、语义和序列关系构造邻接张量,提出张量图卷积操作来学习高阶词交互关系.通过广泛实验证明了方法的有效性.在未来工作中可尝试提取其他词交互关系,并加入关系间注意力机制.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读