好用全面的电商评论文本情感分析实战教程
这个是一个帮弟弟调试的项目,调试过程中觉得这个还是比较全面的,文本数据的基础处理、分词、词云可视化、LDA主题挖掘、分类模型构建等等都包括,对于学习或者入门来说还是不错的。
项目全貌:
项目中使用到的文本评论数据截图如下所示:
首先加载数据:
删除数据记录中所有列值相同的记录
通过人工观察数据发现,评论中夹杂着许多数字与字母,对于本案例的挖掘目标而言,这类数据本身并没有实质性帮助。另外,由于该评论文本数据主要是围绕京东商城中美的电热水器进行评价的,其中“京东”“京东商城”“美的”“热水器”“电热水器”等词出现的频数很大,但是对分析目标并没有什么作用,因此可以在分词之前将这些词去除,对数据进行清洗。
# 去除英文、数字、京东、美的、电热水器等词语
strinfo = re.compile('[0-9a-zA-Z]|京东|美的|电热水器|热水器|')
content = content.apply(lambda x: strinfo.sub('',x))
词是文本信息处理的基础环节,是将一个单词序列切分成单个单词的过程。准确地分词可以极大地提高计算机对文本信息的识别和理解能力。相反,不准确的分词将会产生大量的噪声,严重干扰计算机的识别理解能力,并对这些信息的后续处理工作产生较大的影响。中文分词的任务就是把中文的序列切分成有意义的词,即添加合适的词串使得所形成的词串反映句子的本意,中文分词的关键问题为切分歧义的消解和未登录词的识别。
未登录词是指词典中没有登录过的人名、地名、机构名、译名及新词语等。当采用匹配的办法来切分词语时,由于词典中没有登录这些词,会引起自动切分词语的困难。
分词最常用的工作包是jieba分词包,jieba分词是Python写成的一个分词开源库,专门用于中文分词,其有3条基本原理,即实现所采用技术。
基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)。
采用动态规划查找最大概率路径,找出基于词频的最大切分组合。
对于未登录词,采用HMM模型,使用了Viterbi算法,将中文词汇按照BEMS 4个状态来标记。
分词结果数据格式转化处理,方便后续使用:
之后删除标点符号数据:
构造各词在对应评论的位置列
接下来提取含有名词的评论
由于本案例的目标是对产品特征的优缺点进行分析,类似“不错,很好的产品”“很不错,继续支持”等评论虽然表达了对产品的情感倾向,但是实际上无法根据这些评论提取出哪些产品特征是用户满意的。评论中只有出现明确的名词,如机构团体及其他专有名词时,才有意义,因此需要对分词后的词语进行词性标注。之后再根据词性将含有名词类的评论提取出来。
接下来基于wordcloud词云可视化:
import matplotlib.pyplot as plt
from wordcloud import WordCloudfrequencies = result.groupby('word')['word'].count()
frequencies = frequencies.sort_values(ascending = False)
backgroud_Image=plt.imread('pl.jpg')# 自己上传中文字体到kesciwordcloud = WordCloud(font_path='simhei.ttf', # 设置字体,不设置就会出现乱码max_words=100,background_color='white',mask=backgroud_Image)# 词云形状my_wordcloud = wordcloud.fit_words(frequencies)
plt.imshow(my_wordcloud)
plt.axis('off')
plt.show()
由图可以看出,对评论数据进行预处理后,分词效果较为符合预期。其中“安装”“师傅”“售后”“物流”“服务”等词出现频率较高,因此可以初步判断用户对产品的这几个方面比较重视。
接下来对文本数据情感倾向性进行分析:
分别绘制词云图:
基于支持向量机SVM来实现情感识别:
模型训练
准确率评估
最后基于LDA实现主题挖掘分析:
主题数寻优
基于相似度的自适应最优LDA模型选择方法,确定主题数并进行主题分析。实验证明该方法可以在不需要人工调试主题数目的情况下,用相对少的迭代找到最优的主题结构。具体步骤如下:
取初始主题数k值,得到初始模型,计算各主题之间的相似度(平均余弦距离)。
增加或减少k值,重新训练模型,再次计算各主题之间的相似度。
重复步骤2直到得到最优k值。
LDA主题寻优过程可视化:
LDA主题结果:
最后基于pyLDAvis对LDA挖掘得到的主题进行可交互式可视化展示,截图如下所示:
好用全面的电商评论文本情感分析实战教程相关推荐
- 电商评论文本情感分类(中文文本分类)(第二部分-Bert)
电商评论文本情感分类(中文文本分类) 第二部分-Bert部分 第一部分:textcnn部分 本项目包含: 1.中文文本处理 2.中文词云图绘制(在第一部分) 3.中文词嵌入 4.基于textcnn的中 ...
- python商品评论分析_python实现电商评论的情感分析
现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...
- 大数据毕业设计 电商评论数据分析情感分析 - nlp 机器学习
文章目录 0 前言 数据分析目的 数据预处理 评论去重 数据清洗 分词.词性标注.去除停用词 提取含名词的评论 绘制词云¶ 词典匹配 评论数据情感倾向分析 修正情感倾向 LinearSVC模型预测情感 ...
- 基于SnowNLP的商品评论文本情感分析
摘要:情感文本电商情感标注分析研究是当前电商数据情感挖掘学术研究的重要热点,具有极高的国际应用价值.对当前电商手机在线商品评论词典进行情感文本电商情感标注分析与词典数据情感挖掘研究具有很 ...
- 基于SnowNLP的购物评论文本情感分析及准确率验证
因论文涉及到SnowNLP情感分析的内容,于是对该内容进行了学习,但发现网上的资源发布更新不及时,大多数文章均发布于18年及以前.由于python版本的迭代,使得以往的资源代码有所出入,因此我对于Sn ...
- 合工大Python语言与系统设计大作业:微博评论文本情感分析
大作业:爬取微博评论文本并且分析文本的情感极性:pos or neg 外挂图片失败,请自行发挥想象!!! 文章目录 大作业:爬取微博评论文本并且分析文本的情感极性:pos or neg 设计背景 系统 ...
- 阅读:面向电子商务的评论文本情感分析研究
主题:评论文本的情感分析(倾向性分析.观点识别.意见挖掘.情感分类) 一.两种方法:基于语义,基于机器学习. 1.基于语义: 国外:(支持向量机(SVM)和贝叶斯算法具有较好的情感分类效果). 国内: ...
- Python文本情感分析实战【源码】
Python文本情感分析 引言: 情感分析:又称为倾向性分析和意见挖掘,它是对带有情感色彩的主观性文本进行分析.处理.归纳和推理的过程,其中情感分析还可以细分为情感极性(倾向)分析,情感程度分析,主客 ...
- snownlp中文文本情感分析详细教程
hello,大家好,我是wangzirui32,今天来教大家如何使用snownlp的中文文本情感分析功能,开始学习吧! 1. pip 安装 命令: pip install snownlp -i htt ...
最新文章
- 怎么用vc采集ni卡数据_智能水表读数怎么看?家用智能水表怎么安装?
- 【原】为DevExpress的ChartControl添加Y轴控制 和 GridControl中指定列添加超级链接
- Jsp中的动态INCLUDE和静态INCLUDE的区别?
- Andriod之使用极光推送自定义消息打造个性的消息推送效果
- Android之matrix类控制图片的旋转、缩放、移动
- 自适应表格连续字符换行及单行溢出点点点显示
- Ajax(二)-XMLHttpRequest(核心)对象的属性和方法
- 小熊派IoT开发板系列教程正式发布——免费学习
- SpringBoot实践 - SpringBoot+MySql+Redis
- 再学 GDI+[63]: 路径画刷(3) - SetFocusScales、GetFocusScales
- Android电池驱动【转】
- inster into java_SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- Lammps之循环定压比热熔计算
- 新人进群发邮件软件,QQ群潜伏发邮件软件,一进群就收到邮件软件
- Android 闹钟设置最新版
- 数学符号——指示函数(样子像空心的1的一个数学符号)
- VMware安装虚拟机操作步骤[史上最详细]
- 亚马逊账号关联的后果是什么
- L1-039 古风排版 (20分)
- 图片转化为字符画——get!小技巧【美人图,动物照,有趣注释图案】
热门文章
- HEU euler path
- 大学计算机实验教程实验6,大学计算机实验教程.第6版
- tiny4412移植uboot-2019-01(三)
- Normal Equations 的由来
- Eclipse 开发Hadoop2.7.1可能会遇到的问题
- pion最简单webrtc例子
- css3的媒体查询(Media Queries)
- 仅用 1/4 数据量还原真人语音100%细节,火山语音上新超自然对话语音合成技术...
- blender 制作城市建筑模型
- Qt 之 QCustomPlot(图形库)