La verificación de texto…

Si es aficionado al mundo bloguero y además comenta de vez en cuando los posts, seguro que ha visto ésto más de una vez:

Como posiblemente sepa, la verificación de palabra sirve para que nadie pueda enviar publicidad, utilizando programas que manden comentarios de forma automática… ¿el truco? que sólo un humano podrá reconocer texto en esa imagen distorsionada. Es una consecuencia directa de lo que nos diferencia de los ordenadores

Sin embargo, esto no está tan claro… la idea funciona bien en la práctica, pero con cierto esfuerzo se puede hacer que los ordenadores reconozcan texto. Por ejemplo, pongamos que escribimos un «2» de nuestro puño y letra:

¿Sí? Un bonito y gran número. Ahora pensemos en un ordenador que almacena este 2 en memoria y le superpone una cuadrícula, así:

Parece ridículo, pero acabamos de dar un gran salto: en este momento un ordenador ya puede tratar este número, no como un trazo, sino como una tabla donde una casilla puede tomar dos valores: blanco o negro (0 ó 1… qué curioso :P). Ahora, pongamos que el ordenador tiene grabado el siguiente gráfico en su memoria (y que tiene también la «tabla» con el valor de cada casilla)

Hasta aquí no hemos hecho magia… quizá el paso más complicado es que el ordenador lea la imagen original y construya la tabla con el color de cada casilla… pero es bien posible, se lo aseguro. El siguiente paso es fantástico:

compa.jpg

Bueno, no es tan fantástico, pero ¿se imaginan qué podemos hacer ahora? Comparemos las dos tablas que tenemos en memoria, con las casillas que están a negro o a blanco… Bien, no van a coincidir todas, pero quizá sí el 80%… y si hacemos los cuadros muy muy pequeños podremos tener aun más precisión. Luego lo único que nos faltaría es hacer una comparación entre las tablas utilizando estadística… y eso sí lo sabe hacer el ordenador :)Así que nuestro estúpido armatoste de silicio terminará comprendiendo que eso que alguien escribió es, efectivamente, un «2»… Con esto tal vez pueda hacerse una idea de lo extremadamente estúpidos que son los ordenadores si los comparamos con un humano…

¿Y qué pasa entonces con la verificación de palabra? Pues fíjese atentamente en la imagen que pusimos como ejemplo antes:

Las letras están retorcidas y en contacto para despistar al ordenador. Es todo extremadamente sutil: para diferenciar las letras como la ‘t’, la ‘j’ y la ‘i’, podríamos recortar valiéndonos de los espacios en blanco, pero entonces no sabríamos separar la ‘b’, la ‘x’, la ‘z’ y la ‘a’… cualquier programa informático se haría un verdadero lío con estos trucos tan infantiles. Si no se lo cree compruébelo.

Este tipo de tecnología ha sido ampliamente estudiada, por ejemplo, para el reconocimiento de texto de los escáneres con tecnología OCR (Reconocimiento óptico de caracteres). Hoy en día no lo hacen nada mal, siempre que no se les líe a conciencia ;-)