From 9b002039a0e3989490a9b74375f5a9bf45246ec0 Mon Sep 17 00:00:00 2001 From: shrividyahegde Date: Sat, 10 Jan 2026 00:06:08 -0500 Subject: [PATCH 1/2] added Vader sentiment analysis methods for stronger analysis --- requirements.txt | 3 ++- src/sentiment.py | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 6cadabb..bcc3435 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,5 @@ pandas matplotlib requests textblob -streamlit \ No newline at end of file +streamlit +nltk \ No newline at end of file diff --git a/src/sentiment.py b/src/sentiment.py index b4e4be8..b1faacb 100644 --- a/src/sentiment.py +++ b/src/sentiment.py @@ -1,7 +1,9 @@ +import nltk from textblob import TextBlob +from nltk.sentiment import SentimentIntensityAnalyzer +nltk.download('vader_lexicon') - -def analyze_sentiment(text): +def analyze_sentiment_tb(text): polarity = TextBlob(text).sentiment.polarity if polarity > 0: return "positive" @@ -9,3 +11,34 @@ def analyze_sentiment(text): return "negative" else: return "neutral" + + +def analyze_sentiment_vader(text): + vader_sentiment = SentimentIntensityAnalyzer() + polarity = vader_sentiment.polarity_scores(text) + + if polarity["compound"] >= 0.05: + return "positive" + elif polarity["compound"] <= -0.05: + return "negative" + else: + return "neutral" + + +def analyze_sentiment(text): + tb_result = analyze_sentiment_tb(text) + + vader = SentimentIntensityAnalyzer() + vader_scores = vader.polarity_scores(text) + vader_result = analyze_sentiment_vader(text) + + # If both methods agree, return that sentiment + if tb_result == vader_result: + return tb_result + + # If they disagree, trust VADER when sentiment is strong + if abs(vader_scores["compound"]) >= 0.3: + return vader_result + + # Otherwise, neutral + return "neutral" From 5c4c730fcd3b4b63ecc8def075fe81f8e7c562d3 Mon Sep 17 00:00:00 2001 From: Shrividya Hegde Date: Fri, 9 Jan 2026 21:08:01 -0800 Subject: [PATCH 2/2] Add black and nltk to requirements --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index a7ef207..7603978 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,5 +5,6 @@ matplotlib requests textblob streamlit +black nltk