Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract.

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

В этом посте мы обсудим следующие темы:

  • Истории успеха клиентов AWS и преимущества новой функции запросов
  • Как API анализа запросов к документам помогает извлекать информацию из документов
  • Пошаговое руководство по консоли Amazon Text
  • Примеры кода для использования API анализа запросов к документам
  • Как обработать ответ с помощью библиотеки парсера Amazon Textract

Преимущества новой функции «Запросы»

Традиционные OCR-решения с трудом извлекают данные из большинства полуструктурированных и неструктурированных документов из-за значительных различий в том, как данные расположены в различных версиях и форматах этих документов. Вам необходимо внедрить собственный код постобработки или вручную просмотреть извлеченную информацию из этих документов. С помощью функции «Запросы» вы можете указать необходимую информацию в форме вопросов на естественном языке (например, «Как зовут клиента») и получить точную информацию («Джон Доу») в составе ответа API. Эта функция использует комбинацию визуальных, пространственных и языковых моделей для извлечения искомой информации с высокой точностью. Функция запросов предварительно обучена большому количеству полуструктурированных и неструктурированных документов. Некоторые примеры включают платежные квитанции, банковские выписки, формы W-2, формы заявок на получение кредита, ипотечные расписки, а также карты вакцинации и страховки.

Amazon Textract позволяет нам автоматизировать потребности наших клиентов в обработке документов. Благодаря функции «Запросы» мы сможем извлекать данные из различных документов с еще большей гибкостью и точностью. сказал Роберт Янсен, главный исполнительный директор TekStream Solutions, "Мы рассматриваем это как большой выигрыш в производительности для наших бизнес-клиентов, которые смогут использовать функцию запросов в рамках нашего решения IDP для быстрого извлечения ключевой информации из своих документов.

Amazon Textract позволяет нам извлекать текст, а также структурированные элементы, такие как формы и таблицы, из изображений с высокой точностью. Amazon Textract Queries помог нам значительно повысить качество извлечения информации из нескольких важных для бизнеса документов, таких как паспорта безопасности или спецификации материалов. сказал Торстен Варнеке, директор | Руководитель отдела компьютерной аналитики, Camelot Management Consultants, "Система запросов на естественном языке предлагает большую гибкость и точность, что снизило нашу нагрузку на постобработку и позволило нам быстрее добавлять новые документы в наши инструменты извлечения данных.

Как API анализа запросов к документам помогает извлекать информацию из документов

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

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

Новый API анализа запросов к документам в Amazon Textract может отвечать на письменные вопросы на естественном языке, такие как «Какова процентная ставка?» и выполнять мощный анализ AI и ML в документе, чтобы выяснить нужную информацию и извлечь ее из документа без какой-либо постобработки. Функция запросов не требует обучения специальной модели или настройки шаблонов или конфигураций. Вы можете быстро приступить к работе, загрузив свои документы и указав вопросы по этим документам через консоль Amazon Textract, Интерфейс командной строки AWS (интерфейс командной строки AWS) или SDK AWS.

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

Используйте функцию «Запросы» в консоли Amazon Text.

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

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Примеры кода

В этом разделе мы объясним, как вызвать API анализа документов с параметром запросов, чтобы получить ответы на вопросы о документе на естественном языке. Входной документ либо в формате байтового массива, либо находится в Простой сервис хранения Amazon (Amazon S3) ведро. Вы передаете байты изображения в операцию API Amazon Textract с помощью свойства Bytes. Например, вы можете использовать Bytes для передачи документа, загруженного из локальной файловой системы. Байты изображения, переданные с помощью Bytes свойство должно быть закодировано в base64. Коду может не понадобиться кодировать байты файла документа, если вы используете AWS SDK для вызова операций Amazon Textract API. Кроме того, вы можете передавать изображения, хранящиеся в корзине S3, в операцию Amazon Textract API с помощью S3Object свойство. Документы, хранящиеся в корзине S3, не обязательно должны быть закодированы в base64.

