Vous êtes sur la page 1sur 34

Big Data

Marche aléatoire : L’algorithme Pagerank de Google


IDSCC 5 ENSAO
A.KERKRI
Date
Introduction
 La disponibilité d'une recherche Web efficace et précise, grâce à
moteurs de recherche tels que Google est l’une des piliers de
l’internet.
 Bien que Google n'était pas le premier moteur de recherche, il a
été le premier à vaincre les spammeurs qui avaient rendu la
recherche presque inutile.
 De plus, l'innovation apportée par Google était un outil
technologique non négligeable, appelé « PageRank ».

12/27/2021 2
Introduction
 Pourtant, la guerre entre ceux qui veulent rendre le Web utile et
ceux qui l'exploiteraient à leurs propres fins n'est jamais fini.
 Quand PageRank était établie comme une technique essentielle
pour un moteur de recherche, les spammeurs ont inventé des
méthodes pour le manipuler, appelé spam de lien.

12/27/2021 3
Introduction
 On va commencer par une partie de l'historique des moteurs de
recherche, afin de motiver la définition du PageRank, un outil
d'évaluation de l'importance des pages Web d'une manière qu'il
n'est pas facile de tromper.
 Puis on va introduire l'idée de « internautes aléatoires » pour
expliquer pourquoi le PageRank est efficace. On introduit alors la
technique de « taxation » ou recyclage des internautes aléatoires,
afin d'éviter certaines structures de Web.

12/27/2021 4
Introduction
 Le « term spam » et sa solution
Les techniques pour tromper les moteurs de recherche en leur
faisant croire qu’une page contient un contenu spécifique, sont
appelées «term spam». La capacité des spammeurs à terme à
fonctionner si facilement a rendu les premiers moteurs de
recherche presque inutiles. Pour lutter contre ce type de spam,
Google a introduit deux innovations :
1. PageRank a été utilisé pour simuler où les internautes( ayant
commencé aléatoirement dans une page), auraient tendance à se
rassembler s'ils suivaient des liens externes choisis au hasard à
partir de la page où ils se trouvaient actuellement, et ce
processus a été autorisé à itérer plusieurs fois.

12/27/2021 5
Introduction
 Le contenu d'une page a été jugé non seulement par les mots
apparaissant sur cette page, mais par les mots utilisés dans ou à
proximité des liens vers cette page. Noter que alors qu'il est
facile pour un spammeur d'ajouter de faux mots à une page qu'il
contrôle, ils ne peuvent pas aussi facilement ajouter de faux
termes aux pages qui renvoient à leur propre page, s'ils ne
contrôlent pas ces pages.

12/27/2021 6
Introduction
Il est raisonnable de se demander pourquoi la simulation des internautes
aléatoires devrait nous permettre de se rapproche de la notion intuitive
de « l'importance » des pages. Il y en a deux motivations connexes qui ont
inspiré cette approche.
 Les internautes ont tendance à placer des liens vers des pages ils pensent que ce
sont des pages bonnes ou utiles à consulter, plutôt que mauvaises ou inutiles.

 Le comportement d'un internaute aléatoire indique quelles pages les utilisateurs du


Web sont susceptibles de visiter. Les utilisateurs sont plus susceptibles de visiter
des pages utiles.

12/27/2021 7
Pagerank
PageRank est une fonction qui attribue un nombre réel à chaque
page du Web (ou au moins à cette partie du Web qui a été explorée
et ses liens sont découvrables). L'intention est que plus le PageRank
d'une page est élevé, plus c'est "importante".
il existe plusieurs version de l’algorithme pour l'attribution du
PageRank, et en fait des variations sur l'idée de base peuvent
modifier le PageRank relatif de n'importe quelle page.

12/27/2021 8
Pagerank
Nous commençons par définir le PageRank de base, et le suivons par
les modifications nécessaires pour traiter certains problèmes du monde
réel concernant la structure du Web.

12/27/2021 9
Pagerank
 Modèle stochastique (chaine de Markov)
Bien que l'algorithme réel de PageRank soit complexe avec de nombreux
aspects techniques (et secrets), le Pagerank d'une page Web particulière
est facilement décrit au moyen d’un modèle stochastique.
Considérez un internaute aléatoire qui voyage sur Internet en passant
d’une page à l’autre au hasard. Lorsque l'internaute se trouve sur une page
Web particulière, ils choisit l'un des liens disponibles sur cette page
uniformément au hasard et puis il passe à cette page.

