一种融合摘要与主体特征的混合神经网络文本主题分类方法∗

2020-07-13 12:48张伟智陈羽中林涵阳
计算机与数字工程 2020年5期
关键词:语义向量卷积

张伟智 陈羽中 郭 昆 林涵阳

(1.福州大学数学与计算机科学学院 福州 350116)(2.福建省网络计算与智能信息处理重点实验室 福州 350116)(3.江苏实达迪美数据处理有限公司 昆山 215332)

1 引言

文本分类是自然语言处理中一项基本任务,在信息检索、搜索引擎、问答系统、主题分类、垃圾邮件检测、情感分析等领域发挥着十分重要的作用,其研究涉及到信号处理、统计学习、人工智能等研究领域。

国外的研究从20世纪50年代开始,H.PLuhn提出了词频概念,开创了文本分类的研究。至90年代,基于统计学习的文本分类方法成为主流。基于统计学习的文本分类方法所构造的分类模型依赖于人工设计的特征项,这些特征项主要包括词频、TF-IDF、互信息、N-Gram等[1]。应用较早的方法是朴素贝叶斯(Naive Bayes,NB)[2~3],NB 是一种基于概率模型的分类方法,它基于词项之间不存在依赖关系以及词项在文档中出现的位置对概率的计算没有影响的假设,在已知文本属于每个类别的先验概率下,找出具有最大后验概率估计值的类别作为预测类别;K近邻(K-Nearest Neighbor,KNN)算法最初由Cover和Hart于1967年提出[4],算法首先利用传统的向量空间模型将文本内容化为特征空间中的加权特征向量,然后计算测试文本与训练样本集中每个文本的相似度,找出K个最相似的文本,根据加权距离和判断测试文本所属的类别;SVM的应用是文本分类近几年来最重要的进展之一[5],SVM算法通过将数据投射到高维空间,找出一个超平面,将不同类别的数据在高维空间分隔开来,在多项文本分类任务上均取得很好的表现;在SVM的基础上,后续提出了许多改进算法,如Wan[6]等提出了基于KNN和SVM的文本分类方法,有效提高了分类的准确率。

近年来,利用深度学习来建立语言模型的研究思路逐渐走向成熟,大大提升了文本的特征质量。2003年,Bengio等总结出了一套用神经网络建立统计语言模型的框架,首次提出了词向量的概念,随后不断有学者对该理论进一步实现:Mikolov提出的word2vec词向量模型[7],是一种构建上下文与目标词之间关系的神经网络语言模型,根据训练方式的不同,word2vec又分为CBOW和Skip-gram两种模型,其中,CBOW模型通过将一个词所在的上下文中的词作为输入,而该词本身作为输出的方式训练神经网络;Skip-gram则相反,以一个词作为输入,该词的上下文词作为输出来训练神经网络。通过在大规模语料上训练模型,得到了每个词到网络隐含层的每个维度的权重,也就是每个词的向量;Pennington[8]等分析了 Skip-gram 模型能够挖掘出词与词之间线性关系的背后成因,然后通过在共现矩阵上构造相似的条件,得到基于全局信息的GloVe词向量模型。这些词向量模型得到的向量不仅维度低,而且相似语义的词之间的相对距离较小,即词的语义分布在向量的各个维度上,因此词向量目前广泛地应用在各种基于深度学习的模型中。

在词向量作为深度学习输入的基础上,如何将神经网络结构与文本的词向量结合,构建深度神经网络模型,从文本中挖掘更多的语义信息,提升模型的学习能力,成为当前深度学习在文本分类乃至自然语言处理中一项重要挑战。

针对上述问题,本文提出了一种融合文本摘要特征与主体特征的混合神经网络模型HNNSM(Hy⁃brid Neural Network Combining Text Summary and Main Part Features),模型借助词向量的语义信息抽取文本的部分句子作为文本摘要,并对词向量进行聚类,抽取簇中心对应的词作为文本关键词补充到摘要中,然后利用卷积神经网络提取摘要中的局部特征,同时利用长短期记忆网络提取文本的主体特征,将二者级联融合得到文本整体特征来对文本进行学习。在不同文本数据集上的实验结果表明HNNSM能够有效提高文本主体的分类精度。

2 相关工作

