文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何利用python实现简单的情感分析

2023-07-02 09:00

关注

今天小编给大家分享一下如何利用python实现简单的情感分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1 数据导入及预处理

1.1 数据导入

#  数据导入import pandas as pddata = pd.read_csv('../data/京东评论数据.csv')data.head()

如何利用python实现简单的情感分析

1.2 数据描述

#  数据描述data.describe()

如何利用python实现简单的情感分析

1.3 数据预处理

#  数据预处理#  取出sku_Id,content字段data1 = data[['sku_id', 'content']]data1.head(10)

如何利用python实现简单的情感分析

2 情感分析

2.1 情感分

#  情感分析from snownlp import SnowNLPdata1['emotion'] = data1['content'].apply(lambda x: SnowNLP(x).sentiments)data1.head()

如何利用python实现简单的情感分析

#  情感数据描述data1.describe()

如何利用python实现简单的情感分析

emotion平均值为0.74,中位数为0.96,25%分位数为0.56,可见不到25%的数据造成了整体均值的较大下移。

2.2 情感分直方图

#  绘制情感分直方图import matplotlib.pyplot as pltimport numpy as np plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False bins = np.arange(0, 1.1, 0.1)plt.hist(data1['emotion'], bins, color = '#4F94CD', alpha=0.9)plt.xlim(0, 1)plt.xlabel('情感分')plt.ylabel('数量')plt.title('情感分直方图')plt.show()

如何利用python实现简单的情感分析

由直方图可见,评论内容两级分化较为严重;

3637条评论中有约2200条评论情感分在[0.9,1]区间内;同时,有约500条评论情感分在[0,0.1]区间内。

2.3 词云图

#  绘制词云图(这儿没有做停用词处理)from wordcloud import WordCloudimport jieba myfont = myfont = r'C:\Windows\Fonts\simhei.ttf'w = WordCloud(font_path=myfont)text = ''for i in data['content']:    text += idata_cut = ' '.join(jieba.lcut(text))w.generate(data_cut)image = w.to_file('词云图.png')image

如何利用python实现简单的情感分析

2.4 关键词提取

#  关键词提取top10#  这儿直接写import jieba运行会显示没有analyse属性from jieba import analyse key_words = jieba.analyse.extract_tags(sentence=text, topK=10, withWeight=True, allowPOS=())key_words

如何利用python实现简单的情感分析

以上关键词显示,消费者比较在意手机的“屏幕”“拍照”“手感”等特性,“华为”“小米”是出现频次最高的两个手机品牌。

参数说明 :

3 积极评论与消极评论

3.1 积极评论与消极评论占比

#  计算积极评论与消极评论各自的数目pos, neg = 0, 0for i in data1['emotion']:    if i >= 0.5:        pos += 1    else:        neg += 1print('积极评论数目为:', pos, '\n消极评论数目为:', neg)

如何利用python实现简单的情感分析

#  积极消极评论占比import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = False pie_labels = 'positive', 'negative'plt.pie([pos, neg], labels=pie_labels, autopct='%1.2f%%', shadow=True) plt.show()

如何利用python实现简单的情感分析

3.2 消极评论分析

#  获取消极评论的数据data2 = data1[data1['emotion'] < 0.5]data2.head()

如何利用python实现简单的情感分析

#消极评论词云图(这儿没有做停用词处理)text2 = ''for s in data2['content']:    text2 += sdata_cut2 = ' '.join(jieba.lcut(text2))w.generate(data_cut2)image = w.to_file('消极评论词云.png')image

如何利用python实现简单的情感分析

#消极评论关键词top10key_words = jieba.analyse.extract_tags(sentence=text2, topK=10, withWeight=True, allowPOS=())key_words

如何利用python实现简单的情感分析

消极评论关键词显示,“屏幕”“快递”“充电”是造成用户体验不佳的几个重要因素;屏幕和充电问题有可能是手机不良品率过高或快递压迫;

因此平台应注重提高手机品控,降低不良品率;另外应设法提升发货,配送,派件的效率和质量。

以上就是“如何利用python实现简单的情感分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