작업 할당
Potato에서 인스턴스 배포를 제어합니다 — 순차, 무작위, 균등 중첩, 주석자별 사용자 지정 할당으로 작업량과 커버리지를 정밀하게 관리합니다.
Potato는 주석 인스턴스가 주석자에게 어떻게 배포되는지 제어할 수 있도록 유연한 작업 할당 전략을 제공합니다.
개요
작업 할당은 다음을 제어합니다:
- 각 주석자가 보는 항목
- 각 주석자가 완료하는 항목 수
- 각 항목이 받는 주석 수
- 항목이 제시되는 순서
주요 구성 옵션
| 옵션 | 설명 | 기본값 |
|---|---|---|
assignment_strategy | 항목 할당 전략 | random |
max_annotations_per_user | 주석자당 최대 항목 수 | 무제한 |
max_annotations_per_item | 항목당 목표 주석 수 | 3 |
할당 전략
무작위 할당
항목을 주석자에게 무작위로 할당하여 편향 없는 배포를 보장합니다.
yaml
assignment_strategy: random
max_annotations_per_item: 3적합한 경우: 순서가 중요하지 않은 일반적인 주석 작업.
고정 순서 할당
데이터셋에 나타나는 순서대로 항목을 할당합니다.
yaml
assignment_strategy: fixed_order
max_annotations_per_item: 2적합한 경우: 주석자가 특정 순서로 항목을 봐야 하는 작업.
최소 주석 할당
기존 주석이 가장 적은 항목을 우선시하여 고른 배포를 보장합니다.
yaml
assignment_strategy: least_annotated
max_annotations_per_item: 5적합한 경우: 어떤 항목이 과도한 주석을 받기 전에 모든 항목이 충분한 커버리지를 받도록 보장.
최대 다양성 할당
기존 주석 간 불일치가 가장 큰 항목을 우선시합니다.
yaml
assignment_strategy: max_diversity
max_annotations_per_item: 4적합한 경우: 품질 관리 및 모호한 항목 해결.
능동 학습 할당
머신러닝을 사용하여 불확실한 인스턴스를 우선시합니다.
yaml
assignment_strategy: active_learning
active_learning:
enabled: true
schema_names: ["sentiment"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10전체 구성은 능동 학습을 참고하십시오.
구성
최신 구성 (권장)
yaml
# Strategy selection
assignment_strategy: random
# Limits
max_annotations_per_user: 10 # -1 for unlimited
max_annotations_per_item: 3 # -1 for unlimited
# Optional: nested configuration
assignment:
strategy: random
max_annotations_per_item: 3
random_seed: 1234레거시 구성
이전의 automatic_assignment 구성도 여전히 지원됩니다:
yaml
automatic_assignment:
on: true
output_filename: task_assignment.json
sampling_strategy: random # 'random' or 'ordered'
labels_per_instance: 3 # Annotations per item
instance_per_annotator: 5 # Items per annotator
test_question_per_annotator: 0테스트 질문
주의력 확인 질문을 주석 대기열에 삽입합니다:
테스트 질문 정의
데이터 파일의 인스턴스 ID에 _testing을 추가합니다:
csv
text,id
"This is test question 1",0_testing
"Regular item",dkjfd또는 JSON에서:
json
[
{"id": "0_testing", "text": "This is a test question"},
{"id": "regular_001", "text": "Normal annotation item"}
]구성
yaml
automatic_assignment:
on: true
test_question_per_annotator: 2 # Insert 2 test questions per annotator구성 예시
기본 무작위 할당
yaml
annotation_task_name: "Sentiment Analysis"
assignment_strategy: random
max_annotations_per_user: 20
max_annotations_per_item: 3품질 중심 할당
yaml
annotation_task_name: "Quality Annotation"
assignment_strategy: max_diversity
max_annotations_per_item: 5
max_annotations_per_user: 50크라우드소싱 설정
yaml
annotation_task_name: "Crowdsourced Task"
assignment_strategy: random
max_annotations_per_user: 10
max_annotations_per_item: 3
# Crowdsourcing settings
hide_navbar: true
jumping_to_id_disabled: true
login:
type: url_direct
url_argument: workerId능동 학습 설정
yaml
assignment_strategy: active_learning
active_learning:
enabled: true
schema_names: ["sentiment", "topic"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10
classifier_name: "sklearn.linear_model.LogisticRegression"
vectorizer_name: "sklearn.feature_extraction.text.TfidfVectorizer"관리자 대시보드 통합
관리자 대시보드를 통해 할당 설정을 모니터링하고 조정합니다:
/admin으로 이동합니다- Configuration 탭으로 이동합니다
- 다음을 수정합니다:
- 사용자당 최대 주석 수
- 항목당 최대 주석 수
- 할당 전략
변경 사항은 서버를 재시작하지 않고 즉시 적용됩니다.
추가 자료
- 능동 학습 - ML 기반 할당 우선순위 지정
- 품질 관리 - 주의력 확인 및 골드 스탠다드
- 카테고리 할당 - 주석자 전문성에 따라 항목 라우팅
- 크라우드소싱 통합 - MTurk 및 Prolific 통합
구현 세부 사항은 원본 문서를 참고하십시오.