近年来,在基于深度学习的文本分类任务中,最为常用的两种深度神经网络为卷积神经网络(Convolutional Neural Network,CNN)与循环神经网络(Recurrent Neural Network,RNN)。卷积神经网络的应用方面,Kim[9]等较早将卷积神经网络用于句子分类,提出了一种经典的网络模型结构,模型以文本的词向量矩阵作为输入,在卷积层中,通过多个不同尺度的卷积核在词向量矩阵上的滑动,计算出输入文本的特征图,然后对这些特征图进行池化操作,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。最后,在全连接层中,利用池化得到的特征及softmax分类器,计算出输入文本在各类别上的概率;Kalch⁃brenner[10]等提出一种具有多个卷积层的深层卷积神经网络对句子语义建模,模型底层的卷积层组合邻近的词语信息,传递到上层的卷积层,上层的卷积层则又组合新的短语信息,利用信息的逐层传递,使得句子中即使相离较远的词语也有相互影响,从而提取出句子中重要的语义信息。对于循环神经网络,标准的循环神经网络由于存在梯度消失及梯度爆炸等问题[11]而较少使用,目前多采用循环神经网络的变体如长短期记忆网络[12]以及门控神经网络[13]等。在网络中,文本中的词按照其在文中的顺序,被处理为一个有序序列,网络中前一个输入的词信息会被传递到下一个输入词的计算中。与卷积神经网络文本分类模型相同的是,循环层的输出最后经过全连接层来计算文本属于各类别的概率。

目前针对文本的深度神经网络建模方法多利用文本中词构成句子、句子构成文本的层次结构关系来构建网络模型。然而,文本的语义信息不仅仅包含在文本的层次结构中,从文本内容中挖掘出更丰富、更有代表性的语义信息仍是当前的研究难点。Zhang[14]等提出字符级的卷积神经网络CharCNN,将文本中的词拆分到字符粒度,该方法在短文本如推文,博客的分类任务中,能够较好地处理文本拼写错误、用语不规范等问题;Tang[15]等提出一种层次神经网络用于长文本分类,将文档按照词,句,文档三个层次依次建模,每个层次通过门控循环单元编码;Zhang[16]等提出一种结合长短期记忆网络和卷积神经网络的模型,该模型先将文本输入至长短期记忆网络初步提取语义特征,然后将长短期记忆网络的输出作为卷积层的输入,进一步提取特征;Conneau[17]等提出一种深度卷积神经网络模型VDCNN,模型具有29层的网络层数,以获取深层的语义信息。上述模型通常将训练文本作为整体输入网络模型中进行学习,未对文本的不同部分进行分析;一些网络模型则通过对文本不同部分赋予不同权重,考虑文本不同部分对分类任务的影响,但是模型对文本不同部分的划分依赖于特定语料本身提供的标注,而大部分文本语料并没有提供此类信息,因此模型的通用性较差。

3 文本摘要特征提取

3.1 文本摘要抽取

文本摘要是对文本的一段概括描述,用少量的句子涵盖文本的主要信息,因此摘要包括了许多关键的语义信息。目前文本摘要算法主要包括抽取式与抽象式两个大类,本文参考文献[18]的抽取式方法抽取摘要,具体过程如下。

对任意一文本D,进行分句和分词处理,并使用预训练的词向量模型将文本中的每个词转换为词向量,如vij∈Rm表示第i个句中的第j个词的词向量,m为词向量的维度。对于每个句子,去除其中的停用词,然后计算句子中词向量的平均值,作为句子向量,计算公式如式(1)。

其中,ni为文本D中第i个句子中词的个数,si为对应的句子向量。

然后,以两句子向量的夹角余弦值,作为句子之间的相似度函数,利用TextRank算法,计算每个句子的得分,计算公式如式(2),(3)。

其中,S(si)为句子 i的得分,d为阻尼系数,sim(si,sj)表示句子i和句子j的相似度。

算法首先为每个句子初始化得分,根据式(2)进行迭代计算,直到句子得分变化小于设定的阈值,停止迭代,按照得分高低对句子进行排序,选择得分最高的部分句子作为文本摘要。

3.2 文本关键词抽取

在抽取摘要后,考虑文本的关键词可能对分类有所帮助,在基于词向量的基础上,利用基于密度的聚类的方法对每一文本D中的词向量进行聚类以获取簇中心来作为关键词,计算公式如式(4)、(5)。

其中,将每一个词向量看作为多维空间的一个点,dij表示点i即第i个词向量和点j即第j个词向量间的距离,dc为截断距离阈值,函数χ统计点距离大于截断距离阈值的个数,ρi为点i在多维空间中的局部密度,δi为点i与具有更高密度的点的距离;同时满足ρi>ρc和δi>δc的点取为簇中心 vc,其中,ρc,δc为设定的阈值。根据经验值,ρc值取(max(ρ)-min(ρ))×0.6+min(ρ),其中,max(ρ),min(ρ)分别 为 数 据 中 ρi的 最 大 与 最 小 值 ;δc值 取(max(δ)-min(δ))× 0.2+min(δ) ,max(δ) ,min(δ)为数据中δi的最大值与最小值。

