Skip to content

Error Span

Oberflächen für Fehlerannotation im MQM-Stil in Potato bauen: Übersetzungsqualität bewerten, Textfehler markieren und typisierte Fehler-Spans mit Schweregraden erfassen.

Das Annotationsschema Error Span bietet eine Oberfläche im MQM-Stil (Multidimensional Quality Metrics), um Fehler in Texten mit typisierten Kategorien und Schweregraden zu markieren. Es eignet sich für die Bewertung von Übersetzungsqualität, für Lektoratsprüfungen, für die Beurteilung von Inhaltsqualität und für alle Aufgaben, die eine feingranulare Fehlerannotation brauchen.

Error-Span-Oberfläche in Potato, in der Übersetzungsfehler mit Schweregraden markiert werdenError span in Potato

Überblick

Das Error-Span-Schema bietet:

  • Typisierte Fehlerkategorien mit optionalen Untertypen für eine genauere Einordnung
  • Schweregrade mit konfigurierbaren Punktabzügen
  • Laufende Qualitätsbewertung, die mit jedem markierten Fehler sinkt
  • Farbcodierte Spans, die Fehlertypen und Schweregrade sichtbar unterscheiden

Annotatoren wählen Textabschnitte aus und ordnen ihnen einen Fehlertyp und einen Schweregrad zu; das System berechnet daraus automatisch eine Qualitätsbewertung.

Schnellstart

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

Konfigurationsoptionen

FeldTypStandardBeschreibung
annotation_typestringPflichtMuss "error_span" sein
namestringPflichtEindeutige Kennung dieses Schemas
descriptionstringPflichtAnweisungen, die den Annotatoren angezeigt werden
error_typesarrayPflichtListe von Fehlertyp-Objekten, jeweils mit name und optionalem subtypes-Array
severitiesarray[{name: "Minor", weight: -1}, {name: "Major", weight: -5}, {name: "Critical", weight: -10}]Liste der Schweregrade mit name und weight (Punktabzug)
show_scorebooleantrueLaufende Qualitätsbewertung anzeigen
max_scoreinteger100Anfangswert der Qualitätsbewertung vor Abzügen

Beispiele

Übersetzungsqualität (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

Lektoratsprüfung

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 von Code-Reviews

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

Ausgabeformat

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
    }
  }
}

Die Bewertung ergibt sich aus max_score plus der Summe aller Schweregrad-Gewichte.

Praxistipps

  1. Fehlertypen klar abgrenzen – Annotatoren sollen nicht zwischen zwei Fehlertypen schwanken müssen; Beispiele in die Beschreibung aufnehmen
  2. Untertypen für Detailtiefe nutzen – die obersten Typen halten die Oberfläche übersichtlich, die Untertypen erlauben bei Bedarf eine genauere Auswertung
  3. Schweregrad-Gewichte sorgfältig kalibrieren – die Verhältnisse sollten die tatsächliche Auswirkung abbilden; ein kritischer Fehler muss spürbar teurer sein als ein geringfügiger
  4. max_score zur Textlänge passend wählen – bei kurzen Texten verhindert ein niedrigerer max_score, dass ein einzelner Fehler übermäßig durchschlägt
  5. Annotationsrichtlinien bereitstellen – Annotation im MQM-Stil profitiert stark von ausführlichen Richtlinien mit Beispielen für jeden Fehlertyp und jeden Schweregrad

Weiterführende Informationen

Implementierungsdetails stehen in der Quelldokumentation.