Навчання OCR: збої на рідкісних шрифтах і мовах
Штатні моделі розпізнавання навчені на масових корпусах: типографські гарнітури, рівні скани, одна мова на сторінку.
Щойно в потік потрапляє рідкісний шрифт — вузький бланковий, історичний, із нестандартними лігатурами, — впевненість за символами падає, а схожі знаки починають зливатися в один. Одна підміна літери в номері рахунку чи прізвищі ламає все, що побудовано вище за процесом.
Слабка якість скану підсилює ефект: низький контраст, шум від копіра, перекіс рядка, залита печаткою ділянка. Передобробка вирівнює такі аркуші, але не повертає втрачені пікселі — частину символів модель просто не бачить і добудовує за змістом.
Окрема категорія — рукописний текст у документах: підписи, правки від руки, заповнені від руки поля бланка.
Розкид нахилу, товщини й злитності штриха в навчальних вибірках майже не представлений, тому розпізнавання або пропускає фрагмент, або видає правдоподібне, але неправильне значення.
Змішані мови в одному документі ускладнюють ще більше: шапка однією мовою, реквізити іншою, частина рядків транслітом. Розпізнавання з фіксованим словником змушене вибрати один алфавіт і переписує в нього решту.
Якість вилучення полів падає сильніше, ніж посимвольна точність: однієї підміни в даті достатньо, щоб документ пішов на ручну перевірку.
Розбираємо, як це закривається: де потрібна власна розмітка під конкретний шрифт і мову, де — синтетичні зразки бланків і рукописних вставок, а де достатньо налаштування постобробки й правил валідації полів.
Що дає адаптація моделі: вимірювані ефекти
Базова модель розпізнавання навчена на усередненому наборі — типові бланки, друкований шрифт, одна мова.
На вашому корпусі вона спотикається об те, чого в навчальних даних просто не було: вузький службовий шрифт, рукописні позначки поверх друкованого тексту, двомовні форми, де реквізити йдуть упереміш.
Точність вилучення полів
Донавчання на розмічених зразках ваших документів підвищує точність за конкретними полями — номер рахунку, дата, сума прописом, код підрозділу.
Метрику вважаємо не за документом загалом, а за кожним полем окремо: де символ плутається зі схожим (0/O, 1/l, 3/З), а де губиться межа блоку й значення переїжджає в сусідню графу.
Скорочення ручного виправлення
Оператор перевіряє лише поля, де впевненість моделі нижча за заданий поріг, — зазвичай це 5–15% документа замість усіх ста відсотків.
Система сама позначає сумнівні фрагменти на бланку, і ручне виправлення перетворюється на вибірковий контроль: час на один документ падає в рази, а не на відсотки.
Стабільність на нових типах бланків
Головний ефект — модель не розвалюється, коли контрагент надсилає форму нового зразка.
Донавчання з викривленнями вихідних даних (поворот, шум сканера, обрив ліній) робить розпізнавання стійким до зміни бланка, а два-три десятки нових прикладів закривають незнайомий тип документа без перезбирання всього ланцюжка обробки.
Зрештою автоматизація введення документів перестає вимагати постійного ручного супроводу. Працює це й на відкритих рушіях на кшталт Tesseract: вирішує не сама модель, а якість розмітки корпусу та логіка постобробки під структуру ваших полів.
Підходи до навчання OCR: порівняння варіантів
Базова модель впевнено читає однотипні друковані бланки, але розсипається там, де змінюється шрифт, з’являється рукописна вставка або в одному полі сусідять дві мови.
Спосіб доведення обирають за складом документів: скільки в потоці різних форм і наскільки критична помилка в конкретній графі.
Варіанти не виключають один одного — їх порівнюють за трудовитратами на підготовку та за класом помилок, який кожен закриває.
| Варіант | Коли підходить | Обмеження |
|---|---|---|
| Донавчання на власній розмітці | Вузький шрифт, нестандартна верстка, однотипний потік документів | Потрібні розмічені приклади — сотні на клас; перерозмітка при зміні бланка |
| Постобробка результатів розпізнавання | Помилки передбачувані: плутанина схожих символів, зайві пробіли, склеювання рядків | Виправляє наслідок, а не причину; складні викривлення все одно йдуть на ручну перевірку |
| Словники та правила полів | Є довідники кодів, найменувань, адрес і жорсткі формати полів | Ламається на значеннях поза довідником; правила доводиться супроводжувати |
| Гібридна схема | Різнорідний потік: друковані бланки, скани, рукописні позначки | Довше налаштування й більше компонентів, які тестують разом |
На практиці частіше виграє гібрид: донавчання витягує розпізнавання символів, а словники й правила доводять поле до валідного значення — номер документа звіряється з контрольною сумою. Чиста постобробка доречна там, де потік однорідний і помилки однотипні.
Щоб вибрати схему, розбираємо ваші зразки: рахуємо частку полів, прочитаних неправильно, і розкладаємо помилки за типами. Так видно, де достатньо правил, а де потрібна власна розмітка.
Як проходить робота: етапи від аудиту до передачі
Починаємо не з вибору моделі, а з розбору того, що реально надходить на вхід. Документи рідко однорідні: друковані бланки сусідять із рукописними вставками, скани різняться роздільністю та нахилом, а рідкісна гарнітура трапляється в поодиноких екземплярах. Від цієї картини залежить і схема розмітки, і те, які метрики взагалі має сенс рахувати.
-
Аудит корпусу документів. Розбираємо зразки за типами, мовами, гарнітурами та якістю носія, рахуємо частки сторінок у кожній групі. Так видно, що рідкісний клас — частки відсотка й потребуватиме синтетики або додаткового набору прикладів.
-
Схема розмітки. Фіксуємо гранулярність (рядки, слова, блоки), формат анотацій і правила для спірних місць: переносів, штампів, закресленого тексту. Домовляємося про це до старту.
-
Підготовка розмітки. Частину сторінок розмічаємо двічі й звіряємо — розбіжності показують, де інструкція неоднозначна. Рідкісні шрифти й мови добираємо синтетикою з реалістичними викривленнями.
-
Донавчання моделі. Підбираємо викривлення та порядок подачі прикладів за валідаційною частиною корпусу. Перевірочний набір при цьому не чіпаємо — інакше метрика перестає щось означати.
-
Перевірка на відкладеній вибірці. Рахуємо помилку на сторінках, які не брали участі ні в навчанні, ні в налаштуванні, і розбиваємо результат за підгрупами: друк, рукопис, рідкісна гарнітура. Середня цифра за корпусом приховує провал на рідкісному класі.
-
Передача моделі в експлуатацію. Віддаємо ваги, конфігурації, регламент повторного донавчання й метрики моніторингу, підключаємо модель до облікової системи. Налаштовуємо поріг впевненості, нижче якого фрагмент іде оператору на перевірку.
Комплект передачі: модель, розмітка, документація
Комплект передачі визначає, чи зможете ви розвивати рішення власними силами. Модель без розмітки, конфігурацій і опису слабких місць — чорна скринька: зміна бланка чи шрифту перетворюється на новий проєкт. Тому передаємо не лише ваги, а й весь контур відтворення.
Комплект збирається під час робіт, а не перед здачею — на прийманні ви вже бачили кожен артефакт у ділі.
- Склад документації на модель: картка з областю застосування, метриками за типами документів (скани, фото, факси), переліком відомих класів помилок і меж застосування.
- Розмітка та версіонування розмітки: вихідні зображення, анотації, словник символів і правило зв’язку «ревізія розмітки — версія моделі», щоб метрики порівнювалися на одному й тому самому наборі.
- Конфігурації навчання й розпізнавання: параметри передобробки, викривлень, пороги впевненості — прогін відтворюється на вашій стороні.
- Схема інтеграції з обліковою системою: точки виклику, формати обміну, поведінка при недоступності сервісу, повторна обробка без дублів.
- Регламент перенавчання: тригери (просідання точності на контрольній вибірці, новий тип бланка), періодичність, хто розмічає і в які терміни.
- Контур моніторингу: частка розпізнавань із низькою впевненістю, черга на ручну перевірку, автоматичне вивантаження спірних випадків назад у розмітку.
- Оточення та запуск: контейнери, залежності, інструкція з розгортання й навчання на вашому обладнанні.
- Передача знань: розбори з вашою командою та журнал рішень, де зафіксовано, чому вибрано такі архітектури й пороги.
Кейс: архів договорів трьома мовами
Замовник приніс архів договорів за десять років — близько 400 тисяч сторінок трьома мовами, більше половини в сканах із друкованих бланків. Бланки набрані нестандартною гарнітурою: вузькі засічки, лігатури, стиснені цифрові поля.
Готове розпізнавання на таких сторінках розвалювалося — схожі гліфи плуталися, реквізити переїжджали у вільний текст.
Базова Tesseract без донавчання давала 11–16% помилок на символ саме в полях із номером і сумою.
Для юридично значущого документа це означає ручну звірку кожної сторінки: частка сторінок, які оператор правив руками, трималася на 30–35%, а потік сканів зростав швидше, ніж штат перевіряльників.
Що змінили
Зібрали навчальну вибірку з розміченого корпусу й синтетики: гарнітуру бланків накладали на чисті фони, додавали шум, перекіс, печатки й підписи поверх тексту — те, чого у вихідних сканах було мало.
Модель донавчали роздільно за мовами, але зі спільним шаром для цифрових реквізитів, щоб однакові поля різними мовами не розходилися в трактуванні. Поверх поставили постобробку: словники, перевірку контрольних сум і форматів дат, відсів явно неможливих значень.
Що стало
На контрольній вибірці в 20 тисяч сторінок помилки на символ упали з 13% до 1,2–1,8% залежно від мови. Частка сторінок, що йшли на ручне виправлення, скоротилася з 33% до 4%, точність вилучення реквізитів — номера, дати, сторони, суми — вийшла на 97–99%. Повний прохід архіву зайняв тижні замість місяців ручного введення.
Окремий результат — відтворюваність. Додавання четвертої мови зайняло дні: змінювався лише набір зразків і словник, а не вся схема розпізнавання.
Нові гарнітури підключаються як окремі набори прикладів і не ламають якість на старих бланках — навчання OCR із разового проєкту перетворюється на налаштовуваний процес.
Що робити, якщо модель уже працює у вашому контурі
Перш за все розкладіть помилки по полицях — міняти рушій одразу не потрібно.
Зберіть еталонну вибірку реальних документів і порахуйте частку правильних полів окремо за шрифтами, мовами та якістю сканів: часто модель плутає не текст, а табличну зону або не переносить нахил — тоді допомагає передобробка, а не донавчання.
Якщо помилки тримаються саме на специфічних шрифтах і мовах, шляхів два: добудовувати вже розгорнуту модель розпізнавання або ставити нову.
Донавчання зберігає поточні налаштування, але потребує власної розмітки й упирається в архітектуру: класичні рушії класу Tesseract добре вчаться на одному накресленні й просідають на змішаних сторінках із таблицями та вставками іншої мови.
Сумісність із поточним контуром перевіряють до старту робіт: формат відповіді та координати блоків, кодування, порядок читання, поведінка при збоях і порожніх відповідях, довідники для валідації.
Далі ставимо шар-адаптер, який приводить відповіді будь-якого рушія до одного вигляду — тоді заміна рушія розпізнавання не перетворюється на переписування інтеграцій.
Поетапний перехід без простою тримається на тіньовому режимі: нова модель іде тим самим потоком паралельно, розбіжності з еталоном розбираються, а її частка зростає від одиниць відсотків до повного обсягу. Відкат — одне перемикання, старий контур залишається робочим.
На практиці це рідко «або-або»: донавчаємо на своїх шрифтах, додаємо словникову перевірку за довідниками, а на проблемні типи ставимо другу модель. Опишіть, що вже розгорнуто і де саме помиляється, — повернемося з оцінкою та планом.
Технічні сумніви: розмітка, мови, приватність
На донавчанні оптичного розпізнавання спливають одні й ті самі питання: скільки сторінок розмічати, що робити з персональними даними в сканах, як підключається нова мова і що відбувається з моделлю після здачі. Нижче — короткі відповіді так, як ми вирішуємо це в проєктах.
Скільки даних потрібно розмітити?
Обсяг залежить від відстані між цільовим шрифтом і базовою моделлю: рукопис, типографський бланк і стандартний друкований текст вимагають різного.
Ми не розмічаємо «на око» — беремо першу партію, заміряємо посимвольну й послівну точність на відкладеній вибірці та нарощуємо обсяг, поки приріст не вийде на плато. Розмітка зупиняється там, де перестає давати якість.
Що з персональними даними в документах?
Навчання можна вести, не виносячи скани за контур замовника: розмітка й донавчання йдуть на виділеному сервері всередині вашої інфраструктури, назовні передаються лише параметри моделі.
Якщо сторінки потрібні нам, вони знеособлюються — вирізаються поля з іменами, номерами й адресами, а вихідні дані видаляються після приймання.
Як додається нова мова?
Нова писемність — це розширений алфавіт, словник постобробки й окремий набір розмітки.
Перенесення ознак із уже навченої моделі закриває більшу частину роботи, тому додавання мови до наявної моделі й запуск з нуля займають різний час — термін називаємо після тесту на ваших зразках.
Що з моделлю після запуску?
Модель — не разовий артефакт: ми стежимо за часткою впевнених розпізнавань і часткою сторінок, що пішли на ручну перевірку. Сумнівні сторінки автоматично потрапляють у чергу — виправлення операторів стають розміткою для наступного донавчання. Версії моделі зберігаються, тому відкат на попередню залишається доступним.
Обговоримо задачу: що надіслати для оцінки
Щоб повернутися з оцінкою, а не з вилкою «від і до», потрібні ваші документи в тому вигляді, у якому вони надходять у роботу.
Достатньо 20–30 зразків на кожен тип — цього вистачить, щоб побачити розкид якості й порахувати точність на реальних даних, а не на демонстраційному наборі.
- зразки документів у вихідній якості, обов’язково з проблемними випадками: блідий друк, нахил, печатки й рукописні позначки поверх тексту;
- перелік типів документів і полів: що читаємо построково, що витягуємо окремим реквізитом;
- мови й алфавіти, включно зі змішаними рядками та транслітерацією в межах одного документа;
- нестандартні шрифти — вузькі, дореформені, рукописні, матричні: те, на чому поточне рішення спотикається;
- вимоги до точності: де помилка неприпустима, де вона допустима і яка частка розбіжностей вважається робочою;
- умови експлуатації: закритий контур чи зовнішня мережа, потік сторінок за добу, хто розбирає спірні випадки;
- поточний процес: чим розпізнаєте зараз, як перевіряєте результат і куди надходить готовий документ.
За цими даними описуємо план: на якій вибірці навчаємо, де достатньо правил перевірки, де потрібна ручна розмітка, — і в які терміни виходить перший робочий результат на ваших документах. Опишіть задачу й надішліть зразки — повернемося з оцінкою, етапами та термінами.