由于词的语义已体现在词向量的维度中,簇中心代表了与这个簇内所有词最接近的语义,因此将其视为文本的关键词,补充到摘要中去。

3.3 摘要特征提取

本文模型采用卷积神经网络对所抽取的文本摘要进行特征提取,获得文本的摘要特征。

将文本摘要输入到卷积神经网络的输入层,用不同大小的卷积核分别对摘要所对应的词向量矩阵进行局部卷积计算,卷积层的计算公式如下。

其中,A是文本摘要构成的词向量矩阵,A∈Rs×m,s为文本摘要中词的个数,m为词向量的维数,A[i : i+h-1]表示词向量矩阵A位于滑动窗口中的部分,即词向量矩阵的第i行到第i+h-1行,h是卷积核窗口的大小,h取不同值以提取不同粒度的局部特征,从而提取摘要中的关键特征,w是卷积核的权重矩阵,w∈Rh×m;oi是卷积操作的输出,b是偏置项,b∈R,f为激活函数,ci为卷积核在词向量矩阵第i行到i+h-1行的局部特征,其中,i=1,2,…,s-h+1,ci构成特征映射图c。

接下来进行池化层的计算,对不同大小卷积核窗口生成的特征映射图c进行池化操作,这里采取最大池化策略,计算公式如下。

最大池化起到数据降维的作用,且最大池化通过选择特征映射图中的最大值以捕获最重要的特征。

最后将各个特征映射图的池化结果级联,构成文本摘要向量vS。

4 文本主体特征提取

长短期记忆网络(LSTM)是循环神经网络的一种变体,主要用于处理序列数据,已经在众多自然语言处理任务中取得了巨大成功以及广泛应用。长短期记忆网络在处理序列数据时,序列中每个元素的输出不仅与当前的输入有关,而且与之前的状态有关。因此可以把长短期记忆网络当做是有记忆的网络,会对前面的信息进行记忆并应用于当前输出的计算中。本节将详细介绍如何利用长短期记忆网络提取文本的主体特征。

对于每一个句子,将构成句子的词看作一个时序序列(x1,x2,…,xn),xi代表长度为n的句子中的第i个词,然后将词所对应的词向量按照词序依次输入到一个词级别的双向的长短期记忆网络中,对于正向长短期记忆网络,依次输入(x1,x2,…,xn),对于反向长短期记忆网络,则依次输入(xn,xn-1,…,x1);通过长短期记忆网络,计算每个词在前后上下文词的影响下的输出状态,将正向最后一个网络单元的输出与反向最后一个单元的输出级联,得到句子的表征向量;以正向长短期记忆网络为说明,计算公式如下。其中,σ是sigmoid函数,tanh为双曲正切函数,xt为句子中第 t个词,Wi、Wf、Wq、Wo为权重矩阵,bi、bf、bq、bo为偏置项,ht为t时刻的输出,it为t时刻的输入门,ft为 t时刻的遗忘门,ot为 t时刻的输出门,ct为 t时刻的细胞状态,*为按元素乘,vj为第j个句子的向量表示,ns为句子数;为正向最后一个单元的输出,为反向最后一个单元的输出。

接下来,将上一步得到的各个句子向量看作一个时序序列,将句子向量依次输入到一个句子级别的双向的长短期记忆网络中,对于正向长短期记忆网络,依次输入(v1,v2,…,vns),对于反向长短期记忆网络,则依次输入(vns,vns-1,…,v1);通过长短期记忆网络,计算每个句子在前后上下文句子的影响下的输出状态,将正向最后一个网络单元的输出与反向最后一个单元的输出级联,得到文本主体的内容表征向量vM。计算公式如下。

其中,vt表示第t个句子,vM为文本主体特征向量。

5 模型结构

本文模型HNNSM(Hybrid Neural Network Com⁃bining Text Summary and Main Part Features)的结构如图1所示。

将文本摘要向量vS与文本主体向量vM级联,得到文本整体特征向量vT,计算公式如下。

然后,将文本整体特征向量输入到全连接层,并使用softmax归一化,计算文本属于各类别的概率,计算公式如下。

其中,Wfull为全连接层权重矩阵,bfull为偏置项,ffull为激活函数,yi为全连接输出特征的第i维,p(yi)为预测为类别i的概率,0≤p()yi≤1,C为类别的总数。

