Graphes du Web — Mesures d'importance à la PageRank
EN

Chapitre 5 — PageRank, une manière d’estimer l’importance des pages web

Lorsqu’un chercheur veut publier une communication dans une revue spécialisée, il doit passer par des comités de lecture qui évaluent la qualité de son travail selon des critères précis. Pour passer à la télévision ou dans un journal, il suffit d’avoir une bonne histoire à raconter.

Michel de Pracontal, l’imposture scientifique

Surfer sur internet c’est comme pour le sexe : tout le monde se vante de faire plus qu’il ne fait. Mais pour le cas d’Internet, on se vante bien plus.

Tom Fasulo

Omnes Viae ad Googlem ducent

Ce chapitre va essayer de poser les bases à la fois intuitives, axiomatiques et théoriques des méthodes de classement de type PageRank, mises en valeur par le célèbre moteur de recherche Google [Goo98]. Ce travail fastidieux de survey m’a été grandement facilité par Mohamed Bouklit, qui en débroussaillant, avec l’aide d’Alain Jean-Marie, le terrain avant moi [Bou01, BJ02], m’a permis d’avoir toutes les références nécessaires.

Il existe dejà un certain nombre de surveys à propos du PageRank (cf [BGS02, BGS03, LM04]), mais nous avons jugé ce chapitre nécessaire, car il présente l’ensemble des PageRanks sous un même point de vue, celui de l’interprétation stochastique, et met en évidence quelques résultats de convergence qu’on ne trouve pas ailleurs1.

5.1 Une aiguille dans un océan de foin…

On trouve (de) tout sur le web, à peu près tous les usagers du réseau sont d’accord là-dessus. Savoir si l’information que je recherche existe sur la toile n’est plus crucial. De nos jours, le problème est devenu : Comment trouver la page que je recherche ?

Requête Google Yahoo
PageRank 1 410 000 807 000
Raton laveur 18 100 25 300
Amazon 107 000 000 66 600 000
Pâte à crêpes 46 300 30 900
Pâte à crêpe 22 800 47 000
Tableau 5.1. – Nombre de réponses fournies par Google et Yahoo à quelques requêtes (août 2004)

Tout le problème des moteurs de recherche est d’arriver à renvoyer les pages que l’utilisateur recherche. Seulement, les réponses à une requête donnée se comptent souvent par centaines, voire par milliers2, comme le montre le Tableau 5.1. D’un autre côté, les utilisateurs se lassent vite, et on estime que 90% des utilisateurs ne dépassent pas la première page de résultats.

Le but des moteurs est donc d’arriver à afficher dans les dix à vingt premières réponses les documents répondant le mieux à la question posée. Dans la pratique, aucune méthode de tri n’est parfaite, mais leur variété offre aux moteurs la possibilité de les combiner pour mieux affiner leurs résultats. Les principales méthodes de tri sont les suivantes :

Tri par pertinence

Le tri par pertinence est la méthode de tri la plus ancienne et la plus utilisée. Elle est basée sur le nombre d’occurrences des termes de la recherche dans les pages, de leur proximité, de leur place dans le texte [Sal89, YL95]… Malheureusement, cette méthode présente l’inconvénient d’être facile à détourner par des auteurs désireux de placer leurs pages en tête de liste. Pour cela, il suffit de surcharger la page de mots importants, soit dans l’en-tête, soit en lettres invisibles à l’intérieur du corps de la page.

Étude de l’URL

On peut également donner de l’importance à une page en fonction de son URL. Par exemple, selon le contexte, les URLs appartenant au Top Level Domain http:.com pourraient avoir plus d’importance que les autres, de même que les URLs contenant la chaîne de caractère http:home [Li+00]. Il a également été suggéré que les URLs de faible hauteur dans l’arbre-cluster étaient plus importantes que les autres [CGP98].

Liens entrants

Le comptage de citations consiste à attribuer aux pages une importance proportionnelle aux nombres de liens vers cette page connus. Cette méthode a largement été utilisée en scientométrie pour évaluer l’importance des publications [Pri63].

PageRank

Comme nous allons le voir, le PageRank est une sorte de généralisation récursive du comptage de citations.

5.2 Les deux axiomes du PageRank

Le PageRank, introduit par Brin et al. en 1998 [Pag+98], est la méthode de classement qui a fait la spécificité du moteur de recherche Google [Goo98]. Il s’agit en fait d’une adaptation au Web de diverses méthodes introduites par les scientomètres3 depuis les années 1950. Deux méthodes scientométriques en particulier doivent être évoquées :

Le comptage de citations

En 1963, Price publie Little Science, Big Science [Pri63]. Dans ce livre, premier ouvrage majeur traitant de ce qui deviendra plus tard la scientométrie, il propose de mesurer la qualité de la production scientifique grâce, entre autres, à une technique très simple, le comptage de citations : une des manières de mesurer la qualité d’une publication est de dénombrer le nombre de fois où cette publication est citée.

