Генеративный анализ данных

Настройте Amazon Textract с документами, специфичными для бизнеса, с помощью пользовательских запросов | Веб-сервисы Amazon

Дата:

Амазонка Текст — это служба машинного обучения (ML), которая автоматически извлекает текст, рукописный текст и данные из отсканированных документов. Запросы — это функция, которая позволяет извлекать определенные фрагменты информации из различных сложных документов, используя естественный язык. Пользовательские запросы предоставляет вам возможность настроить функцию запросов для нестандартных документов, специфичных для вашего бизнеса, таких как договоры автокредитования, чеки и отчеты о платежах, в режиме самообслуживания. Настроив эту функцию для распознавания уникальных терминов, структур и ключевой информации, характерной для этих типов документов, вы можете удовлетворить свои потребности в последующей обработке с большей точностью и минимальным вмешательством человека. Пользовательские запросы легко интегрировать в существующий конвейер Textract, и вы продолжите пользоваться полностью управляемыми функциями интеллектуальной обработки документов Amazon Textract без необходимости инвестировать в опыт машинного обучения или управление инфраструктурой.

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

Обзор решения

Приступая к новому варианту использования, вы можете оценить, как запросы Textract работают с вашими документами, перейдя к Консоль Тексттракта и с помощью демо-версии анализа документа или средства массовой загрузки документов. Ссылаться на Лучшие практики для запросов для составления запросов, применимых к вашему варианту использования. Если вы обнаружите ошибки в ответах на запросы из-за характера ваших деловых документов, вы можете использовать пользовательские запросы для повышения точности. В течение нескольких часов вы можете аннотировать образцы документов, используя Консоль управления AWS и обучить адаптер. Адаптеры — это компоненты, которые подключаются к предварительно обученной модели глубокого обучения Amazon Textract и настраивают ее выходные данные на основе ваших аннотированных документов. Вы можете использовать адаптер для вывода, передав идентификатор адаптера в качестве дополнительного параметра в Анализ запросов документов Запрос API.

Давайте рассмотрим, как Пользовательские запросы может повысить точность извлечения в сложных реальных сценариях, таких как извлечение данных из чеков. Основная проблема при обработке чеков возникает из-за их высокой степени вариации в зависимости от типа (например, именные или кассовые чеки), финансового учреждения и страны (например, формат строки MICR). . Эти варианты могут включать размещение имени получателя платежа, суммы цифрами и прописью, даты и подписи. Распознавание этих изменений и адаптация к ним может оказаться сложной задачей во время извлечения данных. Чтобы улучшить извлечение данных, организации часто используют процессы ручной проверки и проверки, что увеличивает стоимость и время процесса извлечения.

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

В нашем случае финансовое учреждение хочет извлечь из чека следующие поля: имя получателя платежа, имя плательщика, номер счета, номер маршрутизации, сумма платежа (цифрами), сумма платежа (прописью), номер чека, дата и памятка.

Давайте рассмотрим процесс создания адаптера (компонента, настраивающего выходные данные) для обработки чеков. Адаптеры можно создавать через консоль или программно через API. В этом посте подробно описывается работа с консолью; однако, если вы хотите создать адаптер программным способом, обратитесь к примерам кода в пользовательские запросы-проверки-blog.ipynb Блокнот Jupyter (вариант 2).

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

Создать адаптер

В консоли Amazon Textract создайте новый адаптер, указав имя, описание и дополнительные теги, которые помогут вам идентифицировать адаптер. У вас есть возможность включить автоматические обновления, что позволит Amazon Textract обновлять ваш адаптер, когда базовая функция запросов обновляется новыми возможностями.

После создания адаптера вы увидите страницу сведений об адаптере со списком шагов в Как это работает? раздел. Этот раздел активирует ваши следующие шаги по мере их последовательного выполнения.

Загрузите образцы документов

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

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

Для этого руководства мы подготовили образцы наборов данных для проверки, которые вы можете скачать. Наш набор данных включает в себя такие варианты, как персональные чеки, кассовые чеки, стимулирующие чеки и чеки, встроенные в квитанции о заработной плате. Мы также включили рукописные и распечатанные чеки; наряду с вариациями в полях, таких как строка заметок.

Аннотировать образцы документов

На следующем этапе вы аннотируете образцы документов, связывая запросы с соответствующими ответами через консоль. Вы можете инициировать аннотацию с помощью автоматической или ручной маркировки. Автоматическая маркировка использует запросы Amazon Textract для предварительной маркировки набора данных. Мы рекомендуем использовать автоматическую маркировку, чтобы ускорить процесс аннотирования.

Для этого варианта использования обработки проверок мы используем следующие запросы. Если ваш вариант использования включает в себя другие типы документов, см. Лучшие практики для запросов для составления запросов, применимых к вашему варианту использования.

  • Кто является получателем платежа?
  • Какой номер чека?
  • Какой адрес получателя платежа?
  • Какая дата?
  • Какой номер счета?
  • Какова сумма чека прописью?
  • Каково имя счета/плательщика/имя получателя?
  • Какова сумма в долларах?
  • Каково название банка/имя плательщика?
  • Какой маршрутный номер банка?
  • Что такое линия MICR?
  • Что такое памятка?

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

Если ответ на запрос отсутствует или неправильный, вы можете добавить или отредактировать ответ, нарисовав ограничивающую рамку или введя ответ вручную.

Чтобы ускорить вашу работу, мы предварительно аннотировали образцы чеков, чтобы вы могли скопировать их в свою учетную запись AWS. Запустите пользовательские запросы-проверки-blog.ipynb Блокнот Jupyter в Примеры кода Amazon Textract библиотека для автоматического обновления ваших аннотаций.

Обучение адаптера

После того как вы просмотрите все образцы документов и убедитесь в точности аннотаций, вы можете начать процесс обучения адаптера. На этом этапе вам необходимо указать место хранения адаптера. Продолжительность процесса обучения будет варьироваться в зависимости от размера набора данных, используемого для обучения. API обучения также можно вызвать программно, если вы решите использовать инструмент аннотаций по вашему выбору и передать соответствующие входные файлы в API. Ссылаться на Пользовательские запросы Больше подробностей.

Оцените показатели производительности

После завершения обучения адаптера вы можете оценить его производительность, изучив такие показатели оценки, как Счет F1, точность и отзыв. Вы можете анализировать эти показатели либо вместе, либо по каждому документу. Используя наш набор данных выборочных проверок, вы увидите, что показатель точности (оценка F1) улучшится с 68% до 92% с помощью обученного адаптера.

Кроме того, вы можете протестировать вывод адаптера на новых документах, выбрав Попробуйте адаптер.

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

Программное тестирование адаптера

После успешного завершения обучения вы можете использовать адаптер в своем АнализДокумент API-вызовы. Запрос API аналогичен запросу API Amazon Textract Queries с добавлением AdaptersConfig объект.

Вы можете запустить следующий пример кода или запустить его напрямую в пользовательские запросы-проверки-blog.ipynb Блокнот Юпитер. В образце блокнота также содержится код для сравнения результатов запросов Amazon Textract и пользовательских запросов Amazon Textract.

Создать Конфигурация адаптеров объект с идентификатором адаптера и версией адаптера и, при необходимости, укажите страницы, к которым вы хотите применить адаптер:

!python -m pip install amazon-textract-caller --upgrade
!python -m pip install amazon-textract-response-parser –upgrade import boto3
from textractcaller.t_call import call_textract, Textract_Features, Query, QueriesConfig, Adapter, AdaptersConfig
import trp.trp2 as t2
from tabulate import tabulate # Create AdaptersConfig
adapter1 = Adapter(adapter_id=”111111111”, version="1", pages=["*"])
adapters_config = AdaptersConfig(adapters=[adapter1])

Создайте QueriesConfig объект с запросами, с помощью которых вы обучили адаптер, и вызовите API Amazon Textract. Обратите внимание, что вы также можете включить дополнительные запросы, которым адаптер не обучен. Amazon Textract будет автоматически использовать для этих вопросов функцию запросов, а не пользовательских запросов, тем самым предоставляя вам возможность использовать пользовательские запросы только там, где это необходимо.

# Create QueriesConfig
queries = []
queries.append(Query(text="What is the check#?", alias="CHECK_NUMBER", pages=["*"]))
queries.append(Query(text="What is the date?", alias="DATE", pages=["*"]))
queries.append(Query(text="What is the check amount in words?", alias="CHECK_AMOUNT_WORDS", pages=["*"]))
queries.append(Query(text="What is the dollar amount?", alias="DOLLAR_AMOUNT", pages=["*"]))
queries.append(Query(text="Who is the payee?", alias="PAYEE_NAME", pages=["*"]))
queries.append(Query(text="What is the customer account#", alias="ACCOUNT_NUMBER", pages=["*"]))
queries.append(Query(text="what is the payee address?", alias="PAYEE_ADDRESS", pages=["*"]))
queries.append(Query(text="What is the bank routing number?", alias="BANK_ROUTING_NUMBER", pages=["*"]))
queries.append(Query(text="What is the memo", alias="MEMO", pages=["*"]))
queries.append(Query(text="What is the account name/payer/drawer name?", alias="ACCOUNT_NAME", pages=["*"]))
queries.append(Query(text="What is the bank name/drawee name?", alias="BANK_NAME", pages=["*"]))
queries_config = QueriesConfig(queries=queries) document_name = "<image_name>" textract_json_with_adapter = call_textract(input_document=document_name, boto3_textract_client=textract_client, features=[Textract_Features.QUERIES], queries_config=queries_config, adapters_config=adapters_config)

