명명된 엔터티 인식을 사용하여 텍스트 정보 추출 - Amazon SageMaker

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

명명된 엔터티 인식을 사용하여 텍스트 정보 추출

구조화되지 않은 텍스트에서 정보를 추출하여 사전 정의된 범주로 분류하려면 Amazon SageMaker Ground Truth 명명된 엔터티 인식(NER) 레이블 지정 작업을 사용합니다. 전통적으로 NER는 명명된 엔터티라고 하는 명사 문구를 찾기 위해 텍스트 데이터를 체질하고, 각각을 '사람', '조직', '브랜드'와 같은 레이블로 분류하는 것을 포함합니다. 이 작업을 확장하여 더 긴 문자 영역에 레이블을 지정하고 사용자가 지정한 미리 정의된 레이블로 해당 시퀀스를 범주화할 수 있습니다. Amazon SageMaker 콘솔의 Ground Truth 섹션 또는 작업을 사용하여 명명된 엔터티 인식 레이블 CreateLabelingJob 지정 작업을 생성할 수 있습니다.

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

중요

입력 매니페스트 파일을 수동으로 생성하는 경우 레이블을 지정하려는 텍스트를 식별하는 데 "source"를 사용하세요. 자세한 내용은 입력 데이터 단원을 참조하십시오.

개체명 인식 레이블 지정 작업 생성(콘솔)

지침에 따라 SageMaker 콘솔에서 명명된 엔터티 인식 레이블 지정 작업을 생성하는 방법을 레이블 지정 작업 생성(콘솔) 알아볼 수 있습니다. 10단계에서 작업 범주 드롭다운 메뉴에서 텍스트를 선택하고 작업 유형으로 개체명 인식을 선택합니다.

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

SageMaker 콘솔에서 명명된 엔터티 인식 레이블 지정 작업을 생성하는 방법을 보여주는 Gif입니다.

명명된 엔터티 인식 레이블 지정 작업 생성(API)

작업을 사용하여 SageMaker API 명명된 엔터티 인식 레이블 지정 작업을 생성합니다CreateLabelingJob. 이는 모든 에 대해 이 작업을 API 정의합니다 AWS SDKs. 이 작업에 SDKs 지원되는 언어별 목록을 보려면 의 또한 섹션을 참조하세요CreateLabelingJob.

레이블 지정 작업 생성(API)의 지침에 따라 요청을 구성하는 동안 다음을 수행합니다.

  • 이 작업 유형에 대한 주석 전 Lambda 함수는 PRE-NamedEntityRecognition로 끝납니다. 리전의 사전 주석 LambdaARN를 찾으려면 PreHumanTaskLambdaArn 섹션을 참조하세요.

  • 이 작업 유형에 대한 주석 통합 Lambda 함수는 ACS-NamedEntityRecognition로 끝납니다. 리전의 주석 통합 LambdaARN를 찾으려면 섹션을 참조하세요AnnotationConsolidationLambdaArn.

  • 에 ARN 대해 다음을 제공해야 합니다HumanTaskUiArn.

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

    레이블 지정 작업을 생성하는 데 사용하는 AWS 리전aws-region으로 를 바꿉니다. 예를 들어 미국 서부(캘리포니아 북부)에서 레이블 지정 작업을 생성하는 경우 us-west-1을 사용합니다.

  • instructions 파라미터를 사용하여 레이블 범주 구성 파일에 작업자 지침을 제공하세요. shortInstructionfullInstruction 필드에 문자열 또는 HTML 마크업 언어를 사용할 수 있습니다. 자세한 내용은 레이블 범주 구성 파일에 작업자 지침 제공하기를 참조하세요.

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

다음은 미국 동부AWS SDK(버지니아 북부) 리전에서 레이블 지정 작업을 생성하기 위한 Python(Boto3) 요청의 예입니다. 빨간색으로 된 모든 파라미터는 사양과 리소스로 대체해야 합니다.

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' }, ] )

레이블 범주 구성 파일에 작업자 지침 제공하기

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

instructions 파라미터의 shortInstructionfullInstruction을 각각 사용하여 짧고 긴 지침을 제공합니다. 이러한 명령 유형에 대해 자세히 알아보려면 지침 페이지 생성을 참고하세요.

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

{ "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>" } }

개체명 인식 출력 데이터

명명된 엔터티 인식 레이블 지정 작업을 생성하면 콘솔의 작업 개요 섹션에서 API 또는 출력 데이터 세트 위치 필드를 사용할 때 S3OutputPath 파라미터에 지정된 Amazon S3 버킷에 출력 데이터가 위치합니다.

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