--- license: mit language: - id library_name: transformers pipeline_tag: text-classification tags: - indonesian - indonesia - topic-classification - bert - text-classification datasets: - custom inference: true model-index: - name: BERT Indonesian Topic Classification (15 labels) results: - task: type: text-classification name: Topic Classification dataset: name: Custom Indonesian Dataset type: custom split: validation metrics: - type: accuracy value: 0.92 - type: f1 name: f1_macro value: 0.89 - type: f1 name: f1_micro value: 0.91 --- # BERT Indonesian Topic Classification (15 labels) **Base model**: `cahya/bert-base-indonesian-1.5G` **Task**: Topic classification (single-label) **Labels (15)**: Olahraga, Kecelakaan, Pendidikan, Politik, Judi Online, Teknologi, Kriminalitas, Infrastruktur, Kesehatan, Lalu Lintas, Bencana Alam, Ekonomi, Keuangan, Kemiskinan, Pariwisata ![Confusion Matrix](./confusion_matrix.png) ## Intended use Model ini digunakan untuk klasifikasi topik teks berbahasa Indonesia pada 15 kategori utama. Model dapat mengklasifikasikan artikel berita, postingan media sosial, dan dokumen teks lainnya ke dalam kategori yang sesuai seperti politik, ekonomi, olahraga, teknologi, dan sebagainya. ## Limitations - Performa model bergantung pada distribusi label dataset yang digunakan - Teks di luar domain (OOD) yang tidak serupa dengan data training dapat mengalami penurunan akurasi - Model dilatih khusus untuk bahasa Indonesia dan mungkin tidak optimal untuk bahasa lain - Performa dapat bervariasi tergantung pada panjang dan kompleksitas teks input ## Training details - **Framework**: 🤗 Transformers (PyTorch) - **Base model**: cahya/bert-base-indonesian-1.5G - **Max length**: 512 tokens - **Batch size**: 16 - **Epochs**: 3 - **Learning rate**: 2e-5 - **Weight decay**: 0.01 - **Warmup ratio**: 0.1 - **Scheduler**: Linear - **Mixed precision**: Enabled - **Optimizer**: AdamW ## Evaluation - **Data split**: 80/20 stratified split - **Accuracy (validation)**: **92.1%** - **F1 Macro (validation)**: **89.3%** - **F1 Micro (validation)**: **91.2%** Model menunjukkan performa yang baik dan seimbang di semua kategori. Detail evaluasi per label tersedia dalam file `eval_results.json`. ## How to use ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch # Load model dan tokenizer repo_id = "your-username/bert-indonesian-topic-classification" tokenizer = AutoTokenizer.from_pretrained(repo_id) model = AutoModelForSequenceClassification.from_pretrained(repo_id).eval() # Contoh penggunaan text = "Pemerintah Indonesia mengumumkan kebijakan ekonomi baru untuk mendorong pertumbuhan UMKM di tengah situasi global yang menantang." # Tokenize dan prediksi inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512) with torch.no_grad(): logits = model(**inputs).logits # Dapatkan prediksi pred_id = logits.argmax(-1).item() confidence = torch.softmax(logits, dim=-1).max().item() label = model.config.id2label[pred_id] print(f"Predicted topic: {label}") print(f"Confidence: {confidence:.4f}") ``` ## Additional Information ### Label Categories Model ini dapat mengklasifikasikan teks ke dalam 15 kategori berikut: 1. **Olahraga** - Berita dan informasi seputar dunia olahraga 2. **Kecelakaan** - Laporan kecelakaan dan insiden 3. **Pendidikan** - Topik seputar pendidikan dan pembelajaran 4. **Politik** - Berita politik, pemerintahan, dan kebijakan 5. **Judi Online** - Konten terkait perjudian online 6. **Teknologi** - Perkembangan teknologi dan inovasi 7. **Kriminalitas** - Berita kriminal dan hukum 8. **Infrastruktur** - Pembangunan dan infrastruktur 9. **Kesehatan** - Topik kesehatan dan medis 10. **Lalu Lintas** - Informasi transportasi dan lalu lintas 11. **Bencana Alam** - Laporan bencana dan cuaca 12. **Ekonomi** - Berita ekonomi dan bisnis 13. **Keuangan** - Topik keuangan dan investasi 14. **Kemiskinan** - Isu sosial dan kemiskinan 15. **Pariwisata** - Informasi wisata dan travel ### Citation Jika menggunakan model ini dalam penelitian atau proyek, mohon cantumkan referensi: ```bibtex @misc{bert-indonesian-topic-classification-2025, title={BERT Indonesian Topic Classification (15 labels)}, author={Your Name}, year={2025}, url={https://huggingface.co/your-username/bert-indonesian-topic-classification} } ```