Qualité des données & Grosses bases de données



Documents pareils
Exercices sur SQL server 2000

Thèse de doctorat de l Université Paris 13 dans le cadre d une Cifre avec l entreprise Talend. Spécialité Informatique.

WEB page builder and server for SCADA applications usable from a WEB navigator

APPENDIX 6 BONUS RING FORMAT

Application Form/ Formulaire de demande

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Contrôle d'accès Access control. Notice technique / Technical Manual

Instructions Mozilla Thunderbird Page 1

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Exemple PLS avec SAS

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Programme

Bigdata et Web sémantique. les données + l intelligence= la solution

OpenPaaS Le réseau social d'entreprise

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

PRACTICE DIRECTION ON THE LENGTH OF BRIEFS AND MOTIONS ON APPEAL

IPSAS 32 «Service concession arrangements» (SCA) Marie-Pierre Cordier Baudouin Griton, IPSAS Board

Improving the breakdown of the Central Credit Register data by category of enterprises

Plan. Department of Informatics

RAPID Prenez le contrôle sur vos données

SERVEUR DÉDIÉ DOCUMENTATION

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Differential Synchronization

Algorithmique & programmation

Entreposage de données complexes pour la médecine d anticipation personnalisée

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Dafoe Présentation de la plate-forme UIMA

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Face Recognition Performance: Man vs. Machine

An Ontology-Based Approach for Closed-Loop Product Lifecycle Management

Hervé Couturier EVP, SAP Technology Development

GAME CONTENTS CONTENU DU JEU OBJECT OF THE GAME BUT DU JEU

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Fiche produit ifinance v4

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

Une méthode d apprentissage pour la composition de services web

Application de K-means à la définition du nombre de VM optimal dans un cloud

Forthcoming Database

Once the installation is complete, you can delete the temporary Zip files..

Faits saillants et survol des résultats du sondage

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Program

Title Text. Gestion de données de mobilité Mobility data management

Le No.1 de l économie d énergie pour patinoires.

Practice Direction. Class Proceedings

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Gestion des prestations Volontaire

Créer un référentiel client grâce à Talend MDM

Module Title: French 4

Bill 12 Projet de loi 12

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Natixis Asset Management Response to the European Commission Green Paper on shadow banking

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

Afin de valider votre inscription merci de bien veiller à :

Conférence Bales II - Mauritanie. Patrick Le Nôtre. Directeur de la Stratégie - Secteur Finance Solutions risques et Réglementations

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

VTP. LAN Switching and Wireless Chapitre 4

UNIVERSITY OF MALTA FACULTY OF ARTS. French as Main Area in an ordinary Bachelor s Degree

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

Problématiques de recherche. Figure Research Agenda for service-oriented computing

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

I. COORDONNÉES PERSONNELLES / PERSONAL DATA

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

THE FRENCH EXPERIENCE 1

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

UNIVERSITE DE YAOUNDE II

DOCUMENTATION - FRANCAIS... 2

Editing and managing Systems engineering processes at Snecma

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Credit Note and Debit Note Information (GST/ HST) Regulations

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Les BRMS Business Rules Management System. Groupe GENITECH

EN UNE PAGE PLAN STRATÉGIQUE

Arbres binaires de recherche

Préparer un état de l art

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Rapport de Mini-Projet en ArcGIS Engine

Les Portfolios et Moodle Petit inventaire

Recherche dans un tableau

UML : Unified Modeling Language

Interest Rate for Customs Purposes Regulations. Règlement sur le taux d intérêt aux fins des douanes CONSOLIDATION CODIFICATION

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

Export Permit (Steel Monitoring) Regulations. Règlement sur les licences d exportation (surveillance de l acier) CONSOLIDATION CODIFICATION

Analyses croisées de sites Web pour détecter les sites de contrefaçon. Prof. Dr. Olivier Biberstein

Programmer en JAVA. par Tama

Logiciel Libre & qualité. Présentation

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure.

Transcription:

Qualité des données & Grosses bases de données Aïcha Ben Salem, Faouzi Boufarès, Sebastiao Correia Université Paris 13, Sorbonne Paris Cité LIPN, CNRS, UMR 7030 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 1

