《武汉工程大学学报》  2020年05期 563-567   出版日期:2021-01-29   ISSN:1674-2869   CN:42-1779/TQ
大型空气球罐开孔结构的强度评定及疲劳分析


商品评论情感分析的主要方法是文本情感分析,文本情感分析[1]又称意见挖掘,是对大量的个人发表的关于商品、服务、热点话题及社会事件的观点进行分析,并处理、归纳和推理这些观点的属性、情绪、评价和态度。情感分析通过分析文本中所表达的不同情绪,根据它的情感极性进行分类[2]。情感分析应用领域广泛,例如在商业领域,公司可以通过分析用户在社交媒体上的反馈和评论,来了解用户对产品的评价。文本情感分析的研究方法主要有两大类,分别是基于情感词典的方法和基于机器学习的方法[3]。深度学习是一项学习数据的多层特征或表征的机器学习技术,其在计算机视觉、语音识别、自然语言处理等诸多领域都有目前最好的成果。近年来,深度学习具有诸多领域的应用案例,许多学者也将其应用于情感分析问题的研究[4]。Mikolov等[5]在文本分类的研究中侧重于基于词嵌入的深度学习模型,提出了Word2vec模型。最近的研究表明,一个有效的词嵌入可以使基于深度学习的文本分类方法的准确率得到很大的提升[6]。Kim等[7]使用卷积神经网络(convolutional neural network,CNN)进行句子分类,将计算机视觉中的CNN应用到了文本分类上。Zhang等[8]设计了字符级CNN,提出一种新的文本处理体系结构并取得良好的效果。Wang等[9]提出深度耦合形容词与名词神经网络(deep coupled adjective and noun neural network,DCAN)。DCAN分别将形容词性文本描述和名词性文本描述看作两个弱监督信号,学习两个中间情感表征,并结合学习的情感表征进行情感分类。Liu等[10]使用循环神经网络(recurrent neural network,RNN)的变种,长短期记忆网络(long short-term memory,LSTM)来学习文本表示。Bahdanau等[11]最早提出了注意力机制理论,后续的研究将注意力机制作为一个组成部分添加到各种文本分类模型中,使得这类模型的表示灵活性和准确率得到了进一步提高。此后Johnson等[12]提出的基于CNN的深度金字塔卷积神经网络(deep pyramid convolutional neural network,DPCNN)和Vaswani等[13]提出的基于注意力机制的Transformer模型均在文本分类问题上有突出的表现。尽管上述这些方法可以有效地提取文本局部连续词序列的信息,但是容易忽视语料库中词共现信息。基于图数据的深度学习方法也有了较大的发展。Kipf和Wlling[14]提出图卷积网络(graph convolutional network,GCN),GCN与其他图神经网络相比会更加简洁高效。许多研究者已将GCN应用于自然语言处理领域,例如Bastings等[15]将GCN层合并到标准编码器中,用于机器翻译工作。在最近的研究中,Yao等[16]将GCN应用到了文本分类问题上,其结果相较于其他优秀的方法有着显著的提升。在使用图神经网络处理文本问题时,通常是将语料库中的单个文档或句子当作图的节点[17]。相反,在构建语料库图时,将文档和单词都当作节点,且没有建立文档和文档之间的关系,将其构造成一个大型异构文本图来利用语料库中词共现信息。首先利用GCN对建模好的文本异构图进行特征提取,然后在样本标签的监督下,同时学习词和文档的分布式表示。在其基础上添加LSTM层,可有效地捕捉文本局部连续词序列信息。再引入注意力机制,抓取重要特征并剔除不重要的信息。本文工作有以下几点:1)探索了在使用GCN 利用词共现信息的基础上添加传统的LSTM 并引入注意力机制以提高模型捕捉文本局部词序列信息的思路。2)使用该方法进行商品评论情感分析,采用网上公开的关于洗发水的评论数据集,在正确率和F1 值这2个指标上相较于LSTM 分别提高了2.57% 和2.59% ,与GCN 相比分别提高了0.77% 和0.77% 。1 MGCNN引入注意力模型为了提高文本情感分析的准确率,本文通过构造文本异构图的方式利用语料库中的容易被忽略的全局词共现信息,提出了记忆图卷积神经网络(memory graph convolutional neural network,MGCNN)引入注意力的模型。其网络结构图如图1所示。整个模型框架主要由构建文本异构图、MGCNN和注意力机制3个部分构成。其中,异构文本图包括文档节点和词节点,这样的结构可以显式地表达语料库中的词共现信息。为了提高网络模型捕捉文本中的上下文特征的能力,本文在GCN的基础上引入了LSTM,将GCN层和LSTM层通过类似残差网络的结构组成了MGCNN,将多层网络设计成一个残差块可以有效地避免像多层GCN和LSTM直接串联这种结构产生冗余层,这样在训练过程中网络可以自行判断出是冗余层并使其进行恒等映射,实验结果证明这样的结构十分有效。引入注意力机制可以有效地筛选出重要信息。在实验过程中,使用Dropout方法防止过拟合,提高模型的泛用性。最后通过Softmax分类器进行情感分类。1.1  异构文本图图1中的异构文本图是由文档节点(以“S”开头的节点)和词节点以及它们间的关系组成的边所构成的。其中节点的数目为语料库中的文档数目和词汇量的总和,边包括词-文档边和词-词边。词节点与文档节点是根据某个词是否在某个文档中出现来确定是否连接,词节点与词节点间的边是根据某两个词有没有同时出现在同一个文档中(词共现信息)来确定的。当词节点和文档节点之间的边存在时,它们间的权重设置为词频与逆向文件频率的乘积。词频表示是某一个给定的词语在该文档中出现的频率:[Tij=nijknkj] (1)其中,[nij]表示词[ti]在文档[dj]中出现的次数;[knkj]表示文档[dj]中所有词的数量之和。逆向文件频率是衡量一个词语普遍重要性的指标。一个词语的逆向文件频率值,由文档的总数目除以包含该词语的文档的总数目,再对其商取对数求得:[Ii=logD∕j:ti∈dj] (2)其中,[D]表示语料库中的所有文档总数目;[j:ti∈dj]表示包含了词语[ti]的文档的总数目。?逆向文件频率与词频的乘积可以用来量化一个词在文档中的重要程度,其值为: [Kij=IiTij] (3)计算两个词节点之间的权重时使用点互信息,统计两个词语在文本中同时出现的概率,概率越大,其关联度越高:[Pmi=log2pijpipj] (4)其中,[pi]是词语[i]出现在语料库中的概率;[pj]是词语[j]出现在语料库中的概率;[pij]是词语[i]和词语[j]在语料库中共同出现在同一个文档中的概率。除此之外,这里设相同点之间的权重值为1,没有连接的点之间的权重值为0,可得到包含异构文本图中所有节点关系的邻接矩阵[A],[A∈Rn×n],其中[n]为文本异构图的节点数:[Aij=?Pmi???????? i,j都是词,且Pmi>0?Kij????? i是词,j是文档?1???????????i=j?0???????????其他](5)1.2 MGCNN 模型Kipf等对GCN的深入研究表明增加GCN的层数并对文本分类效果不佳,本文方法使用了2~3层GCN。构建的文本异构图有[n]个节点,每个节点都有自己的特征,用一个[d]维向量表示,得到特征矩阵[X],[X∈Rn×d]。将[A]和[X]作为输入通过GCN,就会得到[Hl+1]:[Hl+1=σD-12AD-12HlWl] (6)其中,[D]是[A]的度矩阵,对角线上元素依次为各个顶点的度;[H]是每一层提取的特征,对于输入层,[H]就是[X];[σ]是非线性激活函数。根据上述公式,第一层GCN的输出为[H1]。接下来分别将[H1]作为输入通过GCN层和LSTM层。LSTM有3个门,分别称为忘记门、输入门和输出门。LSTM可以通过这3个门完成删除信息或者添加信息的功能。LSTM首先通过忘记门来处理需要丢弃的信息:[ft=sigmoidwfht-1,xt+bf] (7)下一步是决定添加哪些新的信息。利用[ht-1]和[xt]通过输入门来完成:[it=sigmoidwiht-1,xt+bi] (8)并且需要计算临时记忆状态[ct]:[ct=tanhwcht-1,xt+bc] (9)根据上一时刻的记忆状态[Ct-1],计算当前的记忆状态[Ct]:[Ct=ftCt-1+itCt] (10)最后计算输出门[ot],用来判断输出哪些状态特征:[ot=sigmoidwoht-1,xt+bo] (11)由此,最终的输出[ht]:[ht=ottanhCt] (12)其中,[wf],[wi],[wc],[wo]均为权值矩阵;[bf],[bi],[bc],[bo]均为偏置向量。最终,[H1]通过第二层GCN层得到特征[H2],[H1]通过LSTM层得到特征[ht],两者维度大小相同,将这两组特征相加,得到高级文本特征[H]。1.3 注意力模型在深度学习中,注意力机制的核心目标是从大量信息中筛选出对当前任务目标来说更为关键的信息。在MGCNN提取文本特征后,注意力模型通过对不同的文本特征分配不同的注意力权重来实现对重要信息的筛选,以此提高文本分类的准确率。注意力层的具体流程如下:[ut=tanhH] (13)[αt=expuTtuwtexpuTtuw] (14)[si=tαtht] (15)式(13)~(15)中,[ut]是[H]的隐层表示;[αt]是经Softmax函数处理后的归一化权重系数;[uw]是一个随机初始化的向量;[si]是第i个句子或词语的向量表示。2 实验部分在实验中,本文使用标记好的商品评论信息对MGCNN模型进行测试。将实验结果与现有的一些深度学习方法相比较。2.1 实验数据实验所用的数据集采用网上公开数据集,包括在京东网和携程网上爬取的用户对于衣服和洗发水的评论,根据评论内容中所带的情感色彩,将其分别打上两类情感标签,积极情感的标签为1,消极情感的标签为0。最终每类实验数据都包含5 000条积极情感文档和5 000条消极情感文档。数据集的汇总统计信息如表1所示。表1 实验数据设置Tab. 1 Experimental data setting[数据集\&总数\&训练集\&验证集\&测试集\&词汇\&节点数\&平均长度\&衣服评论\&10 000\&7 200\&800\&2 000\&2 098\&12 098\&15.61\&洗发水评论\&10 000\&7 200\&800\&2 000\&2 678\&12 678\&19.43\&]2.2 参数设置模型中各层网络的超参数设置如表2所示,其中GCN_layer1层的输入向量维度为文本图的总节点数,表中的12 098维是衣服评论数据集的输入向量维度。训练中使用Adam优化器来对本模型进行最多200 epochs的训练,如果Loss连续20 epochs都没有减小,则提前停止训练。Adam优化器中的超参数学习率设置为0.02。表2 模型参数设置Tab. 2 Model parameters setting[网络层\&输入向量维度\&输出向量维度\&Dropout\&激活函数\&GCN_layer1\&12 098\&512\&0.5\&ReLU\&GCN_layer2\&512\&256\&0.5\&无\&LSTM_layer\&512\&256\&0.5\&无\&]2.3 实验结果分析实验针对用户对于衣服和洗发水的评论进行情感分析,将本文的方法与多种常见的深度学习方法相比较。将经过Word2vec训练的词向量作为这些网络的输入,设置以下多组对比试验。本文在实验中设置了固定的随机种子,保证每次实验结果都是一致的。实验主要以情感分析结果的正确率Acc(accuracy)、精度P(precision)、召回率R(recall)和[F1]值作为评价指标。TextCNN[7]:单一的TextCNN。LSTM[10]:单一的LSTM。DPCNN[12]:单一的DPCNN。Transformer[13]:基于Google提出的模型框架。GCN[16]:两层GCN。多组对比试验如表3所示,从正确率Acc和[F1]值两组数据来看,在衣服评论数据集上,GCN比DPCNN的Acc高约1.31%,与LSTM相比,Acc高约0.52%,[F1]值达94.15%,均优于这两个模型;而TextCNN和Transformer网络的表现比DPCNN和LSTM更差一点。在洗发水评论数据集上,GCN比LSTM的Acc高约1.80%,比DPCNN的Acc高约1.23%,[F1]值达93.33%,其精度P和召回率R也均比其他传统方法更优。由此可见,GCN在处理商品评论情感分析问题上的效果更好,这是因为GCN对于文本的全局词共现信息的利用更加充分。由于GCN在将数据集构造成文本异构图的时候就已经对文本的信息进行了归纳和提取,因此GCN的训练时间也要比传统深度学习方法短很多。本文的方法与原始的GCN相比,在衣服评论数据集上,Acc高约0.49%,[F1]值高约0.50%;在洗发水评论数据集上,Acc高约0.77%,[F1]值高约0.77%;本方法在两个数据集上的精度P和召回率R也都比GCN有提高。从表3中可以发现传统深度学习方法中的LSTM在两个数据集上均有较好的表现,LSTM可以很好地捕捉文本中的上下文特征,这是GCN所不擅长的。本文的方法就是在GCN的基础之上巧妙地整合了LSTM的优点,同时引入注意力机制模型,给所提取到的特征信息分配不同的权重,来获得更重要的局部特征信息。即在网络模型分析文本信息时,重点利用文本中可以表现情感的词语的特征信息,从而达到提高情感分析准确率的目的。表3 对比实验结果Tab. 3 Comparison of experimental results[数据集\&模型\&正确率Acc\&精度P\&召回率R\&[F1]值\&衣服评论\&TextCNN\&0.927 5\&0.928 3\&0.926 5\&0.927 4\&LSTM\&0.936 4\&0.937 5\&0.936 2\&0.936 8\&DPCNN\&0.928 5\&0.929 1\&0.928 0\&0.928 5\&Transformer\&0.924 3\&0.931 6\&0.915 6\&0.923 5\&GCN\&0.9416\&0.942 3\&0.940 8\&0.941 5\&MGCNN\&0.946 5\&0.946 7\&0.946 4\&0.946 5\&洗发水评论\&TextCNN\&0.902 5\&0.907 7\&0.887 6\&0.897 5\&LSTM\&0.915 3\&0.915 4\&0.914 9\&0.915 1\&DPCNN\&0.921 0\&0.921 2\&0.920 7\&0.920 9\&Transformer\&0.894 6\&0.901 2\&0.866 3\&0.883 4\&GCN\&0.933 3\&0.933 6\&0.933 1\&0.933 3\&MGCNN\&0.941 0\&0.941 3\&0.940 7\&0.941 0\&]2.4 小数据测试为了验证在只能够收集到少量的商品评论作为数据集的情况下,该方法仍有较好的效果。本文设置了逐渐减少训练集数量的对比试验,从总数据集中随机取出1%、5%、10%、20%的样本作为实验数据集,分别对应4种不同大小数据集的情况。其中,每组都是以实验数据集的80%为训练集,20%为验证集,其余的总数据集中的样本全部作为测试集。以衣服评论数据集为基础的实验结果如图2(a)所示。从验证集的正确率Acc上来看,在20%数据集的情况下,本文方法的Acc比GCN稍高,与其他方法已经拉开了差距。并且随着数据集的减少,其正确率下降的趋势要更加缓慢。当只有1%数据集时,本文方法仍有90%左右的正确率。图2(b)是洗发水评论数据集的实验结果,其中5%数据集时,本文方法比GCN稍低。其余情况下的正确率均要高于其它模型,且更加稳定。总体而言,本文方法在两个数据集上,使用少量的训练集来训练就能够取得较好的分类效果。尤其在只有1%数据集,约100个样本的情况下,本文方法的正确率要明显地优于其他方法,有较高的实用性。 [0 0.050 0.100 0.150 0.200Proportion of experimental data in data set][10095908580757065605550][Acc / %][CNNLSTMDPCNNGCNMGCNN][ a ][ b ][9590858075706560][Acc / %][0 0.050 0.100 0.150 0.200Proportion of experimental data in data set][CNNLSTMDPCNNGCNMGCNN]图2 评论数据集小数据测试: (a)衣服,(b)洗发水Fig. 2 Small data test of comment dataset: (a)cloths, (b)shampoos3 结 论本文提出了一种MGCNN引入注意力机制的商品评论文本情感分析方法。将文本信息构建成一个大型的文本异构图,让LSTM学习GCN从文本异构图中提取的特征,从而解决了传统深度学习模型无法较好利用全局词共现信息所包含的非连续和长距离语义的问题,同时也补充了GCN捕捉文本中的上下文特征能力的不足,并引入注意力模型来筛选重要特征,以达到提高情感分析准确率的目的。通过实验证明了MGCNN引入注意力机制模型在商品评论情感分析问题中的有效性和实用性,同时发现在小样本学习中,本方法的准确率仍有很大的提升空间,因此,下一步的工作重点就是将改进的本方法运用到小样本学习中。