Amazon Textract 및 .NET 워크로드

준비 안내서

모듈 1: 준비 안내서

 학습 모듈

개요

Amazon Textract 및 .NET 워크로드 배지는 Amazon Textract 서비스 및 .NET 워크로드에 대한 숙련도를 나타냅니다. 이 준비 안내서에서는 평가를 통과하기 위해 꼭 알아두어야 할 사항을 주제별로 복습할 수 있는 자료와 함께 설명합니다. 또한 자체 애플리케이션이나 AWS 자습서를 통해 서비스를 직접 사용해 본 경험이 있어야 합니다.

준비를 마치면 모듈 2로 이동하여 평가 시험에 응시하세요.

용도

Textract는 PDF 및 이미지 파일 등 스캔한 문서에서 텍스트, 필기, 데이터를 자동으로 추출하는 기계 학습(ML) 서비스입니다. 단순한 광학 문자 인식(OCR) 이상으로 양식과 표의 데이터를 식별하고 이해하며 추출합니다. Textract는 기계 학습을 사용하여 모든 유형의 문서를 즉시 읽고 처리함으로써 수동 작업 없이도 텍스트, 필기, 테이블 및 기타 데이터를 정확하게 추출합니다.

비디오: Amazon Textract란 무엇인가요?

이점

Textract를 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  • 비용을 절감하면서 비즈니스 효율성을 높이고 의사 결정을 가속화할 수 있음
  • 거의 모든 문서에서 높은 정확도로 주요 인사이트를 추출할 수 있음
  • 문서 처리 파이프라인을 스케일 업하거나 스케일 다운하여 시장의 니즈에 빠르게 대응할 수 있음
  • 데이터 프라이버시, 암호화 및 규정 준수 표준을 통해 데이터 처리를 안전하게 자동화할 수 있음

Amazon Textract 제품 세부 정보 페이지

기능

Textract의 기능을 일부 열거하면 다음과 같습니다.

  • 문서 텍스트 탐지 기능을 앱에 통합. Textract는 간단한 API를 통해 강력하고 정확한 분석을 제공하므로 텍스트 탐지 기능을 복잡하게 애플리케이션에 구현할 필요가 없습니다.
  • 확장 가능한 문서 분석: Textract를 사용하면 수백 만 개의 문서에서 데이터를 신속하게 분석하고 추출하여 의사 결정을 가속화할 수 있습니다.
  • 다중 언어. Textract는 영어, 스페인어, 독일어, 이탈리아어, 프랑스어 및 포르투갈어를 지원합니다.
  • 다양한 문서 형식. Textract는 PDF, TIFF, JPEG 및 PNG 문서를 처리할 수 있습니다.

개발자 안내서 - Amazon Textract란 무엇입니까?

요금

여러분은 Amazon Textract 요금 모델 및 프리 티어에 대해 잘 알고 계실 것입니다. Textract에서는 사용한 만큼만 비용을 지불하면 됩니다. 최소 요금 및 사전 약정은 없습니다. Textract 요금은 추출하는 데이터(예: 텍스트, 테이블이 있는 텍스트, 양식 데이터, 쿼리 또는 프로세스 인보이스 및 신분 증명서)에 관계없이 처리된 페이지에 대해서만 부과됩니다.

  • API에 따른 다양한 요금. Textract에는 5개의 API(문서 텍스트 탐지, 문서 분석, 비용 분석, ID 분석, 대출 분석)가 포함되어 있으며, 각 API에는 1,000페이지당 특정 요금이 부과됩니다.
  • 요금은 AWS 리전마다 다를 수 있습니다.
  • 월별 기준액을 충족하면 할인된 요금을 지불하게 됩니다. API의 월별 임계값을 충족하면 해당 월의 나머지 기간 동안 더 낮은 요금을 지불하게 됩니다. 예를 들어, Detect Document API는 첫 한 달 동안 백만 건의 문서를 처리한 후 더 적은 액수의 요금이 부과됩니다. 임계값 및 요율은 API마다 다릅니다.
  • AWS 프리 티어는 3개월 동안 지속되며 API당 다양한 페이지를 무료로 제공합니다. 예를 들면, Detect Document Text API의 경우 매월 1,000페이지, Analyze Expense API의 경우 매월 100페이지가 무료로 제공됩니다.
  • 요금 페이지에서 AWS 요금 계산기를 사용하여 비용을 추정할 수 있습니다.

Amazon Textract 요금

사용 사례

