ABSA-IndoBERT-ACD (Aspect Category Detection)
Model ini adalah hasil fine-tuning dari indobenchmark/indobert-base-p2 khusus untuk domain ulasan produk monitor berbahasa Indonesia, pada tugas Aspect Category Detection (ACD). Model memprediksi aspek mana saja yang dibahas dalam satu ulasan (multi-label), sebagai tahap pertama 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 adalah bagian dari penelitian skripsi: "Implementasi Aspect-Based Sentiment Analysis (ABSA) Berbasis IndoBERT untuk Pemetaan Keluhan pada Ulasan Produk Monitor"
Detail Model
| Nama Model | ABSA-IndoBERT-ACD |
| Model Dasar | indobenchmark/indobert-base-p2 |
| Di-fine-tune oleh | Louders Yoakim Telaumbanua |
| Bahasa | Indonesia (id) |
| Task | Multi-label Text Classification (Aspect Category Detection) |
| Lisensi | Apache 2.0 |
| Framework | Hugging Face Transformers & PyTorch |
Label Aspek
Model memprediksi probabilitas kemunculan setiap aspek berikut (multi-label, aktivasi sigmoid + threshold):
| Kode | Aspek | Deskripsi |
|---|---|---|
| A1 | Kinerja Visual | Resolusi, akurasi warna, refresh rate, ghosting |
| A2 | Keandalan & Cacat Produk | Dead pixel, backlight bleed, kestabilan jangka panjang |
| A3 | Desain, Kualitas Fisik & Fitur | Build quality, ergonomi, konektivitas, fitur tambahan |
| B1 | Komunikasi & Dukungan Penjual | Respons, keramahan, profesionalisme penjual |
| B2 | Layanan Purna Jual | Klaim garansi, retur, penanganan komplain |
| B3 | Akurasi Informasi Produk | Kesesuaian deskripsi/foto dengan unit fisik |
| C1 | Pengemasan & Pengiriman | Standar packing, keamanan, ketepatan waktu |
| C2 | Harga & Nilai | Value for money, kewajaran harga, promo |
| D1 | Umum | Ungkapan umum yang tidak merujuk objek spesifik |
Threshold optimal hasil kalibrasi disimpan terpisah di acd_optimal_thresholds.json (Β± 0.45 untuk varian IndoBERT).
Cara Penggunaan
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("<username>/absa-indobert-acd")
model = AutoModelForSequenceClassification.from_pretrained("<username>/absa-indobert-acd")
text = "Warnanya akurat banget, tapi harganya agak mahal dibanding toko sebelah."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
with torch.no_grad():
logits = model(**inputs).logits
probs = torch.sigmoid(logits).squeeze(0).tolist()
threshold = 0.45
aspect_labels = ["A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "D1"]
detected = [aspect_labels[i] for i, p in enumerate(probs) if p >= threshold]
print(detected)
Model ini hanya mendeteksi aspek yang dibahas. Untuk mendapatkan sentimen per aspek, keluaran ACD ini diteruskan ke model pasangannya:
absa-indobert-asc.
Pipeline Lengkap
teks ulasan β [ACD: model ini] β daftar aspek yang terdeteksi
β [ASC: absa-indobert-asc] β sentimen (Positif/Netral/Negatif) per aspek
Data Pelatihan
Data bersumber dari arsip diskusi (chat export) Komunitas Discord GTID, Januari 2022 β Desember 2025, disaring dari Β±8.000 baris mentah menjadi 3.326 ulasan bersih, lalu dilabeli secara manual oleh 3 anotator (reliabilitas Fleiss' Kappa rata-rata 0,9190 β "Hampir Sempurna") menjadi 5.985 baris (format long, 3.324 ulasan unik). Split latih/validasi/uji dilakukan per-ulasan (bukan per-baris) dengan rasio β80:10:10 untuk mencegah topic leakage: 2.659 ulasan latih, 332 validasi, 333 uji.
Hyperparameter terbaik hasil grid search (batch size {16,32} Γ learning rate {2e-5, 3e-5, 5e-5}, 5 epoch): batch 16, learning rate 3e-5.
Evaluasi (Data Uji, 333 ulasan / 588 baris)
| Metrik | Skor |
|---|---|
| F1-Macro | 0,8523 |
| F1-Micro | 0,8900 |
| Precision-Macro | 0,8661 |
| Recall-Macro | 0,8467 |
| Hamming Loss | 0,0427 |
| Akurasi Exact-Match | 70,57% |
| Threshold optimal | 0,45 (F1-Macro validasi 0,8778) |
Kategori dengan performa terlemah adalah D1 (Umum), dengan recall hanya 33,3% β konsisten dengan reliabilitas antar-anotator kategori ini yang juga paling rendah (Kappa 0,5673, "Moderat"), karena definisinya yang sangat ketat dan rawan ambigu. Kategori C2 (Harga & Nilai), meski data latihnya terbanyak, tetap menghasilkan cukup banyak false positive akibat tumpang tindih semantik dengan kategori C1.
Metrik lengkap lainnya (confusion matrix per aspek, interval kepercayaan bootstrap, uji McNemar vs mBERT) tersedia pada folder evaluation/ di repositori penelitian.
Model Terkait
| Model | Task |
|---|---|
absa-indobert-acd (model ini) |
Aspect Category Detection β basis IndoBERT |
absa-indobert-asc |
Aspect Sentiment Classification β basis IndoBERT |
absa-mbert-acd |
Aspect Category Detection β basis mBERT |
absa-mbert-asc |
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
- 15
Model tree for loudersyoakim/absa-indobert-acd
Base model
indobenchmark/indobert-base-p2