Modélisation markovienne

Les chaînes de Markov, décrites au Chapitre 4, permettent non seulement de jouer au Monopoly (marque déposée), mais aussi de modéliser l’évolution d’une population répartie entre plusieurs états à condition d’arriver à estimer les probabilités de transition entre états. Par exemple, Goffman propose en 1971 l’étude de l’évolution de la recherche dans différents sous-domaines de la logique à l’aide de chaînes de Markov [Gof71].

Voyons maintenant comment Brin et al. ont adapté ces concepts à l’estimation de l’importance des pages Web.

5.2.1 Une page importante est pointée par des pages importantes

Transposée telle quelle aux graphes du Web, la méthode du comptage de citations revient à dire que l’importance d’une page est proportionnelle à son degré entrant, c’est-à-dire au nombre de pages qui la citent à travers un hyperlien :

signifie qui pointe sur .

Bien que cette mesure puisse effectivement être utilisée pour estimer l’importance des pages [CGP98], elle se trouve en partie dénaturée par l’inexistence d’un contrôle de qualité. En effet, lorsqu’un chercheur veut publier une communication dans une revue spécialisée, il doit passer par des comités de lecture qui évaluent la qualité de son travail selon des critères précis. À cause de cela, le fait même d’être publié donne un minimum d’importance aux articles considérés, et on a une certaine garantie que les citations que reçoit un papier ne sont pas complètement fantaisistes. Dans le cas du Web, ce garde-fou n’existe pas : à cause du faible coût intellectuel et matériel d’une page Web, n’importe qui peut pointer vers n’importe quoi sans que cela ait forcément un véritable sens4. Par exemple, pourquoi ne pas créer une multitude de pages vides de sens, mais qui me citent par des hyperliens, pour augmenter à l’envi ma propre importance ?

Brin et al. proposent de contrer ce problème par une description récursive de l’importance : Qu’est-ce qu’une page importante ? C’est une page pointée par des pages importantes. Concrètement, si une page est pointée par pages , l’importance de doit être définie par :

Il nous reste à définir et résoudre Équation (5.2).

5.2.2 Le surfeur aléatoire : le hasard fait bien les choses

Une image d’Épinal du Web est le principe de la navigation par hyperliens : pour trouver ce qu’il cherche, l’internaute va naviguer de page en page et de clic en clic jusqu’à l’arrivée à bon port. Bien sûr, ce n’est pas ce qui se passe en pratique, autant pour des raisons techniques (il n’est pas toujours possible de rejoindre une page à partir d’une page ) que sociales (utilisation des moteurs de recherche, lassitude de l’internaute…)5.

Brin et al. ont eu pour idée de modéliser le comportement de l’internaute cliqueur par une chaîne de Markov. Tout ce qu’il fallait, c’était trouver les probabilités de transitions d’une page à une autre. Une des manières les plus simples de voir les choses est de considérer qu’une fois sur une page donnée, l’internaute va cliquer de manière équiprobable sur un des liens contenu dans cette page :

Ceci est la base du modèle du surfeur aléatoire. Pour Brin et al., étant donné que les graphes du Web reflètent une architecture volontaire et réfléchie, les pages intéressantes doivent être structurellement facile d’accès, tout comme une ville est d’autant plus accessible par le réseau routier qu’elle est importante. Donc, comme le surfeur aléatoire se laisse guider par le réseau des hyperliens, statistiquement, il devrait tomber d’autant plus souvent sur une page que celle-ci est importante. D’où l’idée de définir l’importance d’une page Web par la probabilité asymptotique de se trouver sur cette page dans le modèle du surfeur aléatoire.

5.2.3 Cohérence des deux interprétations

Maintenant que nous avons défini deux façons de considérer l’importance d’une page, constatons qu’elles se recoupent et désignent le même phénomène : en effet, dans le modèle du surfeur aléatoire, il est possible d’estimer la probabilité asymptotique de présence sur une page en fonction de celles des pages qui pointent vers :

On peut constater qu’on a bien une relation de transfert d’importance comme celle définie par l’Équation (5.2), et que l’Équation (5.4) obéit en plus à un principe de conservation : une page donnée transmet l’intégralité de son importance, celle-ci étant équitablement répartie entre les différentes pages pointées. La probabilité, vue comme une importance, se transmet donc à travers les hyperliens à la manière d’un flot.

5.3 Les modèles classiques

Bien qu’on parle souvent du PageRank au singulier, il existe en réalité une multitude de PageRank(s). Nous allons voir ici comment, à partir du modèle théorique du surfeur aléatoire que nous venons de décrire, plusieurs variations ont été introduites afin de s’adapter à la réalité des graphes du Web. Ce travail de survey a déjà été effectué pour l’ensemble des PageRank(s) issus de processus rendus explicitement stochastiques [BGS02, BGS03, LM04], mais nous voulons ici prendre également en compte les modèles sous-stochastiques.

