어노테이션 학습 경로
첫 어노테이션 연구부터 일치도 보고, LLM 및 에이전트 평가, 정성 코딩까지 Potato 가이드를 읽는 여섯 가지 순서입니다.
이 학습 경로는 첫 어노테이션 연구 실행부터 LLM 에이전트 평가와 인터뷰 코딩까지 여섯 가지 목표에 맞춰 Potato 어노테이션 가이드를 읽는 순서로 배열합니다. 각 트랙은 다섯 단계에서 여덟 단계로 이루어지며, 각 단계는 그 가이드가 가르치는 내용을 밝힙니다.
사이드바는 가이드를 주제별로 묶습니다. 아래 트랙은 독자가 무엇을 먼저 필요로 하는지에 따라 가이드 일부를 순서대로 배열하며, 한 가이드가 여러 트랙에 나올 수 있습니다. 어노테이션이 처음인 독자는 첫 번째 트랙부터 시작하세요. 뒤의 트랙은 동작하는 스킴과 지침이 있다고 가정하기 때문입니다. 어노테이션 용어집은 가이드가 쓰는 용어를 정의하고, 가이드 개요는 모든 가이드를 주제별로 나열합니다.
첫 어노테이션 연구 진행하기
첫 번째 트랙은 연구를 연구 질문에서 내보낸 레이블까지 이끕니다. 빠른 시작은 Potato를 설치하고 감성 과제를 실행하며, 읽기 전에 동작하는 서버를 원하는 독자는 빠른 시작을 먼저 해도 됩니다.
- 데이터 어노테이션이란? 분류부터 자유 서술 답변까지 어노테이션 과제의 각 계열은 하나 이상의 Potato 어노테이션 스킴에 대응합니다.
- 어노테이션 스킴 선택하기. 스킴은 연구가 필요로 하는 답의 종류에서 정해지며, 결정표가 Potato의 어노테이션 유형을 맞는 몇 가지로 좁혀 줍니다.
- 어노테이션용 데이터 형식 설계하기. Potato는 모든 주석을 항목 ID에 묶어 두므로 각 항목에는 안정적이고 고유한 ID와 레이블을 달 콘텐츠가 필요합니다.
- 효과적인 주석 지침 작성하기. 같은 규칙을 읽은 신중한 어노테이터 두 명이 같은 레이블을 고를 때 지침이 제 역할을 하며, 시범 운영과 수정을 반복하면 규칙이 그 수준에 이릅니다.
- 애너테이터는 몇 명이 필요한가? 중복 배정은 각 레이블의 신뢰도와 예산이 감당하는 항목 수를 맞바꾸며, 주관적인 과제는 명확한 과제보다 더 많은 중복이 필요합니다.
- 골드 스탠더드와 주의력 점검. 정답이 알려진 항목을 큐에 섞으면 각 어노테이터의 정확도를 측정하고 읽지 않고 답하는 어노테이터를 잡아낼 수 있습니다.
- 주석 서버 배포하기. 연구용 서버에는 공개 HTTPS 주소, 연구의 어노테이터만 들이는 로그인, 재시작 뒤에도 남는 저장소가 필요합니다. Prolific과 SONA에서 크라우드소싱 연구 진행하기는 유료 모집을 다룹니다.
- 머신러닝을 위한 어노테이션 내보내기. Potato는 JSONL과 CSV뿐 아니라 CoNLL과 COCO 같은 학습 형식도 쓰며, 레이블링 전에 형식을 고르면 데이터와 항목 ID를 어떻게 구조화할지 정해집니다.
트랙이 끝날 즈음 연구 설정에는 스킴, 데이터 파일, 중복 배정 설정, 주의력 점검이 담깁니다. 아래 설정은 각 부분을 추가하는 단계를 표시하며, 이 설정은 Potato 2.13.1에서 python -m potato.validate_cli --strict를 통과합니다.
annotation_task_name: "Review Sentiment"
task_dir: "."
data_files:
- "data/reviews.jsonl" # step 3: one item per line
item_properties:
id_key: id
text_key: text
annotation_schemes: # step 2: one category per review
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels: [Positive, Negative, Mixed, Neutral]
num_annotators_per_item: 3 # step 5: three labels per item
attention_checks: # step 6: one check per 25 items
enabled: true
items_file: "data/attention_checks.json"
frequency: 25
output_annotation_dir: "annotation_output/"
export_annotation_format: "jsonl" # step 8attention_checks.json의 각 레코드에는 id와 expected_answer가 필요합니다. 설정이 있는 폴더에서 potato start config.yaml을 실행하면 서버가 http://localhost:8000에서 시작됩니다.
레이블 품질 측정하고 보고하기
두 번째 트랙은 중복된 레이블을 논문이나 데이터셋 카드가 보고할 수 있는 수치로 바꿉니다. 이 트랙은 일부 항목에 어노테이터가 최소 두 명 있는 연구를 전제합니다.
- 주석자 간 일치도 설명. 일치율은 신뢰도를 과대평가하며, Cohen의 카파, Fleiss의 카파, Krippendorff의 알파는 서로 다른 연구 설계에서 우연을 보정합니다.
- 스팬 및 구조화 출력의 일치도. 스팬 과제에서는 카파가 셀 수 있는 고정된 항목 집합이 없으므로, 스팬 일치도는 부분 겹침에 대한 명시된 규칙과 함께 쌍별 F1으로 보고합니다. 바운딩 박스의 주석자 간 일치도를 측정하는 방법은 박스를 다룹니다.
- 판정과 불일치 해소. 불일치는 다수결, 전문가 판정, 어노테이터 신뢰도 모델로 해소하며, 선택은 불일치가 오류인지 신호인지에 달려 있습니다.
- 크라우드 라벨 집계: 다수결을 넘어서. Dawid–Skene과 MACE는 레이블 행렬에서 각 어노테이터의 신뢰도를 추정하고 그 추정치로 각 어노테이터의 레이블에 가중치를 둡니다.
- 주석 연구의 통계적 검정력과 표본 크기. 중복 배정은 각 레이블이 얼마나 믿을 만한지를 정하고, 항목 수는 관찰된 차이가 잡음보다 큰지를 정합니다.
- 사전 라벨링된 데이터에서 검토와 형식적 승인을 구분하는 방법. 사전 레이블이 있으면 어노테이터가 검토하든 형식적으로 승인하든 일치도가 오르며, 작업 시간이 둘을 가릅니다.
- 데이터셋과 모델 문서화: 데이터시트, 데이터 스테이트먼트, 모델 카드. 데이터시트, 데이터 스테이트먼트, 모델 카드는 누가 어떤 지침으로 데이터에 레이블을 달았는지 기록합니다.
NLP를 위한 텍스트 레이블링
세 번째 트랙은 문서 전체 레이블부터 연결된 개체까지 텍스트 과제를 다룹니다. 2단계부터 6단계는 서로 이어지며, 뒤의 각 과제는 앞 단계가 표시하는 종류의 스팬에서 작동합니다.
- 텍스트 어노테이션. 범주에서 품질 평가까지 문서 전체 레이블은 자연어 처리에서 가장 흔한 어노테이션 과제입니다.
- 스팬 어노테이션. 스팬은 텍스트 안의 레이블이 달린 구간을 표시하며 시작, 끝, 레이블로 기록됩니다.
- 개체명 인식. NER은 개체 유형이 붙은 레이블 세트를 쓰는 스팬 과제로, 표준 스킴을 도메인에 맞게 줄이고 BIO 태그가 붙은 CoNLL로 내보냅니다.
- 상호참조 해소. 상호참조는 "Marie Curie … she … the physicist."처럼 한 개체의 모든 언급을 하나의 사슬로 묶습니다.
- 관계 및 이벤트 추출. 관계는 두 개체 스팬을 유형이 있는 간선으로 잇고, 이벤트는 트리거 단어와 그 주변의 역할을 더합니다.
- 엔티티 링킹. 엔티티 링킹은 각 언급을 지식 베이스의 항목 하나에 연결하며, 예를 들어 "Paris"를 텍사스의 도시가 아니라 프랑스의 도시에 연결합니다.
- 다국어 및 저자원 언어 어노테이션. 다른 언어의 어노테이션에는 원어민, 문화를 넘어 성립하는 범주, 오른쪽에서 왼쪽으로 쓰는 문자와 비라틴 문자의 올바른 표시가 필요합니다.
이미지, 영상, 오디오 어노테이션
네 번째 트랙은 정지 이미지에서 시간 기반 미디어로 옮겨 가며 모델 사전 어노테이션으로 끝납니다. 박스와 마스크 일치도가 영상보다 먼저 나오는데, 도형의 경계 규칙이 공간 레이블에서 불일치의 대부분을 정하기 때문입니다.
- 이미지 어노테이션. 이미지 레이블은 이미지당 범주 하나부터 박스, 다각형, 랜드마크까지 있으며, 알맞은 수준은 학습시킬 모델이 필요로 하는 것에서 정해집니다.
- 이미지 분할 마스크에 주석을 다는 방법. 마스크의 불일치는 대부분 그리기 도구보다 그림자가 객체에 속하는지 같은 경계 규칙에서 나옵니다.
- 바운딩 박스의 주석자 간 일치도를 측정하는 방법. 평균 IoU는 이미지를 본 적 없는 어노테이터에게서도 크고 가운데 있는 객체에서는 높게 읽히므로, 박스 일치도에는 우연 보정이 필요합니다.
- 동영상 어노테이션. 클립은 통째로 레이블링하거나, 시간 구간으로 나누거나, 프레임 단위로 주석할 수 있습니다.
- 영상 객체 추적에 주석을 다는 방법. 추적은 프레임에 걸쳐 객체 하나에 레이블을 달며, 모델 보조 전파가 첫 마스크를 클립 전체로 이어 줍니다.
- 오디오 어노테이션. 하나의 파형 디스플레이로 클립 레이블, 시간에 정렬된 이벤트, 전사, 화자 작업을 처리합니다.
- Whisper 전사를 주석하는 방법. Whisper의
.json출력은 시간이 붙은 세그먼트를 유지하며, Potato는 변환 단계 없이 출력 파일 폴더를 읽습니다. - LLM 및 비전 사전 어노테이션. 비전 또는 언어 모델이 어노테이터가 검증할 레이블을 제안하며, 좋은 제안을 확인하는 데는 처음부터 레이블링하는 것보다 시간이 덜 듭니다.
8단계는 다른 곳에서 학습시킨 모델을 씁니다. 모델 보조 레이블링은 대신 연구 자체의 레이블로 모델을 학습시키며, 모델 학습 섹션은 상자, 윤곽, 오디오 구간, 전사를 위한 트레이너를 문서화합니다.
LLM과 에이전트 평가하기
다섯 번째 트랙은 개별 출력을 판단하는 것으로 시작해 프로덕션 트레이스를 검토하는 것으로 끝납니다. 1단계부터 4단계는 모든 생성 텍스트에 적용되고, 5단계부터 8단계는 에이전트의 경로를 더합니다.
- 생성 텍스트의 인간 평가. BLEU와 ROUGE 같은 자동 지표는 품질과 약하게 상관하며, 인간 평가는 각 기준을 정의하고 다시 실행할 만큼 충분한 세부를 보고할 때 신뢰를 얻습니다.
- 루브릭 기반 LLM 평가. 루브릭은 품질 판단 하나를 채점되는 기준들로 나누고 답변이 어느 기준에서 실패했는지 보여 줍니다.
- 모델 쌍대 비교. 많은 프롬프트에 걸친 일대일 판단은 절대 점수보다 모델의 순위를 더 믿을 만하게 매기며, Bradley–Terry나 Elo 적합이 승리를 순위로 바꿉니다.
- LLM 심판과 사람 어노테이터의 일치도를 측정하는 방법. 심판과 사람의 카파가 사람들끼리의 카파에 가까우면 심판은 다른 어노테이터와 거의 비슷하게 해냅니다.
- AI 에이전트를 평가하는 방법. 에이전트 평가는 최종 답변뿐 아니라 추론 단계에서 도구 호출과 행동까지 경로를 판단합니다.
- 에이전트 궤적 주석 달기. 궤적 레이블은 실행 전체에 대한 판단과 실패한 각 단계의 오류 범주 및 심각도를 결합합니다.
- Process Reward Model과 단계 수준 레이블링. 프로세스 보상 모델은 각 추론 단계에 점수를 매기며, PRM을 학습시키려면 각 단계가 맞는지 말해 주는 단계 수준 레이블이 필요합니다.
- LLM 및 에이전트 트레이스를 위한 사람 검토 큐. 검토 큐는 Langfuse, 웹훅, 내보내기에서 온 트레이스를 여러 검토자에게 보내고, 병합된 답을 점수로 트레이싱 도구에 다시 기록합니다.
정성 코딩
여섯 번째 트랙은 인터뷰 데이터를 녹음에서 신뢰도 통계까지 따라갑니다. QDA 모드는 이 트랙이 쓰는 Potato 기능을 설명합니다.
- 정성 코딩을 위한 인터뷰 전사문 준비하기. 녹음은 화자 레이블이 붙은 전사부터 코딩과 내보내기까지 다섯 단계를 거쳐 코딩된 발췌문이 되며, 팀은 불러오기 전에 이름과 그 밖의 식별 정보를 제거합니다.
- 정성 연구를 위한 코드북 개발. 각 코드에는 정의, 코드가 적용되는 경우와 적용되지 않는 경우의 규칙, 예시가 붙습니다. 코드북의 각 개정판에는 번호가 붙습니다.
- 질적 연구의 코더 간 신뢰도. 계수는 코딩 설계에서 정해지며, 성찰적 주제 분석은 계수 보고 자체에 반대합니다.
- Potato의 정량적 내용 분석: 코드북과 Krippendorff의 알파. 내용 분석은 단위를 고정된 변수에 따라 코딩하고 이중 코딩한 표본에서 변수마다 Krippendorff의 알파를 보고합니다.
- 정성 코딩에 LLM을 사용하고 보고하는 방법. 모델은 코드를 제안하거나, 신뢰도 표본을 코딩하거나, 코퍼스를 먼저 코딩할 수 있으며, 각 역할마다 모델과 사람 코더의 일치도를 보고해야 합니다.
- 정성 데이터 분석 소프트웨어 비교. NVivo, ATLAS.ti, MAXQDA, Taguette, QualCoder, Potato는 가격과 팀 코딩 지원에서 다릅니다. Potato는 유료 프로그램과 프로젝트를 REFI-QDA 파일로 주고받습니다.
더 읽을거리
- 어노테이션 용어집, 모든 트랙에서 쓰는 용어의 정의
- 가이드 개요, 주제별로 묶은 모든 가이드
- 빠른 시작, 몇 분 안에 Potato 서버를 띄우기
- potato-skill: 코딩 에이전트로 어노테이션 연구 만들기, 연구를 코딩 에이전트에 설명하고 설정을 돌려받기
- 쇼케이스, 트랙을 시작할 바로 실행 가능한 디자인