You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Tajik Punctuation & Capitalization Restoration (uz-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.973 0.992 0.982 18,886
COMMA 0.837 0.821 0.829 14,887
QUESTION 0.871 0.830 0.850 951
EXCLAM 0.658 0.119 0.202 437
COLON 0.712 0.530 0.608 706
SEMICOLON 0.636 0.196 0.299 143
  • Non-O macro-F1: 0.628
  • Casing accuracy: 0.984
  • Sentence-initial capitalization recall: 0.998

Before → after examples

1. input: siz bilan suhbatlashib sizni qiziqtirgan ishlarni aniqlab murabbiy tayinlashadi

restored: Siz bilan suhbatlashib, sizni qiziqtirgan ishlarni aniqlab, murabbiy tayinlashadi.

gold: Siz bilan suhbatlashib, sizni qiziqtirgan ishlarni aniqlab, murabbiy tayinlashadi.

2. input: sandugʻoch dovyurak jasur ayol sifatida tasvirlanadi

restored: Sandugʻoch dovyurak, jasur ayol sifatida tasvirlanadi.

gold: Sandugʻoch dovyurak, jasur ayol sifatida tasvirlanadi.

3. input: bunda chuqur tishlov tepa tish qatori va pastki tish qatori birlashtirilganda teng birikmasligi tishlarning notoʻgʻri qiyshiq oʻsishi kuzatiladi

restored: Bunda chuqur tishlov tepa tish qatori va pastki tish qatori birlashtirilganda teng birikmasligi, tishlarning notoʻgʻri qiyshiq oʻsishi kuzatiladi.

gold: Bunda chuqur tishlov (tepa tish qatori va pastki tish qatori birlashtirilganda teng birikmasligi), tishlarning notoʻgʻri, qiyshiq oʻsishi kuzatiladi.

4. input: vaholanki mutlaqo boshqa odam haqida aytilgan

restored: Vaholanki, mutlaqo boshqa odam haqida aytilgan.

gold: Vaholanki, mutlaqo boshqa odam haqida aytilgan.

5. input: loyiha doirasida tanlangan maktablarda amaliy kimyo va biologiya laboratoriyalari tashkil etilib ularda interfaol ta’lim yoʻlga qoʻyiladi

restored: Loyiha doirasida tanlangan maktablarda amaliy kimyo va biologiya laboratoriyalari tashkil etilib, ularda interfaol ta’lim yoʻlga qoʻyiladi.

gold: Loyiha doirasida tanlangan maktablarda amaliy kimyo va biologiya laboratoriyalari tashkil etilib, ularda interfaol ta’lim yoʻlga qoʻyiladi.

6. input: samolyotni qurishda uni raqib radarlariga kamroq seziluvchi qiluvchi stels texnologiyasidan foydalanilgan

restored: Samolyotni qurishda uni raqib radarlariga kamroq seziluvchi qiluvchi Stels texnologiyasidan foydalanilgan.

gold: Samolyotni qurishda uni raqib radarlariga kamroq seziluvchi qiluvchi “stels” texnologiyasidan foydalanilgan.

7. input: bunday jarayonlar oʻsimlik va hayvonlar dunyosiga ham taalluqlidir

restored: Bunday jarayonlar oʻsimlik va hayvonlar dunyosiga ham taalluqlidir.

gold: Bunday jarayonlar oʻsimlik va hayvonlar dunyosiga ham taalluqlidir.

8. input: uning koʻngli hijron vodiysiga aylandi firoq oʻtidan devona boʻlgan oshiq oqibatda yomon nomga ega boʻldi

restored: Uning koʻngli hijron vodiysiga aylandi, firoq oʻtidan devona boʻlgan oshiq oqibatda yomon nomga ega boʻldi.

gold: Uning koʻngli hijron vodiysiga aylandi, firoq oʻtidan devona boʻlgan oshiq oqibatda yomon nomga ega boʻldi.

9. input: men ayollar tomon otilib ularni ajratishga kirishdim

restored: Men ayollar tomon otilib, ularni ajratishga kirishdim.

gold: Men ayollar tomon otilib, ularni ajratishga kirishdim.

10. input: gap turar-joylar va xoʻjalik inshootlarining kuchli shamolda shikastlanishi haqida bormoqda

restored: Gap turar-joylar va xoʻjalik inshootlarining kuchli shamolda shikastlanishi haqida bormoqda.

gold: Gap, turar-joylar va xoʻjalik inshootlarining kuchli shamolda shikastlanishi haqida bormoqda.

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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Tohirju/uz-punctuation-restore

Quantized
(29)
this model