5.3.1 Cas idéal

Dans le cas où le graphe du Web que l’on veut étudier est apériodique et fortement connecté, les principes vus dans la Section 5.2 s’appliquent directement : en effet, il s’agit de rechercher une distribution de probabilité sur vérifiant :

Ceci revient à trouver la distribution asymptotique de la chaîne de Markov homogène dont la matrice de transition est :

Comme vu lors de la Section 4.3, la suite de distribution

initiée par une distribution de probabilité quelconque 6, converge géométriquement vers l’unique distribution vérifiant

c’est-à-dire vérifiant la relation Équation (5.5).

Cette distribution de probabilité est appelée PageRank.

Remarque 5.1.

Comme précisé dans notre définition de graphe du Web, les liens d’une page vers elle-même ne sont pas comptés. D’après [Pag+98], cela permet de «fluidifier» le calcul du PageRank.

Remarque 5.2.

Si le graphe n’est pas fortement connexe, d’après le Théorème 4.3, il y a quand même convergence, mais ni unicité (la dimension de l’espace des solutions est égal au nombre de composantes fortement connexes récurrentes), ni garantie que le support de la solution soit égal à (en particulier s’il existe des composantes transitoires). L’existence de périodicité(s) peut en revanche empêcher la convergence, mais le Théorème 4.4 indique comment il est possible de contourner le problème.

5.3.2 Renormalisation simple

La plupart du temps, un graphe du Web n’est pas fortement connexe. Il existe en particulier un nombre non négligeable de pages sans lien, qui sont soit des pages ne contenant effectivement aucun lien, soit tout simplement des pages connues, mais non indexées. Les lignes de correspondant à ces pages sans lien ne contiennent donc que des , et est donc strictement sous-stochastique. En conséquent, la suite des va converger7 vers un vecteur nul en dehors des éventuelles composantes fortement connexes récurrentes sur lesquelles est stochastique8. Pour éviter ce problème, on pourrait envisager d’enlever récursivement toutes les pages sans liens jusqu’à obtenir une matrice stochastique, avec l’inconvénient de considérer un graphe plus petit que le graphe initial. Une autre approche, proposée par [Pag+98], consiste à renormaliser à chaque itération :

Ce procédé itératif est une méthode de la puissance ([Ste94]), on sait donc qu’il va converger vers un vecteur propre associé à la plus grande valeur propre de . Deux cas sont alors à considérer :

Processus stochastique équivalent

L’utilisation de matrices sous-stochastiques fait que l’on perd l’interprétation naturelle du surfeur aléatoire. Il est cependant parfois possible de compléter la matrice en une matrice stochastique équivalente, c’est-à-dire de trouver une matrice stochastique vérifiant :

S’il existe un unique vecteur de probabilité maximal pour , la plus simple façon de définir une telle matrice est de considérer le défaut stochastique de : si est sous-stochastique, on définit le défaut stochastique de comme étant le vecteur . La matrice

est bien une matrice stochastique11 supérieure à , et il est facile de voir que est une distribution de probabilité homogène à , donc égale à .

La matrice présente l’avantage de donner une interprétation stochastique au procédé de renormalisation simple : asymptotiquement, le surfeur aléatoire suit à chaque étape un lien suivant les probabilités données par . Quand il ne sait pas quoi faire, il zappe vers une autre page selon la distribution de probabilité qui est vecteur propre maximal de .

Par contre, dès que l’espace propre maximal a une dimension supérieure à , le problème est délicat, voire très délicat dans le cas de composantes pseudo-récurrentes dont les filtres ont une intersection non nulle. Nous limiterons par conséquent notre étude des processus stochastiques équivalents aux cas d’unicité du vecteur propre maximal.

5.3.3 Complétion stochastique

Afin de remplacer par une matrice stochastique, et d’éviter à travers une simple renormalisation d’établir un processus stochastique équivalent non contrôlé, une idée naturelle est d’ajouter des transitions aux pages sans liens. Une des méthodes possibles consiste à modéliser l’emploi de la touche Back, et sera l’objet du Chapitre 6. Une autre méthode, proposée12 initialement par [Pag+98] (sous la forme de l’Algorithme 5.1) et étudiée entre autres par [LM04], consiste à définir une distribution de probabilité par défaut sur , et à s’en servir pour modéliser le comportement du surfeur aléatoire quand il arrive sur une page sans lien. Concrètement, on va remplacer dans chaque ligne nulle (qui correspond donc à une page sans lien) par la ligne .

Ce procédé peut se généraliser pour compléter toute matrice sous-stochastique : La complétion par de est alors la matrice stochastique

Choix de et interprétation

représente le comportement du surfeur aléatoire lorsque ne précise pas où il doit aller, c’est-à-dire tous les changements de page qui ne sont pas dûs à l’usage des hyperliens (adresse tapée manuellement, Bookmarks, requête dans un moteur de recherche…). Généralement, on choisit pour la distribution uniforme :

