Affectation des tâches
Contrôlez la façon dont Potato distribue les éléments d'annotation aux annotateurs. Couvre toutes les stratégies d'affectation, y compris la stratégie Batch personnalisée pour les études à plusieurs tours, ainsi que la récupération des affectations abandonnées par les travailleurs Prolific ou bloqués par le QC.
L'affectation des tâches détermine quels éléments chaque annotateur voit, combien il en termine, combien d'annotations chaque élément reçoit et dans quel ordre les éléments apparaissent. Cette page présente les stratégies d'affectation de Potato, la stratégie Batch personnalisée pour les conceptions d'études à plusieurs tours et la manière de récupérer les affectations abandonnées par les travailleurs de crowdsourcing.
Stratégies d'affectation
Définissez assignment_strategy sur l'une des valeurs suivantes :
| Stratégie | Ce qu'elle fait |
|---|---|
random | Affecte les éléments de façon aléatoire (valeur par défaut). |
fixed_order | Affecte les éléments dans l'ordre du jeu de données. |
least_annotated | Donne la priorité aux éléments ayant reçu le moins d'annotations jusqu'à présent. |
max_diversity | Donne la priorité aux éléments présentant le plus de désaccord entre les annotations existantes. |
diversity_clustering | Plonge et regroupe les éléments en clusters, puis les sert à tour de rôle entre les clusters. |
batch | Restreint l'affectation à des cohortes explicites d'annotateurs/d'éléments (voir ci-dessous). |
priority | Sert d'abord les éléments les plus prioritaires ; voir la file de triage. |
active_learning | Utilise un modèle pour prioriser les éléments incertains. |
assignment_strategy: random
max_annotations_per_user: 10 # -1 for unlimited
max_annotations_per_item: 3 # -1 for unlimitedAffectation Batch personnalisée
La stratégie batch affecte des lots prédéfinis d'éléments à des annotateurs précis. Elle est conçue pour les études à plusieurs tours, où les mêmes annotateurs qui ont vu un lot du premier tour doivent recevoir le lot correspondant du second tour.
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"]Pour les lots longs, déplacez la liste des instances dans un fichier de données distinct (json, jsonl, csv, tsv ou parquet) ; les identifiants sont lus avec item_properties.id_key :
batch_assignment:
groups:
- name: round1_batch_a
annotators: ["u1", "u2", "u3", "u4"]
instances_file: batches/round1_batch_a.csvLes éléments peuvent aussi désigner directement leurs annotateurs autorisés, ce qui est utile lorsque les données du second tour sont générées à partir des annotations du premier :
assignment_strategy: batch
batch_assignment:
annotator_key: round1_annotatorsLes utilisateurs qui ne font pas partie des cohortes configurées ne reçoivent aucun élément avec cette stratégie.
Récupération des affectations abandonnées
Dans les lots de crowdsourcing, les travailleurs peuvent renvoyer les éléments, dépasser le délai imparti ou échouer aux contrôles de qualité après avoir reçu les éléments affectés. Avec instance_reclaim activé, Potato renvoie dans le pool les éléments affectés mais non annotés afin qu'ils puissent être affectés de nouveau.
instance_reclaim:
enabled: true
timeout_hours: 24
preserve_completed_annotations: trueLa récupération s'exécute automatiquement pour les affectations obsolètes lors de l'exécution de l'affectation, pour les travailleurs Prolific dont les soumissions passent à l'état RETURNED, TIMED-OUT ou REJECTED, et pour les utilisateurs bloqués à la suite d'un échec à un contrôle d'attention (qui libèrent immédiatement leurs éléments non annotés).
Vous pouvez décider, motif par motif, de conserver ou non les annotations terminées d'un travailleur récupéré. Cela vous permet de faire confiance au travail partiel d'un travailleur Prolific dont le délai a expiré tout en écartant tout ce que produit un travailleur bloqué par le contrôle qualité :
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: falseLorsque preserve_completed_annotations vaut false, Potato efface les annotations de cet utilisateur pour les éléments qui lui ont été affectés, retire son crédit d'annotateur et renvoie les éléments dans le pool. La réponse de contrôle d'attention défaillante qui déclenche un blocage n'est jamais conservée.
Voir aussi
- Couverture hétérogène — plafonds d'annotateurs par élément et échantillonnage de chevauchement
- Crowdsourcing — intégration MTurk et Prolific
- File de triage basée sur des signaux — la stratégie
priority
Pour les détails d'implémentation, consultez la documentation source.