Skip to content

Asignación de Tareas

Controla cómo se distribuyen las instancias de anotación a los anotadores.

Asignación de Tareas

Potato proporciona estrategias flexibles de asignación de tareas para controlar cómo se distribuyen las instancias de anotación a los anotadores.

Descripción General

La asignación de tareas controla:

  • Qué ítems ve cada anotador
  • Cuántos ítems completa cada anotador
  • Cuántas anotaciones recibe cada ítem
  • El orden en que se presentan los ítems

Opciones Clave de Configuración

OpciónDescripciónPredeterminado
assignment_strategyEstrategia para asignar ítemsrandom
max_annotations_per_userMáximo de ítems por anotadorilimitado
max_annotations_per_itemAnotaciones objetivo por ítem3

Estrategias de Asignación

Asignación Aleatoria

Asigna ítems aleatoriamente a los anotadores, asegurando una distribución imparcial.

yaml
assignment_strategy: random
max_annotations_per_item: 3

Ideal para: Tareas generales de anotación donde el orden no importa.

Asignación en Orden Fijo

Asigna ítems en el orden en que aparecen en el conjunto de datos.

yaml
assignment_strategy: fixed_order
max_annotations_per_item: 2

Ideal para: Tareas donde los anotadores deben ver los ítems en una secuencia específica.

Asignación por Menos Anotado

Prioriza ítems con menos anotaciones existentes, asegurando una distribución equitativa.

yaml
assignment_strategy: least_annotated
max_annotations_per_item: 5

Ideal para: Asegurar que todos los ítems reciban cobertura adecuada antes de que cualquier ítem obtenga anotaciones excesivas.

Asignación por Máxima Diversidad

Prioriza ítems con mayor desacuerdo entre las anotaciones existentes.

yaml
assignment_strategy: max_diversity
max_annotations_per_item: 4

Ideal para: Control de calidad y resolución de ítems ambiguos.

Asignación por Aprendizaje Activo

Usa aprendizaje automático para priorizar instancias inciertas.

yaml
assignment_strategy: active_learning
 
active_learning:
  enabled: true
  schema_names: ["sentiment"]
  min_annotations_per_instance: 2
  min_instances_for_training: 20
  update_frequency: 10

Consulta Active Learning para la configuración completa.

Configuración

Configuración Moderna (Recomendada)

yaml
# Strategy selection
assignment_strategy: random
 
# Limits
max_annotations_per_user: 10    # -1 for unlimited
max_annotations_per_item: 3     # -1 for unlimited
 
# Optional: nested configuration
assignment:
  strategy: random
  max_annotations_per_item: 3
  random_seed: 1234

Configuración Heredada

La configuración anterior automatic_assignment todavía es compatible:

yaml
automatic_assignment:
  on: true
  output_filename: task_assignment.json
  sampling_strategy: random    # 'random' or 'ordered'
  labels_per_instance: 3       # Annotations per item
  instance_per_annotator: 5    # Items per annotator
  test_question_per_annotator: 0

Preguntas de Prueba

Inserta preguntas de verificación de atención en la cola de anotación:

Definición de Preguntas de Prueba

Agrega _testing al ID de la instancia en tu archivo de datos:

csv
text,id
"This is test question 1",0_testing
"Regular item",dkjfd

O en JSON:

json
[
  {"id": "0_testing", "text": "This is a test question"},
  {"id": "regular_001", "text": "Normal annotation item"}
]

Configuración

yaml
automatic_assignment:
  on: true
  test_question_per_annotator: 2  # Insert 2 test questions per annotator

Ejemplos de Configuración

Asignación Aleatoria Básica

yaml
annotation_task_name: "Sentiment Analysis"
assignment_strategy: random
max_annotations_per_user: 20
max_annotations_per_item: 3

Asignación Enfocada en Calidad

yaml
annotation_task_name: "Quality Annotation"
assignment_strategy: max_diversity
max_annotations_per_item: 5
max_annotations_per_user: 50

Configuración de Crowdsourcing

yaml
annotation_task_name: "Crowdsourced Task"
assignment_strategy: random
max_annotations_per_user: 10
max_annotations_per_item: 3
 
# Crowdsourcing settings
hide_navbar: true
jumping_to_id_disabled: true
 
login:
  type: url_direct
  url_argument: workerId

Configuración de Aprendizaje Activo

yaml
assignment_strategy: active_learning
 
active_learning:
  enabled: true
  schema_names: ["sentiment", "topic"]
  min_annotations_per_instance: 2
  min_instances_for_training: 20
  update_frequency: 10
  classifier_name: "sklearn.linear_model.LogisticRegression"
  vectorizer_name: "sklearn.feature_extraction.text.TfidfVectorizer"

Integración con el Panel de Administración

Monitorea y ajusta la configuración de asignación a través del Panel de Administración:

  1. Navega a /admin
  2. Ve a la pestaña Configuration
  3. Modifica:
    • Max Annotations per User
    • Max Annotations per Item
    • Assignment Strategy

Los cambios surten efecto inmediatamente sin reiniciar el servidor.

Lectura Adicional

Para detalles de implementación, consulta la documentación fuente.