最近,我一直在学习如何在python中使用天赋来进行情感分析。我以前一直在使用vaderSentiment。我一直把情绪得分作为compound评分(介于-1到1之间,其中-1是最负面的,0是中性的,1是最积极的)。
有办法从flair得到同样的号码吗?
我试过了
from flair.models import TextClassifier
from flair.data import Sentence
classifier = TextClassifier.load('en-sentiment')
sentence = Sentence('The food was great!')
classifier.predict(sentence),它只返回其中一个类别的值,在此实例中它返回
Sentence: "The food was great !" [− Tokens: 5 − Sentence-Labels: {'label': [POSITIVE (0.9961)]}]什么是最简单的方法,将这些组合成一个复合得分?
非常感谢你抽出时间
发布于 2022-07-22 10:14:11
您可以使用Sklearn.MinMaxScaler将分数范围从0、1映射到-1。
flair_score=[]
.....
sentence.labels[0].to_dict()
attitude=sentence.labels[0].value
score=sentence.labels[0].score
if attitude=='NEGATIVE':
score=-score
return score
flair_score.append(score)
scaler = MinMaxScaler(feature_range=(-1, 1))
flair_attitude_score=np.array(flair_score).reshape(-1,1)
flair_result=scaler.fit_transform(flair_attitude_score).flatten()https://stackoverflow.com/questions/70858729
复制相似问题