Attribution des tâches
Contrôlez la distribution des instances dans Potato : séquentielle, aléatoire, recoupement uniforme et attributions personnalisées par annotateur, pour maîtriser précisément la charge de travail et la couverture.
Potato propose plusieurs stratégies d'attribution des tâches pour contrôler la façon dont les instances à annoter sont distribuées aux annotateurs.
Acheminement des instances vers les annotateurs
Vue d'ensemble
L'attribution des tâches contrôle :
- Quels éléments chaque annotateur voit
- Combien d'éléments chaque annotateur traite
- Combien d'annotations chaque élément reçoit
- L'ordre dans lequel les éléments sont présentés
Principales options de configuration
| Option | Description | Valeur par défaut |
|---|---|---|
assignment_strategy | Stratégie d'attribution des éléments | random |
max_annotations_per_user | Nombre maximal d'éléments par annotateur | illimité |
max_annotations_per_item | Nombre d'annotations visé par élément | 3 |
Stratégies d'attribution
Attribution aléatoire
Attribue les éléments au hasard, pour une distribution sans biais.
assignment_strategy: random
max_annotations_per_item: 3Convient pour : les tâches d'annotation courantes, où l'ordre n'a pas d'importance.
Attribution dans l'ordre fixe
Attribue les éléments dans l'ordre où ils apparaissent dans le jeu de données.
assignment_strategy: fixed_order
max_annotations_per_item: 2Convient pour : les tâches où les annotateurs doivent voir les éléments dans un ordre précis.
Attribution aux éléments les moins annotés
Donne la priorité aux éléments qui ont reçu le moins d'annotations, pour une répartition homogène.
assignment_strategy: least_annotated
max_annotations_per_item: 5Convient pour : garantir une couverture suffisante de tous les éléments avant qu'un élément n'accumule un nombre excessif d'annotations.
Attribution par diversité maximale
Donne la priorité aux éléments qui suscitent le plus de désaccord entre les annotations existantes.
assignment_strategy: max_diversity
max_annotations_per_item: 4Convient pour : le contrôle de la qualité et le traitement des éléments ambigus.
Attribution par apprentissage actif
Utilise l'apprentissage automatique pour prioriser les instances incertaines.
assignment_strategy: active_learning
active_learning:
enabled: true
schema_names: ["sentiment"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10Voir Apprentissage actif pour la configuration complète.
Configuration
Configuration moderne (recommandée)
# 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: 1234Configuration héritée
L'ancienne configuration automatic_assignment reste prise en charge :
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: 0Questions de test
Insérez des questions de contrôle d'attention dans la file d'annotation :
Définir des questions de test
Ajoutez _testing à l'identifiant de l'instance dans votre fichier de données :
text,id
"This is test question 1",0_testing
"Regular item",dkjfdOu en JSON :
[
{"id": "0_testing", "text": "This is a test question"},
{"id": "regular_001", "text": "Normal annotation item"}
]Configuration
automatic_assignment:
on: true
test_question_per_annotator: 2 # Insert 2 test questions per annotatorExemples de configuration
Attribution aléatoire de base
annotation_task_name: "Sentiment Analysis"
assignment_strategy: random
max_annotations_per_user: 20
max_annotations_per_item: 3Attribution axée sur la qualité
annotation_task_name: "Quality Annotation"
assignment_strategy: max_diversity
max_annotations_per_item: 5
max_annotations_per_user: 50Configuration pour le crowdsourcing
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: workerIdConfiguration pour l'apprentissage actif
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"Intégration au tableau de bord d'administration
Surveillez et ajustez les paramètres d'attribution depuis le tableau de bord d'administration :
- Rendez-vous sur
/admin - Ouvrez l'onglet Configuration
- Modifiez :
- Nombre maximal d'annotations par utilisateur
- Nombre maximal d'annotations par élément
- Stratégie d'attribution
Les changements prennent effet immédiatement, sans redémarrer le serveur.
Pour aller plus loin
- Apprentissage actif - Priorisation des attributions par apprentissage automatique
- Contrôle de la qualité - Contrôles d'attention et étalons
- Attribution par catégorie - Acheminer les éléments selon l'expertise des annotateurs
- Intégration du crowdsourcing - Intégration MTurk et Prolific
Pour les détails d'implémentation, consultez la documentation source.