Несмотря на обилие решений для обработки документов на основе искусственного интеллекта на рынке, ни одно из них не может обрабатывать сложные документы с достаточно высокой точностью, и государственные формы являются одним из таких документов: они обычно содержат несколько типов полей ввода, имеют большое разнообразие макетов и часто представлены в виде наборов из сотен форм в одном PDF-файле.
Наш клиент обратился к нам с задачей расширить свою экосистему обработки цифровых документов с помощью системы обработки государственных форм на базе искусственного интеллекта, чтобы помочь в оцифровке документов различных предприятий по всей территории США.
Основные проблемы заключались в большом разнообразии макетов, сложности государственных форм и скорости обработки:
В США существует огромное разнообразие форм, каждая из которых имеет свой макет и дизайн. Система должна была включать модуль распознавания типов форм, а также быть достаточно гибкой, чтобы учитывать новые типы форм.
Формы представляют собой PDF-документы, состоящие из сотен страниц с десятками типов полей и сложными таблицами. Для обнаружения отдельных форм в большом документе и правильного определения местоположения всех полей необходимо использовать мощные модели машинного обучения.
Высокая скорость обработки документов имеет важное значение для любой системы анализа документов на базе искусственного интеллекта, а тем более для системы с высокой нагрузкой. При разработке системы мы учитывали потенциальную ежедневную нагрузку.
Мы разработали систему обработки государственных форм на базе искусственного интеллекта, которая обнаруживает отдельные формы в больших PDF-документах, определяет тип и макет формы и извлекает соответствующие данные в формате JSON для дальнейшей обработки.
Мы разработали систему на основе облачных технологий, чтобы обеспечить стабильную работу системы при высоких нагрузках.
Поскольку формы представляют собой PDF-файлы с текстовым слоем, система использует GD Picture для извлечения текста и поиска ключевых слов.
Многостраничные PDF-документы разделяются на отдельные формы путем обнаружения определенных ключевых слов, которые обозначают титульный лист каждой формы, таким образом определяя конец одной формы и начало другой.
Система определяет тип формы путем анализа ее общей структуры и ключевых слов, что улучшает качество и точность извлечения данных. Титул формы, структура и поля данных анализируются для получения точного предположения о типе документа.
Наша система способна работать с десятками типов форм.
Извлечение данных из формы начинается с определения ее структуры и основных элементов, также известных как примитивы: горизонтальные и вертикальные линии, текстовые поля, таблицы и т. д. После определения общей структуры формы система ищет текст внутри полей ввода и заголовков полей, сопоставляет их попарно и извлекает в файл .json для интеграции с системами клиента.
Наша система основана на облачных технологиях: все документы загружаются в облако Amazon для обработки. Мы разработали систему с учетом потенциально высоких нагрузок, оптимизировав скорость обработки каждого документа. Большие документы объемом 100 страниц обрабатываются менее чем за 1 минуту, а одностраничные документы — за 2 секунды.
Мы использовали AWS Lambda, чтобы за короткий срок создать легко масштабируемую отказоустойчивую систему. Система поддерживает пакетную обработку, что упрощает обработку нескольких документов одновременно.
Система была успешно интегрирована в приложение нашего клиента и уже используется компаниями в различных областях для автоматической обработки государственных форм. Мы продолжаем совершенствовать систему, добавляя новые функции и поддержку новых типов форм.