Skip to content
このページはまだお使いの言語に翻訳されていません。英語版を表示しています。

Schemi di Annotazione

Definisci cosa e come gli annotatori etichettano i tuoi dati.

Schemi di Annotazione

Gli schemi di annotazione definiscono le attività di etichettatura per i tuoi annotatori. Potato 2.0 supporta quattordici tipi di annotazione che possono essere combinati per creare attività di annotazione complesse.

Struttura Base

Ogni schema è definito nell'array annotation_schemes:

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

Campi Obbligatori

CampoDescrizione
annotation_typeTipo di annotazione (radio, multiselect, likert, span, text, number, slider, multirate)
nameIdentificatore interno (senza spazi, usato nell'output)
descriptionIstruzioni mostrate agli annotatori

Tipi di Annotazione Supportati

1. Radio (Scelta Singola)

Seleziona esattamente un'opzione da un elenco:

yaml
- annotation_type: radio
  name: sentiment
  description: "What is the sentiment of this text?"
  labels:
    - Positive
    - Negative
    - Neutral
 
  # Optional features
  keyboard_shortcuts:
    Positive: "1"
    Negative: "2"
    Neutral: "3"
 
  # Or use sequential binding (1, 2, 3... automatically)
  sequential_key_binding: true
 
  # Horizontal layout instead of vertical
  horizontal: true

2. Scala Likert

Scale di valutazione con endpoint etichettati:

yaml
- annotation_type: likert
  name: agreement
  description: "How much do you agree with this statement?"
  size: 5  # Number of scale points
  min_label: "Strongly Disagree"
  max_label: "Strongly Agree"
 
  # Optional mid-point label
  mid_label: "Neutral"
 
  # Show numeric values
  show_numbers: true

3. Multiselect (Scelta Multipla)

Seleziona più opzioni da un elenco:

yaml
- annotation_type: multiselect
  name: topics
  description: "Select all relevant topics"
  labels:
    - Politics
    - Technology
    - Sports
    - Entertainment
    - Science
 
  # Selection constraints
  min_selections: 1
  max_selections: 3
 
  # Allow free text response
  free_response: true
  free_response_label: "Other (specify)"

4. Annotazione di Span

Evidenzia ed etichetta segmenti di testo:

yaml
- annotation_type: span
  name: entities
  description: "Highlight named entities in the text"
  labels:
    - PERSON
    - ORGANIZATION
    - LOCATION
    - DATE
 
  # Visual customization
  label_colors:
    PERSON: "#3b82f6"
    ORGANIZATION: "#10b981"
    LOCATION: "#f59e0b"
    DATE: "#8b5cf6"
 
  # Allow overlapping spans
  allow_overlapping: false
 
  # Keyboard shortcuts for labels
  sequential_key_binding: true

5. Slider

Intervallo numerico continuo:

yaml
- annotation_type: slider
  name: confidence
  description: "How confident are you in your answer?"
  min: 0
  max: 100
  step: 1
  default: 50
 
  # Endpoint labels
  min_label: "Not confident"
  max_label: "Very confident"
 
  # Show current value
  show_value: true

6. Input Testuale

Risposte a testo libero:

yaml
- annotation_type: text
  name: explanation
  description: "Explain your reasoning"
 
  # Multi-line input
  textarea: true
 
  # Character limits
  min_length: 10
  max_length: 500
 
  # Placeholder text
  placeholder: "Enter your explanation here..."
 
  # Disable paste (for transcription tasks)
  disable_paste: true

7. Input Numerico

Input numerico con vincoli:

yaml
- annotation_type: number
  name: count
  description: "How many entities are mentioned?"
  min: 0
  max: 100
  step: 1
  default: 0

8. Multirate (Valutazione a Matrice)

Valuta più elementi sulla stessa scala:

yaml
- annotation_type: multirate
  name: quality_aspects
  description: "Rate each aspect of the response"
  items:
    - Accuracy
    - Clarity
    - Completeness
    - Relevance
  size: 5  # Scale points
  min_label: "Poor"
  max_label: "Excellent"
 
  # Randomize item order
  randomize: true
 
  # Layout options
  compact: false

Opzioni Comuni

Scorciatoie da Tastiera

Velocizza l'annotazione con associazioni da tastiera:

yaml
# Manual shortcuts
keyboard_shortcuts:
  Positive: "1"
  Negative: "2"
  Neutral: "3"
 
# Or automatic sequential binding
sequential_key_binding: true  # Assigns 1, 2, 3...

Tooltip

Fornisci suggerimenti al passaggio del mouse per le etichette:

yaml
tooltips:
  Positive: "Expresses happiness, approval, or satisfaction"
  Negative: "Expresses sadness, anger, or disappointment"
  Neutral: "No clear emotional content"

Colori delle Etichette

Colori personalizzati per la distinzione visiva:

yaml
label_colors:
  PERSON: "#3b82f6"
  LOCATION: "#10b981"
  ORGANIZATION: "#f59e0b"

Campi Obbligatori

Rendi uno schema obbligatorio prima dell'invio:

yaml
- annotation_type: radio
  name: sentiment
  required: true
  labels:
    - Positive
    - Negative

Schemi Multipli

Combina più tipi di annotazione per istanza:

yaml
annotation_schemes:
  # Primary classification
  - annotation_type: radio
    name: sentiment
    description: "Overall sentiment"
    labels:
      - Positive
      - Negative
      - Neutral
    required: true
    sequential_key_binding: true
 
  # Confidence rating
  - annotation_type: likert
    name: confidence
    description: "How confident are you?"
    size: 5
    min_label: "Guessing"
    max_label: "Certain"
 
  # Topic tags
  - annotation_type: multiselect
    name: topics
    description: "Select all relevant topics"
    labels:
      - Politics
      - Technology
      - Sports
      - Entertainment
    free_response: true
 
  # Notes
  - annotation_type: text
    name: notes
    description: "Any additional observations?"
    textarea: true
    required: false

Funzionalità Avanzate

Confronto a Coppie

Confronta due elementi:

yaml
- annotation_type: pairwise
  name: preference
  description: "Which response is better?"
  options:
    - label: "Response A"
      value: "A"
    - label: "Response B"
      value: "B"
    - label: "Equal"
      value: "tie"
 
  # Allow tie selection
  allow_tie: true

Best-Worst Scaling

Classifica gli elementi selezionando il migliore e il peggiore:

yaml
- annotation_type: best_worst
  name: ranking
  description: "Select the best and worst items"
  # Items come from the data file

Selezione a Tendina

Selezione singola efficiente in termini di spazio:

yaml
- annotation_type: select
  name: category
  description: "Select a category"
  labels:
    - Category A
    - Category B
    - Category C
    - Category D
    - Category E
 
  # Default selection
  default: "Category A"

Riferimento al Formato dei Dati

Input

Gli schemi di annotazione funzionano con il tuo formato di dati:

json
{
  "id": "doc_1",
  "text": "This is the text to annotate."
}

Output

Le annotazioni vengono salvate con i nomi degli schemi come chiavi:

json
{
  "id": "doc_1",
  "annotations": {
    "sentiment": "Positive",
    "confidence": 4,
    "topics": ["Technology", "Science"],
    "entities": [
      {"start": 0, "end": 4, "label": "ORGANIZATION", "text": "This"}
    ],
    "notes": "Clear positive sentiment about technology."
  }
}

Buone Pratiche

1. Etichette Chiare

Usa etichette inequivocabili e distinte:

yaml
# Good
labels:
  - Strongly Positive
  - Somewhat Positive
  - Neutral
  - Somewhat Negative
  - Strongly Negative
 
# Avoid
labels:
  - Good
  - OK
  - Fine
  - Acceptable

2. Tooltip Utili

Aggiungi tooltip per etichette sfumate:

yaml
tooltips:
  Sarcasm: "The text says the opposite of what it means"
  Irony: "A mismatch between expectation and reality"

3. Scorciatoie da Tastiera

Abilita le scorciatoie per attività ad alto volume:

yaml
sequential_key_binding: true

4. Ordine Logico

Ordina le etichette in modo coerente:

  • Le più comuni prima
  • In ordine alfabetico
  • Per intensità (da bassa ad alta)

5. Limita le Opzioni

Troppe scelte rallentano l'annotazione:

  • Radio: 2-7 opzioni
  • Multiselect: 5-15 opzioni
  • Likert: 5-7 punti

6. Testa Prima

Annota tu stesso alcuni esempi prima di distribuire il task per individuare:

  • Etichette ambigue
  • Categorie mancanti
  • Istruzioni poco chiare