Diretrizes de Anotação

O que são diretrizes de anotação (annotation guidelines)?

Diretrizes de anotação são as regras escritas que dizem aos anotadores (annotators) qual rótulo (label) atribuir a um exemplo e por quê. Boas diretrizes fazem mais do que listar nomes de rótulos: elas definem a tarefa, esclarecem casos ambíguos, limitam a subjetividade e especificam como lidar com casos-limite (edge conditions) (por exemplo, contexto ausente, entradas de baixa qualidade, múltiplas interpretações válidas).

Na maioria dos pipelines de aprendizado de máquina (machine learning, ML), as diretrizes de anotação são a ponte entre um fenômeno do mundo real (por exemplo, “insatisfação do cliente”, “um pedestre em uma imagem”, “um comentário tóxico”) e um alvo legível por máquina (machine-readable target) (classes, trechos (spans), caixas, atributos (attributes)). Se essa ponte é fraca, você obtém rótulos inconsistentes, baixo acordo e Ruído de Rótulos (Label Noise) evitável — muitas vezes mais prejudicial do que ter “menos dados”.

Por que diretrizes importam (a teoria na prática)

A anotação é um processo de medição. As diretrizes definem o instrumento de medição (measurement instrument). Como qualquer instrumento, elas controlam:

  • Validade de construto (construct validity): Você está rotulando aquilo com que realmente se importa?
  • Confiabilidade (reliability): Anotadores diferentes produziriam o mesmo rótulo? (Medido por Acordo Entre Anotadores (Inter-Annotator Agreement).)
  • Viés e justiça (bias and fairness): As regras favorecem ou desfavorecem sistematicamente certos grupos ou contextos?
  • Utilidade do modelo (model utility): Os rótulos se alinham à forma como o modelo será treinado e avaliado?

Um modo de falha comum é escrever diretrizes que são intuitivas, mas não operacionais. Por exemplo:

  • “Rotule como odioso se for odioso” não é operacional.
  • “Rotule como odioso se atacar diretamente um grupo protegido usando xingamentos, desumanização ou apelos por exclusão/violência” está mais próximo de operacional.

As diretrizes devem reduzir a ambiguidade ao definir fronteiras de decisão (decision boundaries) — a lógica “se/então” que converte a realidade confusa em categorias discretas.

Princípios centrais de diretrizes de anotação eficazes

1) Defina a tarefa em termos de uma decisão, não de um tema

Os anotadores devem estar tomando uma decisão específica. Exemplo:

  • Enquadramento por tema: “Rotulamos sentimento.”
  • Enquadramento por decisão: “Dado o texto, escolha o sentimento geral do autor em relação ao alvo principal (positivo/negativo/neutro/misto).”

O enquadramento por decisão ajuda a evitar que anotadores inventem seu próprio alvo (por exemplo, sentimento em relação à empresa vs. sentimento em relação a um evento).

2) Separe *definições de rótulos* de *heurísticas (heuristics)*

Diretrizes frequentemente misturam “o que o rótulo significa” com “pistas que você pode ver”. Mantenha isso distinto:

  • Definição: condições necessárias/suficientes.
  • Heurísticas: indicadores comuns, mas não obrigatórios.

Isso reduz sobreajuste (overfitting) a indícios superficiais (por exemplo, palavrões → toxicidade, pontos de exclamação → empolgação).

3) Torne a ambiguidade explícita e encaminhável

A ambiguidade é inevitável. Boas diretrizes especificam:

  • Quando usar um rótulo de “incerto/desconhecido”
  • Quando abster-se/escalar
  • Quando seguir uma regra padrão (por exemplo, “se não houver alvo presente, rotule como neutro”)

Sem isso, os anotadores silenciosamente inventam suas próprias políticas.

4) Otimize para consistência sob restrições realistas

Os anotadores trabalham sob pressão de tempo, com contexto limitado e níveis variados de expertise. As diretrizes devem:

  • Minimizar a carga cognitiva (poucos rótulos, limiares claros)
  • Fornecer auxílios de decisão rápidos (checklists, fluxogramas (flowcharts))
  • Incluir exemplos que correspondam às distribuições reais dos dados (não apenas casos limpos de livro-texto)

5) Alinhe os rótulos com a modelagem e a avaliação posteriores (downstream)

Seu esquema de rótulos deve corresponder à forma como o modelo será treinado:

  • Multiclasse (multi-class) vs. multirrótulo (multi-label)?
  • Sobreposições são permitidas (por exemplo, um trecho de entidade pode ser tanto ORG quanto PRODUCT)?
  • Você está treinando um modelo de trechos (span model), um classificador (classifier) ou um modelo de detecção (detector)? (É necessária granularidade diferente.)

