4

在大多数情况下,我发现 polar_scores 返回输出为“中性”,而应该突出显示一些负面和正面情绪,例如考虑以下情况,我发现 {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}下面提到的所有 3 种情况。

  • 案例1:续约经理根本不适合该工作
  • 案例 2:John 在提供信息和安排协作会议方面非常透明且非常勤奋
  • 案例3:“仍然无法访问订购的产品。自文档签署以来已经一个多星期了”

代码:

    from nltk.sentiment.vader import SentimentIntensityAnalyzer
    sid = SentimentIntensityAnalyzer()
    a = "Our sales representative, Tom, was very attentive to our needs."
    sid.polarity_scores(a)

输出:

{'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

我预计在上面的例子中会突出一些消极和积极的情绪,而不是让'neu' = 1.0 和'compound' = 0.0。

谁能建议如何获得与给定文本字符串的实际情绪相匹配的更好结果?如果它们比 Vader 更好,我愿意探索其他库或包。

感谢您的建议。

4

1 回答 1

0

Vader 是一个基于 Lexicon 的情感分析库。在您提到的句子中,唯一不中立的词是“细心”,但正如您在此处看到的那样:https ://github.com/cjhutto/vaderSentiment/blob/master/vaderSentiment/vader_lexicon.txt不包括“细心”这个词在词典中,这就是为什么它表明您的句子是中性的。

于 2019-08-13T07:12:29.567 回答