一种基于图注意力网络的短文本分类方法

2021-11-10 12:28屈亮亮
关键词:集上短文神经网络

屈亮亮,侯 霞

(北京信息科技大学 计算机学院,北京 100101)

0 引言

文本分类是自然语言处理领域内的核心技术之一,它能够完成文档所属标签的预测,广泛用于情感分析、邮件过滤和舆情监测等[1]。传统的文本分类方法依赖人工定义的特征如N-gram(N元模型)、词频—逆文本频率指数(term frequency-inverse document frequency,TF-IDF)和词袋模型(Bag-of-words)等对文本进行表示,然后训练分类器如支持向量机[2]、贝叶斯分类器[3]和K-近邻[4]等进行类别预测。但是,这些表示方法容易产生特征维度过高并且稀疏的问题,而分布式表示通过将文本中的词汇映射至低维且稠密的向量空间,便于利用向量间的距离来衡量词汇间的语义相似度。基于深度学习的文本分类方法已经取得了较为先进的识别效果。其中卷积神经网络[5]和循环神经网络[6]是两类关键的模型,后续方法多基于它们提升分类准确率。卷积神经网络能够关注局部信息,通过多层神经网络可以提取到高层次的特征。循环神经网络能够捕捉词汇间产生的依赖信息,适合处理序列数据。

深度学习相比传统方法缓解了对人工构建特征的依赖,在文本分类任务中实现了不错的识别效果。Kim[5]提出使用不同尺寸的卷积核来提取类似于N-gram的句子特征。Kalchbrenner[7]提出利用k-max pooling(k最大池化)处理不同长度的句子输入,随着层数的增加模型能够考虑句子中相距较远的词汇间的语义依赖。Zhang等[8]提出通过字符级的卷积网络用于文本分类。Lai等[9]使用循环神经网络来捕获上下文信息,然后将前向隐藏状态、词向量和后向隐藏状态连接起来送至最大池化层,以获得文本中最重要的信息。Lin等[10]使用双向长短期记忆网络(long short term memory,LSTM)和自注意力机制将句子编码为固定大小的表示用于分类。Lee等[11]提出了一种短文本分类模型,它在文本每个方向上使用LSTM,然后对所有LSTM隐藏状态进行最大池化以生成句子表示,最后通过多层感知器输出分类结果。

标准的神经网络在处理图结构数据时一般需要将图中的节点和边按照一定顺序进行排序,丢失了原有的结构信息。图神经网络通过节点间的消息传递来获取图中的依赖关系,诸多研究人员将其用于解决在具体任务遇到的问题。Kipf等[12]提出一种多层图卷积神经网络,它直接对一个图进行操作,根据节点邻域生成向量表示,在多个图数据集上都有很好的表现。Velickovic等[13]提出图注意力网络,利用自注意力层为相邻节点分配不同的重要权重。Schlichtkrull等[14]提出关系图卷积网络并应用在实体分类和链接预测中。Sui等[15]使用图神经网络来捕捉文本中的词汇知识,在命名实体识别数据集上验证了模型的有效性。Zhu等[16]提出利用语句生成图神经网络的参数,使模型能够对非结构化文本输入进行关系推理。

图神经网络已经被用在文本分类任务中。Yao等[17]提出基于词汇间的共现关系和文档与词的关系为语料库建立一个单一的文本图,然后通过图卷积网络学习节点表示,将文本分类任务当作一个节点分类任务。他们通过对语料库中的所有文档使用固定大小的滑动窗口来收集词汇共现统计值,然后利用点式互信息(pointwise mutual information,PMI)来计算两个词节点之间的权重。而文档节点和词节点之间的边上的权重是文档所包含词的TF-IDF值。Huang等[18]提出为每一篇文档单独构建一个图,为在一定窗口内相邻的词汇间连接一条边,相比于为整个语料生成一个大图,能够减少存储消耗并且能够处理新的数据。Zhang等[19]提出在为每篇文档构建图时考虑一定窗口内词汇共现关系来创建边,并利用门控图神经网络来更新节点信息,使得模型能够捕捉文档中的上下文关系并实现对新词的归纳学习。

针对短文本包含的词汇数量较少、存在错别字和特征稀疏等问题,本文提出利用短文本中包含的字与可能出现的词构成图结构的数据,并利用注意力机制来减弱无关数据的影响,提出基于图注意力网络学习两个方向上的节点表示来进行短文本分类。

1 短文本分类方法

