Moteurs de Recherche

Transcription

Moteurs de Recherche
Moteurs de Recherche
Vincent VANDENBUSSCHE
DEA – SIR / GR BD
Mars 2002
Plan
n
Introduction
n
n
Crawling
n
n
n
Index de texte
Classement
n
n
Stockage distribué
Indexage
n
n
Sélection
Rafraîchissement
Stockage
n
n
Fonctionnement
PageRank
Conclusion
2
Introduction – Défis
Taille du Web
n
n
n
Plusieurs milliards de pages
Croissance exponentielle
Plusieurs dizaine de terabytes
4,5
4
3,5
Nombre de pages
n
3
2,5
2
1,5
1
0,5
0
août-99
déc-99
mars-00
juin-00
oct-00
janv-01
avr-01
3
Introduction – Défis
n
Rafraîchissement
n
.com
n
n
40 % des pages changent chaque jour
La demi-vie des pages est de 10 jours
Enchevêtrement de liens
n
nœud de papillon
22 %
Pages accessibles
depuis le cœur et mais
ne donnant pas accès
au coeur
Cœur : 28 %
Pages accessibles
depuis le cœur et
donnant accès au
coeur
22 %
Pages donnant accès
au cœur mais pas
accessible depuis le
coeur
4
Introduction – Défis
n
Moteurs de recherche
n
n
n
n
n
n
n
n
n
Google : www.google.com
WiseNut : www.wisenet.com
AllTheWeb : www.alltheweb.com
Lycos : www.lycos.com
Altavista : www.altavista.com
Northern Light : www.northernlight.com
HotBot : www.hotbot.com
MSN Search : search.msn.com
Teoma : www.teoma.com
5
Introduction – Fonctionnement
Entrepôt
Entrepôt
de
de
pages
pages
WWW
WWW
Crawler(s)
Crawler(s)
Contrôleur
Contrôleur
Crawl
Crawl
Module
Module
Indexage
Indexage
Index
Index
texte
texte
Client
Client
Module
Module
Analyse
Analyse
Index
Index
structure
structure
Module
Module
Interrogation
Interrogation
Module
Module
Classement
Classement
Index
Index
services
services
6
Crawling – Description
n
Algorithme :
n
n
n
S0 : ensemble initial d’URLs à récupérer
R ← S0
Tant que R ≠ ∅ :
n
n
n
n
Récupérer l’URL
Télécharger la page correspondante
Extraire les URLs de cette page et les ajouter à R
Challenges :
n
n
Quelles pages le crawler doit-il télécharger ?
Comment le crawler doit-il tenir compte du
rafraîchissement des pages ?
7
Crawling – Sélection
n
Métrique d’importance
n
Basé sur l’intérêt : IS(P)
n
n
n
Basé sur la popularité : IB(P)
n
n
Définir un intérêt : requête d’intérêt Q
Quantifier la similarité textuelle entre P et Q
Décompte des citations
Basé sur la localisation : IL(P)
n
n
Sur le domaine : .com plus important
Sur la syntaxe : nombre de slashs
8
Crawling – Sélection
n
Stratégies de crawl
n
Crawl & Stop
n
n
n
n
n
K : nombre de pages à télécharger
IK : Kème importance sur la totalité des pages du Web
M : nbre de pages téléchargées dont l’importance > IK
Performance crawler : (M x 100)/K
Crawl & Stop avec seuil
n
n
n
n
G : importance seuil
H : nombre de pages du Web dont l’importance > G
N : nbre de pages téléchargées dont l’importance > G
Performance crawler :
n
n
Si K>H : (N x 100)/K
Si K<H : (N x 100)/H
9
Crawling – Sélection
n
Métriques d’ordonnancement
n
Métrique a priori
n
n
n
n
Métrique de localisation IL(P)
Métrique de popularité IB’(P) approchée
n
n
Uniquement à partir des pages déjà téléchargées
Métrique d’intérêt IS’(A(P)) approchée
n
n
n
Métrique d’importance ⇒ page
Métrique d’ordonnancement ⇒ URL
Basée sur le texte de l’ancre pointant vers P
Uniquement à partir des pages déjà téléchargées
Combinaison de ces métriques
n
IC(P) = k1 x IL(P) + k 2 x IB’(P) + k3 x IS’(A(P))
10
Crawling – Sélection
n
n
n
225 000 pages
Métrique d’ordonnancement : IB’(P)
Stratégies : Crawl & Stop avec seuil pour G = 100 (⇒ H=1400)
11
Crawling – Rafraîchissement
n
Métrique de rafraîchissement
n
Fraîcheur page P :
n
1 si P est à jour à t
À l’instant t : F(P, t) = 
0 sinon
t
n
n
En moyenne : F(P) = lim ∫ F (P ,t )dt
Âge page P :
n
t →∞ 0
0 si P est à jour à t
À l’instant t : A(P, t) = 
t − date modification sinon
t
n
n
A(P , t )dt
En moyenne : A (P) = tlim
∫
→∞ 0
Fraîcheur et âge collection
12
Crawling – Rafraîchissement
n
Stratégie de rafraîchissement
n
n
n
Ressource limitée
n
n
n
Uniforme : fréquence f
Proportionnelle : λi/fi constant
e1
e2
1/2 x 1/2 = 1/4
1/2 x 1/18 = 1/32
Résultat
n
Si l’évolution des pages suit une loi de Poisson, la
stratégie uniforme est toujours meilleure que la
stratégie proportionnelle quelque soit le nbre de
page, leurs fréquences d’évolution et leurs
fréquences de rafraîchissement au sens de la
métrique de fraîcheur ou d’âge.
13
Crawling – Rafraîchissement
n
Optimisation du rafraîchissement
n
n
n
Nbre de pages : 5 avec fréquence d’évolution
respective 1, 2,…, 5.
Capacité crawler : 5 pages
Evolution selon loi de Poisson
14
Stockage – Défis
n
Extensibilité
n
n
Modes d’accès
n
n
n
Random : module d’interrogation
Streaming : module d’indexage et d’analyse
Rafraîchissement
n
n
n
Distribution de l’entrepôt de pages
Massif
Fréquent
Effacement pages obsolètes
15
Stockage – Distribution
n
Politique de distribution des pages
n
n
n
Méthode d’organisation des pages sur un site
n
n
n
n
Uniforme
Hashage
Hashage
Uniforme
Hashage par intervalle
Méthode de rafraîchissement
n
n
n
Mode batch ou mode rigide
Crawl complet ou partiel
En place ou avec image
16
Indexage – Description
n
Types d’index :
n
Index de structure (ou de liens)
n
n
Index de contenu (ou de texte)
n
n
Index inversé
Index de services
n
n
Stocker les informations de voisinage
Index de site
Partitionnement d’index :
n
n
Locale
Globale
17
Indexage – Index inversé
n
Définition
n
n
n
n
n
Mot d’indexage
Localisation : URL + poids
Index inversé : liste des localisations par
mot d’indexage
Lexique : ensemble des mots d’indexage
Challenge
n
n
n
Taille
Rafraîchissement
Format de stockage (compression)
18
Indexage – Distribution
Indexeurs
Serveurs de requêtes
Distributeurs
Etape
intermédiaire
Pages Web
Index
inversé
Etape 2
Etape 1
Statisticiens
19
Classement – Challenge
n
Présenter les résultats d’une requête de façon
efficace
n
n
n
n
Taille importante du Web
Pages Web pas suffisamment auto-descriptive
Utiliser la structure des liens du Web
PageRank
n
n
Algorithme développé par Page & Brine en 1998 à
la base de Google
Étendre la notion de citation en prenant en
compte l’importance du citant.
20
Classement – PageRank
n
Version théorique
n
n
n
N(i) : nbre de liens sortant de la page i
B(i) : nbre de pages citant i
Définition récursive du PageRank r(i) de i :
r (i ) =
r2=0.286
j ∈B (i )
n
Interprétation de r comme vecteur propre
n
r1=0.286
r5=0.143
∑r ( j ) /N ( j )
Méthode de la puissance itérée
r3=0.143
r4=0.143
21
Classement – PageRank
2
n
Version pratique
n
3
Le Web n’est pas un graphe fortement connexe :
n
1
n
n
5
4
n
Existence de voies sans issue
Existence de points d’arrêts
Enlever les nœuds sans liens de sortie
Donner la possibilité de sortir des voies sans issue
r (i ) = d ×
2
∑ r ( j ) / N ( j ) + (1 − d ) / m
j ∈B ( i )
3
1
4
n
d traduit l’aptitude à l’ennui du surfeur lorsqu’il est
bloqué dans une voie sans issue. A partir d’un
moment il va décider de repartir d’un autre point.
22
Conclusion
n
2 contraintes fortes
n
n
n
n
n
n
n
Taille
Rafraîchissement
Heuristiques de crawling
Stockage distribué
Indexage parallélisé
Classement basé sur les liens (PageRank)
Ce qu’il reste à faire
n
n
Images, vidéos
Multiplication des contenus dynamiques
23
Bibliographie
n
n
n
[1] A. Arasu, J. Cho, H. Garcia-Molina,
and S. Raghavan. Searching the web.
ACM Transactions on Internet
Technologies, 1(1), June 2001
[2] The Search Engine Showdown
www.searchengineshowdown.com
[3] B. Murray, A. Moore. Sizing the
Internet, White Paper, July 2000
disponible sur www.cyveillance.com
24