/ Модель

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

Контекст
512 токенов
Лицензия
Apache 2.0
Архитектура
vision-encoder-decoder · dense
Базовая модель
TrOCR-Sinhala
Библиотека
transformers
Опубликована
29 июл 2026

sinhala-print-trocr-pilot

Описание изображенийИзображение → текст3 профессии

Пилотная версия TrOCR для распознавания печатных сингальских строк на изображениях, сохранённая для справки из-за дефекта токенизатора.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это замороженная пилотная версия TrOCR, дообученная для распознавания печатного текста на сингальском языке. Модель принимает изображение одной строки текста размером примерно 2600×128 пикселей; она не предназначена для распознавания целых страниц или документов. Обучение проводилось на синтетических данных, созданных с использованием пяти шрифтов.

Версия содержит дефект токенизатора: он удаляет символ U+200D ZERO WIDTH JOINER, необходимый для записи некоторых сингальских лигатур. Поэтому модель не может вывести такие сочетания. В README приведены результаты на отложенной выборке из того же синтетического генератора и шрифтов; они не показывают качество на реальных документах. Репозиторий сохранён для справки и воспроизведения дефекта, для новых задач автор рекомендует преемника kaan84/sinhala-print-trocr. Модель распространяется по лицензии Apache-2.0.

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

  • Распознавание печатной сингальской строки на изображении
  • Воспроизведение и изучение дефекта обработки сингальских лигатур
  • Сравнение пилотной версии с исправленной моделью

Ограничения

Токенизатор удаляет U+200D ZERO WIDTH JOINER, поэтому модель не распознаёт соответствующие сингальские лигатуры; в оценке на тесте conjunct recall составил 0. Реальные сканы заметно сложнее синтетических данных обучения, а модель принимает отдельные строки, не страницы.

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

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

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

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

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

Открыть на Hugging Face

sinhala-print-trocr-pilot

Status: frozen pilot. Superseded by kaan84/sinhala-print-trocr.

This repository is kept unchanged as the published record of a tokenizer defect described below. It contains a known bug and should not be used for new work. Use the successor repo instead.

this reposuccessor
namesinhala-print-trocr-pilotsinhala-print-trocr
rolefrozen "before" statecurrent model
tokenizerdeletes Zero Width JoinerZWJ preserved
use it?no — reference onlyyes

What this model is

A TrOCR fine-tune for printed Sinhala text lines, trained on synthetic data rendered from five fonts. Input is a single line image (~2600×128); it is not a page or document recogniser.

Known defect: the decoder tokenizer deletes ZWJ

The decoder tokenizer's BertNormalizer runs with clean_text=True, which strips every Unicode Cf (format) character — including U+200D ZERO WIDTH JOINER. In Sinhala, ZWJ is what binds consonants into conjuncts such as ශ්‍රී and ප්‍රජා.

tok = AutoTokenizer.from_pretrained("kaan84/sinhala-print-trocr-pilot")
s = "ශ්\u200Dරී"
tok.decode(tok.encode(s, add_special_tokens=False)) == s   # False

The character is removed silently: no error, no warning, and no signal in the loss curve. The model therefore cannot emit a ZWJ conjunct at any point in training.

How much text this affects

Measured on the training corpus (6,968 usable lines after filtering one null row):

unitaffectedshare
codepoints414 / 487,2090.085%
grapheme clusters407 / 344,9990.118%
lines (≥1 conjunct)315 / 6,9684.52%

An earlier description of this work cited ~6.6% of training text. That figure was wrong. The corrected measurements are above; the line-level figure (4.52%) is the closest to the original claim, and it is the weaker statement — a line counts as affected if it contains a single affected character.

Grapheme clusters are computed with grapheme-kit, which folds ZWJ sequences into a single cluster. Default UAX #29 segmentation does not do this and will undercount.

Reported results

Evaluated on a 5% held-out split (349 lines, seed 42) of the training dataset.

metricvalue
char-CER (codepoint)0.1820
g-CER (grapheme cluster)0.1852 → see successor
conjunct recall0.0000 (0/19)

Conjunct recall is 0 by construction, not by difficulty.

These numbers do not measure reading ability. Training and evaluation come from the same synthetic generator and the same five fonts, so they largely measure memorisation of one renderer. Real scanned documents are substantially harder — a single page from avishadilhara/sinhala-ocr-lk-acts-1010 scored char-CER 0.4657 with line segmentation applied.

Intended use

Reference and reproduction only. For anything else use kaan84/sinhala-print-trocr.

Citation of the underlying issue

The general problem of pre-tokenization and grapheme handling in complex scripts is treated in:

  • Velayuthan & Sarveswaran (2025), Egalitarian Language Representation in Language Models: It All Begins with Tokenizers, COLING 2025.
  • Nisfer et al. (2026), grapheme-kit: Grapheme-Level Metrics and Text Processing for Multilingual NLP.

Note that the defect in this repository is in the normalizer, not the pre-tokenizer: BertPreTokenizer preserves ZWJ intact and yields one pre-token per conjunct.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
VisionEncoderDecoderModel
Ревизия весов
328ae40

0 моделей