qui représente un zap n’importe où et au hasard sur le Web connu.

Il a également été proposé de «personnaliser» , notamment par [Pag+98]. Par exemple, il est possible de se restreindre aux pages d’accueil des sites. D’une part, cela évite de donner implicitement aux sites une mesure partielle d’importance proportionnelle au nombre de pages crawlées (voir Section 7.5). D’autre part, cela obéit à une certaine intuition naturelle : quand on rompt la navigation par hyperliens pour zapper sur autre chose, il est probable qu’on va commencer par une page d’accueil. Cette intuition est confirmée par de nombreuses études qui démontrent l’existence de pages qui jouent le rôle de «hubs» pour les utilisateurs réels [CP95, Kle98, Mil+04, WM04].

Irréductibilité de

On dira d’une distribution de probabilité qu’elle est recouvrante si son support vérifie . C’est une condition naturelle à imposer à toute distribution de zap, puisqu’elle garantit que toutes les pages connues sont potentiellement accessibles après un zap. La distribution uniforme est évidemment recouvrante. Il en est de même de la distribution sur les pages d’accueil si toutes les pages connues d’un site sont accessibles à partir de la page d’accueil. C’est aussi le cas de la distribution par importance si, et seulement si, toutes les pages de ont un degré entrant non nul.

Théorème 5.1.

Soit une distribution de probabilité recouvrante, et une matrice strictement sous-stochastique. La complétion par de est irréductible si, et seulement si, est sous-irréductible.

Preuve.

Si est sous-irréductible, alors de toute page de , il est possible d’accéder à une page présentant un défaut stochastique . En effet, soit une matrice stochastique irréductible telle que , et un chemin reliant à dans le graphe induit par . Soit ce chemin existe dans , et on a ce qu’on veut, soit il n’existe pas, ce qui implique qu’au moins une des pages du chemin présente un défaut stochastique, et donc .

est donc irréductible, puisque que n’importe quel couple de pages est relié dans le graphe induit par au moins un chemin passant par .

Réciproquement, si n’est pas sous-irréductible, il existe au moins une composante fortement connexe stochastique strictement inférieure à . Cette composante se retrouve inchangée dans , ce qui prouve que n’est pas irréductible.

C.Q.F.D.

5.3.4 Source de rang : facteur zap

Afin de régler le problème de l’irréductibilité, Brin et al. [Pag+98] proposent une autre incorporation de la distribution de zap . Ils remplacent en effet par , et cherchent à résoudre :

Si , on a alors la garantie d’opérer sur une matrice positive irréductible et apériodique, puisque le graphe sous-jacent est une clique13. Le théorème de Perron-Frobenius assure donc la convergence du processus itératif vers le vecteur propre associé à la valeur propre maximale. Par contre, sauf si , la nouvelle matrice n’est pas stochastique, ni même sous-stochastique, ce qui rend l’interprétation en terme de surfeur aléatoire délicate. Afin de pouvoir plus facilement donner une interprétation au processus itératif, Brin et Page normalisent la matrice en prenant la moyenne pondérée par de A et de :

La nouvelle matrice obtenue possède la (sous-)stochasticité de , et elle est irréductible et apériodique. Si est stochastique, correspond au cas idéal de la Section 5.3.114. Le vecteur propre maximal, que nous appellerons PageRank avec facteur zap, est alors obtenu par l’Algorithme 5.2. Ce vecteur représente la dernière version académique du PageRank présentée par Brin et Page avant que les méthodes de classement de Google ne deviennent un secret industriel. C’est à lui qu’on fait généralement référence lorsque l’on parle de PageRank.

Remarque 5.3.

À titre d’anecdote, signalons dans l’article fondateur du PageRank ([Pag+98]) une légère confusion : l’Algorithme 5.1 est proposé pour résoudre l’Équation (5.13). Même s’il est précisé que l’introduction de peut avoir un léger impact sur l’influence de 15, le qualificatif «léger» peut relever de l’euphémisme : dans l’Équation (5.13), permet d’avoir une matrice apériodique irréductible. On a donc la garantie d’un unique vecteur propre strictement positif. En revanche, dans l’Algorithme 5.1, on travaille implicitement sur la complétion par de , et nous venons de voir que l’influence de est quasi-nulle dès que n’est pas sous-irréductible16 (Théorème 5.1). Heureusement, la confusion a disparu dans les articles suivants, notamment avec la normalisation du facteur zap [BP98].

Interprétation

Lorsque est stochastique, la double interprétation de est assez simple :

Transfert d’importance

avec le facteur zap, les pages ne transmettent qu’une fraction de leur importance. En contrepartie, chaque page se voit attribuer un PageRank Minimal d’Insertion (PRMI) égal à .

Surfeur aléatoire

à chaque étape du processus stochastique décrit par , le surfeur aléatoire va cliquer au hasard sur un des liens sortants, avec une probabilité , ou zapper avec une probabilité quelque part sur le graphe en selon la distribution .

