AI для разработчиков 7 мин чтения

Распознавание старинных и редких письменностей по фото

Почему обычный OCR не читает вертикальную вязь, рукописи и редкие алфавиты, какая цепочка работает: модель под письмо, транскрипция, перевод, сверка и проверка носителем языка. Честные пределы точности и список того, что просить у заказчика.

OCRрукописистаромонгольская письменностьархивынейросетиперевод

Коротко (TL;DR)

  • Обычный OCR рассчитан на печатные буквы в строке слева направо. Вертикальная вязь, рукопись и редкий алфавит выходят за эти рамки, поэтому результат получается пустым или случайным.
  • Рабочая цепочка: хорошее фото, распознавание моделью под конкретное письмо, транскрипция, перевод, сверка с эталоном и с носителем языка.
  • Точность на таких текстах всегда неполная. Я делю результат на надёжное и черновое и показываю сомнительные места списком.
  • От заказчика нужны качественные фото, образцы почерка или шрифта, опубликованные версии текста и человек, который прочтёт оригинал.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

ИИ-агенты и обработка документов

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

Почему обычный OCR не справляется

Классический OCR делает три допущения. Строки идут горизонтально, буквы стоят отдельно друг от друга, и алфавит известен программе заранее. Старые и редкие письменности ломают каждое из трёх.

Возьмём старописьменную монгольскую вязь. По описанию консорциума W3C, текст в ней идёт сверху вниз вертикальными строками, а сами строки сменяют друг друга слева направо (W3C, Mongolian Language Enablement). Письмо курсивное, буквы соединяются с соседями с обеих сторон, поэтому форма знака зависит от его места в слове. Одну и ту же букву на фото легко принять за несколько разных.

С рукописями другая беда. Почерк у каждого писца свой, чернила выцветают, бумага темнеет и просвечивает. С архивами та же история: штампы поверх текста, сгибы, пятна, чужие пометки на полях.

Я уже разбирал, как распознают обычный текст с фото. Здесь речь о случаях, где этот путь не работает вовсе.

Что работает на практике

Универсального решения нет. Работает цепочка из нескольких шагов, и каждый шаг можно проверить отдельно.

Первый шаг: модель, обученная именно на этом письме. Для старомонгольской вязи есть открытый проект image2bichig, он указан в наборе tugstugi/mongolian-nlp. В описании сказано, что это традиционный монгольский OCR на основе CRNN, то есть свёрточной сети с рекуррентным слоем (репозиторий tugstugi/mongolian-nlp). Там же упомянут синтетический набор из 80 тысяч картинок, собранный из текстов песен и словаря. Из этого я делаю осторожный вывод: модели такого рода учатся на искусственно сгенерированных строках, поэтому на чужом почерке или повреждённой бумаге результат может быть заметно хуже. Это мой вывод, авторы проекта такого не заявляли.

Второй шаг: современные модели, которые видят изображение целиком. Многие из них читают и таблицы, и рукописный текст. Про один такой инструмент я писал в статье про Chandra. Для редкого письма заявления разработчиков надо проверять на своих образцах: поддерживает ли модель вашу письменность, показывает только пробный прогон.

Третий шаг: транскрипция. Это запись исходного текста привычными буквами, знак за знаком. Она нужна специалисту, чтобы сверять распознавание, не разбирая оригинал глазами.

Четвёртый шаг: перевод. Он идёт последним и стоит ровно столько, сколько стоят предыдущие слои. Если транскрипция с ошибками, красивый перевод ничего не исправит.

Как это выглядело в моём проекте

Так я работал над переводом старомонгольского текста по фото. Нужно было прочитать надпись на старописьменной вязи и перевести её. Мини-программы WeChat и китайские сервисы распознавания оказались недоступны, поэтому я взял открытую модель image2bichig.

Сырой результат модели я сверил с опубликованной версией той же легенды и разложил на три слоя: транслитерация, современный монгольский на кириллице и русский перевод. К ним добавил список мест, которые требуют сверки. Всё вышло в PDF на 5 страниц.

Итог: верхний ярус текста надёжен по смыслу, нижний ярус начиная с 16-й колонки остаётся черновиком. Это написано в отчёте прямо. Для публикации такой текст нужно показать носителю языка.

Как проверять результат

Проверка состоит из двух частей, и пропускать нельзя ни одну.

Первая часть: сверка с эталоном. Если у текста есть опубликованная версия, издание, словарь или близкий по смыслу текст, я сопоставляю с ним распознанное. Совпадения подтверждают чтение. Расхождения отмечаю отдельно: это либо ошибка модели, либо отличие именно этого экземпляра от известного. Какой из двух случаев перед нами, решает специалист, мне это не под силу.

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

