温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
LSTM
模型
循环
神经网络
情感
分析研究
实现
基金项目院福建省教育厅中青年教师教育科研项目(科技类):基于循环神经网络的情感分析(JAT210551)。作者简介院黄丽凤(1984-),女,福建泉州人,讲师,研究方向:软件工程、web 开发、机器学习;吴宗波(1978-),男,安徽蚌埠人,讲师,研究方向:软件开发、人工智能、机器学习。收稿日期院2023-01-28基于 LSTM 模型循环神经网络的情感分析研究与实现黄丽凤,吴宗波泉州信息工程学院,福建泉州362000摘要:利用循环神经网络搭建基于 LSTM 模型,对网上商品评论信息进行情感分析。首先,利用 word2Vec 的词向量训练方法,解决传统文本中向量矩阵所占存储空间大,导致运行时间长的问题;其次,提出了标准长度零矩阵的填充算法,利用 LSTM 完成评论信息的自动“遗忘”和“记忆”,可提高模型的运行时间和准确率;最后,为提高模型的泛化能力,减少参数,提高拟合能力,对embedding 层和 LSTML 单元进行随机失活。实验表明,可显著提高对商品评论的分类准确率,有效预测商品销售趋势。关键词:循环神经网络;LSTM 模型;情感分析中图分类号:TP183文献标识码:A文章编号:2095-7734(2023)03-0034-03在互联网快速发展的推动下,越来越多的人喜欢足不出户进行网上购物。网上商品的性能、价格、实用性等评价信息已经成为了用户对商品好坏的情感描述。然而,这些情感信息,用户评价主观性较强,数据量大,文本信息不规范等现象,仅仅依靠人工去分析用户的情感是不精确的。为此,可以利用计算机自动化的文本挖掘技术来实现。它可以在最短的时间内,通过计算机,快速获取、整理、分析、归纳网络中大量带有个人情感,如积极,消极、中性等有价值的主观评价信息1,通过这些信息去判断用户的感情倾向。目前,国内外对情感分析模型的研究主要划分成三个方法,基于词典的规则方法、机器学习方法和深度学习方法2。本文则将自注意力机制引入 LSTM模型,构建基于深度学习方法的情感分类。1 LSTM+Attention Model 情感分类模型全连接神经网络(FCNN)在同一层各个节点之间是没有连接的,无法使用序列之前时刻的信息,也就是没有办法处理前一个输入和后一个输入之间的关系。但在现实生活中,信息之间往往有很复杂 的 关 联 性 和 依 赖 性,因 此 循 环 神 经 网 络(Recurrent Neural Network,RNN)应运而生14。1.1 循环神经网络(RNN)RNN 主要的应用场景是处理时间序列问题数据,也就是神经元中某一时刻的输出可以作为下一时刻的输入。RNN 的结构如图 1 所示。图 1RNN 结构图从图 1 可知,右边是每一个神经元从输入、处理,到数据输出的过程,每个神经元完成工作的过程是一样,因此,可以折叠成左图的效果。从图 1 来看,所有的神经元有用到一组 W,U,V 参数,这组参数被整个循环神经网络所共享。在某一时刻 t,其输出层的公式为:Ot=f(WSt-1+UXt+V)(公式 1)在 RNN 中,完成 t 时刻数据输出,需要接收 t-1时刻输出 St-1,这取决于 t 时刻输入 Xt。RNN“记住”前面多个时刻的输入值来共同计算当前时刻的输出值,这使隐藏层之间的节点建立了连接15。RNN 的梯度消失和梯度爆炸问题,导致信息无2023 年 6 月普洱学院学报Jun.2023第 39 卷第 3 期Journal of Puer UniversityVol.39No.334法长期保存。霍克赖特等人提出长短期记忆(LongShort-Term Memory,LSTM)网络16,LSTM 能更好地缓解长期依赖、梯度消失和梯度爆炸的问题。1.2 长短期记忆 渊Long Short-Term Memory袁LSTM冤网络LSTM 网络结构和 RNN 结构相似,它用特殊的方法来记忆存储数据。在 LSTM 结构中,主要有四个输入和一个输出组成。其内部结构如下图 2:图 2LSTM 结构的输入与输出图在图 2 中,神经元的输入是 Xt-1,Xt,Xt+1,神经元的输出是 ht-1.ht,ht+1,滓 和 tanh 分别表示 Sigmoid 和tanh 激励函数。和茚分别表示相加和相乘操作。箭头代表数据的传输。其工作流程如下:(1)遗忘门工作,判断是否舍弃上一步传来的信息:先读取 ht-1作为前一神经元输出,Xt作为当前神经元输入,两者之间经过 Sigmoid 函数,输出一个介于 0 到 1 之间的数值。数字从 0-1 代表信息从完全舍弃到完全保留,其输出公式为:ft=Sigmoid(Wf.ht-1,xt+bf)(公式 2)(2)输入门工作,决定更新哪些信息:先读取 ht-1作为前一神经元输出,Xt作为当前神经元输入,两者之间经过 Sigmoid 函数,得到一个介于 0 到 1 之间的 it数值,此数值代表需要保留的信息。然后将ht-1和 Xt两个信息进行 tanh 函数,得到一个稍选值C軒t。最后将 it和C軒t其相乘,得到一个真正需要加入状态细胞的更新信息。输出公式为:it=Sigmoid(Wi.ht-1,xt+bi)(公式 3)C軒t=tanh(Wc.ht-1,xt+bc)(公式 4)(3)更新过程,将旧细胞状态更新为新细胞状态,根据前面的步骤,将 Ct-1 更新为 Ct。输出公式为:Ct=ftCt-1+itC軒t(公式 5)(4)输出门工作,决定输出哪些信息:与前面的相似,先经过 Sigmoid 函数,得到一个介于 0-1 之间的 Ot 数值,用来决定细胞状态中哪些信息部分可以输入,然后将细胞状态通过 tanh 函数,把数值调整成-1 到 1,最后再和 Ot相乘,从而得到最后决定输出的部分。输出公式为:Ot=Sigmoid(WO.ht-1,xt+bO)(公式 6)Ht=Ottanh(Ct)(公式 7)1.3 注意力机制 Attention Model利用 LSTM 对商品评论的句子进行情感分类时,如果用户评论句子比较短,正常不会产生误差,但如果用户评论句子比较长,编码时所有词语完全用一个中间语义向量来表示,单词自身的信息会消失,这会丢失一些细节信息。所以,引入注意力机制模型,其主要是为评论语句中的每个单词赋值一串权重参数。权重参数是分配的注意力系数,根据参数权重系数可以看出一组序列语句中每个词语的重要程度。权重有两个特征:一是所有项的取值都在 0-1 的正数;二是所有项的和加起来等于 1。利用注意力机制,将权重较大的赋予所在时刻隐藏状态的情感词,这不是对每个时刻的隐藏状态都平等对待,而是对权重大的时刻的隐藏状态加以特别关注。之后,再利用 杂燥枣贼皂葬曾 分类器的输入特征进行情感分类。2 实验及结果分析本文提出利用深度学习的循环神经网络方法研究用户对商品评论进行情感分析,实验环境为windows10、64 位操作系统,Intel(R)Core(TM)i5-7300HQ CPU 2.50GHz2.50 GHz 处理器,NVIDIA GeForce GTX 1050 显卡,以 Pytorch 作为深度学习的基础框架搭建模型。用谷歌推出的word2vec 算法来处理,将数据预处理的分词以向量的形式表示来作为训练模型中的输入。2.1 模型设计本项目的目标是创建一个基于循环神经网络的 LSTM 模型,该模型可以准确地对商品评论观点进行分类和区分。模型包括数据获取、数据预处理、模型建立、模型训练和测试四个部分。2.1.1 数据获取从 Kaggle 开放数据集网站找到亚马逊网站评论数据集进行情感分析。本数据集共包含 400 万条评论,其中 360 万条为训练数据,40 万条为测试数据,每条评论都被标识为积极情绪和消极情绪。2.1.2 数据预处理(1)生成词汇表黄丽凤,吴宗波:基于 LSTM 模型循环神经网络的情感分析研究与实现35由于在评论中经常包含一些没有意义的表情符号、标签符号等,这些信息的出现会对干扰到情感分析的结果。因此,需要进行数据预处理,使用regex、NumPy 和 NLTK 库来实现一些简单的自然语言处理函数,去除掉评论中一些没有情感色彩的词。这过程主要包含标签提取、数据清洗、词过滤。(a)根据数据集的评论信息,提取出评论中的标签并存储,其中 1 表示积极情感,0 表示消极情感。(b)把评论中不起作用的词语,如特殊的标点符号,数字或者太短的没有意义的评论去除。利用NLP 把长评论信息切分成短的相对独立的单词和符号,作为下一步的输入。(c)为了减少数据量,降低特征空间的维度,需过滤重复词和停用词。如重复出现的字母、符号;无意义的语气词,呢、吧。关系的连词好像、从、于等。(d)统计所有单词出现的频率。保留频率高的单词,以降低模型参数,减少低频率单词干扰。(2)文本向量化处理为了增加模型的准确性,减少训练时间,加载事先训练好的每个单词并编号,分配一个索引,然后将单词存储到索引映射的字典中,通过映射,给单词映射相应的索引,将评论信息数据转化成词向量。(3)填充词向量并转化成 np 数组由于评论信息长度不一,为了加快处理速度,需将其长度统一。这里选择以 200 长度的评论信息为标准,用 0 填充句子到较短评论信息或用 0 缩短较长评论信息,然后将其转化为 numpy 的数组。(4)按要求划分数据集根据机器学习惯例,把评论信息分成训练集和测试集,因数据需进行验证,项目将评论信息分成训练集、测试集和验证集,占比分为 0.8,0.1,0.1。2.1.3 模型建立(1)利用单词嵌入 embedding 构建词矩阵前面已经将商品的评论信息数据预处理成了有编号的向量,一条评论对应一个编号向量。然后将此向量进行单词嵌入 embedding,构建出词嵌入矩阵。Embedding 可以将文本中的单词转化成数字向量,这能以数字的形式对评论信息进行输入。(2)利用 LSTM 单元构建循环神经网络层长短时记忆网络(LSTM)细胞具有“遗忘”和“记忆”的功能,它的门控能根据信息重要性所分配的权重,决定存储、写入还是删除信息。因此,本项目以 LSTM 做为循环网络的基本单元。(3)利用 dropout 减少过拟合深度学习神经网络在训量少量数据时,容易出来过拟合,增加泛化性的错误。为了提高模型的泛化能力,减少参数,利用 dropout 正则化减少过拟合,为不同概率的训练数据进行加权计算。(4)定义学习率、损失函数和优化函数本项目中损失函数使用 BCELoss,优化器选择Adam.lr=0.005.2.1.4 模型训练和测试(1)模型训练根据训练数据集检查的模型输出,如果模型执行的结果比原来的更好,则保存模型。(2)模型测试先从验证损失最小的地方加载权重,然后计算模型的准确性。(3)运行结果Test loss:0.416Test accuracy:83.600%3 结语本文针对网站评论信息较长、语义表征关联紧密等特点,采用单词嵌入 embedding 构建词矩阵,有效解决了文本表示面临的数据稀疏和词间语义关系建模困难等问题;利用 LSTM 模型,能有效地处理数据序列化,并对整个文本语义特征进行分析、归类,更精确地提高分类准确性;引入注意力机制,得到文本中每个词的权重,克服了传统循环神经网络模型对情感词缺乏足够关心的缺点。这说明本文提出的情感分类模型具有一定的优越性。参考文献院1陈龙,管子玉,何金红,等援情感分类研究进展J.计算机研究与发展,2017,54(06):1150-1170援2余培援基于深度学习算法的评论情感分析研究D.南京信息工程大学,2019.3宋双永,李秋丹,路冬媛援面向微博客的热点事件情感分析方法J.计算机科学,2012,39(S1):226-228援4孙建旺,等援基于词典与机器学习的中文微博情感分析研究J.计算机应用与软件,2014,31(07):177-181援5樊振,过弋,张振豪,等援基于词典和弱标注信息的电影评论情感分析J.计算机应用,2018,38(11):3084原3088援普洱学院学报36