Многие организации разных размеров и отраслевых вертикалей по-прежнему полагаются на большие объемы документов для выполнения своих повседневных операций. Чтобы решить эту бизнес-задачу, клиенты используют интеллектуальные сервисы обработки документов от AWS, такие как Амазонка Текст и Amazon Comprehend помочь с добыча и автоматизация процессов. Прежде чем вы сможете извлекать текст, пары «ключ-значение», таблицы и объекты, вам необходимо иметь возможность разбивать многостраничные PDF-документы, которые часто содержат разнородные типы форм. Например, при обработке ипотечного кредита брокеру или лицу, занимающемуся оформлением кредита, может потребоваться разделить объединенный пакет кредита в формате PDF, содержащий заявку на ипотеку (форма Fannie Mae 1003), W2, подтверждение дохода, налоговые формы 1040 и многое другое.
Чтобы решить эту проблему, организации используют обработку на основе правил: идентификацию типов документов по заголовкам форм, номерам страниц, длине форм и т. д. Эти подходы подвержены ошибкам и их трудно масштабировать, особенно когда типы форм могут иметь несколько вариантов. Соответственно, эти обходные пути быстро выходят из строя на практике и увеличивают потребность в человеческом вмешательстве.
В этом посте мы покажем, как вы можете создать собственное решение для разделения документов с небольшим количеством кода для любого набора форм, без создания пользовательских правил или обработки рабочих процессов.
Обзор решения
В этом посте мы используем набор стандартных форм заявок на ипотеку, чтобы продемонстрировать, как можно использовать Amazon Textract и Amazon Comprehend для создания интеллектуального разделителя документов, который является более надежным, чем предыдущие подходы. При обработке документов для ипотечных заявок заемщик отправляет многостраничный PDF-файл, состоящий из разнородных типов документов разной длины страниц; для извлечения информации пользователь (например, банк) должен разобрать этот PDF.
Хотя мы показываем конкретный пример для ипотечных форм, вы, как правило, можете масштабировать и применять этот подход практически к любому набору многостраничных PDF-документов.
Мы используем Amazon Textract для извлечения данных из документа и создания набора данных, совместимого с Amazon Comprehend, для обучения модель классификации документов. Затем мы обучаем модель классификации и создаем конечную точку классификации, которая может выполнять анализ документов в реальном времени. Имейте в виду, что за конечные точки классификации Amazon Textract и Amazon Comprehend взимается плата, поэтому см. Цены на Amazon Textract и Цены на Amazon Comprehend за дополнительной информацией. Наконец, мы покажем, как мы можем классифицировать документы с помощью этой конечной точки и разделять документы на основе результатов классификации.
В этом решении используются следующие сервисы AWS:
Предпосылки
Для создания и развертывания этого решения необходимо выполнить следующие предварительные условия:
- Установите Питон 3.8.х.
- Установите jq.
- Установите интерфейс командной строки AWS SAM.
- Установите Docker.
- Убедитесь, что у вас есть пип установлен.
- Установка и настройка домен Интерфейс командной строки AWS (Интерфейс командной строки AWS).
- Настроить ваши учетные данные AWS.
Решение предназначено для оптимальной работы в us-east-1
и us-west-2
регионы, чтобы воспользоваться более высокими квотами по умолчанию для Amazon Textract. Для конкретных региональных рабочих нагрузок см. Конечные точки и квоты Amazon Textract. Убедитесь, что вы используете один регион для всего решения.
Клон репо
Для начала клонируйте репозиторий, выполнив следующую команду; затем мы переключаемся в рабочий каталог:
Рабочие процессы решения
Решение состоит из трех рабочих процессов:
- workflow1_endpointbuilder – Берет учебные документы и создает пользовательскую конечную точку классификации в Amazon Comprehend.
- workflow2_docsplitter – Действует как служба разделения документов, где документы разделяются по классам. Он использует конечную точку классификации, созданную в
workflow1
. - рабочий процесс3_local – Предназначен для клиентов, которые работают в строго регулируемых отраслях и не могут сохранять данные в Amazon S3. Этот рабочий процесс содержит локальные версии
workflow1
иworkflow2
.
Давайте подробно рассмотрим каждый рабочий процесс и то, как они работают.
Рабочий процесс 1. Создание классификатора Amazon Comprehend из документов PDF, JPG или PNG
Первый рабочий процесс берет документы, хранящиеся в Amazon S3, и отправляет их через ряд шагов для извлечения данных из документов через Amazon Textract. Затем извлеченные данные используются для создания пользовательской конечной точки классификации Amazon Comprehend. Это показано на следующей архитектурной диаграмме.
Запустить workflow1
, вам потребуется URI Amazon S3 папки, содержащей файлы набора обучающих данных (это могут быть изображения, одностраничные или многостраничные PDF-файлы). Структура папки должна быть следующей:
В качестве альтернативы структура может иметь дополнительные вложенные подкаталоги:
Имена подкаталогов классов (второй уровень каталогов) становятся именами классов, используемых в пользовательской модели классификации Amazon Comprehend. Например, в следующей файловой структуре класс для form123.pdf
is tax_forms
:
Чтобы запустить рабочий процесс, выполните следующие действия:
- Загрузите набор данных в корзину S3, которой вы владеете.
Рекомендуется иметь более 50 образцов для каждого класса, по которому вы хотите провести классификацию. На следующем снимке экрана показан пример структуры этого класса документа.
- Постройте
sam-app
выполнив следующие команды (при необходимости измените предоставленные команды):
Результатом сборки является ARN для конечного автомата Step Functions.
- Когда сборка будет завершена, перейдите к Государственные машины на странице Step Functions console.
- Выберите созданный вами конечный автомат.
- Выберите Начать выполнение.
- Введите следующие обязательные входные параметры:
Конечный автомат запускает рабочий процесс. Это может занять несколько часов в зависимости от размера набора данных. На следующем снимке экрана показан наш конечный автомат в процессе.
Когда конечный автомат завершен, каждый шаг на графике становится зеленым, как показано на следующем снимке экрана.
Вы можете перейти к консоли Amazon Comprehend, чтобы просмотреть развернутую конечную точку.
Теперь вы создали свой собственный классификатор, используя свои документы. Это знаменует собой конец workflow1
.
Рабочий процесс 2: создание конечной точки
Второй рабочий процесс использует конечную точку, которую вы создали в workflow1
и разбивает документы на основе классов, с которыми была обучена модель. Это показано на следующей архитектурной диаграмме.
Запустить workflow2
, мы строим sam-app
. При необходимости измените предоставленные команды:
После создания стека вы получаете DNS Load Balancer на Выходы вкладку стека CloudFormation. Вы можете начать делать запросы к этой конечной точке.
Образец запроса доступен в workflow2_docsplitter/sample_request_folder/sample_s3_request.py
файл. API принимает три параметра: имя корзины S3, URI документа Amazon S3 и ARN конечной точки классификации Amazon Comprehend. Workflow2 поддерживает только ввод PDF.
Для нашего теста мы используем 11-страничный ипотечный документ с пятью различными типами документов.
Ответом для API является URI Amazon S3 для ZIP-файла со всеми разделенными документами. Вы также можете найти этот файл в корзине, которую вы указали в вызове API.
Загрузите объект и просмотрите документы, разделенные по классам.
Это знаменует собой конец workflow2
. Теперь мы показали, как можно использовать пользовательскую конечную точку классификации Amazon Comprehend для классификации и разделения документов.
Рабочий процесс 3: Локальное разделение документа
Наш третий рабочий процесс преследует ту же цель, что и workflow1
и workflow2
для создания конечной точки Amazon Comprehend; однако вся обработка выполняется на вашем локальном компьютере для создания CSV-файла, совместимого с Amazon Comprehend. Этот рабочий процесс был создан для клиентов в строго регулируемых отраслях, где сохранение PDF-документов в Amazon S3 может оказаться невозможным. Следующая диаграмма архитектуры является визуальным представлением рабочего процесса локального построителя конечных точек.
Следующая диаграмма иллюстрирует архитектуру локального разделителя документов.
Весь код решения доступен в workflow3_local/local_endpointbuilder.py
файл для создания конечной точки классификации Amazon Comprehend и workflow3_local/local_docsplitter.py
отправить документы на разбивку.
Заключение
Разделение документов является ключом к построению успешного и интеллектуального рабочего процесса обработки документов. Это по-прежнему очень актуальная проблема для бизнеса, особенно для организаций, объединяющих несколько типов документов для своей повседневной деятельности. Некоторые примеры включают обработку документов о страховых претензиях, заявлений о страховом полисе, документов SEC, налоговых форм и форм подтверждения доходов.
В этом посте мы взяли набор стандартных документов, используемых для обработки кредитов, извлекли данные с помощью Amazon Textract и создали конечную точку пользовательской классификации Amazon Comprehend. С помощью этой конечной точки мы классифицировали входящие документы и разделили их на основе соответствующего класса. Вы можете применить этот процесс практически к любому набору документов с приложениями в различных отраслях, таких как здравоохранение и финансовые услуги. Чтобы узнать больше об Amazon Text, посетите веб-страницу.
Об авторах
Адити Раджниш учится на первом курсе по разработке программного обеспечения в Университете Ватерлоо. Ее интересы включают компьютерное зрение, обработку естественного языка и граничные вычисления. Она также увлечена общественной деятельностью STEM и защитой интересов. В свободное время она занимается скалолазанием, игрой на пианино или учится печь идеальные лепешки.
Радж Патхак является архитектором решений и техническим консультантом для клиентов из списка Fortune 50 и среднего размера FSI (банковское дело, страхование, рынки капитала) в Канаде и США. Радж специализируется на машинном обучении с приложениями для извлечения документов, преобразования контакт-центра и компьютерного зрения.
- '
- 100
- 7
- дополнительный
- плюс
- советник
- пропаганда
- Все
- Amazon
- Amazon Comprehend
- Амазонка Текст
- анализ
- API
- Применение
- Приложения
- архитектура
- Аргументы
- AWS
- стабилизатор
- Банка
- Банковское дело
- брокер
- строить
- строитель
- Строительство
- бизнес
- бизнес
- призывают
- Канада
- столица
- Рынки капитала
- вызов
- расходы
- требования
- классификация
- код
- Общий
- Компьютерное зрение
- вычисление
- Создающий
- Полномочия
- Клиенты
- данным
- DNS
- Docker
- Документация
- Edge
- краевые вычисления
- Конечная точка
- Проект и
- извлечь данные
- добыча
- в заключение
- финансовый
- финансовые услуги
- First
- форма
- идти
- GitHub
- Зелёная
- здравоохранение
- Как
- How To
- HTTPS
- IAM
- доход
- Увеличение
- промышленности
- промышленность
- информация
- страхование
- IT
- Основные
- язык
- большой
- запуск
- УЧИТЬСЯ
- изучение
- уровень
- линия
- загрузка
- варианты
- локальным
- обучение с помощью машины
- Области применения:
- модель
- Ипотека
- имена
- Естественный язык
- Обработка естественного языка
- номера
- Операционный отдел
- организации
- политика
- Питон
- реального времени
- Полезные ресурсы
- ответ
- Итоги
- обзоре
- условиями,
- Run
- Бег
- Шкала
- SEC / КОМИССИЯ ПО ЦЕННЫМ БУМАГАМ И БИРЖАМ
- Серии
- Услуги
- набор
- Размер
- So
- Software
- разработка программного обеспечения
- Решения
- РЕШАТЬ
- специализируется
- раскол
- и политические лидеры
- Область
- Области
- ножка
- "Студент"
- успешный
- Поддержка
- Коммутатор
- налог
- Технический
- тестXNUMX
- График
- время
- Обучение
- трансформация
- Объединенный
- США
- Университет
- URI
- проверка
- видение
- КТО
- Работа
- рабочий
- X