lunes, 24 de mayo de 2010

Calculo de relevancia y usuarios

El calculo de relevancia que realizan buscadores como Google o Bing a la hora de ordenar los resultados correspondientes a una consulta de un usuario es una aproximacion a la relevancia real que cada documento tiene para el usuario que realiza la consulta.

De esta forma los buscadores realmente calculan la probabilidad de que un documento sea relevante o no para una consulta dada, cuanto mas probable sea su relevancia, mas arriba estara en el ranking de documentos que se devuelve al usuario.

Obviamente esta relevancia basada en probabilidad esta muy lejos de lo que seria la relevancia ideal que solo existe en la cabeza del usuario que realiza la consulta y que, para mas complicacion, puede ser distinta para dos usuarios diferentes, con lo cual lo que un usuario considera relevante para una consulta dada, otro puede considerar que no lo es incluso para la misma consulta.

Hoy en dia, el problema de detectar cuando la misma consulta debe devolver distintos resultados en funcion de cada usuario se intenta solventar adivinando cual es el contexto en el que se encuentra el usuario, por ejemplo su situacion geografica.

El ejemplo tipico es la busqueda local. Para la consulta "restaurantes en Santiago" un buscador deberia devolver distintos resultados si el usuario esta en Galicia (Santiago de Compostela) o si esta en Chile (Santiago de Chile).

La idea central es que cuanto mas sepamos sobre el contexto en el que se encuentra el usuario cuando hace la consulta, mas nos aproximaremos a la idea de relevancia que tiene el usuario en su cabeza en ese momento. Si seguimos esta idea la mejor manera de calcular una relevancia adaptada a cada usuario sera que se matengan cuentas de usuario, donde en funcion de las busquedas anteriores podemos saber lo que un usario concreto considera relevante y lo que no. Esto es precisamente lo que hace Google cuando realizamos busquedas personalizadas.

Por otro lado, todos los buscadores, ya sean especializados o no, intentan aproximarse a la idea que tienen sus usuarios de lo que es relevante y de lo que no lo es a traves del analisis de los registros de consultas que se producen durante la interaccion de los usuarios con el buscador, lo que se denominan "query logs".

La informacion estadistica que se extrae de estos registros sirve para "entrenar" las funciones de ranking que usan los buscadores, de manera que se ofrecen los resultados mas relevantes y a la vez mas populares (es decir donde mas gente ha hecho click) en las posiciones mas altas del ranking.

Un ejemplo sencillo de esto seria el siguiente: Imaginemos que nuestro buscador devuelve una lista de 10 documentos para una consulta dada, sin embargo, nos damos cuenta de que un porcentaje alto de usuarios suele hacer click en el tercer resultado, ignorando el primero y el segundo. Asi pues, lo que haremos sera asignar un factor (que puede estar basado en el numero de personas que hacen click en ese resultado) de manera que el resultado mas popular (es decir el que mas gente pincha) pasa de aparecer tercero a aparecer en la primera posicion del ranking para esa consulta.

Un buen articulo para profundizar en este tema es el siguiente (en ingles):

Improving Web Search Ranking by Incorporating User Behavior Information [paper], Eugene Agichtein, Eric Brill, and Susan T. Dumais, ACM SIGIR Conference on Research and Development on Information Retrieval (SIGIR), 2006

De un tiempo a esta parte, la informacion generada por los usuarios de los buscadores se ha convertido en uno de los aspectos mas importantes en la definicion del calculo de relevancia en los buscadores. Actualmente, el buscador que devuelve los mejores resultados no es aquel que tiene los mejores algoritmos, sino aquel que tiene la mejor muestra posible para hacerse una idea de que es considerado relevante por los usuarios y que no.

En mi opinion, la gran ventaja que hace que Google, a dia de hoy, devuelva resultados mas relevantes no es que tenga mejores algoritmos, sino que, dado que es el buscador mas utilizado, tiene mucha mas informacion sobre lo que los usuarios consideran relevante, y por lo tanto es capaz de aproximarse mas a esa funcion ideal de relevancia que los usuarios tienen en la cabeza.

La disciplina surgida a partir de esta idea, se denomina Web Mining, y es sin duda una de las areas mas interesantes hoy en dia en Busqueda Web, no solo por sus implicaciones en el campo de la relevancia, sino tambien por su importancia en temas como marketing en internet y posicionamiento. Una buena forma de introducirse en este mundo es el libro escrito por Fabrizio Silvestri:

Fabrizio Silvestri: Mining Query Logs: Turning Search Usage Data into Knowledge. Foundations and Trends in Information Retrieval 4(1-2): 1-174 (2010)
http://www.nowpublishers.com/product.aspx?doi=1500000013&product=INR

Tambien es muy interesante el tutorial que dieron el mismo autor y Ricardo Baeza-Yates en Madrid en 2009, el cual fue grabado integramente y puedes seguir desde aqui:

http://videolectures.net/qlm09_madrid/

No hay comentarios:

Publicar un comentario