L'approximation de jointure de documents XML Jean-Francois Lapalme Hugo Plante Leila Saddi INF7115 – 26 avril 2004.

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

Classification et prédiction
Transformation de documents XML
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Efficient Simplification of Point-Sampled Surfaces
Sensibilisation à l’Algorithmique et structure de données
Calculs de complexité d'algorithmes
(Classes prédéfinies – API Java)
A Pyramid Approach to Subpixel Registration Based on Intensity
Chapitre II.Rappels mathématiques et complexité
Christelle Scharff IFI Juin 2004
Génération de colonnes
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
ALGORITHMES RECURSIFS
Structures collectives en Java
Algorithmes Branch & Bound
Concepts avancés en mathématiques et informatique appliquées
Arbre Rouge Noir.
Bases de données lexicales
RECONNAISSANCE DE FORMES
Standard Template Library (STL)
Gestion de Fichiers Arbres B.
Les fichiers indexés (Les B-arbres)
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Deux méthodes incrémentales pour le maintien dun arbre de connexion Nicolas Thibault Christian Laforest
RECONNAISSANCE DE FORMES
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Calcul des groupes d'homologie d’objets discrets
Projet de Master première année 2007 / 2008
Programmation dynamique
GPA750 – Gestion de Projets
Génération de colonnes pour la résolution des problemes de foresterie
Pour le chemin le plus court pour tous les couples
Analyse des Algorithmes
Modélisation géométrique de base
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Vers l'échantillonnage d'un entrepôt de données
Optimisation de requêtes
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
Projet OASIS PCfEngine Encadrant : M. Keryell Date : Mercredi 02 Mars 2005 Pascal Virmaud.
Mustapha Hamidou Vendredi 20 août Stage Contour Matching.
Cours LCS N°4 Présenté par Mr: LALLALI
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Introduction et Généralités sur l’Algorithmique
Sujets spéciaux en informatique I
Trajectory Tree [1] Patrick Cinq-Mars. © Name – Month YEAR2 / TOTAL PAGES TTree: Tree-Based State Generalization with Temporally Abstract Actions William.
Soutenance de Stage DEA / DESS
Recherche de motifs par projections aléatoires
Les procédés métiers : conception, modélisation et systèmes Claude Godart Université de Lorraine - Esstin 1.
Dorina Surcel et René Laprise
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Knowledge discovery in Databases (KDD)
La récursivité Mireille Goud HEG Vd AlgSD - Résurisivité.
Resource-Limited Genetic Programming : Replacing Tree Depth Limit.
GRANDEURS ET MISÈRES DE LA MÉTA-ANALYSE Jimmy Bourque, CRDE.
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Post-optimisation, analyse de sensibilité et paramétrage
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Un modèle flexible d'édition intelligente de documents structurés basé sur des techniques de "chart-parsing" Marc Dymetman Exposé LIMSI, 14 déc
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Présentation des concepts Sandre Les méthodes d’évaluation de l’état des eaux : situation et perspectives dans le contexte de la directive-cadre européenne.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

L'approximation de jointure de documents XML Jean-Francois Lapalme Hugo Plante Leila Saddi INF7115 – 26 avril 2004

Introduction XML est le standard de donnée interchangeable du futur. Corrélation des sources de données XML engendre une complexité Les méthodes de jointure traditionnelles ne s’appliquent pas facilement au problème de jointure flexible XML. Une jointure approximative permet la corrélation entre des éléments semblables mais pas identiques.

Introduction Figure 1 : Les données visées peuvent provenir de sources différentes, les requêtes des utilisateurs ne doivent pas en subir les conséquences Ref: [7]

Problématique 1/3 Communication VLDC Conférence Auteur Alice Titre XML pour tous Auteurs Robert Publication Auteur ConférenceAuteursTitre VLDCXML pour tous Auteur Alice (a)(b) (c) Type Conférence VLDC Titre XML pour tous Auteurs Nom Alice Vobert Nom Figure 1 : Exemple de documents XML

Problématique 2/3 Trouver une métrique qui effectue un calcul efficace et suffisamment générique pour pouvoir interpréter les divers types de différences entre les documents XML.

