基于Keras框架下的网络电影数据分析

2019-03-04 11:05方碧云
电脑知识与技术 2019年34期
关键词:情感分析神经网络

摘要:情感分析的商业价值在于可以通过文字分析可提早得知用户对公司或产品的观感,以调整销售策略的方向。为了实现对电影数据的情感分析,本文基于Keras框架设计并建立了多层感知器模型(Multi-Layer Perceptron,MLP)、递归神经网络(Recursive Neural Network,RNN)和长短时记忆(Long Short Term Memory,LSTM)三种深度学习模型并进行训练评估和预测,通过对lMDb数据集的影评文字进行分析,最终可以较好地预测出影评文字褒贬的情感倾向。

关键词:神经网络;Keras框架;网络电影数据集lMDb;情感分析

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2019)34-0014-03

开放科学(资源服务)标识码(OSID):

情感分析是近年来自然语言处理和文本挖掘领域的热门话题,尤其以文本形式的互联网信息的情感分析已经引起了学术界的广泛关注[1]。情感分析(sentiment analysis)[2]c3]又称评论挖掘或意见挖掘(opinion mining),是使用自然语言处理、文字分析等方法找出人们对某些话题或产品的观点、态度、喜好或评价,经过自动判别可以挖掘出用户的情感倾向分布。情感分析的商业价值在于,可提早得知顾客对公司或产品的观感,进而调整销售策略的方向,最大程度提高营销成功率赢得竞争优势。

近年来,随着深度学习的快速发展已经在多个应用领域得到了广泛的应用[4],尤其在利用神经网络进行语言模型建立、文本特征学习和文本情感分析方面得到了重大进展[4],已经成为自然语言处理领域研究的热点之一。

本文主要采用Keras框架建立神经网络模型来实现电影数据的情感分析。Kerasc5]是一个开放源码的高级深度学习程序库,是由python编写而成的高级神经网络API,能够更加高效快捷的建立深度学习模型并进行训练评估和预测。通过Keras框架设计并建立了基于tensorflow的神经网络模型,并用建立的神经网络模型来实现对电影数据IMDb的情感分析。

1 模型介绍

1.1 多层感知机原理

多层感知机[7](Multi_Layer Perceptron,MLP)通常也称为人工神经网络,是一种误差反向传播的多层前馈神经网络算法,主要用来解决多类别非线性数据分类问题。通过对样本进行训练,MLP能够使自身网络学习目标模型输入与输出之间的映射能力,并具有较好的泛化能力。

多层感知机层与层之间是全连接的,包括输入层、隐藏层和输出层。图1为一个最常用的三层MLP模型,只含有一个隐藏层也称为单隐层网络。

MLP算法的核心是依据梯度下降法,计算输出层误差并通过反向传播来不断调整输入层和隐含层,隐含层和输出层之间的权值和阈值,使网络的均方根误差收敛到最小。

1.2 RNN模型原理

递归神经网络(Recursive Neural Network)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归的人工神经网络,已经广泛地应用于语音识别和手写字体识别等领域。RNN模式的原理是将神经元的输出再传回神经元的输入,这样循环的设计使神经网络具备保存信息的能力,以时间点展开RNN网络结构如图2所示。

图2共有三个时间点,在t时间点处,X是t时间点的输入;0.是t时间点的输出;(U,V,W)都是神经网络的参数,W参数是t—1时间点的输出,但是作為t时间点的输入。St是隐藏状态,代表着神经网络的“记忆”,是经过当前时间点的输入Xt,再加上前一个时间点的状态St-1,和U、W的参数共同评估的结果,其公式为:其中,函数是非线性函数。

RNN的关键点之一就是隐含层每个时刻的输出都依赖于以往时刻的信息,但当时间间隔不断增大时,RNN在训练时会存在长期依赖的问题,这是由于RNN模型在训练时会遇到梯度消失或爆炸的问题,从而导致RNN难以保存较长时间的记忆[6]。

1.3 LSTM模型原理

长短期记忆(Long Short Term Memory,LSTM)是一种时间递归神经网络,已广泛地应用在语音识别、图像识别、数据分析等领域。LSTM是由深度学习专家Hochreiter&Schmidhuber (1997)[6]提出,专门设计用来解决RNN的长期依赖问题,能够对任意长度的序列进行建模从而具有学习远距离信息的能力,因此LSTM模型能够更好地应用于文本情感分析。LSTM模型的网络结构如图3所示。

图3中,Xt为输入向量;Yt输出向量;Ct:cell是LSTM的记忆细胞状态;LSTM神经网络包含“三种门”机制,分别为“输入门”(It:InputGate)、“遗忘门”(Ft:Forget Gate)和“输入门”(It:Input-Gate),LSTM利用这种“门”机制来控制记忆细胞的状态,删减或增加其中的信息从而使LSTM拥有长期记忆的功能。

2 实验

2.1 实验环境、数据集和评估指标

本文实验的环境为Windows1064bit的操作系统,主要参数CPU:InterICorel i5-5200U CPU@ 2.20GHZ 2.20。内存为8GB,编程语言是python3.7.3。深度学习框架Keras。

本文实验采用了网络电影数据库( Internet Movie Database,IMDb),IMDb[6]是一个与电影相关的在线数据库,始于1990年并于1998年起成为亚马逊旗下的网站,至今共收录了400多万部电影作品数据。IMDb数据集共有50000项“影评文字”,其中训练数据与测试数据各占50%,每一项“影评文字”都被标记为“正面评价(pos)”或“负面评价(neg)”。

