Skip to content

Aufgabenzuweisung

Steuern Sie, wie Potato Annotationselemente an Annotatoren verteilt. Behandelt alle Zuweisungsstrategien einschließlich der benutzerdefinierten Batch-Strategie für Studien mit wiederholten Runden sowie das Zurückholen aufgegebener Zuweisungen von Prolific- oder durch QC gesperrten Bearbeitern.

Die Aufgabenzuweisung steuert, welche Elemente jeder Annotator sieht, wie viele er bearbeitet, wie viele Annotationen jedes Element erhält und in welcher Reihenfolge die Elemente erscheinen. Diese Seite behandelt die Zuweisungsstrategien von Potato, die benutzerdefinierte Batch-Strategie für Studiendesigns mit wiederholten Runden und wie man von Crowd-Bearbeitern aufgegebene Zuweisungen zurückholt.

Zuweisungsstrategien

Setzen Sie assignment_strategy auf einen der folgenden Werte:

StrategieWas sie bewirkt
randomWeist Elemente zufällig zu (Standardwert).
fixed_orderWeist Elemente in der Reihenfolge des Datensatzes zu.
least_annotatedBevorzugt Elemente mit den bisher wenigsten Annotationen.
max_diversityBevorzugt Elemente mit der größten Uneinigkeit zwischen den vorhandenen Annotationen.
diversity_clusteringBettet Elemente ein, gruppiert sie in Cluster und verteilt sie dann im Rundlaufverfahren über die Cluster.
batchBeschränkt die Zuweisung auf explizite Annotator-/Element-Kohorten (siehe unten).
priorityLiefert zuerst die Elemente mit der höchsten Priorität; siehe Triage-Warteschlange.
active_learningVerwendet ein Modell, um unsichere Elemente zu priorisieren.
yaml
assignment_strategy: random
max_annotations_per_user: 10    # -1 for unlimited
max_annotations_per_item: 3     # -1 for unlimited

Benutzerdefinierte Batch-Zuweisung

Die Strategie batch weist vordefinierte Stapel von Elementen bestimmten Annotatoren zu. Sie ist für Studiendesigns mit wiederholten Runden gebaut, bei denen dieselben Annotatoren, die einen Stapel der ersten Runde gesehen haben, den passenden Stapel der zweiten Runde erhalten müssen.

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"]

Verschieben Sie bei langen Stapeln die Instanzliste in eine separate Datendatei (json, jsonl, csv, tsv oder parquet); die IDs werden mit item_properties.id_key gelesen:

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

Elemente können auch direkt ihre zulässigen Annotatoren benennen, was nützlich ist, wenn die Daten der zweiten Runde aus den Annotationen der ersten Runde erzeugt werden:

yaml
assignment_strategy: batch
 
batch_assignment:
  annotator_key: round1_annotators

Benutzer außerhalb der konfigurierten Kohorten erhalten unter dieser Strategie keine Elemente.

Aufgegebene Zuweisungen zurückholen

In Crowdsourcing-Stapeln können Bearbeiter nach Erhalt der zugewiesenen Elemente zurückgeben, eine Zeitüberschreitung haben oder Qualitätsprüfungen nicht bestehen. Mit aktiviertem instance_reclaim gibt Potato zugewiesene, aber nicht annotierte Elemente in den Pool zurück, sodass sie erneut zugewiesen werden können.

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

Das Zurückholen läuft automatisch ab: für veraltete Zuweisungen, wenn die Zuweisung ausgeführt wird, für Prolific-Bearbeiter, deren Einreichungen den Status RETURNED, TIMED-OUT oder REJECTED annehmen, und für Benutzer, die wegen Nichtbestehens einer Aufmerksamkeitsprüfung gesperrt sind (sie geben ihre nicht annotierten Elemente sofort frei).

Sie können pro Grund entscheiden, ob die abgeschlossenen Annotationen eines zurückgeholten Bearbeiters behalten werden sollen. So können Sie der Teilarbeit eines Prolific-Bearbeiters mit Zeitüberschreitung vertrauen, während Sie alles von einem durch die Qualitätskontrolle gesperrten Bearbeiter verwerfen:

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

Wenn preserve_completed_annotations den Wert false hat, löscht Potato die Annotationen dieses Benutzers für seine zugewiesenen Elemente, entfernt seine Annotator-Anrechnung und gibt die Elemente in den Pool zurück. Die fehlgeschlagene Aufmerksamkeitsprüfungsantwort, die eine Sperre auslöst, wird niemals behalten.

Verwandte Themen

Implementierungsdetails finden Sie in der Quelldokumentation.