通过爬虫获取到电商评论文本,计算各个文本的情感分
import pandas as pd
io = r'C:\Users\beauty device comment.xlsx'
data2 = pd.read_excel(io,sheet_name="Sheet1",usecols="A:C")
data2.head(3)
第一种方法:使用snownlp计算
from snownlp import SnowNLP
sentiment_result = []
for sentiobj in data2["评论文本"]:
any_obj = SnowNLP(sentiobj)
sentiment_result.append(any_obj.sentiments)
data2["snownlp情感分"]=sentiment_result
第二种方法:使用百度Aipnlp
from aip import AipNlp
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
#百度情感评级
#sentiment情感极性分类结果, 0:负向,1:中性,2:正向
sentiment_baidu_result = []
for sentiobj2 in data2["评论文本"]:
any_obj2 = client.sentimentClassify(sentiobj2['items'][0]['sentiment'])
sentiment_baidu_result.append(any_obj2)
data2["百度情感评级"]=sentiment_baidu_result
#百度正向分数
import time
sentiment_baidu_positive = []
for sentiobj2 in data2["评论文本"]:
any_obj2 = client.sentimentClassify(sentiobj2)
sentiment_baidu_positive.append(any_obj2['items'][0]['positive_prob'])
data2["baidu_positive"]=sentiment_baidu_positive
#百度负向分数
sentiment_baidu_negative = []
for sentiobj2 in data2["评论文本"]:
any_obj2 = client.sentimentClassify(sentiobj2['items'][0]['negative_prob'])
sentiment_baidu_negative.append(any_obj2)
data2["baidu_negative"]=sentiment_baidu_negative