一种电影评论情感分析模型及装置

文档序号:26139863发布日期:2021-08-03 14:23阅读:263来源:国知局
一种电影评论情感分析模型及装置

本发明涉及数据分析技术领域,具体为一种电影评论情感分析模型及装置。



背景技术:

随着改革开放的脚步不断向前大步迈进深化发展,文化领域得到了空前的发展,其中电影领域的发展尤为瞩目,创作数量陡增,类型众多。与此同时伴随着互联网的发展,越来越多的视频网站、电影购票平台、影评平台出现的推动也功不可没。大量电影评论的出现,为研究电影评论情感走向提供了大量文本数据。

情感分析通过对文本信息分别采用定性和定量两种不同分析手段,对于用户的评论做出情感趋向预测识别。大量出现的电影评论文本为文本情感分类提供了可靠的数据集来源。对于电影市场不断扩大的趋向,市场需要对观众对交换观影反馈做出情感分析以助于电影的宣传和进一步推广。由此可见,电影评论的情感分析对于分析电影市场走向有着极为极为重要指导作用。

由于电影评论数据广泛的存在于互联网电影视频平台,但是由于电影评论往往呈现出缺失统一的标准化发表模式,因此电影评论的结构往往缺乏一定的统一规定,大量的未经处理过的原始非规则的语料充斥网络,因此在对电影评论数据集进行情感分析前,需要对相关数据集进行处理。

传统的深度学习在情感分析领域的应用往往具有局限性,cnn网络模型需要大量的数据集作为支撑,发挥作用的领域也集中在cv领域;rnn存在着梯度爆炸现象,即使提出了lstm和gru等相关变体,对于长句的上下文时序性的特征抓取能力仍有不足,参数的过多也加重了计算力的消耗。



技术实现要素:

本部分的目的在于概述本发明的实施方式的一些方面以及简要介绍一些较佳实施方式。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述和/或现有电影评论情感分析中存在的问题,提出了本发明。

因此,本发明的目的是提供一种电影评论情感分析模型及装置,能够解决传统深度学习算法在情感分析中的不足之处,获得了较好的效果。

为解决上述技术问题,根据本发明的一个方面,本发明提供了如下技术方案:

一种电影评论情感分析模型及装置,包括以下算法流程:

步骤一:cnn网络模块,卷积神经网络(cnn)包含了一个可以计算卷积,包括输入层、卷积层、池化层和全连接层;

步骤二:rnn网络模块,循环神经网络的输入数据的往往是以序列的形式出现,对于数据读取方式则是采取了递进读取,网络中的相关节点是以链接式递归神经网络进行排列;

步骤三:lstm网络模块,在lstm的网络构造中,使用复杂的非线性单元堆叠,从而构造深层次网络,解决传统rnn网络中的梯度消失和爆炸问题;

步骤四:gru网络,gru作为循环神经网络的变形网络,在具体时序性任务问题中,着重解决了在网络的反向传播中对于序列的输入问题核梯度消失问题的解决;

步骤五:lstm-attention网络,对lstm模型进行改进,引入attention注意力机制,设计lstm-attention模型。

作为本发明所述的一种电影评论情感分析模型及装置的一种优选方案,其中:所述步骤一中:

输入层,不同维度的卷积神经网络的输入层的数据维度分为三种不同维度的输入数据形式,输入数据既可以低维的数据也可以是高维的数据;

卷积层卷,积核中定期扫描输入的数据,并且对于输入的数据进行特征提取,提取后的特征与“感受野”的信息数据相乘,最终求得叠加偏差;

池化层,主要负责对于数据特征的提取,通过预置的汇聚函数,用相邻区域的统计处理结果代替特征图中单点处理的结果,进一步提取信息特征和提取最重要的特征;池化层由三个部分组成:池区大小、步长和填充控制,其中最大池化法的作用是提取输入数据的映射后的特征向量中,特征最为显著的特征向量,通过特征维度的映射,提取特征值;

全连接层,对应着前馈网络中的模拟层,并且实现了隐藏层的对应功能,卷积神经网络自身具有隐藏层,完全连接层则被设置在卷积神经网络的隐藏层之后,紧跟着相连,全连接层里的信息数据只向与之不对应的全连接层输入。

作为本发明所述的一种电影评论情感分析模型及装置的一种优选方案,其中:所述步骤三:lstm网络模块通过引入“门”函数实现对于句子历史性信息的选择记忆,通过三个形象的步骤“遗忘”,“保留”和“输出”,控制序列信息。

一种电影评论情感分析装置,包括权利要求1-3任一项用于电影评论情感的分析模型。

与现有技术相比:本发明提出的算法在引入的注意力机制之后,在验证集上效果提升显著,最高的准确率达到94%左右,测试集则在93%左右,召回率,f1均值也有所提升,lstm-attention模型也在一定程度上提升了在中评和差评和处的准确率,从混淆矩阵的输出结果也可以看出,lstm-attention模型对于中评性能的具有一定的提升。

