s2049's picture
Update app.py
64b7228 verified
import gradio as gr
from transformers import pipeline
def analyze_sentiment(text):
sentiment_analyzer = pipeline(
"sentiment-analysis",
model="nlptown/bert-base-multilingual-uncased-sentiment"
)
result = sentiment_analyzer(text, return_all_scores=True)
score = int(result[0]['score'] * 5)
sentiment_stars = "⭐" * score
return sentiment_stars
with gr.Blocks() as demo:
gr.Markdown("## Sentiment Analysis Demo")
with gr.Row():
examples_dropdown = gr.Dropdown(
label="Click to load example texts",
choices=[
"I love this product! It's amazing!",
"This was the worst experience I've ever had.",
"The movie was okay, not great but not bad either.",
"Absolutely fantastic! I would recommend it to everyone."
],
interactive=True
)
def load_example(selected_example):
return selected_example
with gr.Row():
input_text = gr.Textbox(
label="Enter your text here",
placeholder="Type or paste your text...",
lines=3
)
with gr.Row():
analyze_button = gr.Button("Analyze Sentiment", variant="primary")
with gr.Row():
output_text = gr.Textbox(
label="Sentiment (Stars)",
lines=1
)
examples_dropdown.change(
fn=load_example,
inputs=examples_dropdown,
outputs=input_text
)
analyze_button.click(
fn=analyze_sentiment,
inputs=input_text,
outputs=output_text
)
if __name__ == "__main__":
demo.launch()