

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

# Ground Truth를 사용한 텍스트 레이블 지정
<a name="sms-label-text"></a>

Ground Truth를 사용하여 텍스트에 레이블을 지정합니다. Ground Truth는 명명된 엔터티 인식, 단일 레이블 텍스트 분류 및 다중 레이블 텍스트 분류를 위한 텍스트 레이블링을 지원합니다. 다음 주제에서는 이러한 기본 제공 작업 유형에 대한 정보와 해당 작업 유형을 사용하여 레이블 지정 작업을 생성하는 데 도움이 되는 지침을 제공합니다.

**작은 정보**  
지원되는 파일 유형 및 입력 데이터 할당량에 대한 자세한 내용은 [입력 데이터](sms-data-input.md)을 참조하세요.

**Topics**
+ [명명된 엔터티 인식을 사용하여 텍스트 정보 추출](sms-named-entity-recg.md)
+ [텍스트 분류로 텍스트 범주화(단일 레이블)](sms-text-classification.md)
+ [텍스트 분류를 사용하여 텍스트 분류(다중 레이블)](sms-text-classification-multilabel.md)

# 명명된 엔터티 인식을 사용하여 텍스트 정보 추출
<a name="sms-named-entity-recg"></a>

비정형 텍스트에서 정보를 추출하여 미리 정의된 범주로 분류하려면 Amazon SageMaker Ground Truth NER(개체명 인식) 레이블 지정 작업을 사용합니다. 전통적으로 NER은 *이름이 지정된 엔티티*라고 하는 명사 구를 찾기 위해 텍스트 데이터를 탐색하고 각각 ‘사람’, ‘조직’, ‘브랜드’와 같은 레이블로 분류하는 작업을 합니다. 이 작업을 확장하여 더 긴 문자 영역에 레이블을 지정하고 사용자가 지정한 미리 정의된 레이블로 해당 시퀀스를 범주화할 수 있습니다. Amazon SageMaker AI 콘솔의 Ground Truth 섹션 또는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 작업을 사용하여 명명된 엔터티 인식 레이블링 작업을 생성할 수 있습니다.

NER 레이블 지정 작업을 수행할 때 작업자는 더 큰 텍스트 블록 내의 특정 단어나 구에 레이블을 적용합니다. 레이블을 선택한 다음 커서를 사용하여 레이블이 적용되는 텍스트 부분을 강조 표시하여 적용합니다. Ground Truth의 NER 도구는 중복 주석, 컨텍스트 내 레이블 선택, 단일 강조 표시에 대한 다중 레이블 선택을 지원합니다. 또한, 작업자는 키보드를 사용하여 레이블을 빠르게 선택할 수 있습니다.

**중요**  
입력 매니페스트 파일을 수동으로 생성하는 경우 레이블을 지정하려는 텍스트를 식별하는 데 `"source"`를 사용하세요. 자세한 내용은 [입력 데이터](sms-data-input.md) 섹션을 참조하세요.

## 개체명 인식 레이블 지정 작업 생성(콘솔)
<a name="sms-creating-ner-console"></a>

[레이블 지정 작업 생성(콘솔)](sms-create-labeling-job-console.md) 지침에 따라 SageMaker AI 콘솔에서 명명된 엔터티 인식 레이블링 작업을 생성하는 방법을 학습할 수 있습니다. 10단계에서 **작업 범주** 드롭다운 메뉴에서 **텍스트**를 선택하고 작업 유형으로 **개체명 인식**을 선택합니다.

Ground Truth에서는 작업에 레이블을 지정할 때 다음과 유사한 작업자 UI를 제공합니다. 콘솔을 사용하여 레이블 지정 작업을 생성할 때 작업자가 작업을 완료하는 데 도움이 되는 지침과 작업자가 선택할 수 있는 레이블을 지정합니다.

![\[SageMaker AI 콘솔에서 명명된 엔터티 인식 레이블링 작업을 생성하는 방법을 보여주는 Gif.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/sms/gifs/nertool.gif)


## 개체명 인식 레이블 지정 작업 생성(API)
<a name="sms-creating-ner-api"></a>

SageMaker API 작업 `CreateLabelingJob`을 사용하여 개체명 인식 레이블 지정 작업을 생성하려면, 이 API는 모든 AWS SDKs에 대해이 작업을 정의합니다. 이 작업에 지원되는 언어별 SDK 목록을 보려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)의 **참고 항목** 섹션을 검토하세요.

