42
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

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

Embed Size (px)

Citation preview

Page 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

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

Page 2: 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

Revue E.Dot 29/6/2004 2

Plan

Cadre du crawling

Crawling et Monitorage

Filtrage et Validation

Perspectives et améliorations

Page 3: 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

Crawl du Web

Page 4: 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

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

Page 5: 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

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

Page 6: 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

Crawling et Monitorage

Page 7: 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

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 …

Page 8: 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

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

Page 9: 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

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

Page 10: 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

Revue E.Dot 29/6/2004 10

Architecture du module

Page 11: 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

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)

Page 12: 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

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

Page 13: 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

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

Page 14: 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

Filtrage et Validation

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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)

Page 20: 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

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

Page 21: 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

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

Page 22: 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

Revue E.Dot 29/6/2004 22

Une solution ?

Algorithme de regroupement par densité [EKSX96] DB-Scan

Mesure de similarité entre ensembles de concepts

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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)

Page 28: 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

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)

Page 29: 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

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

Page 30: 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

Perspectives et améliorations

Page 31: 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

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

Page 32: 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

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

Page 33: 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

Revue E.Dot 29/6/2004 33

Questions ?

Page 34: 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

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

Page 35: 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

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

Page 36: 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

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

Page 37: 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

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

Page 38: 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

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

Page 39: 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

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

Page 40: 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

Revue E.Dot 29/6/2004 40

Autres fonctionnalités du module

Alerters XML (G. Cobéna)

Reporting (J. Jouglet)

Page 41: 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

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

Page 42: 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

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