

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

# 2단계: Amazon Comprehend에서 개체 분석 작업 실행
<a name="tutorial-search-metadata-entities-analysis"></a>

샘플 데이터 세트를 S3 버킷에 저장한 후 Amazon Comprehend 개체 분석 작업을 실행하여 문서에서 개체를 추출합니다. 이러한 개체는 Amazon Kendra 사용자 지정 속성을 형성하고 인덱스에서 검색 결과를 필터링하는 데 도움이 됩니다. 자세한 내용은 [개체 감지](https://docs.aws.amazon.com/comprehend/latest/dg/how-entities.html)를 참조하세요.

**Topics**
+ [Amazon Comprehend 개체 분석 작업 실행](#tutorial-search-metadata-entities-analysis-job)

## Amazon Comprehend 개체 분석 작업 실행
<a name="tutorial-search-metadata-entities-analysis-job"></a>

데이터 세트에서 개체를 추출하려면 Amazon Comprehend 개체 분석 작업을 실행합니다.

이 단계에서 AWS CLI를 사용하는 경우 먼저 Amazon Comprehend에 대한 AWS IAM 역할 및 정책을 생성하고 연결한 다음 엔터티 분석 작업을 실행합니다. 샘플 데이터에서 개체 분석 작업을 실행하려면 Amazon Comprehend에 다음이 필요합니다.
+ 신뢰할 수 있는 엔터티로 인식하는 AWS Identity and Access Management (IAM) 역할
+ S3 버킷에 액세스할 수 있는 권한을 부여하는 AWS IAM 역할에 연결된 IAM 정책

자세한 내용은 [Amazon Comprehend에서 IAM을 사용하는 방법](https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_service-with-iam.html) 및 [Amazon Comprehend의 자격 증명 기반 정책](https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_id-based-policy-examples.html)을 참조하세요.

### Amazon Comprehend 개체 분석 작업을 실행하려면 (콘솔)
<a name="tutorial-search-metadata-entities-analysis-console"></a>

1. [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)에서 Amazon Comprehend 콘솔을 엽니다.
**중요**  
Amazon S3 버킷을 생성한 리전과 동일한 리전에 있는지 확인합니다. 다른 리전에 있는 경우 상단 탐색 모음의 AWS 리전 선택기에서 S3 버킷을 생성한 리전을 선택합니다. **** 

1. **Amazon Comprehend 시작**을 선택합니다.

1.  왼쪽 탐색 창에서 **분석 작업**을 선택합니다.

1.  **작업 생성**을 선택합니다.

1. **작업 설정** 섹션에서 다음을 수행합니다.

   1.  **이름**에 **data-entities-analysis**를 입력합니다.

   1. **분석 유형**에서 **개체**를 선택합니다.

   1. **언어**에서 **영어**를 선택합니다.

   1. **작업 암호화**를 끈 상태로 둡니다.

1. **입력 데이터** 섹션에서 다음을 수행합니다.

   1. **데이터 소스**로 **내 문서**를 선택합니다.

   1. **S3 위치**의 경우 **S3 찾아보기**를 선택합니다.

   1. **리소스 선택**의 경우, 버킷 목록에서 해당하는 버킷의 이름을 클릭합니다.

   1. **객체**의 경우 `data` 옵션 버튼을 선택하고 **선택**을 선택합니다.

   1. **입력 형식**으로 **파일 하나에 문서 하나** 선택합니다.

1. **출력 데이터** 섹션에서 다음을 수행합니다.

   1. **S3 위치**에서 **S3 찾아보기**를 선택한 다음 버킷 목록에서 버킷에 대한 옵션 상자를 선택하고 **선택**을 선택합니다.

   1. **암호화**를 끈 상태로 둡니다.

1. **권한 연결** 섹션에서 다음을 수행합니다.

   1. **IAM 역할**에서 **IAM 역할 생성**을 선택합니다.

   1. **액세스 권한**은 **입력 및 출력 S3 버킷**을 선택합니다.

   1. **이름 접미사**에 **comprehend-role**을 입력합니다. 이 역할은 Amazon S3 버킷에 대한 액세스를 제공합니다.

1. 기본 **VPC 설정**을 유지합니다.

1. **작업 생성**을 선택합니다.

### Amazon Comprehend 개체 분석 작업을 실행하려면 (AWS CLI)
<a name="tutorial-search-metadata-entities-analysis-cli"></a>

1. 신뢰할 수 있는 개체로 인식되는 Amazon Comprehend용 IAM 역할을 생성하고 연결하려면 다음을 수행하세요.

   1. 다음 신뢰 정책을 로컬 디바이스의 텍스트 편집기에서 `comprehend-trust-policy.json`이라는 JSON 파일로 저장합니다.

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "comprehend.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

------

   1. `comprehend-role`라는 IAM 역할을 생성하고 저장된 `comprehend-trust-policy.json` 파일을 첨부하려면 [create-role](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html) 명령을 사용합니다.

------
#### [ Linux ]

      ```
      aws iam create-role \
                --role-name comprehend-role \
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-trust-policy.json`의 파일 경로입니다.

------
#### [ macOS ]

      ```
      aws iam create-role \
                --role-name comprehend-role \
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-trust-policy.json`의 파일 경로입니다.

------
#### [ Windows ]

      ```
      aws iam create-role ^
                --role-name comprehend-role ^
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-trust-policy.json`의 파일 경로입니다.

------

   1. Amazon 리소스 이름(ARN)을 텍스트 편집기에 복사하고 로컬에 `comprehend-role-arn`로 저장합니다.
**참고**  
ARN 형식은 *arn:aws:iam::123456789012:role/comprehend-role*과 비슷합니다. Amazon Comprehend 분석 작업을 실행하려면 `comprehend-role-arn`로 저장한 ARN이 필요합니다.

1. S3 버킷에 액세스할 권한을 부여하는 IAM 정책을 생성하여 IAM 역할에 연결하려면 다음을 수행하세요.

   1. 다음 신뢰 정책을 로컬 디바이스의 텍스트 편집기에서 `comprehend-S3-access-policy.json`이라는 JSON 파일로 저장합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Action": [
                      "s3:GetObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ],
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "s3:ListBucket"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket"
                  ],
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "s3:PutObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ],
                  "Effect": "Allow"
              }
          ]
      }
      ```

------

   1. S3 버킷에 액세스하기 위해 `comprehend-S3-access-policy`라는 IAM 정책을 생성하려면 [create-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html) 명령을 사용하세요.

------
#### [ Linux ]

      ```
      aws iam create-policy \
                --policy-name comprehend-S3-access-policy \
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-S3-access-policy.json`의 파일 경로입니다.

------
#### [ macOS ]

      ```
      aws iam create-policy \
                --policy-name comprehend-S3-access-policy \
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-S3-access-policy.json`의 파일 경로입니다.

------
#### [ Windows ]

      ```
      aws iam create-policy ^
                --policy-name comprehend-S3-access-policy ^
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      위치:
      + *path/*는 로컬 디바이스에 있는 `comprehend-S3-access-policy.json`의 파일 경로입니다.

------

   1. Amazon 리소스 이름(ARN)을 텍스트 편집기에 복사하고 로컬에 `comprehend-S3-access-arn`로 저장합니다.
**참고**  
ARN 형식은 *arn:aws:iam::123456789012:role/comprehend-S3-access-policy*와 비슷합니다. IAM 역할에 `comprehend-S3-access-policy`를 연결하려면 `comprehend-S3-access-arn`로 저장한 ARN이 필요합니다.

   1. `comprehend-S3-access-policy`을 IAM 역할에 연결하려면 [attach-role-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html) 명령을 사용합니다.

------
#### [ Linux ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name comprehend-role
      ```

      위치:
      + *policy-arn*은 `comprehend-S3-access-arn`로 저장한 ARN입니다.

------
#### [ macOS ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name comprehend-role
      ```

      위치:
      + *policy-arn*은 `comprehend-S3-access-arn`로 저장한 ARN입니다.

------
#### [ Windows ]

      ```
      aws iam attach-role-policy ^
                --policy-arn policy-arn ^
                --role-name comprehend-role
      ```

      위치:
      + *policy-arn*은 `comprehend-S3-access-arn`로 저장한 ARN입니다.

------

1. Amazon Comprehend 개체 분석 작업을 실행하려면 [start-entities-detection-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/start-entities-detection-job.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws comprehend start-entities-detection-job \
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE \
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ \
           --data-access-role-arn role-arn \
           --job-name data-entities-analysis \
           --language-code en \
           --region aws-region
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.
   + *role-arn*은 `comprehend-role-arn`로 저장한 ARN입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws comprehend start-entities-detection-job \
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE \
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ \
           --data-access-role-arn role-arn \
           --job-name data-entities-analysis \
           --language-code en \
           --region aws-region
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.
   + *role-arn*은 `comprehend-role-arn`로 저장한 ARN입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws comprehend start-entities-detection-job ^
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE ^
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ ^
           --data-access-role-arn role-arn ^
           --job-name data-entities-analysis ^
           --language-code en ^
           --region aws-region
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.
   + *role-arn*은 `comprehend-role-arn`로 저장한 ARN입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 개체 분석 `JobId`를 복사하여 텍스트 편집기에 `comprehend-job-id`로 저장합니다. `JobId`는 개체 분석 작업의 상태를 추적하는 데 도움이 됩니다.

1. 개체 분석 작업의 진행 상황을 추적하려면 [describe-entities-detection-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/describe-entities-detection-job.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws comprehend describe-entities-detection-job \
           --job-id entities-job-id \
           --region aws-region
   ```

   위치:
   + *entities-job-id*는 사용자의 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws comprehend describe-entities-detection-job \
           --job-id entities-job-id \
           --region aws-region
   ```

   위치:
   + *entities-job-id*는 사용자의 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws comprehend describe-entities-detection-job ^
           --job-id entities-job-id ^
           --region aws-region
   ```

   위치:
   + *entities-job-id*는 사용자의 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

`JobStatus`가 `COMPLETED`로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

이 단계가 끝나면 Amazon Comprehend는 개체 분석 결과를 S3 버킷의 자동 생성 폴더 내 `output`폴더에 압축된 `output.tar.gz` 파일로 저장합니다. 다음 단계로 넘어가기 전에 분석 작업 상태가 완료되었는지 확인합니다.