以真实类别与预测类别的交叉熵为损失函数,使用L2及dropout正则化,通过均方根反向传播法RMSprop作为优化,利用方向传播迭代更新模型参数,以最小化损失函数来训练模型。

图1 融合摘要特征与主体特征的混合神经网络模型

6 实验

6.1 评价指标

实验使用分类准确率(Precision)作为度量标准,准确率公式如下。

其中,n_correct表示模型预测正确的文本总数,n_predict表示模型预测的文本总数。

6.2 参数设置

超参方面,词向量选用Pennington等[8]预训练的GloVe词向量模型,词向量维度100维,本文选取文本句子数的10%取作摘要的句子数,卷积神经网络中,卷积核大小设置为1~5,每种大小的卷积核设置128组;长短期记忆网络中,设置隐层节点数为100,dropout rate设为0.5,L2系数0.01。

6.3 数据集

本文选择AG news、IMDB和DBPdia作为测试数据数据集,其中,AG news是一个新闻主题分类数据集,本文使用Zhang[14]等构建的数据版本,数据分为World、Sports、Business及Sci/Tech四个类别,且已经划分为训练集和测试集,其中,训练集包含120000条新闻,测试集包含7600条新闻。

IMDB是一个电影评论的二分类数据集,分类positive和negtitive两个类别,同样分为训练集和测试集,其中,训练集和测试集均包含25000条影评数据。

DBPdia是一个本体分类数据集,包括Compa⁃ny、Education、Artist等共14个类别,训练集大小为56万,测试集大小为7万。

6.4 实验结果分析

在本节中,通过在不同数据集上对比近几年最新的一些先进的深度学习文本分类模型,验证提出的方法的可行性和有效性。

6.4.1 不同模型对比实验分析

在对比算法中,CNN为Kim[9]等提出的卷积神经网络模型,CharCNN 为 Zhang[13]等提出的基于字符嵌入的卷积神经网络模型,DSCNN为Zhang[15]等提出的一种结合长短期记忆网络与卷积神经网络的模型,VDCNN为Conneau[16]等提出的一种深层的卷积神经网络模型。

从表1可以看出,本文方法在AG news数据上的表现较为突出,在对比的方法中取得了最高的92.29%的准确率,与其他对比方法具有较明显优势;在IMDB数据集上,相比于近年来较先进的方法,取得具有竞争力的表现;在DBPedia数据集上,取得与对比算法中最优结果非常接近的结果。

表1 不同模型在各数据集上的主题精度结果对比表

1)AG news数据集:AG news是新闻主题分类数据集,属于比较正式的文体,因为新闻描述着事件的起因经过,因此文中句子的相关性较强,即语义更多的体现在上下文中。CNN模型将文本所有句子统一归为一个序列进行处理,没有考虑句间的关系,因此可能难以挖掘句间的上下文语义关系,因此表现一般;CharCNN模型同样没有考虑句间的关系,而且仅靠文本的字符信息,可能无法有效学到足够的语义信息,因此表现最差;VDCNN通过构建深层的网络结构以提取深层的语义特征,但仍由于没有考虑句间关系,层数带来的效果有限;HNNSM考虑了句子之间的关系与句内词之间的关系,同时,利用了卷积模型来提取摘要特征,获得了更多的语义信息,因此效果最好。

2)IMDB数据集:IMDB是用户对电影进行评论的文本数据集,因此在文本中可能多出现一些用语不规范的句子,以及使用大量离散的短语作为评论。由于影评数据的这种特性,导致利用长短期记忆网络来进行语义传递的效果不理想,HNNSM相比于DSCNN,同样利用了CNN和LSTM模型,但HNNSM中CNN和LSTM是一种并列级联关系,结果受LSTM部分的直接影响可能较大,CNN中摘要的作用受到限制,导致性能下降;而DSCNN模型中CNN接在LSTM的下一层,借助CNN改善了最后的结果,因此DSCNN在IMDB数据上效果优于HNNSM。

3)DBPedia数据集:DBPedia是本体分类数据集,句子间的上下文关系并不像在AG news新闻主题数据上那样重要,因此HNNSM中LSTM起到的作用不大。该数据上,VDCNN通过层数的优势取得了最高的98.70%,而本文的模型HNNSM层数少于VDCNN,网络复杂度较低,取得十分接近的结果。

另外,与对比算法相比,本文的模型容易实现,网络结构并不复杂,性能能够达到甚至超过一些网络结构更加复杂的深度神经网络模型。