[레이블 지정 작업 생성(API)](sms-create-labeling-job-api.md)의 지침에 따라 요청을 구성하는 동안 다음을 수행합니다.
+ 이 작업 유형에 대한 주석 전 Lambda 함수는 `PRE-NamedEntityRecognition`로 끝납니다. 해당 리전의 주석 전 Lambda ARN을 찾으려면 [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)을 참조하세요.
+ 이 작업 유형에 대한 주석 통합 Lambda 함수는 `ACS-NamedEntityRecognition`로 끝납니다. 사용자 리전에 대한 주석 통합 Lambda ARN을 찾으려면 [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)을 참조하세요.
+ `[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`에 대해 다음과 같은 ANR을 제공해야 합니다.

  ```
  arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition
  ```

  레이블 지정 작업을 생성하는 데 사용하는 AWS 리전으로 `aws-region`을 바꿉니다. 예를 들어 미국 서부(캘리포니아 북부)에서 레이블 지정 작업을 생성하는 경우 `us-west-1`을 사용합니다.
+ `instructions` 파라미터를 사용하여 레이블 범주 구성 파일에 작업자 지침을 제공하세요. `shortInstruction` 및 `fullInstruction` 필드에 문자열 또는 HTML 마크업 언어를 사용할 수 있습니다. 자세한 내용은 [레이블 범주 구성 파일에 작업자 지침 제공하기](#worker-instructions-ner) 섹션을 참조하세요.

  ```
  "instructions": {"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>", "fullInstruction":"<p>Add additional instructions.</p>"}
  ```

다음은 미국 동부(버지니아 북부) 리전에 레이블 지정 작업을 생성하는 [AWS Python SDK(Boto3) 요청](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)의 예제입니다. 빨간색으로 된 모든 파라미터는 사양과 리소스로 대체해야 합니다.

```
response = client.create_labeling_job(
    LabelingJobName='example-ner-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'HumanTaskUiArn': 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/NamedEntityRecognition'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition',
        'TaskKeywords': [
            'Named entity Recognition',
        ],
        'TaskTitle': 'Named entity Recognition task',
        'TaskDescription': 'Apply the labels provided to specific words or phrases within the larger text block.',
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 28800,
        'TaskAvailabilityLifetimeInSeconds': 864000,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### 레이블 범주 구성 파일에 작업자 지침 제공하기
<a name="worker-instructions-ner"></a>

`CreateLabelingJob`에서 `LabelCategoryConfigS3Uri` 파라미터를 사용하여 식별하는 레이블 범주 구성 파일에 작업자 지침을 제공해야 합니다. 이 지침을 사용하여 작업자가 수행하고자 하는 작업에 대한 세부 정보를 제공하고 작업자가 도구를 효율적으로 사용하도록 도울 수 있습니다.

`instructions` 파라미터의 `shortInstruction` 및 `fullInstruction`을 각각 사용하여 짧고 긴 지침을 제공합니다. 이러한 명령 유형에 대해 자세히 알아보려면 [지침 페이지 생성](sms-creating-instruction-pages.md)을 참조하세요.

다음은 개체명 인식 레이블 지정 작업에 사용할 수 있는 지침이 포함된 레이블 범주 구성 파일의 예입니다.

```
{
  "document-version": "2018-11-28",
  "labels": [
    {
      "label": "label1",
      "shortDisplayName": "L1"
    },
    {
      "label": "label2",
      "shortDisplayName": "L2"
    },
    {
      "label": "label3",
      "shortDisplayName": "L3"
    },
    {
      "label": "label4",
      "shortDisplayName": "L4"
    },
    {
      "label": "label5",
      "shortDisplayName": "L5"
    }
  ],
  "instructions": {
    "shortInstruction": "<p>Enter description of the labels that workers have 
                        to choose from</p><br><p>Add examples to help workers understand the label</p>",
    "fullInstruction": "<ol>
                        <li><strong>Read</strong> the text carefully.</li>
                        <li><strong>Highlight</strong> words, phrases, or sections of the text.</li>
                        <li><strong>Choose</strong> the label that best matches what you have highlighted.</li>
                        <li>To <strong>change</strong> a label, choose highlighted text and select a new label.</li>
                        <li>To <strong>remove</strong> a label from highlighted text, choose the X next to the 
                        abbreviated label name on the highlighted text.</li>
                        <li>You can select all of a previously highlighted text, but not a portion of it.</li>
                        </ol>"
  }
}
```

## 개체명 인식 출력 데이터
<a name="sms-ner-output-data"></a>

개체명 인식 레이블 지정 작업을 생성하면, 출력 데이터는 API 사용 시 `S3OutputPath` 파라미터에 지정된 Amazon S3 버킷 또는 콘솔의 **작업 개요** 섹션의 **출력 데이터세트 위치** 필드에 있습니다.

Ground Truth에서 생성된 출력 매니페스트 파일 및 Ground Truth에서 출력 데이터 저장에 사용하는 파일 구조에 대한 자세한 내용은 [작업 출력 데이터 레이블 지정](sms-data-output.md)을 참조하세요.

# 텍스트 분류로 텍스트 범주화(단일 레이블)
<a name="sms-text-classification"></a>

기사 및 텍스트를 미리 정의된 범주로 분류하려면 텍스트 분류를 사용합니다. 예를 들어 텍스트 분류를 사용하여 검토 시 전달되는 감성 또는 텍스트 섹션의 기본이 되는 감정을 식별할 수 있습니다. Amazon SageMaker Ground Truth 텍스트 분류를 사용하여 작업자에게 사용자가 정의한 범주로 텍스트를 정렬하도록 합니다. Amazon SageMaker AI 콘솔의 Ground Truth 섹션 또는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 작업을 사용하여 텍스트 분류 레이블링 작업을 생성합니다.

**중요**  
입력 매니페스트 파일을 수동으로 생성하는 경우 레이블을 지정하려는 텍스트를 식별하는 데 `"source"`를 사용하세요. 자세한 내용은 [입력 데이터](sms-data-input.md) 섹션을 참조하세요.

## 텍스트 분류 레이블 지정 작업 생성(콘솔)
<a name="sms-creating-text-classification-console"></a>

[레이블 지정 작업 생성(콘솔)](sms-create-labeling-job-console.md) 지침에 따라 SageMaker AI 콘솔에서 텍스트 분류 레이블링 작업을 생성하는 방법을 학습할 수 있습니다. 10단계에서 **작업 범주** 드롭다운 메뉴에서 **텍스트**를 선택하고 작업 유형으로 **텍스트 분류(단일 레이블)**를 선택합니다.

Ground Truth에서는 작업에 레이블을 지정할 때 다음과 유사한 작업자 UI를 제공합니다. 콘솔을 사용하여 레이블 지정 작업을 생성할 때 작업자가 작업을 완료하는 데 도움이 되는 지침과 작업자가 선택할 수 있는 레이블을 지정합니다.

![\[SageMaker AI 콘솔에서 텍스트 분류 레이블링 작업을 생성하는 방법을 보여주는 Gif.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/sms/gifs/single-label-text.gif)


## 텍스트 분류 레이블 지정 작업 생성(API)
<a name="sms-creating-text-classification-api"></a>

텍스트 분류 레이블 지정 작업을 생성하려면 SageMaker API 작업 `CreateLabelingJob`을 사용합니다. 이 API는 모든 AWS SDKs에 대해이 작업을 정의합니다. 이 작업에 지원되는 언어별 SDK 목록을 보려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)의 **참고 항목** 섹션을 검토하세요.

[레이블 지정 작업 생성(API)](sms-create-labeling-job-api.md)의 지침에 따라 요청을 구성하는 동안 다음을 수행합니다.
+ 이 작업 유형에 대한 주석 전 Lambda 함수는 `PRE-TextMultiClass`로 끝납니다. 해당 리전의 주석 전 Lambda ARN을 찾으려면 [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)을 참조하세요.
+ 이 작업 유형에 대한 주석 통합 Lambda 함수는 `ACS-TextMultiClass`로 끝납니다. 해당 리전에 대한 주석 통합 Lambda ARN을 찾으려면 [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)을 참조하세요.

다음은 미국 동부(버지니아 북부) 리전에 레이블 지정 작업을 생성하는 [AWS Python SDK(Boto3) 요청](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)의 예시입니다. 빨간색으로 된 모든 파라미터는 사양과 리소스로 대체해야 합니다.

```
response = client.create_labeling_job(
    LabelingJobName='example-text-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass,
        'TaskKeywords': [
            Text classification',
        ],
        'TaskTitle': Text classification task',
        'TaskDescription': 'Carefully read and classify this text using the categories provided.',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### 텍스트 분류 레이블 지정 작업을 위한 템플릿 제공
<a name="worker-template-text-classification"></a>

API를 사용하여 레이블 지정 작업을 생성하는 경우 `UiTemplateS3Uri`의 작업자 태스크 템플릿을 제공해야 합니다. 다음 템플릿을 복사하고 수정합니다. [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) 및 `header`만 수정합니다.

이 템플릿을 S3에 업로드하고 `UiTemplateS3Uri`에서 이 파일에 대한 S3 URI를 제공합니다.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier
    name="crowd-classifier"
    categories="{{ task.input.labels | to_json | escape }}"
    header="classify text"
  >
    <classification-target style="white-space: pre-wrap">
      {{ task.input.taskObject }}
    </classification-target>
    <full-instructions header="Classifier instructions">
      <ol><li><strong>Read</strong> the text carefully.</li>
      <li><strong>Read</strong> the examples to understand more about the options.</li>
      <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol>
    </full-instructions>
    <short-instructions>
      <p>Enter description of the labels that workers have to choose from</p>
      <p><br></p><p><br></p><p>Add examples to help workers understand the label</p>
      <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>
    </short-instructions>
  </crowd-classifier>
  </crowd-form>
```

## 텍스트 분류 출력 데이터
<a name="sms-text-classification-output-data"></a>

텍스트 분류 레이블 지정 작업을 생성하면 출력 데이터는 API 사용 시 `S3OutputPath` 파라미터에 지정된 Amazon S3 버킷 또는 콘솔의 **작업 개요** 섹션의 **출력 데이터세트 위치** 필드에 있습니다.

Ground Truth에서 생성된 출력 매니페스트 파일 및 Ground Truth에서 출력 데이터 저장에 사용하는 파일 구조에 대한 자세한 내용은 [작업 출력 데이터 레이블 지정](sms-data-output.md) 섹션을 참조하세요.

텍스트 분류 레이블 지정 작업에 대한 출력 매니페스트 파일의 예제를 보려면 [분류 작업 출력](sms-data-output.md#sms-output-class) 섹션을 참조하세요.

# 텍스트 분류를 사용하여 텍스트 분류(다중 레이블)
<a name="sms-text-classification-multilabel"></a>

기사 및 텍스트를 미리 정의된 여러 범주로 분류하려면 다중 레이블 텍스트 분류 작업 유형을 사용합니다. 예를 들어, 이 작업 유형을 사용하여 텍스트로 전달된 둘 이상의 감정을 식별할 수 있습니다. 다음 섹션에서는 콘솔 및 API에서 다중 레이블 텍스트 분류 작업을 생성하는 방법에 대한 정보를 제공합니다.

다중 레이블 텍스트 분류 작업을 수행할 때 작업자는 적용 가능한 모든 레이블을 선택해야 하며, 최소 하나 이상의 레이블은 선택해야 합니다. 이 작업 유형을 사용하여 작업을 생성할 때 최대 50개의 레이블 범주를 제공할 수 있습니다.

Amazon SageMaker Ground Truth에서는 레이블이 적용되지 않는 ‘없음’ 범주를 제공하지 않습니다. 작업자에게 이 옵션을 제공하려면 다중 레이블 텍스트 분류 작업을 생성할 때 "없음" 또는 "기타"와 유사한 레이블을 포함합니다.

작업자가 각 문서 또는 텍스트 선택에 대해 단일 레이블을 선택하도록 제한하려면 [텍스트 분류로 텍스트 범주화(단일 레이블)](sms-text-classification.md) 작업 유형을 사용합니다.

**중요**  
입력 매니페스트 파일을 수동으로 생성하는 경우 레이블을 지정하려는 텍스트를 식별하는 데 `"source"`를 사용하세요. 자세한 내용은 [입력 데이터](sms-data-input.md) 섹션을 참조하세요.

## 다중 레이블 텍스트 분류 레이블 지정 작업 생성(콘솔)
<a name="sms-creating-multilabel-text-classification-console"></a>

[레이블 지정 작업 생성(콘솔)](sms-create-labeling-job-console.md) 지침에 따라 Amazon SageMaker AI 콘솔에서 다중 레이블 텍스트 분류 레이블링 작업을 생성하는 방법을 학습할 수 있습니다. 10단계에서 **작업 범주** 드롭다운 메뉴에서 **텍스트**를 선택하고 작업 유형으로 **텍스트 분류(다중 레이블)**를 선택합니다.

Ground Truth에서는 작업에 레이블을 지정할 때 다음과 유사한 작업자 UI를 제공합니다. 콘솔을 사용하여 레이블 지정 작업을 생성할 때 작업자가 작업을 완료하는 데 도움이 되는 지침과 작업자가 선택할 수 있는 레이블을 지정합니다.

![\[Amazon SageMaker AI 콘솔에서 다중 레이블 텍스트 분류 레이블링 작업을 생성하는 방법을 보여주는 Gif.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/sms/gifs/multi-label-text.gif)


## 다중 레이블 텍스트 분류 레이블 지정 작업 생성(API)
<a name="sms-creating-multilabel-text-classification-api"></a>

다중 레이블 텍스트 분류 레이블 지정 작업을 생성하려면 SageMaker API 작업 `CreateLabelingJob`을 사용합니다. 이 API는 모든 AWS SDKs에 대해이 작업을 정의합니다. 이 작업에 지원되는 언어별 SDK 목록을 보려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)의 **참고 항목** 섹션을 검토하세요.

[레이블 지정 작업 생성(API)](sms-create-labeling-job-api.md)의 지침에 따라 요청을 구성하는 동안 다음을 수행합니다.
+ 이 작업 유형에 대한 주석 전 Lambda 함수는 `PRE-TextMultiClassMultiLabel`로 끝납니다. 해당 리전의 주석 전 Lambda ARN을 찾으려면 [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)을 참조하세요.
+ 이 작업 유형에 대한 주석 통합 Lambda 함수는 `ACS-TextMultiClassMultiLabel`로 끝납니다. 해당 리전에 대한 주석 통합 Lambda ARN을 찾으려면 [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)을 참조하세요.

다음은 미국 동부(버지니아 북부) 리전에 레이블 지정 작업을 생성하는 [AWS Python SDK(Boto3) 요청](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)의 예시입니다. 빨간색으로 된 모든 파라미터는 사양과 리소스로 대체해야 합니다.

```
response = client.create_labeling_job(
    LabelingJobName='example-multi-label-text-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda::function:PRE-TextMultiClassMultiLabel,
        'TaskKeywords': [
            'Text Classification',
        ],
        'TaskTitle': 'Multi-label text classification task',
        'TaskDescription': 'Select all labels that apply to the text shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### 다중 레이블 텍스트 분류에 대한 템플릿 생성
<a name="custom-template-multi-label-text-classification"></a>

API를 사용하여 레이블 지정 작업을 생성하는 경우 `UiTemplateS3Uri`의 작업자 태스크 템플릿을 제공해야 합니다. 다음 템플릿을 복사하고 수정합니다. [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) 및 `header`만 수정합니다.

이 템플릿을 S3에 업로드하고 `UiTemplateS3Uri`에서 이 파일에 대한 S3 URI를 제공합니다.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier-multi-select
    name="crowd-classifier-multi-select"
    categories="{{ task.input.labels | to_json | escape }}"
    header="Please identify all classes in the below text"
  >
    <classification-target style="white-space: pre-wrap">
      {{ task.input.taskObject }}
    </classification-target>
    <full-instructions header="Classifier instructions">
      <ol><li><strong>Read</strong> the text carefully.</li>
      <li><strong>Read</strong> the examples to understand more about the options.</li>
      <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol>
    </full-instructions>
    <short-instructions>
      <p>Enter description of the labels that workers have to choose from</p>
      <p><br></p>
      <p><br></p><p>Add examples to help workers understand the label</p>
      <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>
    </short-instructions>
  </crowd-classifier-multi-select>
  </crowd-form>
```

사용자 지정 템플릿을 생성하는 방법은 [사용자 지정 레이블 지정 워크플로](sms-custom-templates.md) 섹션을 참조하세요.

## 다중 레이블 텍스트 분류 출력 데이터
<a name="sms-text-classification-multi-select-output-data"></a>

다중 레이블 텍스트 분류 레이블 지정 작업을 생성하면 출력 데이터는 API 사용 시 `S3OutputPath` 파라미터에 지정된 Amazon S3 버킷 또는 콘솔의 **작업 개요** 섹션의 **출력 데이터세트 위치** 필드에 있습니다.

Ground Truth에서 생성된 출력 매니페스트 파일 및 Ground Truth에서 출력 데이터 저장에 사용하는 파일 구조에 대한 자세한 내용은 [작업 출력 데이터 레이블 지정](sms-data-output.md) 섹션을 참조하세요.

다중 레이블 텍스트 분류 레이블 지정 작업에 대한 출력 매니페스트 파일의 예제를 보려면 [다중 레이블 분류 작업 출력](sms-data-output.md#sms-output-multi-label-classification) 섹션을 참조하세요.