• Aucun résultat trouvé

Les matrices et l'algorithme PageRank de Google

N/A
N/A
Protected

Academic year: 2022

Partager "Les matrices et l'algorithme PageRank de Google"

Copied!
35
0
0

Texte intégral

(1)

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

(2)

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

(3)

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.

(4)

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.

(5)

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.

(6)

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.

(7)

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

(8)

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

(9)

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

(10)

Olivier Guibé Historique et motivation La démarche

Matrices PageRank

Quelques explications

La structure de notre graphe est la suivante 12,3,4,5 ; 21,3 ; 31,4 ; 41,2 ; 56,8 ; 61,7 ; 75 ; 87,9 ; 95,10,11,12 ; 109,11 ; 119,12 ; 129,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

(11)

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.

(12)

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 : 12,3,4,5 ; 21,3 ; 31,4 ; 41,2 ; 56,8 ; 61,7 ; 75 ; 87,9 ; 95,10,11,12 ; 109,11 ; 119,12 ; 129,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.

(13)

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 !

(14)

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 !

(15)

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 !

(16)

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 !

(17)

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

(18)

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

(19)

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

(20)

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 =??

(21)

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 . . .

(22)

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

(23)

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



















(24)

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







(25)

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

(26)

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

. +

.

+ +

.

(27)

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

. +

.

+ +

.

(28)

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.

(29)

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

(30)

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 !

(31)

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.

(32)

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é.

(33)

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

NJJest 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

(34)

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

(35)

Olivier Guibé Historique et motivation La démarche Matrices PageRank

Merci

Références

Documents relatifs

La formation «créer son site sous wordpress» a été conçue pour répondre un objectif bien précis : permettre à toute personne qui n'a aucune connaissance ni compétence

Pour enregistrer un document sous forme d’une page web unique (au format HTML), allez à Fichier > Enregistrer sous dans la barre de menu et choisissez Document HTML (Writer)

Développement de la logique de l’application côté serveur (modèle) Développement des vues et du contrôleur côté serveur ; possible annotation sémantique dans les vues.

Le score est donc égal au score au moment où on atteint la cible (il a peut être diminué si on a touché des obstacles) moins la valeur de la

Il y a donc d’autres m´ecanismes qui permettent d’ajouter des nouvelles pages entre deux PageRank et aussi de modifier le classement en fonction des « cliques » sur les recherches.

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

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

Dans cette section nous allons utiliser la connaissance de la solution de l’équation de la cha- leur et le fait que Black et Scholes se ramène via un changement de variables