Olivier Guibé Historique et motivation La démarche Matrices PageRank
Les matrices et l'algorithme PageRank de Google
Olivier Guibé
LMRS -- Université de Rouen
Université en Scène -- 25 janvier 2013
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Google : une entreprise
à l'initiative de deux étudiants Sergey Brin et Larry Page
• fondée en 1998
• depuis 2000 vente de publicités
• cotation en bourse depuis 2004 Aujourd'hui
• nombre d'employés : plus 50 000 en 2011
• nombre de serveurs/PC : plus de 900 000 (2011)
• activité de recherche importante
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Une des clefs de cette réussite
PageRank
ou un algorithme de tri des pages web
qui est, la plupart du temps, pertinent.
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Que fait un moteur de recherche ?
L'utilisateur lance une requête : mots clés cherchés.
Le moteur de recherche exécute
..
1 liste des pages contenant les mots clés
..
2 tri par ordre de pertinence
..
3 affichage des résultats Il y a donc plusieurs aspects dont
• modélisation mathématique : comment définir/calculer la pertinence ? (personne n'est chargée de lire toutes les pages web !)
• ressource informatique : stockage, traitement d'une quantité énorme d'informations
Nous allons donner deux mauvais choix de calcul de pertinence et le PageRank.
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Le WEB
Contenu hétérogène :
des pages sur tous les sujets existants, aucune centralisation, très peu de structure.
Des contributions multiples et variées qui changent tous les jours.
Point commun :
Pages HTML, HyperText Markup Language, avec desliens les reliant les unes aux autres.
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Le point commun
L'idée est de travailler sur le fait qu'il y a des liens reliant les pages les unes aux autres. La première chose à faire :
• numéroter toutes les pages :P1,P2, etc
Comme le but est de définir un critère « pertinence de la page » il faudra distinguer «P1contient un lien qui pointe surP2» et «P2
contient un lien qui pointe surP1».
• si lapagePjcontient un lien vers la pagePion matérialise cela par uneflèchePj −→Pi.
Olivier Guibé
Historique et motivation
La démarche Matrices PageRank
Voici le résulat
200 pages web !
1 2
3 4
5 6 7
8 9
10
11 12
13 14
15 16
17 18 19 20 21
22
23 25 24
26 27
28
29 30
31
32 33
34 35
36 37 39 38
40 41 42
43 44
45
46 48 47
49
50
51 53 52
54 55 56 58 57
59 60
61
62
63
6465 66 67 69 68 70
71
72 73
74 75 76
77 78
79
80 81
82 83
84 85 86 87
88 89
90 91
92
93 94 95
96 97 98
99 100
101 102
103 104
105 107 106 108 109
110111
112
113
114 115
116 117
118 119
120 121 122
123 124 125 126
127 128
129 130
131
132 133 134
135 136
137 138 139 140
141 142 143
144 146 145
147
148
149 150
151 152
153 154
155 156
157 158
159 160
161
162
163 164
165
166 167
168 169
170 171
172
173 174
175
176 177
178
179
180
181 182 183
184 185 186 187
188
189
190 191
192 193
194 195
196
198 197
199
200
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Le point commun
Traduisons en terme degrapheun Web à 12 pages !
1 2
3 4 6 5
7 8 9
10
11 12
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Une autre disposition
1 2
3 4 6 5
7 8 9
10
11 12
devient
1
2 3 4
5
6 7 8 9
10
11
12
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Quelques explications
La structure de notre graphe est la suivante 1→2,3,4,5 ; 2→1,3 ; 3→1,4 ; 4→1,2 ; 5→6,8 ; 6→1,7 ; 7→5 ; 8→7,9 ; 9→5,10,11,12 ; 10→9,11 ; 11→9,12 ; 12→9,10.
ParmiP1,P2,P3etP4, la pageP1semble être une référence.
ParmiP9,P10,P11etP12, la pageP9semble être une référence.
De la structureP5,P6,P7etP8,P7est la plus citée mais avec un lien de P7surP5.
Finalement commeP1etP9, reconnues comme importantes, pointent surP5, on proposeP5comme page la plus pertinente.
1
2 3 4
5
6 7 8 9
10
11
12
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Définir un score
Le but est de trouver une méthode,un algorithmequi calcule la pertinence de chaque page.
On peut représenterla pertinencepar un nombre ou un score positif avec la convention que plus le score est grand plus la page est
« importante ».
Évidemment on peut discuter très longtemps sur «qu'est qu'une page importante, pertinente ?».
Le fait est que Google a semblé/semble encore répondre de façon satisfaisante aux requêtes des utilisateurs.
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Idée naïve : compter les liens
Idée
Une page importante est une page qui reçoit beaucoup de liens Le score de la pagePiest la somme du nombre de liens qui pointent surPi, ou encore le nombre de « votes ». Rappelons notre web : 1→2,3,4,5 ; 2→1,3 ; 3→1,4 ; 4→1,2 ; 5→6,8 ; 6→1,7 ; 7→5 ; 8→7,9 ; 9→5,10,11,12 ; 10→9,11 ; 11→9,12 ; 12→9,10.
Calcul des scores :
P1:4; P2:2; P3:2; P4:2; P5:3; P6:1; P7:2; P8:1; P9:4; P10:2; P11:2; P12:2.
Les pages 1 et 9 arrivent en premier.
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Idée naïve : bilan
Calcul de la pertinence par le nombre de « votes ».
Avantage
Très simple à calculer Inconvénient
Si tout le monde est d'accord pour placer la page 5 en premier, cette méthode ne correspond pas à notre classement « ressenti ».
Inconvénient ++
Très facile de manipuler ; il suffit de créer des pages web qui pointent vers son site pour augmenter artificiellement son score !
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Idée naïve : bilan
Calcul de la pertinence par le nombre de « votes ».
Avantage
Très simple à calculer
Inconvénient
Si tout le monde est d'accord pour placer la page 5 en premier, cette méthode ne correspond pas à notre classement « ressenti ».
Inconvénient ++
Très facile de manipuler ; il suffit de créer des pages web qui pointent vers son site pour augmenter artificiellement son score !
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Idée naïve : bilan
Calcul de la pertinence par le nombre de « votes ».
Avantage
Très simple à calculer Inconvénient
Si tout le monde est d'accord pour placer la page 5 en premier, cette méthode ne correspond pas à notre classement « ressenti ».
Inconvénient ++
Très facile de manipuler ; il suffit de créer des pages web qui pointent vers son site pour augmenter artificiellement son score !
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Idée naïve : bilan
Calcul de la pertinence par le nombre de « votes ».
Avantage
Très simple à calculer Inconvénient
Si tout le monde est d'accord pour placer la page 5 en premier, cette méthode ne correspond pas à notre classement « ressenti ».
Inconvénient ++
Très facile de manipuler ; il suffit de créer des pages web qui pointent vers son site pour augmenter artificiellement son score !
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
avec par exemple
1
2 3 4
5
6 7 8 9
10 11 12 13 14
15 16
17 18
19
20 21
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
nouvelle idée : pondération
1
2 3 4
5
6 7 8 9
10 11 12
Pour minimiser l'impact des pages qui contiennent beaucoup de liens, on ajoute une pondération au « vote » : lapage 2contient2liens qui pointent vers lespages 1 et 3.
Lapage 2« vote donc » pour la pagepage 1pour1/2.
Total
• Page 1 : 1/2+1/2+1/2+1/2=2
• Page 9 : 1/2+1/2+1/2+1/2=2
• Page 5 : 1/4+1+1/4=3/2
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Pondération : bilan
En fait c'est une méthode qui a les mêmes avantages et surtout les mêmes inconvénients (facile de manipuler un classement) :
1
2 3 4
5
6 7 8 9
10 11 12 13 14
15 16
17 18
19
20 21
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
L'idée qui a fait ses preuves
« Une page est importante si beaucoup de pages importantes la citent »
Traduction
Le vote d'une page pour une autre dépend en plus de son score ! Désignons pars1le score deP1,s2celui deP3, etc.
1
2 3 4
5
6 7 8 9
10 11 12 s1 =s2
2 +s3
2 +s4
2 +s6
2 =??
Olivier Guibé Historique et motivation La démarche
Matrices PageRank
Continuons
1
2 3 4
5
6 7 8 9
10 11 12
On obtient donc beaucoup d'équations ! s1= s2
2 +s3
2 +s4
2 +s6
2 s9=s12
2 +s11
2 +s10
2 +s8
2 s5= s1
4 +s7+s9
4 . . .
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Math et matrices
On obtient (seulement) 12 équations s1= s2
2 +s3
2 +s4
2 +s6
2 s2= s1
4 +s4
2 s3= s1
4 +s2
2 s4= s1
4 +s3
2 s5= s1
4 +s7
1 +s9
4 ...
s12 =s9
4 +s11
2
Olivier Guibé Historique et motivation La démarche Matrices PageRank
qui se mettent sous la formeAs=savecAla matrice
0 1/2 1/2 1/2 0 1/2 0 0 0 0 0 0
1/4 0 0 1/2 0 0 0 0 0 0 0 0
1/4 1/2 0 0 0 0 0 0 0 0 0 0
1/4 0 1/2 0 0 0 0 0 0 0 0 0
1/4 0 0 0 0 0 1 0 1/4 0 0 0
0 0 0 0 1/2 0 0 0 0 0 0 0
0 0 0 0 0 1/2 0 1/2 0 0 0 0
0 0 0 0 1/2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1/2 0 1/2 1/2 1/2
0 0 0 0 0 0 0 0 1/4 0 0 1/2
0 0 0 0 0 0 0 0 1/4 1/2 0 0
0 0 0 0 0 0 0 0 1/4 0 1/2 0
Olivier Guibé Historique et motivation La démarche Matrices PageRank
et l'inconnue ests, le vecteur des scores, possédant douze coordonnées
s=
s1
s2
s3
... s12
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Matrice, vecteur
Définitions
Une matrice carrée est un « tableau » denlignes etncolonnes contenant doncn2éléments.
Un vecteur est un « tableau » denlignes et 1 colonne.
On peut (sous réserve de compatibilité des tailles)
• additionner les matrices (on additionne terme à terme)
• multiplier une matrice par un réel (on multiplie tous les termes de la matrice par ce réel)
• multiplier une matrice par un vecteur (et on obtient un vecteur)
• multiplier deux matrices
Les deux dernières opérations sont plus compliquées (ce n'est pas une multiplication terme à terme). Le produit matriciel est un bon exemple de « multiplication » non commutative : en général
Olivier Guibé Historique et motivation La démarche Matrices PageRank
..
..
a11 a12.. . . ... a1n..
..
a21 a22.. . . ... a2n..
....
. ..... . .... .....
..
an1 an2.. . . ... ann..
.
.
.
En image
. .
..
x1
..
x2
....
. ..
xn
.
.
.
x: vecteurnlignes
.
..
y1
. . y2
....
. ..
yn
.
.
.
a21×x1
.
a22×x2
.
a2n×xn
. +
.
+… +
.
Olivier Guibé Historique et motivation La démarche Matrices PageRank
..
..
a11 a12.. . . ... a1n..
..
a21 a22.. . . ... a2n..
....
. ..... . .... .....
..
a a.. . . ... a..
.
.
.
En image
. .
..
b11 b12.. . . ... b1n..
..
b21 b22.. . . ... b2n..
....
. ..... . .... .....
..
bn1 bn2.. . . ... bnn..
.
.
.
B:nlignesncolonnes
.
..
c11 c12.. . . ... c1n..
..
c21 c22.. . . ... c2n..
....
. ..... . .... .....
..
c c.. . . ... c..
.
.
.
a21×b12
.
a22×b22
.
a2n×bn2
. +
.
+… +
.
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Résultats
La résolution (à l'aide d'un logiciel de calcul) donne :
• score deP1,P7etP9:2
• score deP5:3
• les autres :1.
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Nouvelle idée : bilan
Avantage
Le modèle semble donner notre classement.
Inconvénient
À la main, c'est vite difficile (voire impossible) pour calculer ce classement.
Outils nécessaires
Nous aurons besoin de l'informatique et des mathématiques
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Nouvelle idée : ne pas tomber dans un trou noir !
1
2 3 4
5
6 7 8 9
10 11 12 13
La page 13est une page ne contenant aucun lien.
On peut vérifier
• score de la page 13 égal à 1
• les autres à zéro est une solution !
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Nouvelle idée : ne pas tomber dans un trou noir !
1
2 3 4
5
6 7 8 9
10 11 12 13
La page 13est une page ne contenant aucun lien.
Interprétation
Le surfeur qui arrive à la page 13 ne peut plus en sortir puisque la page 13 n'a pas de lien externe.
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Solution : ajouter du hasard
Le modèle traduit un comportement très prévisible du surfeur. Il clique sur les liens d'une page pour aller sur une autre.
On peut considérer que notre comportement serait plutôt : au bout de quelques pages visitées je vais aller sur une page qui n'a rien à voir ou très peu avec les précédentes.
Traduction
On autorise un saut vers unepage aléatoire(n'importe quelle page du web) avec unefaible probabilité.
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Traduction mathématique
• une des pages référencées pariavec la probabilitéαet la pondération
• une page quelconque de façon équiprobable(1−α)/N
• on travaille surB=αA+ (1−α)1
NJoùJest la matrice ne contenant que des 1. On prendraα=.85.
Le mathématicien est content !
Il existe un unique vecteurr(de norme 1) vérifiantBr=r. (théorème de Perron-Frobenius)
Score
• Pages 1 et 9 : 0.4268
• Pages 5 : 0.415
• Page 7 : 0.226
Olivier Guibé Historique et motivation La démarche Matrices PageRank
Ce que vous avez évité
Cette « nouvelle idée « (classement récursif) associée au côté
« aléatoire » est le modèlePageRank:
• tout se passe bien
• ce classement est robuste (ajouter artificiellement des pages qui pointent vers une même page ne change pas beaucoup le classement)
• on utilise les matrices, l'algèbre linéaire, les marches aléatoires sur les graphes, le théorème du point fixe, etc
• du point de vue informatique comment gérer une telle quantité de données, les algorithme de calcul (certains sont secrets), etc
Olivier Guibé Historique et motivation La démarche Matrices PageRank