ABSA-mBERT-ASC (Aspect Sentiment Classification)

Model ini adalah hasil fine-tuning dari bert-base-multilingual-uncased (mBERT) khusus untuk domain ulasan produk monitor berbahasa Indonesia, pada tugas Aspect Sentiment Classification (ASC). Model memprediksi sentimen (Positif/Netral/Negatif) dari sebuah ulasan terhadap satu aspek tertentu, sebagai tahap kedua dari pipeline Aspect-Based Sentiment Analysis (ABSA) dua tahap (ACD β†’ ASC).

Catatan domain: Model ini di-fine-tune secara spesifik pada data diskusi komunitas monitor (bukan produk umum), sehingga performa terbaiknya berada pada teks berbahasa Indonesia yang membahas monitor β€” termasuk jargon teknis seperti refresh rate, ghosting, IPS, sRGB, dan satuan seperti Hz/ms. Penggunaan di luar domain ini (produk lain) belum tentu memberikan performa setara.

Model ini dilatih sebagai pembanding terhadap varian IndoBERT dalam penelitian skripsi: "Implementasi Aspect-Based Sentiment Analysis (ABSA) Berbasis IndoBERT untuk Pemetaan Keluhan pada Ulasan Produk Monitor"

Detail Model

Nama Model ABSA-mBERT-ASC
Model Dasar bert-base-multilingual-uncased
Di-fine-tune oleh Louders Yoakim Telaumbanua
Bahasa Indonesia (id), basis multilingual
Task Text Classification (Aspect Sentiment Classification)
Lisensi Apache 2.0
Framework Hugging Face Transformers & PyTorch

Label Sentimen

Index Label
0 Negatif
1 Netral
2 Positif

Format Input

Model ini bukan classifier teks biasa β€” ia butuh konteks aspek yang sedang dinilai. Format input mengikuti pola "{kode_aspek} {teks_ulasan}", di mana kode_aspek didapat dari keluaran model ACD pasangannya (absa-mbert-acd).

Cara Penggunaan

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("loudersyoakim/absa-mbert-asc")
model = AutoModelForSequenceClassification.from_pretrained("loudersyoakim/absa-mbert-asc")

sentiment_labels = ["Negatif", "Netral", "Positif"]
aspect_code = "C2"  # contoh: hasil deteksi dari model ACD, misal "Harga & Nilai"
text = "Warnanya akurat banget, tapi harganya agak mahal dibanding toko sebelah."

asc_input = f"{aspect_code} {text}"
inputs = tokenizer(asc_input, return_tensors="pt", truncation=True, max_length=128)

with torch.no_grad():
    logits = model(**inputs).logits
    pred_idx = int(torch.argmax(logits, dim=1).item())

print(sentiment_labels[pred_idx])  # -> "Negatif"

Model ini tidak mendeteksi aspek mana yang dibahas β€” itu tugas model pasangannya. Untuk pipeline lengkap, jalankan absa-mbert-acd terlebih dahulu untuk mendapatkan daftar aspek, baru masukkan tiap aspek ke model ini.

Pipeline Lengkap

teks ulasan β†’ [ACD: absa-mbert-acd] β†’ daftar aspek yang terdeteksi
            β†’ [ASC: model ini]       β†’ sentimen (Positif/Netral/Negatif) per aspek

Data Pelatihan

Model dilatih pada pasangan (ulasan, aspek, sentimen) dari ulasan produk monitor berbahasa Indonesia yang identik dengan varian IndoBERT (5.985 pasangan berlabel, split β‰ˆ80:10:10 per-ulasan), untuk menjaga konsistensi perbandingan performa antar arsitektur dasar.

Hyperparameter terbaik hasil grid search: batch 16, learning rate 2e-5, 5 epoch (identik dengan IndoBERT-ASC). Kombinasi ekstrem (batch 16, lr 5e-5) menurunkan F1-Macro drastis dari 0,8864 menjadi 0,7231, mengonfirmasi tugas ASC sangat sensitif terhadap hyperparameter pada kedua arsitektur.

Evaluasi β€” Skenario 1: Ground-Truth Aspect (Data Uji)

Metrik Skor
Accuracy 0,8963
F1-Macro 0,8956
F1-Micro 0,8963
Sentimen Precision Recall F1
Negatif 0,93 0,92 0,93
Netral 0,83 0,92 0,87
Positif 0,92 0,86 0,89

Sama seperti IndoBERT, model paling andal mendeteksi sentimen Negatif (F1 0,93), dengan kesalahan klasifikasi terbanyak pada batas Netral–Positif.

Evaluasi β€” Skenario 2: End-to-End (ACD β†’ ASC berantai)

Metrik Skor
Accuracy 0,5676
F1-Macro 0,7645
F1-Micro 0,7883

Penurunan F1-Macro sebesar 14,6% dibanding Skenario 1 (dari 0,8956 β†’ 0,7645) β€” sedikit lebih besar dari penurunan pada IndoBERT (12,8%), mengindikasikan mBERT sedikit kurang tangguh terhadap efek cascading error dari tahap ACD.

Metrik lengkap lainnya (confusion matrix, interval kepercayaan bootstrap, uji McNemar vs IndoBERT) tersedia pada folder evaluation/ di repositori penelitian.

Model Terkait

Model Task
absa-indobert-acd Aspect Category Detection β€” basis IndoBERT
absa-indobert-asc Aspect Sentiment Classification β€” basis IndoBERT
absa-mbert-acd Aspect Category Detection β€” basis mBERT
absa-mbert-asc (model ini) Aspect Sentiment Classification β€” basis mBERT

Sitasi

@misc{telaumbanua2026absa,
  author = {Telaumbanua, Louders Yoakim},
  title = {Implementasi Aspect-Based Sentiment Analysis (ABSA) Berbasis IndoBERT untuk Pemetaan Keluhan pada Ulasan Produk Monitor},
  year = {2026},
  note = {Skripsi}
}
Downloads last month
11
Safetensors
Model size
0.2B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for loudersyoakim/absa-mbert-asc

Finetuned
(1836)
this model