diff --git a/sentiment.py b/sentiment.py new file mode 100644 index 0000000..1c1cc1c --- /dev/null +++ b/sentiment.py @@ -0,0 +1,35 @@ +import json +from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer + +def analyze_sentiment_vader(text, analyzer): + """ + Analyzes text using VADER and returns a dictionary with the results. + + Args: + text (str): The text content to analyze. + analyzer (SentimentIntensityAnalyzer): An instantiated VADER analyzer. + + Returns: + dict: A dictionary containing the sentiment classification, compound score, + and detailed scores (positive, neutral, negative). + """ + scores = analyzer.polarity_scores(text) + compound_score = scores['compound'] + + if compound_score >= 0.05: + sentiment = 'Positive' + elif compound_score <= -0.05: + sentiment = 'Negative' + else: + sentiment = 'Neutral' + + return { + 'sentiment': sentiment, + 'score': compound_score, + 'details': scores + } + +vader_analyzer = SentimentIntensityAnalyzer() + +def analyze(content): + return analyze_sentiment_vader(content, vader_analyzer)