Spaces:
Sleeping
Sleeping
# | |
# | |
import gradio as gr | |
from textblob import TextBlob | |
def sentiment_analysis(text: str) -> dict: | |
""" | |
Analyze the sentiment of the given text. | |
Args: | |
text (str): The text to analyze | |
Returns: | |
dict: A dictionary containing polarity, subjectivity, and assessment | |
""" | |
blob = TextBlob(text) | |
sentiment = blob.sentiment | |
_polarity = round(sentiment.polarity, 2) # -1 (negative) to 1 (positive) | |
_subjectivity = round(sentiment.subjectivity, 2) # 0 (objective) to 1 (subjective) | |
_assessment = "positive" if _polarity > 0 else \ | |
"negative" if _polarity < 0 else "neutral" | |
return { | |
"polarity": _polarity, | |
"subjectivity": _subjectivity, | |
"assessment": _assessment, | |
} | |
# Create the Gradio interface | |
demo = gr.Interface( | |
fn = sentiment_analysis, | |
inputs = gr.Textbox(placeholder="Enter text to analyze..."), | |
outputs = gr.JSON(), | |
title = "Text Sentiment Analysis", | |
description = "Analyze the sentiment of text using TextBlob" | |
) | |
# Launch the interface and MCP server | |
if __name__ == "__main__": | |
demo.launch(mcp_server=True) |