Tajik Punctuation & Capitalization Restoration (Tohirju/tajik-punctuation-restore)
Restores sentence casing and punctuation (. , ? ! : ;) on raw lowercased, unpunctuated Tajik
text — the kind an ASR model (e.g. Parakeet / Whisper) emits. Built as the #1 readability win for
the offline Tajik STT app. Two token-classification heads on a shared xlm-roberta-base encoder:
a punctuation head (7 classes) and a casing head (LOWER / CAP / UPPER). Shipped as ONNX
so it bundles into the offline app.
Evaluation (20k held-out validation sentences)
Punctuation, per class:
| class | precision | recall | F1 | support |
|---|---|---|---|---|
| PERIOD | 0.976 | 0.992 | 0.984 | 19,106 |
| COMMA | 0.886 | 0.869 | 0.877 | 28,095 |
| QUESTION | 0.851 | 0.755 | 0.800 | 652 |
| EXCLAM | 0.803 | 0.233 | 0.361 | 404 |
| COLON | 0.733 | 0.575 | 0.644 | 955 |
| SEMICOLON | 0.732 | 0.253 | 0.376 | 162 |
- Non-O macro-F1: 0.674
- Casing accuracy: 0.986
- Sentence-initial capitalization recall: 0.999
Before → after examples
1. input: ӯро ба гӯшае бурд ва дарид ва хӯрд
restored: Ӯро ба гӯшае бурд ва дарид ва хӯрд.
gold: Ӯро ба гӯшае бурд ва дарид ва хӯрд.
2. input: бояд коре кунем сатҳи ҳамкориҳои мо дар ҳамин мавқеъ ки ба он даст ёфтем рушд ёбанд
restored: Бояд коре кунем, сатҳи ҳамкориҳои мо дар ҳамин мавқеъ, ки ба он даст ёфтем, рушд ёбанд.
gold: Бояд коре кунем, сатҳи ҳамкориҳои мо дар ҳамин мавқеъ, ки ба он даст ёфтем, рушд ёбанд".
3. input: гарчанде ки ҳаёт омӯзиши мубориза бо мушкилот ва бадбахтиҳои зиёдро барои ба даст овардани хушбахтӣ дар бар мегирад муноқишаҳои ишқӣ низ рух медиҳанд ва дар маҷмӯъ боиси нигаронӣ мешаванд
restored: Гарчанде ки ҳаёт омӯзиши мубориза бо мушкилот ва бадбахтиҳои зиёдро барои ба даст овардани хушбахтӣ дар бар мегирад, муноқишаҳои ишқӣ низ рух медиҳанд ва дар маҷмӯъ боиси нигаронӣ мешаванд.
gold: Гарчанде ки ҳаёт омӯзиши мубориза бо мушкилот ва бадбахтиҳои зиёдро барои ба даст овардани хушбахтӣ дар бар мегирад, муноқишаҳои ишқӣ низ рух медиҳанд ва дар маҷмӯъ боиси нигаронӣ мешаванд.
4. input: ҳукумати малайзия кардааст ба ҷавобгарӣ mavcom барои atr грант ба conveyors малайзия супориш
restored: Ҳукумати Малайзия кардааст, ба ҷавобгарӣ Mavcom барои ATR грант ба conveyors Малайзия супориш.
gold: Ҳукумати Малайзия кардааст, ба ҷавобгарӣ Mavcom барои ATR грант ба conveyors Малайзия супориш.
5. input: аз соли 2013 инҷониб бо васоити ахбори омма ҳамкорӣ дорад
restored: Аз соли 2013 инҷониб бо васоити ахбори омма ҳамкорӣ дорад.
gold: Аз соли 2013 инҷониб бо васоити ахбори омма ҳамкорӣ дорад.
6. input: дар ҷойҳое ки марказҳои давлатии адлия вуҷуд надорад бо муроҷиат ба мақомоти маҳаллии ҳокимият моро бо он таъмин карданд
restored: Дар ҷойҳое, ки марказҳои давлатии адлия вуҷуд надорад, бо муроҷиат ба мақомоти маҳаллии ҳокимият моро бо он таъмин карданд.
gold: Дар ҷойҳое, ки марказҳои давлатии адлия вуҷуд надорад, бо муроҷиат ба мақомоти маҳаллии ҳокимият, моро бо он таъмин карданд.
7. input: дар баробари ин туғрал дар мактаби шоири барҷастаи тоҷику форс мирзо абдулқодири бедил дар ҳадде муваффақ гардида буд ки ҳамзамононаш ӯро ҳамчун бедили сонӣ ном бурдаанд
restored: Дар баробари ин, Туғрал дар мактаби шоири барҷастаи тоҷику форс Мирзо Абдулқодири Бедил дар ҳадде муваффақ гардида буд, ки ҳамзамононаш ӯро ҳамчун Бедили Сонӣ ном бурдаанд.
gold: Дар баробари ин, Туғрал дар мактаби шоири барҷастаи тоҷику форс Мирзо Абдулқодири Бедил дар ҳадде муваффақ гардида буд, ки ҳамзамононаш ӯро ҳамчун “Бедили сонӣ” ном бурдаанд.
8. input: муассисаи таълимии ғайридавлатӣ мутобиқи тартиботи муқаррарнамудаи қонунгузории ҷумҳурии тоҷикистон ва ҳуҷҷатҳои муассиси он идора карда мешавад
restored: Муассисаи таълимии ғайридавлатӣ мутобиқи тартиботи муқаррарнамудаи қонунгузории Ҷумҳурии Тоҷикистон ва ҳуҷҷатҳои муассиси он идора карда мешавад.
gold: Муассисаи таълимии ғайридавлатӣ мутобиқи тартиботи муқаррарнамудаи қонунгузории Ҷумҳурии Тоҷикистон ва ҳуҷҷатҳои муассиси он идора карда мешавад.
9. input: тугмаи қабатии танзими равзанаи хосиятҳои экран барои ба танзимории параметрҳои ғунҷоишӣ ва рангии экран хизмат мерасонад
restored: Тугмаи қабатии танзими равзанаи Хосиятҳои экран барои ба танзимории параметрҳои ғунҷоишӣ ва рангии экран хизмат мерасонад.
gold: Тугмаи қабатии Танзими равзанаи Хосиятҳои экран барои ба танзимории параметрҳои ғунҷоишӣ ва рангии экран хизмат мерасонад.
10. input: албатта ҳатто баъд аз ман рафт дар баъзе нуқтаи ман боз охирин дар знакомств ва ҳатто пайдо шайтон шарик
restored: Албатта, ҳатто баъд аз ман рафт, дар баъзе нуқтаи ман боз охирин дар знакомств ва ҳатто пайдо шайтон шарик.
gold: Албатта, ҳатто баъд аз ман рафт дар баъзе нуқтаи ман боз охирин дар знакомств ва ҳатто пайдо шайтон шарик.
Usage (ONNX, CPU, offline)
from punctuate_onnx import Punctuator # ships in this repo
p = Punctuator("path/to/this/repo") # dir with model.onnx + tokenizer + head_config.json
print(p.restore("нахуствазири украина афзуд ки путин мехоҳад"))
# -> Нахуствазири Украина афзуд, ки Путин мехоҳад.
Dependencies: onnxruntime, transformers (tokenizer only). No GPU required.
Training
- Data:
3M sentences uniformly sampled from a clean, punctuated Tajik corpus (1.9B tokens). - Recipe:
xlm-roberta-base, max_len 256, first-subword label alignment, bf16, lr 3e-5, warmup 5%, summed cross-entropy over the two heads, 3 epochs on one H100. - Full record (MANIFEST, loss curve, eval json, code) kept in the Saidzoda-Lab run archive.
Gated (manual approval) per lab policy. Central-Asian NLP research — Saidzoda Lab.
Model tree for Tohirju/tajik-punctuation-restore
Base model
FacebookAI/xlm-roberta-base