-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsentiment.py
More file actions
31 lines (25 loc) · 716 Bytes
/
sentiment.py
File metadata and controls
31 lines (25 loc) · 716 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import nltk
from nltk.sentiment import SentimentIntensityAnalyzer
# Download VADER lexicon
nltk.download("vader_lexicon")
sia = SentimentIntensityAnalyzer()
def analyze_sentiment(text):
"""
Performs sentiment analysis using VADER
Returns sentiment label + scores
"""
scores = sia.polarity_scores(text)
compound = scores["compound"]
if compound >= 0.05:
sentiment = "Positive 😊"
elif compound <= -0.05:
sentiment = "Negative 😠"
else:
sentiment = "Neutral 😐"
return {
"sentiment": sentiment,
"positive": scores["pos"],
"neutral": scores["neu"],
"negative": scores["neg"],
"compound": compound
}