Archivos Mensuales: marzo 2012

Colaboración online a escala masiva

manonthemoon

Si con 100.000 personas pudimos enviar a un hombre a la luna, ¿qué podemos hacer con 1.000.000?

¿Sabías que cada vez que tecleas un CAPTCHA estás digitalizando un libro? Pero no eres el único que lo está haciendo en ese momento. Resulta que cada día hay unos 200 millones de personas que escriben un CAPTCHA. Luis von Ahn, uno de los creadores del CAPTCHA se puso a echar cuentas: si de media cada usuario dedica 10 segundos a teclear un CAPTCHA, al día son … ¡500.000 horas! Y se le ocurrió que todo ese tiempo lo podíamos dedicar a algo más productivo, como por ejemplo, digitalizar libros.

Los CAPTCHAS son un mecanismo de seguridad. Están ahí para asegurarse de que quien está haciendo una petición a una web (por ejemplo, reservando unas entradas para un concierto) es una persona y no una máquina. Se basan en que nuestra capacidad para reconocer un texto es mejor que la capacidad que tienen las máquinas. Mientras que nosotros podemos leer el CAPTCHA con poco esfuerzo, para una máquina reconocer un texto rasterizado como imagen es, actualmente, una tarea complicada.

Para digitalizar libros también se usan máquinas. Hay software de Reconocimiento Óptico de Caracteres que a partir de un texto escaneado  puede obtener un archivo en formato texto (digamos que transforma una foto de la página de un libro en una página de un documento en Word). Pero otra vez, resulta que las máquinas no son especialmente buenas para ello. Para libros antiguos, de unos 50 años, los programas de reconocimiento de caracteres fallan alrededor del 30% de las veces. Entonces se le ocurrió la idea de ponernos a todos a digitalizar libros. Por eso aparecen dos palabras en algunos CAPTCHAS. Una de las palabras es el CAPTCHA en sí, el que nos identifica como personas y no como máquinas. La otra palabra es una palabra extraída de un libro y manipulada para que no podamos distinguir el CAPTCHA de la imagen extraída del libro, la que estamos digitalizando.

Before the Internet, coordinating more than 100,000 people, let alone paying them, was essentially impossible. But now with the Internet, I’ve just shown you a project where we’ve gotten 750 million people to help us digitize human knowledge.” (Luis von Ahn)

La siguiente idea fue mejor aún si cabe. A Luis von Ahn se le ocurrió traducir la web. Pero a las máquinas tampoco se les da bien traducir textos (quién no se ha deprimido alguna vez al intentar traducir un texto con Google Translator). Así que les toca otra vez a las personas hacerlo. El problema era incentivar de algún modo el esfuerzo de la gente.

Y así es como nace duolingo (en fase beta mientras escribo esto, aunque podéis inscribiros para que os envíen una invitación). Básicamente se trata de un sistema que permite aprender idiomas mientras haces algo de provecho para el resto del mundo, como traducir la web. Y todo esto, gratis, a cambio de dedicarle tiempo. Como dicen en el video, se calcula que si un millón de personas se pusiesen a usar duolingo terminarían traduciendo la versión en inglés de la wikipedia en 80 horas. Impresionante.

Ahora mismo no se me ocurren muchas más aplicaciones usando el mismo sistema, pero hay que reconocer que es una idea maravillosa. No pretendo caer en un optimismo gratuito, pero me atreveré a afirmar que si por cada acto cotidiano que realizamos a lo largo de cada día obtuviésemos un impacto positivo en el mundo real,  podríamos mantener nuestro bienestar de forma indefinida.

En programación es un método frecuente el dividir un problema mayor, imposible de atacar, en pequeños fragmentos que podemos resolver fácilmente (top-down approach). Se habla mucho de que en una sociedad globalizada los problemas también se globalizan y nos afectan a todos. Lo que me pregunto después de ver la charla en TED Talks de Luis von Ahn, es si podemos plantear estrategias para dividir problemas de calado mundial en problemas de solución trivial, organizarnos mediante redes colaborativas y sumar resultados. El cambio puede ser espectacular.

Anuncios
Etiquetado , , ,

Hello World!

Soy un robot. Me considero a mí mismo un robot elegante. Y hago parpadear mis LEDs para daros la bienvenida.

int ledPin = 13;                 // LED connected to digital pin 13
void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}
void loop()
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}
int ledPin = 13;

El texto anterior es el código que permite hacer parpadear un LED en una placa arduino.
Es uno de los muchos ‘Hello World!‘ que os podéis encontrar por el mundo.

.