Современные системы электронного документооборота являются неотъемлемым ИТ инструментом крупных компаний. Как правило, такие системы включают эффективных помощников в виде систем искусственного интеллекта (СИИ) для структурирования информации. Документы поступают в систему в виде графических образов бумажных носителей. Средний объем информации для обработки в типовой системе электронного документооборота (СЭД) ~ 100 тыс. страниц в сутки. При этом каждый документ должен сохраняться в базе данных компании с необходимым набором атрибутов для последующего его извлечения в рамках решаемых компанией задач. Речь идет о типе документа, регистрационном номере, дате, наименовании компании, адресе, сумме к оплате, стоимости договора и пр.
В настоящей статье предложен подход к построению СИИ для решения задачи классификации документов со сложной структурой и извлечения из них ключевых атрибутов. Подход, в известной степени аналогичный тому, что использован в данной статье, применялся в работах [1-3] для задач классификации журнальных статей, выделения формул и пр.
Следует отметить, что задача данной работы сложнее, чем постановка в работах [1-3], в силу разнообразия типов документов и их форматов, а также разнообразия атрибутов, которые подлежат извлечению. Внимание авторов сосредоточено на таких типах документов компаний как: Договоры, Соглашения. Акты, Отчеты, Универсальные передаточные документы, Счета-фактуры и других видах документов производственной, коммерческой и хозяйственной деятельности компаний, структура н форма которых установлена государством и не может быть изменена ни при каких обстоятельствах.
Описание проблемы
Рассмотрим, как происходит процесс распознавания документов компании. Вначале отсканированную копию страницы документа в формате jpeg подвергают распознаванию с использованием алгоритма оптического распознавания текста (OCR). В результате формируется json/документ, содержащий текст и координаты всех распознанных слов. На вход в СИИ поступают отсканированные копии страниц документов в формате jpeg и json/документы. Задача СИИ-классифицировать по типу документа каждую страницу, определить и извлечь необходимые атрибуты. Классификация страниц и извлечение атрибутов выполняется с применением технологий обработки естественного языка (NLP) и регулярных выражений к текстам, полученным в результате OCR.
Проблема заключается в том, что визуально понятный текст в результате работы OCR теряет логически связную структуру. Фрагмент оригинального скана и полученный в результате применения ОСR текст представлены на рис. 1 и 2. Потеря логической связности текста затрудняет как классификацию документа по типам, так и поиск и извлечение атрибутов документа.
Располагая координатами слов после OCR можно алгоритмически восстановить связность текста. Например, предлагается проводить кластеризацию слов по расположению, группируя их в близкие группы. Однако, разнообразие типов и структур документов, помехи, связанные с неточной ориентацией исходных документов при сканировании (отклонения при сканировании документов составляют до 5 градусов) и ошибки при самого 0CR, делают такой подход сложно прогнозируемым в случае добавления новых типов документов или вариантов их оформления.
Описание предлагаемого решения
В данной статье представлен подход к созданию СИИ для распознавания разных документов со сложной структурой, включающий предварительную сегментацию связных областей образа страницы. Идея заключается в том, чтобы обучить CNN выполнять сегментацию документа – распознавать логически связные фрагменты изображения, и полученную информацию использовать для восстановления логической связности текста после ОСR.
Для сегментации страниц документа использовалась нейронная сеть CNN глубокого обучения с архитектурой yolo версии 5. Сети этой архитектуры являются на данный момент лидерами в области визуального детектирования объектов. Детали архитектуры описаны в [5], а также достаточно рассмотрены в [1-3]. Yolo включает несколько моделей. В работе выбрана модель medium, как оптимальная по качеству сегментации и производительности для целей работы.
Набор данных для работы представил из себя комплект из 200 сканов различных страниц документов разных типов.
Первая из задач заключается в выборе системы разметки изображений (электронных копий документов). Виды выделяемых областей или областей интересов зависят от конкретной задачи, решаемой фирмой. Это отдельная область конфигурации СИС. В работе [2], например, выделялись Печать, Логотип, Текст, Подпись и Таблица.
Применительно к области приложения данной работы (коммерческий документооборот) в качестве детектируемых объектов выделены типы областей: Заголовок, Связная прямоугольная область, Таблица, Печать (круглая), Форма, Поле (структурированное поле с данными).
Тексты, которые занимают всю ширину страницы и не теряют связности, в результате применения OCR, не размечались. Для единообразной и качественной разметки данных необходимо дать непротиворечивое формализованное описание каждого типа областей, а также привести примеры разметки. Неточности на этом шаге не позволят получить качественно обученную модель CNN.
Набор обучения включает 150 изображений, 20 сканов для валидации в процессе обучения и 30 для контрольного тестирования. После проведения 500 эпох обучения CNN интегральный результат составил: Precision (точность) — 0.87, Recall (воспроизведение) — 0.79 и mАР (средняя точность при пересечениях, IoU> 0.5) — 0.76.
Пример сегментации связных областей обученной CNN приведен на рис. З.
На рис. 3 слово «Счет-фактура» частично выходит за сегмент «Форма». Для компенсации ошибок CNN (низкий IoU) на практике достаточно включать слово в ту область, в которую попадает большая его часть.
В процессе анализа страницы ОСR-текст на основе результатов сегментации (см. рис. З) преобразовывается в список связных фрагментов с сохранением их порядка в скане.
Для того же примера полученный список приведен на рис. 4.
Из примера видно, что теперь один из ключевых атрибутов документа — фраза: «Универсальный передаточный документ» и его статус — представлены одним блоком. Исчезли и нерелевантные слова из поля адреса.
Время обработки одной страницы без использования графического процессора составило —0.5 сек. Что является вполне приемлемым результатом, особенно с учетом возможностей аппаратного ускорения.
Особенности работы с сегментом типа «Форма»
На практике, при извлечении атрибутов документа, возникла еще одна проблема — с областями типа «Форма». Под формой в работе понимается область структурированного текста, которая логически содержит названия атрибутов и их значения. Часто форма имеет структуру двух колонок колонку названий атрибутов и колонку значений. Причем, в отличие от таблицы, название и значение не выделены в отдельную строку.
Извлечение большинства атрибутов документа таких как Наименование компании, Адрес или Имя выполняется по ключевым текстовым признакам. При этом, однозначное сопоставление имени и значения без привлечения МР—технологий анализа текста оказывается затруднительным. Даже в пределах одного документа значение поля формы выравнивается относительно имени как по верхнему, так и по нижнему краю (см. рис. 5). Встречаются случаи выравнивания и по центру.
Дополнительно задача усложняется в тех случаях, когда значения атрибутов занимают несколько строк, которые практически не разделены по вертикали.
Для решения этой проблемы в работе также применен метод сегментации пар Имя-Значение. Если в процессе обработки документа обнаруживается область типа «Форма», то для ее анализа, т.е. извлечения атрибутов, привлекается вторая CNN, обученная для сегментации пар Имя-Значение именно для образцов «Форма».
В качестве второй модели использовалась сеть той же архитектуры. Набор данных для обучения включает 50 фрагментов сканов типа «Форма» (более 250 пар имя-значение).
Обучение составило 400 эпох. Итоговый результат: Precision (точность) ОМ, Recall (воспроизведение) — 0.95 и mАР (средняя точность при пересечениях, IoU) > 0.5) — 0.73.
Пример сегментирования фрагмента формы приведен на рис. 6.
Представленный подход принес вполне удовлетворительные результаты. Важно также, что понятен путь улучшения точности и качества сегментации, который заключается в расширении набора данных обучения обеих моделей CNN.
Заключение
Совместное применение NLP-технологий и технологий сегментации изображений показывает высокую эффективность для задач классификации документов со сложными структурами, распознавания и извлечения их атрибутов.
На первом этапе построения СИИ сегментация графической копии документа при помощи CNN глубокого обучения применяется для реконструкции связности текстов оригинального документа. На втором этапе при детектировании областей типа «Форма», используется та же технология, но с другой моделью CNN для сопоставления пар Имя-Значение.
В отличие от алгоритмических и иных подходов к решению задач такого сорта, технологии компьютерного зрения на основе CNN имеют контролируемую сложность добавления новых типов документов и образцов их оформления.
Сегментация сканов документов для выявления их логической структуры дополнительно позволяет извлекать атрибуты не текстового характера подписи, печати, диаграммы, изображения, формулы, области рукописного текста и пр.
Авторы
Бутенко Екатерина Александровна, Задорожный Александр Михайлович, Любовинкина Наталья Яковлевна, Потемкина Снежана Владиславовна
Сетевое научное издание. 2023. № 1. С. 7-12. URL: https://sanse.ru/index.php/sanse/article/view/567