Motivation Les données contribuent au succès de l'activité d'une organisation. Leur qualité représente un très grand enjeu et le coût de la non-qualité peut être très élevé. L'exploitation des données de qualité est donc une nécessité absolue. La qualité de l information dépend de la qualité de données. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 2

Plan Problématique Algorithmes d élimination des similaires / doublons Enrichissement sémantique/ rapprochement de schéma Conclusion et travaux futurs 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 3

Plusieurs types d anomalies 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 4

Donner un SENS aux données rassemblées Données correctes Peu ou Sans doublon(s), ni similaire(s), ni redondance(s), ni valeur(s) nulle(s)!!! Etc Quel schéma résultat? Quelles transformations? Elimination des similaires, des doubles et des redondances! Enrichissement des données! 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 5

Donner un SENS aux données rassemblées Quelques traitements à faire pour créer des données destinations correctes : Transformations Catégorie (F,M) Sexe (F,M) Sexe (Non défini ou défini 0,1) Sexe (F,M)??? 0/F, 1/M ou 1/F, 0/M -- bijection Type (1, 2, 3) CatégSoc (1, 2, 3) CatégSoc (A, B, C, D, E) CatégSoc (1, 2, 3)??? 1/A, 2/B, 3/C,!/D,!/E -- pas de bijection Note [0..10] Score [0..20] Extraction/Déduction Adresse C(150) Pays C(50) 55, r de Belleville 75019 Pari Franc France 27, r de la Paix 75008 Paris NULL France Déduplication Est-ce que Le Bon Adamo est la même personne que Le Bon Adam? 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 6

Élimination des doublons et similaires 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 7

La fonction Match 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 8

La fonction Merge Merge(t 1, t 2 ) t' qui est un nouveau tuple apportant «plus» d information à partir de chaque valeur (v) résultant de la fusion: v:=fusion(expr, v 1, v 2 ) avec expr une règle métier permettant de choisir la méthode de fusion de v 1 et v 2. Un enrichissement des données peut ainsi être réalisé à la demande de l utilisateur sur l ensemble des attributs. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 9

Les algorithmes G, R, F et MFB L idée est de réduire le nombre de comparaisons (tous les tuples) en fusionnant les données qui concordent. Comparer tous les enregistrements entre eux. (-) pour G, R et F le temps d exécution est très élevé pour des gros volumes de données. Proposer un nouvel algorithme MFB qui optimise l accès à la mémoire vive. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 10

Expérimentation Table Customer avec 11 attributs. Génération aléatoire de données en utilisant GenLD sur des tables de 10 7 tuples. Prenom, Nom, DateNais et Tel attributs clés pour l élimination des similaires. Les algorithmes Jaro-winkler, Levenshtein et Jaccard utilisés pour le calcul de la distance de similarité. R ules = r 1 r 2 avec r 1 : d 1 s 1 d 2 s 2 d 7 s 7 ; r 2 : d 2 s 2 d 6 s 6 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 11

Time (sec) Mesures de performance avec 10% de doublons 90000 80000 Caractéristiques de la machine: - CPU: CORE i7 - RAM: 6 Go 70000 60000 Les algorithmes G, R et F : temps d exécution est supérieur à plusieurs jours à partir de 100mille lignes. 50000 40000 30000 20000 10000 0 1000 10000 50000 100000 200000 300000 500000 Number of tuples G R F MFB 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 12

Enrichissement sémantique/ rapprochement de schéma Référentiel Instance du référentiel 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 13

Méta-modèle sémantique du référentiel : MetaSem 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 14

Les choix sémantiques Pourquoi les ontologies? Partager de connaissances hétérogènes Inférer de nouvelles connaissances (créer nouveaux liens, nouvelles règles ) réutilisation du savoir dans un autre domaine. Les outils existants: Protégé SADL Jena 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 15

SADL (Semantic Application Design Language) Pourquoi SADL? SADL est un langage textuel: John is a Person. C est une grammaire de langage Xtext pour la construction de modèles sémantiques. SADL-IDE (environnement de développement intégré) est un ensemble de plug-ins Eclipse pour l édition et le test des modèles sémantiques. Les modèles sont créés sous le format OWL 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 16