Если вам важно сохранить язык для следующих поколений, мои мысли об этом есть в статье про ИИ и бурятский язык.

Честные пределы точности

Я не называю проценты точности для редких письменностей, потому что у меня нет измерений на вашем материале, а чужие цифры с других текстов к нему не относятся. Любая цифра без пробного прогона на ваших фото будет догадкой.

Что можно сказать честно. Качество неоднородно даже внутри одного документа: в моём проекте верхний ярус читался надёжно, а нижний нет. Нейросеть выдаёт гладкий текст одинаково уверенно, и когда поняла, и когда угадывала, поэтому слепо доверять результату нельзя. Модель может подставить правдоподобное слово вместо неразборчивого.

Поэтому в отчёте я никогда не заполняю сомнительное место красивой фразой. Лучше пустое место с пометкой, чем связный перевод, в котором не видно догадок. Для текста, который напечатают, повесят на стену или процитируют, такая пометка важнее гладкости.

Что просить у заказчика

От качества исходников зависит больше, чем от выбора модели. Вот мой список:

  • Фото сверху, камера параллельно странице, без перспективы и бликов. Лучше несколько кадров одной страницы при разном свете.
  • Разрешение, при котором отдельный знак хорошо виден. Если буква на фото занимает несколько пикселей, никакая модель её не прочтёт.
  • Линейка или цветовая шкала в кадре, чтобы был виден масштаб и цвет.
  • Образцы: другие страницы того же почерка или документа, особенно с уже известным текстом.
  • Опубликованные версии, словари, справочники, всё, с чем можно сверить результат.
  • Контакт человека, который прочтёт оригинал и подтвердит итог. Без него я не обещаю публикуемый перевод.
  • Сведения о происхождении: век, регион, жанр. Они сужают круг возможных слов.

Как я это делаю

Сначала прошу три-пять фото на пробу и ничего не обещаю заранее. Смотрю, читается ли письмо открытой моделью, и показываю результат вместе с неудачными местами. После этого заказчик решает, продолжать ли.

Если проба показывает, что распознавание возможно, я собираю цепочку: подготовка изображений, распознавание, сверка, транскрипция, перевод и отчёт со списком сомнительных мест. Работаю на открытых моделях, поэтому исходники можно не отправлять в чужие сервисы и держать у себя. Если у вас стопка документов, делаю ИИ-обработку пачкой с отчётом, где видно, на какой странице распознавание сомнительно. Для сканов и архивов на обычных языках у меня есть отдельная статья про PDF2MD и отчёт об ошибках OCR.

Финальную вычитку делает носитель языка, которого находит заказчик: музей, архив, библиотека или знакомый специалист. Я могу подготовить ему удобный формат для проверки.

Сколько это стоит

Распознавание документов с извлечением данных стоит от 100 000 ₽, срок от 2 недель. Для редкой письменности цену называю после пробного прогона на ваших фото, потому что объём ручной сверки заранее неизвестен. Если нужна автоматизация потока документов вокруг распознавания, она стоит от 60 000 ₽, срок от 2 недель. Разовые доработки и эксперименты идут по часам, от 3 000 ₽/час. Для зарубежных заказчиков цена в дирхамах считается по курсу на день оплаты.

Частые вопросы

Можно ли распознать любую старинную рукопись?

Гарантии нет. Для одних письменностей есть открытые модели, для других нет. Поэтому я начинаю с пробного прогона на трёх-пяти фото и только потом называю срок и цену.

Можно ли публиковать результат без проверки?

Нет. Машинный перевод старого текста остаётся черновиком, пока его не прочитал носитель языка. В моём проекте надёжным по смыслу признан только верхний ярус, нижний требовал сверки.

Нужно ли отправлять оригиналы в облачный сервис?

Необязательно. Открытые модели можно запускать на своём сервере или компьютере, и фото остаются у вас. Если заказчик разрешает облако, это отдельное решение.

Какие фото нужны для хорошего результата?

Ровные, резкие, при равномерном свете и в достаточном разрешении. Несколько кадров одной страницы лучше одного. Полный список выше.

Коротко о главном

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

Точность для таких текстов всегда неполная, и самая ценная часть отчёта это честная граница между надёжным и черновым. Заказчик помогает больше всего качественными фото, образцами и человеком, который прочтёт оригинал.

Если у вас есть рукопись, надпись или архив на редком письме, напишите мне в Telegram с кодовым словом «РУКОПИСЬ», и я посмотрю на пробные фото.

Обсудим вашу задачу

Распознавание редких письменностей по фото с проверкой

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Пробный прогон на ваших фото до договора
  • Транскрипция, современная запись и перевод
  • Список сомнительных мест для сверки носителем языка
  • Отчёт в PDF с границей надёжного и чернового
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх