File size: 1,128 Bytes
21c01c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from transformers import pipeline
import gradio as gr

# Ganti model ke yang multilingual dan compatible!
model_id = "nlptown/bert-base-multilingual-uncased-sentiment"

# Load pipeline
sentiment_model = pipeline("sentiment-analysis", model=model_id)

# Mapping fungsi bintang ke label sentimen
def map_label(star_label):
    star = int(star_label.split()[0])  # Ambil angka dari "5 stars", dst
    if star <= 2:
        return "Negative 😠"
    elif star == 3:
        return "Neutral 😐"
    else:
        return "Positive 😊"

# Fungsi prediksi
def predict_sentiment(text):
    result = sentiment_model(text)[0]
    label = map_label(result['label'])
    confidence = round(result['score'] * 100, 2)
    return f"Sentiment: {label}\nConfidence: {confidence}%"

# Gradio UI
iface = gr.Interface(
    fn=predict_sentiment,
    inputs=gr.Textbox(lines=4, placeholder="Tulis pendapatmu di sini..."),
    outputs="text",
    title="🌐 Multilingual Sentiment Analyzer",
    description="Analisis sentimen teks dalam berbagai bahasa menggunakan model multilingual BERT."
)

iface.launch()