AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

AWS AI 서비스를 통한 지능형 문서 처리: 1부

의료, 금융 및 대출, 법률, 소매 및 제조와 같은 산업 전반의 조직은 일상적인 비즈니스 프로세스에서 많은 문서를 처리해야 하는 경우가 많습니다. 이러한 문서에는 최고 수준의 고객 만족도, 더 빠른 고객 온보딩 및 낮은 고객 이탈을 유지하기 위해 적시에 결정을 내리는 데 중요한 중요한 정보가 포함되어 있습니다. 대부분의 경우 정보와 통찰력을 추출하기 위해 문서를 수동으로 처리하므로 시간이 많이 걸리고 오류가 발생하기 쉬우며 비용이 많이 들고 확장이 어렵습니다. 오늘날 이러한 문서에서 정보를 처리하고 추출하는 데 사용할 수 있는 자동화는 제한적입니다. AWS 인공 지능(AI) 서비스가 포함된 지능형 문서 처리(IDP)는 기계 학습(ML) 기술 없이도 다양한 유형과 형식의 문서에서 빠르고 정확하게 정보 추출을 자동화하는 데 도움이 됩니다. 높은 정확도로 더 빠른 정보 추출은 전체 비용을 절감하면서 제 시간에 양질의 비즈니스 결정을 내리는 데 도움이 됩니다.

IDP 워크플로의 단계는 다양하고 사용 사례 및 비즈니스 요구 사항의 영향을 받을 수 있지만 다음 그림은 일반적으로 IDP 워크플로의 일부인 단계를 보여줍니다. 세금 양식, 청구서, 의료 기록, 신규 고객 양식, 송장, 법적 계약서 등과 같은 문서 처리는 IDP의 사용 사례 중 일부에 불과합니다.

XNUMX부로 구성된 이 시리즈에서는 AWS AI 서비스를 사용하여 문서를 대규모로 자동화하고 지능적으로 처리하는 방법에 대해 설명합니다. 이 게시물에서는 IDP 워크플로의 처음 세 단계에 대해 설명합니다. ~ 안에 일부 2, 나머지 워크플로 단계에 대해 설명합니다.

솔루션 개요

다음 아키텍처 다이어그램은 IDP 워크플로의 단계를 보여줍니다. 다양한 파일 형식(PDF, JPEG, PNG, TIFF)과 문서 레이아웃을 안전하게 저장하고 집계하는 데이터 캡처 단계부터 시작합니다. 다음 단계는 문서(계약서, 청구 양식, 송장 또는 영수증 등)를 분류한 다음 문서 추출을 수행하는 분류입니다. 추출 단계에서는 문서에서 의미 있는 비즈니스 정보를 추출할 수 있습니다. 이 추출된 데이터는 종종 데이터 분석을 통해 통찰력을 수집하거나 데이터베이스 또는 트랜잭션 시스템과 같은 다운스트림 시스템으로 전송되는 데 사용됩니다. 다음 단계는 강화로, PHI(보호 건강 정보) 또는 PII(개인 식별 정보) 데이터, 사용자 지정 비즈니스 용어 추출 등을 수정하여 문서를 강화할 수 있습니다. 마지막으로 검토 및 검증 단계에서 문서 검토를 위한 인력을 포함하여 결과가 정확한지 확인할 수 있습니다.

AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이 게시물의 목적을 위해 은행 거래 명세서, 송장 및 매장 영수증과 같은 샘플 문서 세트를 고려합니다. 샘플 코드와 함께 문서 샘플은 다음에서 찾을 수 있습니다. GitHub 저장소. 다음 섹션에서는 실제 실제 응용 프로그램과 함께 이러한 코드 샘플을 안내합니다. ML 기능을 활용하는 방법을 보여줍니다. 아마존 텍사스, 아마존 이해아마존 증강 AI (Amazon A2I) 문서를 처리하고 문서에서 추출된 데이터의 유효성을 검사합니다.

Amazon Textract는 스캔한 문서에서 텍스트, 필기 및 데이터를 자동으로 추출하는 ML 서비스입니다. 단순한 OCR(광학 문자 인식)을 넘어 양식과 테이블에서 데이터를 식별, 이해 및 추출합니다. Amazon Textract는 ML을 사용하여 모든 유형의 문서를 읽고 처리하여 수동 작업 없이 텍스트, 필기, 표 및 기타 데이터를 정확하게 추출합니다.

Amazon Comprehend는 ML을 사용하여 문서 콘텐츠에 대한 통찰력을 추출하는 자연어 처리(NLP) 서비스입니다. Amazon Comprehend는 언어, 사람, 장소에 대한 참조를 포함하여 문서에서 중요한 요소를 식별하고 관련 주제 또는 클러스터로 분류할 수 있습니다. 감정 분석을 수행하여 단일 문서 또는 일괄 감지를 사용하여 문서의 감정을 실시간으로 결정할 수 있습니다. 예를 들어 블로그 게시물의 댓글을 분석하여 독자가 게시물을 좋아하는지 여부를 알 수 있습니다. Amazon Comprehend는 또한 실시간 및 비동기 배치 작업에서 텍스트 문서의 주소, 은행 계좌 번호 및 전화 번호와 같은 PII를 감지합니다. 또한 비동기 일괄 작업에서 PII 엔터티를 수정할 수도 있습니다.

Amazon A2I는 사람이 검토하는 데 필요한 워크플로를 쉽게 구축할 수 있는 ML 서비스입니다. Amazon A2I는 모든 개발자에게 인적 검토를 제공하여 AWS에서 실행되는지 여부에 관계없이 인적 검토 시스템을 구축하거나 많은 수의 인적 검토자를 관리하는 것과 관련된 획일적인 무거운 작업을 제거합니다. Amazon A2I는 두 가지 모두를 다음과 통합합니다. 아마존 텍사스아마존 이해 지능형 문서 처리 워크플로 내에서 인적 검토 단계를 도입할 수 있는 기능을 제공합니다.

데이터 캡처 단계

다음과 같이 확장성과 내구성이 뛰어난 저장소에 문서를 저장할 수 있습니다. 아마존 단순 스토리지 서비스 (아마존 S3). Amazon S3는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. Amazon S3는 11의 내구성을 위해 설계되었으며 전 세계 수백만 고객의 데이터를 저장합니다. 문서는 다양한 형식과 레이아웃으로 제공될 수 있으며 웹 포털이나 이메일 첨부 파일과 같은 다양한 채널에서 제공될 수 있습니다.

분류 단계

이전 단계에서는 다양한 유형과 형식의 문서를 수집했습니다. 이 단계에서는 추가 추출을 수행하기 전에 문서를 분류해야 합니다. 이를 위해 Amazon Comprehend를 사용합니다. 사용자 정의 분류. 문서 분류는 XNUMX단계 프로세스입니다. 먼저 Amazon Comprehend 사용자 지정 분류자를 훈련하여 관심 있는 클래스를 인식합니다. 다음으로 모델을 배포합니다. 사용자 지정 분류자 실시간 끝점 분류할 실시간 끝점에 레이블이 지정되지 않은 문서를 보냅니다.

다음 그림은 일반적인 문서 분류 워크플로를 나타냅니다.

분류 단계

분류자를 훈련시키려면 관심 있는 클래스를 식별하고 각 클래스에 대한 샘플 문서를 훈련 자료로 제공하십시오. 지정한 옵션을 기반으로 Amazon Comprehend는 사용자가 제공한 문서를 기반으로 훈련하는 사용자 지정 ML 모델을 생성합니다. 이 사용자 정의 모델(분류자)은 제출한 각 문서를 검사합니다. 콘텐츠를 가장 잘 나타내는 특정 클래스(다중 클래스 모드를 사용하는 경우) 또는 이에 적용되는 클래스 집합(다중 레이블 모드를 사용하는 경우)을 반환합니다.

훈련 데이터 준비

첫 번째 단계는 Amazon Comprehend 사용자 지정 분류자에 필요한 문서에서 텍스트를 추출하는 것입니다. Amazon S3의 모든 문서에 대한 원시 텍스트 정보를 추출하기 위해 Amazon Textract를 사용합니다. detect_document_text() API. 또한 사용자 지정 Amazon Comprehend 분류자를 훈련하는 데 사용할 문서 유형에 따라 데이터에 레이블을 지정합니다.

다음 코드는 단순화를 위해 잘렸습니다. 전체 코드는 GitHub를 참조하세요. 샘플 코드 for 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는 WORDS, LINES, FORMS, TABLES, 기하학 또는 경계 상자 정보, 관계 등이 포함된 JSON 데이터로 응답합니다. 둘 다 DetectDocumentTextAnalyzeDocument 동기 작업입니다. 문서를 비동기적으로 분석하려면 다음을 사용하십시오. 문서 텍스트 감지 시작.

구조화된 데이터 추출

탐지된 항목 간의 데이터 구조 및 관계를 유지하면서 문서에서 테이블과 같은 구조화된 데이터를 추출할 수 있습니다. 당신은 사용할 수 있습니다 문서 분석 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 데이터 인텔리전스. 수직 검색. 일체 포함.