本文提出一种基于图注意力网络的短文本分类方法,其主要由3个模块组成:文本图的构造、文本图的节点表示学习与图级别特征的生成。

1.1 文本图的构造

在词汇非连续出现和距离间隔较长情况下,将文本看作一个图形结构的数据有助于学习词与词相互作用的信息。

本模块的目的是将整个短文本转化为一个有向图。文本图中的节点代表一个字符或者词汇,节点间的边由词汇与其包含的开始字符和结束字符连接而成,如图1所示。图1给定一个短文本S={x1,x2,…,xN},xi代表第i个字符,预先构建的词典中与字符子序列匹配的潜在词汇可以表示为wse={xs,xs+1,…,xe-1,xe},ws表示词汇wse的第一个字符,we表示最后一个字符。我们通过一个有向图G=(V,E) 对短文本建模,V和E分别指节点与边的集合,V中的每个节点都是唯一的。只要由一段连续字符序列组成的词汇在词库中出现,就将有序对(xs,wbe)和 (wbe,xs)作为边添加到E中。节点的嵌入表示通过字或词向量进行初始化,并在文本图的节点表示学习模块不断更新。

图1 文本图生成实例

1.2 文本图的节点表示学习

标准的神经网络只能够处理欧几里得数据。图注意网络是一个很好的图分析工具,在被认为具有丰富关系结构的任务中是有效的,能保存图的全局结构信息、过滤噪音数据。

为每个短文本生成一个图结构的数据之后,节点信息在这个阶段将被传播与整合。注意力机制在多个自然语言处理任务中实现了较好的效果提升。图注意力网络在前向传播阶段引入注意力机制,能够适应具有不同度数的节点,模型通过自注意力机制来计算每个节点的隐藏状态。本模块使用图注意力网络去学习各个节点的表示,节点可以从相邻节点接收信息,然后与自身的特征合并进行更新。

图注意力网络输入的节点特征集为H={h1,h2,…,h|V|},hi∈F,|V|是节点的个数,F是节点特征向量的维度。图注意力网络产生的输出为F′。自注意力机制中节点对(i,j)间的相关性:

αij=

(1)

经过一次非线性变换,节点最新的特征向量为

此外,为了稳定模型学习过程,使用3个独立的注意力机制来计算节点的隐藏状态,之后计算平均值作为节点最终的表示:

(3)

式中αijm是由第m个注意力机制计算的归一化注意力系数。

1.3 图级别特征的生成

最终将节点在两个有向图中更新后的隐藏状态进行拼接,并使用最大池化(Maxpool)来获取最重要的节点数据:

(4)

最后,文本图特征g被送往多层感知机并经过Softmax层产生了短文本所属类别的概率分布。通过交叉熵函数使模型的损失最小化,并加入L2正则化项防止模型过拟合:

(5)

式中:D为数据集中短文本的个数;L为短文本的标签;yij为短文本的真实标签;pij为模型预测短文本为相应类别的概率值;λ‖θ‖2为正则化项。

2 实验

2.1 数据集

为了验证本文所提出的基于图注意力网络的短文本分类方法的有效性,使用到的3个数据集为:

微博情感分析数据集[20]:数据来源于NLPCC2015评测任务,包括了7种情感,如生气、惊讶、悲伤等。

THUCNews数据集[21]:根据新浪新闻RSS订阅频道2005-2011年间的历史数据筛选过滤生成,在原有的分类体系上重新划分产生了14个候选类别。为了适合短文本分类任务,选择将文章标题作为实验数据。

中文新闻标题分类数据集[22]:数据来源于NLPCC2017评测任务,从头条、新浪等几家中国新闻网站收集了新闻标题,总共有18个类别。

本文在所有的数据集上进行了分词和去停用词处理便于对比模型使用。由于THUCNews数据集数据量比较大,在实验中仅保留了部分数据。经过预处理的数据集统计信息如表1所示。

表1 数据集总体统计情况

2.2 对比模型介绍

本文提出一种基于图注意力网络的短文本分类方法(A short text classification method based on graph attention network,STGAT),并选择文本分类任务中常用的5个深度学习模型进行对比实验,分别为CNN、BiLSTM、FastText、BiLSTM-MP和RCNN。这些模型基于循环神经网络或卷积神经网络实现了较好的分类效果,一般被用作基线模型来评估其他方法的好坏,模型的概要介绍如下:

CNN[5]:该模型第一次将卷积神经网络用在文本分类任务中,使用预训练的词向量,是文本分类任务中的一个基线模型。