Garanta também que as diretrizes correspondam à métrica de avaliação (por exemplo, F1 de correspondência exata de trechos (exact-match span F1) vs. F1 em nível de token (token-level F1)) para evitar rótulos “corretos, mas penalizados”.

O que boas diretrizes contêm (um checklist prático)

Visão geral da tarefa

  • Objetivo do conjunto de dados (dataset) e uso pretendido (treinamento, avaliação, recuperação, moderação)
  • Unidade de anotação (documento, sentença, turno, imagem, frame)
  • Que contexto está disponível (thread completa? mensagens anteriores? metadados?)
  • O que está fora de escopo

Inventário de rótulos e ontologia (ontology)

Para cada rótulo:

  • Nome e definição curta
  • Critérios de decisão (o que deve ser verdadeiro)
  • Contraexemplos (o que parece próximo, mas não é)
  • Tratamento de casos-limite
  • Relação com outros rótulos (exclusão mútua, hierarquia)

Se os rótulos formarem uma hierarquia (por exemplo, “abuso” → “ódio” → “ameaça”), especifique se os anotadores escolhem:

  • O rótulo mais específico
  • Todos os rótulos aplicáveis (multirrótulo)
  • Um rótulo primário + atributos opcionais

Procedimento de anotação

  • Instruções passo a passo
  • Ferramentas permitidas e como usá-las (atalhos de teclado, regras de caixas delimitadoras, regras de seleção de trechos)
  • Como lidar com entradas inválidas (imagens corrompidas, texto vazio)
  • Política de confiança/incerteza
  • Caminho de escalonamento e expectativas de prazo de resposta

Exemplos: positivos, negativos e “quase acertos”

Inclua:

  • Exemplos típicos (casos majoritários)
  • Casos confusos (minoritários, mas de alto impacto)
  • “Quase acertos” que evitam erros comuns

Uma diretriz sem contraexemplos frequentemente produz super-rotulagem sistemática.

Garantia de qualidade (quality assurance, QA) e calibração (calibration)

  • Fase de treinamento e exercícios de calibração
  • Plano contínuo de amostragem de garantia de qualidade
  • Processo de adjudicação (adjudication) (quem resolve discordâncias e como as decisões retroalimentam as diretrizes)
  • Como você acompanha a deriva (drift) ao longo do tempo

Escrevendo diretrizes: um processo iterativo (não um documento único)

Etapa 1: Comece pelo fim — o que “rótulos úteis” significa?

Anote:

  • A tarefa do modelo e as métricas (acurácia, F1, mAP, calibração etc.)
  • O custo dos erros (falsos positivos vs. falsos negativos)
  • Quaisquer restrições de segurança/justiça

Exemplo: em triagem médica, falsos negativos podem ser piores; as diretrizes devem favorecer recall e incluir uma política de “possível positivo”.

Etapa 2: Redija um esquema mínimo de rótulos

Prefira simplicidade:

  • Menos rótulos geralmente geram maior acordo.
  • Se você precisa de nuance, considere atributos (campos secundários) em vez de explodir a lista de classes.

Exemplo: em vez de 12 classes de emoção, use:

  • sentiment ∈ {positive, negative, neutral, mixed}
  • intensity ∈ {low, medium, high} (optional)

Etapa 3: Faça um piloto com dados reais e meça discordâncias

Execute um piloto com pelo menos:

  • 50–200 itens (mais, se o espaço for diverso)
  • 3+ anotadores por item (para expor ambiguidade)

Calcule Acordo Entre Anotadores e — mais importante — inspecione clusters de discordância. Discordâncias frequentemente apontam para regras ausentes, limiares pouco claros ou sobreposição de rótulos.

Etapa 4: Adicione regras de decisão, não mais prosa

Quando anotadores discordarem, evite adicionar explicações vagas. Adicione regras operacionais:

  • “Se houver sentimento positivo e negativo e nenhum dos dois predominar, rotule mixed.”
  • “Se uma pessoa estiver parcialmente visível, mas claramente identificável como pessoa, desenhe uma caixa apenas ao redor da região visível.”

Etapa 5: Itere com rodadas de calibração

Calibração significa:

  • Anotadores rotulam o mesmo lote
  • Diferenças são discutidas
  • Um adjudicador finaliza rótulos “ouro (gold)”
  • As diretrizes são atualizadas com os exemplos resolvidos

Aqui também é onde você descobre se a tarefa é viável com o contexto disponível e o conjunto de rótulos.

Etapa 6: Mantenha versionamento (versioning)

Trate diretrizes como código:

  • Número de versão e registro de mudanças (changelog)
  • Data e responsável
  • Notas de compatibilidade retroativa (backward compatibility) (“rótulos antes da v1.3 podem diferir no tratamento de sarcasmo”)

Isso é essencial para interpretar mudanças de modelo e atualizações de conjunto de dados.

Exemplos práticos (como “operacional” se parece)

Exemplo 1: Classificação de texto (sentimento (sentiment)) com casos-limite

Conjunto de rótulos: positive, negative, neutral, mixed

Ambiguidade comum: sentimento misto, sarcasmo (sarcasm), sentimento fora do alvo.

Trecho de diretriz:

  • Alvo: Rotule o sentimento em relação ao assunto principal do texto (produto/serviço/evento sendo avaliado).
    Se não existir um alvo claro, rotule neutral.

  • Positive: expressa aprovação geral, satisfação ou endosso.

  • Negative: expressa desaprovação geral, insatisfação ou reclamação.

  • Neutral: factual, sem linguagem avaliativa clara, ou puramente informativo.

  • Mixed: avaliações positivas e negativas estão presentes e nenhuma é claramente dominante.

Exemplos

  • Positive: “Battery life is amazing, lasts all day.”
  • Negative: “Stopped working after a week. Waste of money.”
  • Neutral: “The phone weighs 185 grams and has a 6.1-inch display.”
  • Mixed: “Great camera, but the UI is painfully slow.”

Contraexemplos

  • “It arrived yesterday.” → neutral (no evaluation)
  • “I love it lol” sobre um tópico não relacionado na mesma thread → rotule com base no item de texto principal; ignore a thread externa, a menos que seja fornecida.

Auxílio de decisão

If evaluative language absent → neutral
Else if only positive cues → positive
Else if only negative cues → negative
Else → mixed (unless one side clearly dominates)

Exemplo 2: Reconhecimento de Entidades Nomeadas (Named Entity Recognition, NER) e limites de trechos

Tarefas de reconhecimento de entidades nomeadas frequentemente falham devido à seleção inconsistente de trechos. Diretrizes devem especificar regras exatas de limites.

Tipos de entidade: PERSON, ORG, LOC

Regras:

  • Selecione o trecho mínimo que identifica unicamente a entidade.
  • Inclua honoríficos apenas se fizerem parte do nome no contexto.
  • Exclua pontuação ao final.

Exemplos:

  • “President Barack Obama spoke…” → PERSON: "Barack Obama" (exclude “President”)
  • The University of Washington released…” → ORG: "University of Washington" or "The University of Washington" depending on your “include determiners” rule—pick one and enforce it.
  • “lives in New York City” → LOC: "New York City"

Regra de caso-limite (crítica):

  • Para menções aninhadas como “Washington” (estado vs. universidade), rotule com base no contexto local, não em palpites de conhecimento de mundo.

Exemplo 3: Caixas delimitadoras (bounding boxes) em visão computacional (computer vision) com oclusão e truncamento

Diretrizes de caixas delimitadoras precisam de regras geométricas:

  • Ajuste: a caixa deve envolver firmemente os pixels visíveis do objeto (sem preenchimento de fundo além de X%).
  • Oclusão (occlusion): se parcialmente ocluído, mas reconhecível, anote apenas a porção visível ou toda a extensão estimada — escolha uma política e seja consistente.
  • Truncamento (truncation): se cortado pela borda da imagem, a caixa se estende até a borda.

Exemplo de regras:

  • Se ≥30% do objeto estiver visível e a classe for identificável → anote.
  • Se <30% estiver visível → marque como “ignore” (ou não anote), dependendo das necessidades do modelo.

Esse tipo de definição de limiares (thresholding) reduz decisões subjetivas do tipo “acho que conta”.

Lidando com subjetividade e ambiguidade

Use critérios *baseados em evidências* (evidence-based)

Ao rotular construtos subjetivos (toxicidade, relevância, “qualidade”), fundamente explicitamente decisões em características observáveis:

  • “Contém um insulto direcionado a uma pessoa” (observável)
  • vs. “Parece maldoso” (subjetivo)

Quando a subjetividade for inevitável, defina:

  • A perspectiva (“usuário médio”, “padrão de política”, “especialista de domínio”)
  • O modelo de dano (quem é prejudicado e como)

Considere rotulagem em múltiplas etapas (multi-stage labeling)

Para tarefas complexas, divida em subdecisões mais simples:

Exemplo: “Isto é tóxico?” pode virar:

  1. Há um alvo? (sim/não/desconhecido)
  2. Há linguagem negativa/abusiva? (sim/não)
  3. É direcionado a um grupo protegido? (sim/não)

Isso reduz a carga cognitiva e pode gerar rótulos mais informativos para modelagem.

Forneça um caminho de “contexto insuficiente” (insufficient context) (quando apropriado)

Especialmente para textos curtos ou imagens ambíguas, permita:

  • unknown
  • cannot_determine
  • needs_context

