Fonctions de productivité
Accélérez l'annotation dans Potato grâce aux raccourcis clavier, aux infobulles au survol, à la mise en évidence de mots-clés assistée par IA et aux suggestions d'étiquettes, pour un meilleur débit des annotateurs.
Potato réunit plusieurs fonctions qui aident les annotateurs à travailler plus vite et plus juste : raccourcis clavier, infobulles, mise en évidence de mots-clés et suggestions d'étiquettes.
Raccourcis clavier
Raccourcis séquentiels
Pour les schémas d'annotation comptant au plus 10 options, les raccourcis peuvent être attribués séquentiellement par défaut :
annotation_schemes:
- annotation_type: radio
name: sentiment
labels: [positive, neutral, negative]
sequential_key_binding: trueLa première option correspond alors à la touche « 1 », la deuxième à « 2 », et ainsi de suite.
Raccourcis personnalisés
Pour un contrôle plus fin, définissez un raccourci sur chaque étiquette :
annotation_schemes:
- annotation_type: multiselect
labels:
- name: "Option 1"
key_value: "1"
- name: "Option 2"
key_value: "2"
- name: "Skip"
key_value: "s"Mise en évidence de mots-clés définie par l'administrateur
Aidez les annotateurs à repérer les mots et expressions pertinents en colorant le texte correspondant.
Configuration
keyword_highlights_file: data/keywords.tsvFormat du fichier TSV
Le fichier de mots-clés doit être séparé par des tabulations et comporter trois colonnes :
Word Label Schema
love positive sentiment
hate negative sentiment
excel* positive sentiment
disappoint* negative sentiment
| Colonne | Description |
|---|---|
| Word | Mot ou expression à mettre en évidence (les jokers * sont acceptés) |
| Label | Étiquette d'annotation associée à ce mot-clé |
| Schema | Nom du schéma d'annotation |
Règles de correspondance
- Insensible à la casse : « Love » correspond à « love », « LOVE » et « Love »
- Limites de mot : « love » correspond à « love » mais pas à « lovely » (sauf avec un joker)
- Jokers :
*permet une correspondance par préfixe ou par suffixe :excel*correspond à « excellent », « excels » et « excel »*happycorrespond à « unhappy » et « happy »
Définir les couleurs
Les couleurs se définissent dans la section ui.spans.span_colors :
ui:
spans:
span_colors:
sentiment:
positive: "(34, 197, 94)" # Green
negative: "(239, 68, 68)" # Red
neutral: "(156, 163, 175)" # GrayRéglages d'aléatoirisation
Pour les besoins de la recherche, vous pouvez aléatoiriser la mise en évidence des mots-clés afin que les annotateurs ne s'y fient pas aveuglément :
keyword_highlights_file: data/keywords.tsv
keyword_highlight_settings:
keyword_probability: 1.0 # Show 100% of keywords (0.0-1.0)
random_word_probability: 0.05 # Highlight 5% random words as distractors
random_word_label: "distractor"
random_word_schema: "keyword"Points clés :
- Persistance : les mots mis en évidence sont mis en cache par couple utilisateur + instance
- Aléatoirisation déterministe : la graine est un hachage du nom d'utilisateur et de l'instance_id
- Suivi comportemental : les mots mis en évidence sont enregistrés
Infobulles
Ajoutez une explication détaillée pour chaque option de réponse :
Infobulles en texte brut
annotation_schemes:
- annotation_type: multiselect
name: "Question"
labels:
- name: "Label 1"
tooltip: "This option means..."Infobulles HTML
Pour des infobulles mises en forme, pointez vers un fichier HTML :
annotation_schemes:
- annotation_type: multiselect
name: "Question"
labels:
- name: "Label 1"
tooltip_file: "config/tooltips/label1_tooltip.html"Suggestions d'étiquettes
Affichez des suggestions pour guider les annotateurs, selon deux modes :
highlight: met les étiquettes suggérées en couleurprefill: présélectionne automatiquement les étiquettes suggérées
Configuration
annotation_schemes:
- annotation_type: multiselect
name: "sentiment"
description: "What sentiment does the text express?"
labels: [positive, neutral, negative]
- annotation_type: text
name: "explanation"
description: "Why do you think so?"
rows: 4
rows: 2Format des données
Ajoutez les suggestions à vos éléments de données :
{
"id": "1",
"text": "Good Job!",
"label_suggestions": {
"sentiment": "positive",
"explanation": "Because I think "
}
}Attribution automatique des tâches
Répartissez facilement les tâches d'annotation entre les annotateurs :
automatic_assignment:
on: true
output_filename: "task_assignment.json"
sampling_strategy: "random"
labels_per_instance: 10
instance_per_annotator: 50
test_question_per_annotator: 2Intégration avec l'apprentissage actif
Les fonctions de productivité se combinent avec l'apprentissage actif pour donner la priorité aux instances les plus informatives :
active_learning:
enabled: true
schema_names: ["sentiment"]
min_annotations_per_instance: 2
min_instances_for_training: 20
update_frequency: 10Bonnes pratiques
- Utilisez les raccourcis clavier sur les tâches à gros volume - le gain de vitesse est net
- Ajoutez des infobulles sur les étiquettes complexes ou ambiguës pour réduire les incohérences
- Utilisez la mise en évidence de mots-clés pour attirer l'attention sur le texte pertinent, mais pensez à l'aléatoiriser pour la validité de l'étude
- Préremplissez les suggestions avec prudence - trop de préremplissage biaise les annotateurs
Pour aller plus loin
- Configuration de l'interface - Personnaliser l'interface
- Apprentissage actif - Priorisation fondée sur l'apprentissage automatique
- Attribution des tâches - Configurer les stratégies d'attribution
Pour les détails d'implémentation, consultez la documentation source.