IndoBERT: Klasifikasi SBU Paket
Model ini adalah hasil fine-tuning dari indobenchmark/indobert-base-p1 yang dirancang untuk mengklasifikasikan Judul Paket Tender Konstruksi di Indonesia ke dalam Kode SBU (Sertifikat Badan Usaha) yang sesuai (contoh: BG001, BS001).
Model dilatih menggunakan strategi Weighted Loss untuk menangani ketidakseimbangan data (imbalanced data), sehingga mampu memberikan performa tinggi baik pada kelas dominan (seperti Jalan/Pendidikan) maupun kelas minoritas.
Model Details
Model Description
- Developed by: Sederhana Gulo
- Model type: Text Classification (BERT-based)
- Language(s) (NLP): Indonesian
- License: MIT
- Finetuned from model: indobenchmark/indobert-base-p1
Model Sources
- Repository: IndoBERT: Klasifikasi SBU Paket
- Base Model Paper: IndoBERT: A Pre-trained Model for Indonesian Language
Uses
Direct Use
Model ini ditujukan untuk digunakan oleh analis data, pejabat pengadaan, atau peneliti untuk mengategorikan judul paket konstruksi mentah menjadi kategori standar (Kode SBU).
Label yang Didukung (Kode SBU):
- BG (Bangunan Gedung):
- BG001: Konstruksi Gedung Hunian (Rumah, Asrama, Rusun)
- BG002: Konstruksi Gedung Perkantoran
- BG003: Konstruksi Gedung Industri (Pabrik, Gudang)
- BG004: Konstruksi Gedung Perbelanjaan (Pasar, Mall)
- BG005: Konstruksi Gedung Kesehatan (RS, Puskesmas)
- BG006: Konstruksi Gedung Pendidikan (Sekolah, Kampus)
- BG007: Konstruksi Gedung Perhotelan dan Wisata
- BG008: Konstruksi Gedung Hiburan dan Olahraga (Indoor)
- BG009: Konstruksi Gedung Lainnya (Terminal, Tempat Ibadah)
- BS (Bangunan Sipil):
- BS001: Konstruksi Bangunan Sipil Jalan
- BS002: Konstruksi Bangunan Sipil Jembatan
- BS003: Konstruksi Bangunan Sipil Pengolahan Air Bersih
- BS004: Konstruksi Jaringan Irigasi dan Drainase
- BS005: Konstruksi Bangunan Sipil Air Lainnya (Pantai, Pelabuhan)
- BS006: Konstruksi Sipil Migas, Energi, dan Telekomunikasi (PJU, Listrik)
- BS007: Konstruksi Bangunan Sipil Olahraga (Outdoor)
- BS008: Konstruksi Bangunan Sipil Lainnya (Lansekap, Pagar)
- Lainnya: Kategori catch-all untuk judul yang tidak terklasifikasi atau ambigu.
Out-of-Scope Use
- Model ini tidak dirancang untuk pengadaan non-konstruksi (contoh: Pengadaan Barang IT, Jasa Konsultansi, Katering).
- Model mungkin kurang akurat pada judul yang sangat pendek atau ambigu tanpa konteks spesifik (contoh: hanya "Pembangunan Gedung").
Bias, Risks, and Limitations
- Domain Specificity: Model dilatih menggunakan data tender pemerintah (LPSE/SPSE). Performanya mungkin menurun jika digunakan untuk judul proyek sektor swasta yang memiliki terminologi berbeda.
- Imbalance Handling: Meskipun dilatih dengan weighted loss, kelas-kelas yang sangat jarang (<50 sampel pada data latih) telah dikelompokkan ke dalam label "Lainnya" untuk menjaga stabilitas model.
How to Get Started with the Model
Gunakan kode Python berikut untuk mulai menggunakan model:
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
# 1. Load Model & Tokenizer
model_name = "derhan/indobert-sbu-paket"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# 2. Buat Pipeline
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)
# 3. Contoh Prediksi
text = "Pembangunan Ruang Kelas Baru SDN 1 Kota Medan"
result = classifier(text)
print(f"Input: {text}")
print(f"Prediksi: {result[0]['label']} (Score: {result[0]['score']:.4f})")
# Output: BG006 (Score: 0.99xx)
Training Details
Training Data
Dataset terdiri dari ratusan ribu data judul paket tender konstruksi pemerintah Indonesia.
- Preprocessing:
- Pembersihan data duplikat dan nilai kosong.
- Kelas minoritas dengan jumlah sampel < 50 digabungkan menjadi kelas "Lainnya".
- Stratified Split digunakan untuk membagi data latih dan uji.
Training Procedure
Model di-fine-tune menggunakan API Trainer dari Hugging Face.
Training Hyperparameters
- Learning Rate: 2e-5
- Batch Size: 32 / 64
- Epochs: 5 - 10
- Loss Function: CrossEntropyLoss dengan Class Weights (dihitung menggunakan sklearn) untuk memberikan bobot lebih pada kelas minoritas agar model tidak bias ke kelas mayoritas.
- Optimizer: AdamW
Evaluation
Evaluasi dilakukan pada test set terpisah (20% dari total data).
Metrics
- F1-Macro: Digunakan sebagai metrik utama untuk mengukur performa rata-rata di seluruh kelas tanpa bias terhadap jumlah data.
- Accuracy: Mengukur ketepatan prediksi secara keseluruhan.
Results
| Metric | Score |
|---|---|
| Overall Accuracy | ~98.8% |
| Macro F1-Score | ~0.97 |
Performance Highlights:
- Performa sangat tinggi (F1 ~1.00) pada kelas dominan seperti BS001 (Jalan) dan BG006 (Pendidikan).
- Performa kuat pada kelas minoritas seperti BS007 (Olahraga Outdoor) berkat strategi weighted loss.
- Tingkat kesepakatan (agreement) yang tinggi dengan label hasil kurasi manual/hybrid sebelumnya.
Environmental Impact
- Hardware Type: NVIDIA T4 / RTX (via Google Colab)
- Compute Region: Cloud
Kredit
Model ini dilatih untuk mengklasifikasikan jenis paket ke kategori Sertifikat Badan Usaha (SBU) pekerjaan konstruksi, dengan data dasar dari hasil tender dari berbagai website SPSE Kementerian/Lembaga/Perangkat Daerah di Indonesia.
Penelitian dilakukan dalam rangka penyusunan Tesis di Jurusan Magister Teknik Sipil konsentrasi Manajemen Konstruksi di Universitas Mercu Buana.
Contact
| Nama | Sederhana Gulo |
|---|---|
| NIM | 55724110004 |
| 55724110004[at]student.mercubuana.ac.id |
- Downloads last month
- 4
Model tree for derhan/indobert-sbu-paket
Base model
indobenchmark/indobert-base-p1