BLOG

Amazon SageMaker Ground Truth을 사용법… 개체명 인식을 위한 데이터 레이블링 워크 플로우 추가하기
작성일: 2019-09-04

AWS re : Invent 2018에서 발표Amazon SageMaker Ground Truth를 사용하면 기계 학습 (ML, machine learning) 시스템을 교육하는 데 필요한 데이터 세트를 효율적이고 정확하게 레이블링 할 수 있습니다. Ground Truth는 레이블링 워크 플로가 포함되어 있고, 레이블링 작업자는 작업을 단계별로 수행하거나 성과를 얻을 수 있도록 도와주는 도구를 이용하는 것이 가능합니다. 내장된 워크 플로는 객체 감지, 이미지 분류, 텍스트 분류 및 시맨틱 세분화 레이블 작업에서 사용 가능합니다.

 

AWS는 최근 새로운 사용 사례인 NER(named entity recognition)에 대한 지원을 시작했습니다. NER이란 텍스트 데이터를 선별하여 고유 표현이라고 불리는 명사구를 특정하고, “사람”, “조직” 또는 “브랜드”와 같은 레이블로 각각 분류하는 작업 입니다. 예를 들어, “나는 최근 Amazon Prime에 등록했다”라는 문장이 있는 경우, “Amazon Prime”이 고유 표현으로 여겨져, 브랜드로 분류됩니다.

 

이러한 사용 사례를 확장하고 미리 규정된 라벨을 사용하여 더 긴 텍스트 레이블링이나 배열 분류가 가능합니다. 예를 들어, 다음 스크린 샷을 보시면 성능 평가의 문장에서 Amazon 리더십 원칙인 “Customer Obsession”에 대한 언급 부분이 특정되어 있습니다.

 

개요

오늘 게시 글에서는 NER 레이블링 작업 방법에 대해 설명해 드리겠습니다.

  1. 데이터 세트를 수집합니다.
  2. 레이블링 작업을 만듭니다.
  3. 인력을 선택합니다.
  4. 작업 지침을 작성합니다.

 

이 예시에서 NER 레이블링 작업은 데이터 세트에서 브랜드 이름을 식별하는 것입니다. 샘플 데이터 세트로써 Amazon Twitter 계정에서 10개의 트윗을 준비했습니다만, 자유롭게 자신의 데이터 세트를 가져와 사용 사례와 관련된 특정 NER 레이블링 작업을 정의해도 좋습니다.

 

전제 조건

다음의 순서를 수행하기 위해서는 AWS 계정이 있어야 하며 AWS 서비스에 액세스해야 합니다.

 

1 단계 : 데이터 세트 수집 및 Amazon S3에 데이터 저장

레이블링할 데이터 세트를 수집하여 텍스트 파일에 저장한 다음 파일을 Amazon S3에 업로드 합니다. 예를 들어, 트윗 10 개를 모아, 트윗마다 행 바꿈으로 구분된 텍스트 파일에 저장한 다음, 텍스트 파일을 “ner-blog”라는 S3 버킷에 업로드 합니다. 참고로, 업로드 한 텍스트 파일의 트윗이 포함된 박스를 아래와 같이 표시합니다.

Don’t miss the 200th episode of Today’s Deals Live TODAY! Tune in to watch our favorite moments and celebrate our 200th episode milestone! #AmazonLive (link: https://amzn.to/2JQ2vDm) amzn.to/2JQ2vDmIt’s the thought that counts, but our Online Returns Center makes gift exchanges and returns simple (just in case!) https: (link: https://amzn.to/2l6qYKG) amzn.to/2l6qYKGDid you know you can trade in select Apple, Samsung, and other tablets? With the Amazon Trade-in program, you can receive an Amazon Gift Card + 25% off toward a new Fire tablet when you trade in your used tablets. (link: https://amzn.to/2Ybdu1Y) amzn.to/2Ybdu1YThank you, Prime members, for making this #PrimeDay the largest shopping event in our history! You purchased more than 175 million items, from devices to groceries!Hip hip for our Belei charcoal mask! This staple in our skincare line is a @SELFMagazine 2019 Healthy Beauty Award winner.Looking to take your photography skills to the next level? Check out (link: http://amazon.com/primeday) amazon.com/primeday for an amazing camera deal.Is a TV on your #PrimeDay wish list? Keep your eyes on (link: http://amazon.com/primeday) amazon.com/primeday for a TV deal soon.Improve your musical talents by staying in tune on (link: http://amazon.com/primeday) amazon.com/primeday for an acoustic guitar deal launching soon..@LadyGaga’s new makeup line, @HausLabs, is available now for pre-order! #PrimeDay (link: http://amazon.com/hauslabs) amazon.com/hauslabs#PrimeDay ends tonight, but the parade of deals is still going strong. Get these deals while they’re still hot! (link: https://amzn.to/2lgqZM3) amzn.to/2lgqZM3

 

