Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
1,48 MB
Nội dung
UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL POLLA DE NDJAMPA Félix-Bazin RÉALISATION D’UN MODÈLE DE FILTRAGE DE DONNÉES THIẾT LẬP MỘT MƠ HÌNH LỌC DỮ LIỆU MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE HANOI – 2015 ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a été bien précisée LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố công trình khác Các thơng tin trích dẫn Luận văn rõ nguồn gốc Signature de l’étudiant POLLA DE NDJAMPA Félix-Bazin Table des matières iii Remerciements v Résumé vi Abstract vii Liste des figures viii Liste des tableaux ix Introduction Chapitre Synthèse bibliographique Contexte : 1.1 Langages de représentation des connaissances 1.1.1 Graphe conceptuel 1.1.2 Langage du Web Sémantique 1.1.3 Tableau comparatif des GC et OWL2 1.2 L’apprentissage automatique 1.2.1 Généralités sur la programmation logique inductive (PLI) 1.2.2 Apprentissage sur des ontologies (OWL) 1.2.2.1 DL-Foil 1.2.2.2 DL-Learner 10 1.2.2.3 YINYANG (Yet another INduction Yields to ANother Generalization) 12 1.2.2.4 Tableau comparatif 13 Conclusion 14 Chapitre - Apports 15 Approche méthodologique 15 2.1 Etape de génération du modèle de situation 16 2.2 Étape1 : Modélisation de la base de connaissance 17 2.3 Étape : Extraction d’exemples positifs 18 2.4 Étape : Apprentissage 2.4.1 Définition 2.4.2 Définition 2.4.3 Propriété 2.4.4 Preuve d 2.4.5 Algorithm Conclusion Chapitre Expérimentation et analyses des résultats Présenta 3.1 3.1.1 3.1.2 3.1.3 3.2 Résultats 3.2.1 3.2.2 3.2.3 3.2.4 Conclusion Perspectives Références ANNEXES A : Présentation de tous les modèles de situation du scénario ANNEXES B : Opérateur de DL learner iv Nous tenons saisir cette occasion pour adresser nos profonds remerciements et notre profonde reconnaissance : § Mme Claire LAUDY, Mme Gaëlle LORTAL et Mme Yue MA, pour leurs précieux conseils et leurs orientations tout au long de notre recherche § Tout le personnel du laboratoire LRASC de Thales Research & Technology et celui du laboratoire LRI - Equipe LaHDAK pour leur assistance sur le lieu de stage § Tous les professeurs de l’IFI, qui ont assuré notre formation durant ces deux dernières années § Enfin, j’adresse mes plus sincères remerciements ma famille, qui m’a toujours soutenue et encouragée au cours de la réalisation de ce mémoire Je remercie les personnes qui ont, des degrés divers, contribué l’aboutissement de ce travail v L'étude qui est proposée dans ce mémoire s'intéresse aux problèmes d’acquisition et d'exploitation de bases de connaissances structurées de grande taille, en vue d'appuyer le processus décisionnel dans des domaines aéronautique et aussi d'améliorer celui de la fusion d'information qui est proposée dans (Claire et al , 2007) Dans le cadre précis de nos travaux, nous sommes attachés l'exploitation des bases de connaissance afin de déterminer des comportements communs que présente un ensemble de données Notre approche est divisée en étapes : concevoir la base de connaissance, extraire des observations, apprendre ou inférer des connaissances partir de ces observations et enfin générer des modèles de situation Le modèle de situation est un ensemble d’informations qui décrit au mieux une situation précise ou un ensemble d’observations en d’autre terme le modèle de situation est une extraction des informations pertinentes correspondant des observations dans une base de connaissance La conception de système bases de connaissances capable de réaliser les fonctions de raisonnements constitue l’heure actuelle un champ de recherche en intelligence artificielle L'approche que nous avons proposée au cours de notre stage consiste créer et enrichir une base de connaissances structurée reposant sur le paradigme des données liées aux formalismes du Web Sémantique (OWL2) et aux graphes conceptuels Ensuite, un algorithme d'apprentissage fondé sur la Programmation Logique Inductive (PLI) est proposé pour déterminer les informations communes et pertinentes pour un groupe de données La sortie de l’algorithme est donc qualifiée de modèles de situation Les résultats obtenus par notre approche sont satisfaisant au dire d'expert et en plus, l’algorithme proposé réussit déterminer des modèles de situation dont la précision sur d’autres données est très proche de la précision du modèle obtenu (différence de 4%) Ces résultats constituent une avancée pour une proposition des modèles de situation aux utilisateurs Mais d’autres améliorations sont prendre en compte afin de raffiner les modèles de situation obtenus Comme améliorations, on peut prendre en compte l’évolution de l’ontologie ou d’autres ontologies On peut aussi proposer un nombre réduit de modèles de situation afin de permettre une meilleure couverture de tous les exemples d’apprentissage Mots clés : Ontologie, programmation logique inductive, fusion d'information vi In this work, we focus on the acquisition and exploitation of large structured knowledge bases problems for supporting the decision making process in the aeronautics fields We also focus our study on the improvement of information fusion method proposed by (Claire et al., 2007) Particularly, we worked on the exploitation of the knowledge databases in order to determine the common behavior of a set of data Our proposed approach is divided into four steps: design the knowledge databases, retrieve observations, learn or infer knowledge from these comments, and finally generate situation models The situation model is a set of information that best describes a particular situation or set of observations In other words, the situation model is the extraction of relevant information that corresponds to some observations in the knowledge database The design of knowledge system that be able to perform reasoning function is a challenging field of research in artificial intelligence The aim of our proposed approach is to create and enhance a structured knowledge database that belong to the data paradigm related to the Semantic Web formalisms (OWL2) and conceptual graphs Then, we proposed a learning algorithm based on the Inductive Logic Programming (ILP) in order to determine the common information for a data group (situation model) The results of our approach are satisfying according to the expert and in addition, the proposed algorithm is able to identify situation models whose accuracy on other data is very close to the accuracy of the resulting model (difference of percents) These results represent a breakthrough for a proposal of situation models to users But other improvements are considered in order to refine the situation models obtained As improvements, we can take into account the evolution of ontology or other ontologies One can also provide a reduced number of situation models to enable better coverage Keywords: Ontology, inductive logic programming, information fusion vii Figure 1: Exemple de graphe conceptuel Figure : Résultats expérimentaux de DL-Foil en termes de mesures IR standards: moyennes ± écart type [min ;max] 10 Figure 3: Architecture de DL learner 11 Figure 4: Étape de génération de modèle de situation 16 Figure 5: Visualisation graphique de l’ontologie ASRS 18 Figure 6: Exemple de requête SPARQL 19 Figure 7: Résultat de DL learner avec comme exemple 20 Figure 8: Opérateur utilisé pour le langage de l'opérateur de raffinement 23 Figure 9: Définition de l'opérateur de raffinement 23 Figure 10: Illustration d'une recherche par raffinement d'opérateur 24 Figure 11: Illustration de la redondance de ↓ 26 Figure 12: Exemple de requête SPARQL correspondant au scénario 30 Figure 13: Exemple de requête SPARQL correspondant au scénario 30 Figure 14: Différence d’exactitude entre les données d'apprentissage et celle de tests (Scénario1) 34 Figure 15: Différence d’exactitude entre les données d'apprentissage et celle de tests (Scénario2) 37 viii Tableau 1: Comparaison GC et OWL2 Tableau 2: Comparaison DL-learner, DL-foil et YINYANG 13 Tableau 3: Description concernant l'ontologie utilisée pour les expérimentations .29 Tableau 4: Paramètres d'entrée pour la génération de modèles de situation .31 Tableau 5: Résultats d'apprentissage du scénario 32 Tableau 6: Modèles de situation du scénario1 33 Tableau 7: Résultats d'apprentissage du scénario 35 Tableau 8: Modèles de situation du scénario 36 ix 37 Les opérateurs se trouvent très souvent confrontés au problème d’avoir des données dont ils ne savent pas trop quoi faire Pour un ensemble d’observation provenant de leur base, trouver une ou des définitions de concepts qui décrivent au mieux ces observations est le principal problème de ces opérateurs Nous appelons ces concepts recherchées des modèles de situation L’étude effectuée au cours ce stage s’inscrit dans cet ordre d’idée et consiste proposer une méthode permettant de présenter ce qu’un ensemble d’observations peut avoir en commun Ce modèle sera utilisé comme paramètre d’entrée pour le processus de fusion d’information et aussi utilisé par des experts pour des prises de décision L’approche proposée pour l’obtention de ce dit modèle est dans un premier temps de récupérer le besoin de l’opérateur la transcrire en requête Sparql Ensuite, les résultats de la requête sont utilisés comme exemples positifs pour faire de l’apprentissage L’apprentissage retourne juste des concepts dit "élémentaires" Pour obtenir les modèles de situation, on recherche des concepts de longueur maximale contenant le plus d’informations ou des concepts spécifiques Pour atteindre notre objectif, nous nous somme fondé sur un système d’apprentissage existant (DL learner ) que nous avons optimisé en redéfinissant la méthode de raffinement d’opérateur afin de trouver seulement des concepts élémentaires Nous faisons enfin une fusion de ces concepts (intersections) pour trouver des concepts plus complexes Les questions qui nous viennent en esprit sont celles de savoir si les modèles obtenus représentent une interprétation logique pour les experts du domaine ? Quelles autres critères doit-on considérer afin d’améliorer et évaluer efficacement l’approche ? Nos premiers résultats ont été validés par les experts du domaine et d’autres jeux de test dont les résultats sont déjà connus et traités la main nous ont été proposés Mais ces jeux de données concernent uniquement les données en langue naturelles Or pour ce stage, on ne traite pas du langage naturel et donc nous n’avons pas eu faire plus d’expérimentations 38 D’après les résultats obtenus, les modèles comportent peu de concepts élémentaires (2 4) Cela est dû la base qui est peu peuplée Etant donné que nous avons deux bases (base ASRS et base de maintenance d’avion) qui proviennent toutes les deux d’un même domaine, on pourra d’abord proposer une approche pour fusionner ces deux bases Plus la base est peuplée plus les concepts y figurant peuvent devenir moins intéressants pour appartenir un modèle de situation Par exemple, pour le scénario des avions ayant pour problème primaire ambigu, si le résultat du modèle de situation comprend «la couleur est rouge », la couleur n’a rien voir avec le problème d’un avion Donc pour raffiner nos résultats, nous devons définir une méthode de sélection des caractéristiques pertinentes Cette méthode devra permettre d’éliminer les facteurs sans influences ou peu influents, les facteurs redondants et aussi, elle devra permettre de faire des apprentissages moins couteux et fiables (Meilleure compréhensibilité de l’hypothèse et Meilleure performance en classification) Étant donné qu’il est presque impossible d’avoir un modèle couvrant tous les exemples d’apprentissage et aussi que dans notre approche, on peut avoir un exemple ne faisant partie d’aucun modèles de situation générés, alors une autre approche serait de trouver un nombre réduit de groupes de données disjoints (cluster) Ces clusters sont trouvés de telle sorte que chaque exemple appartient un groupe Aussi, les modèles générer par notre approche sont parfois On obtient des modèles dont l’intersection n’est pas nulle L’idéal serait d’avoir un minimum de modèles dont l’intersection est nulle Cette amélioration permettra de bien classifier les exemples et permettrons aux experts de mieux interpréter et catégoriser les modèles Pour les exemples données ont doit produire un nombre minimal de cluster Sachant qu’un cluster représente un modèle, on devrait parcourir les données et s’assurer que chaque exemple positif appartient un cluster L’étape (extraction des exemples positifs) du processus d’obtention de modèle nécessite toujours une intervention d’un expert informatique pour définir la requête SPARQL Nous devons proposer une approche pour pallier cela Tout d’abord on peut aborder le problème en permettant aux opérateurs de formuler rapidement des requêtes intuitives en utilisant des vocabulaires contrôlés et expressions courantes De même on peut aborder le problème en définissant des requêtes avec OBDA (Ontology-Based Data Access) qui permettra d’inférer de nouveaux faits non explicitement stockés dans la base de 39 connaissance ainsi que permettre le mapping des ontologies en fournissant une vue unifiée de plusieurs sources de données 40 Baader, F., Horrocks, I., & Sattler, U (2005) Description logics as ontology languages for the semantic web In Mechanizing Mathematical Reasoning (pp 228-248) Springer Berlin Heidelberg Cohen, W W., Borgida, A., & Hirsh, H (1992, July) Computing least common subsumers in description logics In AAAI (Vol 1992, pp 754-760) De Raedt, & L., Dehaspe, L (1996) Clausal Discovery, Report CW 238, Department of Computing Science, K.U Leuven Pp De Raedt, L (1992) Interactive Theory Revision: An Inductive Logic Programming Approach Academic Press Fossier, S., Laudy, C., & Pichon, F (2013, July) Managing uncertainty in conceptual graph-based soft information fusion In Information Fusion (FUSION), 2013 16th International Conference (pp 930-937) IEEE Iannone, L., & Palmisano, I (2005) An algorithm based on counterfactuals for concept learning in the semantic web In Innovations in Applied Artificial Intelligence (pp 370-379) Springer Berlin Heidelberg Iannone, L., Palmisano, I., & Fanizzi, N., An algorithm based on counterfactuals for concept learning in the semantic web, in Applied Intelligence 26 (2), pp 139-159 Iglesias, J., & Lehmann, J (2011, November) Towards integrating fuzzy logic capabilities into an ontology-based inductive logic programming framework In Intelligent Systems Design and Applications (ISDA), 2011 11th International Conference on (pp 1323-1328) IEEE Lehmann, J., & Hitzler, P (2008) A Refinement Operator Based Learning Algorithm for the\ mathcal {ALC} Description Logic In Inductive Logic Programming (pp 147-160) Springer Berlin Heidelberg Lehmann, J., & Hitzler, P (2010) Concept learning in description logics using refinement operators In Machine Learning, 78(1-2), 203-250 Lehmann, J., & Hitzler, P., (2008) A Refinement Operator Based Learning Algorithm for the ALC Description Logic, in Inductive Logic Programming, pp 147-160 41 Lehmann, J., Auer, S., Bühmann, L., & Tramp, S (2011) Class expression learning for ontology engineering In Web Semantics: Science, Services and Agents on the World Wide Web, 9(1), 71-81 McGuinness, D L., & Van Harmelen, F (2004) OWL web ontology language overview W3C recommendation, 10(10), 2004 Muggleton, S (1995) Inverse entailment and Progol.in New generation computing, 13(3-4), 245-286 Muggleton, S., & Buntine, W (1992) Machine invention of first-order predicates by inverting resolution In Proceedings of the fifth international conference on machine learning (pp 339-352) Muggleton, S., & Feng, C (1990) Efficient induction of logic programs Turing Institute, Muggleton, S., Santos, J., & Tamaddoni-Nezhad, A (2010) ProGolem: a system based on relative minimal generalisation In Inductive Logic Programming (pp 131-148) Springer Berlin Heidelberg Mugnier, C M (1992) Conceptual graphs: Fundamental notions In Revue d'intelligence artificielle vol6, p 365–406 Mugnier, M L (1996) Représenter des connaissances et raisonner avec des graphes In Revue d’intelligence artificielle, 10(1), 7-56 N Fanizzi, C d (2008) DL-FOIL:Concept Learning in Description Logics LACAM Dipartimento di Informatica Università degli studi di Bari OWLAPI1, 2015, Clark & Parsia LLC (Explanation code, Modularity code), (s.d.) http://owlapi.sourceforge.net/ consulté le 18/09/2015 OWLAPI2, 2015, University of Ulm (KRSS2 syntax parser and renderer) (s.d.) http://owlapi.sourceforge.net/ consulté le 18/09/2015 Quinlan, J R.-J (1995) Induction of logic programs: FOIL and related systems In New Generation Computing 13.3-4, 287-312 Raimbault, T (2008) Transition de modèles de connaissances Un système de connaissance fondé sur OWL, Graphes Conceptuels et UML Thèse de l’université de Nantes 42 Srinivasan, A (version4) http://www.cs.ox.ac.uk/activities/machlearn/Aleph/aleph.html The ALEPH Manual consulté le 18/09/2015 Laudy, C., Ganascia, J G., & Sedogbo, C (2007, July) High-level fusion based on conceptual graphs In Information Fusion, 2007 10th International Conference on (pp 1-8) IEEE BAADER, Franz et NUTT, Werner Basic description logics In : Description logic handbook 2003 cap 2, p 43-95 43 27 modèles trouvés ∃ 1- (( hasAssessment.( hasContributingFactor.contributingFactor)) hasAircraftOperator.({AirCarrier})))) ∃ ( ∃ ∃ hasDetector.({FlightCrew})) -( isOn.( ∃ acc:71,43% 3- (((( hasAssessment.( hasAssessment.( hasFlightPhase.flightPhase))) ∃ hasAnomaly.anomaly) 4- ((( hasAssessment.( hasAssessment.( ∃ f lightPhase))) hasFlightPhase 5- ((( hasAssessment.( hasAssessment.( ∃ fl ightPhase))) hasFlightPhase - hasAssessment.( ((( hasAssessment.( ∃ hasAircraftOperator.({AirCarrier})))) - ((( hasAssessment.( hasFlightPhase.flightPhase))) ∃ hasAnomaly.anomaly) 8- ((( hasAssessment.( hasFlightPhase.flightPhase))) ∃ hasAnomaly.anomaly) 9- (( hasAssessment.( hasContributingFactor.contributingFactor)) hasPrimaryProblem.primaryProblem))) ∃ acc:86,73% 10- (( hasAssessment.( ∃ hasPrimaryProblem.primaryProblem))) (( ∃ hasAssessment.( hasPrimaryProblem.primaryProblem))) ∃ (( hasFlightPhase.flightPhase))) hasAssessment.( (( ∃ hasFlightPhase.flightPhase))) hasAssessment.( (( ∃ hasAircraftOperator.({AirCarrier})))) hasAssessment.( (( ∃ hasFlightPhase.flightPhase))) hasAssessment.( (( hasFlightPhase.flightPhase))) hasAssessment.( 44 ∃ (( hasAssessment.( ∃ ∃( hasAircraftOperator.({AirCarrier})))) ⊓ ∃ (( hasAircraftOpera isOn.( ∃ hasAnomaly.anomaly) acc:71,43% ( hasAssessment.( ∃ hasAircraftOperator.({AirCarrier}))) acc:88,44% ( hasAssessment.( ∃ hasDetector.({FlightCrew})) acc:79,25% ( hasAssessment.( ∃ hasFlightPlan.({IFR}))) acc:73,13% ( hasAssessment.( ∃ hasAircraftOperator.({AirCarrier}))) acc:86,73% ( hasAssessment.( ∃ acc:76,87% ( hasAssessment.( ∃ ∃ hasFlightPlan.({IFR}))) acc:71,09% ( acc:86,39% isOn.( hasAircraftOp ∃ (∃ ( hasDetector.({FlightCrew})) ∃ ( isOn.( ∃ isOn.( hasFlightPha ∃ ∃ hasAnomaly.anomaly) hasAircraftOperator.({Ai ∃ ∃ hasDetector.({FlightCrew}) acc:80,27% ∃ ∃ isOn.( hasFlightPlan.({IFR})) a ∃ hasDetectionMoment.({In-flight}) acc:70,41% hasAssessment.( ((( hasPrimaryProblem.primaryProblem))) ∃ hasAnomaly.anomaly) acc:75,85% ((( hasAssessment.( ∃ (( hasPrimaryProblem.primaryProblem))) ∃ isOn.( hasMission.mission)) hasAssessment.( ∃ hasPrimaryProblem.primaryProblem))) (( ∃ hasPrimaryProblem.primaryProblem))) (( ∃ hasAssessment.( hasAssessment.( hasPrimaryProblem.primaryProblem))) (( ∃ hasFlightPhase.flightPhase))) hasAssessment.( (( ∃ hasFlightPhase.flightPhase))) hasAssessment.( (( ∃ hasFlightPhase.flightPhase))) hasAssessment.( (( hasAssessment.( ∃ hasFlightPhase.flightPhase))) ( hasAssessment.( hasPrimaryProblem.primaryProblem)) acc:95,92% 45 ∃ ( hasAssessment.( ∃ hasFlightPhase.flightPhase)) acc:93,88% ( hasAnomaly.anomaly) ∃ acc:80,27% ( hasAssessment.( ∃ hasMission.mission)) acc:75,85% ( hasAssessment.( ∃ hasFlightPhase.flightPhase)) acc:91,84% ( hasAnomaly.anomaly) ∃ acc:78,91% ( acc:74,15% hasAssessment.( ∃ ( ( ∃ hasAnomaly.anomaly) ∃ isOn.( hasAssessment.( ∃ ∃ ∃ hasAssessment.( ∃ isOn.( ∃ hasFlightPhase.flightPhase ∃ ∃ hasAnomaly.anomaly acc:80,95% ∃ ∃ isOn.( hasEnvironment.( hasMission.mission) acc:7 46 ∈ C (e nse mble de sconce pts ato mique s), e t ↓ ↓ On défini représente l’ensemble de tous inférieur au concept atomique C et L’ensemble ȁ ∈ ǡ ↑ l’ensem ble de s rôle s généraux et 47 ... taux de couverture des exemples tests par rapport un modèle sont proches de la valeur de l’exactitude du modèle Pour ce cas nous prenons des données de la base ASRS qui correspondent aux incidents... intitulé : « Réalisation d’un modèle de filtrage de données » Les différentes tâches accomplir sont les suivantes : Modélisation ontologique d’une base de données existante ; Création d’un algorithme... concepts qui correspondent au modèle de situation en logique de description C’est dire que nos modèles de situation sont décrits en logique de description Étape : Spécialisation des résultats d’apprentissage