Principe du référencement du moteur de recherche Google

Calculs des probabilités de l'algorithme pagerank

Mathématiques appliquées et applications des mathématiques


Introduction - Avertissement

On parle ici de référencement, ou de système de classement, de pages web. Très régulièrement Google (mais aussi bien d'autres moteurs de recherche) parcourt les pages web, note leur contenu, les "indexe", et finalement les classe afin de proposer à chaque demande de recherche d'un utilisateur un ensemble de pages ordonné.
Comme pour beaucoup de technologies, celle-ci aussi évolue; les moteurs de recherche se perfectionnent. L'article qui suit a été écrit en 2010, et décrit le principe mathématique du fonctionnement du "pagerank" qui est l'algorithme alors principal de référencement.
Depuis, bien d'autres algorithmes ont été développés et adaptés par Google, comme, par exemple les algorithmes ou critères de
  • Google BERT: un moteur à base d'IA (Intelligence Articifielle) capable d'analyser les combinaisons de mots
  • Page Experience: le confort des internautes, aussi appelé UX (pour User eXperience), est alors un élement clé
  • Fraîcheur de l'information: pour privilégier les informations les plus récentes, voire les actualités selon le domaine
  • Correspondance neuronale: rendant le moteur capable de comprendre et faire des concepts dans les requêtes

Principe général

Un exemple de réseau est celui formé par l'ensemble des pages accessibles sur internet. Les noeuds de ce réseau sont les diverses pages, celles-ci pouvant avoir des liens entre elles (des "hyperliens" ou "hyperréférences", c'est-à-dire des liens dynamiques sur lesquels il suffit de cliquer pour aboutir à la page pointée).
Les noeuds de ce réseau (les pages internet) se comptent actuellement en centaine de milliards, le nombre de connexions entre ces noeuds étant lui aussi d'autant plus gigantesque.
Les moteurs de recherche, Google par exemple, ont pour objectif de classer ces milliards de pages, et d'être par la suite en mesure de trouver dans ce gigantesque réseau les pages pertinentes vis-à-vis d'une requête avancée par un utilisateur.
Aucun moteur de recherche ne peut stocker et traiter autant de pages 1.

Pour arriver à donner une information à la fois rapide et pertinente, Google construit dynamiquement le graphe de toutes les pages auxquelles il peut accéder. Des programmes informatiques créés et lancés par Google se promènent continûment le long de ce graphe en le complétant ou le modifiant chaque fois que nécessaire (ajout de nouvelles pages ou nouveaux liens, suppression de pages ou liens n'existant plus).
Par ailleurs, afin de pouvoir retourner à l'utilisateur une information pertinente, ces pages sont "notées" permettant ainsi de les classer par degré de pertinence, mais aussi de retourner à l'utilisateur une liste de pages ordonnée.
Le moteur de recherche Google attribue à cette fin à chaque page une valeur de notoriété appelée "pagerank": plus cette valeur est importante, plus la page est jugée pertinente et sera bien située dans l'ordre des résultats retournés; inversement plus cette valeur est faible (proche de zéro) moins la page est considérée comme pertinente.

La valeur du pagerank d'une page est déterminée par le nombre de lien pointant vers cette page que l'on peut trouver sur d'autres pages, et de la valeur du pagerank de chacune de ces pages. En d'autres termes, une page est jugée d'autant plus pertinente qu'elle est citée un grand nombre de fois par des pages elles mêmes jugées int&éressantes.


Ainsi, pour connaître la note d'une page, il faut connaître la valeur de ses pages voisines dans le graphes, pour lesquelles il faut connaître les valeurs des autres voisines pour lesquelles ....
Le processus de tri, classement et notation se fait en deux grandes étapes:
  • le moteur de recherche préselectionne tout d'abord dans un premier temps l'ensemble des pages répondant au(x) mot(s) clé(s) fourni(s);
  • ensuite, le graphe constitué par ces pages est construit permettant de calculer pour chacune d'entre elle le pagerank, ou degré de notoriété ou de pertinence de la page;

La liste des pages trouvées est ensuite simplement retournée classé par ordre de pagerank.
Le travail principal qu'il reste à effectuer est donc le calcul de ces fameux pagerank. Ce point est le fondement essentiel du moteur de recherche Google.

Détermination du pagerank - Calcul de probabilités

On suppose que l'ensemble des pages contenant les mots clés recherchés ont été préselectionnées. On construit alors le graphe associé à toutes ces pages, en reliant entre elles les pages qui contiennent un lien de l'une vers l'autre.
La relation "contenir un lien vers" n'est pas une relation symétrique: si la page A contient un lien vers la page B, cela ne signifie pas nécessairement que la page B contient elle aussi un lien vers la page A. Ce graphe ainsi construit est donc un graphe orienté, les arêtes de celui-ci sont représentées par une flèche pour indiquer "qui pointe vers qui".


Le graphe ci-dessous est un exemple d'un tel graphe orienté dans le cas où l'on ne considère pour commencer que 4 pages.

Graphe orienté avec 4 pages
Figure: Graphe orienté constitué de 4 pages
Ce graphe se lit de la manière suivante:
  • les pages A, B, C ou D ont été préselectionnées comme contenant toutes les mots clés recherchés
  • la page A contient un lien vers la page B
  • la page D contient un lien vers les pages A et C, tandis qu'aucune page ne "pointe" vers elle;

La notation de chacune de ces pages peut se rechercher en terme de probabilités: en se promenant au hasard sur cet ensemble de page, quelles seraient les chances de se retrouver sur la page A, sur la page B, …

En effet, on peut imaginer que la page la plus pertinente est celle vers laquelle "s'orientent" les autres, et donc que, en se promenant au hasard entre ces pages, ce soit finalement celle sur laquelle on passe le plus de temps.

On suppose de plus pour compléter ce modèle, et pour simuler d'autant mieux une personne qui naviguerait aléatoirement entre ces pages, qu'il existe une probabilité e pour que, à tout moment, cette personne saute sur une page quelconque, au hasard et indépendamment des liens qui se trouvaient face à elle. On prendra par la suite comme valeur e = 0,15 (valeur proche de celle utilisée par Google).


On note pA, pB, pC et pD les probabilités de se trouver respectivement sur la page A, B, C ou D.


Par exemple, on peut se trouver sur la page A complétement au hasard (probabilité $ \frac{e}{4}=\frac{0,15}{4}$ car il y a 4 pages au total), ou bien dans le cas contraire (probabilité 1−0,15=0,85) en provenant de la page B avec la probabilité pB, ou de la page C avec la probabilité pC, ou encore de la page D avec la probabilité $\frac{1}{2}p_D$ (car en provenant de la page D, on peut aller aussi bien en A que en C ).


Ce raisonnement permet d'exprimer la probabilité pA, puis, de manière analogue, les probablités pB, pC et pD:

Système 4x4 dont les inconnues sont les probabilités

Ce système est un système d'équations linéaire à 4 équations et 4 inconnues, pA, pB, pC et pD, qu'il ne reste plus alors qu'à résoudre.


En ordonnant les termes, ce système est équivalent à:

sytème 4x4 à résoudre

La dernière équation donne directement pD = 0,0375, puis l'avant dernière, connaissant pD donne la valeur de pC = 0,0375 + 0,425 = 0,0534.

Ensuite, connaissant les valeurs de pC et pD, il ne reste plus que les deux premières équations à résoudre qui forment un système linéaire de deux équations à deux inconnues pA et pB:

Système 2x2 à résoudre

On trouve finalement les valeurs des probabilités:

Probabilité des 4 pages
Ainsi, dans cet exemple, les 4 pages seraient classées dans l'ordre: A, B, C et D.

L'inconvénient majeur de cette méthode est que, en réalité, le nombre de pages qui peuvent répondre à certains mots clés peut facilement s'élever à quelques centaines de milliers, voire quelques millions (essayez de demander par exemple à Google de rechercher les mots clés "référencement Google", ou encore "cours mathématiques", ou bien sûr les mots clés de votre choix, et observez le nombre de pages qui ont été référencées par Google (ce nombre est donné par Google juste en dessous des mots clés fournis)).
Malheureusement, même avec les ordinateurs les plus puissants actuellement, la résolution de grands systèmes linéaires peut prendre énormément de temps 2.


Cette méthode n'est ainsi pas applicable, d'autant plus que l'on souhaite que ces calculs soit effectués très rapidement (accepteriez-vous d'attendre ne serait-ce que quelques heures pour avoir une réponse à votre recherche ?) et très régulièrement afin que les résultats restent à jour malgré l'évolution fréquente et rapide des très nombreuses pages, de leur contenu, et des liens qui les relient (à chaque instant, des pages sont modifiées, créees, supprimées, ...).

