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
Revue E.Dot 29/6/2004 2
Plan
Cadre du crawling
Crawling et Monitorage
Filtrage et Validation
Perspectives et améliorations
Crawl du Web
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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
Crawling et Monitorage
Revue E.Dot 29/6/2004 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 …
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 9
Un example de souscription
Subscription product_denrées_alimentairesMonitoring product_denrées_alimentaires_pH
select url from metawhere contains "denrées alimentaires" and contains "pH"
Monitoring product_denrées_alimentaires_acideselect url from metawhere contains "denrées alimentaires" and contains
"acide" and contains "gras"
Monitoring product_food_product_fattyselect url from metawhere contains "food product" and contains "fatty“
and contains "acid"Report by post when count = 1
Revue E.Dot 29/6/2004 10
Architecture du module
Revue E.Dot 29/6/2004 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 document0.8 ms pour traiter un document. 2 million de documents par jour (limité par le crawl)
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 13
Résultats : top 5 Phase 1:www.asept.fr/bissa6.htm 168www.juno.co.uk/stechno.htm 78pup.princeton.edu/catalogs/outprint.shtml 69www.satpro.ru/hva110001.hdf 64www.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 101www.art.com/asp/display-asp/_/ui--DBF701FFE5EE4ECFAB13904CA992A6B6/ID--8640/virginia_hey.htm 101www.art.com/asp/display-asp/_/ui--EB14F96C4F2445CD8A6E3C4ABD8CF632/ID--11602/mike_epps.htm 101www.art.com/asp/display-asp/_/ui--5D8EA6ABC47945978D228EC6A269893B/ID--12784/david_hanson.htm
101www.art.com/asp/display-asp/_/ui--95F32BA3CE8B4B16BEE85ACB2779D05D/ID--6362/divine.htm 99
Phase 3:http://aem.asm.org/current.shtml 57http://wyndmoor.arserrc.gov/combase/Search.aspx 46http://aem.asm.org/content/vol69/issue5/index.shtml 37http://yertreelerermine.blogspot.com/2003_06_01_yertreelerermine_archive.html 24http://www.dmcindc.com/2002/03/wn_2002_03.html 22
Filtrage et Validation
Revue E.Dot 29/6/2004 15
Buts
Mieux comprendre le contenu des pages
Filtrer automatiquement les pages
Permettre une évaluation automatique des stratégies de crawl
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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)
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 22
Une solution ?
Algorithme de regroupement par densité [EKSX96] DB-Scan
Mesure de similarité entre ensembles de concepts
Revue E.Dot 29/6/2004 23
Un exemple de mesure: Cosinus
Utilise le coefficient de Jaccard:
Faiblesse : Ne permet pas de gérer une ontologie
||
||),(1 BA
BABAS
Revue E.Dot 29/6/2004 24
Une autre mesure de similarité
Pour un arbre : Similarité de Wu et Palmer [WP94]
Applicable aussi à un DAG
Plus fine
)()(
)(.2),(& bDepthaDepth
cDepthbaS PW
c
a
b
Revue E.Dot 29/6/2004 25
…et pour des ensembles
a2 b1
a1
b2a3
Aa BbPW
AaPW
BbbaS
BbaS
ABA ,max
||,max
||),( &&
11
2
1
S=1/2 x (1/3(3/4+6/9+3/4)+1/2(3/4+3/4))S= 0.74
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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)
Revue E.Dot 29/6/2004 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)
Revue E.Dot 29/6/2004 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,applURL: 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
Perspectives et améliorations
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 33
Questions ?
Revue E.Dot 29/6/2004 34
Architecture du module
SQL
XylemeCrawlerAlerter
Web Browser
XylemeReporter
XylemeSubscription
Manager
ComplexEvent
DetectionSubscription
Manager
Reporter
TriggerEngine
XylemeQuery
Processor
SQL
documents
Revue E.Dot 29/6/2004 35
Phase 1 : Détection des évènements atomiques
metadatamanager
HTMLparser
XMLloader
document & alerts
d/46
complexevent detection
atomic event 46: URL matches pattern www.musee-orsay.fr/*atomic event 67: XML documentcontains the tag <painter> withthe value “Monet”
5 millions of pages/day
d
d/46,67loading
Revue E.Dot 29/6/2004 36
Phase 2 : Détection des évènements complexes
HTMLparser
XMLloader
complexevent detection
complex event 12: 67 & 46 (XML document contains the tag <painter> with value “Monet” and URL matches pattern www.musee-orsay.fr/*)
Millions of alerts of pages/dayMillions of subscriptions
Revue E.Dot 29/6/2004 37
triggers
notification/monitoring
Phase 3: Notification Processor
Reporter
continuousqueries
complexevent detection
clock notification/results
Millions of NotifsPer day
alerts
Revue E.Dot 29/6/2004 38
C1 = a0 a4
a4
Algorithme Atomic Event Set, Exemple
a2
C3 = a2
a4
a5
a6
a7
C4 = a4 a5 a6 a7
a0
C0 = a0
C0
a1
a4 a3
C2 = a0 a1 a3
C1 C2
C3
C4
C1
Revue E.Dot 29/6/2004 39
a4
a0a0
Algorithme Atomic Event Set, Exemple
a2
a1
a3
a4
a5
a6
a7 S={a0 a2 a 4}
Detected Events:
C0
a4
C1
a2
C3
a4C0
C1
C3
C2C4
Revue E.Dot 29/6/2004 40
Autres fonctionnalités du module
Alerters XML (G. Cobéna)
Reporting (J. Jouglet)
Revue E.Dot 29/6/2004 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
Revue E.Dot 29/6/2004 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