5.3.5 Choix de

Avant d’aller plus loin, il convient de parler du choix du paramètre et des raisons qui ont poussé à faire ce choix. Pour commencer, précisons une réalité empirique universelle et inaltérable : vaut , à près. Depuis les débuts du PageRank, a en effet toujours été la valeur de référence, et à ma connaissance, les calculs pratiques de PageRank suivant le modèle de source de rang vu lors de la Section 5.3.4 utilisent toujours un compris entre et .

Compromis convergence/altération du graphe

D’après le Théorème 5.2, si est stochastique, ce que l’on peut supposer quitte à effectuer une complétion, les valeurs propres de autres que sont inférieures à en valeur absolue17. Cela garantit aux algorithmes Algorithme 5.2 et Algorithme 5.3 une convergence géométrique de raison au plus égale à . On a donc intérêt à choisir le plus petit possible… sauf que plus est petit, plus l’influence du zap, qui est une composante extérieure au graphe intrinsèque du Web, est grande. Un petit altère, voire dénature le graphe sous-jacent. Choisir le plus grand garantissant une convergence raisonnable semble donc un bon compromis. Or, les limitations techniques font que le nombre d’itérations réalisables par un moteur de recherche comme Google est de l’ordre de la centaine18. offre une précision de au bout de itérations, au bout de itérations, et semble donc être heuristiquement le compromis recherché. En effet, comme nous le verrons dans la Section 5.5, correspond au seuil de différenciation d’un graphe du Web d’un million de pages, alors que est le seuil de différenciation pour un milliard de pages.

Théorème 5.2.

Soit une matrice stochastique. Si est un vecteur propre de associé à , alors est un vecteur propre de et . En particulier, .

Preuve.

Comme est vecteur propre gauche de associé à , on a

Comme , , d’où

Remarque 5.4.

Dans [Kam+03a] se trouve une preuve du fait que toute valeur propre autre que (qui est simple pour ) est inférieure à . Dans [LM04], il est montré en plus que les valeurs propres secondaires de sont égales à fois celles de (les multiplicités de étant comptées comme secondaires), et les auteurs affirment que leur preuve est plus compacte que celle de [Kam+03a]. Le Théorème 5.2 montre en plus que les vecteurs propres secondaires de sont ceux de , et nous affirmons que notre preuve est plus compacte que celle de [LM04]. Il ne reste plus qu’à trouver un théorème plus précis que le Théorème 5.2, avec une preuve plus compacte…

5.4 Source de rang et matrices sous-stochastiques

Dans le modèle avec source de rang vu lors de la Section 5.3.4, nous avons vu que si l’ajout d’un facteur zap associé à une distribution recouvrante garantit l’irréductibilité de , la stochasticité de reste celle de . Lorsque est sous-stochastique, il faut donc s’adapter, et nous allons voir dans cette section les principales solutions envisageables.

5.4.1 Modèle hybride : facteur zap et renormalisation

est pseudo-irréductible (puisqu’elle est irréductible). Une première méthode envisageable pour obtenir un point fixe est donc d’appliquer la méthode de la renormalisation simple (cf Section 5.3.2) à la matrice .

L’interprétation en terme de surfeur aléatoire est la même que dans le cas où est stochastique, à ceci près qu’il faut compléter le défaut stochastique de par un zap selon la loi définie par le vecteur propre maximal de probabilité associé à .

5.4.2 Complétion et source de rang : -compensation

La complétion stochastique étant un moyen relativement simple d’assimiler toute matrice sous-stochastique à une matrice stochastique, il est intéressant d’hybrider la méthode de complétion stochastique avec une méthode de type zap ou ajout d’une page virtuelle (voir Section 5.6). On évite ainsi de devoir renormaliser à chaque itération, et on a une plus grande cohérence en terme d’interprétation stochastique. De plus, si on choisit une distribution de complétion égale à la distribution de zap , on obtient un algorithme très simple (l’Algorithme 5.3) : l’algorithme de -compensation. L’interprétation est tout aussi simple : à chaque étape du processus stochastique décrit par , le surfeur aléatoire va cliquer au hasard sur un des liens sortants (s’il en existe), avec une probabilité . Dans tous les autres cas, il va zapper selon .

5.4.3 PageRank non-compensé

L’algorithme de PageRank non-compensé consiste à calculer , exactement comme dans l’Algorithme 5.2, sans se préoccuper de la renormalisation. On obtient un vecteur strictement positif, qui peut servir à définir un PageRank, comme le montre le Théorème 5.3 et l’interprétation qui s’en suit.

Théorème 5.3.

Soit une matrice sous-stochastique, un facteur de zap, , et une distribution de probabilité recouvrante pour le graphe induit par .

La suite converge géométriquement, avec une raison inférieure ou égale à , vers un unique point fixe , quelque soit le vecteur initial . est un vecteur strictement positif, et pour toute complétion de , si est la distribution de probabilité associée à , on a , avec inégalité totalement stricte sauf si est stochastique (i.e. ).