在机器学习、自然语言处理中评估是一个重要的环节,本文评估模型主要是通过分析训练的准确率、测试集准确率和运行效率来评价模型。

2.2基于Keras框架的程序设计流程图

用Keras建立模型一般包括数据预处理、建立模型、训练模型评估模型准确率和进行预测和使用模型这几个阶段。Keras自然语言处理IMDb影评文字的设计流程如图4所示。

图4是程序设计总流程图,首先是对IMDb影评文字进行预处理,读取IMDb数据集;然后建立token(2000个字的字典),并使用已经建立的token将“影评文字”转换为“数字列表”;由于每一条“影评文字”的字数不一致需要进行截长补短的处理,将“数字列表”的长度设置为100。经过数据预处理可以产生训练数据和测试数据。第二步是加入Embedding层可以将“数字列表”转换为“向量列表”,为了避免过度拟合加入了Dropout算法的比率D。第三步是建立深度学习模型,模型的主要参数为:词向量的维度设为32,MPL模型“平坦层”(200个神经元)和“隐藏层”(256个神经元),RNN模型中神经元unit为16,LSTM建立了32个神经元。经过对模型进行训练和预测,可以看到以0(负面)或1(正面)作为输出预测结果。

2 实验结果分析

综上研究论述后,共执行10个训练周期,通过对比“Acc训练集准确率”和“vaLacc验证集准确率”来分析模型的准确率。神经网络模型由于参数数量较多在训练时很容易产生过拟合现象,为了更好地解决过度拟合问题,模型引入拟合参数Drop-out,图5为Dropout=0.2时的运行结果。

从图5可以看出,经过10个训练周期之后,训练和验证的准确率都越来越高。在模型训练后期,“训练的准确率(acc)”和“验证的准确率(val_acc)”之间差距变小,过度拟合程度已经减轻。误差越来越小,准确率越来越高。运行结果显示MPL的验证准确率约为0.83,RNN约为0.84,LSTM约为0.86。

通过图6可以看出,经过10个训练周期,三种模型中运行时间最快的是MPL,RNN和LSTM次之。结合图5可知,在Dropout=0.2时,LSTM验证准确率最高但运行时间较长,RNN准确率和运行效率居中,MPL验证准确率相对较低但运行效率最高。

为了更好地观察过度拟合参数对模型的影响,可以通过调节拟合参数来分析其对模型准确率的影响。实验结果如图7所示。

从图7可以得到,当过拟合参数在0.1-0.5之间变化时,三种算法的验证准确率在0.83-0.86之间变化。其中MPL算法在Dropout=0.2时验证精度最低,此时VaLacc= (0.83),在Dropout=0.4时,具有最高验证精度vaLacc=(0.86);RNN算法在Dropout=0.1时验证精度最低,此时val_acc= (0.83),在Dropout=0.3时,验证精度最高为0.85;LSTM算法在Dropout=0.2时验证精度最低,此时val_acc=(0.85),在Dropout=0.5时,验证精度最高为0.86。

因此選择不同的过拟合参数对模型的验证准确率(val_acc)有较大的影响。在实际的应用当中,应根据具体情况选取合适的过拟合参数,增强网络的泛化能力。

4 结论

本文主要对IMDb数据集使用词嵌入(Word Embedding)自然语言处理的方法进行预处理,基于Keras框架设计并建立了MLP、RNN和LSTM三种深度学习模型,通过对模型进行训练、预测,最终可以预测出影评文字是正面的还是负面的。

实验结果表明使用MPL模型准确率较低但运行时间最短;使用RNN模型准确率高于MPL但运行时间相对较长;由于LSTM模型解决了RNN模型中的长期依赖问题验证准确率最高可以达到86%,但消耗时间最长。随着GPU的快速发展可大大缩短深度学习模型的训练时间,使LSTM等神经网络模型得到更加广泛的应用。

参考文献:

[1]杨立公,朱俭,汤世平.文本情感分析综述[J].计算机应用,2013,33(6):1574-1578.

[2]梁军,柴玉梅,原慧斌,等.基于极性转移和LSTM递归网络的情感分析[J].中文信息学报,2015,29(5):152-159.

[3]王文凯,王黎明,柴玉梅.基于卷积神经网络和Tree-LSTM的微博情感分析[J].计算机应用研究,2019,36(5):1371-1375.

[4]张紫琼,叶强,李一军.互联网商品评论情感分析研究综述[J].管理科学学报,2010,13(6):84-96.

[5]刘毅铭.深度学习研究与应用综述[J].绿色科技,2019(11):281-283.

[6]林大贵.TensorFlow+Keras深度学习人工智能实践应用[M].清华大学出版社,2018,162-200.

[7]何平,刘紫燕.基于改进多层感知机的手写数字识别[J].通信技术,2018,51(9):2075-2080.

【通联编辑:唐一东】

收稿日期:2019-08-15

作者简介:方碧云(1994-),女,河南平顶山人,硕士,主要研究方向为信号与信息处理。

猜你喜欢
情感分析神经网络
神经网络抑制无线通信干扰探究
基于双向循环神经网络的评价对象抽取研究
在线评论情感属性的动态变化
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源
基于GA-BP神经网络的光伏阵列MPPT研究