Les différentes tâches à accomplir sont les suivantes : - Modélisation ontologique d’une base de données existante ; - Création d’un algorithme pour générer un modèle de situation ; - Ev
Trang 1UNIVERSITE 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
Spécialité: Systèmes Intelligents et Multimédia Code: Programme pilote
RESUME DU MEMOIRE DE FIN D’ETUDES DU MASTER
INFORMATIQUE
HANOI – 2015
Trang 2Travail réalisé à l’Institut Francophone International, Université Nationale du
Le mémoire est accessible:
- au Centre d’Informations et de Bibliothèque, Université Nationale du Vietnam, Hanoi
- à l’Institut Francophone International, Université Nationale du Vietnam, Hanoi
Trang 31
Le monde d’aujourd’hui est marqué par la présence de masses de données dont l’exploitation peut affecter de façon profonde grand nombre de secteurs (de l’e-commerce à la recherche scientifique en passant par la finance et la santé) Les organismes, les entreprises, les particuliers ont généralement en leur possession un grand nombre de données et arrivent rarement à bien les exploiter Afin d’être capable d’extraire des informations dans ces bases de connaissances, on fait généralement appel aux experts et ingénieurs pour structurer et exploiter les données
L'exploitation de ces immenses masses de données nécessite des techniques
sophistiquées visant à extraire l'information pertinente Le mécanisme d’extraction d’informations pertinentes est porteur de nombreux défis qui requièrent une approche interdisciplinaire (statistiques numériques, apprentissage statistique ou machine learning) Ces approches vont de l’analyse de données exploratoires aux techniques les plus sophistiquées comme l’inférence et la classification En général une vaste palette de méthodes statistiques mathématiques et d’apprentissage est mobilisée pour parvenir à mieux exploiter les données
Ainsi, l’objectif de notre étude est de proposer une approche permettant de générer un modèle d’extraction des informations pertinentes dans une base de connaissance Dans ce
document, ce modèle sera appelé modèle de situation car les informations extraites doivent
décrire une situation correspondant à une réelle expertise
C’est dans cette optique que s’inscrit mon stage 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 pour générer un modèle de situation ;
- Evaluation du modèle de situation créé sur des données des cas d’utilisation
Notre travail s’inscrit en effet dans le cadre de la fusion d’information qui est l’un des thèmes de l’équipe du LRASC et dont l’objectif est d'améliorer la connaissance du monde observé pour le décrire du mieux possible pour l’utilisateur Le modèle de situation sera ajouté comme entrée dans le processus de fusion (Fossier, et al., 2013) Le travail effectué au cours de cette étude s’est déroulé au sein du LRASC (Laboratoire Raisonnements et Analyses dans les Systèmes Complexes) à Thales Research &Technology et du laboratoire LRI (Laboratoire de Recherche en Informatique) de l’université Paris-Sud, équipe LAHDAK dont les travaux portent sur des propositions d’infrastructures adaptées à la gestion de données et de connaissances massives et hétérogènes plus ou moins complexe
Pour rendre compte du travail effectué tout au long de cette étude, nous avons rédigé ce rapport qui s’organise en trois sections Dans la section 1, nous ferons une synthèse
Trang 42
bibliographique du domaine d’étude Dans la section 2, nous présentons l’approche proposée
pour la réalisation du modèle de filtrage ou encore pour l’obtention de modèles de situation
Dans la section 3, nous présentons les résultats d’expérimentations et les analysons Enfin, nous concluons ce rapport par le bilan des apports de notre contribution ainsi que par la présentation rapide de quelques perspectives ouvertes par notre travail
Trang 53
Contexte :
Nos travaux s’inscrivent dans le domaine plus large de la fusion d’information Le terme «
fusion d’information » est apparu dans les années 90 dans le but de gérer et de mettre en
correspondance un ensemble d’informations provenant des données multi-sources et à les exploiter Depuis quelques années de nombreux algorithmes de fusion ont été développés pour les applications dans des domaines tels qu’intelligence artificiel, imagerie satellitaire et aérienne
Cependant, pour pouvoir appliquer ou utiliser des algorithmes de fusion, les experts de domaines doivent filtrer de leur base de connaissance, les données qui sont les plus significatives avant d’effectuer le processus de fusion Ces données significatives sont celles qu’on qualifie de modèle de situation Le modèle de situation est ensemble de données structurées qui décrit des observations d’un utilisateur afin de lui donner une meilleure compréhension En d’autres termes, le modèle de situation est une structure qui permet de décrire au mieux possible ce qu’ont en commun un ensemble de données
Avant de pouvoir obtenir le modèle de situation, il est important de trouver un formalisme
de représentation des données et une méthode pour extraire les informations communes
Dans cette section, nous présentons quelques notions importantes en relation avec notre domaine d’étude à savoir : les langages de représentation de connaissance et l’apprentissage
1.1 Langages de représentation des connaissances
La représentation des connaissances est une discipline de l’IA destinée à représenter et à organiser un ensemble de connaissance dans le but de la partager, d’interroger et même de raisonner (combiner un ensemble d’informations préalablement connues afin obtenir une information qui en découle) La problématique de la recherche en représentation des connaissances est de fournir des modèles formels de représentation qui permettent d’une part,
de modéliser facilement la connaissance et d’autre part, d’exploiter cette connaissance lors de
la résolution d’un problème donné Plusieurs formalismes de représentation existent mais dans cette partie nous nous intéressons qu’aux formalismes qui nous permettrons à faire des raisonnements logiques sur les connaissances à savoir graphe conceptuel et le langage OWL
1.1.1 Graphe conceptuel
Le modèle des graphes conceptuels (GCs) est un modèle formel de représentation des connaissances fondé sur la description de concepts qui est introduit dans (Sowa, 1984) Les connaissances exprimées dans ce modèle se structurent en deux niveaux : un niveau terminologique encore appelé support ou vocabulaire est principalement composé d’un treillis
de concepts et d’un ensemble ordonnée de relations conceptuelles Le second niveau est dit assertionnel ou factuel et permet décrire les faits ou observations par des graphes cela en se basant des éléments du niveau terminologique Plusieurs extensions de ce modèle ont été
Trang 64
proposées chacun dans le but d’enrichir la méthode de représentation de connaissance (les types conjonctifs, les règles, et des contraintes) Le modèle des graphes conceptuels, s’appuie sur une représentation graphique des connaissances et permet le raisonnement Le raisonnement étant réalisé par des algorithmes de graphes (principalement la recherche d’isomorphisme de graphe)
Il dispose en plus d’une fonction d’interprétation logique qui permet de doter le modèle d’une sémantique formelle Ainsi tout graphe conceptuel peut être représenté en logique de description du premier ordre
Un graphe conceptuel est un graphe biparti orienté dans lequel les nœuds (concept et relation) sont liés par des arcs orientés
1.1.2 Langage du Web Sémantique
Les ontologies sont apparues au début des années 90 en ingénierie des connaissances, dans
le cadre des démarches d’acquisition des connaissances pour les systèmes à base de connaissances Dans ce contexte, les chercheurs ont proposé de fonder ces connaissances sur la spécification d’une ontologie, ensemble structuré par différentes relations entre des objets du domaine dont l’élaboration relève du choix du modélisateur Les ontologies fournissent une capacité de stocker les connaissances générales, d’une manière qui est compréhensible à la fois par les humains et les ordinateurs Nous ne considérons qu’un sous-ensemble des ontologies : les ontologies OWL, permettant la production d’inférences de nouvelles données à partir des données déjà présentes dans la base Ces ontologies contiennent entre autre des axiomes permettant de spécifier des contraintes d’appartenances des individus à une classe
OWL2 est une recommandation du consortium du W3C Il vise également à rendre les ressources sur le Web aisément accessibles aux processus automatisés en les structurant d’une façon compréhensible et aussi en leur ajoutant des méta-informations (McGuinness & Harmelen, 2004) Pour cela, OWL offre des moyens puissants pour exprimer la signification et
la sémantique que XML, RDF, et RDF-S n’offrent pas OWL ajoute des vocabulaires pour la description des propriétés et des classes, des relations entre classes, des cardinalités, des
caractéristiques de propriétés (symetry), et des classes énumérées Tandis que RDF-S permet
de définir seulement la hiérarchie entre les classes et propriétés OWL a été donc développé comme une extension du vocabulaire de RDF De plus, à l’aide nombreux plugin (OWL Api, Jena API) OWL permet l’intégration des ontologies c’est à dire permet la construction de nouvelle ontologie à partir de zéro ou à partir d’autre déjà existante, elle permet l’utilisation des ontologies dans les applications et enfin elle permet la fusion de plusieurs ontologie en une seule
1.1.3 Tableau comparatif des GCs et OWL2
Dans (Raimbault, 2008) ces deux formalisent bien qu’ils soient similaires à la logique de description, ils ont des différences La plus notoire est au niveau d’expressivité des connaissances Par exemple la notion de complémentarité est partiellement définie en graphe conceptuel tandis que celle d’énumération ne l’est pas D’après le tableau ci-dessous, on peut remarquer que pour la représentation des connaissances en OWL offre un vocabulaire le plus
Trang 75
riche Ainsi, la majorité des notions d’un système sont donc généralement (totalement) instanciables dans les modélisations basées sur OWL2
Notions Graphe conceptuel OWL2
Tableau 1: Comparaison GC et OWL2
Après avoir fait une brève présentation des formalismes de représentation de connaissances reposant sur le paradigme des données liées tel que la technologie du Web Sémantique « OWL » et les graphes conceptuels, nous présentons des méthodes qui permettent d’inférer des connaissances à partir des bases de connaissances
1.2 L’apprentissage automatique
L'apprentissage automatique (machine learning en anglais), champ d'étude de
l'intelligence artificielle qui concerne la conception, l'analyse, et l'implémentation de méthodes permettant à une machine d'évoluer par un processus systématique Grace à l’apprentissage, la machine devient capable de remplir des tâches difficiles ou impossibles à remplir par des moyens algorithmiques plus classiques L’objectif de l’apprentissage automatique est de produire automatiquement des règles Plusieurs méthodes sont utilisées pour y parvenir: les arbres de décision, la programmation génétique, les réseaux de neurones, la programmation logique inductive Dans cette partie nous nous intéressons seulement à l’apprentissage en
Trang 86
logique de description puisque le formalisme de représentation de connaissances choisi est aussi lié à la logique de description
1.2.1 Généralités sur la programmation logique inductive (PLI)
La Programmation Logique Inductive ou PLI (en anglais Inductive Logic Programming,
ILP) peut se définir comme étant à l'intersection de l'apprentissage automatique et de la programmation logique L'apprentissage automatique, et plus précisément de l'apprentissage inductif, permet de développer des outils et des techniques permettant d'induire des hypothèses
et de synthétiser de nouvelles connaissances à partir de l'expérience
La PLI hérite d'un langage de représentation des connaissances palliant les limitations des approches non logiques de l'induction (en particulier l'absence de prise en compte d'une théorie
du domaine) et les techniques et théories bien établies de ce domaine La Programmation Logique Inductive avait à l'origine pour objectif l'inférence de programmes logiques à partir d'observations et relativement à une théorie du domaine Son application s'étend aujourd'hui à l'apprentissage de concepts en logique de description
Formellement, la programmation logique inductive est une combinaison de l’apprentissage automatique et de la programmation en logique Elle est décrite de la façon suivante (Lavrac
& Dzeeoski, 1994) :
Entrées : Trois ensembles 𝑩, 𝑬+ et 𝑬− avec
Une base de connaissance 𝑩
Un ensemble d’exemples 𝑬+
Un ensemble de contre -exemples 𝑬−
Sortie : Trouver une hypothèse H vérifiant les propriétés suivantes
La complétude 𝐇 ⊫ 𝒆 ∀𝐞 ∈ 𝑬+
La consistance 𝐇 ⊯ 𝒆 ∀𝐞 ∈ 𝑬−
On cherche donc à trouver une hypothèse H qui permet d’expliquer au mieux les exemples positifs, tout en rejetant au maximum les exemples négatifs Elle se base souvent sur l’utilisation d’autres techniques liées à la programmation logique comme la substitution, la spécialisation,
la généralisation, l’unification et la résolution
La complexité d’apprentissage d’une nouvelle hypothèse dépend du langage de la logique qui est choisi (Franz Baader, 2003) Plus le langage est complet, plus la complexité est grande
En programmation logique inductive, on distingue trois grandes approches pour l’apprentissage d’hypothèses La première approche, dite descendante ou top-down, consiste à partir d’une hypothèse générale et aller vers une hypothèse plus spécifique en respectant les règles définies dans la base de connaissances Cette approche a pour principale but d’induire une nouvelle hypothèse Dans la littérature, on a plusieurs systèmes qui sont développés avec
Trang 9Concept (Cohen et al., 1992) 𝑳𝑺𝑪 (𝑪𝟏, 𝑪𝒏) = 𝑪 ó 𝐶 est le concept le plus spécifique qui
subsume tous les Ci (c’est à dire ∀ 𝐶𝑖 ∈ {𝐶1 , … , 𝐶𝑛 }, 𝑜𝑛 𝑎 𝐶𝑖 ⊆ 𝐶 (𝐶 𝑠𝑢𝑏𝑠𝑢𝑚𝑒 𝐶𝑖 )
Cette approche est utilisée par des systèmes tels que : FOIL (Quinlan, 1995), PROGOL (Muggleton, 1995), CLAUDIEN (De Raedt & Dehaspe, 1996)
Et la troisième approche est juste une combinaison des deux précédentes et on la retrouver
dans le système PROGOLEM (Muggletton et al., 2010)
Le véritable problème en programmation logique inductive est la définition de l’espace de recherche des hypothèses L’espace de recherche d’hypothèses représente toutes les hypothèses existantes dans une base de connaissance Ainsi il est important de choisir et d’utiliser une méthode ayant une complexité raisonnable afin toutes ces hypothèses Le parcours de l’espace
de recherche est généralement effectué par le biais de l’opérateur de subsomption Chaque méthode de PLI diffère les unes des autres par deux grands facteurs, la taille de l’espace de recherche et la qualité de l’hypothèse trouvée (hypothèse couvrant au mieux les exemples positifs et aucun exemple négatif)
1.2.2 Apprentissage sur des ontologies (OWL)
Trois principaux algorithmes de la PLI permettent l’apprentissage sur des ontologies OWL
à savoir DL-FOIL (Fanizzi, 2008), DL-Learner (Lehmann et al., 2011) et YINYANG (Luigi
et al., 2005) Dans cette sous-section, nous présentons ces trois algorithmes et nous faisons une
étude comparative afin de trouver lequel est mieux adapté pour résoudre notre problème
Nous présentons dans cette sous partie une petite comparaison des trois systèmes D’après
le tableau DL learner est le système qui présente le plus d’avantage comparé aux deux autres
Algorithme DL-Learner DL-FOIL YINYANG
1 Format de l’ontologie OWL/N-triple/Sparql
endPoints
3 Type d’apprentissage Exemple positif et négatif
/ Exemple positif seulement
Exemple positif et négatif
Exemple positif
et négatif
Trang 106 Système Disponible/ Open-source Non disponible Disponible
Tableau 2: Comparaison DL-learner, DL-foil et YINYANG
En effet, DL Learner permet d’apprendre des nouvelles définitions de concepts seulement avec des exemples positifs, il retourne des concepts compréhensibles par les humains, il présente avec plus de détail la définition de son heuristique qui facilite et réduit le parcours de l’espace de recherche et pour terminer il est un système open source Tous ces critères nous ont permis de le comprendre et de pouvoir définir par exemple l’heuristique nécessaire pour apprendre seulement les exemples positifs
2 Conclusion
En somme, nous avons présenté deux approches de représentation de connaissances, et trois méthodes d’apprentissage basées sur les ontologies OWL
Pour notre problème nous optons donc pour le formalisme OWL pour la représentation de
la base de connaissance et de l’algorithme DL Learner sera utiliser (modifié) pour obtenir le modèle de situation parce qu’il présente les avantages telles que décrit dans le tableau2 Comme par exemple, il peut nous retourner des modèles de situation Ces modèles de situation ou résultats de DL learner ne sont pas idéale et intéressant pour les utilisateurs Nous allons décrire dans le chapitre précédent pourquoi et comment doit-on améliorer DL learner pour obtenir un bon modèle tout en exploitant certains principes développées dans DL learner
Trang 119
Dans ce chapitre, nous souhaitons, pour une base de connaissance et un ensemble d’observation, déterminer ce qu’ont en commun et de pertinent les différentes observations généralement appelées exemples positifs Le but final est de déterminer des modèles de situation Un modèle de situation est décrit comme étant un ensemble d'informations pertinent correspondant à une situation Notons toutefois qu’une situation est mieux présentée si elle décrit au maximum tout ce qui est relaté dans les observations de l’opérateur
Pour résoudre ce problème, nous utilisons l’approche ILP, qui, à partir d’une base de connaissance K et d’un ensemble d’exemples 𝐸 = 𝐸+ détermine une hypothèse qui satisfait au mieux tous les exemples positifs
𝐻 ⊫ 𝑒 ∀ 𝑒 ∈ 𝐸+ Comme mentionné dans l’état de l’art l’algorithme d’apprentissage de DL Learner est choisi pour apprendre ou rechercher les concepts qui couvrent le maximum d’exemples, nous nous focalisons donc sur ce dernier pour proposer une approche de génération de modèles de situations
Dans la première partie, nous présentons le processus général choisit pour l’obtention du modèle de situation, ensuite, nous présentons la modélisation OWL de la base ASRS, et enfin nous présentons les étapes et algorithmes de génération de modèles
Intérêt du modèle proposé
Notre travail vise à concevoir des modèles permettant de donner de manière automatique une description d’un ensemble de donnée provenant d’une base de connaissance
Ces modèles permettront de comprendre et voir les points de similarité entre les différents exemples choisis Ils seront donc utilisés par les experts pour des prises de décision par rapport
au phénomène observé Ils seront aussi utilisés comme paramètre d’entrée dans le processus de fusion d’information
2.1 Etape de génération du modèle de situation
Nous allons présenter une approche pour l’obtention d’un modèle de situation L’approche proposée est constituée de 4 étapes et elle utilise les formalismes discutés précédemment
Étape 1 : Modéliser la base de connaissance sous une ontologie OWL (due à son grand pouvoir d’expressivité)
Étape 2 : Extraction de la base de connaissance d’un sous-ensemble d’entités représentant les besoins de l’utilisateur Ces données sont appelées exemples ou observations et correspondent donc à une situation précise Cette extraction est faite par une requête SPARQL.1
1 http://www.w3.org/TR/rdf-sparql-query/
Trang 1210
Étape 3 : Algorithme d’apprentissage qui pourra extraire les 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 4 : Spécialisation des résultats d’apprentissage pour la recherche de modèle
Le processus d’obtention du modèle de situation étant très long nous nous sommes focalisé dans ce mémoire dans la proposition d’un algorithme d’apprentissage générant le modèle de situation en logique de description, c’est à dire à l’étape 3
2.2 Étape1 : Modélisation de la base de connaissance
Dans cette partie, on s’intéresse à des bases de connaissances «dirigées par une ontologie», c’est-à-dire comportant deux grands types de connaissances Les connaissances structurelles ou axiomes ontologiques qui permettent de fixer la sémantique du vocabulaire à utiliser Et les connaissances factuelles qui décrivent des situations spécifiques relatives à une entité individuelle du domaine La diversité de formats de représentation de la connaissance pose parfois le problème de choix pour déterminer la structure la mieux adapter pour le problème Pour notre problème, il était question d’utiliser l’un des deux formalismes présenté au chapitre
1 Et le choix s’est donc porté sur le formalisme OWL qui présente un plus grand niveau
d’expressivité des données car il contient plusieurs familles de langage comme EL, ALC, SHOIN (Baader et al., 2003)
La base ASRS est une base de données en ligne 2 qui contient une description de différents événements (incident) dans le domaine aéronautique Elle décrit pour chaque événement, les conditions (climat, lieu, le type d’avion …), les causes (anomalies), et les conclusions La base est exportable sous plusieurs formats : word, excel, csv Nous avons développé une méthode qui transforme un fichier excel en un fichier OWL
La base a été modélisée comme présentée sur la figure 5 En fait nous nous sommes basés sur la taxonomie déjà disponible (Annexe) pour représenter les connaissances structurelles et en parsant chaque ligne du fichier Excel, on extrait des données qui nous permettent de représenter des faits ou des observations La construction de la base est faite à l’aide de l’API OWL L’API OWL (OWLAPI1, 2015) est une interface Java mise en œuvre par le W3C qui est utilisée pour représenter les ontologies du Web Sémantique
2 www.asrs.arc/nasa.gov
Trang 1311
Figure 1: Visualisation graphique de l’ontologie ASRS
2.3 Étape 2 : Extraction d’exemples positifs
Pour cette deuxième étape, on voudrait choisir les exemples dont on souhaite trouver une description commune La méthode d’extraction d’exemples utilisée est la requête SPARQL SPARQL est utilisé pour diriger l’étape d’apprentissage et considérer un ensemble bien défini
de types d’incident Notons toutes fois qu’étant donné que l’utilisateur peut ne pas maitriser comment définir sa requête, il peut entrer ses exemples sous la forme « incident1, incident3, incident61
2.4 Étape 3 : Apprentissage
L’étape d’apprentissage se fait en utilisant l’approche top down des algorithmes d’apprentissage Dans cette partie, nous allons décrire comment on réussit à extraire des concepts qui sont nécessaires pour le modèle de situation L’approche proposée se base sur DL learner (Jens Lehmann, 2010) Mais avant d’y arriver nous présentons d’abord pourquoi l’algorithme d’apprentissage CELOE (Class Expression Learning for Ontology Engineering) proposé dans DL-learner ne nous satisfait pas complétement Lorsqu’on paramètre DL learner
à la recherche de plusieurs concepts qui couvrent un ensemble d’exemple, il retourne des concepts qui couvrent certes l’ensemble des exemples, mais ces concepts comportent des expressions qui ne sont pas intéressantes pour le modèle de situation En effet généralement le premier résultat est court et ne donne pas tous les détails sur la situation que l’on souhaite