Skip to content

작업 할당

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"

관리자 대시보드 통합

관리자 대시보드를 통해 할당 설정을 모니터링하고 조정합니다:

  1. /admin으로 이동합니다
  2. Configuration 탭으로 이동합니다
  3. 다음을 수정합니다:
    • 사용자당 최대 주석 수
    • 항목당 최대 주석 수
    • 할당 전략

변경 사항은 서버를 재시작하지 않고 즉시 적용됩니다.

추가 자료

구현 세부 사항은 원본 문서를 참고하십시오.