天赋情感分析没有给出中立的结果

Flair Sentimental Analysis not Not giving Neutral results

我正在使用 Flair 进行情感分析。但是,当我尝试预测标签时,我永远无法获得中性 class。此外,class 的置信度太不真实了,即总是以 >0.97 的概率为正或以如此高的概率为负。即使是非常中性的词也很有可能被预测为正面或负面。

classifier = TextClassifier.load('en-sentiment')
inputQuery='Go There and Walk'

sentence = Sentence(inputQuery)
classifier.predict(sentence)
label = sentence.labels[0]
labscore = (label.score)*100
response = {'result': label.value, 'score':"%.2f" % labscore}
print(response)

这里的输出是 :{'result': 'POSITIVE', 'score': '96.66'} 我做错了什么?

问题不在于您的代码,而在于模型(在幕后)的训练方式及其工作方式。 Flair 使用的英语模型是基于 release 在某些数据集(电影和产品评论)上进行训练的。如果要查看模型文件,它通常位于您的主目录中的.flair sub-folder。

基本上,您使用的是提供给您分数的 pre-trained 模型。要获得不同的分数,您可以构建自己的模型,可能添加到现有模型中,也可以使用不同的模型。

您可以尝试其他模型,看看替换此行会得到什么结果:

classifier = TextClassifier.load('en-sentiment')

与:

classifier = TextClassifier.load('sentiment-fast') # for a RNN based model

请注意,上述模型不太可能为您提供更好的结果,但值得一试。否则,最好探索构建自己的情绪分析模型并加载它。