Skip to content

Segments d'erreur

Construisez des interfaces d'annotation d'erreurs de style MQM dans Potato pour l'évaluation de la qualité des traductions, le marquage d'erreurs textuelles et l'annotation de segments d'erreur typés avec notation de gravité.

Le schéma d'annotation de segments d'erreur fournit une interface de style MQM (Multidimensional Quality Metrics) pour marquer les erreurs dans un texte avec des catégories typées et des niveaux de gravité. Ce schéma convient à l'évaluation de la qualité des traductions, à la relecture éditoriale, à l'appréciation de la qualité des contenus, et à toute tâche demandant une annotation d'erreurs à grain fin.

Interface de segments d'erreur de Potato, marquant des erreurs de traduction avec des scores de gravitéLes segments d'erreur dans Potato

Vue d'ensemble

Le schéma de segments d'erreur propose :

  • Des catégories d'erreur typées, avec des sous-types facultatifs pour une classification détaillée
  • Des niveaux de gravité avec des retraits de points configurables
  • Un score de qualité courant qui baisse à mesure que des erreurs sont marquées
  • Des segments codés par couleur qui distinguent visuellement les types d'erreur et les gravités

Les annotateurs sélectionnent des segments de texte, leur attribuent un type d'erreur et une gravité, et le système calcule automatiquement un score de qualité.

Démarrage rapide

yaml
annotation_schemes:
  - annotation_type: error_span
    name: translation_errors
    description: Mark all errors in the translation below.
    error_types:
      - name: Accuracy
      - name: Fluency
      - name: Terminology
    show_score: true
    max_score: 100

Options de configuration

ChampTypeDéfautDescription
annotation_typestringObligatoireDoit valoir "error_span"
namestringObligatoireIdentifiant unique de ce schéma
descriptionstringObligatoireConsignes affichées aux annotateurs
error_typesarrayObligatoireListe d'objets de type d'erreur, chacun avec un name et un tableau subtypes facultatif
severitiesarray[{name: "Minor", weight: -1}, {name: "Major", weight: -5}, {name: "Critical", weight: -10}]Liste des niveaux de gravité, avec name et weight (points retirés)
show_scorebooleantrueAffiche un score de qualité courant
max_scoreinteger100Score de qualité de départ, avant retraits

Exemples

Qualité de traduction (MQM)

yaml
annotation_schemes:
  - annotation_type: error_span
    name: mqm_errors
    description: >
      Mark all errors in the machine translation.
      Select the error span, choose a category and severity.
    error_types:
      - name: Accuracy
        subtypes:
          - Mistranslation
          - Addition
          - Omission
          - Untranslated
      - name: Fluency
        subtypes:
          - Grammar
          - Spelling
          - Punctuation
          - Register
      - name: Terminology
        subtypes:
          - Inconsistent
          - Wrong Term
      - name: Style
    severities:
      - name: Minor
        weight: -1
      - name: Major
        weight: -5
      - name: Critical
        weight: -10
    show_score: true
    max_score: 100

Relecture éditoriale

yaml
annotation_schemes:
  - annotation_type: error_span
    name: editing_errors
    description: Mark all issues that need editing in this article.
    error_types:
      - name: Factual Error
      - name: Grammar
        subtypes:
          - Subject-Verb Agreement
          - Tense
          - Pronoun Reference
      - name: Style
        subtypes:
          - Wordiness
          - Passive Voice
          - Jargon
      - name: Formatting
    severities:
      - name: Suggestion
        weight: -1
      - name: Required Fix
        weight: -5
    show_score: false

Annotation de revue de code

yaml
annotation_schemes:
  - annotation_type: error_span
    name: code_errors
    description: Mark issues in this code snippet.
    error_types:
      - name: Bug
        subtypes:
          - Logic Error
          - Off-by-One
          - Null Reference
      - name: Style
        subtypes:
          - Naming
          - Formatting
      - name: Security
        subtypes:
          - Injection
          - Exposure
      - name: Performance
    severities:
      - name: Nitpick
        weight: -1
      - name: Warning
        weight: -3
      - name: Blocker
        weight: -10
    max_score: 100
    show_score: true

Format de sortie

json
{
  "translation_errors": {
    "labels": {
      "errors": [
        {
          "start": 12,
          "end": 25,
          "text": "incorrectly translated",
          "error_type": "Accuracy",
          "subtype": "Mistranslation",
          "severity": "Major"
        },
        {
          "start": 45,
          "end": 52,
          "text": "the the",
          "error_type": "Fluency",
          "subtype": "Grammar",
          "severity": "Minor"
        }
      ],
      "score": 94
    }
  }
}

Le score vaut max_score plus la somme de tous les poids de gravité.

Bonnes pratiques

  1. Délimitez clairement les types d'erreur : les annotateurs ne devraient pas peiner à trancher entre deux types d'erreur ; donnez des exemples dans la description
  2. Utilisez les sous-types pour la granularité : les types de premier niveau gardent l'interface simple, tandis que les sous-types permettent une analyse détaillée quand elle est nécessaire
  3. Calibrez les poids de gravité avec soin : les rapports entre poids doivent refléter l'impact réel ; une erreur critique doit coûter nettement plus cher qu'une erreur mineure
  4. Réglez max_score en fonction de la longueur du texte : sur des textes courts, un max_score plus bas évite qu'une seule erreur pèse démesurément
  5. Fournissez des consignes d'annotation : l'annotation de style MQM gagne beaucoup à des consignes détaillées, avec des exemples de chaque type d'erreur et de chaque gravité

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.