Qu'est-ce que l'annotation de données ?
Une introduction en langage clair à l'annotation de données : ce que c'est, les principaux types de tâches (classification, étiquetage de segments, classement, texte libre) et comment mener un projet d'annotation avec Potato.
L'annotation de données est le processus consistant à attacher des étiquettes à des données brutes — texte, images, audio, vidéo ou sorties de modèles — afin que ces données puissent être mesurées, comparées, ou utilisées pour entraîner et évaluer des modèles d'apprentissage automatique. Une étiquette peut être une catégorie de sentiment sur un tweet, un nom surligné dans une phrase, une note de qualité de 1 à 5 sur la réponse d'un agent conversationnel, ou un cadre englobant autour d'un piéton sur une photo.
L'annotation est parfois appelée étiquetage de données, marquage ou codage (le terme employé en sciences sociales). Voir Annotation de données et la notion connexe de jeu d'entraînement étiqueté sur Wikipédia.
Pourquoi c'est important
L'apprentissage automatique supervisé apprend à partir d'exemples qui portent déjà la bonne réponse. La qualité de ces réponses fixe un plafond à la qualité du modèle ; une annotation soignée est donc souvent la partie d'un projet où l'effet de levier est le plus fort. L'annotation est aussi la façon dont on évalue un modèle : pour savoir si un système d'IA est correct, une personne doit généralement juger ses sorties.
Les principaux types de tâche d'annotation
La plupart des projets relèvent de quelques familles. Chacune correspond à un ou plusieurs contrôles d'annotation de Potato (voir Schémas d'annotation).
- Classification : choisir une ou plusieurs catégories pour un élément entier. Exemple : cet avis est-il positif, négatif ou neutre ? Voir Classification de texte.
- Étiquetage de segments : marquer une région à l'intérieur d'un élément, comme un nom dans une phrase ou une portion d'un extrait audio. Voir Annotation de segments.
- Notation et scoring : placer un élément sur une échelle, comme un jugement de qualité de 1 à 5. Voir Échelles de notation.
- Classement et comparaison : ordonner des éléments ou choisir le meilleur de deux. Voir Comparaison par paires et échelle meilleur–pire.
- Annotation structurée : relier des segments en relations, construire des chaînes de coréférence ou annoter des événements. Voir Extraction de relations et d'événements.
- Texte libre : rédiger une explication, une correction ou une transcription.
Un exemple minimal
Une tâche de sentiment dans Potato tient en quelques lignes de YAML. Le bloc annotation_schemes définit les étiquettes que voit l'annotateur :
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels:
- Positive
- Negative
- NeutralC'est là toute la définition de l'interface. Vous fournissez les données, vous lancez potato start, et les annotateurs étiquettent dans le navigateur.
Comment se déroule habituellement un projet
- Définissez la tâche. Notez la question et l'ensemble des étiquettes.
- Rédigez les consignes. Donnez aux annotateurs des règles et des exemples. Voir Rédiger des consignes d'annotation.
- Faites un test pilote. Étiquetez un petit lot, repérez les désaccords, affinez les consignes.
- Annotez avec recouvrement. Faites étiqueter les mêmes éléments par plusieurs personnes pour pouvoir mesurer l'accord.
- Mesurez l'accord. Voir Accord inter-annotateurs.
- Arbitrez et exportez. Résolvez les désaccords et exportez pour l'entraînement ou l'analyse.
Pour aller plus loin
- Choisir un schéma d'annotation
- Démarrage rapide, faites tourner Potato en cinq minutes
- Référence des schémas d'annotation