当前位置:   article > 正文

python商品评论分析_python实现电商评论的情感分析

python实现淘宝京东商品评价情感分析及可视化

现如今各种APP、微信订阅号、微博、购物网站等网站都允许用户发表一些个人看法、意见、态度、评价、立场等信息。针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息。例如对商品评论的分析,可以了解用户对商品的满意度,进而改进产品;通过对一个人分布内容的分析,了解他的情绪变化,哪种情绪多,哪种情绪少,进而分析他的性格。怎样知道哪些评论是正面的,哪些评论是负面的呢?正面评价的概率是多少呢?

利用python的第三方模块SnowNLP可以实现对评论内容的情感分析预测,SnowNLP可以方便的处理中文文本内容,如中文分词、词性标注、情感分析、文本分类、提取文本关键词、文本相似度计算等。大概大于等于0.5,可以判断为正面评价——积极情感,小于0.5,可以判断为负面评价——消极情感。

下面分析一组京东上某产品的评论数据并生成折线图:

部分源数据:

1435484-20200617221825798-1139260302.png

实现过程:

#加载情感分析模块

from snownlp importSnowNLP#from snownlp import sentiment

importpandas as pdimportmatplotlib.pyplot as plt#导入样例数据

aa ='F:\\python入门\\python编程锦囊\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\09\\data\\京东评论.xls'

#读取文本数据

df=pd.read_excel(aa)#提取所有数据

df1=df.iloc[:,3]print('将提取的数据打印出来:\n',df1)#遍历每条评论进行预测

values=[SnowNLP(i).sentiments for i indf1]#输出积极的概率,大于0.5积极的,小于0.5消极的#myval保存预测值

myval=[]

good=0

bad=0for i invalues:if (i>=0.5):

myval.append("正面")

good=good+1

else:

myval.append("负面")

bad=bad+1df['预测值']=values

df['评价类别']=myval#将结果输出到Excel

df.to_excel('F:\\python入门\\python编程锦囊\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\Code(实例源码及使用说明)\\09\\data\\result2.xls')

rate=good/(good+bad)print('好评率','%.f%%' % (rate * 100)) #格式化为百分比#作图

y=values

plt.rc('font', family='SimHei', size=10)

plt.plot(y, marker='o', mec='r', mfc='w',label=u'评价分值')

plt.xlabel('用户')

plt.ylabel('评价分值')#让图例生效

plt.legend()#添加标题

plt.title('京东评论情感分析',family='SimHei',size=14,color='blue')

plt.show()

Excel结果:

1435484-20200617223933802-1183851778.png

作图的结果:

1435484-20200617222239801-2017730302.png

1435484-20200617224041622-1206212214.jpg

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/789126
推荐阅读
相关标签
  

闽ICP备14008679号