Amazon Textract를 사용하는 일반 사용 사례를 열거하면 다음과 같습니다.

  • 지능형 검색 인덱스를 생성합니다. Textract를 사용하면 이미지 및 PDF 파일에서 탐지된 텍스트의 라이브러리를 만들 수 있습니다.
  • 자연어 처리(NLP)를 위한 지능형 텍스트 추출을 사용합니다. Textract를 사용하면 텍스트를 NLP 애플리케이션의 입력으로 그룹화하는 방법을 제어할 수 있습니다. 텍스트를 단어와 줄로 추출할 수 있습니다. 또한 문서 테이블 분석이 활성화된 경우 테이블 셀별로 텍스트를 그룹화합니다.
  • 다양한 소스의 데이터 캡처 및 정규화를 가속화. Textract를 사용하면 금융 문서, 연구 보고서 및 의료 기록 등 다양한 문서에서 텍스트 및 표 형식 데이터를 추출할 수 있습니다.
  • 다양한 양식에서 데이터 캡처를 자동으로 실행. Textract를 사용하면 구조화된 데이터를 다양한 양식에서 추출할 수 있습니다. API를 사용하면 양식을 통해 제출된 사용자 데이터를 사용 가능한 형식으로 추출할 수 있도록 기존 비즈니스 워크플로에 추출 기능을 구축할 수 있습니다.
  • 문서 분류 및 추출 자동화. Textract의 Analyze Lending 문서 처리 API를 사용하면 대출 문서를 다양한 문서 클래스로 분류하는 작업을 자동으로 수행한 다음, 분류된 페이지를 올바른 분석 작업으로 자동 라우팅하여 추가 처리를 진행할 수 있습니다.

Textract의 업계 사용 사례를 열거하면 다음과 같습니다.

  • 금융 서비스: 다양한 재무 형식에서 모기지 요율, 신청자 이름, 인보이스 합계와 같은 중요한 비즈니스 데이터를 정확하게 추출하여 대출 및 모기지 신청을 몇 분 안에 처리합니다.
  • 의료 및 생명 과학: 환자 등록서, 보험 청구서 및 사전 승인서에서 중요한 환자 데이터를 추출하여 환자와 보험사에 더 나은 서비스를 제공할 수 있습니다. 데이터를 원래의 컨텍스트로 구성하고 수동으로 출력을 검토할 필요가 없습니다.
  • 공공 부문: 소규모 비즈니스 대출, 세금 양식 또는 비즈니스 신청서와 같은 정부 관련 양식에서 높은 정확도로 관련 데이터를 손쉽게 추출합니다.

개발자 안내서 - Amazon Textract란 무엇입니까?

Amazon Textract 제품 세부 정보 페이지 - 사용 사례

기능

다음 기능을 이해해야 합니다.

