Python 在nltk中的语气(情绪)分析中,我如何在量表上获得弱/强情绪的指标?
有一个像“单剂量”这样的文本,我的python程序会返回一个关于各种情绪概率的字典,比如Python 在nltk中的语气(情绪)分析中,我如何在量表上获得弱/强情绪的指标?,python,nltk,sentiment-analysis,emotion,Python,Nltk,Sentiment Analysis,Emotion,有一个像“单剂量”这样的文本,我的python程序会返回一个关于各种情绪概率的字典,比如 {'joy': 0.18, 'shame': 0.03, 'sadness': 0.53, 'guilt': 0.01, 'disgust': 0.14, 'anger': 0.08, 'fear': 0.007} (使用朴素贝叶斯分类器和一组训练数据) 然而,正如你所看到的,这篇文章没有任何强烈的情感。 因此,我需要另一本字典来说明每种情绪有多强烈 作为《客户评论》中的另一个例子,我希望它能为“操这”
{'joy': 0.18, 'shame': 0.03, 'sadness': 0.53, 'guilt': 0.01, 'disgust': 0.14, 'anger': 0.08, 'fear': 0.007}
(使用朴素贝叶斯分类器和一组训练数据)
然而,正如你所看到的,这篇文章没有任何强烈的情感。
因此,我需要另一本字典来说明每种情绪有多强烈
作为《客户评论》中的另一个例子,我希望它能为“操这”返回一个强烈的情感指标,而不是为“meh”返回一个微弱的情感指标。
但更重要的是,我不想给“我周六买的”这样的事实性句子加上标签
我没有尝试过任何东西,因为我没有找到任何线索。我唯一希望的是,我将上面的词典直接转换为另一个具有弱点/长处量表的词典,并避免为此目的进行单独的训练和分类过程
另一件事是上面字典中的概率之和是1,但在我想要的输出中,它不一定是1。(即标准化)
任何想法都值得赞赏。如果您检查nltk朴素贝叶斯分类器的代码: 您将看到通过此调用将分数标准化:
return DictionaryProbDist(logprob, normalize=True, log=True)
如果将该行更改为normalize=False,则将获得原始概率 如果我理解正确,你想要不同的结果(强积极/弱积极/弱消极/强消极)。您的模型似乎不是为您的任务而设计的。看看你能不能找到一个不同的,或者自己训练一个。