sábado, 19 de junio de 2010

La clave es el ranking

En recuperacion de informacion, el modelo mas basico es el modelo basado en logica booleana. En este modelo la relevancia de los documentos se evalua en torno a dos unicos valores: relevante y no-relevante, o lo que es lo mismo verdadero o falso. La logica booleana es lo que se denomina una logica bivaluada, es decir con solo dos valores de verdad, en contraposicion a otras logicas polivaluadas, como por ejemplo la logica borrosa, donde podemos utilizar infinitos valores de verdad.

Los operadores booleanos AND, OR y NOT han sido usados durante mucho tiempo como base para crear lenguajes de consulta sencillos pero a la vez bastante potentes. Un buen ejemplo de lenguaje de consulta basado en logica booleana es SQL, utilizado en bases de datos relacionales.

Las limitaciones del modelo booleano en recuperacion de informacion son evidentes, ya que no nos permite decidir entre dos documentos relevantes cual es mas relevante de los dos a partir de una consulta dada. Por este motivo los buscadores como Google o Yahoo no implemenetan realmente una capa booleana, dejando todo el trabajo a modelos de recuperacion mas complejos basados en tecnicas probabilisticas.

Sin embargo, cuando hablamos sobre buscadores con profesionales que no estan familiarizados con las tecnicas de recuperacion de informacion, suele ser complicado hacerles ver que se tienen que olvidar del modelo booleano. Mucha gente viene del mundo de las bases de datos relacionales que almacenan informacion muy estructurada (nombres de personas, numeros de registro, direcciones, telefonos, cuentas bancarias, etc) y no son capaces de ver que un buscador NO es una base de datos relacional, ya que sigue un modelo basado en informacion escasamente estructurada que se almacena en estructuras de datos no relacionales como son los indices invertidos.

Esto ocurre incluso a nivel de investigacion donde investigadores de otras areas tratan de aplicar tecnicas propias a la recuperacion de informacion sin tener en cuenta adecuadamente las bases sobre las que se disena e implementa un buscador.

En el mundo SEO es tambien facil encontrar este tipo de errores, ya que muchos SEOs son webmasters que llevan mucho tiempo trabajando con PHP y MySQL e incluso implementando buscadores para sus webs con estas herramientas, por lo que les cuesta olvidarse del modelo booleano cuando piensan en optimizar una web.

Por supuesto como en todo en la vida, no se puede generalizar, y hay investigadores, SEOs e ingenieros que son capaces de ir mas alla y aplicar correctamente las tecnicas basicas de recuperacion de informacion.

Una buena manera de evitar caer en este error es asumir que el gran problema de la recuperacion de informacion no es recuperar documentos relevantes, si no ordenarlos en funcion de esa relevancia, y por lo tanto todas las tecnicas que utilicemos para intentar mejorar nuestro buscador deben estar centradas en mejorar nuestro ranking de documentos y no tanto en recuperar mas o menos documentos.

Por muy obvio que parezca lo que explico aqui, es muy facil caer en este error. De hecho, muchas tecnicas que tratan de aplicar Procesamiento de Lenguaje Natural y/o tecnicas basadas en tecnologias de la Web Semantica caen precisamente en este error de principiante. Una buena manera de evitar este problema es preguntarse:

"Como afecta esta tecnica al ranking de documentos que se genera?" lo altera de alguna forma? lo deja igual? lo mejora? lo empeora?

si no tenemos respuesta para estas preguntas, deberiamos pensarnos dos veces el aplicar cambios a nuestro algoritmo de busqueda o a nuestra web, al fin y al cabo ya sabemos que lo que aparezca mas alla de los 10 primeros resultados de un buscador realmente no existe :-)