Вы можете использовать функцию «Запросы», чтобы получить ответы из различных типов документов, таких как платежные квитанции, карты вакцинации, ипотечные документы, банковские выписки, формы W-2, формы 1099 и другие. В следующих разделах мы рассмотрим некоторые из этих документов и покажем, как работает функция запросов.

Платежная квитанция

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

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Мы используем следующий пример кода Python:

import boto3
import json #create a Textract Client
textract = boto3.client('textract') image_filename = "paystub.jpg" response = None
with open(image_filename, 'rb') as document: imageBytes = bytearray(document.read()) # Call Textract AnalyzeDocument by passing a document from local disk
response = textract.analyze_document( Document={'Bytes': imageBytes}, FeatureTypes=["QUERIES"], QueriesConfig={ "Queries": [{ "Text": "What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS" }, { "Text": "What is the current gross pay?", "Alias": "PAYSTUB_CURRENT_GROSS" }] })

Следующий код представляет собой пример команды AWS CLI:

aws textract analyze-document —document '{"S3Object":{"Bucket":"your-s3-bucket","Name":"paystub.jpg"}}' —feature-types '["QUERIES"]' —queries-config '{"Queries":[{"Text":"What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS"}]}' 

Давайте проанализируем ответ, который мы получили для двух запросов, которые мы передали API анализа документов в предыдущем примере. Следующий ответ был обрезан, чтобы показать только соответствующие части:

{ "BlockType":"QUERY", "Id":"cbbba2fa-45be-452b-895b-adda98053153", #id of first QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT ] } ], "Query":{ "Text":"What is the year to date gross pay", #First Query "Alias":"PAYSTUB_YTD_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":87.0, "Text":"23,526.80", #Answer to the first Query "Geometry":{...}, "Id":"f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT }, { "BlockType":"QUERY", "Id":"4e2a17f0-154f-4847-954c-7c2bf2670c52", #id of second QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "350ab92c-4128-4aab-a78a-f1c6f6718959"#id of second QUERY_RESULT ] } ], "Query":{ "Text":"What is the current gross pay?", #Second Query "Alias":"PAYSTUB_CURRENT_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":95.0, "Text":"$ 452.43", #Answer to the Second Query "Geometry":{...}, "Id":"350ab92c-4128-4aab-a78a-f1c6f6718959" #id of second QUERY_RESULT }

В ответе есть BlockType of QUERY который показывает вопрос, который был задан, и Relationships раздел с идентификатором блока, в котором есть ответ. Ответ находится в BlockType of QUERY_RESULT. Псевдоним, который передается в качестве входных данных для API анализа документов, возвращается как часть ответа и может использоваться для маркировки ответа.

Мы используем Парсер ответов Amazon Textract чтобы извлечь только вопросы, псевдоним и соответствующие ответы на эти вопросы:

import trp.trp2 as t2 d = t2.TDocumentSchema().load(response)
page = d.pages[0] # get_query_answers returns a list of [query, alias, answer]
query_answers = d.get_query_answers(page=page)
for x in query_answers: print(f"{image_filename},{x[1]},{x[2]}") from tabulate import tabulate
print(tabulate(query_answers, tablefmt="github"))

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

|------------------------------------|-----------------------|-----------|
| What is the current gross pay? | PAYSTUB_CURRENT_GROSS | $ 452.43 |
| What is the year to date gross pay | PAYSTUB_YTD_GROSS | 23,526.80 |

Дополнительные вопросы и полный код можно найти в блокноте на Репо GitHub.

Ипотечная записка

API анализа запросов к документам также хорошо работает с примечаниями к ипотечным кредитам, подобными следующим.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Процесс вызова API и обработки результатов такой же, как и в предыдущем примере. Вы можете найти полный пример кода на Репо GitHub.

В следующем коде показаны примеры ответов, полученных с помощью API:

|------------------------------------------------------------|----------------------------------|---------------|
| When is this document dated? | MORTGAGE_NOTE_DOCUMENT_DATE | March 4, 2022 |
| What is the note date? | MORTGAGE_NOTE_DATE | March 4, 2022 |
| When is the Maturity date the borrower has to pay in full? | MORTGAGE_NOTE_MATURITY_DATE | April, 2032 |
| What is the note city and state? | MORTGAGE_NOTE_CITY_STATE | Anytown, ZZ |
| what is the yearly interest rate? | MORTGAGE_NOTE_YEARLY_INTEREST | 4.150% |
| Who is the lender? | MORTGAGE_NOTE_LENDER | AnyCompany |
| When does payments begin? | MORTGAGE_NOTE_BEGIN_PAYMENTS | April, 2022 |
| What is the beginning date of payment? | MORTGAGE_NOTE_BEGIN_DATE_PAYMENT | April, 2022 |
| What is the initial monthly payments? | MORTGAGE_NOTE_MONTHLY_PAYMENTS | $ 2500 |
| What is the interest rate? | MORTGAGE_NOTE_INTEREST_RATE | 4.150% |
| What is the principal amount borrower has to pay? | MORTGAGE_NOTE_PRINCIPAL_PAYMENT | $ 500,000 |

Карта вакцинации

Функция Amazon Textract Queries также очень хорошо работает для извлечения информации из карточек прививок или карточек, похожих на нее, как в следующем примере.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

|------------------------------------------------------------|--------------------------------------|--------------|
| What is the patients first name | PATIENT_FIRST_NAME | Major |
| What is the patients last name | PATIENT_LAST_NAME | Mary |
| Which clinic site was the 1st dose COVID-19 administrated? | VACCINATION_FIRST_DOSE_CLINIC_SITE | XYZ |
| Who is the manufacturer for 1st dose of COVID-19? | VACCINATION_FIRST_DOSE_MANUFACTURER | Pfizer |
| What is the date for the 2nd dose covid-19? | VACCINATION_SECOND_DOSE_DATE | 2/8/2021 |
| What is the patient number | PATIENT_NUMBER | 012345abcd67 |
| Who is the manufacturer for 2nd dose of COVID-19? | VACCINATION_SECOND_DOSE_MANUFACTURER | Pfizer |
| Which clinic site was the 2nd dose covid-19 administrated? | VACCINATION_SECOND_DOSE_CLINIC_SITE | CVS |
| What is the lot number for 2nd dose covid-19? | VACCINATION_SECOND_DOSE_LOT_NUMBER | BB5678 |
| What is the date for the 1st dose covid-19? | VACCINATION_FIRST_DOSE_DATE | 1/18/21 |
| What is the lot number for 1st dose covid-19? | VACCINATION_FIRST_DOSE_LOT_NUMBER | AA1234 |
| What is the MI? | MIDDLE_INITIAL | M |

Полный код можно найти в блокноте на Репо GitHub.

Страховой полис

Функция «Запросы» также хорошо работает со страховыми картами, такими как следующие.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Процесс вызова API и обработки результатов такой же, как показано ранее. Полный пример кода доступен в записной книжке на Репо GitHub.

Ниже приведены примеры ответов, полученных с помощью API:

|-------------------------------------|-----------------------------------|---------------|
| What is the insured name? | INSURANCE_CARD_NAME | Jacob Michael |
| What is the level of benefits? | INSURANCE_CARD_LEVEL_BENEFITS | SILVER |
| What is medical insurance provider? | INSURANCE_CARD_PROVIDER | Anthem |
| What is the OOP max? | INSURANCE_CARD_OOP_MAX | $6000/$12000 |
| What is the effective date? | INSURANCE_CARD_EFFECTIVE_DATE | 11/02/2021 |
| What is the office visit copay? | INSURANCE_CARD_OFFICE_VISIT_COPAY | $55/0% |
| What is the specialist visit copay? | INSURANCE_CARD_SPEC_VISIT_COPAY | $65/0% |
| What is the member id? | INSURANCE_CARD_MEMBER_ID | XZ 9147589652 |
| What is the plan type? | INSURANCE_CARD_PLAN_TYPE | Pathway X-EPO |
| What is the coinsurance amount? | INSURANCE_CARD_COINSURANCE | 30% |

Рекомендации по созданию запросов

При создании запросов учитывайте следующие рекомендации:

  • Как правило, задавайте вопросы на естественном языке, которые начинаются со слов «Что есть», «Где находится» или «Кто есть». Исключение составляют случаи, когда вы пытаетесь извлечь стандартные пары ключ-значение, и в этом случае вы можете передать имя ключа в виде запроса.
  • Избегайте неправильно построенных или грамматически неправильных вопросов, поскольку они могут привести к неожиданным ответам. Например, неправильно сформированный запрос «Когда?» тогда как правильно построенный вопрос звучит так: «Когда была введена первая доза вакцины?»
  • По возможности используйте слова из документа для построения запроса. Хотя функция «Запросы» пытается сопоставлять аббревиатуры и синонимы для некоторых общепринятых отраслевых терминов, таких как «SSN», «идентификатор налогоплательщика» и «номер социального страхования», использование языка непосредственно из документа улучшает результаты. Например, если в документе указано «выполнение задания», старайтесь избегать использования таких вариантов, как «выполнение проекта», «выполнение программы» или «статус задания».
  • Создайте запрос, содержащий слова как из заголовка строки, так и из заголовка столбца. Например, в предыдущем примере карты прививок, чтобы узнать дату второй прививки, вы можете сформулировать запрос как «Какая дата была введена 2-я доза?»
  • Длинные ответы увеличивают задержку ответа и могут привести к тайм-аутам. Старайтесь задавать вопросы, ответы на которые содержат менее 100 слов.
  • Передача только имени ключа в качестве вопроса работает при попытке извлечь стандартные пары ключ-значение из формы. Мы рекомендуем формировать полные вопросы для всех других случаев использования извлечения.
  • Будьте максимально конкретными. Например:
    • Если документ содержит несколько разделов (например, «Заемщик» и «Созаемщик»), и в обоих разделах есть поле «SSN», спросите «Что такое SSN для заемщика?» и «Что такое SSN для Созаемщика?»
    • Если в документе есть несколько полей, связанных с датой, укажите конкретный язык запроса и спросите: «Какова дата подписания документа?» или «Какая дата рождения приложения?» Избегайте двусмысленных вопросов, таких как «Какой сегодня день?»
  • Если вы заранее знаете макет документа, дайте подсказки о местоположении, чтобы повысить точность результатов. Например, спросите: «Какая дата вверху?» или «Какая дата слева?» или «Какая дата внизу?»

Дополнительные сведения о функции «Запросы» см. в разделе Текст. документации.

Заключение

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

Для получения дополнительной информации см. Анализ документов или воспользуйтесь консолью Amazon Textract и попробуйте эту функцию.


Об авторах

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Удай Нараянан является старшим архитектором решений в AWS. Ему нравится помогать клиентам находить инновационные решения сложных бизнес-задач. Его основными областями деятельности являются аналитика данных, системы больших данных и машинное обучение. В свободное время он любит заниматься спортом, смотреть сериалы и путешествовать.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Рафаэль Кайшета является старшим архитектором решений в AWS в Калифорнии. У него более 10 лет опыта разработки облачных архитектур. Его основные области — бессерверные решения, контейнеры и машинное обучение. В свободное время любит читать художественную литературу и путешествовать по миру.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Навнит Наир является старшим менеджером по продуктам, техническим специалистом в команде Amazon Textract. Он занимается созданием сервисов на основе машинного обучения для клиентов AWS.

Укажите и извлеките информацию из документов с помощью новой функции запросов в Amazon Textract PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Мартин Шаде является Senior ML Product SA в команде Amazon Textract. Он имеет более чем 20-летний опыт работы с интернет-технологиями, инженерными и архитектурными решениями. Он присоединился к AWS в 2014 году, сначала консультируя некоторых из крупнейших клиентов AWS по наиболее эффективному и масштабируемому использованию сервисов AWS, а затем сосредоточился на искусственном интеллекте и машинном обучении, уделяя особое внимание компьютерному зрению. В настоящее время он одержим извлечением информации из документов.

Отметка времени:

Больше от Машинное обучение AWS