PDF 파일 주석 달기 - Amazon Comprehend

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

PDF 파일 주석 달기

SageMaker Ground Truth에서 교육 PDF에 주석을 달기 전에 다음 사전 요구 사항을 완료하십시오.

  • python3.8.x 설치

  • jq 설치

  • AWS CLI 설치

    us-east-1 지역을 사용하는 경우, AWS CLI는 Python 환경에 이미 설치되어 있으므로 설치를 건너뛰어도 됩니다. 이 경우에는 AWS Cloud9에서 Python 3.8을 사용하기 위한 가상 환경을 만듭니다.

  • AWS 보안 인증 구성

  • 주석 달기를 지원하는 전용 SageMaker Ground Truth 인력을 만드세요

    새 프라이빗 작업 인력에서 설치 중에 사용할 작업 팀 이름을 선택하여 기록해 두십시오.

환경 설정

  1. Windows를 사용하는 경우 Cygwin을 설치하고, Linux 또는 Mac을 사용하는 경우 이 단계를 건너뛰십시오.

  2. 에서 주석 아티팩트를 다운로드하십시오. GitHub 파일 압축을 풉니다.

  3. 터미널 창에서 압축이 풀린 폴더 (-) 로 이동합니다. amazon-comprehend-semi-structured documents-annotation-tools-main

  4. 이 폴더에는 종속성을 설치하고, Python virtualenv를 설정하고, 필요한 리소스를 배포하기 위해 실행하는 Makefiles 선택 항목이 포함되어 있습니다. Readme 파일을 검토하여 선택하십시오.

  5. 권장 옵션은 단일 명령을 사용하여 모든 종속성을 virtualenv에 설치하고, 템플릿에서 AWS CloudFormation 스택을 빌드하고, 대화형 지침에 따라 스택을 사용자에게 배포합니다. AWS 계정 다음 명령을 실행합니다:

    make ready-and-deploy-guided

    이 명령은 구성 옵션 세트를 제공합니다. 입력이 올바른지 확인하세요. AWS 리전 다른 모든 필드의 경우 기본값을 그대로 사용하거나 사용자 지정 값을 입력할 수 있습니다. AWS CloudFormation 스택 이름을 수정하는 경우 다음 단계에서 필요에 따라 적어 두십시오.

    AWS CloudFormation 구성 옵션을 보여주는 터미널 세션

    CloudFormation 스택은 주석 도구에 필요한 AWS 람다, AWS IAM 역할 및 AWS S3 버킷을 생성하고 관리합니다.

    콘솔의 스택 세부 정보 페이지에서 이러한 각 리소스를 검토할 수 있습니다. CloudFormation

  6. 명령을 실행하면 배포를 시작하라는 메시지가 표시됩니다. CloudFormation 지정된 지역의 모든 리소스를 생성합니다.

    배포된 AWS CloudFormation 구성을 보여주는 터미널 세션

    CloudFormation 스택 상태가 생성-완료로 전환되면 리소스를 사용할 준비가 된 것입니다.

S3 버킷에 파일 업로드

