Skip to content

O que é anotação de dados?

Uma introdução em linguagem simples à anotação de dados: o que é, os principais tipos de tarefa (classificação, marcação de spans, ranqueamento, texto livre) e como conduzir um projeto de anotação com o Potato.

Anotação de dados é o processo de atribuir rótulos a dados brutos, como texto, imagens, áudio, vídeo ou saídas de modelos, para que esses dados possam ser medidos, comparados ou usados para treinar e avaliar modelos de aprendizado de máquina. Um rótulo pode ser uma categoria de sentimento em um tweet, um nome destacado em uma frase, uma nota de qualidade de 1 a 5 na resposta de um chatbot ou uma caixa delimitadora em torno de um pedestre em uma foto.

A anotação também é chamada de rotulagem de dados, marcação ou codificação (o termo usado nas ciências sociais). Veja Anotação de dados e a ideia relacionada de um conjunto de treino rotulado na Wikipedia.

Por que isso importa

O aprendizado de máquina supervisionado aprende a partir de exemplos que já trazem a resposta certa. A qualidade dessas respostas estabelece um teto para a qualidade do modelo, então uma anotação cuidadosa costuma ser a parte de maior alavancagem de um projeto. A anotação também é a forma de avaliar um modelo: para saber se um sistema de IA está correto, em geral uma pessoa precisa julgar suas saídas.

Os principais tipos de tarefa de anotação

A maioria dos projetos se encaixa em algumas famílias. Cada uma corresponde a um ou mais controles de anotação no Potato (veja Esquemas de anotação).

  • Classificação: escolher uma ou mais categorias para um item inteiro. Exemplo: esta avaliação é positiva, negativa ou neutra? Veja Classificação de texto.
  • Marcação de spans: marcar uma região dentro de um item, como um nome em uma frase ou um trecho de um clipe de áudio. Veja Anotação de spans.
  • Avaliação e pontuação: posicionar um item em uma escala, como um julgamento de qualidade de 1 a 5. Veja Escalas de avaliação.
  • Ranqueamento e comparação: ordenar itens ou escolher o melhor entre dois. Veja Comparação par a par e escalonamento melhor–pior.
  • Anotação estruturada: ligar spans em relações, construir cadeias de correferência ou anotar eventos. Veja Extração de relações e eventos.
  • Texto livre: escrever uma explicação, uma correção ou uma transcrição.

Um exemplo mínimo

Uma tarefa de sentimento no Potato são algumas linhas de YAML. O bloco annotation_schemes define os rótulos que o anotador vê:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral

Essa é toda a definição da interface. Você fornece os dados, executa potato start e os anotadores rotulam no navegador.

Como um projeto costuma andar

  1. Defina a tarefa. Escreva a pergunta e o conjunto de rótulos.
  2. Escreva as diretrizes. Dê aos anotadores regras e exemplos. Veja Como escrever diretrizes de anotação.
  3. Faça um piloto. Rotule um pequeno lote, encontre as divergências e refine as diretrizes.
  4. Anote com sobreposição. Faça com que várias pessoas rotulem os mesmos itens para que você possa medir a concordância.
  5. Meça a concordância. Veja Concordância entre anotadores.
  6. Adjudique e exporte. Resolva as divergências e exporte para treino ou análise.

Leitura adicional