Problématique 3/3 Quelques définitions importantes. Présentation des étapes pour résoudre le problème: La technique de base. Le concept de bornes inférieures et supérieures. La notion d’ensemble de référence. Les nouvelles techniques de jointure approximative entre sources de données XML. L’évaluation expérimentale pour mesurer et comparer la performance des différentes techniques.

Distance d’édition La distance d’édition, entre deux chaînes de caractères, δ 1 et δ 2 : ed(δ 1, δ 2 ) est le nombre minimal d’opérations d’édition requises sur chacun des caractères d’une chaîne pour la transformer en une autre. Exemple :ABCADCE modifier de B en D ajouter E

Distance d’édition d’arbre La version générique de la distance d’édition de chaînes de caractères. La distance d’édition d’arbre, T 1 et T 2 : TDist(T 1,T 2 ) est le coût minimal d’opérations d’édition requises sur chacun des nœuds d’un arbre pour transformer l’arbre en une autre.

Distance d’édition d’arbre La valeur du treedist() est de 3 suppression de B insertion de H modification de C en I

Présentation de l’approche Le besoin est de trouver une technique qui effectue la jointure approximative de sources XML en utilisant la distance d’édition d’arbres en tant que prédicat de jointure. Une distance seuil  est utilisé pour évaluer la jointure.

Technique de Base For each d1 Є S1 For each d2 Є S2 O( |S1||S2| ) if(TDist(d1,d2) ≤ τ) O( n4 ) jointure(d1,d2) Soit deux ensembles XML S1, S2, il est nécessaire d’évaluer la distance d’édition entre chaque paire de document. Coût: O( |S1||S2| ) ; chaque fois l’évaluation de treedist est nécessaire -> O( n4 ) où O(n) est la taille des documents

Borner la distance édition d’arbre Temps d’exécution beaucoup trop grand pour des arbres très développés. Chercher à réduire le coût de l’évaluation de la distance d’édition. Utiliser des algorithmes moins coûteux pour estimer la distance treedist. Trouver les valeurs qui borne les différences entre les paires de document XML.

Borne inférieure La méthode utilise la différence entre la traversée pré-fixe et/ou post-fixe des deux arbres à comparer. Les traversées pré-fixe et post-fixe sont représentées par des chaînes de caractères.

Borne inférieure (suite) S’il existe une différence entre la traversée pré-fixe ou post-fixe des deux arbres, alors il y a des différences entre ces mêmes arbres. Si deux arbres sont à une distance d’édition k, alors la distance maximale entre leurs traversées pré-fixe et/ou post-fixe est au plus k. max(ed(pre(T1),pre(T2) ), ed(post(T1),post(T2) ) ) < TDist(T1, T2) Coût: O(n2)

Borne inférieure (exemple) pre(a) = ABDECFG et post(a) = DEBFGCA pre(b) = ADHEIFG et post(b) = DEFGIHA pré-fixe = (enlever B, ajouter H, remplacer C par I ) = 3 post-fixe = (enlever B, remplacer C par I, ajouter H ) = 3 LBDist = max(ed(pre(a),pre(b) ), ed(post(a),post(b) ) ) = max(3, 3) = 3 < TDist(a, b)

Borne supérieure Restreindre le choix du mapping dans l’algorithme treedist() Deux sous-arbres de T 1 sont associés à deux sous-arbres de T 2 DistinctTreeEditDistance calcule la borne supérieure entre deux arbres en temps O(n2)

Borne supérieure (suite) Pour chaque paire d’arbre T 1, T 2, TDist(T 1, T 2 ) < UBDist(T 1, T 2 ) Exemple: DistinctTreeEditDistance = 5 (enlever B, enlever E, ajouter H, ajouter E, remplacer C par I )

Améliorer l’algorithme de Base avec les bornes Avant de calculer le TDist, on évalue les bornes, moins coûteuses. Permet de réduire le nombre d’appel a TDist. Algorithme Borne Pour chaque d i E S 1 Pour chaque d j E S 2 Si (UBDist(d i,d j )<  ) Joindre(d i,d j ) Si (LBDist(d i,d j )<  ) Si (TDist(d i,d j )<  ) Joindre(d i,d j )

