En el Capítulo 1 aprendíamos las diferencias entre los diversos tipos de buscadores. En el Capítulo 2 aprendíamos como se pueden buscar cosas de forma muy rápida cuando tenemos mucha información. En este capítulo vamos ver el último paso de funcionamiento de un buscador, no por ello menos importante. Se trata de la ordenación de los resultados de una búsqueda. Para esta tarea existen cientos de algoritmos y métodos de los cuales vamos a ver una pequeña introducción intuitiva. Según la eficacia de estos métodos el usuario obtendrá una satisfacción mayor o menor. ¿Os molesta que el Google no encuentre lo que buscáis? ¿Os molesta encontrar el mejor resultado en la segunda página?
El primer método que nos viene a todos a la cabeza es el de poner antes las páginas web donde más veces aparezca la palabra que buscamos. Supongamos que buscamos «Albert Einstein», aplicamos los métodos descritos en el Capítulo 2, y solo exisen 3 páginas en Internet que contienen alguna de las dos palabras:
-Página web 1: » Albert Einstein murió en 1955. Uno de los mayores logros de Einstein fue la formulación de la teoría de la relatividad.»
-Página web 2: » Albert es un niño muy juguetón. Siempre está dando la tabarra. Pero Albert también tiene una mente brillante con la que podría rivalizar con el mismísimo Einstein. Puede que algún día Albert nos sorprenda. Albert tiene una gran imaginación. Podríamos educarlo para que llegue a ser un genio que gane el premio Nobel.»
-Página web 3: «Uno de los grandes fallos reconocidos de Einstein fue la introducción de la constante cosmológica. Aunque últimamente se está viendo que Albert Einstein no estaba tan equivocado. Albert era nunca aceptó plenamente las teorías de la mecánica cuántica.»
Si aplicamos el método de contar las palabras clave y poner antes las páginas web en las que más aparezcan las palabras buscadas obtendríamos la siguiente ordenación:
-PRIMERA POSICIÓN (Las Palabras Albert y Einstein aparecen 5 veces): » Albert es un niño muy juguetón. Siempre está dando la tabarra. Pero Albert también tiene una mente brillante con la que podría rivalizar con el mismísimo Einstein. Puede que algún día Albert nos sorprenda. Albert tiene una gran imaginación. Podríamos educarlo para que llegue a ser un genio que gane el premio Nobel.»
-SEGUNDA POSICIÓN (Las Palabras Albert y Einstein aparecen 4 veces):»Uno de los grandes fallos reconocidos de Einstein fue la introducción de la constante cosmológica. Aunque últimamente se está viendo que Albert Einstein no estaba tan equivocado. Albert era nunca aceptó plenamente las teorías de la mecánica cuántica.»
-TERCERA POSICIÓN (Las Palabras Albert y Einstein aparecen 3 veces): «Albert Einstein murió en 1955. Uno de los mayores logros de Einstein fue la formulación de la teoría de la relatividad.»
Fijaros que si el Google nos diera este resultado no estaríamos muy satisfechos con la primera página obtenida ya que no habla de Albert Einstein. Debemos mejorar nuestro algoritmo de ordenación de resultados. ¿Qué es mejor GENERALMENTE, una web con 50.000 palabras donde aparece Albert Einstein una vez, o una web con 50 palabras donde aparece Albert Einstein una vez? Yo creo que todos escogeríamos la segunda web. Veamos como podemos mejorar nuestro método para tener en cuenta este factor.
Además de tener en cuenta el número de apariciones de las palabras clave, vamos a contar el número de palabras de cada web. Calculamos el número de palabras de cada web y lo dividimos entre el número de apariciones de las palabras para obtener la puntuación final. Cuanto más palabras tenga la web menor será la puntuación a no ser que la palabra clave aparezca muchas veces.
-PRIMERA POSICIÓN (Número de palabras:21. Número apariciones: 3 . Puntuación: 3/21=0.14): «Albert Einstein murió en 1955. Uno de los mayores logros de Einstein fue la formulación de la teoría de la relatividad.»
-SEGUNDA POSICIÓN (Número de palabras:38. Número apariciones: 4 . Puntuación: 4/38=0.10 ):»Uno de los grandes fallos reconocidos de Einstein fue la introducción de la constante cosmológica. Aunque últimamente se está viendo que Albert Einstein no estaba tan equivocado. Albert era nunca aceptó plenamente las teorías de la mecánica cuántica.»
-TERCERA POSICIÓN (Número de palabras:53. Número apariciones: 5 . Puntuación: 5/53=0.09): » Albert es un niño muy juguetón. Siempre está dando la tabarra. Pero Albert también tiene una mente brillante con la que podría rivalizar con el mismísimo Einstein. Puede que algún día Albert nos sorprenda. Albert tiene una gran imaginación. Podríamos educarlo para que llegue a ser un genio que gane el premio Nobel.»
Fijaros que hemos conseguido que las páginas con mayor Densidad de palabras clave aparezcan primero. Seguramente hayáis notado esta característica al buscar con Google, generalmente los primeros resultados muestran webs donde las palabras que hemos buscado están muy cercanas y aparecen muchas veces.
Tened en cuenta que ésta es una pequeña descripción del método de forma intuitiva. La fórmula completa tiene en cuenta otros factores importantes, ya que según lo descrito una web que pusiera «Albert Einstein» a secas sería la ganadora. Este no es un método definitivo ni mucho menos, hay muchos algoritmos que utilizan técnicas muy avanzadas para intentar darnos los mejores resultados. Una mejora sería aplicar este método para cada frase, e ir sumando la puntuación de cada frase para obtener una puntuación final.
A este método se le pueden encontrar muchos defectos, pero por lo general funciona bastante bien. Además, debéis tener en cuenta que la ordenación de los resultados finales es algo muy subjetivo. Quizás un resultado no le sirva para nada a la persona X, pero a la persona Y le sea de mucha utilidad. Por ello Google, además de utilizar algoritmos básicos de ordenación como el que acabamos de explicar, usa también el famoso PageRank para mejorar aún más a disposición de los resultados.
PageRank asigna una puntuación a cada página según una fórmula que explicaremos en el siguiente capítulo. El valor del PageRank se utiliza junto con el valor obtenido por el Algoritmo de Ordenación «similar» al explicado en este artículo para obtener la posición final de cada web en los resultados de un búsqueda.