Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1

Организациям в таких отраслях, как здравоохранение, финансы и кредитование, юриспруденция, розничная торговля и производство, часто приходится иметь дело с большим количеством документов в своих повседневных бизнес-процессах. Эти документы содержат критически важную информацию, которая является ключом к своевременному принятию решений, чтобы поддерживать высокий уровень удовлетворенности клиентов, более быструю адаптацию клиентов и снижение оттока клиентов. В большинстве случаев документы обрабатываются вручную для извлечения информации и идей, что требует много времени, подвержено ошибкам, дорого и сложно масштабируется. На сегодняшний день существует ограниченная автоматизация для обработки и извлечения информации из этих документов. Интеллектуальная обработка документов (IDP) с сервисами искусственного интеллекта (AI) AWS помогает автоматизировать извлечение информации из документов разных типов и форматов быстро и с высокой точностью без необходимости наличия навыков машинного обучения (ML). Более быстрое извлечение информации с высокой точностью помогает своевременно принимать качественные бизнес-решения, снижая при этом общие затраты.

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

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

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

На следующей диаграмме архитектуры показаны этапы рабочего процесса IDP. Он начинается с этапа сбора данных для безопасного хранения и объединения различных форматов файлов (PDF, JPEG, PNG, TIFF) и макетов документов. Следующим этапом является классификация, когда вы классифицируете свои документы (например, контракты, формы претензий, счета-фактуры или квитанции), а затем извлекаете документы. На этапе извлечения вы можете извлечь значимую деловую информацию из ваших документов. Эти извлеченные данные часто используются для сбора информации посредством анализа данных или отправляются в нижестоящие системы, такие как базы данных или транзакционные системы. Следующим этапом является обогащение, на котором документы могут быть обогащены путем редактирования данных защищенной медицинской информации (PHI) или информации, позволяющей установить личность (PII), извлечения пользовательских бизнес-терминов и т. д. Наконец, на этапе обзора и проверки вы можете привлечь людей для проверки документов, чтобы убедиться, что результат является точным.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Для целей этого поста мы рассматриваем набор образцов документов, таких как банковские выписки, счета-фактуры и товарные чеки. Образцы документов вместе с образцом кода можно найти в нашем Репозиторий GitHub. В следующих разделах мы познакомим вас с этими примерами кода вместе с реальным практическим применением. Мы демонстрируем, как вы можете использовать возможности машинного обучения с Амазонка Текст, Amazon Comprehendкачества Amazon увеличил AI (Amazon A2I) для обработки документов и проверки извлеченных из них данных.

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

Amazon Comprehend — это сервис обработки естественного языка (NLP), который использует машинное обучение для извлечения информации о содержании документов. Amazon Comprehend может идентифицировать важные элементы в документах, включая ссылки на язык, людей и места, и классифицировать их по релевантным темам или кластерам. Он может выполнять анализ тональности для определения тональности документа в режиме реального времени, используя обнаружение отдельных документов или пакетов. Например, он может анализировать комментарии к сообщению в блоге, чтобы узнать, нравится ли сообщение вашим читателям или нет. Amazon Comprehend также обнаруживает персональные данные, такие как адреса, номера банковских счетов и номера телефонов, в текстовых документах в режиме реального времени и в асинхронных пакетных заданиях. Он также может редактировать объекты PII в асинхронных пакетных заданиях.

Amazon A2I — это сервис машинного обучения, который упрощает создание рабочих процессов, необходимых для проверки человеком. Amazon A2I предоставляет всем разработчикам проверку вручную, избавляя от недифференцированной тяжелой работы, связанной с созданием систем проверки людьми или управлением большим количеством рецензентов, независимо от того, работает ли он на AWS или нет. Amazon A2I интегрируется как с Амазонка Текст и Amazon Comprehend чтобы предоставить вам возможность ввести этапы проверки человеком в ваш рабочий процесс интеллектуальной обработки документов.

Фаза сбора данных

Вы можете хранить документы в масштабируемом и надежном хранилище, таком как Простой сервис хранения Amazon (Амазон С3). Amazon S3 — это сервис хранения объектов, предлагающий лучшую в отрасли масштабируемость, доступность данных, безопасность и производительность. Amazon S3 рассчитан на 11 девяток надежности и хранит данные для миллионов клиентов по всему миру. Документы могут поступать в различных форматах и ​​макетах, а также могут поступать из разных каналов, таких как веб-порталы или вложения электронной почты.

