在学习前,我们先了解下什么是SnowNLP?
在进行实战之前,我们了解一些SnowNLP的简单使用,可对后续我们数据分析有一定的帮助。下边简单举几个例子,帮助大家理解SnowNLP的作用。
直接使用pip安装即可:
pip install snownlp
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2024/3/12
# 文件名称:test_snlp.py
# 作用:snownlp使用-情感分析
import subprocess
import sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "snownlp"])
from snownlp import SnowNLP
text = "我篇文章内容丰富、条理清晰,让我学到了很多~~~"
s = SnowNLP(text)
# 情感分析
sentiment = s.sentiments
if sentiment > 0.5:
print('正面评价')
else:
print('负面评价')
# 输出为:正面评价
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2024/3/12
# 文件名称:test_snlp.py
# 作用:snownlp使用-中文分词
import subprocess
import sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "snownlp"])
from snownlp import SnowNLP
data = "如果我有一个亿,我会不会飘?"
s = SnowNLP(data)
print(s.words)
# 输出:
# ['如果', '我', '有', '一个', '亿', ',', '我', '会', '不', '会', '飘', '?']
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2024/3/12
# 文件名称:test_snlp.py
# 作用:snownlp使用-关键词提取
import subprocess
import sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "snownlp"])
from snownlp import SnowNLP
text = "这是一篇关于Python数据处理的博客文章,主要介绍Python中SnowNLP库的使用方法以及实战。"
s = SnowNLP(text)
keywords = s.keywords(3) # 提取前3个关键词
print('关键词:', keywords)
# 输出为:关键词: ['Python', '库', 'SnowNLP']
类别 | 博客名称 | 时间 | 评价内容 |
---|---|---|---|
实用性 | Python字典和元组 | 2024/1/8 20:16 | 文章内容充实,对实际项目使用有很好的帮助 |
易学性 | 一篇文章看懂Python从0到放弃 | 2024/1/9 8:13 | 内容通俗易懂,可以快速入门Python的学习 |
完整性 | Python画图 | 2024/2/3 12:20 | 内容过于简单,不太完整,有点缺少重要内容,建议补充 |
实用性 | 我的Python学习成长记 | 2023/11/12 23:12 | 大佬这篇博文对我很有启发,感谢分享 |
易学性 | Python画图 | 2023/11/13 20:12 | 内容不太能理解,没学会,哈哈 |
完整性 | 一篇文章看懂Python从0到放弃 | 2023/12/30 20:15 | 内容很多,也很全,学习了 |
易学性 | 我的Python学习成长记 | 2023/12/20 21:15 | 可能我基础薄弱,感觉看不懂啊 |
易学性 | 如何在职场中呼风唤雨? | 2023/12/19 13:13 | 标题党,一看就是水文 |
完整性 | 如何在职场中呼风唤雨? | 2023/12/21 15:15 | 内容过于浮夸,不够完整,建议从实际中多讲讲 |
实用性 | 一篇文章看懂Python从0到放弃 | 2023/12/17 18:18 | 比较比较实用,学习了 |
完整性 | 我的Python学习成长记 | 2023/12/24 5:37 | 内容充实完整,值得推荐给小伙伴 |
实用性 | Python画图 | 2023/12/11 3:16 | 实用性还不错 |
易学性 | Python+selenium如何实现自动化测试? | 2023/12/9 16:48 | 内容不错,容易上手,感谢分享 |
完整性 | Python+selenium如何实现自动化测试? | 2023/12/8 11:33 | 内我很全啊,支持大佬 |
data = 'data.xls' df = pd.read_excel(data ) # 读取文本数据 df1=df.iloc[:,3] # 提取所有数据 print(type(df1)) values=[SnowNLP(i).sentiments for i in df1] # 遍历每条评论进行预测
data = ["文章内容充实,对实际项目使用有很好的帮助",
"内容通俗易懂,可以快速入门Python的学习",
"内容过于简单,不太完整,有点缺少重要内容,建议补充",
"大佬这篇博文对我很有启发,感谢分享",
"内容不太能理解,没学会,哈哈",
"内容很多,也很全,学习了",
"可能我基础薄弱,感觉看不懂啊",
"标题党,一看就是水文",
"内容过于浮夸,不够完整,建议从实际中多讲讲",
"比较比较实用,学习了",
"内容充实完整,值得推荐给小伙伴",
"实用性还不错",
"内容不错,容易上手,感谢分享",
"内我很全啊,支持大佬",
]
print(data)
大致过程分如下几个步骤:
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2024/3/12
# 文件名称:test_snlp.py
# 作用:Python实现博客评论数据的情感分析
import subprocess
import sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "snownlp"])
subprocess.check_call([sys.executable, "-m", "pip", "install", "matplotlib"])
from snownlp import SnowNLP
import matplotlib.pyplot as plt
data = ["文章内容充实,对实际项目使用有很好的帮助",
"内容通俗易懂,可以快速入门Python的学习",
"内容过于简单,不太完整,有点缺少重要内容,建议补充",
"大佬这篇博文对我很有启发,感谢分享",
"内容不太能理解,没学会,哈哈",
"内容很多,也很全,学习了",
"可能我基础薄弱,感觉看不懂啊",
"标题党,一看就是水文",
"内容过于浮夸,不够完整,建议从实际中多讲讲",
"比较比较实用,学习了",
"内容充实完整,值得推荐给小伙伴",
"实用性还不错",
"内容不错,容易上手,感谢分享",
"内我很全啊,支持大佬",
]
# 遍历数据并进行预测
values = [SnowNLP(i).sentiments for i in data]
print(values)
# 输出积极的概率,大于0.5积极的,小于0.5消极的
# 保存预测值
text = []
positive = 0
negative = 0
for i in values:
if(i>=0.5):
text.append("正面")
positive = positive + 1
else:
text.append("负面")
negative = negative + 1
# 计算好评率
rate = positive / (positive + negative)
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='red')
plt.savefig('plot.jpg')
Python实现博客评论数据的情感分析实际是使用了SnowNLP库的功能,SnowNLP不仅可以对评论数据进行情感分析,还能进行文本分类、中文分词、词性标注、提取关键词、文本相似度计算等操作。这样做数据分析其实为了帮助我们更好的了解我们的目标客户对于产品的使用反馈,可以很好帮助我们进一步提升产品质量。
腾讯云【文件存储】提供四种可选产品规格,0.35元/GB/月
https://cloud.tencent.com/product/cfs
文件存储(Cloud File Storage,CFS)提供了可扩展的共享文件存储服务,可与腾讯云的 CVM 、容器、批量计算等服务搭配使用。CFS 提供了标准的 NFS 及 CIFS/SMB 文件系统访问协议,为多个 CVM 实例或其他计算服务提供共享的数据源,支持弹性容量和性能的扩展,现有应用无需修改即可挂载使用,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理和内容管理等场景。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。