/ Модель

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

Контекст
384 токена
Параметры
33,4 млн
Лицензия
MIT
Архитектура
marian · dense
Библиотека
transformers
Опубликована
25 сен 2026

marian-uk-verbalizer

Генерация текстаТекст → текст3 профессии

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

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

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

Модель aloudreader/marian-uk-verbalizer разработана для нормализации украинского текста перед синтезом речи. Это последовательностная модель MarianMTModel с кодировщиком и декодером по шесть слоёв, 8 головами внимания и общей SentencePiece-лексикой на 16 тысяч токенов. В карточке README указано 52,7 млн параметров, а метаданные Hugging Face указывают 33,4 млн; оценка размера расходится между источниками. Контекст модели — 384 токена.

Модель преобразует письменные числа и специальные обозначения в произносимые слова: раскрывает римские числа с учётом рода и падежа, даты, валюты, координаты, телефоны, IBAN, номера карт, математические выражения, символы, сокращения и акронимы. Обычную украинскую прозу она должна оставлять без изменений. Предназначена для украинского языка и этапа нормализации текста в конвейере TTS; для других языков и иных задач не рассчитана. Использование на исходной строке без предварительной и последующей обработки — предусмотренное условие работы.

В README сообщаются 85,2% точного совпадения и 3,0% WER на отложенном наборе из 3 597 примеров; на синтетических проверках координат и телефонных номеров получено 100%, а для согласования римских чисел с существительными — 99%. Слабее обрабатываются акронимы, номера карт и IBAN; римские числа проверялись только в диапазоне I–XXXIX. На необычных входах возможны пропуски или галлюцинации токенов, при этом нижестоящей обработки ошибок нет. Лицензия — MIT.

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

  • озвучивание дат, сумм и валют на украинском языке
  • преобразование римских чисел в украинские слова с согласованием по падежу и роду
  • нормализация телефонных номеров и координат перед синтезом речи
  • чтение вслух IBAN, номеров карт и математических выражений
  • раскрытие украинских сокращений и акронимов для TTS

Ограничения

Модель слабее справляется с акронимами, номерами карт и IBAN; тестировались только римские числа I–XXXIX. На входах вне обучающего распределения возможны пропуски или галлюцинации токенов, а выход используется без правила-ориентированной коррекции.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

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

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

Открыть на Hugging Face

marian-uk-verbalizer

A 52.7M-parameter Marian sequence-to-sequence model that converts written Ukrainian text into the form it should be spoken — the text-normalization front end for a Ukrainian TTS pipeline. It expands Roman numerals (with correct case/gender agreement), dates, currencies, coordinates, phone numbers, IBANs, card numbers, math expressions, symbols, abbreviations and acronyms into spoken words, while leaving ordinary prose untouched.

Потрібно прочитати XX розділ до понеділка.
  -> Потрібно прочитати двадцятий розділ до понеділка.

Я пропрацював у ФБР двадцять років.
  -> Я пропрацював у еф-бе-ер двадцять років.

Full training/evaluation code, the router this model is meant to sit behind, and per-domain evaluation scripts: GitHub repository.

A quantized int8 CTranslate2 export of this same checkpoint (52 MB, ~99.1% output-identical) is published separately at aloudreader/marian-uk-verbalizer-ct2-int8.

Model description

  • Architecture: MarianMTModel, 6 encoder + 6 decoder layers, d_model=512, 8 attention heads, 2048 FFN dim — 52.7M parameters.
  • Tokenizer: shared 16k-token SentencePiece vocabulary (source and target).
  • Decoder start token is <s> (token id 0), not the usual pad token — this matters if you re-export the model (see the GitHub repo's CTranslate2 conversion notes).
  • Trained with input_preprocessing: model-routing-v1: the model always receives the original, unmodified sentence and its output is used raw — no rule-based pre- or post-processing anywhere in the pipeline. This is a hard project constraint, not an implementation detail: see AGENT.md in the GitHub repository.

Intended use

Sits behind a lightweight shape-based router that sends plain Cyrillic prose straight through and everything else (digits, Latin letters, symbols, all-caps runs, …) to this model. Feeding the model plain prose it doesn't need to touch is safe — the training data includes plenty of identity (unchanged) targets — but the router avoids the extra inference cost. The router implementation (regex/shape only, no word lists) is in the GitHub repository at src/verbalizer/text.py.

This model is Ukrainian-specific and was trained and evaluated on general prose plus template-generated numeric/structured text. It is not intended for other languages or for tasks other than pre-TTS text normalization.

How to use

from transformers import MarianMTModel, MarianTokenizer

tokenizer = MarianTokenizer.from_pretrained("aloudreader/marian-uk-verbalizer")
model = MarianMTModel.from_pretrained("aloudreader/marian-uk-verbalizer")

text = "Потрібно прочитати XX розділ до понеділка."
batch = tokenizer([text], return_tensors="pt", padding=True)
out = model.generate(**batch, max_new_tokens=128, num_beams=1)
print(tokenizer.batch_decode(out, skip_special_tokens=True)[0])

Greedy decoding (num_beams=1) is what this checkpoint was evaluated with; beam search is supported but was not found to improve the benchmark scores enough to justify the extra latency.

Training data

  • The full skypro1111/uk-text-normalization dataset (a 3,597-row slice is frozen out as an evaluation-only benchmark and never trained on).
  • Synthetic rows generated offline with num2words and pymorphy3 for domains and grammatical cases the base dataset covers thinly — most recently, Roman-numeral-plus-noun case/gender agreement across many governing verbs, prepositions and nouns per case, so the model learns to read the noun's ending rather than memorizing one preposition per case. Every generated target is cross-checked by parsing it back to a numeric value and comparing it against the source before it enters training.

No text extracted from books is included in or was used to build this model's public evaluation data (see the GitHub repository's data policy).

Evaluation

Frozen 3,597-row benchmark (held out of training, no data leakage):

MetricScore
Exact string match85.2%
Word error rate3.0%
Character error rate1.2%
Numeric value fidelity (every digit sequence read back and compared to source)100.0%
Digit sequence fidelity100.0%
Identity accuracy (plain-prose rows left untouched)100.0%

Generated per-domain evaluation (lenient frame+slot scoring — the fixed part of each template sentence must match exactly, and each slot must be read as one of its accepted spoken forms):

DomainCorrectRows
Coordinates100.0%500
Phone numbers100.0%500
Roman numeral + noun case agreement99.0%301
Context (held-out book sentences, not published)97.4%500
English words embedded in Ukrainian88.4%500
Card numbers / IBAN86.8%500
Acronyms (letter-by-letter reading)85.5%207

Limitations

  • Acronym and card/IBAN reading are the weakest domains (~85–87%); most failures are single-letter substitutions in acronym spelling or a single misread digit group in long card numbers.
  • The model has only ever seen Roman numerals I–XXXIX (by project convention, L/C/D/M are treated as ordinary letters — vitamin C, size L, flight D12 — since they collide with common non-numeral usage in Ukrainian text).
  • Like any seq2seq model, it can occasionally hallucinate or drop a token on out-of-distribution input; there is no rule-based safety net downstream — by design, its raw output is what gets spoken.

License

MIT. See the GitHub repository for training/evaluation code under the same license. The skypro1111/uk-text-normalization training dataset has its own license — check it before redistributing data derived from this model.

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
MarianMTModel
Ревизия весов
7726f30

0 моделей