Skip to content

Fase di Addestramento

Addestra e qualifica gli annotatori con domande pratiche prima del compito principale.

Potato 2.0 include una fase di addestramento opzionale che aiuta a qualificare gli annotatori prima che inizino il compito principale di annotazione. Gli annotatori rispondono a domande pratiche con risposte corrette note e ricevono feedback sulle loro prestazioni.

Come l'addestramento filtra gli annotatori — Esercitati su item con risposta nota; solo i qualificati arrivano al compito veroCome l'addestramento filtra gli annotatori

Casi d'Uso

  • Assicurarsi che gli annotatori comprendano il compito
  • Filtrare gli annotatori di bassa qualità
  • Fornire pratica guidata prima delle annotazioni reali
  • Raccogliere metriche di qualità baseline
  • Insegnare le linee guida di annotazione attraverso esempi

Come Funziona

  1. Gli annotatori completano un set di domande di addestramento
  2. Ricevono feedback immediato su ogni risposta
  3. Il progresso viene monitorato rispetto ai criteri di superamento
  4. Solo gli annotatori che superano possono procedere al compito principale

Configurazione

Impostazione di Base

yaml
training:
  enabled: true
  data_file: "data/training_data.json"
  annotation_schemes: ["sentiment"]
  passing_criteria:
    min_correct: 3
    require_all_correct: false
  allow_retry: true
  failure_action: "repeat_training"

Configurazione Completa

yaml
phases:
  order: [consent, instructions, training, annotation]
 
  consent:
    type: consent
    file: surveyflow/consent.json
 
  instructions:
    type: instructions
    file: surveyflow/instructions.html
 
  training:
    type: training
    file: data/training_data.json

Criteri di Superamento

Puoi impostare vari criteri per superare la fase di addestramento:

Minimo Corrette

yaml
passing_criteria:
  min_correct: 3

L'annotatore deve rispondere correttamente ad almeno 8 domande su 10.

Richiedi Tutte Corrette

yaml
passing_criteria:
  require_all_correct: true

L'annotatore deve rispondere correttamente a ogni domanda per superare.

Massimo Errori

yaml
passing_criteria:
  max_mistakes: 5

L'annotatore viene squalificato dopo 3 errori totali.

Massimo Errori per Domanda

yaml
passing_criteria:
  max_mistakes_per_question: 2

L'annotatore viene squalificato dopo 2 errori su qualsiasi singola domanda.

Criteri Combinati

yaml
passing_criteria:
  min_correct: 3
  max_mistakes: 5
  max_mistakes_per_question: 2

Deve ottenere 8 corrette E non fallire una singola domanda più di 3 volte.

Formato dei Dati di Addestramento

I dati di addestramento devono includere le risposte corrette e le spiegazioni opzionali:

json
[
  {
    "id": "train_1",
    "text": "I absolutely love this product! Best purchase ever!",
    "correct_answers": {
      "sentiment": "Positive"
    },
    "explanation": "This text expresses strong positive sentiment with words like 'love' and 'best'."
  },
  {
    "id": "train_2",
    "text": "This is the worst service I've ever experienced.",
    "correct_answers": {
      "sentiment": "Negative"
    },
    "explanation": "The words 'worst' and the overall complaint indicate negative sentiment."
  },
  {
    "id": "train_3",
    "text": "The package arrived on time.",
    "correct_answers": {
      "sentiment": "Neutral"
    },
    "explanation": "This is a factual statement without emotional indicators."
  }
]

Addestramento Multi-Schema

Per i compiti con più schemi di annotazione:

json
{
  "id": "train_1",
  "text": "Apple announced new iPhone features yesterday.",
  "correct_answers": {
    "sentiment": "Neutral",
    "topic": "Technology"
  },
  "explanation": {
    "sentiment": "This is a factual news statement.",
    "topic": "The text discusses Apple and iPhone, which are tech topics."
  }
}

Esperienza dell'Utente

Flusso di Addestramento

  1. L'utente vede l'indicatore "Fase di Addestramento"
  2. La domanda viene visualizzata con il modulo di annotazione
  3. L'utente invia la propria risposta
  4. Il feedback viene mostrato immediatamente:
    • Corretto: Segno di spunta verde, procedi al successivo
    • Errato: X rossa, spiegazione mostrata, opzione di ripetizione