12/27/2021 10
Pagerank
Le modèle peut être décrit comme une marche aléatoire par
l'internaute sur un graphe géant appelé le webgraph. Dans le
webgraph, les sommets (nœuds) sont des pages web. Le sommet x est
joint au sommet y par une arête dirigée s'il y a un lien hypertexte sur la
page x qui mène à la page y. Lorsque l’internaute est au sommet x, il
choisit une arête s'éloignant de x uniformément au hasard à partir de
l'ensemble des arêtes disponibles, et se déplace vers ce sommet.

12/27/2021 11
Pagerank
Imaginez que l'internaute parcourt le Web au hasard depuis
longtemps. Quelle est la probabilité que l'internaute se trouve,
disons, à la page x ? Plus précisément, soit 𝑝𝑥𝑘 la probabilité que
l'internaute soit à la page x après k pas. La probabilité à long terme
d'être à la page x est définie comme :
lim 𝑝𝑥𝑘
𝑘→+∞
Cette probabilité à long terme est précisément le Pagerank de la
page x. Intuitivement, la probabilité à long terme d'être sur une page
particulière aura tendance à être plus élevée pour les pages avec plus
de liens entrants et plus petite pour les pages avec peu de liens, et est
une mesure de l'importance ou de la popularité d'une page.

12/27/2021 12
Pagerank
 La figure montre un réseau
simplifié de cinq pages. Les
numéros sous chaque l'étiquette
du sommet sont les probabilités
à long terme d'atteindre ce
sommet, et donc le Pagerank
attribué à cette page.

12/27/2021 13
Pagerank
 L’algorithme Pagerank utilise la modélisation par chaines de
Markov, il s’agit tout simplement du calcul de la distribution
stationnaire d’une chaine de Markov ergodique.
 Une chaine de Markov à espace des états fini est une chaine de
Markov irréductible (admet une seule classe de communication) et
apériodique (le pgcd des temps de retour pour touts les états est
égal à 1).

12/27/2021 14
Pagerank
 Exemple: considérons une structure web contenant les 4 pages :A,
B, C et D.
La matrice de transition est :

0 1/3 1/3 1/3


1/2 0 0 1/2
𝑀=
1 0 0 0
0 1/2 1/2 0

12/27/2021 15
Pagerank
 Supposons qu’un internaute commence au hasard sur l'une des n
pages du Web avec des probabilités égales. Alors le vecteur initial
sera :

1 1
𝑉0 = ( , … . , )
𝑛 𝑛
Si M est la matrice de transition du Web, alors après une étape, la
distribution de la position de l’internaute sera 𝑉0 𝑀, après deux
étapes ça sera : 𝑉0 𝑀2
En général, multiplier le vecteur initial 𝑉0 par 𝑀 un total de 𝑖 fois
va nous donner la distribution de l'internaute après 𝑖 étapes.
12/27/2021 16
Pagerank
La limite est atteinte en multipliant la distribution par M une autre
fois ne modifie pas sa valeur.
Exemple
Supposons que nous appliquions le processus décrit ci-dessus à la
matrice 𝑀 de l'exemple précédent. Comme il y a quatre nœuds, le
1 1 1 1
vecteur initial 𝑉0 = ( , , , ) et :
4 4 4 4

0 1/3 1/3 1/3


1/2 0 0 1/2
𝑀=
1 0 0 0
0 1/2 1/2 0
12/27/2021 17
Pagerank
Le processus de multiplication nous donne :

12/27/2021 18
Modification du Pagerank
 La structure du web
Ce serait bien si le Web était fortement connecté comme, ce qui veut
dire une chaine irréductible lors de la modélisation. Cependant, il
ne l’est pas, dans la pratique.
Une première étude du Web a trouvé qu'il avait la structure
illustrée à la figure suivante. Il y avait une grande composante
fortement connectée (SCC), mais il y avait plusieurs autres portions
qui étaient presque aussi grandes.

12/27/2021 19
Modification du Pagerank
 Illustration de la structure réelle du Web:

12/27/2021 20
Modification du Pagerank
 Ces structures violent les hypothèses nécessaires pour que le
processus de Markov converge vers une limite. Par exemple,
lorsqu'un internaute au hasard entre dans la composante out, ils ne
peuvent jamais sortir. En conséquence, les internautes qui ont commencé
dans le SCC ou dans le composant vont se retrouver dans la composante
out ou une Tendril hors de composante. Ainsi, aucune page du SCC ne
se retrouve avec une probabilité qu'un internaute y soit. Si nous
interprétons cette probabilité comme mesurant l'importance d'une page,
alors on conclut faussement que rien dans le SCC ou dans la composante
n'a d'importance.

12/27/2021 21
Modification du Pagerank
En conséquence, PageRank est généralement modifié pour éviter
de telles anomalies. Là sont vraiment deux problèmes que nous
devons éviter:
 Le premier est le problème d'impasse (dead end), c’est une