BiLSTM[23]:双向LSTM能够获取词汇间的依赖信息,且相比于单向LSTM能够更好地提取文本的上下文特征。

FastText[24]:一个高效的文本分类方法,模型不需要使用训练好的词向量初始化,且比一般的神经网络训练速度更快。

BiLSTM-MP[11]:该方法提出一个短文本分类模型,使用BiLSTM提取短文本的语义信息并通过最大池化来选择对预测最有用的特征。

RCNN[25]:模型采用循环卷积神经网络进行文本分类。它利用RNN捕捉文本中的上下文信息,CNN捕捉文本中的关键成分。

2.3 实验设置

本文采用在人民日报数据集上训练好的Word2Vec模型来初始化节点向量,维度为300,如果一个字或词是未知的,则随机初始化它的向量。模型使用Adam作为优化算法,学习率设置为0.001,batch大小设置为32,训练迭代最大次数为20。对数据集按照8∶2∶2的比例划分为训练集、验证集和测试集。

2.4 实验结果及分析

2.4.1 模型在测试集上的准确率

表2展示了本文算法与5种文本分类基线模型在3个测试集上的准确率。

表2 模型在测试集上的准确率 %

由表可知,STGAT在3个数据集上的表现都好于一般的深度学习模型,尤其是在微博数据集上有约10%的准确率提升,说明本文提出的方法有助于短文本的处理。

BiLSTM在THUCNews和新闻标题数据集上的表现要好于CNN,CNN关注短文本中的局部信息,而双向LSTM能够更好地捕获上下文语义。BiLSTM-MP测试准确率比BiLSTM稍高,是因为BiLSTM-MP利用到序列中所有的隐藏状态并使用最大池化的方式来筛选最重要的特征。FastText使用N-gram和词袋模型作为文本特征,在数据集上实现了不错的准确率。RNN虽然能够较好地处理序列数据,但也容易使得一个句子中越靠后出现的词汇拥有越高的重要性,而CNN能够无差别地学习句子表示,RCNN将二者结合,在各数据集上的分类效果较好。

本文方法的优势是:1)为每个短文本构建了一个文本图,使得句子间相隔较远的词汇节点间存在路径。2)利用图注意力网络学习节点间的依赖信息,并通过注意力机制有效地过滤了短文本中存在的噪音数据。

2.4.2 训练数据量对于模型分类效果的影响

为了分析有标签数据对于模型的影响,本文在THUCNews数据集上用不同比例的训练数据测试了CNN、RCNN和STGAT三个模型的分类效果。分别使用THUCNews数据集1%、5%、10%、20%、40%、60%和80%的训练数据得到3个模型在测试集上的准确率如图2所示。

图2 THUCNews训练数据占比对不同模型的影响

由图可知,STGAT能够在有限的数据上实现最高的分类效果。它仅使用40%的训练数据就能够达到87%左右的准确率,这比CNN和RCNN模型使用80%的标注数据训练出来的效果还要稍好一些。说明本文提出的方法具有较强的泛化能力。

2.4.3 短文本表示的降维可视化

本文使用t-SNE[26]可视化由STGAT学习到的短文本表示。图3~5显示了STGAT在微博、THUCNews和新闻标题数据集上学习到的文本嵌入在二维空间上的可视化,横坐标为a,纵坐标为b。由图可见,具有相同标签的短文本彼此接近,这意味着大多数文本表示都与相应的文档类别密切相关。此外,能够观察到STGAT可以学习更多的具有区分性的短文本表示。

图4 THUCNews文本表示在二维空间的可视化

图5 中文新闻标题文本表示在二维空间的可视化

3 结束语

本文提出一种基于图注意力网络的短文本分类方法,使用短文本中包含的字与词汇生成一个文本图数据,而后使用图注意力网络来学习节点间的关联信息,并通过注意力机制来减弱噪音数据的影响。模型在数据集上的表现优于一般神经网络,证明了该方法对短文本中的字—词关系和语义建模的有效性,它能够学习到不错的文本向量表示,具有较好的泛化能力。短文本存在缺少上下文信息的问题,后续工作中可以尝试融入外部知识来提升分类效果。

猜你喜欢
集上短文神经网络
基于双空间模糊邻域相似关系的多标记特征选择
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
关于短文本匹配的泛化性和迁移性的研究分析
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
KEYS
Keys
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
师如明灯,清凉温润
短文改错