Esquemas de Anotación
Define qué y cómo los anotadores etiquetarán tus datos.
Los esquemas de anotación definen las tareas de etiquetado para tus anotadores. Potato soporta más de 30 tipos de anotación que se pueden combinar para crear tareas de anotación complejas.
Anatomía de un esquema de anotación
Estructura Básica
Cada esquema se define en el array annotation_schemes:
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment?"
labels:
- Positive
- Negative
- NeutralCampos Requeridos
| Campo | Descripción |
|---|---|
annotation_type | Tipo de anotación (radio, multiselect, likert, span, text, number, slider, multirate) |
name | Identificador interno (sin espacios, usado en la salida) |
description | Instrucciones mostradas a los anotadores |
Tipos de Anotación Soportados
1. Radio (Opción Única)
Selecciona exactamente una opción de una lista:
- annotation_type: radio
name: sentiment
description: "What is the sentiment of this text?"
labels:
- Positive
- Negative
- Neutral
# Optional features
sequential_key_binding:
Positive: "1"
Negative: "2"
Neutral: "3"
# Or use sequential binding (1, 2, 3... automatically)
sequential_key_binding: true
# Horizontal layout instead of vertical
horizontal: true2. Escala Likert
Escalas de calificación con etiquetas en los extremos:
- 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
# Show numeric values3. Multiselect (Opción Múltiple)
Selecciona múltiples opciones de una lista:
- annotation_type: multiselect
name: topics
description: "Select all relevant topics"
labels:
- Politics
- Technology
- Sports
- Entertainment
- Science
# Selection constraints
# Allow free text response
has_free_response: true4. Anotación de Segmentos
Resalta y etiqueta segmentos de texto:
- annotation_type: span
name: entities
description: "Highlight named entities in the text"
labels:
- PERSON
- ORGANIZATION
- LOCATION
- DATE
# Visual customization
# Allow overlapping spans
allow_discontinuous: false
# Keyboard shortcuts for labels
sequential_key_binding: true5. Deslizador
Rango numérico continuo:
- annotation_type: slider
name: confidence
description: "How confident are you in your answer?"
min_value: 0
max_value: 100
step: 1
# Endpoint labels
# Show current value6. Entrada de Texto
Respuestas de texto libre:
- annotation_type: text
name: explanation
description: "Explain your reasoning"
# Multi-line input
rows: 4
# Character limits
# Placeholder text
placeholder: "Enter your explanation here..."
# Disable paste (for transcription tasks)7. Entrada Numérica
Entrada numérica con restricciones:
- annotation_type: number
name: count
description: "How many entities are mentioned?"
min: 0
max: 100
step: 18. Multirate (Calificación Matricial)
Califica múltiples elementos en la misma escala:
- annotation_type: multirate
name: quality_aspects
description: "Rate each aspect of the response"
# Randomize item order
# Layout optionsOpciones Comunes
Atajos de Teclado
Acelera la anotación con asignaciones de teclado:
# Manual shortcuts
keyboard_shortcuts:
Positive: "1"
Negative: "2"
Neutral: "3"
# Or automatic sequential binding
sequential_key_binding: true # Assigns 1, 2, 3...Tooltips
Proporciona pistas al pasar el cursor sobre las etiquetas:
tooltips:
Positive: "Expresses happiness, approval, or satisfaction"
Negative: "Expresses sadness, anger, or disappointment"
Neutral: "No clear emotional content"Colores de Etiquetas
Colores personalizados para distinción visual:
label_colors:
PERSON: "#3b82f6"
LOCATION: "#10b981"
ORGANIZATION: "#f59e0b"Campos Requeridos
Haz que un esquema sea obligatorio antes del envío:
- annotation_type: radio
name: sentiment
label_requirement:
required: true
labels:
- Positive
- NegativeMúltiples Esquemas
Combina múltiples tipos de anotación por instancia:
annotation_schemes:
# Primary classification
- annotation_type: radio
name: sentiment
description: "Overall sentiment"
labels:
- Positive
- Negative
- Neutral
label_requirement:
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
has_free_response: true
# Notes
- annotation_type: text
name: notes
description: "Any additional observations?"
rows: 4
label_requirement:
required: falseFuncionalidades Avanzadas
Comparación por Pares
Compara dos elementos:
- annotation_type: pairwise
name: preference
description: "Which response is better?"
labels:
- label: "Response A"
value: "A"
- label: "Response B"
value: "B"
- label: "Equal"
value: "tie"
# Allow tie selection
allow_tie: trueEscalamiento Mejor-Peor
Clasifica elementos seleccionando el mejor y el peor:
- annotation_type: bws
name: ranking
description: "Select the best and worst items"
# Items come from the data fileSelección Desplegable
Selección única eficiente en espacio:
- annotation_type: select
name: category
description: "Select a category"
labels:
- Category A
- Category B
- Category C
- Category D
- Category E
# Default selectionReferencia de Formato de Datos
Entrada
Los esquemas de anotación funcionan con tu formato de datos:
{
"id": "doc_1",
"text": "This is the text to annotate."
}Salida
Las anotaciones se guardan con los nombres de los esquemas como claves:
{
"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."
}
}Mejores Prácticas
1. Etiquetas Claras
Usa etiquetas inequívocas y distintas:
# Good
labels:
- Strongly Positive
- Somewhat Positive
- Neutral
- Somewhat Negative
- Strongly Negative
# Avoid
labels:
- Good
- OK
- Fine
- Acceptable2. Tooltips Útiles
Añade tooltips para etiquetas con matices:
tooltips:
Sarcasm: "The text says the opposite of what it means"
Irony: "A mismatch between expectation and reality"3. Atajos de Teclado
Habilita atajos para tareas de alto volumen:
sequential_key_binding: true4. Orden Lógico
Ordena las etiquetas de forma consistente:
- Las más comunes primero
- Alfabéticamente
- Por intensidad (de menor a mayor)
5. Limitar Opciones
Demasiadas opciones ralentizan la anotación:
- Radio: 2-7 opciones
- Multiselect: 5-15 opciones
- Likert: 5-7 puntos
6. Probar Primero
Anota varios ejemplos tú mismo antes del despliegue para detectar:
- Etiquetas ambiguas
- Categorías faltantes
- Instrucciones poco claras