420 likes | 614 Vues
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.
E N D
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
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
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
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 • …
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
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
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)
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
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
Buts • Mieux comprendre le contenu des pages • Filtrer automatiquement les pages • Permettre une évaluation automatique des stratégies de crawl
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
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
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
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)
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
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
Une solution ? • Algorithme de regroupement par densité [EKSX96] DB-Scan • Mesure de similarité entre ensembles de concepts
Un exemple de mesure: Cosinus • Utilise le coefficient de Jaccard: • Faiblesse : Ne permet pas de gérer une ontologie
Une autre mesure de similarité • Pour un arbre : Similarité de Wu et Palmer [WP94] • Applicable aussi à un DAG • Plus fine c b a
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
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
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)
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)
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
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
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
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
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
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
notification/monitoring alerts triggers Millions of Notifs Per day notification/results clock Phase 3: Notification Processor complex event detection Reporter continuous queries
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
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
Autres fonctionnalités du module • Alerters XML (G. Cobéna) • Reporting (J. Jouglet)
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
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