SADL (Semantic Application Design Language) 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 17

Construction d une instance de MetaSem Comment construire une instance du référentiel? Construction d une première instance à partir d un dictionnaire de données Possibilité d'enrichir ou d'initialiser un référentiel avec des sources externes (web,...) 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 18

Construction d une instance de MetaSem 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 19

Transformation d une source de données en une ontologie 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 20

Alignement de la source de données avec le référentiel Un premier alignement basé sur la similarité entre les noms des entités. Outils et méthodes de calcul de distance utilisés: AlignApi pour alignement des attributs d une source avec SmoaDistance Jaro-Winkler pour le rapprochement des noms de sources. Un deuxième alignement basé sur les types des entités. Définition de nouveaux matchers. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 21

Conclusion Les algorithmes séquentiels G, R, F et MFB réalisent le Match et le Merge parallèlement. La concordance des données se fait selon des règles proposées par l utilisateur. Ajouter de la sémantique aux structures de données. Utiliser les connaissances acquises par les analyses déjà effectuées afin de proposer de nouvelles analyses. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 22

Travaux futurs Paralléliser les algorithmes. Automatiser le choix des règles de similarité. Développer de nouvelles méthodes de calculs de distance de similarité pour des types de données complexes ainsi que l automatisation du choix entre elles. L extension de notre Framework en ajoutant d'autres matchers, et des raisonneurs. Partage du référentiel afin qu il soit utilisé par d autre personnes, entreprises Réutilisation de l'information pour la découverte automatique de problèmes de qualité. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 23

The End Thanks for your attention Fin Merci de votre attention 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 24

