1 / 42

XyCrawler, monitorage, filtrage et validation de pages Web pour l’entrepôt edot

XyCrawler, monitorage, filtrage et validation de pages Web pour l’entrepôt edot. Revue edot du 29 Juin 2004 Lot 3 : Création de l’entrepôt G. Sadrati, B. Nguyen. Plan. Cadre du crawling Crawling et Monitorage Filtrage et Validation Perspectives et améliorations. Crawl du Web.

gallia
Download Presentation

XyCrawler, monitorage, filtrage et validation de pages Web pour l’entrepôt edot

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XyCrawler, monitorage, filtrage et validation de pages Web pour l’entrepôt edot Revue edot du 29 Juin 2004 Lot 3 : Création de l’entrepôt G. Sadrati, B. Nguyen

  2. Plan • Cadre du crawling • Crawling et Monitorage • Filtrage et Validation • Perspectives et améliorations

  3. Crawl du Web

  4. Cadre du crawling • Nécessité d’un mécanisme d’acquisition de données • Pages HTML • Autre… (BD, PDF…) • Nécessité d’un outil de gestion des changements des pages récupérées • Travaux sur les deltas • Monitoring • Différence : détecter des informations sur le contenu des pages au moment où elles sont lues et déclencher des alertes

  5. Cadre du crawling • Fonctionnalité très utile pour un entrepôt XML • Passage à l’échelle primordial: un crawler non distribué crawl 20 pages par seconde ! • Solution proposée par Xylème: • Utilisation d’un langage déclaratif simple pour définir les souscriptions • Utilisation d’algorithmes efficaces pour le traitement de larges quantités de données

  6. Crawling et Monitorage

  7. Crawling : Stratégies • Crawling puis filtrage • Taux faible de qualité avant filtrage • Beaucoup de pages retournées • Focused Crawling (edot filter) • Types de documents à crawler • HTML • PDF • …

  8. Le langage de souscription : glossaire • Condition atomique : une question atomique booléenne simple, qui pourra être testée pour tous les documents (est-ce un document pdf ? Est ce un nouveau document ?…) • Évènement atomique: à chaque condition atomique on associe un évènement atomique, identifié simplement par un numéro, qui sera déclenché si la condition atomique associée est vraie • Condition complexe: une conjonction de conditions atomiques • Évènement atomique: l’événement associé à une condition complexe • Requête de monitoring: requête composée d’une disjonction de conditions complexes

  9. Un example de souscription Subscription product_denrées_alimentaires Monitoring product_denrées_alimentaires_pH select url from meta where contains "denrées alimentaires" and contains "pH" Monitoring product_denrées_alimentaires_acide select url from meta where contains "denrées alimentaires" and contains "acide" and contains "gras" Monitoring product_food_product_fatty select url from meta where contains "food product" and contains "fatty“ and contains "acid" Report by post when count = 1

  10. Architecture du module

  11. Performance du système • La complexité dépend uniquement du nombre d’évènements atomiques moyen N déclenchés par un document O(N2) • Intuition : Dans le cas général, les deux premiers niveaux de la table sont les seuls qui comptent • L’algorithme est adapté aux besoins • 10M évènements complexes; 1M éven. atomiques • 100 évènements atomiques déclanchés par document 0.8 ms pour traiter un document. 2 million de documents par jour (limité par le crawl)

  12. Résultats • Notifications : • Caractéristique (ph, aw, teneur en acide gras) Et • Germes OU produits (OU auteurs) • Plusieurs phases de 10h de crawl • Phase 1 : • Résultats bruts • 4 600 URLs / 21 800 notifs • Phase 2 : • Résultats filtrés par type, rajout de synonymes anglais • 17 500 URLs / 47 500 notifs • Phase 3 : • Crawler ‘allégé’, élimination de mots trop fréquents, des auteurs • 2400 URLs / 4 000 notifs

  13. Résultats : top 5 • Phase 1: www.asept.fr/bissa6.htm 168 www.juno.co.uk/stechno.htm 78 pup.princeton.edu/catalogs/outprint.shtml 69 www.satpro.ru/hva110001.hdf 64 www.soda-tops.com/KATIA/ 61 • Phase 2: www.art.com/asp/display-asp/_/ui--EB14F96C4F2445CD8A6E3C4ABD8CF632/ID11389/jarrad_paul.htm 103 www.art.com/asp/display-asp/_/ui--839E61F78F2D4987A3D7DEA4072F76AA/ID--5091/tom_hanks.htm 101 www.art.com/asp/display-asp/_/ui--DBF701FFE5EE4ECFAB13904CA992A6B6/ID--8640/virginia_hey.htm 101 www.art.com/asp/display-asp/_/ui--EB14F96C4F2445CD8A6E3C4ABD8CF632/ID--11602/mike_epps.htm 101 www.art.com/asp/display-asp/_/ui--5D8EA6ABC47945978D228EC6A269893B/ID--12784/david_hanson.htm 101 www.art.com/asp/display-asp/_/ui--95F32BA3CE8B4B16BEE85ACB2779D05D/ID--6362/divine.htm 99 • Phase 3: http://aem.asm.org/current.shtml 57 http://wyndmoor.arserrc.gov/combase/Search.aspx 46 http://aem.asm.org/content/vol69/issue5/index.shtml 37 http://yertreelerermine.blogspot.com/2003_06_01_yertreelerermine_archive.html 24 http://www.dmcindc.com/2002/03/wn_2002_03.html 22

  14. Filtrage et Validation

  15. Buts • Mieux comprendre le contenu des pages • Filtrer automatiquement les pages • Permettre une évaluation automatique des stratégies de crawl

  16. Utilisation de Thesus • Module d’enrichissement sémantique de Thesus • Utilisation de la structure du Web, en particulier les liens entre pages • Objectifs • Constituer un entrepôt de données du Web sur un thème particulier • Constituer des classes (sémantique) de documents pour simplifier l’interrogation et la gestion de l’entrepôt

  17. Importance des liens pour le Web • Concept de base de la navigation hypertexte • Utilisation des liens pour obtenir des information sur la pertinence ou l’importance des pages (PageRank) • Les liens sont porteurs de sens, et apportent de la connaissance de la part de l’auteur de la page • Beaucoup de liens vers une page indiquent un consensus

  18. Technique basique: Sémantique et Extraction des Liens • L’analyse d’un proche voisinage de l’ancre d’une page donne des indications intéressantes sur la page cible [Phelps, Wilenski, 2000] • Vérification expérimentale • Constat: on peut récupérer des mot-clés qui caractérisent une page, sans même la lire. • Heuristique pour l’extraction des mots clés • Fenêtre de 100 caractères • Analyse des balises HTML porteuses de sens • Élimination de mots vides de sens • Cette approche est complémentaire d’une approche IR classique comme TF/IDF

  19. Technique avancée: Utilisation d’une ontologie • Calcul d’un ensemble de mots clés succinct • Développement d’une mesure de similarité sur les arbres • Application à la classification • Une meilleure adaptabilité des requêtes, tout en conservant un langage de requêtes simple • Problème de dimensionnalité si on considère les mots clés en IR classique (mesure cosinus)

  20. Notation • Un document Web d avec un URL U est représenté par: • {U, k1, k2…kn} où chaque ki est un terme de l’ontologie

  21. Re-formulation de la Problématique Étant donne un ensemble de documents, dont chacun est caractérise par un ensemble de concepts d’une ontologie, trouver une méthode pour regrouper en classes les documents ayant une sémantique proche

  22. Une solution ? • Algorithme de regroupement par densité [EKSX96] DB-Scan • Mesure de similarité entre ensembles de concepts

  23. Un exemple de mesure: Cosinus • Utilise le coefficient de Jaccard: • Faiblesse : Ne permet pas de gérer une ontologie

  24. Une autre mesure de similarité • Pour un arbre : Similarité de Wu et Palmer [WP94] • Applicable aussi à un DAG • Plus fine c b a

  25. S=1/2 x (1/3(3/4+6/9+3/4)+1/2(3/4+3/4)) S= 0.74 …et pour des ensembles b2 a3 a2 b1 a1

  26. Algorithme de regroupement par densité • Utilise une mesure • [EKSX96] A density based algorithm for discovering clusters in large spatial databases with noise, SIGKDD • Paramètres : MinSim, MinDocs

  27. Nommage des classes (Étiquetage) • On construit pour chaque classe l’union des concepts qui apparaissent dans au moins 1 document • Pour chaque concept, on calcule la proportion de documents de la classe auxquels il appartient • On garde les concepts pertinents (c-à-d au dessus d’un seuil ~51% dans nos tests)

  28. Résultats sur le Crawl de Xylème • Qualité de pages trop faible pour utiliser l’ontologie et le clustering • Les techniques avancées seront utilisées pour la validation sur des ensemble de pages de meilleure qualité • Utilisation de l’extraction de mots-clé • Permet une validation automatique (rejet automatique)

  29. Résultats URL: http://www.art.com/asp/display-asp/_/ui--95F32BA3CE8B4B16BEE85ACB2779D05D/ID--6362/divine.htmKeys: inches,poster,jennifer,jane,joanURL: http://yertreelerermine.blogspot.com/2003_06_01_yertreelerermine_archive.html (page perso)Keys: just,gabby,am,want,man,timeURL: http://www.dmcindc.com/2002/03/wn_2002_03.html (page perso) Keys: just,today,really,get,time,gotURL: http://www.satpro.ru/hva110001.hdf (site russe sur des caméras)Keys: URL: http://www.asept.fr/bissa6.htm (page non trouvée)Keys: URL: http://www.art.com/asp/display-asp/_/ui--EB14F96C4F2445CD8A6E3C4ABD8CF632/ID--11602/mike_epps.htmKeys: inches,poster,michael,john,richard,david,robertURL: http://aem.asm.org/content/vol69/issue5/index.shtmlKeys: pdf,microbiol,html,appl,environ,abstractURL: http://aem.asm.org/current.shtmlKeys: microbiol,abstract,html,pdf,environ,appl URL: http://www.art.com/asp/display-asp/_/ui--839E61F78F2D4987A3D7DEA4072F76AA/ID--5091/tom_hanks.htmKeys: inches,poster,michael,john,richard,david,robertURL: http://wyndmoor.arserrc.gov/combase/Search.aspxKeys: products,search,bacillus,food,bacteria,dataURL: http://www.art.com/asp/display-asp/_/ui--EB14F96C4F2445CD8A6E3C4ABD8CF632/ID11389/jarrad_paul.htmKeys: theurl,artcom,clearance,home,new,comicsURL: http://www.art.com/asp/display-asp/_/ui--DBF701FFE5EE4ECFAB13904CA992A6B6/ID--8640/virginia_hey.htmKeys: inches,poster,jennifer,jane,joan,lauraURL: http://www.art.com/asp/display-asp/_/ui--5D8EA6ABC47945978D228EC6A269893B/ID--12784/david_hanson.htmKeys: inches,poster,michael,john,david,richard,robertURL: http://www.soda-tops.com/KATIA/Keys: click,preview,sex,asian,site,best

  30. Perspectives et améliorations

  31. Le crawl large… inefficace • Le crawl ‘large’ donne des résultats décevants • Prouvé par l’application de Thesus • PDFFilter montre que les documents pdf sont plus intéressant • Difficulté dans la construction des requêtes de monitoring • Mots trop communs • Nécessité d’un spécialiste pour la construction et la validation

  32. Vers un crawl focalisé… • Crawling focalisé (edotfilter) • Permettra l’utilisation des techniques de clustering et d’étiquetage avancées • PDFFilter • Techniques d’extraction spécifiques au format • S’intègre dans l’architecture modulaire • Utilisable avec Thesus

  33. Questions ?

  34. Architecture du module Xyleme Query Processor documents Trigger Engine Xyleme Crawler Alerter Complex Event Detection Reporter Xyleme Reporter Subscription Manager SQL Xyleme Subscription Manager Web Browser SQL

  35. d document & alerts d/46 d/46,67 loading Phase 1 : Détection des évènements atomiques 5 millions of pages/day atomic event 46: URL matches pattern www.musee-orsay.fr/* atomic event 67: XML document contains the tag <painter> with the value “Monet” metadata manager HTML parser complex event detection XML loader

  36. Phase 2 : Détection des évènements complexes Millions of alerts of pages/day Millions of subscriptions HTML parser complex event detection complex event 12: 67 & 46 (XML document contains the tag <painter> with value “Monet” and URL matches pattern www.musee-orsay.fr/*) XML loader

  37. notification/monitoring alerts triggers Millions of Notifs Per day notification/results clock Phase 3: Notification Processor complex event detection Reporter continuous queries

  38. C1 a4 a3 a7 a4 a1 a6 a5 C0 = a0 C1 = a0 a4 C2 = a0 a1 a3 C3 = a2 C4 = a4 a5 a6 a7 a0 a2 a4 Algorithme Atomic Event Set, Exemple C2 C4 C1 C3 C0

  39. a4 a4 a0 a0 a2 a2 Algorithme Atomic Event Set, Exemple C1 C2 a3 C4 a7 S={a0 a2 a 4} a1 a6 Detected Events: a5 C0 C1 C3 C3 C0 a4 a4

  40. Autres fonctionnalités du module • Alerters XML (G. Cobéna) • Reporting (J. Jouglet)

  41. Complexité • Analyse en moyenne théorique de O(N2) avec N = nombre d’événement atomiques détectés • Etude expérimentale • Résultats tout à fait satisfaisant en pratique

  42. Conclusions • Module indépendant • Utile comme déclencheur en l’amont de services tels que la classification sémantique • Publications : B. Nguyen S. Abiteboul, G. Cobena and M. Preda, Monitoring XML data on the Web, Proceedings of the ACM-SIGMOD, 2001. B. Nguyen, S. Abiteboul, G. Cobena and L. Mignet, Query Subscription in an XML Warehouse, DELOS Workshop, 2000

More Related