

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

# Amazon Comprehend 인사이트에 사용되는 비동기 분석
<a name="api-async-insights"></a>

다음 섹션에서는 Amazon Comprehend API를 사용하여 Amazon Comprehend 인사이트를 분석하기 위한 비동기 작업을 실행합니다.

**Topics**
+ [사전 조건](#detect-topics-role-auth)
+ [분석 시작](#how-start-job)
+ [모니터링 분석 작업](#how-monitor-progress)
+ [분석 결과 가져오기](#how-get-results)

## 사전 조건
<a name="detect-topics-role-auth"></a>

문서는 UTF-8 형식 또는 파일이어야 합니다. 문서를 두 가지 형식으로 제출할 수 있습니다. 사용하는 형식은 다음 표의 설명대로 분석하려는 문서의 유형에 따라 달라집니다.


| 설명 | 형식 | 
| --- | --- | 
| 각 파일에는 입력 문서가 한 개씩 들어 있습니다. 이 방법은 대용량 문서 모음에 가장 적합합니다. | 파일당 문서 하나 | 
| 입력은 하나 이상의 파일입니다. 파일의 각 라인은 문서로 간주됩니다. 소셜 미디어 게시물과 같은 짧은 문서에 가장 적합합니다.<br />각 라인은 줄 바꿈 (LF, \\n), 캐리지 리턴 (CR,\\ r) 또는 둘 다 (CRLF,\\ r\\ n) 로 끝나야 합니다. UTF-8 줄 구분자(u\+2028)를 사용하여 줄을 끝낼 수는 없습니다. | 라인당 문서 하나 | 

분석 작업을 시작할 때 입력 데이터의 S3 위치를 지정해야 합니다. URI는 호출 중인 API 엔드포인트와 동일한 AWS 리전에 있어야 합니다. URI는 단일 파일을 가리킬 수도 있고 데이터 파일 컬렉션의 접두사일 수도 있습니다. 자세한 정보는 [InputDataConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_InputDataConfig.html) 데이터 유형을 참조하세요.

Amazon Comprehend에 문서 컬렉션 및 출력 파일을 포함하는 Amazon S3 버킷에 대한 액세스 권한을 부여해야 합니다. 자세한 내용은 [비동기 작업에 필요한 역할 기반 권한](security_iam_id-based-policy-examples.md#auth-role-permissions)을 참조하십시오.

## 분석 시작
<a name="how-start-job"></a>

분석 작업을 제출하려면 Amazon Comprehend 콘솔 또는 적절한 `Start*` 작업을 사용하십시오.
+  [StartDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDominantLanguageDetectionJob.html) — 컬렉션의 각 문서에서 지배적 언어를 감지하는 작업을 시작합니다. 문서의 지배적 언어에 대한 자세한 정보는 [지배적 언어](how-languages.md)을 참조하세요.
+  [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html) — 컬렉션의 각 문서에서 개체를 감지하는 작업을 시작합니다. 개체 태그 지정에 대한 자세한 내용은 [개체](how-entities.md)을 참조하세요.
+  [StartKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartKeyPhrasesDetectionJob.html) — 컬렉션의 각 문서에서 핵심 문구를 감지하는 작업을 시작합니다. 키 이름에 대한 자세한 내용은 [핵심 문구](how-key-phrases.md)을 참조하세요.
+  [StartPiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartPiiEntitiesDetectionJob.html) — 컬렉션의 각 문서에서 개인 식별 정보(PII)를 감지하는 작업을 시작합니다. ACL에 대한 자세한 내용은 [PII 개체 감지](how-key-phrases.md)을 참조하세요.
+  [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html) — 컬렉션의 각 문서에서 감성을 감지하는 작업을 시작합니다. 감성에 대한 자세한 내용은 [감성](how-sentiment.md)을 참조하세요.

## 모니터링 분석 작업
<a name="how-monitor-progress"></a>

`Start*` 작업은 작업 진행 상황을 모니터링하는 데 사용할 수 있는 ID를 반환합니다.

API를 사용하여 진행 상황을 모니터링하려면 개별 작업의 진행 상황을 모니터링할지, 아니면 여러 작업의 진행 상황을 모니터링할지에 따라 두 작업 중 하나를 사용합니다.

개별 분석 작업의 진행 상황을 모니터링하려면 `Describe*` 작업을 사용하십시오. `Start*` 작업에서 반환된 작업 ID를 제공해야 합니다. `Describe*` 작업의 응답에는 작업 상태가 표시된 `JobStatus` 필드가 포함됩니다.

여러 분석 작업의 진행 상황을 모니터링하려면 `List*` 작업을 사용하십시오. `List*` 작업은 Amazon Comprehend에 제출한 작업 목록을 반환합니다. 응답에는 각 작업에 대한 작업 상태를 알려주는 `JobStatus` 필드가 포함됩니다.

상태 필드가 `COMPLETED` 또는 `FAILED`로 설정된 경우 작업 처리가 완료된 것입니다.

개별 작업의 상태를 확인하려면 수행 중인 분석에 `Describe*` 작업을 사용하십시오.
+  [DescribeDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDominantLanguageDetectionJob.html)
+  [DescribeEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEntitiesDetectionJob.html)
+  [DescribeKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeKeyPhrasesDetectionJob.html)
+  [DescribePiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribePiiEntitiesDetectionJob.html)
+  [DescribeSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeSentimentDetectionJob.html)

여러 작업의 상태를 확인하려면 수행 중인 분석에 `List*` 작업을 사용하십시오.
+  [ListDominantLanguageDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListDominantLanguageDetectionJobs.html)
+  [ListEntitiesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListEntitiesDetectionJobs.html)
+  [ListKeyPhrasesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListKeyPhrasesDetectionJobs.html)
+  [ListPiiEntitiesDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListPiiEntitiesDetectionJobs.html)
+  [ListSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListSentimentDetectionJobs.html)

결과를 특정 기준과 일치하는 작업으로 제한하려면 `List*` 작업의 `Filter` 파라미터를 사용합니다. 작업 이름, 작업 상태 또는 작업이 제출된 날짜와 시간을 기준으로 결과를 필터링할 수 있습니다. 자세한 내용은 Amazon Comprehend API 참조에서 각 `List*` 작업의 `Filter` 파라미터를 참조하세요.

## 분석 결과 가져오기
<a name="how-get-results"></a>

분석 작업을 완료한 후 `Describe*` 작업을 사용하여 결과의 위치를 가져옵니다. 작업 상태가 `COMPLETED`인 경우 응답에는 출력 파일의 Amazon S3 위치가 있는 필드가 포함된 `OutputDataConfig` 필드가 포함됩니다. 파일 `output.tar.gz`는 분석 결과를 포함하는 압축된 아카이브입니다.

배치 번역 작업의 상태가 `FAILED`인 경우 작업 응답에는 작업이 완료되지 않은 이유를 설명하는 필드가 `Message` 포함되어 있습니다.

개별 작업의 상태를 확인하려면 적절한 `Describe*` 작업을 사용하십시오.
+  [DescribeDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDominantLanguageDetectionJob.html)
+  [DescribeEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEntitiesDetectionJob.html)
+  [DescribeKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeKeyPhrasesDetectionJob.html)
+  [DescribeSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeSentimentDetectionJob.html)

결과는 문서당 하나의 JSON 구조를 갖는 단일 파일로 반환됩니다. 각 응답 파일에는 상태 필드가 `FAILED`(으)로 설정된 모든 작업에 대한 오류 메시지도 포함됩니다.

다음 각 섹션은 두 입력 형식의 출력 예시를 보여줍니다.

### 지배적 언어 감지 결과 가져오기
<a name="async-dominant-language"></a>

다음은 지배적 언어를 감지한 분석의 출력 파일 예제입니다. 입력 형식은 한 줄에 한 문서입니다. 자세한 내용은 [DetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectDominantLanguage.html)을 참조하세요.

```
{"File": "0_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9514502286911011}, {"LanguageCode": "de", "Score": 0.02374090999364853}, {"LanguageCode": "nl", "Score": 0.003208699868991971}, "Line": 0}
{"File": "1_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9822712540626526}, {"LanguageCode": "de", "Score": 0.002621392020955682}, {"LanguageCode": "es", "Score": 0.002386554144322872}], "Line": 1}
```

다음은 입력 형식이 파일당 문서 하나인 분석 결과의 예시입니다.

```
{"File": "small_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9728053212165833}, {"LanguageCode": "de", "Score": 0.007670710328966379}, {"LanguageCode": "es", "Score": 0.0028472368139773607}]}
{"File": "huge_doc", "Languages": [{"LanguageCode": "en", "Score": 0.984955906867981}, {"LanguageCode": "de", "Score": 0.0026436643674969673}, {"LanguageCode": "fr", "Score": 0.0014206881169229746}]}
```

### 개체 감지 결과 가져오기
<a name="async-entities"></a>

다음은 문서에서 개체를 감지한 분석 결과 파일의 예시입니다. 입력 형식은 한 줄에 한 문서입니다. 자세한 정보는 [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html) 작업을 참조하세요. 출력에는 두 개의 오류 메시지가 포함됩니다. 하나는 너무 긴 문서이고, 다른 하나는 UTF-8 형식이 아닌 문서에 대한 것입니다.

```
{"File": "50_docs", "Line": 0, "Entities": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.9763959646224976, "Text": "Cluj-NapocaCluj-Napoca", "Type": "LOCATION"}"]}
{"File": "50_docs", "Line": 1, "Entities": [{"BeginOffset": 11, "EndOffset": 15, "Score": 0.9615424871444702, "Text": "Maat", "Type": "PERSON"}}]}
{"File": "50_docs", "Line": 2, "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size exceeds maximum size limit 102400 bytes."}
{"File": "50_docs", "Line": 3, "ErrorCode": "UNSUPPORTED_ENCODING", "ErrorMessage": "Document is not in UTF-8 format and all subsequent lines are ignored."}
```

다음은 입력 형식이 파일당 문서 하나인 분석으로부터의 출력 결과의 예입니다. 출력에는 두 개의 오류 메시지가 포함됩니다. 하나는 너무 긴 문서이고, 다른 하나는 UTF-8 형식이 아닌 문서에 대한 것입니다.

```
{"File": "non_utf8.txt", "ErrorCode": "UNSUPPORTED_ENCODING", "ErrorMessage": "Document is not in UTF-8 format and all subsequent line are ignored."}
{"File": "small_doc", "Entities": [{"BeginOffset": 0, "EndOffset": 4, "Score": 0.645766019821167, "Text": "Maat", "Type": "PERSON"}]}
{"File": "huge_doc", "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size exceeds size limit 102400 bytes."}
```

### 핵심 문구 감지 결과 가져오기
<a name="async-key-phrases"></a>

다음은 문서에서 핵심 문구를 감지한 분석 결과 파일의 예시입니다. 입력 형식은 한 줄에 한 문서입니다. 자세한 내용은 [DetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectKeyPhrases.html)를 참조하세요.

```
{"File": "50_docs", "KeyPhrases": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.8948641419410706, "Text": "Cluj-NapocaCluj-Napoca"}, {"BeginOffset": 45, "EndOffset": 49, "Score": 0.9989854693412781, "Text": "Cluj"}], "Line": 0}            
```

다음은 입력 형식이 파일당 문서 하나인 분석 결과의 예시입니다.

```
{"File": "1_doc", "KeyPhrases": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.8948641419410706, "Text": "Cluj-NapocaCluj-Napoca"}, {"BeginOffset": 45, "EndOffset": 49, "Score": 0.9989854693412781, "Text": "Cluj"}]}            
```

### 개인 식별 정보(PII) 감지 결과 가져오기
<a name="async-pii"></a>

다음은 문서에서 PII 개체를 감지한 분석 작업의 출력 파일 예제입니다. 입력 형식은 한 줄에 한 문서입니다.

```
{"Entities":[{"Type":"NAME","BeginOffset":40,"EndOffset":69,"Score":0.999995},{"Type":"ADDRESS","BeginOffset":247,"EndOffset":253,"Score":0.998828},{"Type":"BANK_ACCOUNT_NUMBER","BeginOffset":406,"EndOffset":411,"Score":0.693283}],"File":"doc.txt","Line":0}
{"Entities":[{"Type":"SSN","BeginOffset":1114,"EndOffset":1124,"Score":0.999999},{"Type":"EMAIL","BeginOffset":3742,"EndOffset":3775,"Score":0.999993},{"Type":"PIN","BeginOffset":4098,"EndOffset":4102,"Score":0.999995}],"File":"doc.txt","Line":1}
```

다음은 입력 형식이 파일당 문서 하나인 분석으로부터의 출력 결과의 예입니다.

```
{"Entities":[{"Type":"NAME","BeginOffset":40,"EndOffset":69,"Score":0.999995},{"Type":"ADDRESS","BeginOffset":247,"EndOffset":253,"Score":0.998828},{"Type":"BANK_ROUTING","BeginOffset":279,"EndOffset":289,"Score":0.999999}],"File":"doc.txt"}
```

### 감성 감지 결과 가져오기
<a name="async-sentiment"></a>

다음은 문서에 표현된 감성을 감지한 분석의 결과 파일 예제입니다. 문서 하나가 너무 길기 때문에 오류 메시지가 포함됩니다. 입력 형식은 한 줄에 한 문서입니다. 자세한 내용은 [DetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSentiment.html) 작업을 참조하세요.

```
{"File": "50_docs", "Line": 0, "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.002734508365392685, "Negative": 0.008935936726629734, "Neutral": 0.9841893315315247, "Positive": 0.004140198230743408}}
{"File": "50_docs", "Line": 1, "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size is exceeded maximum size limit 5120 bytes."}
{"File": "50_docs", "Line": 2, "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.0023119584657251835, "Negative": 0.0029857370536774397, "Neutral": 0.9866572022438049, "Positive": 0.008045154623687267}}
```

다음은 입력 형식이 파일당 문서 하나인 분석 결과의 예시입니다.

```
{"File": "small_doc", "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.0023450672160834074, "Negative": 0.0009663937962614, "Neutral": 0.9795311689376831, "Positive": 0.017157377675175667}}
{"File": "huge_doc", "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size is exceeds the limit of 5120 bytes."}
```