Osegi
ИИ·2 мин чтения

Tesseract 5 научили читать по-мансийски: ошибок OCR в 20 раз меньше

В ЮНИИИТ дообучили открытый Tesseract 5 на мансийском печатном тексте: доля ошибочных символов упала с 18,5% до 0,85%. Модель бесплатно доступна на Hugging Face.

Printed page of Mansi text with macron vowels being scanned and converted to digital text by OCR software.
Фото: Хабр

Югорский НИИ информационных технологий (ЮНИИИТ) дообучил открытый OCR-движок Tesseract 5 распознавать печатный текст на мансийском языке. По данным авторов, доля ошибочных символов снизилась с 18,5% до 0,85%, то есть примерно в 20 раз. Модель выложена в открытый доступ на Hugging Face.

Почему готовые движки не справляются

Мансийская письменность основана на кириллице, но содержит особые знаки: долгие гласные с макроном (а̄, о̄, ӯ, э̄, ы̄) и букву ӈ, обозначающую звук «нг». Долгота гласной в мансийском значима, поэтому потеря макрона может превратить одно слово в другое. Стандартная русская модель Tesseract этих символов не знает: теряет черту над буквой, а иногда превращает знакомый символ в мусор. На мансийском тексте она ошибается примерно в 18 символах из 100.

Есть и менее заметная проблема. Одну и ту же букву с макроном в Unicode можно записать разными способами: одним символом или обычной буквой плюс комбинируемым макроном. Для человека они выглядят одинаково, для модели это разные последовательности.

Синтетические данные вместо сканов

Готовой коллекции мансийских сканов нужного размера нет, а ручная разметка заняла бы годы. Поэтому данные сгенерировали: тексты из печатных и электронных изданий нормализовали по форме Unicode NFC и отрендерили Python-скриптами. Использовали несколько десятков гарнитур, среди них FreeSerif, DejaVu Sans, Arial, Calibri и Times New Roman, размеры 12, 14, 24 и 26 pt и начертания: обычное, полужирное, курсив.

Каждый символ дополнительно обвели рамкой в box-файлах. Автоматический расчёт координат часто ошибается с макроном, выступающим над строкой, поэтому авторы ввели попиксельные поправки в трёх словарях: CHAR_OFFSETS, CHAR_SIZE и RATE. Всего получилось 1,3 млн пар файлов: картинка строки в формате .tif и текст с правильным ответом в .gt.txt.

Основой стала официальная русская модель rus.traineddata из репозитория tessdata_best: мансийский алфавит почти целиком совпадает с русским, и сети остаётся выучить в основном новые буквы. Ранее проект собрал 300 тысяч параллельных предложений и обучил переводчик. OCR нужен, чтобы оцифровать книги, учебники, сборники фольклора и газеты, которые до сих пор существуют в основном на бумаге.

Приложения, на которые стоит взглянуть

SUMO: числовая головоломка

Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.

Теги:tesseractocrmansi languagehugging facelow-resource languagesyuniiit

Ещё за этот день

Показать все →

Ещё в рубрике: ИИ

Показать все →