Preuve.

Comme , , l’application est -lipschitzienne. Elle possède donc un point fixe unique vers lequel toute suite converge géométriquement, avec une raison inférieure ou égale à 19.

Ce point fixe vérifie , et vaut donc :

En particulier, il est strictement positif, puisque comme est recouvrante, pour tout dans , il existe dans , dans tel que , et donc

5.4.4 Comparaison : algorithmes -compensé ou non-compensé ?

Il existe un lien très fort entre l’algorithme -compensé et l’algorithme non-compensé : ils donnent le même résultat, comme le montre le Théorème 5.4.

Théorème 5.4.

Soit une matrice sous-stochastique, une distribution recouvrante. Si est le PageRank obtenu par -compensation (cf Algorithme 5.3), et le PageRank non-compensé, point fixe de l’application , alors est homogène à .

Preuve.

Par passage à la limite, il est facile de voir que vérifie

On en déduit

Les Équation (5.17) et Équation (5.20) nous donnent .

Convergence

Les tests que nous avons pu effectuer montrent que avec le choix de comme distribution initiale, il n’y a aucune différence significative entre la convergence de l’algorithme de -compensation et celui non-compensé. La convergence est dans les deux cas très rapide lors des premières itérations, et se stabilise ensuite vers une convergence de raison (cf boucle principale de la Figure 5.1).

Vitesse des itérations

La -compensation doit calculer le paramètre à chaque itération, alors que la non-compensation n’en a pas besoin. Est-ce que cela a une grande influence sur les performances ?

En terme de performances, l’algorithme -compensé est donc à proscrire si l’on travaille sur des «petits» graphes. On s’étonnera au passage que Kamvar et al. utilisent la -compensation dans leur algorithme BlockRank [Kam+03b], qui est justement basé sur la décomposition du PageRank sur des petits graphes. Pour des spécialistes de l’optimisation du calcul de PageRank (cf [Kam+03a]), il est curieux de passer à côté d’un gain de vitesse de

Effeuillage-Remplumage

En pratique, les algorithmes de PageRank sont rarement appliqués sur le graphe tout entier. On utilise très souvent une technique dite d’«effeuillage-remplumage» : le PageRank est d’abord calculé sur le graphe , où est l’ensemble des sommets de possédant au moins un lien sortant. est appelé graphe effeuillé, ou encore rafle. Une fois qu’une bonne convergence est atteinte, on procède au «remplumage» : on se replace sur le graphe et on effectue quelques itérations de PageRank avec le PageRank sur comme estimation initiale.

Le problème est que le PageRank sur le graphe effeuillé n’est pas forcément une bonne estimation du PageRank sur , comme le montre la Figure 5.1 : à cause du remplumage, le facteur de convergence est quasiment réinitialisé. Si on veut de nouveau atteindre la condition de convergence (), il faut effectuer presqu’autant d’itérations qu’en partant de la distribution .

Figure 5.1. – Convergence des PageRank -compensé et non-compensé ; problème du remplumage

La méthode d’effeuillage-remplumage présente quand même un intérêt si on limite le nombre d’itérations de la phase de remplumage : comme la boucle principale se fait sur la rafle, les itérations sont plus rapides. Quant au vecteur final, bien que ce ne soit pas un vecteur stationnaire, il est à mi-chemin entre le PageRank sur la rafle et celui sur , et le fait que ce soit ce vecteur qui est utilisé en pratique semble indiquer que le classement que l’on obtient est digne d’intérêt.

5.5 Convergence en norme et convergence du classement

Dans tous les algorithmes de PageRank que nous avons présentés, comme dans tous ceux que nous allons présenter, nous utilisons comme critère de convergence la convergence en norme d’une suite de vecteurs positifs. Ainsi, lorsque qu’une source de rang associée à un facteur zap est utilisée et que le critère de convergence est atteint, nous savons que l’erreur par rapport au vecteur limite est d’au plus . Pourtant, seul le classement induit par nous intéresse a priori, puisque l’intérêt principal du PageRank est de fournir un ordre d’importance sur les pages Web considérées20.

5.5.1 Distance de Kendall normalisée

Une première solution est de comparer à chaque itération les classements induits, et d’arrêter lorsqu’il n’y a plus de changement. On peut également définir une distance sur les classements et remplacer la convergence en norme par une convergence sur les classements. Une distance assez classique sur les classements est la distance de la différence symétrique, ou distance de Kendall21 : si et sont deux classements, présenté sous la forme de permutations, alors la distance de Kendall entre ces deux permutations est le nombre minimum d’inversion de deux éléments conjoints nécessaires pour passer de l’une à l’autre. On peut montrer que cette distance est invariante par translation et que la distance d’une permutation à l’identité est :

La distance entre deux permutations et est donc .