Наконец, мы сводим наши результаты в таблицу для лучшей читаемости:

def tabulate_query_answers(textract_json): d = t2.TDocumentSchema().load(textract_json) for page in d.pages: query_answers = d.get_query_answers(page=page) print(tabulate(query_answers, tablefmt="github")) tabulate_query_answers(textract_json_with_adapter)

Убирать

Чтобы очистить ресурсы, выполните следующие действия:

  1. В консоли Amazon Textract выберите Пользовательские запросы в навигационной панели.
  2. Выберите адаптер, который хотите удалить.
  3. Выберите Удалить.

Управление адаптером

Вы можете регулярно улучшать свои адаптеры, создавая новые версии ранее созданного адаптера. Чтобы создать новую версию адаптера, вы добавляете новые образцы документов в существующий адаптер, маркируете документы и выполняете обучение. Вы можете одновременно поддерживать несколько версий адаптера для использования в конвейерах разработки. Для беспрепятственного обновления адаптеров не вносите изменения и не удаляйте Простой сервис хранения Amazon (Amazon S3), в котором сохраняются файлы, необходимые для создания адаптера.

Лучшие практики

При использовании пользовательских запросов в документах см. Лучшие практики для пользовательских запросов Amazon Textract для дополнительных соображений и передового опыта.

Преимущества пользовательских запросов

Пользовательские запросы предлагают следующие преимущества:

  • Улучшенное понимание документа – Благодаря своей способности извлекать и нормализовать данные с высокой точностью, пользовательские запросы уменьшают зависимость от ручных проверок и аудитов и позволяют вам создать более надежную автоматизацию ваших рабочих процессов интеллектуальной обработки документов.
  • Ускоренная окупаемость – Когда вы сталкиваетесь с новыми типами документов, требующими более высокой точности, вы можете использовать пользовательские запросы для создания адаптера в режиме самообслуживания в течение нескольких часов. Вам не придется ждать обновления предварительно обученной модели, когда вы встретите в своем рабочем процессе новые типы документов или варианты существующих. Вы имеете полный контроль над своим конвейером, и вам не нужно зависеть от Amazon Textract для поддержки новых типов документов.
  • Конфиденциальность данных – Пользовательские запросы не сохраняют и не используют данные, использованные при создании адаптеров, для улучшения наших общих предварительно обученных моделей, доступных всем клиентам. Адаптер ограничен учетной записью клиента или другими учетными записями, явно указанными клиентом, гарантируя, что только такие учетные записи могут получить доступ к улучшениям, выполненным с использованием данных клиента.
  • Удобство –Пользовательские запросы обеспечивают полностью управляемый процесс вывода, аналогичный запросам. Обучение адаптеру бесплатное, вы платите только за выводы. Пользовательские запросы позволяют сэкономить накладные расходы и затраты на обучение и эксплуатацию пользовательских моделей.

Заключение

В этом посте мы обсудили преимущества пользовательских запросов, показали, как пользовательские запросы могут точно извлекать данные из проверок, и поделились лучшими практиками эффективного использования этой функции. Всего за несколько часов вы можете создать адаптер с помощью консоли и использовать его в API AnalyseDocument для своих нужд по извлечению данных. Для получения дополнительной информации см. Пользовательские запросы.


Об авторах

Шибин Михаэльрадж — старший менеджер по продукту в команде Amazon Textract. Он занимается созданием продуктов на базе искусственного интеллекта и машинного обучения для клиентов AWS. Он рад помочь клиентам решать сложные бизнес-задачи, используя технологии искусственного интеллекта и машинного обучения. В свободное время он любит бегать, смотреть подкасты и оттачивать свои любительские навыки в теннисе.

Кит Маскареньяс — старший архитектор решений в сервисной команде Amazon Textract. Он увлечен решением масштабных бизнес-задач с помощью машинного обучения и в настоящее время помогает нашим клиентам по всему миру автоматизировать обработку документов, чтобы ускорить выход на рынок и снизить эксплуатационные расходы.

Spot_img

Последняя разведка

Spot_img