Définition d’une métrique en utilisant un ensemble de référence Choisir un ensemble représentatif des documents XML. Utiliser un algorithme de regroupement (cluster). Utiliser la triangulation pour réduire le nombre d’appels à TDist.

Ensemble de référence Soit K un ensemble de référence, prenons v i le vecteur de distance pour d i v iL = TDist(d i,K L )  1  L  |K|, | v iL - v jL |  TDist(d i, d i )  v iL + v jL BorneSup, U t = min L,1  L  |k| v iL + v jL BorneInf, L t = max L,1  L  |k| |v iL - v jL |

Améliorer l’algorithme de Base avec l’ensemble de référence. Complexité réduite à O( |S’| |K| ) La taille de K varie selon la répartition de S Algorithme EnsReference Pour chaque v i E S 1 Pour chaque v j E S 2 Si (BorneSup <  ) Joindre(d i,d j ) Si (BorneInf(d i,d j )<  ) Si (TDist(d i,d j )<  ) Joindre(d i,d j )

Utiliser les bornes et l’ensemble de référence Compléter l’algorithme EnsReference par l’application des bornes de TDist. Utiliser les bornes lors de la création du vecteur V.

Test et évaluation de la performance Ensemble A : Un ensemble de données qui contient 500 documents générés de façon aléatoire. Ensemble B : Un ensemble de 500 documents construit artificiellement pour contenir 8 groupements de documents. Ensemble de données réelles : Des données réelles d’une grandeur de 55MB. (DBLP)

Test et évaluation de la performance Algorithmes Base Borne (B) Ensemble de référence (ER) Ensemble de référence + Borne (ERB) Combiné (C)

L’évaluation des bornes (a)Étroitesse de la borne LBDist(b) Étroitesse de la borne UBDist Figure 7 : Évaluation de l’étroitesse des bornes supérieure et inférieure Ref: [1]

Test de performance des bornes Taille des documents XML (nombre de nœuds) Figure 8 : Temps de calcul de treedist() et ses bornes pour des tailles de document variables Secondes (log) Ref: [1]

Évaluation de la taille de l’ensemble de référence Ratio à Base Taille de l’ensemble de référence Ref: [1]

Test de la distance seuil Ratio à Base Distance seuil Ref: [1]

Test de performance Distance seuil Secondes Ref: [1]

Conclusion - apports Les principes des bornes inférieures et supérieures de la distance d’édition entre des arbres étiquetés, qui sont plus performants à calculer, est un apport important au niveau de la performance des jointures. La technique de la distance d’édition entre arbres a été utilisée comme métrique vu son universalité et c’est une technique qui a fait ses preuves.

Conclusion – l’avenir La généricité de la technique a des lacunes qui peuvent être réglées en incorporant d’autres métriques. La technique pourrait être améliorée en utilisant des index sur les données XML.

Bibliographie [1] Sudipto Guha,H. V. Jagadish, Nick Koudas, Divesh Srivastava, Ting Yu : Approximate XML joins International Conference on Management of Data and Symposium on Principles of Database System [2] L. Gravano, P. Ipeirotis, H. Jagadish, N. Koudas, S. Muthukrishnan, and D. Srivastava. Approximate strings joins in a database (almost) for free. Proceedings of VLDB, 2001 [3] K. Zhang and D. Shasha. “Approximate Tree Pattern Matching” in Pattern Matching in Strings, Trees, and Arrays, pp Apostolico and Galil Editors, Oxford Univesity Press, [4] S. Guha, N. Koudas, D. Srivastava, and T. Yu. Index-Based Approximate XML Joins. ATT Labs Research Technical Report. [5] Minos Garofalakis, Amit Kumar Correlating XML Data Streams Using Tree­EditDistance Embeddings, Proceedings of the twenty- second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems [6] Jaroslav Pokorný Approximate treatment of XML collections, Proceedings of BIS [7] Elisabeth Métais, Florence Sèdes Appariement d’informations dans les entrepôts de données : quelques approches pour le filtrage flexible, Information-Interaction-Intelligence, Volume 2, n°2.