Efficient Crawling Through URL Ordering Junghoo Cho - Hector Garcia-Molina - Lawrence Page Department of Computer Science Stanford, CA Algorithmes pour le Web SCHNEIDER Thibault
2/25 Sommaire Introduction Mesures d’importance Définition du problème Expériences & Résultats Conclusion
3/25 Introduction Rappel : Qu’est ce qu’un crawler ? Mode de fonctionnement : 1) Début de la recherche à partir d’une page initiale p 0 2) Extraction des liens qui se trouvent sur la page p 0 3) Ajout des liens dans une queue 4) Le crawler prend les URL dans un certain ordre et répète l’opération
4/25 Introduction Rappel : Qu’est ce qu’un crawler ? Utilisation : 1) Pour des moteurs de recherche, les crawlers essayent de visiter un plus grand nombre de page, pour construire une table d’indexation beaucoup plus grande. 2) Plus spécifiquement, certain crawler vont scanner les pages pour rechercher des caractéristiques particulières (ex: recherche d’ )
5/25 Introduction Rappel : Qu’est ce qu’un crawler ? Problèmes : 1) Externe : ne pas surcharger le réseau 2) Interne : le crawler doit traiter des volumes de données énormes Le crawler doit également décider de la fréquence de revisite des pages afin d’assurer la « fraicheur » de ses informations De quelle manière un crawler devrait-il balayer la file d’attente des URL afin de visiter de manière « intelligente » le Web ?
6/25 Introduction De quelle manière un crawler devrait-il balayer la file d’attente des URL afin de visiter de manière « intelligente » le Web ? Il est primordial que le crawler visite d’abord les pages « importantes » de sorte que la fraction du Web visité soit plus significative
7/25 Mesures d’Importance Selon les besoins d’un client, toutes les pages n’auront pas le même intérêt Étant donné une page p, on note I(p) l’importance de la page Il existe différentes mesures permettant de déterminer l’importance d’une page : Similarité entre un document et une requête Décompte des liens entrants (backlinks count) PageRank Forward Link Count Location metric …
8/25 Mesures d’Importance (1) Similarité entre un document et une requête : la requête Q va diriger le processus de crawling IS(p) est défini comme étant la similarité textuelle entre p et Q Pour calculer la similarité entre p et Q, nous visualisons les documents sous forme de vecteur à n dimensions : où les w i représentent les mots du vocabulaire 1 si w i appartient au document w i = 0 sinon On effectue ensuite le produit interne entre p et Q (ou alors « cosine similarity » où l’on prend le produit entre les vecteurs normalisés)
9/25 Mesures d’Importance (2) Décompte des liens entrants (backlinks) : On note IB(p) comme étant le nombre de liens pointant vers p Une page reliée à beaucoup d’autres pages sera plus importante qu’une page isolée On note aussi IB’(p) comme étant une mesure d’approximation qui comptabilise le nombre de liens déjà recensés jusqu’alors ≠ IB(p) qui nécessite d’avoir visité le Web en entier p1p1 p2p2 p4p4 p3p3 IB(p 3 ) = 1 IB(p 4 ) = 2
10/25 Mesures d’Importance (3) PageRank : IB(p) traite tous les liens de manière égale Ex : un lien venant de Yahoo! aura le même poids qu’une page personnelle !!! Yahoo! est néanmoins plus important (en terme IB(p)) car IB(Yahoo!) > IB(page personnelle) ; il faudrait donc attribuer un poids aux pages On note aussi IR(p) qui définit récursivement l’importance d’une page p telle que la somme des poids d’importance des pages qui ont un lien vers p avec p une page étant pointée par les pages t i et c i le nombre de lien sortant de t i et d un facteur d’atténuation p1p1 p2p2 p4p4 p3p3 IR(p 3 ) = (5/2) = 2.05 IR(p 4 ) = (5/2 + 2) = 3.45 IR(p 1 ) = 5 IR(p 2 ) = 2
11/25 Définition du problème Nous allons définir 3 situations de crawling différentes : 1. CRAWL & STOP 2. CRAWL & STOP with Threshold
12/25 Définition du problème (1) CRAWL & STOP Le crawler démarre à partir d’une page p 0 et s’arrête après avoir visité K pages Le crawler devrait donc avoir visité r 1, …, r K (appelées "hot" pages) où r 1 est la page la plus importante, r 2 la 2 ième page plus importante… Réalité ≠ Cas idéal en réalité le crawler n’aura visité que M pages ayant un rang > ou = à I(r K ) La performance du crawler est déterminée par : M/K (si idéal P CS = 1)
13/25 Définition du problème (2) CRAWL & STOP with Threshold Le crawler démarre à partir d’une page p 0 et s’arrête après avoir visité K pages Nous ajoutons un paramètre G d’importance telle que : 1. si I(p) ≥ G p est une "hot" page 2. Sinon p n’est pas une "hot" page En considérant H le nombre de "hot" pages visitées, on détermine la performance du crawler(P ST ) par le % de "hot" pages visitées sur l’ensemble des K pages.
14/25 Expériences & Résultats Expérience 1 : Descriptif
15/25 Expériences & Résultats Expérience 1.a I(p) = IB(p) Modèle = CRAWL & STOP with Threshold avec G = 3, 10 et 100 G Hot pages47%10%0.8%
16/25 Expériences & Résultats Expérience 1.b I(p) = IB(p) Modèle = CRAWL & STOP with Threshold avec G = 100 But : comparer les 3 méthodes de réordonnancement de la queue
17/25 Expériences & Résultats Expérience 1.b
18/25 Expériences & Résultats Expérience 1.b I(p) = IB(p) Modèle = CRAWL & STOP with Threshold avec G = 100 But : comparer les 3 méthodes de réordonnancement de la queue
19/25 Expériences & Résultats Expérience 1.b Observations : la méthode de réordonnancement par PageRank semble meilleure et permet de visiter plus de documents populaires que les autres approches. Ceci s’observe également lorsque l’on change le critère d’importance : I(p) = IR(p) [G = 13]
20/25 Expériences & Résultats Expérience 2 : basée sur la similarité -> la définition d’importance est donc celle définie par IS(p,Q) avec Q une requête. IS(p,Q) = p est hot si Q appartient au titre ou si il y a 10 occurences de Q dans le corps de la page Algorithme 1 ne convient plus car il ne s’intéresse pas au contenu de la page.
21/25 Expériences & Résultats Expérience 2.a I(p) = IS(p) Seule la méthode breadth donne des résultats satisfaisants
22/25 Expériences & Résultats Expérience 2.b
23/25 Expériences & Résultats Expérience 2.b Avec Q=(computer)
24/25 Expériences & Résultats Expérience 2.b Avec Q=(admission)
25/25 Conclusion De manière générale : 1. PageRank (IR’(p)) est une bonne méthode de réordonnancement Algorihtme utilisé par Google 2. Si la similarité d’une requête est importante, il est utile de visiter en premier les URLS qui ont les caractéristiques suivantes : 1. Une ancre similaire à la requête 2. Une partie de la requête dans l’URL lui-même 3. Proche d’une hot page Très utile pour crawler une partie du Web (quand les ressources sont limitées) ou quand on doit revisiter une page pour s’assurer de sa fraîcheur. Une limite à cette étude peut être le fait que les expériences ont été réalisées sur les pages de Stanford et non sur le Web entier.