基于AB-CNN模型的电商评论多分类情感分析方法

文档序号:33712694发布日期:2023-04-01 00:34阅读:63来源:国知局
基于AB-CNN模型的电商评论多分类情感分析方法
基于ab-cnn模型的电商评论多分类情感分析方法
技术领域
1.本发明涉及一种基于ab-cnn模型的电商评论多分类情感分析方法。


背景技术:

2.随着互联网大数据的爆发,各类电商平台逐步兴起,把握消费者的情感极性成为目前的一个热门话题,既可以指导企业进行营销策略的制定,也能帮助企业精确把握未来热卖商品的走向。
3.情感分析又称为情感倾向性分析或意见挖掘,是从用户意见中提取信息的过程,通过对文本、音频和图像等进行分析以获取人们的观点、看法、态度和情感等。文本的情感分析是指是对带有情感色彩的文本进行分析、处理、归纳和推理的过程。随着互联网的发展,网上出现了大量带有情感极性色彩的文本,研究人员也慢慢的从最开始的对情感词语的分析,过度到了更为复杂的情感语句和情感文章的分析。针对于此,对文本细粒度的处理不同,情感分析可以分为:词语级、语句级、篇章级等三个层次的研究。按照处理文本的类型不同,又可以分为基于社交平台的情感分析和基于电商平台的情感分析,其中前者主要处理的主要是社交平台的评论内容,后者处理的主要是电商平台的产品评论内容。比如“这款手机性价比很高,运行流畅”,表明了消费者对该产品很满意;“这款手机总体感觉一般吧!”表明消费者对该产品还算认可;“这手机太垃圾了,真卡!”表明消费者对该产品不满意。基于电商评论的情感分析可以帮助消费者快速了解某一产品在大众心目中的口碑,因此受到很多消费者和电商商业网站的青睐,而基于社交平台评论的情感分析多用于舆情监控和信息预测中。
4.文本的情感分析从开始情感词典到后来的机器学习的方法,再到如今的深度学习的方法,一直以来就是一个研究的热点话题。就情感分析的发展来看,主要集中在以下三个研究方面:基于情感词典与规则的方法、基于传统机器学习的方法、基于深度学习的方法。
5.基于情感词典的情感分析法利用情感词典获取文档中情感词的情感值,再通过加权计算来确定文档的整体情感倾向。例如,zargari h等人提出一个基于全局强化词的n-gram情感词典方法,通过考虑多个加强词相对于情感词的关系,从而增加词典中涵盖的情感短语;yan等人通过人工手段构建了一个全面高效的极性词典,包括基础词典、否定词典、程度副词词典和翻词词典,并在实验中取得了不错的效果;liang等人针对微博文本复杂、多样、口语化的特点,构建一个覆盖面广的微博情感词典,最后通过计算最终结果来确定整个微博语句的情绪倾向;zhang等人基于已构建好的程度副词词典、网络词词典、否定词词典等相关词典,用微博文本进行训练,得到更新后的情感值。xiao等人提出了一种中文微博情感分析策略,该策略能够有效地分析微博中的情感倾向,通过构建了网络词汇分类器来查找和标记网络词汇,进一步提升了分类的准确度;xu等人建立了一个包含基本情感词、场景情感词和多义情感词的扩展的情感词典,进一步提高了文本的情感分类效果;thien等人提出一种用于越南语的情感词典,包含了超过10万个越南语的情感词汇;zhao等人提出了一种新的情感词识别方法,该方法将多特征线性融合和多循环策略相结合,利用现有词典
识别并构建适合跨域的情感词通用词典。
6.基于机器学习的情感分析方法是指通过大量有标注的或无标注的语料,使用传统机器学习算法,抽取特征,最后在进行情感分析输出结果。例如,guanghan m提出了一种基于word2vec和支持向量机的微博情感挖掘方法。对训练后的word2vec词向量进行加权,并统计微博期望的不同词汇频率,最后在svm中进行情感分析;xue等人基于朴素贝叶斯原理,构造了一个数据情感分类器,并利用构建的情感分类器对测试文本的情感倾向进行分析;wawre等人通过对svm和朴素贝叶斯(naive bayes,nb)两种机器学习方法的对比,得出了对于大规模数据集,朴素贝叶斯方法比svm的分类准确率会更高;kamal等人提出了一个基于规则和机器学习方法相结合的情感分析系统来识别其情感极性;rathor等人通过对字母加权,然后对比分析了svm、nb和me三种机器学习算法,结果表明三种算法均取得了较好的分类效果。zhang等人提出一个基于ae-svm算法,并在员工对企业评价情绪分析的高维数据集上取得了不错的测试效果。
7.由于深度学习在图像领域取得的巨大成功,基于深度学习的情感分析也开始被广泛应用,目前深度学习模型包括卷积神经网络(cnn)、长短时记忆网络(lstm)、双向长短时记忆网络(bi-lstm)、循环神经网络(rnn)和注意力机制等。例如,teng等人提出一种基于长短时记忆网络的多维话题分类模型,该模型由长短时记忆(lstm)网络构成,可以实现对向量、数组和高维数据的处理;yin等人将得到的数据输入bigru神经网络层进行特征增强,通过叠加和重复使用实现特征增强,通过不断增强,使收敛速度更快,优于其他分类模型;he等人提取了基于词汇的词向量的词嵌入特征和序列特征,并将两种特征融合为svm的输入,最后判断文本的情感极性;zeng等人提出一种posatt-lstm模型同时考虑上下文词语和上下文位置关系之间的重要性;zhou等人提出了一种结合word2vec和堆叠双向长短期记忆(堆叠bi-lstm)模型的中文情感分析方法,结果表明该方法比其他机器学习模型具有更好的性能;su等人提出了一种基于表情符号注意的卷积神经网络(aeb-cnn)的模型,将表情符号、注意的机制与cnn相结合,提高了情感分析的准确性。
8.因此,发掘电商平台的情感极性是一个极具研究价值和挑战的热门话题,对于企业营销策略的制定,舆情信息的研判有着重要的应用价值。目前情感分析大多停留在对二分类的研究,针对二分类及其以上的研究并不是特别多,二分类的情感分析虽说能去取得较大的预测准确度,但是现实生活中用户的情感极性并不单纯的只是积极和消极,可能会具有更加丰富的情感色彩,比如:开心、愤怒、生气、伤心、厌恶等。所以,目前的电商平台的情感分析方式的准确度仍有较大的提升空间。


技术实现要素:

9.有鉴于此,为了解决上述技术问题,本发明提供一种基于ab-cnn模型的电商评论多分类情感分析方法。
10.本发明采用以下技术方案:
11.一种基于ab-cnn模型的电商评论多分类情感分析方法,包括:
12.获取初始文本序列;
13.将所述初始文本序列转化成对应的初始词向量;
14.对所述初始词向量进行卷积操作,得到所述初始文本序列中各个词的新的特征,
构成文本特征矩阵;
15.基于注意力机制,对所述文本特征矩阵进行处理,得到注意力信号,并与所述初始词向量进行注意力融合,得到融合注意力之后的目标词向量;
16.基于bi-lstm模型,对所述目标词向量进行前向输出特征和后向输出特征提取,得到包含前向输出特征和后向输出特征的各个词的目标文本特征向量;
17.将得到的各个词的目标文本特征向量作为线性函数softmax的输入,进行分类,得到最终的情感分类结果。
18.进一步地,所述将所述初始文本序列转化成对应的初始词向量,包括:
19.采用word2vec词向量模型,将所述初始文本序列转化成对应的初始词向量。
20.进一步地,所述对所述初始词向量进行卷积操作,得到所述初始文本序列中各个词的新的特征,构成文本特征矩阵,包括:
21.所述初始词向量构成t*l维词向量矩阵,通过t个长度为l的卷积滤波器对输入的所述t*l维词向量矩阵进行卷积操作,所述初始文本序列中第i个词的新的特征:
22.zi=f(d
t
·
x
i:i+t-1
+b)
23.其中,是偏置项,d
t
为权值,f是非线性函数relu;
24.得到文本特征表达式为:
25.z=[z1,z2,

,z
n-t+1
]
[0026]
其中,采用最大池化运算,并将最大值作为卷积滤波器的特征;构成的文本特征矩阵为:
[0027]
y=[z1,z2,

,zn]
[0028]
进一步地,所述基于注意力机制,对所述文本特征矩阵进行处理,得到注意力信号,并与所述初始词向量进行注意力融合,得到融合注意力之后的目标词向量,包括:
[0029]
根据所述文本特征矩阵,引入注意力机制,设定输入的每个文本信息zi的查询向量为q,采用如下注意力分布系数计算公式得到每个文本特征zi的注意力分布系数αi:
[0030][0031]
其中,i∈[1,2,

,n],j为softmax线性函数中的一个参数,s(zi,q)为注意力计算函数,采取加性模型进行计算,如下:
[0032]
s(zi,q)=v
t
tanh(wzi+uq)
[0033]
得到加权平均注意力信号:
[0034][0035]
将加权平均注意力信号映射到所述初始词向量上,采用如下注意力融合方式与所述初始词向量进行注意力融合,得到融合注意力之后的目标词向量:
[0036][0037]
其中,ωi为第i个所述目标词向量,μ1为原有的词向量占的权重,μ2为注意力信号
所占的权重,xi为第i个所述初始词向量。
[0038]
进一步地,所述基于bi-lstm模型,对所述目标词向量进行前向输出特征和后向输出特征提取,得到包含前向输出特征和后向输出特征的各个词的目标文本特征向量,包括:
[0039]
基于bi-lstm模型,第i个所述目标词向量在t时刻的目标文本特征向量为:
[0040][0041]
其中,为第i个所述目标词向量在t时刻的目标文本特征向量,
[0042]
进一步地,所述将得到的各个词的目标文本特征向量作为线性函数softmax的输入,进行分类,得到最终的情感分类结果,包括:
[0043]
将得到的各个词的目标文本特征向量作为线性函数softmax的输入,进行分类,得到最终的情感分类结果,softmax函数如下:
[0044]
y=softmax(wcm+bc)
[0045]
其中,wc表示权重矩阵,bc表示偏置项。
[0046]
本发明的有益效果包括:本发明提出了把注意力机制、双向长短时记忆网络和卷积神经网络结合起来,即attention+bilstm+cnn,简称ab-cnn模型,首先进行词向量获取,并进行特征提取,使语句向量化,实现将字词用高维向量表示,并将词向量作为词嵌入层加载到卷积层,对初始词向量进行卷积操作,得到初始文本序列中各个词的新的特征,得到重要的文本特征,构成文本特征矩阵,基于注意力机制,对文本特征矩阵进行处理,计算每个文本中情感词语的平均注意力权重,得到注意力信号,并与初始词向量进行注意力融合,得到融合注意力之后的目标词向量,然后基于bi-lstm模型,对目标词向量进行前向输出特征和后向输出特征提取,得到包含前向输出特征和后向输出特征的各个词的目标文本特征向量,从两个方向同时读取文本,充分利用当前时刻数据的所有上下文信息,进一步加强情感程度,最后将得到的各个词的目标文本特征向量作为线性函数softmax的输入,进行分类,得到情感分类结果,能够提升电商平台的情感分析方式的准确度。
附图说明
[0047]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
[0048]
图1是本技术实施例提供的一种基于ab-cnn模型的电商评论多分类情感分析方法整体流程示意图;
[0049]
图2是注意力机制原理图;
[0050]
图3是双向长短时记忆网络的结构图;
[0051]
图4是卷积神经网络的结构图;
[0052]
图5是ab-cnn模型结构图;
[0053]
图6是句子长度和频率统计图;
[0054]
图7是句子长度的累积分布函数图;
[0055]
图8是迭代次数的选择图;
[0056]
图9是随机失活值的选择图;
[0057]
图10是批处理数据的大小选择图;
[0058]
图11是学习率的选择图;
[0059]
图12是损失值与学习率之间的关系图;
[0060]
图13是测试集混淆矩阵图;
[0061]
图14是消融实验模型对比图。
具体实施方式
[0062]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0063]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0064]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0065]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0066]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0067]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0068]
为了说明本技术所述的技术方案,下面通过具体实施方式来进行说明。
[0069]
如图1所示,本实施例提供一种基于ab-cnn模型的电商评论多分类情感分析方法。首先,先介绍一下注意力机制(attention)、双向长短时记忆网络(bi-lstm)和卷积神经网络(cnn)。
[0070]
深度学习中的attention机制正是借鉴了人类视觉的注意力方式,最初是在1980年,由treisman等提出的,其生理原理就是人类在观察外界环境时会迅速的扫描全景,然后根据大脑信号的处理快速的锁定重点关注的目标区域,最终形成注意力焦点,目的在于获取更多细节信息和抑制其他无用信息。
[0071]
同样在nlp处理文本任务时,可以运用注意力机制把注意力更多的集中在需要关注的文本内容上,这样可以进一步提升模型的运行速度,减少模型的复杂度,节省模型的训练时间,同时还可以进一步提高模型的预测准确度。在情感分析的任务中,通过在cnn中引
入attention层,目的是可以让模型的关注重点放在与情感相关的词语或语句上,从而摒弃掉其他无关情感色彩的文本信息。
[0072]
注意力机制的本质就是一个不断寻址的过程。假设在给定一个输入文本序列x,存在一个查询向量为q,查询向量的作用就是寻找x中的重要信息。查询的过程需要在整个文本序列x中进行,在抽取文本内容的时候每个字词都会贡献自己的注意力,当遇到含有情感色彩的字词时,所贡献的注意力更大。
[0073]
因此,在查询的过程中需要知道每个字词在文本中的具体位置,故而定义一个注意力变量u∈[1,n]来表示被选择查询信息的索引。当u=i时,表示选择查询文本序列x中第i个字词,计算过程如图2所示。这个过程其实就是注意力机制减少模型复杂度的体现:不用把所有的文本信息内容输入到模型中进行训练,只需要从x中选出与情感相关的字词或语句输入。
[0074]
注意力机制可以分为三步:一是文本信息输入;二是计算注意力分布权重α;三是计算输入信息的加权平均。具体步骤如下:
[0075]
(1)文本信息输入:用x=[x1,x2,

,xn]表示n个输入文本信息内容;
[0076]
(2)注意力权重系数计算:第i个字词与q之间的注意力权重系数如下:
[0077]
αi=p(u=i|x,q)=softmax(s(xi,q))
[0078]
其中,αi称为注意力系数,s(xi,q)为注意力计算函数,主要有如下几种计算方法:
[0079]
加性模型:s(xi,q)=v
t
tanh(wxi+uq)
[0080]
点积模型:
[0081]
缩放点积模型:
[0082]
双线性模型:
[0083]
其中,w,u,v是网络模型中的参数,d是输入的词向量的纬度。
[0084]
(3)注意力加权平均:注意力系数αi可以理解为在上下文查询向量为q时,第i个信息受到关注的程度,对输入的文本信息x进行编码:
[0085][0086]
长短时记忆网络(long short term memory,lstm)是循环神经网络(rnn)的一种实现形式。但是在实际应用过程中发现rnn存在梯度消失、梯度爆炸、读取信息范围能力有限等一系列问题,为了解决这些问题引入了lstm,lstm具有“记忆时序”的特点,可以快速学习输入文本数据到上下文之间的关系。
[0087]
在简单rnn的基础上,lstm进行了以下两个方面的改进:
[0088]
(1)新的内部状态。lstm引入一个新的内部状态c
t
∈rd,专门进行线性的循环信息传递,同时输出信息给隐藏层的外部状态h
t
∈rd,内部状态可以通过以下公式计算:
[0089][0090]ht
=o
t