설정 섹션에서는 -$ {} 라는 comprehend-semi-structured-documents S3 버킷을 생성하는 CloudFormation 스택을 배포했습니다. AWS::Region}-${AWS::AccountId 이제 원본 PDF 문서를 이 버킷에 업로드합니다.

참고

이 버킷에는 레이블 제작 작업에 필요한 데이터가 들어 있습니다. Lambda 실행 역할 정책은 Lambda 함수가 이 버킷에 액세스할 수 있는 권한을 부여합니다.

'S3Bucket' 키를 사용하여 CloudFormation 스택 세부 정보에서 SemiStructuredDocuments S3 버킷 이름을 찾을 수 있습니다.

  1. S3 버킷에서 새 폴더를 생성합니다. 이 새 폴더의 이름을 'src'로 지정합니다.

  2. PDF 소스 파일을 'src' 폴더에 추가합니다. 이후 단계에서 이 파일에 주석을 달아 인식기를 훈련합니다.

  3. (선택 사항) 다음은 로컬 디렉터리의 소스 문서를 S3 버킷으로 업로드하는 데 사용할 수 있는 AWS CLI 예제입니다.

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided/src/

    또는 리전 및 계정 ID를 사용할 수 있습니다.

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided-Region-AccountID/src/

  4. 이제 전용 SageMaker Ground Truth 인력이 생겼고 소스 파일을 S3 버킷, 배포 안내/src/에 업로드했습니다. 이제 주석을 달 준비가 되었습니다.

주석 작업 생성

bin디렉토리의 comprehend-ssie-annotation-tool-cli.py 스크립트는 SageMaker Ground Truth 레이블 지정 작업의 생성을 간소화하는 간단한 래퍼 명령입니다. Python 스크립트는 S3 버킷에서 소스 문서를 읽고 한 줄에 하나의 소스 문서가 포함된, 소스 문서에 상응하는 단일 페이지 매니페스트 파일을 만듭니다. 그러면 스크립트가 레이블링 작업을 생성하는데, 이 작업에는 매니페스트 파일이 입력으로 필요합니다.

Python 스크립트는 설정 섹션에서 구성한 S3 버킷과 CloudFormation 스택을 사용합니다. 스크립트의 필수 입력 파라미터는 다음과 같습니다.

  • input-s3-path: S3 버킷에 업로드한 소스 문서에 대한 S3 Uri입니다. 예를 들면 s3://deploy-guided/src/입니다. 또한 이 경로에 리전 및 계정 ID를 추가할 수 있습니다. 예를 들면 s3://deploy-guided-Region-AccountID/src/입니다.

  • cfn-name: 스택 이름입니다 CloudFormation . 스택 이름에 기본값을 사용한 경우 cfn-name은 sam-app입니다.

  • work-team-name: SageMaker Ground Truth에서 개인 인력을 구축할 때 만든 인력 이름입니다.

  • job-name-prefix: SageMaker Ground Truth 레이블 지정 작업의 접두사입니다. 참고로 이 필드는 29자로 제한됩니다. 이 값에는 타임스탬프가 추가됩니다. 예를 들면 my-job-name-20210902T232116입니다.

  • entity-types: 레이블 지정 작업 중에 사용할 개체로, 쉼표로 구분합니다. 이 목록에는 학습 데이터 세트에 주석을 달고 싶은 모든 개체가 포함되어야 합니다. Ground Truth 레이블 지정 작업은 주석자가 PDF 문서의 내용에 레이블을 지정할 수 있도록 이러한 개체만 표시합니다.

스크립트가 지원하는 추가 인수를 보려면 -h 옵션을 사용하여 도움말 내용을 표시하십시오.

  • 이전 목록에 설명된 대로 입력 파라미터를 사용하여 다음 스크립트를 실행합니다.

    python bin/comprehend-ssie-annotation-tool-cli.py \ --input-s3-path s3://deploy-guided-Region-AccountID/src/ \ --cfn-name sam-app \ --work-team-name my-work-team-name \ --region us-east-1 \ --job-name-prefix my-job-name-20210902T232116 \ --entity-types "EntityA, EntityB, EntityC" \ --annotator-metadata "key=info,value=sample,key=Due Date,value=12/12/2021"

    서버에서 다음과 같은 출력을 생성합니다.

    Downloaded files to temp local directory /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Deleted downloaded temp files from /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Uploaded input manifest file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/input-manifest/my-job-name-20220203-labeling-job-20220203T183118.manifest Uploaded schema file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/schema.json Uploaded template UI to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/template-2021-04-15.liquid Sagemaker GroundTruth Labeling Job submitted: arn:aws:sagemaker:us-west-2:123456789012:labeling-job/my-job-name-20220203-labeling-job-20220203t183118 (amazon-comprehend-semi-structured-documents-annotation-tools-main) user@3c063014d632 amazon-comprehend-semi-structured-documents-annotation-tools-main %

Ground Truth로 SageMaker 주석 달기

이제 필요한 리소스를 구성하고 레이블 제작 작업을 생성했으므로 레이블 제작 포털에 로그인하여 PDF에 주석을 달 수 있습니다.

  1. Chrome 또는 Firefox 웹 브라우저를 사용하여 SageMaker 콘솔에 로그인합니다.

  2. 레이블링 인력을 선택하고 비공개를 선택합니다.

  3. 프라이빗 작업 인력 요약에서 프라이빗 작업 인력과 함께 만든 레이블 지정 포털 로그인 URL을 선택합니다. 적절한 보안 인증으로 로그인합니다.

    목록에 작업이 없더라도 걱정하지 마십시오. 주석을 달기 위해 업로드한 파일 수에 따라 업데이트하는 데 시간이 걸릴 수 있습니다.

  4. 작업을 선택하고 오른쪽 상단에서 작업 시작을 선택하여 주석 화면을 엽니다.

    주석 화면에 문서 중 하나가 열리고, 그 위에는 설정 중에 제공한 개체 유형이 표시됩니다. 개체 유형 오른쪽에는 문서를 탐색하는 데 사용할 수 있는 화살표가 있습니다.

    아마존 Comprehend 주석 화면.

    열려 있는 문서에 주석을 답니다. 또한 각 문서에서 주석을 제거하거나 실행 취소하거나 자동으로 태그를 지정할 수 있습니다. 이러한 옵션은 주석 도구의 오른쪽 패널에서 사용할 수 있습니다.

    Amazon Comprehend 주석 오른쪽 패널에서 사용할 수 있는 옵션입니다.

    자동 태그를 사용하려면 개체 중 하나의 인스턴스에 주석을 다십시오. 그러면 해당 단어의 다른 모든 인스턴스에 자동으로 해당 개체 유형으로 주석이 추가됩니다.

    작업을 마치면 오른쪽 하단에서 제출을 선택하고 탐색 화살표를 사용하여 다음 문서로 이동합니다. 모든 PDF에 주석을 달 때까지 이 과정을 반복합니다.

모든 학습 문서에 주석을 달고 나면 다음 위치의 Amazon S3 버킷에서 JSON 형식의 주석을 찾을 수 있습니다.

/output/your labeling job name/annotations/

출력 폴더에는 학습 문서 내의 모든 주석을 나열하는 출력 매니페스트 파일도 포함되어 있습니다. 다음 위치에서 출력 매니페스트 파일을 찾을 수 있습니다.

/output/your labeling job name/manifests/