

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

# Amazon Comprehend API 사용
<a name="using-the-api"></a>

Amazon Comprehend API는 실시간(동기) 분석을 수행하는 작업과 비동기 분석 작업을 시작하고 관리하는 작업을 지원합니다.

Amazon Comprehend API 작업을 직접 사용하거나, CLI 또는 SDK 중 하나를 사용할 수 있습니다. 이 장의 예제에서는 CLI, Python SDK, 자바 SDK를 사용합니다.

 AWS CLI 및 Python 예제를 실행하려면를 설치해야 합니다 AWS CLI. 자세한 내용은 [AWS Command Line Interface (AWS CLI) 설정](setting-up.md#setup-awscli) 단원을 참조하십시오.

Java 예제를 실행하려면 AWS SDK for Java를 설치해야 합니다. SDK for Java 설치 지침은 [AWS SDK for Java 설정을 참조하세요](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup.html).

**Topics**
+ [AWS SDK에서 Amazon Comprehend 사용](sdk-general-information-section.md)
+ [API를 사용한 실시간 분석](using-api-sync.md)
+ [API를 사용한 비동기 분석 작업](api-async.md)

# AWS SDK에서 Amazon Comprehend 사용
<a name="sdk-general-information-section"></a>

AWS 소프트웨어 개발 키트(SDKs)는 널리 사용되는 많은 프로그래밍 언어에 사용할 수 있습니다. 각 SDK는 개발자가 선호하는 언어로 애플리케이션을 쉽게 구축할 수 있도록 하는 API, 코드 예제 및 설명서를 제공합니다.


| SDK 설명서 | 코드 예제 | 
| --- | --- | 
| [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK for C\$1\$1 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI 코드 예제](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK for Go 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK for Java 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK for JavaScript 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK for Kotlin 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK for .NET 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK for PHP 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Tools for PowerShell 코드 예제](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK for Python (Boto3) 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK for Ruby 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK for Rust 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK for SAP ABAP 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK for Swift 코드 예제](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**가용성 예제**  
필요한 예제를 찾을 수 없습니까? 이 페이지 하단의 **피드백 제공** 링크를 사용하여 코드 예시를 요청하세요.

# API를 사용한 실시간 분석
<a name="using-api-sync"></a>

다음 예제에서는 AWS CLI및 AWS .NET, Java 및 Python용 SDKs를 사용하여 실시간 분석에 Amazon Comprehend API를 사용하는 방법을 보여줍니다. 이러한 예제를 통해 Amazon Comprehend 작업에 대해 알아보고 자체 애플리케이션의 구성 요소로 사용할 수 있습니다.

이 단원의 .NET 예제는 [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html)을 사용합니다. 를 사용하여 .NET[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/welcome.html)을 사용하는 AWS 애플리케이션을 개발할 수 있습니다. 여기에는 애플리케이션 배포 및 서비스 관리를 위한 유용한 템플릿과 AWS Explorer가 포함되어 있습니다. .NET 개발자의 관점은 .NET 개발자 안내서를 AWS참조하세요. [AWS](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html) 

**Topics**
+ [지배적 언어 감지](#get-started-api-dominant-language)
+ [명명된 개체 감지](#get-started-api-entities)
+ [핵심 문구 감지](#get-started-api-key-phrases)
+ [감성 확인](#get-started-api-sentiment)
+ [대상 감성에 대한 실시간 분석](#get-started-api-targeted-sentiment)
+ [구문 감지](#get-started-api-syntax)
+ [실시간 배치 API](#get-started-batch)

## 지배적 언어 감지
<a name="get-started-api-dominant-language"></a>

텍스트에 사용되는 지배적 언어를 확인하려면 [DetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectDominantLanguage.html) 작업을 사용합니다. 최대 25개 문서에서 지배적 언어를 일괄 감지하려면 [BatchDetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectDominantLanguage.html) 작업을 사용합니다. 자세한 내용은 [실시간 배치 API](#get-started-batch) 단원을 참조하십시오.

**Topics**
+ [사용 AWS Command Line Interface](#get-started-api-dominant-language-cli)
+ [AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET](#get-started-api-dominant-language-java)

### 사용 AWS Command Line Interface
<a name="get-started-api-dominant-language-cli"></a>

다음 예제는 AWS CLI로 `DetectDominantLanguage` 작업을 사용하는 방법을 보여 줍니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-dominant-language \
    --region region \
    --text "It is raining today in Seattle."
```

Amazon Comprehend가 다음과 같이 응답합니다.

```
{
    "Languages": [
        {
            "LanguageCode": "en",
            "Score": 0.9793661236763
        }
    ]
}
```

### AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET
<a name="get-started-api-dominant-language-java"></a>

지배적 언어를 결정하는 방법에 대한 SDK 예제는 [AWS SDK 또는 CLI와 `DetectDominantLanguage` 함께 사용](example_comprehend_DetectDominantLanguage_section.md)를 참조하세요.

## 명명된 개체 감지
<a name="get-started-api-entities"></a>

문서에서 명명된 개체를 확인하려면 [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html) 작업을 사용합니다. 최대 25개 문서에서 개체를 일괄 감지하려면 [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html) 작업을 사용합니다. 자세한 내용은 [실시간 배치 API](#get-started-batch) 단원을 참조하십시오.

**Topics**
+ [사용 AWS Command Line Interface](#get-started-api-entities-cli)
+ [AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET](#get-started-api-entities-java)

### 사용 AWS Command Line Interface
<a name="get-started-api-entities-cli"></a>

다음 예제는 AWS CLI로 `DetectEntities` 작업을 사용하는 방법을 보여 줍니다. 입력 텍스트의 언어를 지정해야 합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-entities \
    --region region \
    --language-code "en" \
    --text "It is raining today in Seattle."
```

Amazon Comprehend가 다음과 같이 응답합니다.

```
{
    "Entities": [
        {
            "Text": "today",
            "Score": 0.97,
            "Type": "DATE",
            "BeginOffset": 14,
            "EndOffset": 19
        },
        {
            "Text": "Seattle",
            "Score": 0.95,
            "Type": "LOCATION",
            "BeginOffset": 23,
            "EndOffset": 30
        }
    ],
    "LanguageCode": "en"
}
```

### AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET
<a name="get-started-api-entities-java"></a>

지배적 언어를 결정하는 방법에 대한 SDK 예제는 [AWS SDK 또는 CLI와 `DetectEntities` 함께 사용](example_comprehend_DetectEntities_section.md)를 참조하세요.

## 핵심 문구 감지
<a name="get-started-api-key-phrases"></a>

텍스트에 사용되는 핵심 명사구를 확인하려면 [DetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectKeyPhrases.html) 작업을 사용합니다. 최대 25개 문서에서 핵심 명사구를 일괄 감지하려면 [BatchDetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectKeyPhrases.html) 작업을 사용합니다. 자세한 내용은 [실시간 배치 API](#get-started-batch) 단원을 참조하십시오.

**Topics**
+ [사용 AWS Command Line Interface](#get-started-api-key-phrases-cli)
+ [AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET](#get-started-api-key-phrases-java)

### 사용 AWS Command Line Interface
<a name="get-started-api-key-phrases-cli"></a>

다음 예제는 AWS CLI로 `DetectKeyPhrases` 작업을 사용하는 방법을 보여 줍니다. 입력 텍스트의 언어를 지정해야 합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-key-phrases \
    --region region \
    --language-code "en" \
    --text "It is raining today in Seattle."
```

Amazon Comprehend가 다음과 같이 응답합니다.

```
{
    "LanguageCode": "en",
    "KeyPhrases": [
        {
            "Text": "today",
            "Score": 0.89,
            "BeginOffset": 14,
            "EndOffset": 19
        },
        {
            "Text": "Seattle",
            "Score": 0.91,
            "BeginOffset": 23,
            "EndOffset": 30
        }
    ]
}
```

### AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET
<a name="get-started-api-key-phrases-java"></a>

핵심 문구를 감지하는 SDK 예제는 [AWS SDK 또는 CLI와 `DetectKeyPhrases` 함께 사용](example_comprehend_DetectKeyPhrases_section.md)를 참조하세요.

## 감성 확인
<a name="get-started-api-sentiment"></a>

Amazon Comprehend는 감성 분석을 위한 다음과 같은 API 작업을 제공합니다.
+ [DetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSentiment.html) — 문서의 전반적인 감정적 감성을 결정합니다.
+  [BatchDetectSentition](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSentiment.html) — 최대 25개 문서의 전반적인 감성을 일괄 확인합니다. 자세한 정보는 [실시간 배치 API](#get-started-batch)를 참조하세요.
+  [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html) – 문서 모음에 대해 비동기식 감성 감지 작업을 시작합니다.
+  [ListSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListSentimentDetectionJobs.html) – 제출한 감성 감지 작업의 목록을 반환합니다.
+  [DescribeSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeSentimentDetectionJob.html) – 지정된 감성 감지 작업과 관련된 속성(상태 포함)을 가져옵니다.
+  [StopSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopSentimentDetectionJob.html) – 진행 중인 지정된 감성 작업을 중지합니다.

**Topics**
+ [사용 AWS Command Line Interface](#get-started-api-sentiment-cli)
+ [AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET](#get-started-api-sentiment-java)

### 사용 AWS Command Line Interface
<a name="get-started-api-sentiment-cli"></a>

다음 예제는 AWS CLI로 `DetectSentiment` 작업을 사용하는 방법을 보여 줍니다. 이 예제는 입력 텍스트의 언어를 지정합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-sentiment \
    --region region \
    --language-code "en" \
    --text "It is raining today in Seattle."
```

 Amazon Comprehend가 다음과 같이 응답합니다.

```
{
    "SentimentScore": {
        "Mixed": 0.014585512690246105,
        "Positive": 0.31592071056365967,
        "Neutral": 0.5985543131828308,
        "Negative": 0.07093945890665054
    },
    "Sentiment": "NEUTRAL",
    "LanguageCode": "en"
}
```

### AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET
<a name="get-started-api-sentiment-java"></a>

입력 텍스트의 감성을 결정하는 SDK 예제는 [AWS SDK 또는 CLI와 `DetectSentiment` 함께 사용](example_comprehend_DetectSentiment_section.md)를 참조하세요.

## 대상 감성에 대한 실시간 분석
<a name="get-started-api-targeted-sentiment"></a>

Amazon Comprehend는 대상 감성 실시간 분석을 위한 다음과 같은 API 작업을 제공합니다.
+ [DetectTargetedSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectTargetedSentiment.html) — 문서에 언급된 개체의 감성을 분석합니다.
+  [BatchDetectTargetedSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectTargetedSentiment.html) — 최대 25개 문서에 대한 대상 감성을 일괄 분석합니다. 자세한 정보는 [실시간 배치 API](#get-started-batch)를 참조하십시오.

분석 중인 텍스트에 대상 감성 [개체 유형](how-targeted-sentiment.md#how-targeted-sentiment-entities)이 없는 경우 API는 빈 개체 배열을 반환합니다.

### 사용 AWS Command Line Interface
<a name="get-started-api-targeted-sentiment-cli"></a>

다음 예제는 AWS CLI로 `DetectTargetedSentiment` 작업을 사용하는 방법을 보여 줍니다. 이 예제는 입력 텍스트의 언어를 지정합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-targeted-sentiment \
    --region region \
    --language-code "en" \
    --text "The burger was cooked perfectly but it was cold. The service was OK."
```

 Amazon Comprehend가 다음과 같이 응답합니다.

```
{
"Entities": [
    {
      "DescriptiveMentionIndex": [
        0
      ],
      "Mentions": [
        {
          "BeginOffset": 4,
          "EndOffset": 10,
          "Score": 1,
          "GroupScore": 1,
          "Text": "burger",
          "Type": "OTHER",
          "MentionSentiment": {
            "Sentiment": "POSITIVE",
            "SentimentScore": {
              "Mixed": 0.001515,
              "Negative": 0.000822,
              "Neutral": 0.000243,
              "Positive": 0.99742
            }
          }
        },
        {
          "BeginOffset": 36,
          "EndOffset": 38,
          "Score": 0.999843,
          "GroupScore": 0.999661,
          "Text": "it",
          "Type": "OTHER",
          "MentionSentiment": {
            "Sentiment": "NEGATIVE",
            "SentimentScore": {
              "Mixed": 0,
              "Negative": 0.999996,
              "Neutral": 0.000004,
              "Positive": 0
            }
          }
        }
      ]
    },
    {
      "DescriptiveMentionIndex": [
        0
      ],
      "Mentions": [
        {
          "BeginOffset": 53,
          "EndOffset": 60,
          "Score": 1,
          "GroupScore": 1,
          "Text": "service",
          "Type": "ATTRIBUTE",
          "MentionSentiment": {
            "Sentiment": "NEUTRAL",
            "SentimentScore": {
              "Mixed": 0.000033,
              "Negative": 0.000089,
              "Neutral": 0.993325,
              "Positive": 0.006553
            }
          }
        }
      ]
    }
  ]
}
```

## 구문 감지
<a name="get-started-api-syntax"></a>

텍스트 구문 분석을 통해 개별 단어를 추출하고 각 단어의 품사를 결정하려면 [DetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSyntax.html) 작업을 사용합니다. 최대 25개 문서에서 구문 분석을 일괄 수행하려면 [BatchDetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSyntax.html) 작업을 사용합니다. 자세한 내용은 [실시간 배치 API](#get-started-batch) 단원을 참조하십시오.

**Topics**
+ [사용 AWS Command Line Interface.](#get-started-api-syntax-cli)
+ [AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET](#get-started-api-syntax-java)

### 사용 AWS Command Line Interface.
<a name="get-started-api-syntax-cli"></a>

다음 예제는 AWS CLI로 `DetectSyntax` 작업을 사용하는 방법을 보여 줍니다. 이 예제는 입력 텍스트의 언어를 지정합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend detect-syntax \
   --region region \
   --language-code "en" \
   --text "It is raining today in Seattle."
```

Amazon Comprehend가 다음과 같이 응답합니다.

```
{
    "SyntaxTokens": [
        {
            "Text": "It",
            "EndOffset": 2,
            "BeginOffset": 0,
            "PartOfSpeech": {
                "Tag": "PRON",
                "Score": 0.8389829397201538
            },
            "TokenId": 1
        },
        {
            "Text": "is",
            "EndOffset": 5,
            "BeginOffset": 3,
            "PartOfSpeech": {
                "Tag": "AUX",
                "Score": 0.9189288020133972
            },
            "TokenId": 2
        },
        {
            "Text": "raining",
            "EndOffset": 13,
            "BeginOffset": 6,
            "PartOfSpeech": {
                "Tag": "VERB",
                "Score": 0.9977611303329468
            },
            "TokenId": 3
        },
        {
            "Text": "today",
            "EndOffset": 19,
            "BeginOffset": 14,
            "PartOfSpeech": {
                "Tag": "NOUN",
                "Score": 0.9993606209754944
            },
            "TokenId": 4
        },
        {
            "Text": "in",
            "EndOffset": 22,
            "BeginOffset": 20,
            "PartOfSpeech": {
                "Tag": "ADP",
                "Score": 0.9999061822891235
            },
            "TokenId": 5
        },
        {
            "Text": "Seattle",
            "EndOffset": 30,
            "BeginOffset": 23,
            "PartOfSpeech": {
                "Tag": "PROPN",
                "Score": 0.9940338730812073
            },
            "TokenId": 6
        },
        {
            "Text": ".",
            "EndOffset": 31,
            "BeginOffset": 30,
            "PartOfSpeech": {
                "Tag": "PUNCT",
                "Score": 0.9999997615814209
            },
            "TokenId": 7
        }
    ]
}
```

### AWS SDK for Java, SDK for Python 또는 사용 SDK for .NET
<a name="get-started-api-syntax-java"></a>

입력 텍스트의 구문을 감지하는 SDK 예제는 [AWS SDK 또는 CLI와 `DetectSyntax` 함께 사용](example_comprehend_DetectSyntax_section.md)를 참조하세요.

## 실시간 배치 API
<a name="get-started-batch"></a>

최대 25개 문서의 배치를 전송하려면 Amazon Comprehend 실시간 배치 작업을 사용할 수 있습니다. 배치 호출 작업은 요청의 각 문서에 대해 단일 문서 API를 호출하는 것과 동일합니다. 배치 API를 사용하면 애플리케이션 성능이 향상될 수 있습니다. 자세한 내용은 [다중 문서 동기 처리](concepts-processing-modes.md#how-batch) 단원을 참조하십시오.

**Topics**
+ [를 사용한 배치 처리 AWS CLI](#batch-cli)
+ [를 사용한 배치 처리 AWS SDK for .NET](#batch-csharp)

### 를 사용한 배치 처리 AWS CLI
<a name="batch-cli"></a>

이 예제에서는 AWS Command Line Interface로 배치 API 작업을 사용하는 방법을 보여줍니다. `BatchDetectDominantLanguage`를 제외한 모든 작업은 입력으로 `process.json`이라는 다음과 같은 JSON 파일을 사용합니다. 해당 작업에는 `LanguageCode` 개체가 포함되지 않습니다.

JSON 파일(`"$$$$$$$$"`)의 세 번째 문서가 배치 처리 중에 오류를 일으킬 것입니다. 작업이 [BatchItemError](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchItemError.html)를 응답에 포함하도록 이 문서를 포함시킨 것입니다.

```
{
   "LanguageCode": "en",
   "TextList": [
      "I have been living in Seattle for almost 4 years",
      "It is raining today in Seattle",
      "$$$$$$$$"
   ]
}
```

Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

**Topics**
+ [배치(AWS CLI)를 사용한 지배적 언어 감지](#batch-dominant-language)
+ [배치(AWS CLI)를 사용한 개체 감지](#batch-entities)
+ [배치(AWS CLI)를 사용한 핵심 문구 감지](#batch-key-phrase)
+ [배치(AWS CLI)를 사용한 감성 감지](#batch-sentiment)

#### 배치(AWS CLI)를 사용한 지배적 언어 감지
<a name="batch-dominant-language"></a>

[BatchDetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectDominantLanguage.html) 작업은 각 문서의 지배적 언어를 일괄 결정합니다. Amazon Comprehend에서 감지할 수 있는 언어 목록은 [지배적 언어](how-languages.md)을 참조하세요. 다음 AWS CLI 명령은 `BatchDetectDominantLanguage` 작업을 호출합니다.

```
aws comprehend batch-detect-dominant-language \
    --endpoint endpoint \
    --region region \
    --cli-input-json file://path to input file/process.json
```

다음은 `BatchDetectDominantLanguage` 작업의 응답입니다.

```
{
    "ResultList": [
        {
          "Index": 0,
          "Languages":[
            {
              "LanguageCode":"en",
              "Score": 0.99
            }
          ]
        },
        {
          "Index": 1
          "Languages":[
            {
              "LanguageCode":"en",
              "Score": 0.82
            }
          ]
        }
    ],
    "ErrorList": [
      {
        "Index": 2,
        "ErrorCode": "InternalServerException",
        "ErrorMessage": "Unexpected Server Error. Please try again."
      }
    ]
}
```

#### 배치(AWS CLI)를 사용한 개체 감지
<a name="batch-entities"></a>

[BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html) 작업을 사용하여 문서 배치에 있는 개체를 감지할 수 있습니다. 개체 태그 지정에 대한 자세한 내용은 [개체](how-entities.md)을 참조하세요. 다음 AWS CLI 명령은 `BatchDetectEntities` 작업을 호출합니다.

```
aws comprehend batch-detect-entities \
    --endpoint endpoint \
    --region region \
    --cli-input-json file://path to input file/process.json
```

#### 배치(AWS CLI)를 사용한 핵심 문구 감지
<a name="batch-key-phrase"></a>

[BatchDetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectKeyPhrases.html) 작업은 문서 배치의 핵심 명사구를 반환합니다. 다음 AWS CLI 명령은 `BatchDetectKeyNounPhrases` 작업을 호출합니다.

```
aws comprehend batch-detect-key-phrases
    --endpoint endpoint
    --region region
    --cli-input-json file://path to input file/process.json
```

#### 배치(AWS CLI)를 사용한 감성 감지
<a name="batch-sentiment"></a>

[BatchDetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSentiment.html) 작업을 사용하여 문서 배치의 전반적인 감성을 감지합니다. 다음 AWS CLI 명령은 `BatchDetectSentiment` 작업을 호출합니다.

```
aws comprehend batch-detect-sentiment \
    --endpoint endpoint \
    --region region \
    --cli-input-json file://path to input file/process.json
```

### 를 사용한 배치 처리 AWS SDK for .NET
<a name="batch-csharp"></a>

다음 샘플 프로그램은 SDK for .NET로 [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html) 작업을 사용하는 방법을 보여줍니다. 서버의 응답에는 성공적으로 처리된 각 문서에 대한 [BatchDetectEntitiesItemResult](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntitiesItemResult.html) 객체가 포함됩니다. 문서를 처리할 때 오류가 발생한 경우 응답의 오류 목록에 기록이 있습니다. 이 예제에서는 오류가 있는 각 문서를 가져와서 재전송합니다.

이 단원의 .NET 예제는 [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html)을 사용합니다. 를 사용하여 .NET[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/welcome.html)을 사용하는 AWS 애플리케이션을 개발할 수 있습니다. 여기에는 애플리케이션 배포 및 서비스 관리를 위한 유용한 템플릿과 AWS Explorer가 포함되어 있습니다. .NET 개발자의 관점은 .NET 개발자 안내서를 AWS참조하세요. [AWS](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html) 

```
using System;
using System.Collections.Generic;
using Amazon.Comprehend;
using Amazon.Comprehend.Model;

namespace Comprehend
{
    class Program
    {
        // Helper method for printing properties
        static private void PrintEntity(Entity entity)
        {
            Console.WriteLine("     Text: {0}, Type: {1}, Score: {2}, BeginOffset: {3} EndOffset: {4}",
                entity.Text, entity.Type, entity.Score, entity.BeginOffset, entity.EndOffset);
        }

        static void Main(string[] args)
        {
            AmazonComprehendClient comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2);

            List<String> textList = new List<String>()
            {
                { "I love Seattle" },
                { "Today is Sunday" },
                { "Tomorrow is Monday" },
                { "I love Seattle" }
            };

            // Call detectEntities API
            Console.WriteLine("Calling BatchDetectEntities");
            BatchDetectEntitiesRequest batchDetectEntitiesRequest = new BatchDetectEntitiesRequest()
            {
                TextList = textList,
                LanguageCode = "en"
            };
            BatchDetectEntitiesResponse batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest);

            foreach (BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList)
            {
                Console.WriteLine("Entities in {0}:", textList[item.Index]);
                foreach (Entity entity in item.Entities)
                    PrintEntity(entity);
            }

            // check if we need to retry failed requests
            if (batchDetectEntitiesResponse.ErrorList.Count != 0)
            {
                Console.WriteLine("Retrying Failed Requests");
                List<String> textToRetry = new List<String>();
                foreach(BatchItemError errorItem in batchDetectEntitiesResponse.ErrorList)
                    textToRetry.Add(textList[errorItem.Index]);

                batchDetectEntitiesRequest = new BatchDetectEntitiesRequest()
                {
                    TextList = textToRetry,
                    LanguageCode = "en"
                };

                batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest);

                foreach(BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList)
                {
                    Console.WriteLine("Entities in {0}:", textList[item.Index]);
                    foreach (Entity entity in item.Entities)
                        PrintEntity(entity);
                }
            }
            Console.WriteLine("End of DetectEntities");
        }
    }
}
```

# API를 사용한 비동기 분석 작업
<a name="api-async"></a>

다음 예제는 Amazon Comprehend 비동기 API를 사용하여 AWS CLI를 사용한 분석 작업을 생성하고 관리합니다.

**Topics**
+ [Amazon Comprehend 인사이트에 사용되는 비동기 분석](api-async-insights.md)
+ [대상 감성에 대한 비동기 분석](using-api-targeted-sentiment.md)
+ [이벤트 감지를 위한 비동기 분석](get-started-api-events.md)
+ [주제 모델링을 위한 비동기 분석](get-started-topics.md)

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


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

분석 작업을 시작할 때 입력 데이터의 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."}
```

# 대상 감성에 대한 비동기 분석
<a name="using-api-targeted-sentiment"></a>

대상 감성의 실시간 분석에 대한 자세한 내용은 [대상 감성에 대한 실시간 분석](using-api-sync.md#get-started-api-targeted-sentiment)를 참조하세요.

Amazon Comprehend는 비동기 대상 감성 분석을 시작하고 관리하기 위한 다음 API 작업을 제공합니다.
+  [StartTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTargetedSentimentDetectionJob.html) – 문서 모음에 대해 비동기 대상 감정 감지 작업 시작을 시작합니다.
+  [ListTargetedSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTargetedSentimentDetectionJobs.html) – 제출한 대상 감성 감지 작업의 목록을 반환합니다.
+  [DescribeTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeTargetedSentimentDetectionJob.html) – 지정된 대상 감성 감지 작업과 관련된 속성(상태 포함)을 가져옵니다.
+  [StopTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopTargetedSentimentDetectionJob.html) – 진행 중인 지정된 대상 감성 작업을 중지합니다.

**Topics**
+ [시작하기 전에](#api-targeted-sentiment-before)
+ [를 사용하여 대상 감성 분석 AWS CLI](#api-targeted-sentiment-cli)

## 시작하기 전에
<a name="api-targeted-sentiment-before"></a>

시작하기 전에 다음 사항을 확인해야 합니다.
+ **입력 및 출력 버킷** - 입력 및 출력에 사용할 Amazon S3 버킷을 식별합니다. 버킷은 사용자가 호출하는 API와 동일한 리전에 있어야 합니다.
+ **IAM 서비스 역할** - 입력 및 출력 버킷에 액세스하려면 권한이 있는 IAM 서비스 역할이 필요합니다. 자세한 내용은 [비동기 작업에 필요한 역할 기반 권한](security_iam_id-based-policy-examples.md#auth-role-permissions) 단원을 참조하십시오.

## 를 사용하여 대상 감성 분석 AWS CLI
<a name="api-targeted-sentiment-cli"></a>

다음 예제는 AWS CLI로 `StartTargetedSentimentDetectionJob` 작업을 사용하는 방법을 보여 줍니다. 이 예제는 입력 텍스트의 언어를 지정합니다.

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend start-targeted-sentiment-detection-job \
       --job-name "job name" \
       --language-code "en" \
       --cli-input-json file://path to JSON input file
```

`cli-input-json` 파라미터에는 다음 예시에 표시된 대로 요청 데이터가 포함된 JSON 파일의 경로를 제공해야 합니다.

```
{
    "InputDataConfig": {
        "S3Uri": "s3://input bucket/input path",
        "InputFormat": "ONE_DOC_PER_FILE"
    },
    "OutputDataConfig": {
        "S3Uri": "s3://output bucket/output path"
    },
    "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role"
}
```

작업 시작 요청이 성공하면 다음과 같은 응답을 받게 됩니다.

```
{
    "JobStatus": "SUBMITTED",
    "JobArn": "job ARN"
    "JobId": "job ID"
}
```

# 이벤트 감지를 위한 비동기 분석
<a name="get-started-api-events"></a>

**Topics**
+ [시작하기 전에](#events-before)
+ [를 사용하여 이벤트 감지 AWS CLI](#events-cli)
+ [를 사용하여 이벤트 나열 AWS CLI](#list-events)
+ [를 사용하여 이벤트 설명 AWS CLI](#describe-events)
+ [이벤트 감지 결과 가져오기](#async-events)

문서 세트의 이벤트를 감지하려면 [StartEventsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEventsDetectionJob.html)을 사용하여 비동기 작업을 시작하십시오.

## 시작하기 전에
<a name="events-before"></a>

시작하기 전에 다음 사항을 확인해야 합니다.
+ **입력 및 출력 버킷** - 입력 및 출력에 사용할 Amazon S3 버킷을 식별합니다. 버킷은 사용자가 호출하는 API와 동일한 리전에 있어야 합니다.
+ **IAM 서비스 역할** - 입력 및 출력 버킷에 액세스하려면 권한이 있는 IAM 서비스 역할이 필요합니다. 자세한 내용은 [비동기 작업에 필요한 역할 기반 권한](security_iam_id-based-policy-examples.md#auth-role-permissions) 단원을 참조하십시오.

## 를 사용하여 이벤트 감지 AWS CLI
<a name="events-cli"></a>

다음 예제에서는에서 [StartEventsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEventsDetectionJob.html) 작업을 사용하는 방법을 보여줍니다. AWS CLI

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend start-events-detection-job \
  --region region \
  --job-name job name \
  --cli-input-json file://path to JSON input file
```

`cli-input-json` 파라미터에는 다음 예시에 표시된 대로 요청 데이터가 포함된 JSON 파일의 경로를 제공해야 합니다.

```
{
  "InputDataConfig": {
      "S3Uri": "s3://input bucket/input path",
      "InputFormat": "ONE_DOC_PER_LINE"
  },
  "OutputDataConfig": {
      "S3Uri": "s3://output bucket/output path"
  },
  "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role"
  "LanguageCode": "en",
  "TargetEventTypes": [
      "BANKRUPTCY",
      "EMPLOYMENT",
      "CORPORATE_ACQUISITION",
      "INVESTMENT_GENERAL",
      "CORPORATE_MERGER",
      "IPO",
      "RIGHTS_ISSUE",
      "SECONDARY_OFFERING",
      "SHELF_OFFERING",
      "TENDER_OFFERING",
      "STOCK_SPLIT"
  ]
}
```

이벤트 감지 작업 시작 요청이 성공하면 다음과 같은 응답을 받게 됩니다.

```
{
  "JobStatus": "SUBMITTED",
  "JobId": "job ID"
}
```

## 를 사용하여 이벤트 나열 AWS CLI
<a name="list-events"></a>

제출한 이벤트 감지 작업의 목록을 보려면 [ListEventsDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListEventsDetectionJobs.html) 작업을 사용하십시오. 이 목록에는 사용한 입력 및 출력 위치와 각 감지 작업의 상태에 대한 정보가 포함됩니다. 다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend list-events-detection-jobs --region region 
```

응답은 다음과 비슷한 JSON 형식으로 받게 됩니다.

```
{
 "EventsDetectionJobPropertiesList": [
    {
       "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role",
       "EndTime": timestamp,
       "InputDataConfig": {
          "InputFormat": "ONE_DOC_PER_LINE",
          "S3Uri": "s3://input bucket/input path"
       },
       "JobId": "job ID",
       "JobName": "job name",
       "JobStatus": "COMPLETED",
       "LanguageCode": "en",
       "Message": "message",
       "OutputDataConfig": {
          "S3Uri": "s3://output bucket/ouput path"
       },
       "SubmitTime": timestamp,
       "TargetEventTypes": [
         "BANKRUPTCY",
         "EMPLOYMENT",
         "CORPORATE_ACQUISITION",
         "INVESTMENT_GENERAL",
         "CORPORATE_MERGER",
         "IPO",
         "RIGHTS_ISSUE",
         "SECONDARY_OFFERING",
         "SHELF_OFFERING",
         "TENDER_OFFERING",
         "STOCK_SPLIT"
  ]
    }
 ],
 "NextToken": "next token"
}
```

## 를 사용하여 이벤트 설명 AWS CLI
<a name="describe-events"></a>

[DescribeEventsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEventsDetectionJob.html) 작업을 사용하여 기존 작업의 상태를 얻을 수 있습니다. 다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend describe-events-detection-job \
  --region region \
  --job-id job ID
```

응답은 다음과 같은 JSON 형식으로 받게 됩니다.

```
{
 "EventsDetectionJobProperties": {
    "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role",
    "EndTime": timestamp,
    "InputDataConfig": {
       "InputFormat": "ONE_DOC_PER_LINE",
       "S3Uri": "S3Uri": "s3://input bucket/input path"
    },
    "JobId": "job ID",
    "JobName": "job name",
    "JobStatus": "job status",
    "LanguageCode": "en",
    "Message": "message",
    "OutputDataConfig": {
       "S3Uri": "s3://output bucket/output path"
    },
    "SubmitTime": timestamp,
    "TargetEventTypes": [
      "BANKRUPTCY",
      "EMPLOYMENT",
      "CORPORATE_ACQUISITION",
      "INVESTMENT_GENERAL",
      "CORPORATE_MERGER",
      "IPO",
      "RIGHTS_ISSUE",
      "SECONDARY_OFFERING",
      "SHELF_OFFERING",
      "TENDER_OFFERING",
      "STOCK_SPLIT"
  ]
 }
}
```

## 이벤트 감지 결과 가져오기
<a name="async-events"></a>

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

```
{"Entities": [{"Mentions": [{"BeginOffset": 12, "EndOffset": 27, "GroupScore": 1.0, "Score": 0.916355, "Text": "over a year ago", "Type": "DATE"}]}, {"Mentions": [{"BeginOffset": 33, "EndOffset": 39, "GroupScore": 1.0, "Score": 0.996603, "Text": "Amazon", "Type": "ORGANIZATION"}]}, {"Mentions": [{"BeginOffset": 66, "EndOffset": 77, "GroupScore": 1.0, "Score": 0.999283, "Text": "Whole Foods", "Type": "ORGANIZATION"}]}], "Events": [{"Arguments": [{"EntityIndex": 2, "Role": "INVESTEE", "Score": 0.999283}, {"EntityIndex": 0, "Role": "DATE", "Score": 0.916355}, {"EntityIndex": 1, "Role": "INVESTOR", "Score": 0.996603}], "Triggers": [{"BeginOffset": 373, "EndOffset": 380, "GroupScore": 0.999984, "Score": 0.999955, "Text": "acquire", "Type": "CORPORATE_ACQUISITION"}], "Type": "CORPORATE_ACQUISITION"}, {"Arguments": [{"EntityIndex": 2, "Role": "PARTICIPANT", "Score": 0.999283}], "Triggers": [{"BeginOffset": 115, "EndOffset": 123, "GroupScore": 1.0, "Score": 0.999967, "Text": "combined", "Type": "CORPORATE_MERGER"}], "Type": "CORPORATE_MERGER"}], "File": "doc.txt", "Line": 0}
```

이벤트 출력 파일 구조와 지원되는 이벤트 유형에 대한 자세한 내용은 [이벤트](how-events.md)을 참조하세요.

# 주제 모델링을 위한 비동기 분석
<a name="get-started-topics"></a>

 문서 세트의 주제를 결정하려면 [StartTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTopicsDetectionJob.html)을 사용하여 비동기 작업을 시작하십시오. 영어 또는 스페인어로 작성된 문서의 주제를 모니터링할 수 있습니다.

**Topics**
+ [시작하기 전에](#topics-before)
+ [사용 AWS Command Line Interface](#topics-cli)
+ [SDK for Python 또는 사용 SDK for .NET](#topic-java)

## 시작하기 전에
<a name="topics-before"></a>

시작하기 전에 다음 사항을 확인해야 합니다.
+ **입력 및 출력 버킷** - 입력 및 출력에 사용할 Amazon S3 버킷을 식별합니다. 버킷은 사용자가 호출하는 API와 동일한 리전에 있어야 합니다.
+ **IAM 서비스 역할** - 입력 및 출력 버킷에 액세스하려면 권한이 있는 IAM 서비스 역할이 필요합니다. 자세한 내용은 [비동기 작업에 필요한 역할 기반 권한](security_iam_id-based-policy-examples.md#auth-role-permissions) 단원을 참조하십시오.

## 사용 AWS Command Line Interface
<a name="topics-cli"></a>

다음 예제에서는에서 `StartTopicsDetectionJob` 작업을 사용하는 방법을 보여줍니다. AWS CLI

다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend start-topics-detection-job \
                --number-of-topics topics to return \
                --job-name "job name" \
                --region region \
                --cli-input-json file://path to JSON input file
```

`cli-input-json` 파라미터에는 다음 예시에 표시된 대로 요청 데이터가 포함된 JSON 파일의 경로를 제공해야 합니다.

```
{
    "InputDataConfig": {
        "S3Uri": "s3://input bucket/input path",
        "InputFormat": "ONE_DOC_PER_FILE"
    },
    "OutputDataConfig": {
        "S3Uri": "s3://output bucket/output path"
    },
    "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role"
}
```

주제 감지 작업 시작 요청이 성공하면 다음과 같은 응답을 받게 됩니다.

```
{
    "JobStatus": "SUBMITTED",
    "JobId": "job ID"
}
```

제출한 주제 감지 작업의 목록을 보려면 [ListTopicsDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTopicsDetectionJobs.html) 작업을 사용하십시오. 이 목록에는 사용한 입력 및 출력 위치와 각 감지 작업의 상태에 대한 정보가 포함됩니다. 다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend list-topics-detection-jobs \-- region
```

응답은 다음과 비슷한 JSON 형식으로 받게 됩니다.

```
{
    "TopicsDetectionJobPropertiesList": [
        {
            "InputDataConfig": {
                "S3Uri": "s3://input bucket/input path",
                "InputFormat": "ONE_DOC_PER_LINE"
            },
            "NumberOfTopics": topics to return,
            "JobId": "job ID",
            "JobStatus": "COMPLETED",
            "JobName": "job name",
            "SubmitTime": timestamp,
            "OutputDataConfig": {
                "S3Uri": "s3://output bucket/output path"
            },
            "EndTime": timestamp
        },
        {
            "InputDataConfig": {
                "S3Uri": "s3://input bucket/input path",
                "InputFormat": "ONE_DOC_PER_LINE"
            },
            "NumberOfTopics": topics to return,
            "JobId": "job ID",
            "JobStatus": "RUNNING",
            "JobName": "job name",
            "SubmitTime": timestamp,
            "OutputDataConfig": {
                "S3Uri": "s3://output bucket/output path"
            }
        }
    ]
}
```

[DescribeTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeTopicsDetectionJob.html) 작업을 사용하여 기존 작업의 상태를 가져올 수 있습니다. 다음은 Unix, Linux, macOS용 형식으로 지정된 예제입니다. Windows의 경우 각 줄의 끝에 있는 백슬래시(\$1) Unix 연속 문자를 캐럿(^)으로 바꿉니다.

```
aws comprehend describe-topics-detection-job --job-id job ID 
```

응답은 다음과 같은 JSON 형식으로 받게 됩니다.

```
{
    "TopicsDetectionJobProperties": {
        "InputDataConfig": {
            "S3Uri": "s3://input bucket/input path",
            "InputFormat": "ONE_DOC_PER_LINE"
        },
        "NumberOfTopics": topics to return,
        "JobId": "job ID",
        "JobStatus": "COMPLETED",
        "JobName": "job name",
        "SubmitTime": timestamp,
        "OutputDataConfig": {
            "S3Uri": "s3://output bucket/ouput path"
        },
        "EndTime": timestamp
    }
}
```

## SDK for Python 또는 사용 SDK for .NET
<a name="topic-java"></a>

주제 모델링 작업을 시작하는 방법에 대한 SDK 예제는 [AWS SDK 또는 CLI와 `StartTopicsDetectionJob` 함께 사용](example_comprehend_StartTopicsDetectionJob_section.md)를 참조하세요.