Skip to content

Annotation de texte

Un guide complet de l'annotation de texte : classification, étiquetage multi-étiquettes, notation et texte libre, et comment construire chaque type de tâche textuelle dans Potato avec une configuration prête à copier.

L'annotation de texte consiste à étiqueter du langage écrit : classer des documents en catégories, marquer les thèmes d'un article, noter la qualité d'un passage ou rédiger une correction. C'est la tâche d'annotation la plus courante en traitement automatique du langage naturel, et c'est pour cela que Potato a été conçu à l'origine. Ce guide couvre les tâches textuelles portant sur le document entier ; pour marquer des régions à l'intérieur du texte, voir Annotation de segments.

Les tâches textuelles en un coup d'œil

  • Classification de documents : une étiquette pour l'ensemble du texte (classification de texte).
  • Étiquetage multi-étiquettes : plusieurs étiquettes à la fois, comme des thèmes ou des avertissements de contenu.
  • Notation et score : une position sur une échelle, comme la qualité ou l'intensité du sentiment.
  • Texte libre : une réponse rédigée, une paraphrase ou une correction.

Classification : une étiquette par document

Le cheval de bataille de l'annotation de texte. Utilisez radio lorsque les catégories sont mutuellement exclusives :

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels: [Positive, Negative, Neutral]
    sequential_key_binding: true

sequential_key_binding associe les étiquettes aux touches 1, 2, 3, pour que les annotateurs gardent les mains sur le clavier. Sur une tâche de milliers d'éléments, c'est un gain de vitesse important. Voyez le design analyse de sentiment en direct pour un exemple qui fonctionne.

Multi-étiquettes : plusieurs étiquettes à la fois

Lorsque plusieurs étiquettes peuvent s'appliquer, utilisez multiselect. Bornez le nombre de sélections pour correspondre à vos consignes :

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: content_warnings
    description: "Select every content warning that applies."
    labels: [Violence, Profanity, Sexual content, Self-harm, None]
    min_selections: 1
    max_selections: 5

La modération de contenu est une tâche textuelle multi-étiquettes classique ; le design détection de toxicité combine une catégorie avec un segment surligné.

Noter un texte sur une échelle

Pour capter le degré plutôt que la catégorie, utilisez une échelle de Likert :

yaml
annotation_schemes:
  - annotation_type: likert
    name: helpfulness
    description: "How helpful is this answer?"
    size: 5
    min_label: "Not helpful"
    max_label: "Very helpful"

Voir Échelles de notation pour les pièges de la conception d'échelles, comme le biais d'acquiescement et le nombre de points à utiliser.

Texte libre et corrections

Parfois, l'étiquette la plus utile est une phrase que l'annotateur rédige : une justification, une réécriture ou une transcription. Combinez-la avec une catégorie et ne l'affichez que lorsqu'elle est pertinente :

yaml
annotation_schemes:
  - annotation_type: radio
    name: factuality
    description: "Is the claim supported by the source?"
    labels: [Supported, Contradicted, Not enough info]
  - annotation_type: text
    name: evidence
    description: "Quote the sentence that supports your choice."
    label_requirement:
      required: false

Obtenir des étiquettes textuelles cohérentes

Le texte est ambigu, aussi la cohérence vient-elle du processus qui l'entoure, et non de l'interface :

  1. Rédigez des consignes précises, avec une option « impossible à dire ».
  2. Faites en sorte que plusieurs annotateurs se chevauchent sur les mêmes éléments.
  3. Suivez l'accord inter-annotateurs et arbitrez les désaccords.
  4. Accélérez les gros travaux avec la pré-annotation par LLM et vérifiez les suggestions à la main.

Pour aller plus loin