Skip to content

데이터 어노테이션이란?

데이터 어노테이션에 대한 쉬운 입문서. 그것이 무엇인지, 주요 작업 유형(분류, 스팬 라벨링, 순위 매기기, 자유 서술), 그리고 Potato로 어노테이션 프로젝트를 진행하는 방법을 설명합니다.

데이터 어노테이션이란 원시 데이터, 즉 텍스트·이미지·오디오·동영상·모델 출력에 라벨을 붙여, 그 데이터를 측정하거나 비교하거나 머신러닝 모델을 학습·평가하는 데 사용할 수 있도록 만드는 작업입니다. 라벨은 트윗에 대한 감정 카테고리, 문장 안에서 강조 표시된 이름, 챗봇 응답에 대한 1~5점 품질 평가, 사진 속 보행자를 둘러싼 바운딩 박스 등이 될 수 있습니다.

어노테이션은 데이터 라벨링, 태깅, 또는 코딩(사회과학에서 쓰이는 용어)이라고도 불립니다. Wikipedia의 데이터 어노테이션과 관련 개념인 라벨이 부여된 학습 데이터를 참고하십시오.

왜 중요한가

지도 학습 머신러닝은 이미 정답을 담고 있는 예시로부터 학습합니다. 그 정답의 품질이 모델 품질의 상한을 정하기 때문에, 세심한 어노테이션은 프로젝트에서 가장 큰 지렛대 역할을 하는 부분인 경우가 많습니다. 어노테이션은 모델을 평가하는 방법이기도 합니다. AI 시스템이 올바른지 알려면 보통 사람이 그 출력을 판단해야 합니다.

주요 어노테이션 작업 유형

대부분의 프로젝트는 몇 가지 계열에 속합니다. 각 계열은 Potato의 하나 이상의 어노테이션 컨트롤에 대응합니다(어노테이션 스킴 참고).

  • 분류: 항목 전체에 대해 하나 이상의 카테고리를 고릅니다. 예: 이 리뷰는 긍정인가, 부정인가, 중립인가? 텍스트 분류를 참고하십시오.
  • 스팬 라벨링: 문장 속의 이름이나 오디오 클립의 일부처럼 항목 내부의 영역을 표시합니다. 스팬 어노테이션을 참고하십시오.
  • 평가와 점수 매기기: 1~5점 품질 판단처럼 항목을 척도 위에 배치합니다. 평가 척도를 참고하십시오.
  • 순위 매기기와 비교: 항목을 정렬하거나 둘 중 더 나은 것을 고릅니다. 쌍별 비교와 베스트–워스트 척도법을 참고하십시오.
  • 구조적 어노테이션: 스팬을 관계로 연결하거나, 공참조 사슬을 만들거나, 이벤트를 어노테이션합니다. 관계 및 이벤트 추출을 참고하십시오.
  • 자유 서술: 설명, 수정, 또는 전사를 작성합니다.

최소한의 예시

Potato에서 감정 작업은 몇 줄의 YAML입니다. annotation_schemes 블록이 어노테이터에게 보이는 라벨을 정의합니다.

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral

이것이 인터페이스 정의의 전부입니다. 데이터를 준비하고 potato start를 실행하면 어노테이터는 브라우저에서 라벨을 답니다.

프로젝트는 보통 이렇게 진행됩니다

  1. 작업을 정의합니다. 질문과 라벨 집합을 적습니다.
  2. 가이드라인을 작성합니다. 어노테이터에게 규칙과 예시를 제시합니다. 어노테이션 가이드라인 작성법을 참고하십시오.
  3. 파일럿을 진행합니다. 작은 배치를 라벨링하고, 불일치를 찾고, 가이드라인을 다듬습니다.
  4. 중복을 두고 어노테이션합니다. 여러 사람이 같은 항목을 라벨링하게 하여 일치도를 측정할 수 있도록 합니다.
  5. 일치도를 측정합니다. 어노테이터 간 일치도를 참고하십시오.
  6. 판정하고 내보냅니다. 불일치를 해소하고 학습이나 분석용으로 내보냅니다.

더 읽을거리