学习建议
- 现在很多网站、小程序、应用软件、博客、电商购物平台等,都有很多的用户评论数据,这些数据包含了用户对产品的认知、看法和一些立场;
- 那么我们可以对这些数据进行情感分析,可以得到一些有价值的信息,帮助我们进一步提升产品价值或用户体验;
- 本文主要针对某个博客的评论数据进行分析,分析用户的情感变化,包括正面的、负面的情绪变化等;
- 学习本文建议对Python的SnowNLP第三库有一定的了解,另外对Python的excel数据处理相关库有一些基础认知,比如pandas库、matplotlib库等等。
SnowNLP基础
什么是SnowNLP?
在学习前,我们先了解下什么是SnowNLP?
- SnowNLP是Python的第三方模块或者库;
- SnowNLP主要作用是可实现对评论内容的情感预测。
SnowNLP情感分析
- SnowNLP可友好的处理中文内容,包括中文分词、文本分类、提取文本关键词、文本相似度计算、情感分析等;
- 而针对情感分析,分析完成后可得到概率,从概率我们可以得出哪些是正面评论,哪些是负面评论;
- 情感分析中,概率大于0.5视为正面评价(积极情感),概率小于0.5视为负面评价(消极情感)。
SnowNLP使用
在进行实战之前,我们了解一些SnowNLP的简单使用,可对后续我们数据分析有一定的帮助。下边简单举几个例子,帮助大家理解SnowNLP的作用。
SnowNLP安装
直接使用pip安装即可:
情感分析
- 情感分析会对评价的正面和负面评价进行分析,大于0.5为正面,否则为负面;
中文分词
- 中文分析主要是对一句话进行分解,把整个语句分割成单个词语和汉字;
关键词提取
- 可以设置需要提取的关键词个数,然后输出对应的药提取的关键词;
拼音、词性标注
- 这个就不多介绍了,详细可以去看看SnowNLP的使用。
SnowNLP实战-博客评论数据的情感分析
数据准备
- 我们需要提供一组博客评论数据,然后进行分析;
- 数据建议可以放入excel中,方便分析,本文为了代码运行方面,后续会放置在变量中;
- 数据如下:
数据获取
- 有两种方式,第一种是把以上数据存入data.xls文件中,然后使用pandas读取即可,比如:
- 第二种方式是,我们直接把需要的数据放入变量,便于后续直接运行代码,如下:
数据分析
大致过程分如下几个步骤:
- 导入需要的模块或者库;
- 将需要的数据存入列表;
- 循环遍历所有数据;
- 输出积极和消极情绪的概率;
- 计算概率并根据结果生成图标的横纵坐标;
- 结果显示。
- 显示效果如下:
总结
Python实现博客评论数据的情感分析实际是使用了SnowNLP库的功能,SnowNLP不仅可以对评论数据进行情感分析,还能进行文本分类、中文分词、词性标注、提取关键词、文本相似度计算等操作。这样做数据分析其实为了帮助我们更好的了解我们的目标客户对于产品的使用反馈,可以很好帮助我们进一步提升产品质量。