附图说明

为了更清楚地说明本发明实施方式的技术方案,下面将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明步骤一cnn集体结构结构示意图;

图2为本发明步骤二rnn结构结构示意图;

图3为本发明步骤三lstm网络中一个细胞单元(cell)结构示意图;

图4为本发明步骤四gru模型结构示意图;

图5为本发明步骤五lstm-attention模型结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施方式的限制。

其次,本发明结合示意图进行详细描述,在详述本发明实施方式时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

本发明提供一种电影评论情感分析模型及装置,能够解决传统深度学习算法在情感分析中的不足之处,获得了较好的效果,请参阅图1-5,包括以下算法流程:

步骤一:cnn网络模块,卷积神经网络(cnn)包含了一个可以计算卷积,包括输入层、卷积层、池化层和全连接层;

步骤二:rnn网络模块,循环神经网络的输入数据的往往是以序列的形式出现,对于数据读取方式则是采取了递进读取,网络中的相关节点是以链接式递归神经网络进行排列;

步骤三:lstm网络模块,在lstm的网络构造中,使用复杂的非线性单元堆叠,从而构造深层次网络,解决传统rnn网络中的梯度消失和爆炸问题;

步骤四:gru网络,gru作为循环神经网络的变形网络,在具体时序性任务问题中,着重解决了在网络的反向传播中对于序列的输入问题核梯度消失问题的解决;

步骤五:lstm-attention网络,对lstm模型进行改进,引入attention注意力机制,设计lstm-attention模型。

其中,卷积神经网络(cnn)包含了一个可以计算卷积,并且具有一定深度的前馈神经发展结构。它是深度合作学习中具有代表性的不同算法技术之一。其所构造的神经网络具有表示学习的能力,输入的信息也可以通过类结构进行转换。cnn除了在图像领域成果显著外,在nlp领域也取得了良好的发展。图1是cnn由四个部分组成,集体结构如图1所示;

输入层:

卷积神经网络的输入层在多维信息处理和数据技术进一步发展中起到了很好的引领作用。不同维度的卷积神经网络的输入层的数据维度也不尽相同,分为三种不同维度的输入数据形式,输入数据既可以低维的数据也可以是高维的数据。针对于cnn在图像处理领域天然的适用性,相关研究者也发散拓展思维,广泛地引入到其他领域。

卷积层:

卷积层是由数和偏差(偏差向量)组成。各神经元之间构成神经元联系网络。而卷积核的大小决定了神经元网络的面积的大小。针对于这一网络覆盖信息现象,这块面积领域称为“感受野”,由于其是对于视觉系统的类化比喻,故此得名为“感受野”。其具体的工作方式是在卷积核中定期扫描输入的数据,并且对于输入的数据进行特征提取,提取后的特征与“感受野”的信息数据相乘,最终求得叠加偏差。

池化层:

池化层主要负责对于数据特征的提取,通过预置的汇聚函数,用相邻区域的统计处理结果代替特征图中单点处理的结果,进一步提取信息特征和提取最重要的特征。池化层由三个部分组成:池区大小、步长和填充控制。其中最大池化法的作用是提取输入数据的映射后的特征向量中,特征最为显著的特征向量,通过特征维度的映射,提取特征值。

全连接层:

全连接层是对应着前馈网络中的模拟层,并且实现了隐藏层的对应功能。然而,卷积神经网络自身具有隐藏层,完全连接层则被设置在卷积神经网络的隐藏层之后,紧跟着相连,全连接层里的信息数据只向与之不对应的全连接层输入。

在cnn中,无论是输入的训练样本还是输出的训练样本,其相对确定性是成立的。然而在cnn的相关研究中,一个主要的研究问题还是很难解决,该问题的解决难点在于,输入的数据样本是连续的序列,并且序列的长度各种各样,长短不定,基于时间排列的序列就是无法确定具体的长度。由于时间序列的长度更长,长度也难以做到统一规制,想要将它们分成单一的样本,通过传统的cnn进行处理,是很难达到理想的效果。

而对于我们这类研究问题,rnn则比较的擅长。我们可以用cnn相似方法训练网络模型,然后用它来预测系统测试序列中一些重要位置的输出。

图2是对于rnn结构的具体展示,左侧没有按照时序性输入数据,如果输入数据是具有时序性的序列,具体表现为图2中的右边部分。因为循环神经网络是讲究输入数据时序性的网络。

对于任意一个时刻的而输入序列t,可以得到其前向传播方式,我们隐藏状态h(t)由x(t)和h(t-1)得到:

h(t)=σ(z(t))=σ(ux(t))+wh(t-1)+b)

其中σ为rnn的激活函数,一般为tanh,b为线性关系的偏倚。

序列索引号t时模型的输出o(t)公式如下:

o(t)=vh(t)+c

最终t时刻的预测输出为:

