Sentiment_Analysis / modules /sentiment_analysis.py
Pro-Coder's picture
Rename modules/sentiment-analysis.py to modules/sentiment_analysis.py
711eab8 verified
Raw
History Blame Contribute Delete
994 Bytes
# modules/sentiment_analysis.py
from transformers import pipeline
# Load sentiment pipeline (you can change model to "distilbert-base-uncased-finetuned-sst-2-english")
sentiment_pipeline = pipeline("sentiment-analysis", "distilbert-base-uncased-finetuned-sst-2-english")
def analyze_sentiment(texts: list) -> list:
"""
Perform sentiment analysis on a list of texts.
Returns a list of dictionaries with label and score.
"""
results = []
for t in texts:
if t.strip():
try:
result = sentiment_pipeline(t)[0]
results.append({
"text": t,
"label": result["label"],
"score": float(result["score"])
})
except Exception as e:
results.append({
"text": t,
"label": "ERROR",
"score": 0.0,
"error": str(e)
})
return results