miércoles, 15 de febrero de 2012

Amazon Mechanical Turk



La semana antepasada me estrené en Mechanical Turk (MTurk), un servicio en beta ofrecido por Amazon para dos cosas: publicar tareas para que seres humanos las completen, o ganar dinero haciendo tareas que otros publican.

Para efectos del servicio, MTurk maneja los siguientes términos:

  • HIT, Human Intelligence Task, es una tarea que requiere de la inteligencia de un ser humano para ser completada. La tarea puede ser: clasificar imágenes, transcripción de texto desde imágenes o audio, contestar encuestas o escribir textos
  • Worker, trabajador, la persona que escoje y desarrolla un HIT. De esto hablaré más adelante.
  • Requester, solicitante, es quien crea los HIT y pide a los Worker que desarrollen el trabajo.

El servicio es interesante, pues hay muchas tareas monótonas o que requieren que seres humanos las resuelvan, y si uno no se tiene a un androide, un humanoide esclavo o un pasante, es necesario contratar de alguna manera a alguien para que haga el trabajo sucio. ¿Y qué mejor que utilizar internet para ello?

Worker

Para efectos de conocer el servicio, me apunté primero como Worker para conocer la dinámica del sitio. Básicamente uno entra allí y encuentra una lista de tareas de diferentes tipos, como como las que mencioné arriba en la parte de los HIT. Algunos HIT requieren que uno pase pruebas de calificación (por ejemplo, probar de que uno conoce el idioma en el que está formulada la encuesta, o que conoce de un tema específico, como Computer Science) antes de que estos se desbloqueen. En términos generales, se encuentra un portal en el cual se pueden buscar HIT con diferentes criterios, como mostrar únicamente HIT a los que uno esté calificado (sea porque se ha pasado el examen de calificación, o porque uno se encuentra en una zona geográfica permitida por el HIT), la recompensa (Reward) u otros criterios como palabras clave.

Vista general del buscador de HIT con perfil Worker
Las tareas que desarrollé como Worker fueron: un par de encuestas, y una tarea donde debía leer imágenes muy mal digitalizadas y escribir el texto que allí aparecía. Una vez completado el HIT, puede que se aprueben automáticamente los pagos o pueda que se requiera que el Requester verifique que uno ha hecho bien la tarea... porque hay muchos Workers deshonestos. Dediqué media tarde a desarrollar y observar cómo funcionaba el sistema, y desde la perspectiva de Worker es muy fácil encontrar tareas sencillas y con una remuneración aceptable, aunque hay muchas tareas con recompensas exageradas (U$20) que suena a que nunca serán pagadas o que buscan robar datos de las personas para suplantación de identidad (mucho cuidado allí); también hay recompensas ridículamente bajas (U$0.01) que no valen la pena.

Vista del Dashboard
Para el Worker existe una vista llamada Dashboard, en la cual se pueden visualizar las recompensas alcanzadas tras el desarrollo de HIT. En una tarde gané casi U$ 2, una cantidad ridícula para el tiempo invertido.

Para el sistema de pagos a los Worker MTurk tiene disponible la transferencia al balance de tarjetas de regalo de Amazon.com.

Requester


El perfil tras el cual estaba y que realmente me interesaba de MTurk es el de Requester, para conseguir los datos de unas encuestas que necesitaba.

El perfil de Requester arranca mostrando un menú superior con las tareas que se pueden hacer con él: Diseñar, Publicar, Administrar, Desarrollar. Exploré todos los ítem menos el último, que ofrece opciones avanzadas como un API para desarrollar aplicaciones y operar desde línea de comandos.

¿Qué trabajo queremos que el worker haga?


En la sección de Diseño se ofrecen muchas plantillas de acuerdo al tipo de HIT que queremos que el Worker desarrolle: categorización, investigación, escritura, encuesta, etiquetamiento, moderación, transcripción, traducción y otros. Dado que lo mío era una encuesta, arranqué con esa plantilla y de ahí organicé lo que necesitaba preguntar a los Workers.

Una vez escogida la plantilla, hay tres pasos que se deben seguir para guardarla:

  1. Definir las propiedades del HIT. Entre ellas el nombre, la descripción, el tiempo que tiene disponible un worker para desarrollarlo, las calificaciones requeridas para que el Worker pueda hacer el HIT, el tiempo de expiración, el tiempo que se auto-aprueba el HIT desarrollado por un worker, el número de workers diferentes que pueden desarrollar el HIT y la recompensa que se va a otorgar a cada Worker una vez lo desarrolle.
  2. Diseñar el HIT. Allí se muestra la vista normal de la forma, pero resulta indispensable conocer de código HTML pues no ofrece herramientas WYSIWYG para formularios.
  3. Ver el HIT diseñado y guardarlo.

En la sección de Publicación se escoge la plantilla personalizada (o cualquier otra, si se acomoda a lo que queremos resolver) y la publicamos. MTurk ofrece un resumen de los costos, incluyendo la comisión que el sitio cobra (10% de la recompensa, con un mínimo de U$0.005 por tarea), antes de la publicación. Es importante tener en cuenta que se debe tener saldo en la cuenta para poder publicar un HIT.

Una vez los Workers empiecen a trabajar, en la sección de Administración se puede visualizar el avance en los resultados en tiempo real. Se pueden ver los resultados y aprobar desde la interfaz web, o descargando un archivo CSV y llenando unas columnas especiales según las instrucciones que en el sitio brindar. Vale la pena recordar que los HIT que no sean marcados como rechazados son automáticamente aprobados y generarán cargos a nuestra cuenta.
Un batch de HIT en curso.
Manejando workers deshonestos

En internet pulula gente que está detrás del dinero fácil, y MTurk no es una excepción. Por ello como Requester es importante:

  1. Dejar muy claro los objetivos que queremos que el Worker desarrolle en el HIT.
  2. Crear preguntas de verificación que permitan conocer si el Worker leyó y desarrolló correctamente el HIT.
Respecto al segundo punto es clave dejar al menos una pregunta abierta de validación. En mi caso particular, mi HIT era en español, luego esperaba que mucha gente no fuera hispano-hablante intentara contestar mi encuesta. Por ello puse de forma intencional el campo que preguntaba la edad como texto, y muchos dejaban el espacio en blanco, llenaban palabras o letras aleatorias (lo estaban haciendo al azar). También coloqué un "código" dentro de la encuesta para que al final el encuestado lo colocara en una casilla de verificación - al menos así uno se asegura que el Worker al menos leyó las instrucciones.


Para finalizar, si usted va a usar MTurk para objetivos académicos, recomiendo leer Running experiments on Amazon Mechanical Turk (PDF) pues toca varios aspectos del servicio desde ese punto de vista.

¡Buena suerte utilizando MTurk!

No hay comentarios: