# 基于LSTM实现文本的情感分析-耳机用户情感可视化分析预测
#### 介绍
数据是关于用户对耳机不同主题的不同情感的评论,根据数据内容来对品牌的议题进行数据可视化与分析预测。
#### 代码实现内容
**一、对数据集进行读取,打印前20行数据、主题词、情感词、情感值,并绘制主题词、情感词、情感值的分布图**
![前20行数据、主题词、情感词、情感值](%E6%95%B0%E6%8D%AE%E6%89%93%E5%8D%B0.png)
根据数据集里的内容打印,我们看到主题词、情感词和情感值三列,之后对这三部分展开数据可视化与后续分析,用饼图和柱状图去直观体现
![主题词](%E4%B8%BB%E9%A2%98%E5%88%86%E5%B8%83%E5%9B%BE.png)
![情感词分布图](%E6%83%85%E6%84%9F%E8%AF%8D%E5%88%86%E5%B8%83%E5%9B%BE.png)
![情感值分布图](%E6%83%85%E6%84%9F%E5%80%BC%E5%88%86%E5%B8%83%E5%9B%BE.png)
**二、宏观了解后,对数据集进行处理,之后生成词云与不同的分布图**
1.删除过长与过短的评论、重复项、标点符号和英文字母过多的三类评论
2.提取不同情感种类、合成字符串、定义停用词
3.加载词云形状照片,之后生成各类词云图(所有情感词的、积极词、消极词、中立词)
![所有情感词词云图](%E6%89%80%E6%9C%89%E6%83%85%E6%84%9F%E8%AF%8D%E8%AF%8D%E4%BA%91%E5%9B%BE.png)
![积极词语词云](%E7%A7%AF%E6%9E%81%E8%AF%8D%E8%AF%AD%E8%AF%8D%E4%BA%91.png)
![消极词语词云](%E6%B6%88%E6%9E%81%E8%AF%8D%E8%AF%AD%E8%AF%8D%E4%BA%91.png)
![中立词语词云](%E4%B8%AD%E7%AB%8B%E8%AF%8D%E8%AF%AD%E8%AF%8D%E4%BA%91.png)
4.对不同主题词中进行不同情感词数量进行柱状图展示
首先对每个主题中评论分成好、中、坏三个方面,去看各个部分的评论数量
![不同主题的不同情感评论数](%E4%B8%8D%E5%90%8C%E4%B8%BB%E9%A2%98%E7%9A%84%E4%B8%8D%E5%90%8C%E6%83%85%E6%84%9F%E8%AF%84%E8%AE%BA%E6%95%B0.png)
5.去除中性词,之后对不同情感词语进行数据浏览
以下的可视化展示针对去除中性词后的数据展示,后面使用LSTM进行预测也是用的没有中性词的评论,所以代码加入了积极与消极的数据可视化展示
5.1 不同主题的不同情感评论数
![不同主题的不同情感评论数(去除中性词)](%E4%B8%8D%E5%90%8C%E4%B8%BB%E9%A2%98%E7%9A%84%E4%B8%8D%E5%90%8C%E6%83%85%E6%84%9F%E8%AF%84%E8%AE%BA%E6%95%B0%EF%BC%88%E5%8E%BB%E9%99%A4%E4%B8%AD%E6%80%A7%E8%AF%8D%EF%BC%89.png)
5.2 情感评论词前十数量展示(包含积极评论词与消极评论词)
![情感评论词前十数量](%E6%83%85%E6%84%9F%E8%AF%84%E8%AE%BA%E8%AF%8D%E5%89%8D%E5%8D%81%E6%95%B0%E9%87%8F.png)
5.3 积极情感词前十数量展示
![积极情感评论词前十数量柱状图](%E7%A7%AF%E6%9E%81%E6%83%85%E6%84%9F%E8%AF%84%E8%AE%BA%E8%AF%8D%E5%89%8D%E5%8D%81%E6%95%B0%E9%87%8F%E6%9F%B1%E7%8A%B6%E5%9B%BE.png)
5.4 消极情感词前十数量展示
![消极情感评论词前十数量柱状图](%E6%B6%88%E6%9E%81%E6%83%85%E6%84%9F%E8%AF%84%E8%AE%BA%E8%AF%8D%E5%89%8D%E5%8D%81%E6%95%B0%E9%87%8F%E6%9F%B1%E7%8A%B6%E5%9B%BE.png)
5.5 热力图展示
![热力图展示](%E7%83%AD%E5%8A%9B%E5%9B%BE%E5%B1%95%E7%A4%BA.png)
由结果可以看到“好”与主题词中的几个主题词相关性较高。如果我们没有去除中性去绘制热力图,某些中性评论词此对应各个主题词的相关性可能会更强,即存在很强的多重共线性。我们去除中性词这个变量,可以避免因多重共线性造成的过拟合。
**三、基于LSTM实现文本的情感分析预测**
我们想实现情感分类的一个预测模型,用于对文本数据进行情感分析预测,代码基于LSTM,实现将给定的文本分类为正面或负面情感。
包含:
数据预处理:直接调用无中性情感评论词的数据,并对情感值进行标签编码(1与-1变成1和0)。
数据集划分:将数据集分割为训练集和测试集,测试集占20%。
文本向量化和序列填充:使用Tokenizer对文本数据进行向量化,并对序列进行填充和截断。
构建LSTM模型:定义一个包含嵌入层、LSTM层和全连接层的神经网络模型。
模型训练:使用训练数据集对模型进行训练,使用二元交叉熵损失函数和Adam优化器。
模型评估:在测试集上评估模型的表现,计算并打印损失、准确率、精确率、召回率和F1分数。
结果展示:
![预测结果展示](%E9%A2%84%E6%B5%8B%E7%BB%93%E6%9E%9C%E5%B1%95%E7%A4%BA.png)
通过结果的截图,我们逐一进行分析:
模型的测试损失较低,预测误差小。
准确率87.324%,模型在大多数情况下能正确分类。
精确率为0.873,说明大部分预测为正类的样本是准确的。
召回率达到1.000,意味着模型对所有实际正类样本都进行了正确预测,没有漏检。
F1得分为0.932,显示模型在精确率和召回率之间达到了很好的平衡,综合表现优异。
总的来看模型在测试集上表现良好,具有很高的预测准确性和可靠性。特别是召回率达到1,说明模型在检测正类样本时没有漏掉任何一个正类样本。
注意:比较精度的评估指标中准确率和精确率不是同一个东西,准确率是指所有预测正确的样本占总样本的比例,精确率是指模型预测为正类的样本中实际为正类的比例,也就是说准确率关注的是总体预测的正确性,包括正类和负类样本。精确率仅关注模型预测为正类的样本是否真正为正类样本。
机智的程序员zero
- 粉丝: 2443
- 资源: 4701
最新资源
- 毕设和企业适用springboot智能制造类及信息安全管理系统源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及无人驾驶系统源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及行业资讯平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及智能图书馆管理系统源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及智能物流调度平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及智能云平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造类及资产管理平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及产品溯源系统源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及教育资讯平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及情感分析平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及企业IT解决方案平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及全渠道电商平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及视觉识别平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及人工智能客服平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及数据存储平台源码+论文+视频.zip
- 毕设和企业适用springboot智能制造平台类及图书管理系统源码+论文+视频.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