/ Модель

Характеристики

Лицензия
Apache 2.0
Опубликована
28 авг 2026

asr-punctuation-restore-bn

Разметка токеновТекст → label

Модель на базе MuRIL восстанавливает danda, запятые и вопросительные знаки в неразмеченном бенгальском тексте, включая транскрипты речи.

0скачиваний за 30 дней0лайковвеса обновлены28 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Набор весов для восстановления пунктуации в неразмеченном тексте на бенгальском языке. Модель построена на MuRIL (`google/muril-base-cased`), дообученной для классификации токенов; доступны независимые варианты с 6, 8, 11 и 12 слоями. Она расставляет три знака: danda `।`, запятую и вопросительный знак. Модель принимает текст, поэтому подходит для пунктуации транскриптов, полученных любым распознавателем речи, и не обрабатывает аудио напрямую.

Весы обучены на нормализованном бенгальском корпусе IndicCorp v2. По оценке на 27 тысячах слов вариант с 12 слоями показал лучшие результаты среди испытанных сочетаний: точность токенов 0,9661 и macro F1 0,811 для danda и запятой. Запятая восстанавливается менее надёжно, а на коротких предложениях её положение неоднозначно. Модель предназначена только для бенгальского текста, предполагает разделение слов пробелами и не восстанавливает восклицательные и другие знаки препинания.

Репозиторий публикует веса из подкаталогов `punct/` модели `SayedShaun/bengali-whisper-medium`; исходное обучение выполнил Erdene-Ochir Tuguldur из команды Chimege. Лицензия репозитория — Apache-2.0.

Сценарии применения

  • восстановление пунктуации в бенгальских транскриптах речи
  • расстановка danda в бенгальском тексте
  • добавление запятых в бенгальский текст
  • определение вопросов по бенгальской транскрипции
  • постобработка вывода Whisper или другого распознавателя речи

Ограничения

Поддерживается только бенгальский текст с разделением слов пробелами; модель восстанавливает только danda, запятые и вопросительные знаки. Запятые на коротких самостоятельных предложениях менее надёжны.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

asr-punctuation-restore-bn

Bengali punctuation restoration weights: MuRIL (google/muril-base-cased) fine-tuned as a token classifier, at four depths (6/8/11/12 layers). Restores three marks on raw, unpunctuated Bengali text: । (period), , (comma), ? (question).

This is ASR-agnostic — it takes text, not audio, so it works on the output of any speech recognizer (Whisper, whisper.cpp, faster-whisper, Google STT, Azure, ...), not just the model these weights were originally packaged with.

Provenance

These are the exact weights from the punct/ subfolders of SayedShaun/bengali-whisper-medium, republished standalone (layers at the repo root, not nested under punct/) so users of the asr-punct-restore package don't need to pull the (much larger) ASR repo just for the punctuation heads.

Original training: bs=64, lr=2e-4, max_seq_length=512, trained on normalized IndicCorp v2 Bangla.

Attribution

These weights are part of the 1st-place solution of the Bengali.AI Speech Recognition Kaggle competition, trained by Erdene-Ochir Tuguldur (tugstugi), team Chimege. This repository only republishes and repackages them — all credit for training belongs to the original author. If you use these weights, please cite:

@misc{tuguldur2023bengaliasr,
  author = {Tuguldur, Erdene-Ochir},
  title  = {1st place solution, Bengali.AI Speech Recognition},
  year   = {2023},
  howpublished = {\url{https://www.kaggle.com/competitions/bengaliai-speech/writeups/chimege-1st-place-solution}}
}

Files

pathsizeparams (approx)
6layers/745 MBsmallest
8layers/799 MB
11layers/880 MB
12layers/908 MBlargest

Each subfolder is a complete, independent MuRIL token-classification checkpoint (config.json, model.safetensors, tokenizer files) — usable alone or ensembled with the others.

Label recovery

The original configs shipped as LABEL_0..LABEL_3 with no recorded semantics. The mapping below was recovered empirically — strip marks from punctuated Bengali text, then see which class fires where each mark was — and is already applied in each <n>layers/config.json's id2label, so no recalibration step is needed to use these weights:

classlabelagreement
0O (no mark)93–98%
1PERIOD ।91.0%
2COMMA ,90.7%
3QUESTION ?95.8%

Two corpora were used. 365k characters of Bengali Wikipedia pinned classes 0–2, but contained only two question marks, so class 3 never fired there. It was confirmed separately against 2080 real Bengali questions from Tatoeba, interleaved with statements into multi-sentence passages so the model sees natural context:

class   total   true mark at that position
    0    2747   none=93.3%  ।=3.2%   ?=2.5%  ,=1.0%
    1     230   ।=87.0%     ?=10.4%  ,=1.7%
    2      27   ।=44.4%     ,=40.7%  ?=7.4%
    3     215   ?=95.8%     ।=3.7%

Comma is the weakest of the three and fires rarely on short standalone sentences, where placement is genuinely ambiguous; the Wikipedia measurement above (90.7% over 665 instances of running prose) is the more representative one.

Which one to use

The original author's own evaluation (27k words of Bengali prose, measured against real punctuation) is the relevant number here:

headstoken accuracymacro F1 (।, ,)
120.96610.811
11 + 120.96550.808
6 + 120.96550.807
6 + 8 + 11 + 12 (full ensemble)0.96500.805
8 + 11 + 120.96450.802
60.96290.795

The 12-layer model alone was the best of every combination tried — better than the full ensemble. 6layers/ is the smallest/fastest download, not the most accurate; use 12layers/ if accuracy matters more than size to you. (On one 28-second ASR test clip, 6-layer output happened to match the full ensemble — that's a single anecdote, not evidence against the table above, which was measured properly on 27k words.)

Usage

Via the asr-punct-restore package (recommended — handles windowing, ensembling, and downloading only the layers you ask for):

pip install git+https://github.com/sayedshaun/asr-punct-restore.git
from asr_punct_restore import PunctuationRestorer

# a bare repo id downloads (and caches) automatically; this repo is the default
restorer = PunctuationRestorer("SayedShaun/asr-punctuation-restore-bn", layers=(12,))
print(restorer("your raw unpunctuated bengali text from any asr"))

PunctuationRestorer.from_pretrained(...) also still works, as an explicit alias for "load from the Hub" — both spellings do the same thing.

Constraints

  • Bengali only — feeding other languages produces labels without erroring, just meaningless ones.
  • Restores only ।, ,, ? — not exclamation points or other marks.
  • Assumes space-separated words as input.

License

Apache-2.0, inherited from the source model.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
55cdf38

0 моделей