Use com parcimônia e monitore a frequência; “unknown” em excesso pode indicar que a definição da tarefa precisa de revisão ou que mais contexto deve ser fornecido.

Projetando para qualidade: treinamento, QA e ciclos de feedback

Integração (onboarding) e calibração de anotadores

Uma integração eficaz inclui:

  • Um breve guia conceitual (termos do domínio, intenção da política)
  • Um quiz com feedback
  • Um conjunto de calibração compartilhado com rótulos ouro adjudicados

A calibração deve ser repetida periodicamente, especialmente quando a distribuição de dados muda.

Controle de qualidade contínuo

Mecanismos comuns de garantia de qualidade:

  • Dupla anotação (double-annotation): uma parte dos itens rotulada por dois+ anotadores
  • Checagens com itens ouro (gold checks): inserir itens pré-rotulados para medir a acurácia do anotador
  • Filas de revisão (review queues): enviar itens de baixa confiança ou disputados para adjudicação por especialistas

Use análises de discordância para atualizar diretrizes — não para culpar anotadores.

Diagnosticando problemas: acordo vs. correção

Alto acordo ainda pode estar errado se a diretriz operacionalizar o conceito incorreto. Use:

  • Validação externa (especialistas de domínio, desempenho a jusante)
  • Análise de erros (error analysis) nas saídas do modelo
  • Monitoramento de vieses sistemáticos

Quando a inconsistência for alta, revise o desenho da tarefa e consulte métodos de Acordo Entre Anotadores para identificar quais rótulos ou contextos são instáveis.

Aprendizado ativo e evolução das diretrizes

Em Ciclos de Aprendizado Ativo (Active Learning Loops), o modelo seleciona exemplos incertos ou informativos para rotular. Isso tende a trazer casos-limite à tona. Planeje:

  • Iteração mais rápida das diretrizes
  • Uma seção de “problemas conhecidos”
  • Um processo para completar (backfill) ou re-rotular dados anteriores se as definições mudarem

Se você ignorar a deriva das diretrizes, criará mudanças ocultas na distribuição de rótulos que parecem regressões do modelo.

Armadilhas comuns (e como evitá-las)

  • Rótulos sobrepostos sem critérios de desempate
    Correção: defina precedência (por exemplo, “Se spam e toxicidade se aplicarem, escolha toxicidade como primário e spam como atributo”).

  • Rótulos raros demais
    Correção: una classes pouco usadas; use atributos; garanta que cada rótulo tenha exemplos suficientes.

  • Exemplos que não correspondem aos dados reais
    Correção: extraia exemplos dos dados de produção e atualize-os periodicamente.

  • Diretrizes que dependem de adivinhação do anotador
    Correção: proíba pesquisa externa, a menos que explicitamente permitida; especifique qual conhecimento é pressuposto.

  • Sem plano de adjudicação
    Correção: defina quem decide, como as decisões são registradas e como as atualizações se propagam.

  • Ignorar privacidade/segurança
    Correção: adicione regras para lidar com informações de identificação pessoal (Personally Identifiable Information, PII), conteúdo sensível e minimização de exposição (por exemplo, desfocar rostos, tarjar nomes) alinhadas às políticas da sua organização e a quaisquer leis aplicáveis.

Um modelo leve que você pode reutilizar

Abaixo está uma estrutura compacta que muitas equipes adotam. Ela é intencionalmente “com cara de engenharia” e fácil de versionar.

## Task
Goal:
Unit of annotation:
Context provided:
Out of scope:

## Labels
### LABEL_A
Definition:
Criteria (must be true):
Do NOT label when:
Edge cases:
Examples:
- Positive:
- Negative / near-miss:

### LABEL_B
...

## Decision rules
1)
2)
Tie-breakers / precedence:

## Procedure
Steps:
Tool instructions:
Escalation / unsure policy:

## Quality
Calibration set:
Double-annotation rate:
Adjudication owner:
Guideline versioning:

Conectando diretrizes ao restante da pilha de rotulagem (labeling stack)

Diretrizes de anotação ficam a montante de:

Um modelo mental útil é: diretrizes definem a função de rotulagem (label function), o acordo mede sua estabilidade, e processos de garantia de qualidade a aplicam em escala.

Resumo: como é o “bom”

Diretrizes de anotação fortes são:

  • Operacionais: regras claras de decisão, não “feeling”
  • Fundamentadas: baseadas em evidência observável e contexto definido
  • Completas: incluem casos-limite, contraexemplos, caminhos de escalonamento
  • Alinhadas: correspondem às necessidades de modelagem e avaliação posteriores
  • Iterativas: melhoram por meio de pilotos, adjudicação e versionamento

Se você investir em diretrizes cedo, normalmente obtém dados de maior qualidade, integração mais rápida, treinamento de modelo mais estável e menos surpresas durante avaliação e implantação.