我正在尝试使用python中的VADER确定客户反馈的情感评分。下面的简单代码可以完美地运行以提供个人反馈,并返回包含负,中性,正和复合得分的字典。
代码:
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
feedback = "Food was very good"
vader = SentimentIntensityAnalyzer()
sentiment = vader.polarity_scores(feedback)
print(sentiment)
结果: {'neg':0.0,'neu':0.484,'pos':0.516,'compound':0.4927}
现在,我有一个包含4k +客户反馈的电子表格。我想做的是遍历每个反馈,并添加4个新col作为Negative_Score,Neutral_Score,Positive_Score和Compound_Score。我写了下面的代码并没有得到预期的结果。每行得到相同的分数。任何帮助将不胜感激。
代码:
import os.path
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
import pandas as pd
data = pd.read_excel(r"C:\...\sample_feedback.xlsx")
#Sample_feedback.xlsx has two col customer and feedbacktext
vader = SentimentIntensityAnalyzer()
data["Negative_Score"] = vader.polarity_scores(data["feedbacktext"]).get("neg")
data