데이터 어노테이션이란?
데이터 어노테이션에 대한 쉬운 입문서. 그것이 무엇인지, 주요 작업 유형(분류, 스팬 라벨링, 순위 매기기, 자유 서술), 그리고 Potato로 어노테이션 프로젝트를 진행하는 방법을 설명합니다.
데이터 어노테이션이란 원시 데이터, 즉 텍스트·이미지·오디오·동영상·모델 출력에 라벨을 붙여, 그 데이터를 측정하거나 비교하거나 머신러닝 모델을 학습·평가하는 데 사용할 수 있도록 만드는 작업입니다. 라벨은 트윗에 대한 감정 카테고리, 문장 안에서 강조 표시된 이름, 챗봇 응답에 대한 1~5점 품질 평가, 사진 속 보행자를 둘러싼 바운딩 박스 등이 될 수 있습니다.
어노테이션은 데이터 라벨링, 태깅, 또는 코딩(사회과학에서 쓰이는 용어)이라고도 불립니다. Wikipedia의 데이터 어노테이션과 관련 개념인 라벨이 부여된 학습 데이터를 참고하십시오.
왜 중요한가
지도 학습 머신러닝은 이미 정답을 담고 있는 예시로부터 학습합니다. 그 정답의 품질이 모델 품질의 상한을 정하기 때문에, 세심한 어노테이션은 프로젝트에서 가장 큰 지렛대 역할을 하는 부분인 경우가 많습니다. 어노테이션은 모델을 평가하는 방법이기도 합니다. AI 시스템이 올바른지 알려면 보통 사람이 그 출력을 판단해야 합니다.
주요 어노테이션 작업 유형
대부분의 프로젝트는 몇 가지 계열에 속합니다. 각 계열은 Potato의 하나 이상의 어노테이션 컨트롤에 대응합니다(어노테이션 스킴 참고).
- 분류: 항목 전체에 대해 하나 이상의 카테고리를 고릅니다. 예: 이 리뷰는 긍정인가, 부정인가, 중립인가? 텍스트 분류를 참고하십시오.
- 스팬 라벨링: 문장 속의 이름이나 오디오 클립의 일부처럼 항목 내부의 영역을 표시합니다. 스팬 어노테이션을 참고하십시오.
- 평가와 점수 매기기: 1~5점 품질 판단처럼 항목을 척도 위에 배치합니다. 평가 척도를 참고하십시오.
- 순위 매기기와 비교: 항목을 정렬하거나 둘 중 더 나은 것을 고릅니다. 쌍별 비교와 베스트–워스트 척도법을 참고하십시오.
- 구조적 어노테이션: 스팬을 관계로 연결하거나, 공참조 사슬을 만들거나, 이벤트를 어노테이션합니다. 관계 및 이벤트 추출을 참고하십시오.
- 자유 서술: 설명, 수정, 또는 전사를 작성합니다.
최소한의 예시
Potato에서 감정 작업은 몇 줄의 YAML입니다. annotation_schemes 블록이 어노테이터에게 보이는 라벨을 정의합니다.
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels:
- Positive
- Negative
- Neutral이것이 인터페이스 정의의 전부입니다. 데이터를 준비하고 potato start를 실행하면 어노테이터는 브라우저에서 라벨을 답니다.
프로젝트는 보통 이렇게 진행됩니다
- 작업을 정의합니다. 질문과 라벨 집합을 적습니다.
- 가이드라인을 작성합니다. 어노테이터에게 규칙과 예시를 제시합니다. 어노테이션 가이드라인 작성법을 참고하십시오.
- 파일럿을 진행합니다. 작은 배치를 라벨링하고, 불일치를 찾고, 가이드라인을 다듬습니다.
- 중복을 두고 어노테이션합니다. 여러 사람이 같은 항목을 라벨링하게 하여 일치도를 측정할 수 있도록 합니다.
- 일치도를 측정합니다. 어노테이터 간 일치도를 참고하십시오.
- 판정하고 내보냅니다. 불일치를 해소하고 학습이나 분석용으로 내보냅니다.
더 읽을거리
- 어노테이션 스킴 선택하기
- 빠른 시작, 5분 만에 Potato를 띄웁니다
- 어노테이션 스킴 레퍼런스