Автоматизация30 сентября · MakeBiz · 7 минут

Технологии распознавания документов: OCR, ICR, Document AI

Под словами «распознавание документов» прячутся разные технологии. Разбираем, чем OCR отличается от ICR и Document AI, что умеет каждая и как понять, какая нужна вам.

Когда в разговоре звучит «нам нужна технология распознавания документов», речь может идти о трёх разных вещах: о чтении печатных символов, о чтении рукописных и о понимании документа целиком. Это три класса технологий с разной ценой и разными возможностями.

Короткий ответ такой. Печатные документы закрывает OCR, заполненные от руки поля требуют ICR, а задачи, где из документа нужны конкретные значения, решает Document AI.

Три класса технологий

ТехнологияЧто читаетЧто на выходеКогда нужна
OCR, оптическое распознавание символовПечатный текстТекст страницы и координаты словНужен поиск по архиву, копирование, текстовый слой в PDF
ICR, интеллектуальное распознавание символовРукописный и рукопечатный текст: анкеты, пометки, бланки от рукиТекст рукописных полей с оценкой уверенностиВ документах есть поля, заполненные от руки
Document AI, модели понимания документовДокумент целиком: текст, вёрстку, таблицы, связи между полямиГотовые значения полей: цена, дата, контрагент, позицииДанные должны попадать в учёт или в сравнение без перепечатки

Классы не заменяют друг друга, а стоят цепочкой. Document AI обычно работает поверх уже распознанного текста, а ICR подключается там, где в документе появляется рукописная часть.

OCR: печатный текст и ничего сверх

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

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

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

ICR: рукописное и рукопечатное

ICR (Intelligent Character Recognition, интеллектуальное распознавание символов) отличается от OCR подходом. Символ не сравнивается с одним готовым начертанием: система обучена на множестве вариантов написания. Цифра «семь» у разных людей выглядит по-разному, и правило здесь не работает.

На практике ICR применяют не ко всему документу, а к отдельным полям бланка: клетки анкеты, дата, сумма прописью. Рукописный текст свободной формы остаётся трудным до сих пор, и обещания «читаем любой почерк» стоит проверять на своих документах.

Рядом стоит OMR (Optical Mark Recognition, распознавание меток): чтение галочек и закрашенных клеток. Технически это проще, чем буквы, и для анкет и опросных листов часто достаточно только его.

Document AI: понимание документа, а не символов

Document AI это модели, которые работают с документом как с целым. Они видят, где шапка, где таблица позиций, где итог, и понимают, что число рядом со словом «Итого» это сумма, а не номер.

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

На этом классе построен IntDoc: он читает документ построчно и достаёт цену и валюту, срок поставки, наличие на складе, номенклатуру и позиции, условия оплаты, гарантию, реквизиты поставщика и скидки, в том числе из сканов и фотографий с телефона.

Что стоит рядом и обычно входит в комплект

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

  • Анализ структуры страницы: разбор листа на блоки, колонки, таблицы и колонтитулы. Без него текст из двух колонок склеивается в одну ленту.
  • Классификация документов: определение типа, счёт это, акт или договор. Нужна, когда в потоке всё вперемешку и заранее неизвестно, какие поля искать.
  • Распознавание штрихкодов и QR: отдельная и самая надёжная дорожка, если на документе есть код.
  • Проверка по справочникам: ИНН и КПП по контрольной сумме, коды валют, даты по календарю. Дешёвый способ поймать ошибку распознавания до человека.

Какая технология нужна под вашу задачу

Ваша ситуацияЧто нужно
Архив сканов, нужен поиск по содержимомуOCR. Что даёт результат сам по себе — в статье о распознавании текста документов
Печатные бланки одного вида, поля всегда на одном местеOCR плюс разметка полей по координатам
Анкеты и заявления, заполненные от рукиICR, а для галочек и клеток OMR
Счета и накладные от разных контрагентов, данные нужны в учётеDocument AI: шаблон на каждого контрагента не построить
Предложения от разных поставщиков, их нужно сравнитьDocument AI с нормализацией и сравнением значений

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

С чего начать разговор о технологии

Начинать стоит не с названия технологии, а с документа. Возьмите десяток своих и посмотрите, сколько среди них печатных, сколько с рукописными полями и сколько одинаковых по форме. Ответ обычно виден сразу.

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

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

Коротко

Вопросы и ответы

Чем OCR отличается от ICR?

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

Что такое Document AI?

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

Какая технология распознаёт рукописный текст?

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

Нужно ли настраивать шаблон под каждый вид документа?

При работе на OCR с разметкой полей по координатам да: для каждой формы указывается, где какое поле лежит. Это работает, пока документы приходят от одного отправителя в одном виде. Document AI шаблонов не требует, потому что опирается на устройство документа, а не на координаты, и это его главное практическое преимущество в потоке от разных контрагентов.

Можно ли обойтись одной технологией?

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

Какие технологии использует IntDoc?

IntDoc относится к классу Document AI: он не просто читает текст, а извлекает поля. Из документа вытягиваются цена и валюта, срок поставки, наличие, номенклатура, условия оплаты, гарантия, реквизиты и скидки, включая сканы и фотографии с телефона. Дальше предложения приводятся к единому виду, сравниваются по цене, сроку и наличию, а результат выгружается в Excel, CRM и Битрикс24.

← Все статьи