page qui n’a pas de liens qui mènent à d’autres page. Les
internautes qui accèdent à une telle page disparaissent, donc
aucune page qui peut accéder à une impasse aura un pagerank.

12/27/2021 22
Modification du Pagerank
 Le deuxième problème concerne les groupes de pages qui ont tous des
liens externes mais qui ne renvoient jamais vers des autres pages. Ces
structures, appelées pièges à araignées (spider trap).
ces deux problèmes sont résolus par une méthode appelée « taxation»,
où nous supposons qu’un internaute aléatoire a une probabilité finie de
quitter le Web à n'importe quelle étape.

12/27/2021 23
Modification du Pagerank
1. Solutions pour les impasses
Une page sans lien sortant est appelée une impasse. Si nous
permettons l’existence des impasses, la matrice de transition du
Web n'est plus stochastique.
Exemple
0 1/3 1/3 1/3
1/2 0 0 1/2
𝑀=
0 0 0 0
0 1/2 1/2 0

12/27/2021 24
Modification du Pagerank
 En commençant avec une probabilité uniforme on aura :

12/27/2021 25
Modification du Pagerank
Il existe deux approches pour faire face aux impasses.
 La suppression des impasses ainsi que leur arcs d’entrée. Cela
peut créer plus d'impasses, qui doivent également être supprimées,
récursivement. Cependant, nous finissons par nous retrouver avec
une composante, dont aucun des nœuds n'est une impasse.

12/27/2021 26
Modification du Pagerank
 Exemple

12/27/2021 27
Modification du Pagerank
 La matrice de transition après avoir supprimé les impasses :
0 1/2 1/2
𝑀 = 1/2 0 1/2
0 1 0
Dans ce cas en commençant avec une distribution initiale uniforme
on aura:

Après on restore la dernière impasse qu’on supprimé, en lui


attribuant un PageRank, puis on restore l’impasse suivante etc.
12/27/2021 28
Modification du Pagerank
2. Solutions pour les spider traps (piège d’araignée)
Comme nous l'avons mentionné, un spider trap est un ensemble de
nœuds sans impasses mais sans arcs menant en dehors. Ces
structures peuvent apparaître intentionnellement ou non sur le
Web, il en résulte que le calcul du PageRank place tout le PageRank
dans les pages contenus dans le piège.

12/27/2021 29
Modification du Pagerank
 Exemple
0 1/3 1/3 1/3
1/2 0 0 1/2
𝑀=
0 0 1 0
0 1/2 1/2 0
Le calcul du comportement de l’internaute
Aléatoire nous donne :

12/27/2021 30
Modification du Pagerank
 Pour éviter le problème illustré par l'exemple précédent, nous
modifions le calcul du PageRank en accordant à chaque internaute
aléatoire une faible probabilité de se téléporter vers une page
aléatoire, plutôt que de suivre un lien sortant de leur page actuelle.
 L'étape itérative, où nous calculons une nouvelle estimation
vectorielle des PageRanks 𝑉𝑘+1 à partir de l'estimation actuelle du
PageRank v et la matrice de transition M est :
1−𝛽 1−𝛽
𝑉𝑘+1 = 𝛽𝑉𝑘 𝑀 + ( ,…, )
𝑛 𝑛
1 1
avec : 𝑉0 = ( , … , )
𝑛 𝑛

12/27/2021 31
Modification du Pagerank
 où est une constante choisie, généralement comprise entre 0,8 et
0,9, e est un vecteur de tous 1 avec le nombre approprié de
composants, et n est le nombre de nœuds dans graphe du web. Le
terme βMv représente le cas où, avec probabilité , l'internaute au
hasard décide de suivre un lien sortant de sa page actuelle. Le
1−𝛽 1−𝛽
terme ( ,…, ) est un vecteur qui représente l'introduction,
𝑛 𝑛
avec une probabilité de 1 − β, d'un nouvel internaute aléatoire à
une page au hasard. Cette méthode s’appelle « taxation ».

12/27/2021 32
Modification du Pagerank
 Exemple de taxation
1 :
1 1 1
0 4
3 3 3 1
1 1
0 0 4 1
𝑉1 = 0,8 × 2 2 ×
1
+ 1 − 0,8 × 1,1,1,1 ×
4
0 0 1 0
1 1 4
0 0 1
2 2
1 1 14
0
3 3 3
1 1 1
𝑉2 = 0,8 × 2 0 0 × 𝑉 + 1 − 0,8 × 1,1,1,1 ×
2 1
4
0 0 1 0
1 1
0 0
2 2
……

12/27/2021 33
Modification du Pagerank
Avec l’utilisation de ce vecteur on a la convergence :

12/27/2021 34

Vous aimerez peut-être aussi