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.