• Recaptcha de Google: ayudando a escanear libros y a la lucha contra el Spam

    23/04/2014
    Sergio Sánchez

¿Lo reconoces? Seguramente hayas visto la imagen anterior en multitud de páginas web, siempre te suelen pedir que intruduzcas una o dos palabras en una caja de texto para poder enviar un formulario, es el reCaptcha, una aplicación que Google compro en el año 2009. ¿Sabes que estás ayudando a Google a traducir libros con cada captcha que envias? Vamos a intentar explicarte cómo:

Primero de todo, ¿Que es un captcha?

Captcha son las siglas de Completely Automated Public Turing test to tell Computers and Humans Apart (Test de Turing para diferenciar ordenadores de humanos) y es un sistema que prueba que quien envia los datos al servidor es un humano y no una máquina de forma automatizada.

Vale, ya se lo que es pero... ¿Como funciona?

Normalmente los captchas suelen mostrarte una imagen con frases, letras, números de forma distorsionada o dificil de ver para que solamente sea el ojo humano el que sea capaz de ver que pone, de tal manera que el servidor (el que genera esa imagen y sabe que es lo que realmente pone) sepa que el que le envia la información es un humano y no es una máquina.

¿Y como es que reCaptcha ayuda a traducir libros?

Google digitaliza libros y estos libros al digitalizarse pasan a través de un sistema OCR (reconocimiento óptico de caracteres) que no es más que un software o programa que intenta interpretar las imagenes de los libros digitalizados para poder obtener el texto que esta escrito en ellos.

El problema esta en que este software no es 100% preciso y no es capaz de traducir el 100% del texto que le llega a través de estas imagenes digitalizadas de los libros, de tal forma que somos los usuarios quienes ayudamos a traducir esas palabras que el sistema OCR no es capaz de reconocer.

¿Y como lo hace?

El sistema recaptcha tiene que cumplir dos funciones: la principal, ayudar a distinguir un humano de un robot y la secundaria que es ayudar a traducir los libros que el OCR no es capaz de traducir. Para ello recaptcha te muestra dos imagenes con dos palabras/números, una de esas palabras el servidor la conoce perfectamente y la otra no. Cuando un usuario envia esas dos palabras y el servidor las recibe se comprueba que la palabra que el servidor conoce sea la misma que la que ha escrito el usuario, de esta manera hay altas probabilidades de que el usuario haya escrito correctamente también la segunda palabra (la que el servidor no conoce su significado). Si la palabra desconocida por el servidor recibe multiples traducciones humanas iguales se considera que esa transcripción es correcta y pasa a la lista de palabras transcritas correctamente.

¿A que es una buena idea? Ahora además de ayudar a traducir libros los usuarios también ayudamos a obtener los números de las calles a través de las imagenes que los coches de Google Street View van tomando por las ciudades y pueblos por los que pasa.