Visualizzazione del Feedback

Quando un annotatore risponde in modo errato:

  • La risposta corretta è evidenziata
  • La spiegazione fornita è mostrata
  • Appare il pulsante di ripetizione (se i tentativi sono abilitati)
  • Il progresso verso i criteri di superamento è visualizzato

Monitoraggio dell'Amministratore

Tieni traccia delle prestazioni dell'addestramento nella dashboard di amministrazione:

  • Tassi di completamento
  • Medie delle risposte corrette
  • Tassi di passaggio/fallimento
  • Tempo trascorso nell'addestramento
  • Accuratezza per domanda

Accedi tramite gli endpoint API di /admin:

text
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}

Esempio: Addestramento per l'Analisi del Sentiment

yaml
annotation_task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
 
data_files:
  - "data/reviews.json"
 
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral
    sequential_key_binding: true
 
training:
  enabled: true
  data_file: "data/training_data.json"
  annotation_schemes: ["sentiment"]
  passing_criteria:
    min_correct: 3
    require_all_correct: false
  allow_retry: true
  failure_action: "repeat_training"
 
phases:
  order: [training, annotation]
  training:
    type: training
    file: "data/training_data.json"
 
output_annotation_dir: "output/"
export_annotation_format: "jsonl"
 
user_config:
  allow_all_users: true

Esempio: Addestramento NER

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight named entities"
    labels:
      - Person
      - Organization
      - Location
      - Date
 
training:
  enabled: true
  data_file: "data/ner_training.json"
  annotation_schemes: ["entities"]
  passing_criteria:
    min_correct: 2
  allow_retry: true

Dati di addestramento per l'annotazione span:

json
{
  "id": "train_1",
  "text": "Tim Cook announced that Apple will open a new store in New York on March 15.",
  "correct_answers": {
    "entities": [
      {"start": 0, "end": 8, "label": "Person"},
      {"start": 24, "end": 29, "label": "Organization"},
      {"start": 54, "end": 62, "label": "Location"},
      {"start": 66, "end": 74, "label": "Date"}
    ]
  },
  "explanation": "Tim Cook is a Person, Apple is an Organization, New York is a Location, and March 15 is a Date."
}

Best Practice

1. Inizia Semplice

Inizia con esempi semplici prima di introdurre i casi limite:

json
[
  {"text": "I love this!", "correct_answers": {"sentiment": "Positive"}},
  {"text": "I hate this!", "correct_answers": {"sentiment": "Negative"}},
  {"text": "It arrived yesterday.", "correct_answers": {"sentiment": "Neutral"}}
]

2. Copri Tutte le Etichette

Assicurati che l'addestramento includa esempi di ogni etichetta possibile:

json
[
  {"correct_answers": {"sentiment": "Positive"}},
  {"correct_answers": {"sentiment": "Negative"}},
  {"correct_answers": {"sentiment": "Neutral"}}
]

3. Scrivi Spiegazioni Chiare

Le spiegazioni dovrebbero insegnare le linee guida di annotazione:

json
{
  "explanation": "While this text mentions a problem, the overall tone is constructive and the reviewer expresses satisfaction with the resolution. This makes it Positive rather than Negative."
}

4. Imposta Criteri Ragionevoli

Non richiedere la perfezione inutilmente:

yaml
passing_criteria:
  require_all_correct: true

5. Includi i Casi Limite

Aggiungi esempi difficili per preparare gli annotatori:

json
{
  "text": "Not bad at all, I guess it could be worse.",
  "correct_answers": {"sentiment": "Neutral"},
  "explanation": "Despite negative words like 'not bad' and 'worse', this is actually a lukewarm endorsement - neutral rather than positive or negative."
}

Integrazione con i Flussi di Lavoro

L'addestramento si integra con i flussi di lavoro multi-fase:

yaml
passing_criteria:
  min_correct: 3
  max_mistakes_per_question: 2

Considerazioni sulle Prestazioni

  • I dati di addestramento vengono caricati all'avvio
  • Il progresso viene memorizzato in memoria per sessione
  • Impatto minimo sulle prestazioni dell'annotazione principale
  • Considera di separare l'addestramento complesso in più fasi

Ulteriori Letture

Per i dettagli di implementazione, consulta la documentazione sorgente.