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.
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
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: 100Options de configuration
| Champ | Type | Défaut | Description |
|---|---|---|---|
annotation_type | string | Obligatoire | Doit valoir "error_span" |
name | string | Obligatoire | Identifiant unique de ce schéma |
description | string | Obligatoire | Consignes affichées aux annotateurs |
error_types | array | Obligatoire | Liste d'objets de type d'erreur, chacun avec un name et un tableau subtypes facultatif |
severities | array | [{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_score | boolean | true | Affiche un score de qualité courant |
max_score | integer | 100 | Score de qualité de départ, avant retraits |
Exemples
Qualité de traduction (MQM)
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: 100Relecture éditoriale
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: falseAnnotation de revue de code
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: trueFormat de sortie
{
"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
- 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
- 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
- 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
- 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
- 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
- Annotation de segments : étiquetage de segments général
- Liaison de segments : mise en relation de segments
- Contrôle de la qualité : tests d'attention et étalons de référence
Pour les détails d'implémentation, consultez la documentation source.