OCR для узбекских и русских документов: латиница и кириллица
Практика3 минРедакция Innovialabs
Коротко
Универсального победителя нет — соберите 50–100 своих реальных документов, прогоните через 2–3 движка и vision LLM, посчитайте ошибки по символам и полям и выберите связку под ваш тип документов.
Короткий ответ
Для узбекских и русских документов работают три класса решений: классические OCR-движки (Tesseract, ABBYY), облачные сервисы (Google Cloud Vision, Azure Document Intelligence, AWS Textract) и vision LLM (модели, которые «читают» изображение и сразу возвращают структуру). Какой лучше — зависит от ваших документов, поэтому выбор делается только тестом на собственной выборке.
Главная сложность региона — смешанные письменности: узбекская латиница с символами o‘ и g‘, узбекская кириллица с ў, қ, ғ, ҳ и русский текст на одной странице. Движок, настроенный на один язык, часто путает похожие буквы.
Чем отличаются подходы
| Подход | Сильные стороны | Слабые стороны |
|---|---|---|
| Tesseract | Бесплатный, работает локально, есть модели uzb и uzb_cyrl | Чувствителен к качеству скана, слабо понимает таблицы |
| Коммерческий OCR | Хорошая разметка страницы, таблицы, стабильность | Стоимость, данные могут уходить в облако |
| Vision LLM | Понимает контекст, сразу извлекает поля в JSON | Может «додумать» текст, которого нет; дороже на большом объёме |
Важный нюанс vision LLM: модель может галлюцинировать — исправить номер договора на «правдоподобный» или дописать отсутствующее слово. Для сумм, ИНН и дат это критично.
Как провести честный тест
- Соберите выборку: 50–100 реальных документов разных типов — сканы, фото с телефона, PDF, печати, рукописные пометки.
- Сделайте эталон: вручную перепишите текст или ключевые поля. Без эталона сравнение превращается во «вроде лучше».
- Выберите метрики: CER (доля ошибок по символам) для сплошного текста и точность по полям (совпало ли значение целиком) для реквизитов.
- Разделите результаты по письменностям: латиница, кириллица, смешанные страницы. Среднее значение скрывает провалы.
- Отдельно проверьте спецсимволы: o‘, g‘, апостроф ’, ў, қ, ғ, ҳ. Частая ошибка — замена o‘ на o' или потеря апострофа.
Для Tesseract можно указать несколько языков сразу:
tesseract scan.png out -l uzb+uzb_cyrl+rus
Как поднять точность
- Предобработка изображения: выравнивание наклона, обрезка полей, повышение контраста, разрешение около 300 dpi для сканов.
- Определение письменности по блокам: если страница смешанная, сначала определите язык фрагмента, затем распознавайте подходящей моделью.
- Нормализация символов: приведите разные варианты апострофа (', `, ‘, ’) к одному стандарту до сохранения в базу.
- Валидация полей: проверка формата ИНН, дат, сумм, контрольных цифр. Ошибку лучше поймать правилом, чем человеком.
- Гибрид OCR + LLM: классический OCR даёт текст, LLM структурирует его в поля. Так меньше риск выдуманных значений, чем при чистом vision LLM.
- Human-in-the-loop: документы с низкой уверенностью отправляйте на проверку оператору.
Типичные ошибки
- Тестировать на идеальных PDF, а в работе получать фото под углом.
- Выбирать по демо одного документа.
- Доверять vision LLM в финансовых полях без проверки.
- Хранить текст с разными апострофами — потом поиск не находит половину записей.
- Игнорировать требования к хранению персональных данных при отправке сканов во внешний сервис.