La verdad del “algoritmo” de indexación de Google (O NO, LEER HASTA EL FINAL)

¿Qué mecanismo utiliza Google para ordenar las páginas en su buscador cuando introducimos en él un criterio de búsqueda? Desde siempre se ha creído que el algoritmo utilizado para ello era el conocido como Google PageRank, pero hace unos años el gigante informático hizo pública la forma real en la que se ordenan las webs en su buscador. Hoy vamos a contar cuál es.

Como decíamos, siempre se ha pensado que este orden se asignaba mediante el algoritmo llamado Google PageRank. Dicho algoritmo utiliza básicamente álgebra lineal para asignar a cada página un valor de importancia que después se usa para colocarla en el lugar que le corresponda. Por ejemplo, si buscamos la palabra “gaussianos”, este algoritmo asignaría a cada página en la que aparezca “gaussianos” un valor de importancia según la relevancia que tuviera la misma respecto de dicha palabra, y después el buscador nos mostraría las páginas en orden según dichos valores de importancia, mostrándonos al principio la más relevante.

Bien, pues en realidad eso no es así. Hace unos años, en 2011 concretamente, Google publicaba el verdadero mecanismo de indexación de su buscador, y con ello revolucionaba la informática de cabo a rabo. Dicho mecanismo se denomina PigeonRank, y, como su propio nombre indica, usa palomas. Sí, sí, habéis leído bien, palomas.

Este mecanismo de indexación está explicado en esta web, pero como en el momento de escribir este artículo en ocasiones daba “Error 404” he decidido hacer una captura de pantalla por si continúa teniendo problemas de acceso:

PigeonRank

Google nos comenta en ella que, a partir de los trabajos de B. F. Skinner sobre palomas se dieron cuenta de que grupos de palomas (en inglés, pigeon clusters, PCs) de bajo coste se podrían utilizar para computar el valor relativo de las páginas web mucho más rápido que si utilizaran seres humanos o algoritmos informáticos. Como se puede leer también en la información proporcionada por Google:

El éxito de PigeonRank se debe al buen entrenamiento de las palomas domésticas (Columba Livia) y su excelente capacidad para reconocer objetos sin importar la orientación en el espacio. Google utiliza solamente material de bajo coste, palomas de la calle para sus grupos. Se recolectan palomas en parques y plazas de la ciudad.

Y el funcionamiento en sí del PigeonRank es bien sencillo. Básicamente se podría explicar como sigue:

Cuando alguien realiza una búsqueda en el buscador, se mandan multitud de páginas a increíbles velocidades a grupos de palomas. Cuando una de ellas localiza un resultado relevante en relación a la búsqueda, golpea una barra con el pico. Ese picotazo asigna a dicha web un PigeonRank de 1. Por cada picotazo, el PigeonRank de dicha página aumenta, y las páginas con mayor número de picotazos recibidos se muestran al usuario en los primeros puestos de la página de resultados.

Grandioso, ¿verdad? Realmente brillante.

De todas formas, es posible que haya gente que no comprenda cómo unos animales como las palomas pueden ser útiles para esta tarea. Pues, como bien explican también nuestros amigos de Google:

Las palomas son sorprendentemente hábiles en hacer juicios instantáneos cuando se enfrentan a decisiones difíciles. Esto hace que sean adecuadas para cualquier tipo de trabajo que requiere la toma de decisiones precisa y fidedigna bajo presión.

Es decir, que son perfectas para realizar el cometido que estamos comentando: mostrarnos los resultados de nuestra búsqueda en el orden adecuado.

Y para quienes estén preocupados por el trato que se les da a las palomas, Google nos explica que cumple con todos los estándares internacionales (de hecho los excede) en relación con el trato ético de su personal de palomas. Además, también nos cuentan que siempre tienen a su disposición una gran variedad de semillas y granos, con lo que podemos ver que también se preocupan enormemente por la alimentación de este valioso colectivo de trabajadores.

En definitiva, una idea sencilla, brillante y fácil de implementar con la que Google nos ayuda a diario a resolver nuestras dudas y a encontrar lo que buscamos. A partir de ahora, seguro que cuando te encuentres una paloma por la calle la mirarás con otros ojos.


Actualización:

Evidentemente, la información dada en este post no es real, y su publicació responde a la “festividad” del 28 de diciembre.

Concretamente, corresponde a una “inocentada” publicada por Google el 1 de abril de 2002, fecha del típico April Fools’ day (el día de los inocentes anglosajón). La web que dije que daba error en realidad parece que ya no está disponible, pero se puede consultar aquí.

Para más información sobre cómo Google ordena las páginas en sus buscador podéis echarle un ojo a este post de Cuentos Cuánticos o buscar directamente en el propio Google (hay mucha información al respecto).

Autor: ^DiAmOnD^

Miguel Ángel Morales Medina. Licenciado en Matemáticas y autor de Gaussianos y de El Aleph. Puedes seguirme en Twitter o indicar que te gusta mi página de Facebook.

9 Comentarios

  1. En este ecosistema, que diría Enrique Dans, nosotros somos los pichones…

    Publica una respuesta
      • Creo que los periquitos son todavía más perspicaces que las palomas. Hablaré con Google!

        Publica una respuesta
  2. Jaja, buena inocentada!

    Solo por dar el toque “pedante”, PageRank no es un algoritmo de búsqueda (web retrieval) sino de análisis de enlaces (link analysis) para medir la importancia relativa de diferentes páginas webs. El modo de clasificar webs según PageRank es agnóstico a la consulta del usuario, solo sirve para medir su reputación en general.

    Simplificando mucho, si se estima que dos webs pueden estar igualmente relacionadas con la necesidad de información del usuario, se coloca antes la página que tiene mayor PageRank.

    Si hablamos dentro de un framework bayesiano como son los language models, el pagerank es la prior probability de una web, pero para computar la posterior probability de una web dada una consulta necesitamos también un estimador de máxima verosimilitud de la consulta dada una web:

    p(d|q) = \dfrac{p(q|d) \, p(d)}{p(q)}

    p(d|q) nos da el ranking de documentos (webs) dada una consulta (query).
    p(q|d) es el estimador de máxima verosimilitud (esto es lo que llamaríamos algoritmo de búsqueda, típicamente se usa el query likelihood en language models).
    p(d) es el document prior. Podríamos usar PageRank para estimarlo.
    p(q) se puede ignorar puesto que es constante para una misma consulta.

    Pero sin duda, usar palomas parece mucho más intuitivo que este farragoso modelo probabilístico 😉

    Publica una respuesta
  3. Me ha encantado… aunque lo sospechaba. Era ésto, o un montón de chinos leyendo mú lápido, mú lápido XDDD

    Publica una respuesta
  4. está bien, lo leeré cuando agonize en mi Lecho..

    otra vez..

    y otra vez..

    y también otra vez..

    ¡claro que otra vez chinga!

    Publica una respuesta

Trackbacks/Pingbacks

  1. La verdad del “algoritmo” de indexación de Google - […] La verdad del “algoritmo” de indexación de Google […]

Puedes utilizar código LaTeX para insertar fórmulas en los comentarios. Sólo tienes que escribir
[latex]código-latex-que-quieras-insertar[/latex]
o
$latex código-latex-que-quieras-insertar$.

Si tienes alguna duda sobre cómo escribir algún símbolo puede ayudarte la Wikipedia.

Y si los símbolos < y > te dan problemas al escribir en LaTeX te recomiendo que uses los códigos html & lt; y & gt; (sin los espacios) respectivamente.

Envía un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *