About this Model
Fine-tuned XLM-RoBERTa Base model for Named Entity Recognition (NER) on Indonesian news articles, with built-in rule-based post-processing for Indonesian text.
Model Performance
| Metric | Score |
|---|---|
| F1 | 0.9120 |
| Precision | 0.8928 |
| Recall | 0.9320 |
| Accuracy | 0.9779 |
Evaluated on held-out test set
Supported Entities
The model recognizes 9 entity types commonly found in Indonesian news:
- PER - Person names
- ORG - Organizations
- GPE - Geopolitical entities (countries, cities, states)
- LOC - Locations (non-GPE)
- DATE - Dates and time periods
- EVENT - Named events
- FAC - Facilities
- MONEY - Monetary values
- LAW - Laws and regulations
Quick Start
from transformers import pipeline
# Load the NER pipeline
ner = pipeline("token-classification", model="khoirif/xlm-roberta-base-indonesian-ner", aggregation_strategy="simple")
# Run inference
text = "Gubernur Jawa Barat meresmikan proyek senilai Rp 10 miliar."
results = ner(text)
# Display results
for entity in results:
print(f"{entity['word']} -> {entity['entity_group']} (score: {entity['score']:.2f})")
Use Cases
Recommended for:
- News article analysis and information extraction
- Entity-based search and retrieval systems
- Financial and regulatory document processing
- Indonesian-language knowledge graphs
Limitations:
- Optimized for formal Indonesian news text
- Not designed for informal language or slang
- Single language inference only
Training Details
Hyperparameters
Learning rate: 3e-5
Train batch size: 4
Eval batch size: 8
Gradient accumulation steps: 4
Effective batch size: 16 (4 × 4)
Epochs: 10
Weight decay: 0.02
LR scheduler: Linear
Warmup ratio: 0.03
Max gradient norm: 0.5
Label smoothing: 0.05
Mixed precision: FP16
Optimizer: AdamW (default)
Training Progress
| Epoch | Train Loss | Val Loss | Precision | Recall | F1 | Accuracy |
|---|---|---|---|---|---|---|
| 1 | 0.4338 | 0.4000 | 0.8563 | 0.8939 | 0.8747 | 0.9781 |
| 2 | 0.3984 | 0.3939 | 0.8620 | 0.9190 | 0.8896 | 0.9801 |
| 3 | 0.3823 | 0.3894 | 0.8749 | 0.9210 | 0.8973 | 0.9812 |
| 4 | 0.3702 | 0.3959 | 0.8822 | 0.9295 | 0.9052 | 0.9806 |
| 5 | 0.3631 | 0.3892 | 0.8955 | 0.9178 | 0.9065 | 0.9820 |
| 6 | 0.3597 | 0.3938 | 0.8932 | 0.9302 | 0.9113 | 0.9824 |
| 7 | 0.3534 | 0.3975 | 0.8864 | 0.9234 | 0.9046 | 0.9817 |
| 8 | 0.3468 | 0.3985 | 0.8922 | 0.9105 | 0.9013 | 0.9805 |
| 9 | 0.3452 | 0.3975 | 0.8941 | 0.9224 | 0.9080 | 0.9820 |
Best Validation: Epoch 6 (F1: 0.9113, Precision: 0.8932, Recall: 0.9302, Accuracy: 0.9824)
Final Test Results
| Metric | Score |
|---|---|
| Loss | 0.4107 |
| Precision | 0.8928 |
| Recall | 0.9320 |
| F1 | 0.9120 |
| Accuracy | 0.9779 |
Technical Specifications
Base Model: xlm-roberta-base
Framework: Transformers 4.57.3, PyTorch 2.1.0+cu124
Language: Indonesian
Task: Token Classification (NER)
License
MIT License
This fine-tuned model inherits the MIT License from the base model XLM-RoBERTa.
Citation
@misc{ner-irish-roberta-base,
author = {TLab Developer and Muhammad Faiz Khoiri},
title = {ner-irish-roberta-base},
year = {2025},
publisher = {HuggingFace},
howpublished = {\url{https://huggingface.co/tlabdev/ner-irish-roberta-base}}
}
Please also cite the original XLM-RoBERTa paper:
@article{DBLP:journals/corr/abs-1911-02116,
author = {Alexis Conneau and
Kartikay Khandelwal and
Naman Goyal and
Vishrav Chaudhary and
Guillaume Wenzek and
Francisco Guzm{\'{a}}n and
Edouard Grave and
Myle Ott and
Luke Zettlemoyer and
Veselin Stoyanov},
title = {Unsupervised Cross-lingual Representation Learning at Scale},
journal = {CoRR},
volume = {abs/1911.02116},
year = {2019},
url = {http://arxiv.org/abs/1911.02116},
eprinttype = {arXiv},
eprint = {1911.02116}
}