Skip to content

작업 배정

Potato가 주석 항목을 주석자에게 어떻게 분배하는지 제어합니다. 반복 라운드 연구를 위한 맞춤형 Batch 전략을 포함한 모든 배정 전략과, Prolific 또는 QC로 차단된 작업자가 방치한 배정을 회수하는 방법을 다룹니다.

작업 배정은 각 주석자가 어떤 항목을 보는지, 몇 개를 완료하는지, 각 항목이 몇 건의 주석을 받는지, 그리고 항목이 나타나는 순서를 제어합니다. 이 페이지에서는 Potato의 배정 전략, 반복 라운드 연구 설계를 위한 맞춤형 Batch 전략, 그리고 크라우드 작업자가 방치한 배정을 회수하는 방법을 다룹니다.

배정 전략

assignment_strategy를 다음 중 하나로 설정합니다.

전략동작
random항목을 무작위로 배정합니다(기본값).
fixed_order항목을 데이터셋 순서대로 배정합니다.
least_annotated지금까지 주석 수가 가장 적은 항목을 우선합니다.
max_diversity기존 주석 간 의견 불일치가 가장 큰 항목을 우선합니다.
diversity_clustering항목을 임베딩하고 클러스터링한 뒤, 클러스터 전반에 걸쳐 라운드 로빈 방식으로 제공합니다.
batch배정을 명시적인 주석자/항목 코호트로 제한합니다(아래 참조).
priority우선순위가 가장 높은 항목을 먼저 제공합니다. 분류 대기열을 참조하세요.
active_learning모델을 사용하여 불확실한 항목을 우선합니다.
yaml
assignment_strategy: random
max_annotations_per_user: 10    # -1 for unlimited
max_annotations_per_item: 3     # -1 for unlimited

맞춤형 Batch 배정

batch 전략은 미리 정의된 항목 배치를 특정 주석자에게 배정합니다. 이는 반복 라운드 연구 설계를 위해 만들어졌으며, 1차 라운드 배치를 본 동일한 주석자가 그에 대응하는 2차 라운드 배치를 받아야 하는 경우에 사용합니다.

yaml
assignment_strategy: batch
num_annotators_per_item: 4
 
batch_assignment:
  groups:
    - name: round1_batch_a
      annotators: ["u1", "u2", "u3", "u4"]
      instances: ["r2_item_001", "r2_item_002"]

긴 배치의 경우, 인스턴스 목록을 별도의 데이터 파일(json, jsonl, csv, tsv 또는 parquet)로 옮깁니다. ID는 item_properties.id_key로 읽습니다.

yaml
batch_assignment:
  groups:
    - name: round1_batch_a
      annotators: ["u1", "u2", "u3", "u4"]
      instances_file: batches/round1_batch_a.csv

항목에서 허용된 주석자를 직접 지정할 수도 있는데, 이는 2차 라운드 데이터가 1차 라운드 주석에서 생성될 때 유용합니다.

yaml
assignment_strategy: batch
 
batch_assignment:
  annotator_key: round1_annotators

구성된 코호트 밖에 있는 사용자는 이 전략에서 어떤 항목도 받지 않습니다.

방치된 배정 회수

크라우드소싱 배치에서는 작업자가 배정받은 항목을 받은 뒤 반환하거나 시간이 초과되거나 품질 검사에 실패할 수 있습니다. instance_reclaim을 활성화하면 Potato는 배정되었지만 주석이 달리지 않은 항목을 풀로 되돌려 다시 배정할 수 있도록 합니다.

yaml
instance_reclaim:
  enabled: true
  timeout_hours: 24
  preserve_completed_annotations: true

회수는 다음 경우에 자동으로 실행됩니다. 배정이 실행될 때 오래된 배정에 대해, 제출 상태가 RETURNED, TIMED-OUT 또는 REJECTED가 되는 Prolific 작업자에 대해, 그리고 주의 검사 실패로 차단된 사용자(이들은 주석이 달리지 않은 항목을 즉시 해제합니다)에 대해 실행됩니다.

회수된 작업자의 완료된 주석을 보존할지 여부를 사유별로 결정할 수 있습니다. 이를 통해 시간이 초과된 Prolific 작업자의 부분 작업은 신뢰하면서, 품질 관리로 차단된 작업자의 모든 것은 폐기할 수 있습니다.

yaml
instance_reclaim:
  enabled: true
  timeout_hours: 24
  preserve_completed_annotations: true   # default for reasons not overridden below
 
  prolific:
    status_policies:
      TIMED-OUT:
        preserve_completed_annotations: true
      RETURNED:
        preserve_completed_annotations: true
      REJECTED:
        preserve_completed_annotations: false
 
  quality_control:
    preserve_completed_annotations: false

preserve_completed_annotationsfalse이면 Potato는 해당 사용자가 배정받은 항목에 대한 주석을 지우고, 그 주석자 기여 기록을 제거하며, 항목을 풀로 되돌립니다. 차단을 유발한 실패한 주의 검사 응답은 결코 보존되지 않습니다.

관련 항목

구현 세부 사항은 소스 문서를 참조하세요.