기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Textract를 사용하여 PDF 파일에서 콘텐츠 자동 추출
작성자: Tianxia Jia(AWS)
환경: 프로덕션 | 기술: 기계 학습 및 AI, 분석, 빅 데이터 | AWS 서비스: Amazon S3, Amazon Textract, Amazon SageMaker |
요약
많은 조직에서 비즈니스 애플리케이션에 업로드된 PDF 파일에서 정보를 추출해야 합니다. 예를 들어 조직은 세금 분석 또는 의료 청구 처리를 위해 세금 또는 의료 PDF 파일에서 정보를 정확하게 추출해야 할 수 있습니다.
Amazon Web Services(AWS) 클라우드에서 Amazon Textract는 PDF 파일에서 정보(예: 인쇄된 텍스트, 양식 및 테이블)를 자동으로 추출하고 원본 파일의 정보가 포함된 JSON형식이 지정된 PDF 파일을 생성합니다. AWS 관리 콘솔에서 또는 API 호출을 구현하여 Amazon Textract를 사용할 수 있습니다. 프로그래밍 호출API
Amazon Textract는 파일을 처리할 때 페이지, 텍스트 줄 및 단어, 양식(키-값 쌍), 테이블 및 셀, 선택 요소 등의 Block
객체 목록을 생성합니다. 경계 상자, 신뢰 구간, IDs및 관계와 같은 다른 객체 정보도 포함됩니다. Amazon Textract는 콘텐츠 정보를 문자열로 추출합니다. 다운스트림 애플리케이션에서 더 쉽게 사용할 수 있으므로 데이터 값을 정확하게 식별하고 변환해야 합니다.
이 패턴은 Amazon Textract를 사용하여 PDF 파일에서 콘텐츠를 자동으로 추출하여 깨끗한 출력으로 처리하기 위한 워크플로를 설명합니다 step-by-step. 이 패턴은 템플릿 매칭 기법을 사용하여 필수 필드, 키 이름 및 테이블을 정확하게 식별한 후 각 데이터 유형에 사후 처리 수정 사항을 적용합니다. 이 패턴을 사용하여 다양한 유형의 PDF 파일을 처리한 다음 이 워크플로를 확장하고 자동화하여 동일한 형식의 PDF 파일을 처리할 수 있습니다.
사전 조건 및 제한 사항
사전 조건
활성 상태의 AWS 계정.
Amazon Textract에서 JPEG 처리하기 위해 파일로 변환된 후 PDF 파일을 저장하는 기존 Amazon Simple Storage Service(Amazon S3) 버킷입니다. S3 버킷에 대한 자세한 내용은 Amazon S3 설명서의 버킷 개요를 참조하십시오.
Textract_PostProcessing.ipynb
Jupyter Notebook (첨부됨), 설치 및 구성됨. Jupyter 노트북에 대한 자세한 내용은 Amazon SageMaker 설명서의 Jupyter 노트북 생성을 참조하세요.형식이 동일한 기존 PDF 파일입니다.
Python에 대한 이해.
제한 사항
PDF 파일은 품질이 양호하고 명확하게 읽을 수 있어야 합니다. 기본 PDF 파일이 권장되지만 개별 단어가 모두 명확하면 PDF 형식으로 변환된 스캔 문서를 사용할 수 있습니다. 이에 대한 자세한 내용은 AWS Machine Learning 블로그의 PDF Amazon Textract: Visuals 탐지 및 제거를 사용한 문서 사전 처리를
참조하세요. 다중 페이지 파일의 경우 비동기 작업을 사용하거나 PDF 파일을 단일 페이지로 분할하고 동기 작업을 사용할 수 있습니다. 이 두 옵션에 대한 자세한 내용은 Amazon Textract 설명서의 여러 페이지 문서에서 텍스트 감지 및 분석 및 단일 페이지 문서의 텍스트 감지 및 분석을 참고하십시오.
아키텍처
이 패턴의 워크플로는 먼저 샘플 PDF 파일에서 Amazon Textract를 실행한 다음(처음 실행 ) 첫 번째 파일과 동일한 형식의 PDF 파일에서 실행합니다PDF(반복 실행 ). 다음 다이어그램은 동일한 형식의 PDF 파일에서 콘텐츠를 자동 및 반복적으로 추출하는 통합 최초 실행 및 반복 실행 워크플로를 보여줍니다.
이 다이어그램은 이 패턴에 대해 다음 워크플로를 보여 줍니다.
PDF 파일을 JPEG 형식으로 변환하고 S3 버킷에 저장합니다.
Amazon Textract를 호출API하고 Amazon Textract 응답 JSON 파일을 구문 분석합니다.
각 필수 필드에 올바른
KeyName:DataType
페어를 추가하여 JSON 파일을 편집합니다. 반복 실행 단계를 위한TemplateJSON
파일을 생성합니다.각 데이터 유형(예: 부동 소수점, 정수, 날짜)에 대한 사후 처리 수정 함수를 정의합니다.
첫 번째 PDF 파일과 동일한 형식의 PDF 파일을 준비합니다.
Amazon Textract를 호출API하고 Amazon Textract 응답 을 구문 분석합니다JSON.
구문 분석된 JSON 파일을
TemplateJSON
파일과 일치시킵니다.사후 처리 수정을 구현합니다.
최종 JSON 출력 파일에는 각 필수 필드에 Value
대해 올바른 KeyName
및 가 있습니다.
대상 기술 스택
Amazon SageMaker
Amazon S3
Amazon Textract
자동화 및 규모 조정
새 PDF 파일이 Amazon S3에 추가될 때 Amazon Textract를 시작하는 AWS Lambda 함수를 사용하여 반복 실행 워크플로를 자동화할 수 있습니다. 그러면 Amazon Textract가 처리 스크립트를 실행하고 최종 출력을 스토리지 위치에 저장할 수 있습니다. 이에 대한 자세한 내용은 Lambda 설명서에서 Amazon S3 트리거를 사용하여 Lambda 함수 호출을 참고하십시오.
도구
Amazon SageMaker은 완전 관리형 ML 서비스로, ML 모델을 빠르고 쉽게 빌드 및 훈련한 다음 프로덕션 준비 호스팅 환경에 직접 배포할 수 있도록 지원합니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
Amazon Textract를 사용하면 애플리케이션에 문서 텍스트 감지 및 분석을 쉽게 추가할 수 있습니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
PDF 파일을 변환합니다. | 파일을 단일 페이지로 분할하고 Amazon Textract 동기식 작업()의 JPEG 형식으로 변환하여 처음 실행할 PDF 파일을 준비합니다 참고: Amazon Textract 비동기 작업( | 데이터 사이언티스트, 개발자 |
Amazon Textract 응답 을 구문 분석합니다JSON. |
다음 코드를 사용하여 응답을 JSON 양식과 테이블로 구문 분석합니다.
| 데이터 사이언티스트, 개발자 |
템플릿JSON 파일을 편집합니다. | 각 이 템플릿은 각 개별 PDF 파일 유형에 사용됩니다. 즉, 형식이 동일한 PDF 파일에 템플릿을 재사용할 수 있습니다. | 데이터 사이언티스트, 개발자 |
사후 처리 수정 함수를 정의합니다. |
다음 코드를 사용하여
| 데이터 사이언티스트, 개발자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
PDF 파일을 준비합니다. | PDF 파일을 단일 페이지로 분할하고 Amazon Textract 동기 작업()의 JPEG 형식으로 변환하여 파일을 준비합니다 참고: Amazon Textract 비동기 작업( | 데이터 사이언티스트, 개발자 |
Amazon Textract 를 호출합니다API. | 다음 코드를 API 사용하여 Amazon Textract를 호출합니다.
| 데이터 사이언티스트, 개발자 |
Amazon Textract 응답 을 구문 분석합니다JSON. | 다음 코드를 사용하여 응답을 JSON 양식과 테이블로 구문 분석합니다.
| 데이터 사이언티스트, 개발자 |
템플릿JSON 파일을 로드하고 구문 분석된 와 일치시킵니다JSON. | 다음 명령을 사용하여
| 데이터 사이언티스트, 개발자 |
사후 처리 수정. |
| 데이터 사이언티스트, 개발자 |
관련 리소스
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.