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