Skip to content

Segmento de Erro

Crie interfaces de anotação de erros no estilo MQM no Potato para avaliação de qualidade de tradução, marcação de erros em texto e anotação de segmentos de erro tipados com pontuação de severidade.

O esquema de anotação de segmento de erro oferece uma interface no estilo MQM (Multidimensional Quality Metrics) para marcar erros no texto com categorias tipadas e níveis de severidade. Esse esquema é ideal para avaliação de qualidade de tradução, revisão de edição de texto, avaliação da qualidade de conteúdo e qualquer tarefa que exija anotação de erros refinada.

Visão Geral

O esquema de segmento de erro oferece:

  • Categorias de erro tipadas com subtipos opcionais para classificação detalhada
  • Níveis de severidade com deduções de pontos configuráveis
  • Pontuação de qualidade contínua que diminui à medida que os erros são marcados
  • Segmentos com código de cores que distinguem visualmente os tipos e severidades dos erros

Os anotadores selecionam segmentos de texto, atribuem um tipo de erro e uma severidade, e o sistema calcula automaticamente uma pontuação de qualidade.

Início Rápido

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

Opções de Configuração

CampoTipoPadrãoDescrição
annotation_typestringObrigatórioDeve ser "error_span"
namestringObrigatórioIdentificador único deste esquema
descriptionstringObrigatórioInstruções exibidas aos anotadores
error_typesarrayObrigatórioLista de objetos de tipo de erro, cada um com name e um array opcional subtypes
severitiesarray[{name: "Minor", weight: -1}, {name: "Major", weight: -5}, {name: "Critical", weight: -10}]Lista de níveis de severidade com name e weight (dedução de pontos)
show_scorebooleantrueExibe uma pontuação de qualidade contínua
max_scoreinteger100Pontuação de qualidade inicial antes das deduções

Exemplos

Qualidade de Tradução (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

Revisão de Edição de Conteúdo

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

Anotação de Revisão de Código

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

Formato de Saída

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

A pontuação é calculada como max_score mais a soma de todos os pesos de severidade.

Boas Práticas

  1. Defina limites claros entre os tipos de erro - os anotadores não devem ter dificuldade para decidir entre dois tipos de erro; forneça exemplos na descrição
  2. Use subtipos para granularidade - os tipos de nível superior mantêm a interface simples, enquanto os subtipos permitem análise detalhada quando necessário
  3. Calibre os pesos de severidade com cuidado - as proporções dos pesos devem refletir o impacto real; um erro crítico deve custar significativamente mais do que um erro menor
  4. Defina max_score de acordo com o tamanho do texto - para textos curtos, um max_score menor evita que um único erro tenha impacto desproporcional
  5. Forneça diretrizes de anotação - a anotação no estilo MQM se beneficia bastante de diretrizes detalhadas com exemplos de cada tipo de erro e severidade

Leitura Complementar

Para detalhes de implementação, consulte a documentação de origem.