211service.com
Adición de inteligencia humana al software
El servicio Mechanical Turk de Amazon ha proporcionado durante mucho tiempo una fuente de mano de obra barata, cuando el trabajo es simple para los humanos pero difícil para las computadoras. Tareas como describir una imagen, por ejemplo, pueden ser completadas en línea por trabajadores humanos remotos. Los programadores ya utilizan grupos de estos trabajadores, llamados turkers, para realizar muchas de estas tareas al mismo tiempo. Pero Mechanical Turk no ofrece una manera fácil para que los programadores que desarrollan nuevas aplicaciones de software combinen y coordinen los esfuerzos de los turkers. Ahora, los científicos informáticos del MIT han desarrollado un conjunto de herramientas que hace precisamente eso. Llamado TurKit , la herramienta permite a los ingenieros de software escribir algoritmos para coordinar a los trabajadores en línea usando el lenguaje de programación Javascript y crear aplicaciones poderosas que tienen inteligencia humana incorporada. El software también se puede depurar como un código normal.

Software con cerebros: El complemento de procesamiento de texto, Soylent, que se muestra arriba, fue construido con TurKit. Turkit ayuda a los desarrolladores a escribir algoritmos que integran el trabajo de los humanos reclutados a través de Mechanical Turk.
Por lo general, en JavaScript, no sería posible acceder a Mechanical Turk sin mucho trabajo, explica Greg Little, candidato a doctorado en el MIT Laboratorio de Informática e Inteligencia Artificial , quien creó TurKit. Este es un puente para escribir código que interactúa con los trabajadores de Mechanical Turk, por lo que podemos explorar fácilmente nuevos métodos de computación humana.
Con TurKit, la información humana se almacena en una base de datos. De esa forma, cada vez que el software en desarrollo falla, los turkers no tienen que empezar de cero. En cambio, una vez que se ha solucionado el programa, puede continuar donde lo dejó. Si espera una hora para que los humanos terminen su tarea, y luego el programa arroja un error, no querrá esperar otra hora solo para ver si su corrección de errores funciona, dice Little. TurKit también evita que la entrada humana cambie de manera impredecible durante el proceso de depuración. Si obtuviera un comportamiento diferente cada vez que ejecuté (un programa), nunca podría depurar ese objetivo en movimiento, dice Michael Bernstein, candidato a doctorado en el MIT, quien usó TurKit para crear una aplicación de procesamiento de texto llamada Soylent .
Gracias a TurKit, los investigadores ya han creado algoritmos de computación humana lo suficientemente estables como para incorporarlos al software en funcionamiento. Soylent utiliza grupos de tres a siete turkers para realizar la corrección de pruebas y el acortamiento de párrafos bajo demanda en Microsoft Word, con un algoritmo llamado Find-Fix-Verify. En la etapa de búsqueda, los turkers simplemente resaltan los errores sin corregirlos. Soylent compara los resultados de varios trabajadores para verificar la coherencia, luego envía la salida filtrada a otro grupo de turkers que corrigen los errores. Finalmente, un tercer grupo verifica las correcciones de calidad; Los resultados deficientes se marcan y Soylent muestra solo las correcciones examinadas. Si solo suelta turkers en su párrafo, alrededor del 30 por ciento del trabajo que recibe es inutilizable, dice Bernstein. Queríamos tratar eso como un ruido inherente en el sistema mientras garantizábamos la calidad al usuario final.
Otra aplicación de Mechanical Turk, llamada VizWiz , se está desarrollando para permitir que los usuarios ciegos identifiquen objetos, como letreros de calles o artículos de despensa, con la ayuda de las cámaras de sus teléfonos inteligentes y turkers videntes. Idealmente, VizWiz funcionará rápido, de modo que los usuarios obtengan resultados cuando más los necesitan. Científico informático de la Universidad de Rochester Jeffrey Bigham y su equipo usó TurKit para crear un algoritmo, llamado quikTurkit, que reduce el tiempo de espera al poner en cola grupos de turkers antes de que sean necesarios. Cuando un usuario activa la cámara de VizWiz, quikTurkit indica a los turkers que una nueva consulta es inminente, ya sea reclutando nuevos trabajadores a pedido o enviando la solicitud a un grupo de ocho turkers que ya están respondiendo consultas anteriores. El método anterior devuelve resultados al usuario en un par de minutos; este último tiene un promedio de menos de 30 segundos. Si está ejecutando una aplicación de reconocimiento óptico de caracteres costosa en su teléfono, de todos modos podría tomar tanto tiempo darle una respuesta, dice Bigham, mientras que VizWiz es más inteligente y podría ser más económico.
Tanto Bigham como Bernstein dicen que ven la computación humana como un campo rico para aplicaciones futuras, con herramientas de código abierto como TurKit como el mejor medio para crear prototipos y refinarlas. Los algoritmos humanos son fundamentalmente diferentes a los que estamos acostumbrados, y TurKit nos permite explorar formas de optimizarlos, dice Bernstein. Si comenzamos a conectar multitudes humanas con éxito en estos sistemas, podemos producir un producto final que sea mucho más poderoso, y hacerlo a bajo costo con alta confiabilidad.