一般来说,由于rnn主要处理的任务领域是识别类,是一种对识别类构建的分类网络模型,因此在网络中的激活函数往往采用的是softmax。可以通过损失函数计算,比如对数似然损失函数,计算出对当前位置的损失大小,即和y(t)的两者的差值。

rnn反向传播学习算法的思想与cnn相同,对于得到的参数u,w,v,b,c,在网络中都是共享的。这里所有的u,w,v,b,c是在网络中共享的参数,在反向传播更新参数时也遵循相同的更新方式。

图3展示了lstm网络中一个细胞单元(cell)的具体实现状况。lstm通过引入“门”函数实现对于句子历史性信息的选择记忆,通过三个形象的步骤“遗忘”,“保留”和“输出”,控制序列信息。

遗忘门:“遗忘门”存在于sigmoid网络层,lstm可以通过“遗忘门”进行信息系统控制。后一个遗忘门的输入信息是前一个遗忘门信息状态的输出,输出的值的大小介于0和1之间,以向量的形式保存在网络当中。它允许多种状态的流动控制流动走向与传到下个时刻的信息数量比例,遗忘门的作用允许对于信息的过滤流动比例进行控制。遗忘门的计算公式为:

ft=σ(wf·concat(ht-1,xt)+bf)

其中,为权重矩阵,为偏置项,σ为sigmoid函数。

传入门:“传入门”在lstm中用来决定最新的数据序列流入到当前cell来。从sigmoid网络层开始,通过网络梯度变化来更新参数,对于权重的变化进行重新考量,然后再用一层层来计算用于更新当前单元格的替代内容。在实际进行更新教学内容时,使用两者的乘积:

it=σ(wi·concat(ht-1,xt)+bi),

在“遗忘门”中有选择地“遗忘”一定消息后,对于当前“细胞”的更新工作便可以进行,更新方式为:

输出门:lstm的“输出门”决定了当前状态向下一个状态的信息输出。可以通过两个具体步骤来实现。首先,在事先设置好的sigmoid层,我们计算输出数据信息并且计算部分的权重,然后在tanh层,更新信息之后,将二者之积作为cell的输出数据,计算方法如下:

ot=σ(wo·concat(ht-1,xt)+bo),

ht=tanh(ct).

图4中的zt和rt分别表示更新门和重置门。“更新门”的作用是将前一个时刻的信息更新到下一个时刻。更新门的设置的保存程度越高,前一时间进入下一时间的状态信息保存的也越多。“重置门”的作用是对于当前时刻的数据和接下来时刻的数据的信息量的筛选“重置门”中关键的是“门口”部件。“门口”设计用来开放信息。信息通过门口流入的程度越小,被写入前一状态的信息状态量就越少。

lstm网络和gru网络都可以通过分析设置的各种门函数的具体训练情况,以保留重要的训练更新信息特征,保证参数信息状态在长期传播中不会丢失。另外,与lstm相比,gru网络在门函数的设计上数量要减少一个。gru的整体网络对于参数训练的压力要小于lstm,训练速度也随着提升,减少了网络更新的速度。

图5对于输入文本数据x0,x1,x2,...,xt,输入传入lstm网络后,在网络隐藏层的处理下得到h0,h1,h2,...,ht,引入attention机制后,注意力作为一种分配数据注意力多少的机制,对于分配完注意力后的数据可以表示为α0,α1,α2,...,αt,通过计算该时刻的隐藏层输出结果,进行匹配效果比对获得概率分配状态,αi,j∈[0,t]的计算公式如下:

是一种比例衡量计算,比例的大小是某个词语在一定时间获得注意力大小的衡量,它的计算公式如下:

对于网络中的每个时间点,最终的目的是计算输入数据的的特征向量v:

最后利用softmax函数得到预测类别为y,计算公式如下:

y=softmax(wvv+bv)

构建好如上所示的模型算法后,先对数据进行可视化操作,通过引入echart包,将数据集中的数据进行可视化分析,了解数据集中数据的分布状况,同时也完成了对于数据的清洁整理,最终得到结构化的数据集,不影响算法的训练效果。另一方面,也可以直观的感受到电影评论对于观众的影响程度。通过comments_group.py,对数据集再做进一步的预处理后删除掉2万余条数据,再除去影评内容空格,换行,制表符等会对后面模型数据导入产生影响的符号后,根据评分将评论数据分为中评、好评和差评,10000条数据用做测试集,10000条数据用作验证集,剩余有效数据用作训练集输出,并根据影评内容常用字典便于文字id化。

在lstm-attention模型训练中,在相关算法代码的设置中设置好参数的初始化值,随后开始训练。

配置tensorboard和saver,载入训练集与验证集,利用添加的process_file()函数对载入的数据进行归一化处理使数据得以输入,对于每句影评,无论长短,均取到该条影评的最后一个字符,以求得对于每条影评信息的最大获取程度;实在取不到的地方则忽略不计,并将将标签转换为one-hot编码表示。

设置实时数据显示后,开始模型训练,在相关算法代码的设置中设置好参数的初始化值,随后开始训练。

虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1