基于Python的微博文本情感分析判断

一、问题
根据所给数据对微博文本情感分析判断,提交代码和结果(其中结果列表(csv格式)有三列,第一列是序号,第二列是微博文本【review】,第三列是情感属性标签【label】)
二、基本思路
1.情感极性分析是对带有感情色彩的主观性文本进行分析、处理、归纳和推理的过程。按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析。其中,前者多用于舆情监控和信息预测,后者可帮助用户了解某一产品在大众心目中的口碑。
目前常见的情感极性分析方法主要是两种:基于情感词典的方法和基于机器学习的方法。而今天我要介绍的是一种最简单的情感分析方法:基于Python的SnowNLP库的情感分析。SnowNLP是python中用来处理文本内容的,可以用来分词、标注、文本情感分析等,情感分析是简单的将文本分为两类,积极和消极。
2.提取所需数据微博文本,对数据进行预处理,去除空值和重复值,然后导入数据进行情感分析,值越接近1为积极,接近0为消极,设置了判断,对于大于0.01的文本判断为积极,否则为消极。
三、程序(Python)

#加载必要 Pandas 的模块
import pandas as pd
# 读取文本数据
data = pd.read_excel('作业数据-微博爬取原始数据-1.xlsx')
data=data.iloc[:,1]
import numpy as np
from snownlp import SnowNLP
import matplotlib.pyplot as plt
sentimentslist=[]
for i in data:
    s=SnowNLP(i)
    sentimentslist.append(s.sentiments)
plt.hist(sentimentslist,bins=np.arange(0,1,0.01),facecolor='g')
plt.xlabel('Sentiments Probability')
plt.ylabel('Quantity')
plt.title('Analysis of Sentiments')
plt.show()
import numpy as np
y=np.zeros(len(data))
for i in range(len(y)):
    if sentimentslist[i]>=0.01:
        y[i]=1
    else:
        y[i]=0
y=pd.DataFrame(y)
data=pd.concat([data,y],axis=1)
ID=np.arange(1,len(data)+1)
result={'序号':ID,'review':data.iloc[:,0],'label':data.iloc[:,1]}
result=pd.DataFrame(result)
result.to_excel('result.xlsx')

四、结果(截图)
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值