2 단계 : 레이블링 작업 생성

  1. Amazon SageMaker의 콘솔에서 [Labeling jobs] , [Create labeling job]의 순으로 선택 합니다.
  2. 입력 데이터 셋 장소를 셋업 하기 위해 [Create manifest file]을 선택합니다.
  3. 1단계에서 업로드 한 텍스트 파일이 있는 S3의 장소를 지정하여, [Text], [Create]을 선택합니다.
  4. 작성 프로세스가 완료되면, [Use this manifest]를 선택하고, 아래의 필드에 입력 합니다.
  • Job name – 커스텀 값
  • Input dataset location – 레이블링 하는 텍스트 파일이 있는 S3장소 (이 필드는 전 단계의 작업에 의해 입력되어 있을 것 입니다)
  • Output dataset location – Amazon SegeMaker에서 라벨과 작업의 메타 데이터가 송신된 S3의 장소
  • IAM 역할 – 이 작업의 입력 데이터 세트와 출력 데이터 세트가 있는 S3장소에 대해 읽기 및 쓰기 권한을 가진 역할
  1. [Task type]의 [Task Category]에서 [Text]를 선택합니다.
  2. [Task selection]에서 [Named entity recognition]을 선택합니다.

 

3 단계 : 레이블링 작업 인력 선택

작업 인력의 인터페이스는 3가지 근무 유형이 있습니다.

 

이 콘솔에는 작업 당 요금 및 데이터 세트당 작업자 수 등의 그 외 작업자 설정이 있습니다.

 

이 데모에서는 퍼블릭을 사용합니다. 작업당 가격은 $0.024로 설정해 주십시오. Mechanical Turk의 작업자는 브랜드를 특정하는 비교적 단순한 이 작업을 1트윗당 5~7초 안에 실행합니다.

 

데이터 세트 오브젝트 마다의 작업자 수(이 경우에서는 1개의 트윗)는 기본값을 사용합니다. 이번에는 3 입니다. SageMaker Ground Truth는 3명의 작업자에 대해 각 트윗에 레이블링을 실행하도록 지시하고 이들 3 작업자의 응답을 1개의 고밀도 라벨에 통합 합니다. 통합 접근 방식에 대한 자세한 내용은 주석 통합을 참고하십시오.

 

4 단계 : 레이블링 작업 지시 작성

매우 중요한 것으로, 레이블링 지침을 효과적으로 하기 위해서는 종종 상당히 많은 반복과 실험을 필요로 합니다. 고품질 지시를 작성하는 모범 사례에 대해 알아보시려면 Amazon SageMaker Ground Truth의 레이블링 작업용 고품질 지침 생성하기 참고해 주십시오. 오늘 예시에서는 트윗 내의 브랜드 이름을 식별하는 데 중점을 두었습니다. 트윗에 브랜드 이름이 없는 경우 작업자는 트윗에 브랜드가 없음을 표시하는 옵션을 가지고 있습니다.

 

레이블링 지침의 예시는 다음 스크린 샷에 나와 있습니다.

 

결론

오늘 게시 글에서는 Amazon SageMaker Ground Truth 데이터 레이블링의 소개와 함께 데이터 세트 수집, NER 레이블링 작업 생성, 인력 선택, 지침 생성 및 작업 시작 방법을 설명해 드렸습니다. 이는 10개의 트윗을 사용한 소규모 레이블링 작업입니다. Mechanical Turk 직원이 있다면, 1 시간 이내에 작업을 완료할 수 있었을 겁니다. 여러분들도 AWS Management Console 을 방문하셔서 이 기능을 사용해 보시길 바랍니다!

 

 

원문 URL: https://aws.amazon.com/ko/blogs/machine-learning/adding-a-data-labeling-workflow-for-named-entity-recognition-with-amazon-sagemaker-ground-truth/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.