Amazon Textract 작동 방식

        1. 광학 문자 인식(OCR). Textract는 OCR(광학 문자 인식) 기술을 사용하여 법적 문서 등의 스캔 또는 렌더링이나 서적의 스캔에서 인쇄된 텍스트, 필기 및 숫자를 자동으로 감지합니다.

    개발자 안내서 - 텍스트 탐지

        2.Analyze Lending. Textract의 Analyze Lending API는 대출 패키지에서 정보 추출을 완전히 자동화하는 사전 구성된 지능적 관리형 문서 처리 API입니다. 대출 문서를 Analyze Lending API에 업로드하기만 하면 사전 구축된 기계 학습 모델이 문서 패키지를 문서 유형별로 분류하고 분할합니다.

        개발자 안내서 - Analyze Lending

        3. 양식 추출. 문서 이미지에서 키-값 쌍을 자동으로 탐지하고 수동 개입 없이 컨텍스트를 유지할 수 있습니다. 키-값 쌍은 연결된 데이터 항목의 집합입니다. 예를 들어, 문서에서 '이름' 필드는 키에 해당되며 'Jane'은 값에 해당됩니다. 이렇게 하면 추출된 데이터를 데이터베이스로 쉽게 가져오거나 애플리케이션에 변수로 제공할 수 있습니다.

        개발자 안내서 - 문서 분석 - 양식 추출

        4. 테이블 추출. Textract는 추출하는 동안 테이블에 저장된 데이터의 구성을 보존합니다. 이는 열과 행으로 된 테이블이 있는 재무 보고서나 의료 기록과 같이 주로 구조화된 데이터로 구성된 문서에 유용합니다. 사전 정의된 스키마를 사용하여 추출된 데이터를 데이터베이스에 로드할 수 있습니다. 예를 들어, 인벤토리 보고서의 항목 번호 및 수량 행은 인벤토리 관리 애플리케이션에서 항목 총계를 쉽게 증가시킬 수 있도록 연결을 유지합니다.

        개발자 안내서 - 테이블

        5. 서명 감지. Textract를 사용하면 모든 문서 또는 이미지의 서명을 탐지할 수 있습니다. 이를 통해 수표, 대출 신청서 및 청구 양식과 같은 문서의 서명을 자동으로 쉽게 탐지할 수 있습니다. 서명 위치 및 관련 신뢰도 점수는 API 응답에 포함됩니다.

        개발자 안내서 - 문서 분석 - 서명

        6. 쿼리 기반 추출. Textract에서는 쿼리를 사용하여 문서에서 추출해야 하는 데이터를 유연하게 지정할 수 있습니다. 자연어 질문 형식으로 필요한 정보를 지정하고(예: "고객 이름은 무엇입니까?") API 응답의 일부로 정확한 정보(예: "John Doe")를 받을 수 있습니다. 문서(테이블, 양식, 암시적 필드, 중첩 데이터)에 있는 데이터 구조를 알 필요가 없으며 문서 버전과 형식에 따른 변형에 대해 걱정할 필요가 없습니다. Textract Queries는 급여 명세서, 은행 거래 내역서, W-2, 대출 신청서, 모기지 어음, 청구 문서 및 보험 카드를 비롯한 다양한 문서에 관한 사전 학습을 받았습니다. Textract Queries가 제공하는 유연성 덕분에 사후 처리를 구현하거나 추출된 데이터를 수동으로 검토해야 하는 번거로움, ML 모델 학습의 필요성이 줄어듭니다. 쿼리 추출은 영어 문서 탐지에서만 사용할 수 있습니다.

        개발자 안내서 - 문서 분석 - 쿼리

        7. 필기 인식: 의료 검진 신청서 및 입사 지원서와 같은 많은 문서에는 손으로 쓴 텍스트와 인쇄된 텍스트가 모두 포함되어 있습니다. Amazon Textract는 텍스트가 자유 형식이든 테이블에 포함되어 있든 상관없이 신뢰도 점수가 높은 영어로 작성된 두 문서로부터 모두 추출할 수 있습니다. 문서에는 입력된 텍스트와 필기된 텍스트가 섞여 있을 수도 있습니다.

        개발자 안내서 - Amazon Textract란 무엇입니까?

        8. 인보이스 및 영수증. 인보이스와 영수증의 레이아웃은 매우 다양하므로 대규모 데이터를 수동으로 추출하기가 어렵고 시간도 많이 걸립니다. Amazon Textract는 기계 학습(ML)을 사용하여 인보이스 및 영수증의 컨텍스트를 이해하고 공급업체 이름, 인보이스 번호, 품목 가격, 총액 및 결제 조건과 같은 관련 데이터를 자동으로 추출합니다. 인보이스 또는 영수증을 AnalyzeExpense API에 제출하면 일련의 ExpenseDocument 객체가 반환됩니다. 각 ExpenseDocument는 LineItemGroups와 SummaryFields로 다시 구분됩니다.

        개발자 안내서 - 인보이스 및 영수증 분석

        인보이스 및 영수증 응답 객체

        9. 자격 증명 문서. Textract는 기계 학습(ML)을 사용하여 템플릿이나 구성을 사용할 필요 없이 미국 여권 및 운전면허증과 같은 자격 증명 문서의 컨텍스트를 이해합니다. 만료일 및 생년월일과 같은 특정 정보를 자동으로 추출하고 이름 및 주소와 같은 암시 정보를 지능적으로 식별하고 추출할 수 있습니다. Analyze ID를 사용하면 ID 확인 서비스를 제공하는 기업과 금융, 의료 및 보험 분야의 기업은 고객이 자격 증명 문서의 사진이나 스캔본을 제출하도록 허용하여 계정 생성, 진료 예약, 입사 지원 등을 쉽게 자동화할 수 있습니다.

        개발자 안내서 - 자격 증명 문서 분석

        10. 기본 인적 검토 워크플로. Textract는 Amazon Augmented AI(A2I)와 직접 통합되므로 문서에서 추출한 인쇄 텍스트 및 필기에 대한 수동 검토를 손쉽게 구현할 수 있습니다. 애플리케이션에 대한 신뢰도 임계값을 선택하면 신뢰도가 임계값 미만인 모든 예측은 검증을 위해 인간 검토자에게 자동으로 전송됩니다. 또한 사람이 검토할 수 있도록 전송할 키-값 쌍을 지정하고 검토를 위해 무작위로 선택된 문서를 보내도록 A2I를 구성할 수도 있습니다.

        개발자 안내서 - Amazon A2I의 핵심 개념

