SurAyush's picture
init
0cefc66
# Hugging face spaces needs an app.py file to build the space
# Hosted on https://huggingface.co/spaces/SurAyush/Sentiment-Ananlysis (git origin)
import gradio as gr
import json
from textblob import TextBlob
# gradio function (proper docstring)
def analyze_sentiment(text: str) -> dict:
"""
Analyze the sentiment of the input text.
Args:
text (str): The input text to analyze.
Returns:
str: A JSON string containing polarity, subjectivity, and assessment
"""
blob = TextBlob(text)
sentiment = blob.sentiment
result = {
"polarity": round(sentiment.polarity,2),
"subjectivity": round(sentiment.subjectivity,2),
"assessment": "positive" if sentiment.polarity > 0 else "negative" if sentiment.polarity < 0 else "neutral"
}
return json.dumps(result)
demo = gr.Interface(
fn = analyze_sentiment,
inputs = gr.Textbox(label="Input Text", placeholder="Enter text to analyze sentiment..."),
outputs = gr.JSON(label="Sentiment Analysis Result"),
title="Text Sentiment Analysis",
description="Analyze the sentiment of text using TextBlob"
)
if __name__ == "__main__":
demo.launch(mcp_server=True)