此外,分析实验数据的类型,AG news是新闻主题分类,本文的方法抽取摘要句子及关键词,从直观上,摘要句及关键词包含了许多重要信息,对主题的辨别有帮助;而IMDB数据是情感分类,抽取摘要及关键词的步骤没有专门针对文本情感倾向进行分析,因此可能对情感的极性判断没有太大的帮助,因此效果有限。

6.4.2 摘要抽取影响分析

为验证模型中利用CNN提取摘要特征的有效性,本文进行另外一组对比试验:将HNNSM模型除去CNN部分,只保留LSTM部分提取文本主体特征,将该模型记为LSTMM。表2为HNNSM与LST⁃MM在三个数据集上的对比结果。

表2 摘要抽取步骤对精度影响的实验结果

从表2看出,在AG news和IMDB数据上,HNNSM的性能明显优于LSTMM,而在DBPedia数据上略微优于LSTMM。在AG news数据集上,HNNSM和LSTMM均考虑了句子之间的关系与句内词之间的关系,在该数据上均取得较好的结果,而HNNSM与LSTMM相比,多了卷积模型来提取摘要特征,相当于增加了摘要句在网络中的权重,而摘要句相比其他句子带有更多信息,对于新闻主题的学习有一定帮助,因此准确率提升了0.66%;在IMDB数据集上,文本中可能多出现一些用语不规范的句子,以及使用大量离散的短语作为评论,导致单纯利用长短期记忆网络来进行语义的传递没有太大意义,因此LSTMM在该数据集上表现不好;而用户习惯将情感表达在简短的表达语中,因此基于卷积神经网络的方法可能从中受益。HNNSM模型中CNN部分能够较好地学习影评中的离散短语的语义,因此改善了LSTMM在该数据集上的不足;DBPedia属于本体分类数据集,句子间的语义信息可能相差不大,因此所抽取的摘要作用并不显著,在该数据集上两模型差别不大。

此外通过几个例子来直观观察摘要句子的作用。Ag news中,一条类别为Business的文本抽取出的摘要句为“Oil Hits$46 as YUKOS Cuts China Supply”,单独一个句子就大致锁定到属于商业信息,因此对于主题的分类的判断具有一定作用;在IMDB数据中,其中一篇影评抽取的摘要内容“i dont know why people think this is such a bad mov⁃ie.”,其对类别的判断也是有帮助的。

6.4.3 聚类效果分析

本文还对抽取摘要过程中,加入词向量聚类作为关键词这一步骤的有效性进行了实验。本文在抽取摘要的过程中,不加入词向量聚类的簇中心同样进行了一组实验。表3为实验结果。

表3 词向量聚类步骤对精度影响的实验结果

表3中HNNSM'一行是在抽取摘要的过程中,不加入词向量聚类的簇中心到摘要中的实验结果。从表2中看出,AG news和IMDB数据集上,加入聚类簇中心稍微提高了分类效果,然而并不明显。经分析,词向量本身即带有词向量间距离的大小代表着语义的近似程度,而聚类过程本质上也是词向量间距离的计算,因此发挥的效果并不明显;而在DBPedia数据集上,不加入聚类结果的模型准确率反而更高一些,原因可能在于,DBPedia数据上词的语义较接近,聚类效果不明显,引入了噪声。

6.4.4 模型时间性能分析

为分析模型的时间性能,本文在一台Tesla K80 GPU上对算法模型的训练时间进行了比较。图2为本文模型与对比模型在IMDB及AG news数据集上的训练时间。

从图中看出,CNN模型较简单,训练时间最少;DSCNN和VDCNN两个模型较复杂,训练时间长;HNNSM在训练时间上对于DSCNN及VDCNN具有一定优势。

图2 时间性能对比柱状图

7 结语

本文提出了一种融合摘要特征与主体特征的混合神经网络文本分类方法,该方法首先利用词向量的语义信息抽取文本的摘要句子,然后利用卷积神经网络提取摘要句中的局部特征以及利用长短期记忆网络提取文本主体的上下文时序特征,最后将两种不同特征级联作为文本整体特征进行建模。实验表明,相比于基准方法,本文方法融合了文本摘要中的关键局部信息和文本主体内容上的上下文时序信息,有效提高了基于深度神经网络在文本主题上的分类准确率。目前,基于深度学习的方法在文本摘要抽取上逐渐成熟,未来的工作将考虑把摘要抽取的步骤也融入深度神经网络模型中,提升摘要的质量,以及在词向量聚类中引入去噪的方法,以解决加入聚类结果可能产生噪声的问题,进一步改善模型。

猜你喜欢
语义向量卷积
基于全卷积神经网络的猪背膘厚快速准确测定
真实场景水下语义分割方法及数据集
向量的分解
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线