Spaces:
Sleeping
Sleeping
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() |