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

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
email 55724110004[at]student.mercubuana.ac.id
Downloads last month
4
Safetensors
Model size
0.1B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for derhan/indobert-sbu-paket

Finetuned
(102)
this model