tanh(c
t
)
[0091]
其中,f
t
∈[0,1]d,i
t
∈[0,1]d,o
t
∈[0,1]d为三个门来控制信息传递的路径,

为向量元素乘积,c
t-1
为上一时刻的记忆单元,是通过非线性函数得到的候选状态:
[0092][0093]
在每个时刻t,lstm网络的内部状态c
t
记录了到当前时刻为止的历史信息。
[0094]
(2)门控机制。lstm网络引入门控机制来控制信息传递的路径。三个“门”分别为遗忘门f
t
,输入门i
t
,输出门o
t
。lstm网络中的“门”取值在(0,1)之间,表示以一定的比例允许信息通过。三个门的计算方式为:
[0095]ft
=σ(wfx
t
+ufh
t-1
+bf)
[0096]it
=σ(wix
t
+u
iht-1
+bi)
[0097]ot
=σ(wox
t
+uox
t-1
+bo)
[0098]
其中,σ(
·
)为logistic函数,x
t
为当前时刻输入,h
t-1
为上一时刻的外部状态。
[0099]
双向长短时记忆网络(bidirectional long shortterm memory,bilstm)分为2个独立的lstm,输入序列分别以正向和反向输入到2个lstm进行特征提取,将2个输出向量进行拼接后形成的词向量作为该词的最终特征表达。bilstm模型的结构特征如图3所示,设计理念是使t时刻所获得特征数据同时拥有过去和将来之间的信息,前向lstm层t时刻的输出记作后向lstm层t时刻的输出结果记作实验证明,bilstm模型对文本特征提取效率和性能要优于单个lstm结构模型,并且bilstm中的2个lstm参数是相互独立的,它们只共享word-embedding词向量列表。
[0100]
cnn(convolutional neural networks,卷积神经网络)在传统上是应用于计算机视觉领域的,从开始的卷积层,到后面加入了池化、dropout、padding等层后,网络变得更加精细。后来,相继提出了googlenet,vggnet以及在图像识别领域最有名的resnet,这一网络的出现使得神经网络对图像的分类准确率超过了人类水平。由此可见,卷积神经网络具有高效的特征提取和分类能力,当把文本信息视为一维图像时,可以用cnn来对文本进行分类,模型结构如图4所示。
[0101]
首先,在词嵌入层将输入的文本序列用词向量表示,作为cnn的输入,用x表示词嵌入层的文本矩阵,文本矩阵表示为x=[x1,x2,

,xn]。
[0102]
然后,通过在原始输入文本序列上滑动来进行卷积,提取文本的特征。若用k表示卷积核,即卷积核k以滑动窗口扫描的方式进行n-gram卷积操作,令卷积核的滑动步长为s,从而可以得到每个卷积核(n-n+1)个特征信息。并通过池化层筛选出权值最大的文本特征,忽略掉那些不重要的文本特征,从而得到最终的文本特征表示的词向量。
[0103]
最后,在全连接层进行分类,将池化层筛选得到的文本特征与预测的类别标签进行全连接,综合得到所有的文本特征,并计算每个类别标签概率,取最大标签概率值作为分类结果。
[0104]
本实施例提供的一种基于ab-cnn模型的电商评论多分类情感分析方法把注意力机制(attention)、双向长短时记忆网络(bilstm)、卷积神经网络(cnn)三者结合起来,得到一个ab-cnn模型,并在电商平台数据集上进行分类预测。
[0105]
ab-cnn模型结构如图5所示,主要包含:输入层、词嵌入层、卷积层、dropout层、注意力层、bilstm层、全连接层和输出层。
[0106]
本实施例提供的基于ab-cnn模型的电商评论多分类情感分析方法包括:
[0107]
步骤s1:获取初始文本序列。
[0108]
步骤s1对应ab-cnn模型结构的输入层。初始文本序列为待处理的文本序列,初始文本序列x由n个词构成,表示为x=[x1,x2,

,xn]。
[0109]
步骤s2:将所述初始文本序列转化成对应的初始词向量:
[0110]
步骤s2对应ab-cnn模型结构的词嵌入层。将初始文本序列转化成对应的初始词向量。作为一个具体实施方式,采用word2vec词向量模型,将初始文本序列转化成对应的初始词向量。相对应地,词嵌入层具体为word2vec词向量嵌入层。词向量编码纬度为128,并对其进行初始化,则每条文本向量化之后的形式为:
[0111][0112]
其中,n表示每条评论文本序列的长度,每个词用h维的向量表示,xi为句中第i个词的向量表示,为连接运算符。
[0113]
把分词后的文本作为输入,将输入词嵌入层的文本序列x为n*h维向量矩阵,转换为低维词向量(为t*l维词向量矩阵)。经过嵌入层,词语完成文本向数字向量的转换。
[0114]
步骤s3:对所述初始词向量进行卷积操作,得到所述初始文本序列中各个词的新的特征,构成文本特征矩阵:
[0115]
步骤s3对应ab-cnn模型结构的卷积层。
[0116]
初始词向量构成t*l维词向量矩阵,通过t个长度为l的卷积滤波器对输入的所述t*l维词向量矩阵进行卷积操作,初始文本序列中第i个词的新的特征:
[0117]
zi=f(d
t
·
x
i:i+t-1
+b)
[0118]
其中,是偏置项,d
t
为权值,f是非线性函数relu。该滤波器应用于句子中每个可能的词[x
1:t
,x
2:t+1
,

,x
n-t+1:n
],得到文本特征表达式为:
[0119]
z=[z1,z2,

,z
n-t+1
]
[0120]
其中,采用最大池化运算,并将最大值作为卷积滤波器的特征,其目的是为每个特征获取其具有最高值的最重要特征。构成的文本特征矩阵为:
[0121]
y=[z1,z2,

,zn]
[0122]
卷积层输出y。
[0123]
作为一个具体实施方式,在卷积层之后加入dropout层,能够防止出现过拟合。
[0124]
步骤s4:基于注意力机制,对所述文本特征矩阵进行处理,得到注意力信号,并与所述初始词向量进行注意力融合,得到融合注意力之后的目标词向量:
[0125]
步骤s4对应ab-cnn模型结构的注意力层。
[0126]
经过卷积层提取到文本的重要特征,通过注意力层,可以提取每个文本重要特征中有关情感极性词语,节省运行时间,减少模型复杂度。通过对卷积层的输出文本特征矩阵y引入注意力机制,设定输入的每个文本信息zi的查询向量为q,采用如下注意力分布系数计算公式得到每个文本特征zi的注意力分布系数αi:
[0127][0128]
其中,i∈[1,2,

,n];j为softmax线性函数中的一个参数,表示对得到的所有文
本特征zj进行求和,并计算其第i个文本的概率分布,即权重系数αi。s(zi,q)为注意力计算函数,可以选择前面提到的:加性模型、点积模型、缩放点积模型、双线性模型进行计算。本实施例采取加性模型进行计算,如下:
[0129]
s(zi,q)=v
t
tanh(wzi+uq)
[0130]
注意力系数αi表示为在上下文查询向量q时,第i个情感信息受到关注的程度,则可对输入的文本信息p进行如下编码,得到加权平均注意力信号:
[0131][0132]
将注意力信号映射到对应的输入词向量矩阵xi上,得到带有注意力机制的文本矩阵,其表示为
[0133]
而且,采用如下注意力融合方式与初始词向量进行注意力融合,得到融合注意力之后的目标词向量:
[0134][0135]
其中,ωi为第i个目标词向量,μ1为原有的词向量占的权重,μ2为注意力信号所占的权重,xi为第i个初始词向量。ω=[ω1,ω2,

,ωn]。
[0136]
步骤s5:基于bi-lstm模型,对所述目标词向量进行前向输出特征和后向输出特征提取,得到包含前向输出特征和后向输出特征的各个词的目标文本特征向量:
[0137]
步骤s5:对应ab-cnn模型结构的bilstm层。
[0138]
由注意力层输出有关情感极性的文本词向量ω,作为bi-lstm层的输入。通过两个lstm结合了输入序列在前向和后向两个方向上的信息,进一步丰富输入文本内容的情感色彩,提升了模型的分类效果。
[0139]
对于t时刻的输出,前向lstm层具有输入序列中t时刻以及之前时刻的信息,而后向lstm层中具有输入序列中t时刻以及之后时刻的信息。
[0140]
通过两个lstm结合了输入序列在前向和后向两个方向上的信息,对于t时刻的输出,前向lstm层具有输入序列中t时刻以及之前时刻的信息,而后向lstm层中具有输入序列中t时刻以及之后时刻的信息。bi-lstm模型能够有效地提高准确率,bi-lstm在t时刻的前向输出和后向输出如下:
[0141][0142][0143]
则bi-lstm输出包含情感色彩t时刻,第i个目标词向量在t时刻的目标文本特征向量为:
[0144][0145]
对bi-lstm层的文本序列提取前后语义信息,可得输出为lstm层的文本序列提取前后语义信息,可得输出为
[0146]
步骤s6:将得到的各个词的目标文本特征向量作为线性函数softmax的输入,进行分类,得到最终的情感分类结果:
[0147]
步骤s6对应ab-cnn模型结构的全连接层。
[0148]
输入文本从嵌入层开始经过word2vec将文本向量化,再经过卷积层对文本分类,提取文本的重要特征,然后经过注意力层提取有关情感的语义特征,再通过bi-lstm对文本上下文信息进行提取。进一步加强提取到的语义特征的情感色彩,获得更深层语义特征表示。最后将bi-lstm层得到的结果m,作为线性函数softmax的输入,进行分类,得到最终的情感分类结果,softmax函数如下:
[0149]
y=softmax(wcm+bc)
[0150]
其中,wc表示权重矩阵,bc表示偏置项。
[0151]
输出层用于输出最终的情感分类结果。
[0152]
上述给出了一种基于ab-cnn模型的电商评论多分类情感分析方法的实现过程,如下给出实验过程分析该基于ab-cnn模型的电商评论多分类情感分析方法的效果,包括数据集划分、评估指标和模型参数的选取。然后展示了模型的性能,并与其他已有的深度学习模型进行对比。
[0153]
(1)数据集介绍
[0154]
采用的数据集为公共电商平台评论数据集,该数据集总共包含21091条数据,包含8033条好评(积极)数据,4355条一般评论(中性)数据,8703条差评(消极)数据,具体划分如下表1所示。表1是数据集简介。
[0155]
表1
[0156]
情感类别数据集内容举例训练集测试集积极"宝贝很好,卖家人不错"64431590中性"声音功能很好!但也有缺点!"3479876消极"根本没有送货!浪费钱!"69511752总共——168734218
[0157]
(2)数据划分与训练过程
[0158]
把数据集按照4:1的比例划分训练集和测试集,本实施例模型的训练过程在windows10操作系统上完成,使用cpu完成训练,cpu为intel(r)core(tm)i7-5500u 2.40ghz处理器,ram16gb,编程语言为python,版本为python3.7,开发工具是pycharm,采用的中文分词工具版本是jieba0.38,基于深度学习的架构采用tensorflow1.15.0和keras2.3.1。
[0159]
(3)评估指标
[0160]
由于本实施例解决的是三分类问题,故而选取正确率以及多分类的评估指标kappa系数和海明距离。
[0161]
正确率:反应了模型对整个数据集的判定能力。对于测试集,能将积极判定为积极,将中性判定为中性,消极判定为消极的能力。即分类正确的样本占整体样本的比例,公式如下:
[0162][0163]
在本实施例中n=3,表示三分类的准确率。
[0164]
kappa系数:kappa系数是用在统计学中评估一致性的一种方法,取值范围是[-1,1],实际应用中,一般是[0,1]。这个系数的值越高,则代表模型实现的分类准确度越高。
kappa系数的计算方法可以这样来表示:
[0165][0166]
其中,po表示总体分类精度。
[0167]
pe表示为:
[0168][0169]
其中,ai表示第i类真实样本数,bi表示第i类预测出来的样本数。
[0170]
表2为kappa系数表。
[0171]
表2
[0172][0173]
海明距离:海明距离也适用于多分类的问题,简单来说就是衡量预测标签与真实标签之间的距离,取值在0~1之间。距离为0说明预测结果与真实结果完全相同,距离为1就说明模型与真实结果完全相反。
[0174]
(4)参数选择
[0175]
选择合适的输入文本长度是首要解决的问题,如果输入文本较短,则会对文本进行截取,无法把握文本真正的情感极性,会影响模型的最终性能。但是输入的文本长度也不能过长,文本过长,造成词向量后面补大量的0,会降低模型的训练精度,也会影响最终的评估指标。由图6和图7所示,可以看出数据集的文本长度大多集中在200以下,文本长度在200以上的只是极小的一部分,文本长度在201以下出现的频率占整个数据集的94%,文本长度在201以上出现的频率只占6%。因此,本实施例综合考虑文本长度和出现的频率,选取200作为输入文本的长度。
[0176]
衡量模型好坏的最主要指标就是迭代次数的选择,迭代次数过大会导致模型出现过拟合,迭代次数过小会导致模型训练不足,无法达到最佳状态。因此,迭代次数的选择,是需要解决的首要问题。如图8和表3所示,迭代次数大于16时,模型的性能开始下降,小于16时模型的性能一直在提升,但都不是最佳的迭代次数,通过实验分析可知,本实施例选取的最佳迭代次数为16。表3为迭代次数选择表。
[0177]
表3
[0178]
迭代次数准确率kappa系数海明距离40.83670.74310.163380.89780.83970.1022120.90330.84830.0967160.90610.85280.0939200.89170.83040.1083240.87740.80820.1226
[0179]
模型训练过程易发生过拟合现象,过拟合具体表现在:模型在训练数据上损失函
数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。为了避免过拟合现象的发生,引入dropout value,这样可以使模型泛化能力更强,因为它不会太依赖某些局部的特征,减少神经元之间复杂的共适应关系。通过实验分析可知,在dropout value取值为0.45时,模型的性能最佳,防止了过拟合现象的发生。实验结果如表4和图9所示。表4是随机失活值的选择表。
[0180]
表4
[0181]
随机失活值准确率kappa系数海明距离0.150.90450.85070.09550.250.89850.84110.10150.350.89880.84140.10120.450.90780.85550.09220.550.89400.83420.10600.650.88950.82640.1105
[0182]
batch size的直观理解就是一次训练所选取的样本数,batch size的大小影响模型的优化程度和速度。通过设置batch size可以让模型在训练过程中每次选择批量的数据来进行处理,过大的batch size的结果是网络很容易收敛到一些不好的局部最优点,为了保证模型训练效果,需要选择合适的batch size,通过实验分析可知,当batch size取16时,达到收敛精度上的最优,模型的训练效果也最好。实验结果如表5和图10所示。表5是批处理数据大小的选择表。
[0183]
表5
[0184][0185][0186]
学习率决定着目标函数能否收敛到局部最小值以及何时收敛到最小值,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。学习率太大会导致loss爆炸或者nan,学习率太小会导致半天loss没反映。本实施例通过尝试不同的固定学习率,观察迭代次数和loss的变化关系,找到loss下降最快关系对应的学习率。通过实验分析可知,当学习率为0.0001时,模型的性能达到最佳,loss下降最快。实验结果如表6、图11和图12所示。表6为学习率的选择表。
[0187]
表6
[0188]
学习率准确率损失值kappa系数海明距离0.010.37701.06000.000.62300.0010.86960.61780.79510.13040.00010.90020.30360.84380.09980.000010.88670.37210.82220.1133
0.0000010.51420.93290.21330.4858
[0189]
最终本实施例模型超参数的选择如下表7所示。
[0190]
表7
[0191]
超参数超参数的值词向量纬度128卷积核大小3卷积核数250bilstm隐藏层大小64最大输入文本长度200迭代次数16随机失活值0.45批处理数据大小16学习率0.0001
[0192]
(5)模型对比
[0193]
为了与本实施例提出的模型进行对比,选取8种已提出的深度学习模型进行对比实验,以此来评估本实施例模型的性能,如表8所示。表8为不同深度学习模型的性能对比表。
[0194]
表8
[0195]
方法准确率kappa系数海明距离bigru0.90040.84410.0996att+cnn0.91250.86290.0875att+bi-lstm0.89760.83970.1024cnn0.89660.83840.1034lstm+cnn0.87910.81030.1209att+lstm+cnn0.90160.85030.0938cnn+bi-lstm0.90730.85550.0927cnn+bigru0.89760.84020.1024本实施例提出的0.91510.86730.0848
[0196]
通过对表8分析可知,本实施例提出的模型在正确率、kappa系数和海明距离都处于绝对的优势,这是因为在基于卷积神经网络的基础之上本实施例引入了注意力机制和双向长短时记忆网络。双向长短时记忆网络在提取文本信息时能够结合输入文本序列前向和后向两个方向上的信息,使得提取的特征数据同时具有过去和将来之间的信息,故而bilstm+cnn的模型要优于单独的cnn模型,准确率提高了1.07%。注意力机制可以综合考虑整个文本内容,让模型的关注重点放在与情感相关的词语或语句上,摒弃掉其他无关情感色彩的文本内容,通过引入注意力机制进一步提升了模型的性能,从而使得本实施例模型高于其他深度学习模型。
[0197]
由图13的混淆矩阵可知,在测试集上积极、中性、消极的标签的预测正确率分别达到了:87.42%,90.30%,95.83%。尤其是中性和消极情感的预测准确度都已达到90%以上,说明本实施例的模型在多分类情感分析任务中的效果表现不错。
[0198]
通过对表9和图14不同组合模型的性能分析可知,当在情感分析模型中仅仅引入注意力机制的时候,模型的性能表现很差,准确率只有60.36%,kappa系数为0.3731,表现一般;同样只有bilstm的时候,模型虽然能够处理文本上下文信息,在准确率、kappa系数以及海明距离上面得到了提升,但是模型处理了整个文本信息,导致时间开销过大;当把注意力机制和bilstm结合起来时,使模型既能从双向关注文本信息,又能让模型的注意力放在与情感有关的语句上,使得模型性能得到进一步提高;当把两者与cnn结合起来时,得到本实施例的模型,比单独的cnn准确率提高了1.85%,比单独的att准确率提高了31.15%,比att+cnn准确率提升了0.78%,使得模型对特征提取以及分类的能力更进一步,同时模型的性能达到了最佳效果。表9为消融实验模型对比表。
[0199]
表9
[0200]
方法准确率kappa系数海明距离cnn0.89660.83840.1034att0.60360.37310.3964bilstm0.87700.80680.1230att+cnn0.91250.86290.0875att+bilstm0.89760.83970.1024cnn+bilstm0.90730.85550.0927本实施例提出的0.91510.86730.0848
[0201]
(6)结论
[0202]
情感分析时自然语言处理领的一个重要分支,而关于电商平台的情感分析受到很多消费者和电商商业网站的青睐,在实际应用中显示出较高的研究价值。在本实施例中,提出一个ab-cnn的模型架构,该模型结合注意力机制和bilstm提升了多分类模型的预测精度。通过注意力机制提取有关情感的词语或句子,并在bilstm中同时对上下文文本信息进行获取,进一步加强情感程度,使得模型分类预测的效果更加准确。最后,通过与已提出的模型进行对比,本实施例的模型获得了最佳的实验效果,以及与自身不同组合模型的消融实验对比,表明引入注意力机制和bilstm确实能够不同程度提升模型的性能。
[0203]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1