

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

# 명명된 엔터티 인식을 사용하여 텍스트 정보 추출
<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)을 참조하세요.