moodanalyzer / app.py
razanalsulami's picture
Update app.py
18faac8 verified
raw
history blame
1.33 kB
import gradio as gr
from transformers import pipeline
# Load sentiment analysis pipeline
sentiment_analysis = pipeline("sentiment-analysis", model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
# Function to analyze user's mood based on input
def analyze_mood(user_input):
# Analyze the mood from input text
result = sentiment_analysis(user_input)[0]
# Define mood and suggestion based on sentiment analysis
mood = "Neutral" # Default mood
suggestion = "You're doing okay! Stay calm 🌸" # Default suggestion
# Adjust mood based on analysis
if result["label"] == "POSITIVE" and result["score"] > 0.85:
mood = "Happy"
suggestion = "Keep doing what you're doing! 😊"
elif result["label"] == "NEGATIVE" and result["score"] > 0.85:
mood = "Sad"
suggestion = "Try to talk to someone, or take a break πŸ’‘"
# Return mood and suggestion without parentheses and quotes
return "Your mood is: " + mood + ". " + suggestion
# Set up Gradio inputs and outputs
inputs = gr.Textbox(label="How are you feeling today?", placeholder="Type your thoughts here...")
outputs = gr.Textbox(label="Mood and Suggestion")
# Launch the Gradio interface
gr.Interface(fn=analyze_mood, inputs=inputs, outputs=outputs, title="Mood Analyzer").launch()