如何调整/重新培训NLTK强度分析器

2024-06-17 12:14:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用NLTK中的SentimentIntensityAnalyzer来获取关于航空公司服务的推文。有很多关于食品质量和准时性等的推特。通过下面的代码,我可以获得一个单词的极性

from nltk.sentiment.vader import SentimentIntensityAnalyzer
nltk.download('vader_lexicon')
sid = SentimentIntensityAnalyzer() 

sid.polarity_scores('delicious')
>>> {'neg': 0.0, 'neu': 0.0, 'pos': 1.0, 'compound': 0.5719}

sid.polarity_scores('delayed')
>>> {'neg': 1.0, 'neu': 0.0, 'pos': 0.0, 'compound': -0.2263}

然而,有很多词只返回“neutral”,这些词经常被用来表示航空公司的服务质量,所以我想得到一个合适的极性。任何想法都将不胜感激

sid.polarity_scores('tasty')
>>> {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

sid.polarity_scores('tasteless')
>>> {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

sid.polarity_scores('quick')
>>> {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

sid.polarity_scores('fast')
>>> {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

sid.polarity_scores('slow')
>>> {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

Tags: 代码posnltksidscores航空公司compound极性
1条回答
网友
1楼 · 发布于 2024-06-17 12:14:37

也许NLTK不是可以使用的库。我更喜欢使用TextBlob,下面是一个示例代码

from textblob import TextBlob

words = ["good", "bad", "fast", "quick", "slow"]
for word in words:
    processedWord = TextBlob(word)
    print(processedWord.sentiment.polarity)

输出:

0.7
-0.69
0.2
0.33
-0.30

我在测试你的话时只遇到一个问题:tasty的情绪也是中性的

相关问题 更多 >