Conception et développement d`applications informatiques utilisant
Transcription
Conception et développement d`applications informatiques utilisant
Conception et développement d’applications informatiques utilisant des ontologies : application aux EIAH Pascal Lando LaRIA – Université de Picardie Jules Verne 33 rue Saint-Leu 80039 Amiens Cedex 1 [email protected] RÉSUMÉ. À l’heure actuelle, les ontologies constituent une solution très prisée quand à la capitalisation et au partage de connaissances dans le domaine des environnements informatiques pour l’apprentissage humain. De nombreuses initiatives sont menées afin de mettre au point des ontologies consensuelles pour une grande partie de la communauté (apprentissage à distance, modèle de l’apprenant, structuration de documents pédagogiques, etc.). Alors que les outils et les langages pour la création de telles ontologies atteignent un niveau de maturité intéressant (OWL, Protégé, etc.), les possibilités d’utilisation en contexte réel de ces ontologies sont encore restreintes. Nos travaux, qui trouvent leur origine dans une telle situation (construction d’un logiciel d’aide à la création de gabarits de scénarios pédagogiques), tentent d’apporter une réponse méthodologique et technique au problème de la conception et de l’implantation d’applications informatiques utilisant des ontologies. MOTS-CLÉS : ontologie, application informatique, modélisation, conception. 1res Rencontres jeunes chercheurs en EIAH, RJC-EIAH'2006, pages à 1. Introduction Dans le cadre d’un projet financé par le pôle de recherche NTE de la région Picardie, nous avons travaillé à l’élaboration de dispositifs permettant d’assister le processus de conception de scénarios pédagogiques pour des activités d’apprentissage collectives et distantes. Nous avons alors proposé une méthode de conception de gabarits de scénarios, comprenant un modèle générique de gabarits, une démarche de conception, des formalismes de représentation ainsi qu’un outil informatique destiné à mettre en œuvre cette méthode [LANDO et al. 05]. Suite à cette proposition, et notamment dans le cadre d’une participation au projet CNRS OURAL (Ontologies pour l’utilisation de ressources de formation et d’annotations sémantiques en ligne), nous nous sommes intéressés à une approche ontologique de notre modèle générique (initialement formalisé selon l’approche objet). Une première ontologie de domaine a alors été créée. Dans l’optique de concevoir une application informatique fondée sur cette ontologie, nous avons été amenés à réfléchir aux problématiques de conception et développement de logiciels utilisant des ontologies. Bien que de nombreuses ontologies existent aujourd’hui (ex. pour les EIAH : [PAQUETTE et al. 03, OURAL 05]), comme l’ont constaté [PEREZ et al. 99] : « The number of applications built that use ontologies to model the application knowledge is small ». Le but de nos travaux est alors de proposer des dispositifs destinés à faciliter et assister le processus de conception et de développement d’applications informatiques utilisant des ontologies. Dans une première section, nous présentons le contexte de nos recherches, clarifions le vocabulaire employé et énonçons notre problématique. Nous présentons une première typologie d’applications utilisant des ontologies, puis exposons notre proposition de démarche de conception d’applications informatiques utilisant des ontologies. Enfin, nous concluons et présentons les perspectives pour la suite de la thèse. 2. Contexte et problématique Avant toute chose, nos recherches se sont attachées à préciser les termes employés, qui, dans bien des cas, se révèlent être la source de confusions lors des interactions entre communautés EIAH, génie logiciel et ingénierie des connaissance. En particulier, nous définissons le terme « application informatique », et les différents types d’ontologies manipulées. 2.1. Applications informatiques… Par application informatique, nous entendons « un ensemble d’éléments informatiques permettant d’automatiser l’exécution d’un certain nombre de tâches prédéterminées et formalisées ». À ce titre, E-MEMORAe [BENAYACHE 05], ou encore l’outil auteur de gabarits de scénarios pédagogiques Progetto [LANDO 04] sont des applications informatiques. Les applications informatiques utilisant des ontologies Conception et développement d’application utilisant des ontologies ou, plus généralement, des connaissances, sont généralement qualifiées de systèmes à base de connaissances (SBC). De manière générale, un SBC est constitué d’une base de connaissances, d’une base de faits et d’un « moteur d’inférence » permettant de déduire de nouvelles connaissances à partir des connaissances initiales du SBC. 2.2. Ontologies manipulées Il existe de nombreuses sortes d’ontologies, destinées à des utilisations très variées. L’un des problèmes fréquemment rencontrés par les utilisateurs potentiels d’ontologies, en particulier dans les EIAH, est celui de la diversité des appellations de ces ontologies (et des finalités sous-jacentes). C’est pourquoi il nous semble important d’expliciter les termes employés. Le but de cet article n’étant pas de répertorier tous les types d’ontologies, nous ne présentons ici que celles qui intéressent notre problématique, i.e. qui sont susceptible d’être utilisées par nos applications informatiques cibles. 2.2.1. Ontologie de haut niveau Une ontologie de haut niveau décrit des concepts très généraux comme l’espace, le temps, la matière, les objets, les événements, les actions, etc. Ces concepts ne dépendent pas d’un problème ou d’un domaine particulier, et doivent être, du moins en théorie, consensuels à de grandes communautés d’utilisateurs [GUARINO 98]. Des exemples d’ontologies de haut niveau sont Dolce ou Sumo. 2.2.2. Ontologie de domaine Une ontologie de domaine décrit le vocabulaire ayant trait à un domaine générique (ex. : l’enseignement, la médecine…), notamment en spécialisant les concepts d’une ontologie de haut niveau [GUARINO 98]. 2.2.3. Ontologie de tâche Une ontologie de tâche décrit le vocabulaire concernant une tâche générique (ex. : enseigner, diagnostiquer…), notamment en spécialisant les concepts d’une ontologie de haut niveau [GUARINO 98]. Certains auteurs emploient le nom « ontologie du domaine de la tâche » pour faire référence à ce type d’ontologie [HERNANDEZ 05]. 2.2.4. Ontologie d’application L’ontologie d’application contient des concepts dépendants d’un domaine et d’une tâche particuliers, qui sont généralement subsumés par des concepts de ces deux ontologies. Ces concepts correspondent souvent aux rôles joués par les entités du domaine lors de l’exécution d’une certaine activité [GUARINO 98]. Il s’agit donc ici de mettre en relation les concepts d’un domaine et les concepts liés à une tâche particulière, de manière à en décrire l’exécution (ex. : apprendre les statistiques, effectuer des recherches dans le domaine de l’astronomie, etc.). 2.3. Problématique Notre objectif est l'aide à la conception de logiciels utilisant des ontologies. Les ontologies manipulées par ces applications peuvent être des ontologies de domaine ou d'application. Ainsi, notre but n'est pas l'aide à la conception d'ontologies mais bien l'aide à la conception d'applications utilisant une (ou des) ontologie(s) déjà existante(s). Pour cela, il est nécessaire de proposer une méthodologie de conception et un outil permettant de guider les concepteurs d’applications dans leur tâche. 3. Vers une typologie d’applications informatiques utilisant des ontologies Les ontologies ouvrent des perspectives très diverses en matière d’applications cibles, notamment en EIAH : indexation de documents pédagogiques, conception de scénarios, apprentissage par exploration… Ainsi, l’une de nos premières préoccupations a été de classifier les différents types d’applications utilisant des ontologies. Suite à l’étude de différents travaux dans le domaine des EIAH, nous proposons, ci-après (tableau 1), une première typologie. Type Définition Exemples Consultation et navigation Il s’agit ici de systèmes de présentation de - MEMORAe [BENAYACHE 05] contenus. Ces applications se consacrent à la navigation, la visualisation et l’organisation - QBLS [DEHORS et al. 05] des informations pour faciliter leur compréhen- - DIVA-BCTA [PAQUETTE et al. 03] sion par les utilisateurs [BENAYACHE 05]. Indexation et classification (gestion de contenu) Les systèmes d’indexation et de classification permettent, notamment par l’utilisation de métadonnées, un repérage des ressources (documents, pages Web...) selon un certain niveau de granularité. Résolution de problèmes Les applications dites de résolution de pro- - SmartTrainer [HAYASHI et al. blèmes permettent d’assister voire d’automa99] tiser certaines tâches liées à la résolution d’un - EON [MURRAY 99] problème particulier. L’ontologie fournit alors - KARINA [CRAMPES et al. une spécification des connaissances et des 00] modèles dans le système. - MEMORAe [BENAYACHE 05] - C@mpuSciences [PASSARDIÈRE et al. 04] - IMAT [DESMOULINS et al. 02] Tableau 1. Typologie par objectif des applications utilisant des ontologies Bien entendu, certaines applications figurent dans plusieurs catégories à la fois. Ainsi, dans MEMORAe [BENAYACHE 05], il est possible d’indexer un certain nombre de ressources pédagogiques, mais également de les consulter et de naviguer parmi les notions de cours. Conception et développement d’application utilisant des ontologies 4. Proposition Notre but étant de permettre aux concepteurs d’applications d’utiliser des ontologies existantes, nous devons tout d’abord préciser ce qui est susceptible d’être réutilisé au niveau ontologique, et ce qui ne peut raisonnablement pas l’être. En effet, le postulat de nos travaux n’est pas de progresser vers l’idée d’un utopique « tout générique », mais d’aider ceux qui en ont le besoin à réutiliser ce qui a été proposé et éprouvé auparavant par des travaux consensuels. Dans ce contexte, des travaux antérieurs ont mis en avant la possible réutilisation de certaines ontologies (figure 1) : – les ontologies de domaine et de tâche, non spécifiques à une application donnée, peuvent être considérées comme réutilisables [BENAYACHE 05], en particulier si elles spécialisent les concepts d’une ontologie de haut niveau ; – les ontologies d’application, très spécifiques au traitement d’un problème donné dans un contexte donné, ne sont généralement pas réutilisables [BENAYACHE 05]. Figure 1. Réutilisabilité des ontologies Dans le but d’assister les concepteurs d’applications informatiques utilisant des ontologies existantes, nous avons analysé le processus de conception de ce type d’applications. Ainsi, nous avons pu identifier 4 étapes fondamentales que le concepteur doit réaliser, présentées par la figure 2 et détaillées dans les sections suivantes. Figure 2. Processus de conception d’une application utilisant des ontologies existantes (diagramme d’activités UML) 4.1. Spécification et formalisation des besoins La spécification et la formalisation des besoins en termes de fonctionnalités opérationnelles du logiciel peuvent être considérées comme une partie du cycle de vie du logiciel. Il s’agit d’une tâche commune en génie logiciel, pour laquelle un certain nombre de méthodes et d’outils ont déjà été développés. La particularité est ici que ce processus doit prendre en entrée des ontologies, permettant notamment de simplifier la spécification du scénario d’usage. Cette formalisation est généralement effectuée grâce à des modélisations, comprenant une partie statique (architecture de l’application), ainsi qu’une partie dynamique (qui correspond à une spécification formelle du scénario d’usage). Certains travaux se sont attachés à définir le concept de scénario d’usage d’un SBC. D’après [FÜRST 04], le scénario d’usage consiste en la description des fins auxquelles seront utilisées les connaissances spécifiées dans l’ontologie. Un tel scénario doit décrire la façon dont les divers éléments de l’ontologie vont contribuer aux raisonnements mis en oeuvre dans le système projeté. Nous avançons qu’il est possible de faire une correspondance entre l’élaboration d’un scénario d’usage et la Conception et développement d’application utilisant des ontologies création d’une ontologie d’application, qui consiste à décrire ce que le logiciel doit faire avec les ontologies de tâche et de domaine (rôles des connaissances). La suite de nos travaux de thèse seront donc en partie consacrés à étudier les liens possibles et déjà abordés dans la bibliographie entre ontologie de tâche et ontologie de domaine, et à proposer une solution originale à ce problème. 4.2. Appropriation des ontologies et création d’une ontologie d’application Il s’agit de réutiliser une ontologie de domaine existante (ex. : les statistiques) ou une ontologie de tâche existante (ex. : l’apprentissage à distance), voire les deux. Il faut ensuite créer une ontologie d’application (ex. : apprentissage à distance des statistiques) en utilisant ces deux ontologies. Nous exposons cette étape sur l’exemple de la création d’une application d’apprentissage par exploration des statistiques (comme c’est le cas dans MEMORAe [BENAYACHE 05]). Notre proposition consiste ici à réutiliser une ontologie du domaine des statistiques existante, ainsi que, si possible, une ontologie de la tâche d’apprentissage par exploration. Figure 3. Appropriation d’ontologies pour la conception d’applications 4.3. Opérationnalisation On appelle ontologie opérationnelle une ontologie exprimée dans un langage opérationnel et dotée d’une sémantique opérationnelle. L’opérationnalisation de l’ontologie consiste donc en la spécification informatique des opérations applicables aux concepts dans un langage opérationnel. L’utilisation opérationnelle d’une ontologie suppose sa représentation dans un langage formel mais aussi opérationnel, i.e. offrant des mécanismes de raisonnements adaptés aux manipulations de connaissances envisagées [BACHIMONT 00]. Cette étape devra donc intégrer des outils permettant d’opérationnaliser l’ontologie en fonction du scénario d’usage défini précédemment. Des outils de ce type ont été développés dans le domaine de l’ingénierie des connaissances, et seront explorés (ex. : [FÜRST 04]). De plus, le langage de représentation des connaissances et de programmation de haut niveau Def-* [KASSEL 99] développé au LaRIA, sera utilisé et éventuellement étendu pour répondre à nos besoins en terme d’opérationnalisation. 4.4. Finalisation du modèle de données et implantation Une fois le scénario d’usage précisé et formalisé, et les ontologies spécialisées et opérationnalisée, il reste à finaliser le modèle de données. Le problème se pose ici du choix de l'environnement d'implantation de l'application, en ce qui concerne la gestion de ses données (base de données venant éventuellement compléter le SBC) puis de l'implantation proprement dite des données. Enfin, pour finaliser l'application, le concepteur/développeur implante ses interfaces et son application dans un langage cible (ex. : Java). 5. Conclusion et perspectives Nos travaux ont pour objectif d’apporter une réponse au problème de la conception d’applications informatiques utilisant des ontologies préalablement développées. Après avoir précisé les termes employés et apporté une première typologie d’applications informatiques utilisant des ontologies, nous proposons une démarche de conception. Cette démarche est la première composante d’une méthode de conception qui en comportera quatre : démarche, modèles, formalismes et outil. En effet, la suite de nos travaux de thèse consistera à préciser, pour chacune des étapes sus-citées, des formalismes et des modélisations permettant au concepteur de spécifier précisément ses besoins. La première perspective de recherche est la création d’un outil de conception de scénarios pédagogiques, utilisant une ontologie du domaine de l’apprentissage à distance. Cet outil, créé grâce à notre méthodologie, devrait permettre à tout concepteur de scénarios pédagogique, de créer un scénario adapté à ses besoins, en bénéficiant de l’utilisation de concepts tirés d’une ontologie préalablement crée. 6. Bibliographie [BACHIMONT 00] Bachimont, B., Engagement sémantique et engagement ontologique : conception et réalisation d’ontologies en ingénierie des connaissances. In J. Charlet et al. (eds), Ingénierie des Connaissances ; Évolutions récentes et nouveaux défis, Eyrolles, p. 305-323, 2000. [BENAYAHE 05] Benayache, A., Construction d’une mémoire organisationnelle de formation et évaluation dans un contexte e-learning : le projet MEMORAe. Thèse de doctorat de l’université de technologie de Compiègne, 2005. [CRAMPES et al. 00] Crampes, M., et Ranwez, S., « Ontology-Supported and OntologyDriven Conceptual Navigation on the World Wide Web », Actes de la conférence ACM Hypertext, 30 mai-4 juin 2000, ACM Press, San Antonion,. p. 191-99. Conception et développement d’application utilisant des ontologies [DEHORS et al. 05] Dehors S., Giboin A., Faron-Zucker C., Stromboni J.-P., « Des annotations sémantiques pour apprendre : l’expérimentation QBLS », Actes de la Journée thématique WebLearn, plate-forme AFIA'2005, 31 mai 2005, Nice. [DESMOULINS et al., 2002] Desmoulins C., et Grandbastien M. « Ontologies pour la conception de manuels de formation à partir de documents techniques », STE, 9 (3-4), 2002, p. 291-340. [FÜRST 04] Fürst F., « Opérationnalisation d’ontologies : une méthode et un outil », Actes de la conférence Ingénierie des connaissances (IC’2004), 5-7 mai 2004, Lyon. [GUARINO 99] Guarino, N., « Formal Ontology and Information Systems», Formal Ontology in Information Systems. IOS Press, 1998. [HAYASHI et al. 99] [Hayashi et al., 1999] Hayashi Y., Jin L., Seta K., Ikeda M. et Mizoguchi R., « A Multiple View Authoring Tool for Modeling Training Materials », AI Technical Report 99-05, 1999, Osaka University. [HERNANDEZ 05] Hernandez, N., Ontologies de domaine pour la modélisation du contexte en recherche d’inrofmation. Thèse de doctorat, Université de Toulouse, 2005. [KASSEL 99] Kassel G., Def-* : manuel de référence. Rapport interne 99/01, LaRIA, Université de Picardie Jules Verne, 1999. [LANDO 04] Lando, P., Progetto : une méthode de conception de gabarits de scénarios pour activités pédagogiques collectives distantes à base de projets, Mémoire de DEA, Université de technologie de Compiègne, 2004, 146 p. [LANDO et al. 05] Lando, P., Lapujade A., « Progetto: a Design Method for Distant Collective Project-Based Learning Activities Scenarios Patterns », Actes de la conférence World Conference on Computers in Education (WCCE’05), Cap-Town, 4-7 juillet 2005. [MURRAY 99] Murray T., « Authoring Intelligent Tutoring Systems: Analysis of the state of the art », Journal of Artificial Intelligence in Education, 10, 1999, p. 98-129. [OURAL 06] OURAL : Ontologies pour l'utilisation de ressources de formation et d'annotations sémantiques en ligne, http://www.dr4.cnrs.fr/tcan/tcan/activites/2005/ journeesNov/Grandbastien.pdf. Visité le 18/02/2006. [PAQUETTE et al. 03] Paquette, G., Bourdeau, J., Psyché, V., « Vers une ontologie et une base de connaissances en téléapprentissage », 3e colloque CIRTA, ACFAS, 20 mai 2003, Rimouski, Québec. [PASSARDIÈRE et al. 04] De La Passardière B., Jarraud P., « Indexation : mythe ou réalité ? Mise en oeuvre dans C@mpuSciences et l’Université en Ligne », Actes du colloque TICE, Compiègne, 2004, p.127-130. [PEREZ et al. 99] Gomez Perez A., Benjamins R., « Applications of Ontologies and ProblemSolving Methods », Al-Magazine, Vol. 20, No. 1, AAAI Press, 1999, p. 119-122, ISSN 0738-4602.