1. F. Boufarès, A. Ben Salem, S. Correia, CODIT Bibliographie 2. F. Boufarès, A. Ben Salem, S. Correia, «Qualité de données dans les entrepôts de données : élimination des similaires», 8èmes Journées francophones sur les Entrepôts de Données et l'analyse en ligne, (EDA 12), Revue RNTI-B (Revue des Nouvelles Technologies de l'information), Bordeaux, France, 2012, pp. 32-41. 3. F. Boufarès, A. Ben Salem, S. Correia, «Deduplication Algorithms for DataBases and Data Warehouses», 21th International Conference on Software Engineering and Data Engineering (SEDE 12), Los Angeles, California, USA, 2012, pp. 73-78. 4. Benjalloun, O., Garcia-Molina, H., Menestria, D., Su, Q., Whang, S.E., Widom, J., «Swoosh: A Generic Approach to Entity Resolution», The International Journal on Very Large Data Bases (VLDB '09), New York, USA, 2009, pp. 255-276. 5. Berti-Équille, L., «Qualité des données», Techniques de l Ingénieur H3700, collection Technologies logicielles Architecture des systèmes, France, 2006, pp. 1-19. 6. Bilenko, M., Mooney, R.J., «Adaptive Duplicate Detection Using Learnable String Similarity Measures», Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery, and Data Mining, Washington DC, USA, 2003, pp. 39-48. 7. Cohen, W.W., Richman, J., «Iterative Record Linkage for Cleaning and Integration», Proceedings of the 9th ACM SIGMOD workshop on Research issues in data mining and knowledge discovery (DMKD 04), Paris, France, 2004, pp. 11-18. 8. Hernandez, M.A., Stolfo, S.J., «Real-world Data is Dirty: Data Cleansing and The Merge/Purge Problem» Data Mining and Knowledge Discovery (DMKD 98), New York, USA, 1998, pp. 9-37. 9. Köpcke, H., Rahm, E., «Frameworks for entity matching: A comparison», Data Knowledge Engineering (DKE 09), 2009, pp. 197 210. 10. Sarawagi, S., Bhamidipaty, A., «Interactive Deduplication using Active Learning», Proceedings The 8th ACM International Conference SIGKDD 02, Alberta, Canada, 2002, pp. 269-278. 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 25

Appendix 1: Match Function Algorithm Match // Compares two tuples according to the rules of similarities. Input : Two tuples, t1 and t2 Î T Algo (Similarity Measure) S (thresholds) Output: Result := True if (t 1 t 2 ) Begin Result := True For all Rule j j from 1 to q Do Rule j := True; i:=1 While Rule j and i n Do v 1 :=t 1.A i ; v 2 :=t 2.A i If v 1 or v 2 = NULL Then Result = False Else Switch (Algo) case Levenshtein: if d = Levenshtein(v 1, v 2 ) s 1 then Result=True else Result=False case Metaphone : if d = Metaphone(v 1, v 2 ) s 2 then Result=True else Result=False case DateCompare : if DateFormat.parse(v 1 ) = DateFormat.parse(v 2 ) then Result=True else Result=False case Difference : i 1 = Integer.parseInt(v 1 ) i 2 = Integer.parseInt(v 2 ) d = (i 1 - i 2 ) / max(i 1, i 2 ) if d s 3 then Result=True else Result=False End Switch End if Rule j = Rule j and Result i:=i+1 End While Result := Result or Rule j End for End Algorithm Match 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 26

Appendix 2: Merge Function Algorithm Merge // Merges two tuples according to rules such as regular expressions or functions defined by the user. Input : Two tuples, t 1 and t 2 Î T; merge (Type of Merge) Output : A tuple t Begin t 1 t 2 For all Attribute A i in A i from 1 to n Do v 1 :=t 1.A i ; v 2 :=t 2.A i if v 1 = NULL then v := v 2 // we enrich the nulls values else if v 2 = NULL then v := v 1 else if v 1 = v 2 then v := v 1 else Switch (merge) // Some fields allow more than one value (for example telephone number or email address). case CONCAT : v :=concat(v 1, v 2 ) // Check if the longest string respects a certain regular expression (for example, a name cannot contain three successive similar letters). case UNIF : if v 1.length() v 2.length() and v1.verifyregularexpression()= True then v :=v 1 else if v 2.verifyRegularExpression()= True then v := v 2 // The longest string may contain more information so we have a more coherent and complete string. case MAX : if Integer.parseInt(v 1 ) Integer.parseInt(v 2 ) then v := v 2 else v := v 1 // Compare the date and for example we choose the most recent date. case DateMoreRecente : if (v 1.compareTo(v 2 ) 0) then v := v 2 else v := v 1 End Switch t.a i :=v End for End Algorithm Merge 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 27

Appendix 3: Algorithm MFB Algorithm MFB Input : T a set of tuples from a table (may contain duplicates) h number of iteration given by the user Output : Tprim a set of tuples from a table (without duplicates) vmerged False // A variable that indicates whether there was a merger of two tuples at least. // Tnew(i) corresponds to a block of T. Each block of T may contain duplicates or not (i=1; n blocks). a, b: tuples x=0 numberofiteration = h a retrieve a tuple from T L.add (a) // add a to the temporary list of tuples L lengthl=1 For each tuple t from T do b t m Match(a, b) While (m= True) do a Merge(a, b) b retrieve tuple from T m Match(a, b) end While vmerged addtothelistl(a, L, Tnew(i)) a b end For L.add (a) if (vmerged=true) T Union (Tnew(i)) // i=1; b else if (vmerged= False) and (x<numberofiteration) //each block is disjoint from the other T createtables(tnew(i), i, T) // Treatment is the same on the new table T Result of mixture blocks x++ end if Tprim= Union (Tnew(i)) // i=1; n return Tprim End Algorithm MFB 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 28

Appendix 4: Used methods in MFB algorithm addtothelistl (tuple t, List L, Table Tnew(i)) //Allows to add merged tupled to a list L or to tables Tnew 1 until Tnew n. For all int j, j from 0 to lengthl Do if (Match(t, L[j]) then L[j]=Merge(t, L[j]) vmerged=true end if if (lengthl lmax) then L.add (t) lengthl++ else Tnew(i) L // if size of L exceeds a fixed length so add L to Tnew(i) and reset L. i++ L = Ø L.add (t) end if end For return vmerged End addtothelistl createtables (Table Tnew(i), int i, Table S) //Creates a new table S which contains the tuples of all tables Tnew(i) in some order. a: tuple of S p: number of tuples of Tnew(i) For all int j, j from 0 to p Do For all int k, k from 0 to i Do a Tnew(k)[j] add(a, S) end For end For End createtables 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris- France 29