Comme la plus grande distance possible entre deux permutations de taille est celle entre deux classements inversés, à savoir , on pourra si l’on veut un critère de convergence indépendant de la taille du classement considérer la distance de kendall normalisée par .

5.5.2 Densité de PageRank

Par un simple raisonnement d’ordre de grandeur, il est possible d’établir un lien entre et la convergence du classement. Le point de départ est l’étude du rapport entre le classement d’une page et son PageRank. La Figure 5.2 représente ce lien pour deux modèles de PageRank que nous allons étudier plus en détail : le PageRank -compensé standard avec zap uniforme sur , ainsi que le PageRank -compensé avec technique d’effeuillage-remplumage et zap uniforme sur . Le facteur de zap vaut évidemment .

Figure 5.2. – Lien entre le classement d’une page et son PageRank

La régularité des courbes22 nous incite à considérer la densité mésoscopique de pages à un PageRank donné : on cherche à savoir quel est le nombre de pages dont le PageRank est compris entre et . On se place pour cela à l’échelle mésoscopique, c’est-à-dire que l’on suppose et . Expérimentalement, nous avons constaté que l’hypothèse mésoscopique était tout à fait réaliste sur des graphes de plus d’un million de sommets. Nous avons également observé qu’il existait, pour chaque modèle de PageRank, une fonction , relativement indépendante du graphe du Web considéré23, telle que, si est le nombre de pages du graphe,

est la densité mésoscopique normalisée (indépendante de la taille du graphe) typique du modèle de PageRank considéré. La Figure 5.3 montre des mesures expérimentales de correspondant aux deux modèles étudiés ici.

Figure 5.3. – Densité mésoscopique normalisée de pages en fonction du PageRank

5.6 Modèles avec page virtuelle

L’ajout d’un facteur zap est parfois appelé méthode d’irréductibilité maximale, dans le sens où si , alors le graphe sous-jacent devient une clique. Il est souvent reproché à cette méthode d’être trop intrusive et de dénaturer la structure du graphe du Web. La méthode de complétion, en rajoutant liens fictifs, peut aussi être considérée comme intrusive.

Une alternative est d’employer des méthodes dites d’irréductibilité minimale24, c’est-à-dire d’ajouter une page virtuelle qui va jouer le rôle de «hub». Ce type de méthodes est entre autres employé par [APC03, Tom03].

5.6.1 Page virtuelle de zap

Le principe de la page virtuelle de zap est simple : rajouter une ème page, pointée et pointant vers toutes les autres, et contrôlée par et .

Formellement, si est une matrice stochastique (éventuellement complétée), on considère la matrice

Le vecteur asymptotique de probabilité correspondant est obtenu par l’Algorithme 5.5.

5.6.2 De l’utilité de la page virtuelle

Théorème 5.5 montre qu’a priori, dès que , l’utilisation d’une page virtuelle de zap ne change strictement rien par rapport au rajout d’un facteur zap, aussi bien au niveau du vecteur asymptotique25 que de la convergence (les valeurs propres autres que sont inférieures à en valeur absolue).

Théorème 5.5.

Soit une matrice stochastique. Comme est stochastique, irréductible et apériodique, on sait que est une valeur propre singulière et dominante. Plus précisément, si vérifie , alors on est dans l’un des 3 cas suivants :

  • Soit , et est alors homogène à , où est la distribution de probabilité telle que .
  • Soit .
  • Soit ne vaut ni , ni . est alors un vecteur propre de , est nul, et on a . En particulier, .

5.7 Gestion des ressources physiques

Avant de clore ce chapitre, je voudrais mettre en avant quelques considérations techniques fondamentales. Le lecteur aura peut-être remarqué qu’aucun des algorithmes présenté ne fait jamais intervenir explicitement les matrices dont on calcule le vecteur propre maximal (, , et ). C’est un phénomène général : si on veut que toutes les constantes de l’algorithme puissent tenir en mémoire vive26, il est nécessaire de réfléchir un minimum. En effet, il faut se souvenir que est une matrice creuse contenant éléments non nuls, où est le degré moyen. étant relativement constant (entre et selon la prise en compte des pages non visitées et l’éventuel filtrage des liens), cela fait approximativement une taille linéaire en , ce qui est à la fois beaucoup compte tenu des tailles des graphes considérés, et un minimum si on veut utiliser la structure du Web. Les matrices implicites générées par complétion et usage du facteur zap sont loin d’être creuses, et leur taille peut être en . On voit ici l’intérêt d’user d’astuces de réécriture dans les algorithmes de PageRank afin de ne jamais faire intervenir de matrice moins creuse que .