Этап классификации

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

На следующем рисунке представлен типичный рабочий процесс классификации документов.

Этап классификации

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

Подготовьте обучающие данные

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

Следующий код был урезан для упрощения. Полный код см. на GitHub. образец кода для textract_extract_text(), Функция call_textract() это функция wr4apper, которая вызывает АнализДокумент внутри API, и параметры, передаваемые в метод, абстрагируют некоторые конфигурации, необходимые API для выполнения задачи извлечения.

def textract_extract_text(document, bucket=data_bucket):        
    try:
        print(f'Processing document: {document}')
        lines = ""
        row = []
        
        # using amazon-textract-caller
        response = call_textract(input_document=f's3://{bucket}/{document}') 
        # using pretty printer to get all the lines
        lines = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])
        
        label = [name for name in names if(name in document)]  
        row.append(label[0])
        row.append(lines)        
        return row
    except Exception as e:
        print (e)        

Обучение пользовательского классификатора

На этом этапе мы используем пользовательскую классификацию Amazon Comprehend для обучения нашей модели классификации документов. Мы используем Классификатор создания документа API для создания классификатора, который обучает пользовательскую модель, используя наши размеченные данные. См. следующий код:

create_response = comprehend.create_document_classifier(
        InputDataConfig={
            'DataFormat': 'COMPREHEND_CSV',
            'S3Uri': f's3://{data_bucket}/{key}'
        },
        DataAccessRoleArn=role,
        DocumentClassifierName=document_classifier_name,
        VersionName=document_classifier_version,
        LanguageCode='en',
        Mode='MULTI_CLASS'
    )

Развертывание конечной точки в реальном времени

Чтобы использовать пользовательский классификатор Amazon Comprehend, мы создаем конечную точку в реальном времени с помощью CreateEndpoint API:

endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ENDPOINT_ARN=endpoint_response['EndpointArn']
print(f'Endpoint created with ARN: {ENDPOINT_ARN}')  

Классифицируйте документы с помощью конечной точки в реальном времени

После создания конечной точки Amazon Comprehend мы можем использовать конечную точку в реальном времени для классификации документов. Мы используем comprehend.classify_document() функция с извлеченным текстом документа и конечной точкой вывода в качестве входных параметров:

response = comprehend.classify_document(
      Text= document,
      EndpointArn=ENDPOINT_ARN
      )

Amazon Comprehend возвращает все классы документов с оценкой достоверности, связанной с каждым классом в массиве пар ключ-значение (имя-оценка). Мы выбираем класс документов с наивысшей оценкой достоверности. На следующем снимке экрана показан пример ответа.

Классифицируйте документы с помощью конечной точки в реальном времени

Мы рекомендуем ознакомиться с примером кода подробной классификации документов на GitHub.

Фаза экстракции

Amazon Textract позволяет извлекать текстовую и структурированную информацию с помощью Amazon Textract. ДетектДокументТекст и АнализДокумент API соответственно. Эти API-интерфейсы отвечают данными JSON, которые содержат СЛОВА, ЛИНИИ, ФОРМЫ, ТАБЛИЦЫ, информацию о геометрии или ограничивающей рамке, отношения и т. д. Оба DetectDocumentText и AnalyzeDocument являются синхронными операциями. Для асинхронного анализа документов используйте Стартдокументтекстдетектион.

Извлечение структурированных данных

Вы можете извлекать структурированные данные, такие как таблицы, из документов, сохраняя при этом структуру данных и отношения между обнаруженными элементами. Вы можете использовать АнализДокумент API с FeatureType as TABLE для обнаружения всех таблиц в документе. Следующий рисунок иллюстрирует этот процесс.

Извлечение структурированных данных

Смотрите следующий код:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["TABLES"])

Мы запускаем analyze_document() метод с FeatureType as TABLES в документе истории сотрудников и получить извлечение таблицы в следующих результатах.

Анализ ответа API документа для извлечения таблиц

Извлечение полуструктурированных данных