AWS SDK for .NET

AWS SDK for .NET를 사용하여 .NET 코드에서 Textract과 상호 작용할 수 있습니다. ‘기능’에서는 상기에 나열된 제반 기능을 지원하는 데 사용되는 기본 SDK 클래스 및 메서드를 알아야 합니다.

  1. SDK를 사용하려면 AWSSDK.Textract NuGet 패키지를 C# 프로젝트에 추가하세요.
  2. Textract를 사용하려면 AmazonTextractClient의 인스턴스를 인스턴스화하고 그 메서드를 호출해야 합니다.
  3. 이름이 Async로 끝나는 일부 SDK 메서드는 C# await 키워드를 사용하여 비동기적으로 호출됩니다.
  4. 표준 SDK 패턴을 사용하여 메서드에 전달할 요청 객체를 생성하고 반환된 응답 객체를 처리합니다. 메서드의 SDK 설명서에는 메서드의 요청 및 응답 객체가 설명되어 있습니다. 요청 및 응답 객체는 그것이 지원하는 메서드와 동일한 루트 이름을 갖습니다. 예를 들어, DetectDocumentTextAsync 메서드의 요청 및 응답 객체의 이름은 DetectDocumentTextRequest와 DetectDocumentTextResponse로 지정됩니다.
using (var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1))
{
    var bytes = File.ReadAllBytes("example.png");

    Console.WriteLine("Detect Document Text");
    var detectResponse = await textractClient.DetectDocumentTextAsync(new DetectDocumentTextRequest
    {
        Document = new Document
        {
            Bytes = new MemoryStream(bytes)
        }
    });

    foreach (var block in detectResponse.Blocks)
    {
        Console.WriteLine($"Type {block.BlockType}, Text: {block.Text}");
    }
}

동기식 작업과 비동기식 작업

Textract 작업은 ‘동기식’ 유형과 ‘비동기식’ 유형으로 그룹화됩니다. 이는 C# 비동기식 메서드와 관련이 없습니다.

  1. ‘동기식’ 작업은 거의 실시간으로 결과를 반환합니다. 이 작업은 단일 페이지 문서의 텍스트를 탐지하고 분석하는 데 활용됩니다.
  2. ‘비동기식’ 작업은 백그라운드에서 실행됩니다. 이 작업은 다중 페이지 문서 처리에 활용됩니다. 예를 들어 1,000페이지가 넘는 PDF 파일은 처리하는 데 시간이 오래 걸리지만 PDF 파일을 비동기적으로 처리하면 작업이 완료되는 동안 애플리케이션에서 다른 태스크를 완료할 수 있습니다. 이러한 메서드 이름은 ‘Start’라는 단어로 시작됩니다(예: StartDocumentAnalysis).

개발자 안내서 - 동기식 작업을 통한 문서 처리

개발자 안내서 - 비동기식 작업을 통한 문서 처리

텍스트의 줄과 단어

Textract 작업은 블록 객체 목록에서 탐지된 텍스트를 반환합니다. 이러한 객체는 문서 페이지에서 탐지되는 텍스트 줄 또는 텍스트 단어를 나타냅니다. PAGE, LINE 및 WORD 객체 목록이 상위-하위 관계와 함께 반환됩니다.

개발자 안내서 - 텍스트 줄과 단어

경계 상자

Textract 작업은 문서 페이지에 있는 항목의 위치와 지오메트리를 반환합니다. 추출된 모든 데이터는 경계 상자 좌표 즉, 단어, 줄, 테이블 또는 테이블 내 개별 셀 등 식별된 각 데이터를 포함하는 다각형 프레임과 함께 반환됩니다. 이렇게 하면 원본 문서에서 단어나 숫자가 어디에서 왔는지 감사할 수 있고 검색 결과에서 원본 문서를 스캔할 때에도 도움이 됩니다. 예를 들어, 환자 기록 세부 정보에 대한 의료 기록을 검색할 때 원본 문서를 쉽게 찾고 향후 검색을 위해 메모할 수 있습니다.

개발자 안내서 - 문서 페이지의 항목 위치

조정 가능한 신뢰도 임계값