Personnellement, j’effectue mes expériences de PageRank avec simplement la matrice d’adjacence, stockée sous forme de matrice logique creuse (logical sparse matrix) et quelques vecteurs de taille : , , , … Les algorithmes Algorithme 5.4 et Algorithme 5.6 donnent des exemples du traitement effectif des algorithmes. Il est ainsi possible de traiter jusqu’à 8 millions de sommets sur un PC domestique avec 1 Go de mémoire vive, en conservant toutes les constantes en mémoire et en réalisant un minimum d’opérations27. Pour aller plus loin, il faut utiliser des techniques de compression transparente du graphe28.


  1. 1Tout au moins pas appliqués aux PageRanks.
  2. 2Le problème est en fait moins crucial si on élimine les doublons — voir le Tableau 2.1 — mais il reste important.
  3. 3Cela fait maintenant quelques dizaines d’années qu’un nouveau domaine de la recherche est apparu qui se consacre à l’étude de la production intellectuelle humaine. Les principales branches de cette méta-science sont :

    Bibliométrie
    définie en 1969 comme «l’application des mathématiques et des méthodes statistiques aux livres, articles et autres moyens de communication».
    Scientométrie
    on peut la considérer comme la bibliométrie spécialisée au domaine de l’Information Scientifique et Technique (IST). Toutefois, la scientométrie désigne d’une manière générale l’application de méthodes statistiques à des données quantitatives (économiques, humaines, bibliographiques) caractéristiques de l’état de la science.
    Infométrie
    terme adopté en 1987 par la F.I.D. (International Federation of Documentation, IFD) pour désigner l’ensemble des activités métriques relatives à l’information, couvrant aussi bien la bibliométrie que la scientométrie.
  4. 4Après tout, ne dit-on pas qu’on trouve de tout sur le Web ?
  5. 5Cf [CP95, CM01, Mil+04, TG97, WM04].
  6. 6Très souvent, on prend comme vecteur de probabilité initial une distribution de zap — voir Section 5.3.3.
  7. 7Sous réserve d’apériodicité. Voir Section 4.5.2 pour les éventuelles périodicités.
  8. 8Compte tenu de la façon dont le graphe est construit, toute composante fortement connexe récurrente non réduite à un élément induit un processus stochastique.
  9. 9Voir Théorème 4.6.
  10. 10En d’autres termes, les composantes fortement connexes récurrentes.
  11. 11Si est sous-stochastique et une distribution de probabilité sur , par construction, est toujours une matrice stochastique.
  12. 12Sans le savoir ? Voir Remarque 5.3.
  13. 13Si est simplement recouvrante, l’irréductibilité est toujours garantie, puisqu’on peut aller de n’importe quelle page vers n’importe quelle autre page via une page de . En revanche, on n’a plus forcément apériodicité (il existe des contre-exemples simples, par exemple un arbre-branche complété sur sa racine), même si empiriquement, le problème ne se pose pas pour les graphes du Web.
  14. 14Les cas où est strictement sous-stochastique seront étudiés en détail dans la Section 5.4.
  15. 15«The use of [] may have a small impact on the influence of [].», op. cit.
  16. 16Rappelons qu’il suffit pour cela de deux pages qui ne pointent que l’une sur l’autre.
  17. 17Si possède plus d’une composante fortement connexe récurrente, est une valeur propre.
  18. 18Il faut en effet recalculer le PageRank périodiquement, et avec plusieurs milliards de pages à traiter, chaque itération prend un temps non négligeable.
  19. 19Notons au passage que dans le cas où est stochastique, nous avons là une preuve très simple de la convergence de raison , mais le Théorème 5.2 donne quand même plus d’informations…
  20. 20Dans la réalité, les choses sont légèrement différentes. Le classement renvoyé pour une requête donnée est vraisemblablement le résultat de la confrontation de plusieurs estimations d’importances, la pertinence et le PageRank étant les principales d’entre elles. Connaître le PageRank quantitatif des pages peut alors avoir un intérêt.
  21. 21Merci à François Durand et à son rapport de maîtrise [Dur04] pour m’avoir fait connaître la distance de Kendall.
  22. 22Pour chacun des deux PageRanks étudiés ici, nous n’avons représenté qu’une seule courbe, mais expérimentalement, les autres échantillons étudiés génèrent des courbes extrêmement similaires.
  23. 23Dans le cas du PageRank avec effeuillage-remplumage, ceci est valable pour une proportion de pages sans lien donnée. Empiriquement, cette constante est souvent un invariant de crawl.
  24. 24Cf [Tom03].
  25. 25En effet, à un poids de sur la page virtuelle près, les vecteurs propres maximaux sont identiques.
  26. 26Il est possible, voire nécessaire pour les très grands graphes, d’effectuer des calculs de PageRank sans charger toutes les constantes en mémoire vive et avec des accès disques optimisés [APC03], mais chercher à minimiser la taille des constantes reste très important quand on veut faire un algorithme de PageRank.
  27. 27Cela peut paraître peu quand on sait qu’un Go de mémoire vive permet de stocker le PageRank de millions de pages en double flottant. Il faut cependant toujours se rappeler du gain colossal que l’on obtient quand la matrice d’adjacence est en mémoire vive.
  28. 28Voir par exemple le projet Webgraph [BV].
Esc