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ê:
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels:
- Positive
- Negative
- NeutralEssa é toda a definição da interface. Você fornece os dados, executa potato start e os anotadores rotulam no navegador.
Como um projeto costuma andar
- Defina a tarefa. Escreva a pergunta e o conjunto de rótulos.
- Escreva as diretrizes. Dê aos anotadores regras e exemplos. Veja Como escrever diretrizes de anotação.
- Faça um piloto. Rotule um pequeno lote, encontre as divergências e refine as diretrizes.
- Anote com sobreposição. Faça com que várias pessoas rotulem os mesmos itens para que você possa medir a concordância.
- Meça a concordância. Veja Concordância entre anotadores.
- Adjudique e exporte. Resolva as divergências e exporte para treino ou análise.
Leitura adicional
- Como escolher um esquema de anotação
- Início rápido, coloque o Potato no ar em cinco minutos
- Referência de esquemas de anotação