python实现电商评论的情感分析
  现如今各种APP、、微博、购物⽹站等⽹站都允许⽤户发表⼀些个⼈看法、意见、态度、评价、⽴场等信息。针对这些数据,我们可以利⽤情感分析技术对其进⾏分析,总结出⼤量的有价值信息。例如对商品评论的分析,可以了解⽤户对商品的满意度,进⽽改进产品;通过对⼀个⼈分布内容的分析,了解他的情绪变化,哪种情绪多,哪种情绪少,进⽽分析他的性格。怎样知道哪些评论是正⾯的,哪些评论是负⾯的呢?正⾯评价的概率是多少呢?
  利⽤python的第三⽅模块SnowNLP可以实现对评论内容的情感分析预测,SnowNLP可以⽅便的处理中⽂⽂本内容,如中⽂分词、词性标注、情感分析、⽂本分类、提取⽂本关键词、⽂本相似度计算等。⼤概⼤于等于0.5,可以判断为正⾯评价——积极情感,⼩于0.5,可以判断为负⾯评价——消极情感。
  下⾯分析⼀组京东上某产品的评论数据并⽣成折线图:
部分源数据:
实现过程:
#加载情感分析模块
from snownlp import SnowNLP
#from snownlp import sentiment
html hr标签颜和高度
import pandas as pd
import matplotlib.pyplot as plt
#导⼊样例数据
aa ='F:\\python⼊门\\python编程锦囊\\Code(实例源码及使⽤说明)\\Code(实例源码及使⽤说明)\\Code(实例源码及使⽤说明)\\09\\data\\京东评论.xls'
toolbar menu#读取⽂本数据
ad_excel(aa)
#提取所有数据
df1=df.iloc[:,3]
print('将提取的数据打印出来:\n',df1)
#遍历每条评论进⾏预测
values=[SnowNLP(i).sentiments for i in df1]
#输出积极的概率,⼤于0.5积极的,⼩于0.5消极的
#myval保存预测值
myval=[]
good=0
源代码豆瓣豆瓣
普特彼不良反应bad=0
for i in values:
if (i>=0.5):
myval.append("正⾯")
good=good+1
else:
myval.append("负⾯")
sqlyog连接mysql数据库错误1045bad=bad+1
df['预测值']=values
df['评价类别']=myval
#将结果输出到Excel
<_excel('F:\\python⼊门\\python编程锦囊\\Code(实例源码及使⽤说明)\\Code(实例源码及使⽤说明)\\Code(实例源码及使⽤说明)\\09\\data\\result2.xls')
rate=good/(good+bad)
print('好评率','%.f%%' % (rate * 100)) #格式化为百分⽐
#作图
y=values
<('font', family='SimHei', size=10)
plt.plot(y, marker='o', mec='r', mfc='w',label=u'评价分值')
plt.xlabel('⽤户')
京东python入门教程
plt.ylabel('评价分值')
# 让图例⽣效
plt.legend()
#添加标题
plt.title('京东评论情感分析',family='SimHei',size=14,color='blue') plt.show()
Excel结果:
作图的结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。