Integración de Crowdsourcing
Integración con Prolific, MTurk y otras plataformas de crowdsourcing.
Integración de Crowdsourcing
Potato se integra perfectamente con plataformas de crowdsourcing como Prolific y Amazon Mechanical Turk para tareas de anotación a gran escala.
Integración con Prolific
Configuración Básica
yaml
crowdsourcing:
platform: prolific
enabled: true
completion_code: "POTATO2024" # Code shown on completionParámetros de URL
Prolific pasa la información del participante mediante parámetros de URL:
yaml
crowdsourcing:
platform: prolific
url_params:
- PROLIFIC_PID # Participant ID
- STUDY_ID # Study ID
- SESSION_ID # Session IDLos trabajadores acceden mediante:
text
https://your-server.com/?PROLIFIC_PID=xxx&STUDY_ID=xxx&SESSION_ID=xxx
Configuración en Prolific
En la configuración de tu estudio en Prolific:
- Establece la URL del estudio a tu servidor Potato
- Agrega los parámetros de URL:
?PROLIFIC_PID={{%PROLIFIC_PID%}}&STUDY_ID={{%STUDY_ID%}}&SESSION_ID={{%SESSION_ID%}} - Establece el Código de finalización para que coincida con tu configuración
Validación
Verifica los participantes de Prolific:
yaml
crowdsourcing:
platform: prolific
validate_participant: true
completion_code: "POTATO2024"Integración con Amazon MTurk
Configuración Básica
yaml
crowdsourcing:
platform: mturk
enabled: trueConfiguración de HIT
Crea un HIT de tipo External Question apuntando a tu servidor:
xml
<?xml version="1.0" encoding="UTF-8"?>
<ExternalQuestion xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2006-07-14/ExternalQuestion.xsd">
<ExternalURL>https://your-server.com/?workerId=${workerId}&assignmentId=${assignmentId}&hitId=${hitId}</ExternalURL>
<FrameHeight>800</FrameHeight>
</ExternalQuestion>Parámetros de URL
yaml
crowdsourcing:
platform: mturk
url_params:
- workerId
- assignmentId
- hitIdPruebas en Sandbox
Prueba primero con MTurk Sandbox:
yaml
crowdsourcing:
platform: mturk
sandbox: true # Use sandbox environmentGestión de Trabajadores
Rastreo de Trabajadores
yaml
crowdsourcing:
track_workers: true
worker_id_field: worker_idLimitar Instancias por Trabajador
yaml
instances_per_annotator: 50Bloquear Trabajadores que Regresan
Evita que los trabajadores repitan la tarea:
yaml
crowdsourcing:
prevent_retakes: trueControl de Calidad
Verificaciones de Atención
Inserta preguntas de prueba:
yaml
attention_checks:
enabled: true
frequency: 10 # Every 10 instances
fail_threshold: 2
action: warn # or 'block'Preguntas de Estándar de Oro
json
{
"id": "gold_1",
"text": "The sky is typically blue during a clear day.",
"gold_label": "True",
"is_gold": true
}yaml
quality_control:
gold_questions: true
gold_percentage: 10 # 10% of instances
min_gold_accuracy: 70Límites de Tiempo
yaml
crowdsourcing:
min_time_per_instance: 5 # seconds
max_time_total: 3600 # 1 hourRechazar Trabajo de Baja Calidad
yaml
quality_control:
auto_reject:
enabled: true
conditions:
- gold_accuracy_below: 50
- completion_time_under: 300 # secondsManejo de Finalización
Mostrar Código de Finalización
yaml
completion:
show_code: true
code: "POTATO2024"
message: "Thank you! Your completion code is: {code}"Redirigir al Completar
yaml
completion:
redirect: true
redirect_url: "https://prolific.co/submissions/complete?cc={code}"Página de Finalización Personalizada
yaml
completion:
custom_template: templates/completion.htmlNiveles de Pago
Basados en Calidad
yaml
payment:
tiers:
- name: bonus
condition:
gold_accuracy_above: 90
amount: 0.50
- name: standard
condition:
gold_accuracy_above: 70
amount: 0.00
- name: reject
condition:
gold_accuracy_below: 50Ejemplo Completo: Estudio en Prolific
yaml
task_name: "Sentiment Analysis Study"
# Crowdsourcing settings
crowdsourcing:
platform: prolific
enabled: true
completion_code: "SENT2024"
url_params:
- PROLIFIC_PID
- STUDY_ID
- SESSION_ID
prevent_retakes: true
# Open access for crowdworkers
allow_all_users: true
# Task assignment
instances_per_annotator: 50
annotation_per_instance: 3
# Quality control
attention_checks:
enabled: true
frequency: 10
fail_threshold: 2
quality_control:
gold_questions: true
gold_percentage: 5
min_gold_accuracy: 70
# Data
data_files:
- path: data/main.json
text_field: text
# Annotation scheme
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment?"
labels:
- Positive
- Negative
- Neutral
keyboard_shortcuts:
Positive: "1"
Negative: "2"
Neutral: "3"
# Completion
completion:
show_code: true
code: "SENT2024"
message: |
## Thank you for participating!
Your completion code is: **{code}**
Please return to Prolific and enter this code to receive payment.Ejemplo Completo: HIT en MTurk
yaml
task_name: "Image Classification HIT"
crowdsourcing:
platform: mturk
enabled: true
url_params:
- workerId
- assignmentId
- hitId
allow_all_users: true
instances_per_annotator: 20
# Time constraints
crowdsourcing:
min_time_per_instance: 3
max_time_total: 1800
# MTurk form submission
completion:
mturk_submit: true
submit_url: "https://www.mturk.com/mturk/externalSubmit"
annotation_schemes:
- annotation_type: radio
name: category
description: "What is shown in this image?"
labels:
- Cat
- Dog
- Bird
- OtherMonitoreo de Trabajadores
Panel de Administración
yaml
admin_users:
- researcher@university.edu
admin_dashboard:
enabled: true
show_worker_stats: trueVisita /admin para ver:
- Tasas de finalización de trabajadores
- Tiempo promedio por instancia
- Puntuaciones de precisión en estándar de oro
- Resultados de verificaciones de atención
Exportar Datos de Trabajadores
bash
potato export-workers config.yaml --output workers.csvMejores Prácticas
- Prueba exhaustivamente - Ejecuta un piloto con un grupo pequeño primero
- Establece un pago justo - Calcula el tiempo estimado y paga de manera justa
- Instrucciones claras - Incluye ejemplos y casos límite
- Usa verificaciones de atención - Detecta clics aleatorios
- Incluye preguntas de estándar de oro - Verifica la comprensión
- Monitorea en tiempo real - Detecta problemas tempranamente
- Planifica los rechazos - Establece criterios de calidad claros desde el inicio
- Comunica los problemas - Contacta a los trabajadores sobre inconvenientes
- Itera con la retroalimentación - Mejora basándote en los comentarios de los trabajadores
- Exporta datos regularmente - No esperes hasta el final
Lectura Adicional
- Integración con MTurk - Guía detallada de configuración de MTurk
- Inicio de sesión sin contraseña - Autenticación basada en URL
- Control de calidad - Verificaciones de atención y estándares de oro
Para detalles de implementación, consulta la documentación fuente.