비정형 데이터 추출

Amazon Textract는 업계 최고의 OCR 정확도로 밀집된 텍스트 추출에 최적입니다. 당신은 사용할 수 있습니다 문서 텍스트 감지 다음 그림과 같이 텍스트 행과 텍스트 행을 구성하는 단어를 감지하는 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 데이터 인텔리전스. 수직 검색. 일체 포함.

송장 및 영수증

Amazon Textract는 대규모로 송장 및 영수증을 처리하기 위한 전문적인 지원을 제공합니다. 그만큼 비용 분석 API는 템플릿이나 구성 없이 거의 모든 송장 또는 영수증에서 상품 또는 서비스의 항목별 목록에서 명시적으로 레이블이 지정된 데이터, 암시적 데이터 및 라인 항목을 추출할 수 있습니다. 다음 그림은 이 프로세스를 보여줍니다.

송장 및 영수증 추출

다음 코드를 참조하십시오.

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

Amazon Textract는 "공급업체"라는 명시적 레이블 없이 페이지의 로고에만 표시되어 있는 경우에도 영수증에서 공급업체 이름을 찾을 수 있습니다. 또한 라인 항목에 대한 열 헤더로 레이블이 지정되지 않은 비용 항목, 수량 및 가격을 찾아 추출할 수 있습니다.

비용 API 응답 분석

신분증

아마존 텍스트트랙트 분석 ID 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 데이터 인텔리전스. 수직 검색. 일체 포함.

자세한 문서 추출을 진행하는 것이 좋습니다. 샘플 코드 깃허브에서. 이 게시물의 전체 코드 샘플에 대한 자세한 내용은 GitHub 레포.

결론

XNUMX부로 구성된 이 시리즈의 첫 번째 게시물에서는 IDP와 솔루션 아키텍처의 다양한 단계에 대해 논의했습니다. 또한 Amazon Comprehend 사용자 지정 분류자를 사용한 문서 분류에 대해서도 논의했습니다. 다음으로 Amazon Textract를 사용하여 비정형, 반정형, 정형 및 특수 문서 유형에서 정보를 추출하는 방법을 살펴보았습니다.

In 일부 2 이 시리즈에서는 Amazon Textract의 추출 및 쿼리 기능에 대한 논의를 계속합니다. Amazon Comprehend 사전 정의 엔터티 및 사용자 지정 엔터티를 사용하여 밀집 텍스트가 있는 문서에서 주요 비즈니스 용어를 추출하는 방법과 Amazon A2I Human-in-the-Loop 검토를 IDP 프로세스에 통합하는 방법을 살펴봅니다.

보안 섹션을 검토하는 것이 좋습니다. 아마존 텍사스, 아마존 이해아마존 A2I 문서화하고 제공된 지침을 따릅니다. 또한 잠시 시간을 내어 가격을 검토하고 이해하십시오. 아마존 텍사스, 아마존 이해아마존 A2I.


저자 소개

AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함. 수프라카시 두타 Amazon Web Services의 솔루션 아키텍트입니다. 그는 디지털 혁신 전략, 애플리케이션 현대화 및 마이그레이션, 데이터 분석, 기계 학습에 중점을 두고 있습니다.

AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.소날리 사후 Amazon Web Services에서 Intelligent Document Processing AI/ML Solutions Architect 팀을 이끌고 있습니다. 그녀는 열정적인 기술 애호가이며 혁신을 사용하여 복잡한 문제를 해결하기 위해 고객과 함께 일하는 것을 즐깁니다. 그녀의 핵심 초점은 지능형 문서 처리를 위한 인공 지능과 머신 러닝입니다.

AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.안잔 비스와스 AI/ML 및 데이터 분석에 중점을 둔 수석 AI 서비스 솔루션 설계자입니다. Anjan은 전 세계 AI 서비스 팀의 일원이며 고객과 협력하여 AI 및 ML을 사용하여 비즈니스 문제에 대한 솔루션을 이해하고 개발할 수 있도록 지원합니다. Anjan은 글로벌 공급망, 제조 및 소매 조직과 협력한 14년 이상의 경험이 있으며 고객이 AWS AI 서비스를 시작하고 확장하도록 적극적으로 돕고 있습니다.

AWS AI 서비스를 통한 지능형 문서 처리: 1부 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.친마이 레인 Amazon Web Services의 AI/ML 전문가 솔루션 아키텍트입니다. 그녀는 응용 수학 및 기계 학습에 열정적입니다. 그녀는 AWS 고객을 위한 지능형 문서 처리 솔루션 설계에 중점을 두고 있습니다. 일 외에는 살사와 바차타 댄스를 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습