Approximation des probabilités par des suites

Une alternative à ce calcul des probabilités exactes a été proposé par les fondateurs de Google.


Le pagerank, ou degré de pertinence, de chaque page va être évalué par étapes successives.


On notera An, Bn, Cn et Dn les valeurs correspondantes à la nème étape.
On considère tout d'abord que, initialement, la pertinence de chaque page (ayant été préselectionnée comme contenant effectivement les mots clés recherchés) est équirépartie: dans notre exemple qui compte 4 pages, ces degrés de pertinence, valent ainsi pour chaque page

A0 = B0 = C0 = D0 = 1/4


Les mêmes raisonnements et calculs qu'eefectués précédemment en termes de probabilité s'appliquent: si les valeurs An, Bn, Cn et Dn sont connues à la nème étape, celles-ci deviennent à la (n+1)ème étape An+1, Bn+1, Cn+1, Dn+1, avec

Relation de récurrence sur les probabilités de chaque page
Ces relations permettent alors de calculer de proche en proche avec A1, B1, C1, D1, puis ensuite A2, B2, C2, D2, puis …
Calculs de A1, B1, C1 et D1

puis,

Calculs de A2, B2, C2 et D2
et ainsi de suite pendant le nombre n d'étapes souhaité.

Les quatres suites An, Bn, Cn et Dn convergent respectivement vers pA, pB, pC et pD qui sont les solutions du système [*].

A ce titre, les valeurs calculées pour An, Bn, Cn et Dn après quelques étapes constituent une approximation des valeurs limites pA, pB, pC et pD, approximation d'autant meilleure que n est choisi grand, c'est-à-dire qu'il y a eu un grand nombre d'étapes.


  • 1 Google annonçait en 2005 qu'il pouvait en indexer quelques huit milliards, mais, même si les performances technologiques en matière de stockage et rapidité de calcul s'accroissent, le nombre de pages à stocker et référencer se démultiplie lui aussi à grande vitesse...
  • 2 à titre d'information, la résolution en 2006 d'un système linéaire à quelques centaines de millions d'équations et d'inconnues demandait plusieurs jours de calcul sur un supercalculateur (ordinateur possédant un très grand nombre de processeurs calculant en parallèle, c'est-à-dire se partageant le travail et calculant simultanément).


LongPage: h2: 4 - h3: 0