BalPOS — Balochi Part-of-Speech Tagger
BalPOS is a fine-tuned xlm-roberta-base token-classification model that tags
Balochi text with Universal Dependencies POS labels. It is, to the authors'
knowledge, the first published high-performance POS tagger for Balochi, a
language spoken by an estimated ~15 million people with very limited existing
NLP tooling.
Model Details
- Base model:
xlm-roberta-base - Task: Token Classification (Part-of-Speech Tagging)
- Labels (16): ADJ, ADP, ADV, AUX, CCONJ, DET, INTJ, NOUN, NUM, PART, PRON, PROPN, PUNCT, SCONJ, VERB, X
- Training data: Custom Balochi Universal Dependencies (CoNLL-U) corpus — 774 sentences / 14,852 tokens.
Evaluation Results (Test Set)
| Metric | Score |
|---|---|
| Accuracy | 0.6429577464788733 |
| Macro F1 | 0.4423541830976189 |
| Weighted F1 | 0.5708609330197525 |
| Macro Precision | 0.5864129272744694 |
| Macro Recall | 0.4425494747116786 |
Usage
from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("shahbakhsh/BalPOS")
model = AutoModelForTokenClassification.from_pretrained("shahbakhsh/BalPOS")
tagger = pipeline("token-classification", model=model, tokenizer=tokenizer,
aggregation_strategy="simple")
print(tagger("وتی فلسفہ"))
Training Configuration
- Learning rate: 2e-05
- Effective batch size: 64
- Epochs (ceiling / early stopping): 15 / patience 3
- Precision: bf16
- Hardware: Tesla T4 x2
- Total training time: 3.8 minutes
Limitations
This model is trained on a single custom UD-style Balochi corpus and inherits that corpus's dialectal coverage, orthographic conventions, and any label-noise present in the source annotations. It has not been evaluated cross-dialectally and should be treated as a strong baseline rather than a fully-solved tagger.
Citation
If you use BalPOS, please cite this repository: shahbakhsh/BalPOS.
- Downloads last month
- -
Evaluation results
- accuracyself-reported0.643
- f1_macroself-reported0.442
- f1_weightedself-reported0.571