sentiment-demo / app.py
sitijahrona's picture
Create app.py
56b62de verified
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model dan tokenizer dari Hugging Face
model = AutoModelForSequenceClassification.from_pretrained("kelompokjavonlp/sentiment_analysis")
tokenizer = AutoTokenizer.from_pretrained("kelompokjavonlp/sentiment_analysis")
# Update label sesuai model kamu
labels = ["Very Negative", "Negative", "Neutral", "Positive", "Very Positive"]
# Fungsi prediksi
def predict_sentiment(text):
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
pred = torch.argmax(probs).item()
return {labels[i]: float(probs[0][i]) for i in range(len(labels))}
# Interface Gradio
iface = gr.Interface(
fn=predict_sentiment,
inputs=gr.Textbox(label="Masukkan Kalimat"),
outputs=gr.Label(label="Hasil Sentimen"),
title="Demo Analisis Sentimen Bahasa Indonesia",
description="Model klasifikasi sentimen: Very Negative, Negative, Neutral, Positive, Very Positive."
)
iface.launch()