📅  最后修改于: 2023-12-03 15:04:24.094000             🧑  作者: Mango
在自然语言处理中,情感分析是一项重要的任务,VADER(Valence Aware Dictionary and sEntiment Reasoner)是一种基于规则的情感分析工具,它可以对文本进行情感分析,给出正面情感、负面情感和中性情感的得分。
VADER是nltk库中自带的模块,需要通过nltk下载:
import nltk
nltk.download('vader_lexicon')
使用VADER进行情感分析,需要借助nltk.sentiment.vader
模块中的SentimentIntensityAnalyzer
类:
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sentences = [
'This movie is good.',
'The restaurant has bad service.',
'I feel happy today.'
]
analyzer = SentimentIntensityAnalyzer()
for sentence in sentences:
scores = analyzer.polarity_scores(sentence)
print(f"{sentence}: {scores}")
输出的结果如下:
This movie is good.: {'neg': 0.0, 'neu': 0.265, 'pos': 0.735, 'compound': 0.4404}
The restaurant has bad service.: {'neg': 0.527, 'neu': 0.473, 'pos': 0.0, 'compound': -0.5423}
I feel happy today.: {'neg': 0.0, 'neu': 0.313, 'pos': 0.687, 'compound': 0.5719}
其中,neg
、neu
、pos
分别是负面情感、中性情感和正面情感的得分,取值范围为0~1,compound
是综合情感得分,取值范围为-1~1,越接近1表示情感越积极,越接近-1表示情感越消极。
因此,在使用 VADER 进行情感分析时,需要结合实际情况进行综合分析。