문서에서 정보를 추출할 때 Textract는 식별하는 모든 항목의 신뢰도 점수를 반환하므로 결과를 어떻게 사용할지에 대해 합리적인 결정을 내릴 수 있습니다. 예를 들어, 세무 기록에서 정보를 추출하고 높은 정확성을 보장하려는 경우 신뢰도 점수가 95% 미만인 항목을 인간이 검토하도록 플래그를 지정할 수 있습니다. 이력서를 처리하거나 보관된 기록을 디지털화하는 경우 등 오류에 따른 부정적 영향이 비교적 적은 다른 문서에 대해서는 더 낮은 임계값을 설정할 수 있습니다.

개발자 안내서 - Amazon Textract 모범 사례 - 신뢰도 점수 사용

스로틀이 발생한 호출 및 끊긴 연결 처리

 초당 최대 트랜잭션 수(TPS)를 초과하여 서비스가 애플리케이션을 제한하거나 연결이 끊긴 경우 Textract 작업이 실패할 수 있습니다. 작업을 자동으로 재시도하여 제한 및 끊긴 연결을 관리할 수 있습니다. Amazon Textract 클라이언트를 생성할 때 Config 파라미터를 포함하여 재시도 횟수를 지정합니다. AWS는 재시도 횟수를 5회로 권장합니다. AWS SDK는 작업이 실패하여 예외가 발생하기 전에 작업을 지정된 횟수만큼 재시도합니다.

개발자 안내서 - 스로틀이 발생한 호출 및 끊긴 연결 처리
Amazon Textract 엔드포인트 및 할당량

할당량

Amazon Textract 사용에는 할당량이 적용됩니다. 할당량은 크게 다음의 두 가지 종류로 구분됩니다.

  1. 설정된 할당량은 변경할 수 없습니다. 여기에는 허용되는 파일 형식, 파일 크기 및 페이지 수 제한, PDF별 제한, 이미지 크기 및 회전, 문자 크기, 문자 집합 및 ID 유형이 포함됩니다.

             Amazon Textract에 할당량 설정

  1. 기본 할당량은 서비스 할당량 콘솔을 통해 보거나 변경할 수 있습니다. Textract가 새 문서를 처리하도록 요청할 수 있는 빈도는 TPS 할당량에 따라 결정됩니다. 동시 작업 제한은 지정된 시간에 동시 실행할 수 있는 작업 수를 정의합니다. 

             기본 할당량

Service Quotas Calculator로 할당량 요구를 추정할 수 있습니다.

모범 사례

다음과 같은 Textract의 모범 사례를 잘 알고 있어야 합니다.

  1. 최적의 입력 문서 제공: Textract가 지원하는 언어 및 형식으로 된 최소 150DPI 이상의 고품질 이미지.
  2. 신뢰도 점수를 사용합니다. Textract API 작업에서 반환되는 신뢰도 점수와 사용 사례의 민감도를 고려합니다. 최적의 임계값은 애플리케이션에 따라 다릅니다. 탐지 오류(오탐)에 민감한 애플리케이션에서는 최소 신뢰도 점수 임계값을 적용합니다.
  3. 인적 검토의 사용을 고려합니다. 인적 검토를 워크플로에 통합할 수 있습니다. 이는 재무 결정을 포함하는 비즈니스 프로세스 등 민감한 애플리케이션에 특히 중요합니다.
    개발자 안내서 - Amazon Textract 모범 사례

실습 경험

Textract를 사용하여 문서에서 텍스트, 손글씨 및 데이터를 추출한 경험이 있어야 합니다. 사용할 애플리케이션이 없다면 아래의 자습서와 데모를 사용할 수 있습니다.

자습서

텍스트 및 구조화된 데이터 추출(AWS 콘솔 자습서)

Textract 소개(코딩 자습서)

샘플 애플리케이션

AWS AI 서비스

AWS 텍스트 음성 변환(TTS) 어시스턴트

커뮤니티 비디오

Textract 및 .NET 6 소개 - EP01(강사: Tom Moore)

Textract 및 .NET 6 소개 - EP02(강사: Tom Moore) 

 AWS 경험

초급 또는 중급

 .NET 경험

중급

 소요 시간

관련 경험에 따라 최대 3시간

 사용되는 서비스

Amazon Textract

 최종 업데이트 날짜

2022년 7월 7일

이 페이지의 내용이 도움이 되었나요?

모듈

이 자습서는 다음과 같은 모듈로 구성되어 있습니다. 경험 및 준비 상태에 따라 모듈을 빠짐없이 살펴보거나 간략히 훑어보고 복습할 수 있습니다.

  1. 준비 안내서(3시간).
  2. 기술 평가: Amazon Textract 및 .NET 워크로드 평가

기술 평가