Tolga
Update app.py
159e685
raw
history blame
1.91 kB
import gradio as gr
import torch
from transformers import pipeline
model = pipeline(task="sentiment-analysis", model="tkurtulus/TurkishAirlines-SentimentAnalysisModel")
def sentiment_analysis(text):
res = model(text)[0]
res_label = {}
if res["label"] == "positive":
res_label["positive"] = res["score"]
res_label["negative"] = 1 - res["score"]
res_label["neutral"] = 1 - res["score"]
if res["label"] == "negative":
res_label["negative"] = res["score"]
res_label["positive"] = 1 - res["score"]
res_label["neutral"] = 1 - res["score"]
if res["label"] == "neutral":
res_label["neutral"] = res["score"]
res_label["positive"] = 1 - res["score"]
res_label["negative"] = 1 - res["score"]
return res_label
custom_css = """
#component-0 {
max-width: 600px;
margin: 0 auto;
}
h1,h2 {
text-align: center;
}
a {
color: #77b3ee !important;
text-decoration: none !important;
}
a:hover {
text-decoration: underline !important;
}
"""
browser_tab_title = "Sentiment Analysis"
intro_markdown = """## Sentiment Analysis
Using the [distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english) model, trained on movie reviews."""
with gr.Blocks(title=browser_tab_title, css=custom_css) as demo:
with gr.Row():
with gr.Column():
title = gr.Markdown(intro_markdown)
text_input = gr.Textbox(placeholder="Enter a positive or negative sentence here...", label="Text")
label_output = gr.Label(label="Sentiment outcome")
button_run = gr.Button("Compute sentiment")
button_run.click(sentiment_analysis, inputs=text_input, outputs=label_output)
gr.Examples(["That's great!", "The movie was bad.", "How are you"], text_input)
if __name__ == "__main__":
demo.launch()