Skip to content

Rótulo Suave

Configure a anotação de rótulo suave no Potato para alocar distribuições de probabilidade entre categorias usando deslizadores que devem somar um total fixo.

O esquema de anotação de rótulo suave permite que os anotadores atribuam distribuições de probabilidade entre múltiplas categorias em vez de tomar uma única decisão de classificação rígida. Os anotadores usam deslizadores para distribuir um total fixo (por exemplo, 100 pontos) entre os rótulos, capturando o grau de incerteza ou sobreposição entre as categorias.

Visão Geral

A rotulagem suave é útil quando os itens podem pertencer parcialmente a várias categorias. Em vez de forçar os anotadores a escolher um rótulo, este esquema permite que eles expressem a confiança relativa entre todas as opções. Os deslizadores estão vinculados de modo que sempre somem o total configurado, e um gráfico de distribuição opcional fornece feedback visual.

Início Rápido

yaml
annotation_schemes:
  - annotation_type: soft_label
    name: sentiment_distribution
    description: Distribute 100 points across sentiment categories based on how much each applies.
    labels: ["Positive", "Neutral", "Negative"]
    total: 100

Opções de Configuração

CampoTipoPadrãoDescrição
annotation_typestringObrigatórioDeve ser "soft_label"
namestringObrigatórioIdentificador único para este esquema
descriptionstringObrigatórioInstruções exibidas aos anotadores
labelsarrayObrigatórioLista de rótulos de categoria (mínimo 2)
totalinteger100A soma fixa que todos os deslizadores devem totalizar
min_per_labelinteger0Valor mínimo que cada rótulo deve receber
show_distribution_chartbooleantrueExibe um gráfico de pizza ou barras mostrando a distribuição atual
label_requirement.requiredbooleanfalseSe a anotação deve ser concluída antes de prosseguir

Exemplos

Distribuição de Sentimento

yaml
annotation_schemes:
  - annotation_type: soft_label
    name: sentiment_distribution
    description: How much does each sentiment apply to this text?
    labels: ["Positive", "Neutral", "Negative"]
    total: 100
    show_distribution_chart: true

Intensidade de Emoção

yaml
annotation_schemes:
  - annotation_type: soft_label
    name: emotion_mix
    description: Distribute points to reflect the mix of emotions in this utterance.
    labels: ["Joy", "Sadness", "Anger", "Fear", "Surprise", "Disgust"]
    total: 100
    min_per_label: 0
    show_distribution_chart: true

Relevância de Tópico

yaml
annotation_schemes:
  - annotation_type: soft_label
    name: topic_relevance
    description: How relevant is this document to each topic?
    labels: ["Politics", "Sports", "Technology", "Entertainment"]
    total: 100
    label_requirement:
      required: true

Alocação Mínima Forçada

yaml
annotation_schemes:
  - annotation_type: soft_label
    name: genre_mix
    description: Allocate points across genres. Each genre must receive at least 5 points.
    labels: ["Rock", "Pop", "Jazz", "Classical", "Electronic"]
    total: 100
    min_per_label: 5

Formato de Saída

json
{
  "sentiment_distribution": {
    "labels": {
      "Positive": 45,
      "Neutral": 30,
      "Negative": 25
    }
  }
}

Os valores sempre somam o total configurado.

Boas Práticas

  1. Use quando as categorias se sobrepõem - os rótulos suaves são ideais quando os itens realmente pertencem a várias categorias em graus diferentes
  2. Mantenha a quantidade de rótulos gerenciável - mais de 6-7 rótulos torna a interface de deslizadores difícil de usar
  3. Defina um total significativo - 100 é intuitivo como porcentagens, mas totais menores funcionam para tarefas mais simples
  4. Use min_per_label com moderação - forçar alocações mínimas pode enviesar os resultados quando um rótulo realmente não se aplica
  5. Ative o gráfico de distribuição - o feedback visual ajuda os anotadores a ver sua alocação de relance

Leituras Adicionais

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