Découverte automatique de mappings fondée sur les requêtes dans un environnement P2P Présenté Par: Lyes LIMAM Encadré Par: Mohand-Said Hacid
Contexte et problématique Les applications modernes sont caractérisées par : Une gestion de données dans des environnements distribués et à large échelle !! Les BDDs sont conçues indépendamment i.e. hétérogènes sur l’ensemble des sites du réseau !!
Contexte et problématique Dans notre cas, la structure du réseau suit une logique P2P Il faut rajouter toutes les contraintes liées à celle là La problématique traitée dans notre cas est liée essentiellement à l’hétérogénéité des schémas
Contexte et problématique On doit réconcilier les différentes sources de données : Trouver toutes les correspondances entre les différents schémas de données Transférer les données d’un Pair à un autre Exemple de Mapping entre deux schémas
Contexte et problématique Les outils développés pour la découverte et la génération des Mappings sont : Semi-automatiques (intervention de l’expert du domaine) Moins performants (temps de calcule) D’une qualité critiquable (précision, et rappel )
Quelques approches sur la découverte des mappings Le Mapping d’ontologies [OMWG] (alignement d’ontologies) Découverte syntaxique (String Matching) Découverte sémantique (Dictionnaires et thesaurus) La théorie des graphes [Yuan An, Sergey Melnik, R. Miller et autres] Matching de graphes (Expressions de mappings) L’inférence sur les tables de mappings (Data Mapping) [Anastasios Kementsietsidis, R. Miller et autres ] Découvrir des nouveaux mappings indirectes Et autre …
Proposition … Notre approche comporte deux étapes : Premièrement, on génère un modèle statistique (matrice de co-occurence) pour chacun des schémas qui seront ajustés grâce à LSA Puis, on minimise la distance Euclidienne entre les deux modèles pour avoir les mappings recherchés
Application de l’approche Proposition … Entrés Des requêtes Stockées sous forme (SELECTE, FROM, WHERE) Sorties L’ensemble des correspondances entre les attributs des deux schémas S1 S2 SELECT FROM WHERE {a1, a2,. } {R1, R2 ...} {a1,…} {a4,a5, ..} {R1, R3 ...} ?? SELECT FROM WHERE {b1, b2,. } {S1, S4 ...} {b2,…} {b3,b5, ..} {S1, S3 ...} {b5,…} Q1 Q2 Q1 Q2 ?? Application de l’approche
Etape 1: Génération des modèles statistiques (Matrices) LSA ? « Latent semantic Analysis » une approche statistique: Fondée sur la notion de co-occurrence d’éléments dans un contexte Utilise la SVD (Singular Value Decomposition) Découvre des relations profondes (cachées) entre les éléments d’un même schéma Une méthode largement utilisée dans les moteurs de recherche (Google)
Exemple d’application de la LSA
Exemple d’application de la LSA Décomposition de la matrice de correspondances (X) par la SVD
Etape 2: Comparaison des modèles Construire les matrices de co-occurrence des éléments de chaque schéma C1= X1*XT1 et C2= X2*XT2 Minimiser la distance Euclidienne entre les deux modèles Représenter les deux matrices sous forme de graphes d’adjacence Trouver le matching entre les deux graphes qui minimise la distance euclidienne (Hill Climbing)
Comparaison des modèles … A6 A1 A2 .… A6 C1 X1 X2 …. X6 B1 B2 … B6 B1 B2 .… B6 C2 Y1 Y2 …. Y6 Distance Euclidienne (Dé-similarité) B3 A1 B1 A2 A4 B2 B5 A3 A5 B4 B6 A6 Minimisation de la distance euclidienne