
На рынке можно найти разные технологии по поиску печатей и подписей на документах. Мы в Content AI решили на этом не останавливаться и пошли дальше — помимо распознавания подписей и печатей, мы научились их валидировать. Обе технологии станут частью нашей универсальной платформы для интеллектуальной обработки информации ContentCapture и помогут пользователям еще быстрее обрабатывать большой поток документов.
О том, как верифицировать подписи, мы поделились в предыдущем посте, а про технологию валидации печатей рассказываем под катом.
Общая информация
Сразу оговоримся, что наша технология валидирует не все печати, а только печати круглой формы, которые содержат номер ИНН или ОГРН, поскольку процесс проверки происходит именно по нему.
Технология работает на трех нейросетях, которые обучались и тестировались на выборке печатей, собранных из разных источников. Сами печати делились на два типа — с читаемым и нечитаемым номером (плохо пропечатанные, размазанные, с фоновым шумом, расположенные по дуге, градиентом яркости и пр.) для разнообразия выборки.

Основная особенность распознавания печатей — отсутствие полной уверенности, что все символы всегда будут хорошо пропечатаны и не перекрыты сторонним текстом. Поэтому наша технология валидирует печати с допуском погрешности в распознавании номеров.
Сценарии использования
Пользователи смогут легко интегрировать валидацию печатей в существующий процесс обработки документов. Для этого предполагаются два подхода.
Первый вариант — для документов, в которых стоит печать организации и указаны ее ИНН и ОГРН. К примеру, такой подход применим к договорам, в конце которых указаны реквизиты сторон. Здесь будет достаточно настроить сравнение извлеченных номеров из печати с извлеченными номерами из текста документа.
Второй подход применяется к документам, в которых не содержатся реквизиты организации. Пользователю необходимо заранее внести данные компании во внешний справочник, чтобы в дальнейшем сверять с ним извлеченные из печати номера во время валидации печати. В качестве справочника можно использовать внешнюю базу данных или любой другой внешний сервис, способный возвращать по API ИНН и ОГРН организации на основе данных из документа.
Как это работает
Валидация печати проходит в четыре этапа.
Сначала первая нейросеть анализирует документ и находит регионы печати.
Во вторую нейросеть попадают найденные регионы печати, в которых она уже определяет расположение всех номеров (последовательность цифр) на печати. При этом весь остальной текст при детекции игнорируется. Для этого мы используем решение на основе семантической сегментации для поиска текста.

Третья нейросеть получает все регионы номеров и распознает их. По архитектуре эта нейросеть схожа с той, которую мы используем для распознавания русского рукописного текста, но в облегченном виде из-за меньшего набора символов и вариации их написания.
После алгоритм сравнивает строки полученной последовательности цифр с уже имеющейся в БД информацией. Сам алгоритм основан на метрике Левенштейна, которая позволяет определить, насколько отличаются две последовательности символов.
У пользователя есть возможность настроить в алгоритме порог ошибки — до двух символов, чтобы исключить ложноположительные срабатывания. К примеру, если печать частично поставлена на тексте или плохо пропечатана, то алгоритм может допустить несовпадение до двух символов в последовательности распознанных цифр с имеющимся в БД эталоном. Поэтому даже такую печать удастся валидировать.
По итогу проверки пользователь получает бинарный ответ — «да, печать валидирована» или «нет, печать не валидирована».
Тестирование
По итогам тестирования технологии получили такие результаты:
Ошибочно подтвержденные случаи (печать неверная, но технология считает ее верной) — не выявлены.
Ошибочно отклоненные случаи (технология отклонила верную печать):
— при допуске разницы печатей в 1 символ — 10% ошибок, итоговая точность — 90%,
— при допуске разницы печатей в 2 символа — 3,7% ошибок, итоговая точность — 96,3%.

Что дальше
Сейчас технология валидации печатей поддерживает только сценарий, когда номер для валидации извлекается из БД в соответствии с типом документа, который был определен заранее. В дальнейшем, при улучшении качества распознавания, станет возможным определение организации сразу по номеру печати, независимо от типа документа.
В целом, технология показала хорошие результаты тестирования и будет полезна для пользователей, которым ежедневно необходимо обрабатывать большой поток документов.
Tyusha
Это всё очень увлекательно, но каков спрос на сервис? Кому надо распознавать печать? Ну есть печать на документе -- и есть. Но даже не это главное. Почти повсеместно уже ЭДО.