Вы можете извлекать полуструктурированные данные, такие как формы или пары ключ-значение, из документов, сохраняя при этом структуру данных и отношения между обнаруженными элементами. Вы можете использовать АнализДокумент API с FeatureType as FORMS для обнаружения всех форм в документе. Следующая диаграмма иллюстрирует этот процесс.

Извлечение полуструктурированных данных

Смотрите следующий код:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["FORMS"])

Здесь мы запускаем analyze_document() метод с FeatureType as FORMS в документе заявления сотрудника и получить извлечение таблицы в результатах.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Извлечение неструктурированных данных

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

Извлечение неструктурированных данных

Смотрите следующий код:

response = textract.detect_document_text(Document={'Bytes': imageBytes})

# Print detected text
for item in response["Blocks"]:
	if item["BlockType"] == "LINE":
 		print (item["Text"])

Теперь мы запускаем detect_document_text() метод на образце изображения и получить извлечение необработанного текста в результатах.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Счета и квитанции

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

Извлечение счетов и квитанций

Смотрите следующий код:

response = textract.analyze_expense(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    })

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

Анализ ответа API расходов

Удостоверения личности

Текст Амазонки АнализИД API может помочь вам автоматически извлекать информацию из документов, удостоверяющих личность, таких как водительские права и паспорта, без необходимости использования шаблонов или настройки. Мы можем извлекать конкретную информацию, такую ​​как дата истечения срока действия и дата рождения, а также интеллектуально идентифицировать и извлекать подразумеваемую информацию, такую ​​как имя и адрес. Следующая диаграмма иллюстрирует этот процесс.

Извлечение документов, удостоверяющих личность

Смотрите следующий код:

textract_client = boto3.client('textract')
j = call_textract_analyzeid(document_pages=["s3://amazon-textract-public-content/analyzeid/driverlicense.png"],boto3_textract_client=textract_client)

Мы можем использовать tabulate чтобы получить красивый печатный вывод:

from tabulate import tabulate

print(tabulate([x[1:3] for x in result]))

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Рекомендуем пройти детальное извлечение документа образец кода на Гитхабе. Дополнительные сведения о полных примерах кода в этом сообщении см. Репо GitHub.

Заключение

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

In часть 2 в этой серии мы продолжим обсуждение функций извлечения и запросов Amazon Textract. Мы рассмотрим, как использовать предопределенные сущности и настраиваемые сущности Amazon Comprehend для извлечения ключевых бизнес-терминов из документов с плотным текстом, а также как интегрировать непосредственную проверку Amazon A2I в ваши процессы IDP.

Мы рекомендуем ознакомиться с разделами безопасности Амазонка Текст, Amazon Comprehendкачества Амазон А2И документацию и следуя инструкциям. Кроме того, найдите время, чтобы просмотреть и понять цены на Амазонка Текст, Amazon Comprehendкачества Амазон А2И.


Об авторах

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Супракаш Дутта работает архитектором решений в Amazon Web Services. Он занимается стратегией цифровой трансформации, модернизацией и миграцией приложений, аналитикой данных и машинным обучением.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Сонали Саху возглавляет команду архитекторов решений AI/ML для интеллектуальной обработки документов в Amazon Web Services. Она страстный технофил и любит работать с клиентами для решения сложных проблем с использованием инноваций. Ее основная сфера деятельности — искусственный интеллект и машинное обучение для интеллектуальной обработки документов.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Анжан Бисвас — старший архитектор решений AI Services Solutions, специализирующийся на AI/ML и анализе данных. Анджан является частью всемирной группы по обслуживанию ИИ и работает с клиентами, помогая им понять и разработать решения бизнес-проблем с помощью ИИ и машинного обучения. Анджан имеет более чем 14-летний опыт работы с глобальными цепочками поставок, производственными и розничными организациями и активно помогает клиентам начать работу с сервисами AWS AI и масштабировать их.

Интеллектуальная обработка документов с помощью сервисов AWS AI: часть 1 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Чинмайи Ране является специалистом по архитектуре решений AI/ML в Amazon Web Services. Увлекается прикладной математикой и машинным обучением. Она занимается разработкой интеллектуальных решений для обработки документов для клиентов AWS. Вне работы она любит танцевать сальсу и бачату.

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

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