|

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE
L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE JIJEL FACULTE DES SCIENCES DE
L'INGENIEUR DEPARTEMENT D'INFORMATIQUE

POUR L'OBTENTION DU DIPLOME D'INGENIEUR D'ETAT EN GENIE
INFORMATIQUE
OPTION : INTELLIGENCE ARTIFICIELLE


CONCEPTION D'UNE ONTOLOGIE POUR UNE PLATE
FORME
D'ENSEIGNEMENT A DISTANCE
Réalisé par Dirigé
par
Saloua Chettibi & Amina Rouibah Melle. Ouafia
Ghebghoub
Année universitaire 2005/2006

Nous remercions DIEU le tout puissant qui nous a
donné la force, la volonté et le courage pour accomplir ce
modeste travail.
Nous tenons à remercier notre encadreur, Melle.
Ghebghoub Ouafia, pour nous avoir donné l'opportunité de
travailler sur ce projet, pour son grand soutien scientifique et moral, pour
les conseils, les suggestions et les encouragements qu'elle nous a
apportés durant notre projet.
Nos remerciements aux membres de jury qui ont
accepté de juger notre travail. Enfin nous exprimons notre
profonde reconnaissance à toutes les personnes qui ont
contribué de près ou de loin pour le bon déroulement de
ce travail.

Dédicaces
A l'esprit de mon père,
A ma très chère mère,
A mes soeurs et frères,
A tous mes amies,
Je dédie ce travail.
Saloua

A celui qui fait de moi que je suis, Mon père
A La chandelle de ma vie, ma chère mère
A mes chères soeurs et frères, A tous mes
amies,
Je dédie ce
travail.

Résumé
Le web sémantique constitue une nouvelle vision du Web,
dont les ressources sont décrites par des métadonnées, en
utilisant le vocabulaire conceptuel fournis par des ontologies, ce qui permet
aux agents logiciel d'aider plus efficacement différents types
d'utilisateurs dans leurs accès aux ressources sur le Web.
Le e-learning est considéré parmi les domaines
auxquels le Web sémantique peut apporter une véritable
amélioration que ce soit dans la recherche d'information, ou dans la
réutilisation des ressources pédagogiques ou même dans la
personnalisation des parcours d'apprentissage.
Le travail réalisé dans le cadre de ce projet
vise premièrement à concevoir une ontologie afin de fournir un
vocabulaire conceptuel partageable entre la communauté des enseignants
et des étudiants, un vocabulaire qui sera utilisé pour annoter
des documents pédagogiques ; deuxièmement à
développer une application de recherche de documents par leurs
métadonnées tout en se basant sur les technologies offertes par
le Web sémantique.
Mots clés
Ontologie, Web sémantique, OWL, RDF, RDFS,
métadonnés, enseignement à distance, document
pédagogique.
Abstract
The semantic Web constitutes a new vision of the Web, where
resources are described by meta-data, using the conceptual vocabulary provided
by ontologies, that permit software agents to help more effectively various
types of users in their accesses to resources on the Web.
E-learning is considered among the fields to which the
semantic Web can make a real progress that it is in the search for information,
or in the reuse of learning resources or even in the personalization of the
training tracking.
The work realised in this project aims firstly to design an
ontology in order to provide a shareable conceptual vocabulary between the
community of teachers and students, a vocabulary which will be used to annotate
learning documents; secondly to develop an application of document retrieval by
their meta-data all while basing on the technologies offered by the semantic
Web.
Key words
Ontology, semantic Web, OWL, RDF, RDFS, meta-data, e-learning,
learning document.


Introduction générale 1.

I. Introduction 3
II. Insuffisance du Web actuel 3
III. Web sémantique, quoi de nouveau ? 3
IV. Langage du Web sémantique 4
IV. 1. le World Wide Web Consortium (W3C) 4
IV.2. Architecture du Web sémantique 4
IV.3. Langage XML 5
IV.3.1. Document XML 6
IV.3.2. Document XML valide 6
IV.3.3. Espace des noms 8
IV.3.4. Feuilles de style 8
IV.3.5. Parseur XML 8
IV.3.6. Avantage de XML 9
IV.3.7. Limitations du XML 9
IV.4. Langage RDF et RDFS 10
IV.4.1. RDF (1999) 10
IV.4. 1.1. Définition d'URI (Uniform Ressource
Identifier) 10
IV.4.1.2. Syntaxe RDF 10
IV.4.2. RDFS (2000) 11
IV.5. Le langage OWL 12
IV. 5.1. Les ontologies 12
IV.5.2. Présentation du OWL 13
IV.5.3. Document OWL 13
IV.5.4. Structure d'une ontologie en OWL 14
IV.5.4.1. Espace de nommage 14
IV.5.4.2. En-tête d'une ontologie 15
IV.5.4.3. Eléments du langage 15
V. Travaux du Web sémantique et domaines d'application
22
V.1. Recherche d'information 22
V.2. l'adaptation /personnalisation 22
V.3. Intégration des sources de données
hétérogènes 23
VI. Conclusion 23

I. Introduction 24
II. Les ontologies 24
II.1. Historique sur l'ontologie 24
II.2. Notion d'ontologie 25
II.2.1. Différence entre ontologie et base de
connaissance 26
II.2.2. Différence entre ontologie et hiérarchie de
classes 27
II.3. Composantes d'une ontologie 27
II.4. Classification des ontologies 28
II.4.1. Typologie selon l'objet de conceptualisation 28
II.4.2. Typologie selon le niveau de détail de l'ontologie
29
II.4.3. Typologie selon le niveau de complétude 29
II.4.4. Typologie selon le niveau de formalisme 30
II.5. Principes de construction des ontologies 30
II.5.1. Principes 30
II.6. Processus de construction 31
II.7. Méthodologies de construction 32
II.7.1. Méthode de Uschold et King «1995 »
32
II.7.2. Méthode de Uschold et King «1996 »
33
II.7.3. Méthode de Bernaras et al «1996 » 33
II.7.4. Méthode SENSUS de Swartout et al «1997
» 33
II.7.5. Méthode de Assenac-Grilles et al «2000
» 33
II.7.6. Méthode de Bachimont «2000 » 33
II.7.7. Méthode OntoSpec de Kassel «2002 »
34
II.8. Environnements et outils de modélisation 34
II.8.1. ONTOLINGUA 34
II.8.2. ONTOSAURUS 34
II.8.3. ODE 35
II.8.4. PROTÉGÉ 35
III. Les ontologies pour le e-learning 35
III.1. Définitions 35
III.1.1. Objet pédagogique 35
III.1.2. Profil utilisateur 36
III.1.3. Plate forme de formation 36
III.2. Besoin des systèmes e-learning 36
III.2.1. Besoin en archivage et recherche 36
III.2.2. Besoin de partage 38
III.2.3. Besoin en réutilisation des objets
pédagogiques 38
III.2.4. Besoin en personnalisation et adaptation 39
III.3. Exemples de l'utilisation des ontologies 39
III.3.1. IMAT (Integrating Manuals And Training) 40
III.3.2. QBLS (Question Based Learning System) 40
III.3.3. VIUM (Projet de repérage et de visualisation du
modèle de l'apprenant) 40
IV. Conclusion 41

I. Introduction 42
II. Conception de l'ontologie de l'application 42
II.1. Choix d'une méthodologie de construction 42
II.2. Respect des principes de construction 43
II.3. Présentation de l'ontologie conceptuelle 44
II.3.1. Liste des concepts 44
II.3.2. Liste des attributs 48
II.3.3. Liste des relations 50
II.3.4. Représentation hiérarchique des concepts
53
II.3.5. Diagramme UML 54
II.4. Schéma résumant la phase de l'ontologisation
55
II.5. Diagramme des cas d'utilisation 55
III. Conclusion 57

I. Introduction 58
II. Cahier des charges 58
III. les outils et le langage utilisés 58
III.1. Java Server Pages 58
III.2. Tomcat 60
III.3. Protégé 61
III.4. Jena 61
IV. Implémentation 62
IV. 1. Edition de l'ontologie et génération du
code OWL 62
IV. 1.1. Choix d'un langage de spécification 62
IV. 1.2. Normalisation des noms de l'ontologie 63
IV.1.3. Les étapes de l'édition 63
IV. 1.4. Schéma résumant la phase de
l'opérationnalisation 72
IV.2. Exploitation de code OWL dans un programme JAVA 72
IV.2.1. Suivi de session 74
IV.2.2. Architecture de l'application développée
75
V. La démarche suivie pour l'annotation des documents
75
VI. Exécution de l'application 75
VI. 1. Images d'exécution de l'application 77
VI. 1.1 Annotation d'un module 77
VI. 1.2. Annotation d'un enseignant 78
VI.1.3. Annotation d'un document 79
VI. 1.4. Recherche de documents 82
VI.2. Intégration de l'application sur la plate forme
« Plone » 87
VII. Avantage de l'application 89
VIII. Conclusion 90

Conclusion générale 91

Fig I.1 : Exemple de représentation sous forme de graphe
11
Fig II.1 : Processus de construction d'une ontologie 32
FigIII. 1 : Représentation hiérarchique de
l'ontologie 53
Fig.III.2 : Diagramme de classes UML 54
Fig.III.3 : phase d'ontologisation 55
Fig.III.4: Diagramme des cas d'utilisation 56
Fig.IV. 1: Exemple d'un programme JSP 59
Fig.IV.2 : Exécution d'un JSP 60
Fig.IV.3 : La page d'accueil de site http://jena.sourceforge.net/
61
Fig.IV.4 : La documentation associé avec Jena 2-3 62
Fig.IV.5 : Lancement de Protégé 63
Fig.IV.6 : Choix de type de projet 64
Fig.IV.7 : Choix d'un espace des noms 64
Fig.IV.8 : Choix d'un langage 65
Fig.IV.9 : Page d'édition 65
Fig.IV. 10 : Création des classes 66
Fig.IV.11 : Les champs à remplir 66
Fig.IV.12 : Ajout d'une propriété 67
Fig.IV.13 : Spécification des contraintes de
cardinalité 67
Fig.IV.14: Ajout d'une relation 68
fig.IV. 15 : Ajout de la relation inverse 68
Fig.IV.16 : Enregistrement de projet 69
Fig.IV.17 : un fragment de code OWL généré
70
Fig.IV. 18 : Génération de la documentation 71
Fig.IV.19 : Documentation de l'ontologie 71
Fig.IV.20 : Phase de l'opérationnalisation 72
Fig.IV.21 : Installation de JDK 1.4.2 73
Fig.IV.22: Ajout de la librairie Jena 73
Fig.IV.23 : Ajout de JDK 1.4.2 74
Fig.IV.24 : Architecture de l'application 75
Fig.IV.25 : Installation de serveur Tomcat 76
Fig.IV.26 : Emplacement de l'application 76
Fig.IV.27 : Annotation d'un module 78
Fig.IV.28: Annotation d'un enseignant 78
Fig.IV.29 : Affectation d'un module à un enseignant 79
Fig.IV.30 : Saisie de login de l'enseignant 79
Fig. IV.3 1: choix d'un module 80
Fig.IV.32 : Choix de type de document à annoter 80
Fig.IV.33 : préparation à la
génération de formulaire d'acquisition des
métadonnées 81
Fig.IV.34 : Annotation d'un support de cours 81
Fig.IV.35 : écran de recherche de document 82
Fig.IV.36: Recherche d'un support de cours 82
|
Fig.IV.37: Recherche d'un support de cours (suite)
|
83
|
|
Fig.IV.38: Recherche d'un support de cours (suite)
|
.83
|
|
Fig.IV.39 : Recherche d'un support de cours (suite)
|
84
|
|
Fig.IV.40 : Recherche d'un support de cours (suite)
|
84
|
|
Fig. IV.41: Recherche d'un support de cours (suite)
|
85
|
|
Fig.IV.42 : Lancement de la recherche de l'URI
|
85
|
|
Fig.IV.43 : Résultat de la recherche
|
86
|
|
Fig.IV.44 : Espace administrateur
|
87
|
|
Fig.IV.45 : Espace enseignant
|
88
|
|
Fig.IV.46: Espace étudiant
|
89
|

Introduction générale
A sa création par Tim Berners Lee, au début des
années 90, l'objectif du Web était de permettre à tout
internaute d'accéder et de partager un grand volume d'information sur le
net. Le langage HTML a constitué une très bonne solution pour la
mise en forme aisée et rapide de document en ligne, et très
rapidement le Web a atteint ses objectifs.
Jusqu'ici on dispose d'un grand volume d'information, mais
sans aucune maîtrise de contenu, le résultat est que l'utilisateur
du Web gaspille une grande partie du son temps à examiner un grand
nombre de page Web en cherchant ce qui lui convient, car le Web ne fournit pas
un service dans ce sens.
C'est à partir de ce constat que les travaux du World
Wide Web Consortium ont été orientés vers
l'amélioration du Web afin de fournir de l'information pertinente aux
utilisateurs, et de les décharger d'une grande partie de leurs
tâches.
Le Web sémantique est donc la solution, cette nouvelle
vision du Web consiste à rendre les ressources Web non seulement
compréhensibles par les humains mais également par des machines,
pour réaliser cette objectif le W3C commence à se doter de
nouveaux langages et outils plus performants : XML, RDF, OWL ... etc.
Partant de séparation de contenu et de
présentation grâce à XML, à la description des
ressources Web par RDF, à la possibilité de faire des
raisonnements par OWL, le Web sémantique commence à être
une réalité et tout un axe de développement est ouvert.
Rendre le Web sémantique, est aussi munir les agents
logiciel d'une certaine intelligence et donc d'une connaissance pour qu'ils
puissent travailler en coopération avec l'homme.
Le Web sémantique a fait recourt à
l'ingénierie des connaissances, pour disposer d'un outil de
représentation des connaissances adéquat et il paraît que
les ontologies étaient les plus adaptés pour un tel contexte. Une
ontologie est un système conceptuel qui permet le partage de
connaissances entre humains et ordinateurs et entre ordinateurs.
1

Les propriétés clés de l'architecture du
Web Sémantique (sens partagé commun, métadonnées
traitables par les machines), apparaissent suffisamment puissantes pour
résoudre le problème de recherche d'information pertinente, celui
d'adaptation et de personnalisation des contenus, ainsi que le problème
d'intégration des sources de données
hétérogènes.
De ce fait le Web Sémantique est
considéré comme une plateforme adéquate pour
implémenter un système e-learning, du moment qu'il fournit tous
les moyens pour le développement d'ontologies permettant l'annotation du
matériel d'apprentissage.
Cadre du projet
Notre projet se situe à l'intersection du Web
sémantique avec le domaine d'enseignement à distance. Il ne
s'agit pas cependant de développer tout un environnement de formation
à distance, ou de couvrir toutes les utilisations d'ontologies dans ce
domaine.
Le but de notre projet est de concevoir une ontologie pour
annoter et rechercher des documents pédagogiques sur une plate forme
d'enseignement à distance.
Travail à réaliser
Notre projet vise le développement d'une application
qui permet l'annotation et la recherche de documents pédagogiques en
exploitant les métadonnées qui les décrivent, pour
réaliser notre objectif on va se servir des nouvelles technologies du
Web sémantique.
Notre travail va se dérouler en trois grandes
étapes :
1- Concevoir une ontologie d'application qui décrit les
documents pédagogiques utilisés pour l'enseignement
universitaire.
2- Se baser sur le vocabulaire fournis par l'ontologie pour
annoter un ensemble de document de notre choix.
3- Effectuer la recherche des documents, on se basant sur leurs
métadonnées. 2
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
1
Web sémantique
«The Semantic Web is an extension of the current web in
which information is given well-defined meaning, better enabling computers and
people to work in cooperation»
Tim Berners-Lee, James Hendler, Ora Lassila The Semantic
Web, Scientific American, May 2001
Introduction
Le Web Sémantique constitue un environnement dans
lequel les humains et les machines vont communiquer selon une base
sémantique .Une des caractéristiques principales est la
compréhension partagée basée sur un squelette
d'ontologie.
Le Web sémantique, en fait, est une architecture
composée, il se base sur plusieurs technologies, spécifications
et normes (ontologies, XML, RDF, RDFS, OWL).
Dans ce chapitre on va présenter ce qui est le Web
sémantique, ainsi que ses langages et ses applications.
I. Insuffisance du Web actuel
Sur Internet on peut accéder à un grand volume
d'information, ce qu'on considère depuis quelques années,
insuffisant car on s'est rendu compte qu'il n'y a pas un réel partage de
connaissance.
Une recherche d'information sur le Web repose sur
l'utilisation de mots ou de phrases incluses dans des documents, ce qui conduit
à des résultats non pertinents car on ne dispose d'aucune
information de nature sémantique à propos du contenu.
II. Web sémantique, quoi de nouveau ?
Pour rendre le Web sémantique, il faut que toutes les
ressources Web soient décrites par des
|
3
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
métadonnées, ce qui permet aux machines une
meilleure exploitation de ces ressources.
On peut définir les métadonnées comme
"des données relatives à des données" traitables par une
machine [1], pour le cas des documents pédagogiques, le contenu des
documents sont les données, et les informations relatives aux auteurs,
à leurs champs d'intérêt, à leurs objectifs
pédagogiques sont des métadonnées.
Par ressource on désigne tout ce qu'on peut trouver sur
le Web: par exemple des documents, ou même une composante d'une autre
ressource plus grande; par exemple un paragraphe spécifique d'un
document
IV. Langage du Web sémantique
IV.1. le World Wide Web Consortium (W3C)
Fondé en 1994, pour développer les protocoles
nécessaires à l'évolution du Web, c'est un consortium
international qui regroupe de nombreux professionnels de l'industrie, du
service, de la recherche et de l'enseignement partageant les mêmes
objectifs d'évolution et de stabilisation à long terme des
technologies du Web.
IV.2. Architecture du Web sémantique
L'architecture du Web Sémantique proposée par W3C
s'appuie sur une pyramide de langages :
Au niveau le plus bas se trouvent les données brutes
codées par le standard Unicode, ces données possèdent une
adresse URI (Uniforme Ressource Identifier) qui permet d'attribuer un
identifiant unique à chaque ressource.
Ces données peuvent être structurées
grâce à un langage de balises tels que XML (eXtensible Markup
language). La syntaxe XML peut être considérée comme
un premier niveau de sémantique, elle permet aux utilisateurs de
structurer les données en fonction de leur contenu sans rien dire de la
signification des structures.
Pour attribuer une signification à cette structure et
relier d'une façon pertinente les différents
éléments, Tim Berners-Lee propose le standard RDF (Resource
Description Framework) comme standard de représentation, standard
développée par le W3C.
|
4
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
Ce langage a pour but de donner une organisation plus
structurée des informations présentes sur le Web à travers
une description sémantique des données fournies par XML [2].
La signification sémantique des données XML
représentées par RDF est largement insuffisante pour assurer une
bonne distinction des différents concepts, il faut qu'on puisse
définir les concepts les uns par rapport aux autre, ce qui est possible
avec RDFS et OWL.
IV.3. Langage XML
Actuellement, Internet est un simple moyen d'accès
à du texte et à des images. Il n'existe pas de normes pour la
recherche intelligente, l'échange de données, la
présentation adaptable. Internet doit être plus qu'un espace
d'accès à des informations et une norme d'affichage. Il doit
définir une norme de gestion de l'information, une manière
commune de représenter les données afin que les logiciels
puissent plus facilement rechercher, déplacer, afficher et manipuler des
informations. Le HTML en est incapable car il s'agit d'un format qui
décrit l'affichage d'une page Web; il ne représente pas les
données [3].
C'est à partir de ce constat que le W3C a mis en place
la norme XML; XML fait Recommandation du W3C depuis le 10 février 1998,
ce langage est un métalangage facilitant l'élaboration de
langages à balises spécialisés.
Au départ, voilà une petite comparaison entre HTML
et XML:
· HTML définit le format de mise en page
(affichage ou impression) d'un document, alors que XML en définit la
structure, le contenu, indépendamment de la mise en page. Les documents
XML ont un DTD (Document Type Definition), les documents HTML n'en ont
pas.
· La grammaire de HTML est fixe, définie par le
standard, avec ses mots réservés et ses structures entre balises
(tags). XML, au contraire, permet de définir n'importe quelle structure
dans la mesure où elle est arborescente, avec notamment les balises que
l'on veut. On peut ainsi définir des structures standard au niveau d'une
profession, des DTD standards ont été définis pour
l'automobile, la chimie, les banques, les mathématiques, etc.
· Les documents HTML ont une structure séquentielle
avec un en-tête (header) et un corps (body). Les documents XML, eux, sont
des hiérarchies [4].
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
IV.3.1. Document XML
Une source de données est un document XML si elle est
« bien formée », c'est à dire si elle correspond
parfaitement à la spécification de XML.
Un document XML est représenté sous la forme d'un
fichier texte structuré en éléments, à l'aide de
balises éventuellement imbriquées.
En en-tête du document doit figurer un « prologue
», une déclaration qui identifie le document comme un document XML.
Ce prologue indique la version de XML employée, le codage de
caractères, et si le document est associé à une DTD ou
s'il est autonome.
Il existe un élément particulier :
l'élément « racine », encore appelé «
élément document ».
Cette racine doit contenir tous les autres
éléments du document et ne peut apparaître qu'une fois dans
un document XML.
A travers un exemple on va essayer de donner un aperçu
général sur la structure d'un document XML, cependant on ne peut
couvrir tout le détail du XML.
<?xml version=' 1.0'
encoding="ISO-8859- 1"?>
<catalogue>
<stage id="XMLpres">
<intitule>XML et les bases de
données</intitule>
<prerequis> connaître les langages
SQL et HTML</prerequis> </stage>
</catalogue>
|
|
IV.3.2. Document XML valide
En XML, des DTD (Document Type Definitions) peuvent accompagner
un document.
Elles définissent essentiellement les règles qui
lui sont propres, telles que les éléments présents et la
relation structurelle existant entre eux.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
Un document bien formé est dit valide lorsqu'il respecte
une structure type définie dans une DTD.
Une DTD est un composant optionnel du prologue XML, elle peut
être interne ou externe.
Elle est interne lorsque sa définition se trouve dans le
document XML lui même, et si elle se trouve dans un autre fichier elle
est donc externe.
Si on associe une DTD externe à l'exemple
précédent on doit ajouter dans le prologue la balise suivante:
<!DOCTYPE catalogue SYSTEM
"DTDexterne.dtd">
Voici le fichier DTDexterne.dtd:
<!ELEMENT catalogue (stage)*>
<!ELEMENT stage (intitule,prerequis)> <!ELEMENT
intitule(#PCDATA)>
<!ELEMENT prerequis (#PCDATA | xref)*>
<!ELEMENT xref EMPTY>
<ATTLIST stage id ID #REQUIRED>
|
|
· Un catalogue est constitué de 0 jusqu'à N
stages (utilisation de *).
· Le symbole #PCDATA indique que
l'élément intitule peut contenir toute les
données XML.
· Un stage est constitué de deux
éléments qui sont 'intitule' et
'prerequis'
· La balise <ATTLIST stage id ID
#REQUIRED>
Sert à déterminer les attributs de
l'élément stage, ici il y a un seul qui est
"id", on a
spécifié qu'il est de type ID,
cela veut dire que la valeur qu'il peut prendre est un symbole
commençant par une lettre, et contient des lettres ,des chiffres, des
caractères « - » , « _ », «
. »,et « : ».
· Le symbole #REQUIRED indique que la
valeur de l'attribut id doit être spécifié par l'auteur de
document.
· Le symbole EMPTY désigne un
élément vide. NB: Le symbole "| " se lit
"et/ou", et le symbole "," veut dire "et".
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
Cependant, la DTD peut figurer dans le document XML lui
même en incluant dans le prologue l'ensemble des déclarations de
la DTD comme suit:
<?xml version='1
.0'?>
<!DOCTYPE catalogue[
<!ELEMENT catalogue (stage)*>
<!ELEMENT stage (intitule,prerequis)> <!ELEMENT
intitule(#PCDATA)>
<!ELEMENT prerequis (#PCDATA | xref)*>
<!ELEMENT xref EMPTY>
<ATTLIST stage id ID #REQUIRED> ]>
</catalogue>
<catalogue>
<stage id="XMLpres">
<intitule>XML et les bases de
données</intitule>
<prerequis> connaître les langages
SQL et HTML</prerequis> </stage>
|
|
IV.3.3. Espace des noms
Un document peut utiliser plusieurs DTD à la fois ce qui
peut conduire à des ambiguïtés, c'est le cas où deux
éléments appartenants à deux DTD différentes,
portent le même nom.
La solution est de préfixer le nom de
l'élément par l'espace des noms auquel il appartient.
IV.3.4. Feuilles de style
Un document XML peut être transformé en
utilisant des feuilles de style XSLT (eXtensible Stylesheet Language
Transformation) en un nouveau document : fichier XML, évidemment, mais
également tout autre format texte (pages html, fichier PDF, etc.).
IV.3.5. Parseur XML
Un parseur XML vérifie le format et la validité de
document XML, et offre la possibilité à un programme
d'accéder au contenu de document.
Le parseur XML lit le document XML, et déclenche des
événements contenants des informations sur la ligne lue. Par
exemple, lorsqu'il rencontre des balise d'ouverture ou de fermeture.
XML offre deux interfaces de programmation (API) qui
sont SAX (Simple API for XML) et DOM (Document Object
Model).
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
On se basant sur les évènements
déclenchés par le parseur, on peut écrire un programme
dans l'API SAX qui extrait les données qui nous intéresse.
On peut gérer le document XML autrement, grâce
à l'API DOM qui s'articule autour d'une représentation
hiérarchique du document XML.
IV.3.6. Avantage de XML
Le XML présente beaucoup d'avantages, on peut citer:
· Recherche plus significative
Les données peuvent être balisées de
façon très précise en XML. Ainsi un utilisateur peut
spécifier qu'il cherche des livres de `William Chekspir' plutôt
que des livres qui parlent sur `William Chekspir'. En effectuant la même
recherche et si le contenu n'est pas décrit en XML on aura comme
réponse les deux types de livres simultanément.
· Vues multiples sur les données
En XML on décrit les données et non pas la
manière dont elles seront affichés, ainsi les mêmes
données peuvent avoir différentes représentations selon
les préférences des utilisateurs.
· Traitement et manipulation de données en
local
Les données au format XML, une fois transmises au client,
peuvent être analysées, modifiées et manipulées en
local, le traitement étant réalisé par les applications
clientes.
· Interopérabilité
Des données provenant de plusieurs sources peuvent
être intégrées et manipulées par différentes
applications.
IV.3.7. Limitations du XML
C'est vrai qu'on peut définir nos propres balises en XML,
mais ces balises restent compréhensibles par des humains et non plus par
des machines.
Par exemple une machine ignore ce qui est un auteur dans une
balise XML :<auteur>, et ne peut savoir quelle relation peut exister
entre les concepts personne et auteur.
On ne peut exprimer par XML que des hiérarchies simples
de données.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
IV.4. Langage RDF et RDFS
IV.4.1. RDF (1999)
Norme de description de ressources du Web proposée par
le W3C, comme son nom l'indique, RDF (Ressource Description Framework)
est un métalangage servant à encadrer la description de
ressources, permettant de rendre plus "structurée" l'information
nécessaire aux moteurs de recherche et, plus généralement,
nécessaire à tous outil informatique analysant de façon
automatisée des pages Web.
IV.4.1.1. Définition d'URI (Uniform Ressource
Identifier)
Dans la perspective de rendre le Web sémantique, les
choses doivent être clairement identifiées, sans quoi il n'est pas
possible de partager l'information. La notion de personne fournit un bon
exemple:il existe des dizaines de `François Martin' en France; comment
décrire l'un d'eux sur le web, sans risquer de le confondre avec
d'autres. La solution proposé par le web sémantique est
d'associer un identifiant unique à chaque chose:il s'agit de l'URI.
[5]
On peut créer n'importe quelle métadonnée
sur n'importe quelle ressource du moment où on connaît son URI. On
peut choisir les URL (Uniform Ressource Locator) comme des URI.
IV.4.1.2. Syntaxe RDF
RDF permet de formaliser des connaissances sous forme de
triplets RDF .chaque triplet est constitué d'un sujet
,d'un prédicat et d'un objet, un
ensemble de tels triplets est appelé graphe RDF.
Un objet peut être une ressource, un littéral (Une
ressource référencé par une URI), ou une simple
chaîne ou tout autre type de données primitif défini par
XML.
Sur le graphe on représente les noeuds par des ovales, les
feuilles par des rectangles et Les arrêtes sont étiquetés
par des prédicats.
Ainsi si on prend l'énoncé suivant:
"http ://
www.iutc3.uniacen.fr/serge/présentation-2003-06-19.pdf
" a pour auteur
"
http://www.iutc3.unicaen.fr/serge/",
le nom de l'auteur est "serge Stinckwich ".

Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
Dans cet énoncé le sujet est bien"
http://www.iutc3.uniacen.fr/serge/présentation-2003-06-
19.pdf",le prédicat est "a pour auteur",
l'objet est "
http://www.iutc3.unicaen.fr/serge/",
qui représente lui même un sujet dans un deuxième triplet
où le prédicat est "nom" et l'objet
est
" serge Stinckwich ".
Voici la représentation de l'énoncé sous
forme d'un graphe :
http://www.iutc3.uniacen.fr/serge/présentation-2003-06-19.pdf
ref Auteur
http://www.iutc3.unicaen.fr/serge/
Nom
Serge Stinckwich
Fig I.1 : Exemple de représentation sous forme de
graphe RDF repose sur la syntaxe XML, ainsi notre énoncé
sera écrit comme suit :
IV.4.2. RDFS (2000)
L'objectif de RDF est de proposer un cadre formel de
définition de métadonnées, sans préjuger des
vocabulaires et syntaxes utilisés pour écrire ces
métadonnées. Un schéma RDF avec des concepts de bases peut
offrir cette capacité en utilisant des classes de ressources.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
RDFS (Ressource Description Framework Schema) ajoute
à RDF la possibilité de définir des hiérarchies de
classes et de propriétés dont l'applicabilité et le
domaine de valeurs peuvent être contraints à l'aide des attributs
rdfs:domain et rdfs:range, une classe est
instanciée par l'utilisation de l'attribut rdf:type.
[2]
Voici un exemple qui défini une classe «
herbivore », et qui instancie de cette classe une
ressource "
http://www.ontoknowledge.org/Definedclass
" , et la définie comme sous classe de la classe
"animal":
Voici un autre exemple qui utilise les attributs
rdfs:domain et rdfs:range pour
désigner que la propriété
"frère de" est une fonction qui a pour domaine les
individus de la classe "homme" et pour image les individus de
la classe "humain" :
<rdf:Property
rdf:ID="frère_de" > <rdfs:domain
rdf:resource="#homme"/> <rdfs:range
rdf:resource="#humain"/> </rdf:Property>
|
|
IV.5. Le langage OWL
IV.5.1. Les ontologies
Tout un chapitre sera consacré aux ontologies, mais une
petite définition sera utile pour la compréhension du reste du
chapitre.
Une ontologie est une représentation structurée des
connaissances d'un domaine, sous forme d'un réseau de concepts
reliés entre eux par des liens sémantiques.
Les recherches sur les ontologies sont essentielles pour la
réalisation du Web sémantique. En effet une fois construite et
acceptée par une communauté particulière, une ontologie
doit traduire
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
un certain consensus explicite et un certain niveau de partage,
qui sont essentiels pour permettre l'exploitation des ressources Web par
différentes applications ou agent logiciels. [6]
Pour représenter les ontologies le W3C propose un
standard qui est le OWL (Ontology Web Language).
IV.5.2. Présentation du OWL
OWL est tout comme RDF un langage XML profitant de
l'universalité syntaxique du XML. OWL offre la possibilité
d'écrire des ontologies Web.
Il ajoute la possibilité de faire la comparaison entre
des propriétés et des classes: identité,
équivalence, contraire, symétrie, cardinalité,
transitivité, disjonction, etc.
OWL permet de définir un vocabulaire extrêmement
riche, ce qui donne aux machines une plus grande capacité de
manipulation du contenu Web.
Le W3C a doté OWL de trois sous langages offrant des
capacités d'expression croissantes et c'est selon les besoins qu'on
choisit le langage qui convient.
· OWL Lite est le sous langage de OWL le
plus simple, il est destiné à représenter des
hiérarchies de concepts simples.
· OWL DL est plus complexe que le
précédent, il est fondé sur la logique descriptive d'ou
son nom (OWL Description Logics) .Il est adapté pour faire des
raisonnements, et il garantit la complétude des raisonnement et leurs
décidabilité.
· OWL Full est la version la plus
complexe du OWL, destiné aux situations ou il est important d'avoir un
haut niveau de capacité de description, quitte à ne pas pouvoir
garantir la complétude et la décidabilité des calculs
liés à l'ontologie. [7]
IV.5.3. Document OWL
Les ontologies OWL se présentent sous forme de
fichiers texte, avec extension <<.owl>>ou
<<.rdf>>. L'intégralité du
vocabulaire de OWL provient de l'espace de nom de OWL,
http://www.w3.org/2002/07/owl#.
OWL repose sur RDF et RDFS, et ajoute notamment des nouvelles
balises.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
IV.5.4. Structure d'une ontologie en OWL
Cette partie indique les principaux éléments
constituant une ontologie OWL. IV.5.4.1. Espace de nommage
Afin de pouvoir employer des termes dans une ontologie, il
est nécessaire d'indiquer avec précision de quels vocabulaires
ces termes proviennent. C'est la raison pour laquelle, une ontologie commence
par une déclaration d'espace de nom contenue dans une balise
rdf:RDF.
Supposons que nous souhaitons écrire une ontologie sur
une population de personnes ou, d'une manière plus
générale, sur l'humanité. Voici la déclaration
d'espace de nom qui pourrait être employée :
Les deux premières déclarations identifient
l'espace de nommage propre à l'ontologie que nous sommes en train
d'écrire. La première déclaration d'espace de nom indique
à quelle ontologie se rapporter en cas d'utilisation de noms sans
préfixe dans la suite de l'ontologie. La troisième
déclaration identifie l'URI de base de l'ontologie courante.
La quatrième déclaration signifie simplement
que, au cours de la rédaction de l'ontologie humanité, on va
employer des concepts développés dans une ontologie vivant, qui
décrit ce qu'est un être vivant.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
Les quatre dernières déclarations introduisent le
vocabulaire d'OWL et les objets définis dans l'espace de nommage de RDF,
du schéma RDF et des types de données du Schéma XML.
IV.5.4.2. En-tête d'une ontologie
A la suite de la déclaration d'espaces de nom, un
en-tête décrivant le contenu de l'ontologie courante. C'est la
balise owl:Ontology qui permet d'indiquer ces informations
:
<owl:Ontology rdf:about="">
<rdfs:comment>Ontologie décrivant
l'humanité</rdfs:comment> <owl:imports
rdf:resource="
http://otherdomain.tld/otherpath/vivant"/>
<rdfs:label>Ontologie sur
l'humanité</rdfs:label>
|
|
IV.5.4.3. Eléments du langage
Cette partie ne va pas reprendre toutes les finesses de OWL
Lite, OWL DL et OWL Full, mais uniquement les plus importantes.
> Les classes
Une classe définit un groupe d'individus qui sont
réunis parce qu'ils ont des caractéristiques similaires.
L'ensemble des individus d'une classe est désigné par le terme
« extension de classe », chacun de ces individus étant alors
une « instance » de la classe. Les trois versions d'OWL comportent
les mêmes mécanismes de classe, à ceci près que OWL
FULL est la seule version à permettre qu'une classe soit l'instance
d'une autre classe (d'une méta classe). A l'inverse, OWL Lite et OWL DL
n'autorisent pas qu'une instance de classe soit elle-même une classe.
> Déclaration de classe
La déclaration d'une classe se fait par le biais du
mécanisme de « description de classe », qui
se présente sous diverses formes. Une classe peut ainsi se
déclarer de six manières différentes :
· l'indicateur de classe
La description de la classe se fait, dans ce cas, directement
par le nommage de cette classe. Une classe « humain » se
déclare de la manière suivante :
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
<owl:Class rdf:ID="Humain" />
Il est à noter que ce type de description de classe
est le seul qui permette de nommer une classe. Dans les cinq autres cas, la
description représente une classe dite « anonyme
», crée en plaçant des contraintes sur son extension.
~ l'énumération des individus composant la
classe
Ce type de description se fait en énumérant les
instances de la classe, à l'aide de la propriété
owl:oneOf :
<owl:Class>
<owl:oneOf
rdf:parseType="Collection"> <owl:Thing
rdf:about="#Damien" /> <owl:Thing rdf:
about="#Olivier" /> <owl:Thing rdf:
about="#Philippe" /> <owl:Thing
rdf:about="#Xavier" /> <owl:Thing
rdf:about="#Yves" /> </owl:oneOf>
</owl:Class>
|
|
Si ce mécanisme est utilisable avec OWL DL et OWL FULL,
il ne fait cependant pas partie de OWL Lite.
· La restriction de
propriétés
La description par restriction de propriété permet
de définir une classe anonyme composée de toutes les instances de
owl:Thing qui satisfont une ou plusieurs
propriétés.
Ces contraintes peuvent être de deux types :
contrainte de valeur ou contrainte de
cardinalité.
Une contrainte de valeur s'exerce sur la valeur d'une
certaine propriété de l'individu (par exemple, pour un individu
de la classe Humain, sexe = Homme), tandis qu'une contrainte de
cardinalité porte sur le nombre de valeurs que peut prendre une
propriété (par exemple, pour un individu de la classe Humain,
aPourFrere est une propriété qui peut ne pas avoir de valeur, ou
avoir plusieurs valeurs, suivant le nombre de frères de l'individu. La
contrainte de cardinalité
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
portant sur aPourFrere restreindra donc la classe décrite
aux individus pour lesquels la propriété aPourFrere
apparaît un certain nombre de fois).
Enfin, les descriptions par intersection, union ou
complémentaire permettent de décrire une classe par
l'intersection, l'union ou le complémentaire d'autres classes
déjà définies, ou dont la définition se fait au
sein même de la définition de la classe courante .
Dans l'exemple on définit une nouvelle classe qui est
l'intersection de la classe collection avec la restriction de
la classe etudiantsENST sur les étudiants ayant deux
frères:
<owl:Class>
<owl:intersectionOf
rdf:parseType="Collection">
<owl:Class rdf:
about="#etudiantsENST" />
<owl:Restriction>
<owl:onProperty
rdf:resource="#aPourFrere" />
<owl:cardinality
rdf:datatype="&xsd;nonNegativeInteger"> 2
</owl:cardinality>
</owl:Restriction >
</owl:intersectionOf>
</owl:Class>
|
|
> Héritage
Il existe dans toute ontologie OWL une superclasse,
nommée Thing, dont toutes les autres classes sont des
sous-classes. Ceci nous amène directement au concept d'héritage,
disponible à l'aide de la propriété
subClassOf :
<owl:Class
rdf:ID="Humain">
<rdfs:subClassOf
rdf:resource="&etre;#EtreVivant" />
</owl:Class>
<owl:Class
rdf:ID="Homme">
<rdfs:subClassOf
rdf:resource="#Humain" />
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
</owl:Class>
<owl:Class
rdf:ID="Femme">
<rdfs:subClassOf
rdf:resource="#Humain" />
</owl:Class>
Enfin, il existe également une classe nommée
noThing, qui est sous-classe de toutes les classes OWL. Cette
classe ne peut avoir aucune instance.
> Les instances de classe
La définition d'un individu consiste à
énoncer un « fait », encore appelé
« axiome d'individu ». On peut distinguer deux types
de faits :
~ les faits concernant l'appartenance à une classe
La plupart des faits concernent généralement la
déclaration de l'appartenance d'un individu à une classe et les
valeurs de propriété de cet individu. Un fait s'exprime de la
manière suivante :
<Humain
rdf:ID="Pierre">
<aPourPere rdf:resource="#Jacques"
/> <aPourFrere rdf:resource="#Paul" />
</Humain>
|
|
Le fait écrit dans cet exemple exprime l'existence d'un
Humain nommé « Pierre » dont
le père s'appelle « Jacques », et qu'il
a un frère nommé « Paul
».
On peut également instancier un individu
anonyme en omettant son identifiant :
<Humain>
<aPourPere rdf:resource="#Jacques"
/> <aPourFrere rdf:resource="#Paul" />
</Humain>
|
|
Ce fait décrit, dans ce cas, l'existence d'un
Humain dont le père se nomme «
Jacques » et qui a un frère nommé
« Paul ».
~ les faits concernant l'identité des individus
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
Une difficulté qui peut éventuellement
apparaître dans le nommage des individus concerne la non-unicité
éventuelle des noms attribués aux individus. Par exemple, un
même individu pourrait être désigné de plusieurs
façons différentes.
C'est la raison pour laquelle OWL propose un mécanisme
permettant de lever cette ambiguïté, à l'aide des
propriétés owl:sameAs,
owl:diffrentFrom et owl:allDifferent.
L'exemple suivant permet de déclarer que les noms «
Louis_XIV » et « Le_Roi_Soleil
» désignent la même personne.
<rdf:Description
rdf:about="#Louis_XIV"> <owl:sameAs
rdf:resource="#Le_Roi_Soleil" />
</rdf:Description>
|
|
> Les propriétés
Maintenant que l'on sait écrire des classes OWL, il ne
manque plus que la capacité à exprimer des faits au sujet de ces
classes et de leurs instances. C'est ce que permettent de faire les
propriétés OWL.
OWL fait la distinction entre deux types de
propriétés :
· les propriétés d'objet
permettent de relier des instances à d'autres instances
· les propriétés de type de
donnée permettent de relier des individus à des valeurs
de données.
Une propriété d'objet est une instance de la
classe owl:ObjectProperty, une propriété de type
de donnée étant une instance de la classe
owl:DatatypeProperty. Ces deux classes sont elles même
sous-classes de la classe RDF rdf:Property.
La définition des caractéristiques d'une
propriété se fait à l'aide d'un axiome de
propriété qui, dans sa forme minimale, ne fait qu'affirmer
l'existence de la propriété
<owl:ObjectProperty
rdf:ID="aPourParent" />
Cependant, il est possible de définir beaucoup d'autres
caractéristiques d'une propriété dans un axiome de
propriété.
|
19
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
> Définition d'une
propriété
Afin de spécifier une propriété, il
existe différentes manières de restreindre la relation qu'elle
symbolise. Par exemple, si on considère que l'existence d'une
propriété pour un individu donné de l'ontologie constitue
une fonction faisant correspondre à cet individu un autre individu ou
une valeur de donnée, alors on peut préciser le domaine et
l'image de la propriété. Une propriété peut
également être définie comme la spécialisation d'une
autre propriété.
|
<owl:ObjectProperty
rdf:ID="habite"> <rdfs:domain
rdf:resource="#Humain" /> <rdfs:range
rdf:resource="#Pays" />
</owl:ObjectProperty>
|
Dans l'exemple ci-dessus, la propriété
habite a pour domaine la classe
Humain et pour image la classe
Pays : elle relie des instances de la classe Humain à des
instances de la classe Pays. Dans le cas d'une propriété
de type de donnée, l'image de la propriété peut
être un type de donnée, de Schéma XML.
Par exemple, on peut définir la propriété de
type de données anneeDeNaissance :
|
<owl:Class rdf:ID="dateDeNaissance"
/>
<owl:DatatypeProperty
rdf:ID="anneeDeNaissance"> <rdfs:domain
rdf:resource="#dateDeNaissance" /> <rdfs:range
rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
|
Dans ce cas, anneDeNaissance fait
correspondre aux instances de la classe de dateDeNaissance des
entiers positifs .On peut également employer un mécanisme de
hiérarchie entre les propriétés, exactement comme il
existe un mécanisme d'héritage sur les classes :
|
<owl:Class rdf:ID="Humain"
/>
<owl:ObjectProperty
rdf:ID="estDeLaFamilleDe"> <rdfs:domain
rdf:resource="#Humain" />
<rdfs:range rdf:resource="#Humain"
/>
|
|
20
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
</owl:ObjectProperty> <owl:ObjectProperty
rdf:ID="aPourFrere">
<rdfs:subPropertyOf
rdf:resource="#estDeLaFamilleDe" />
<rdfs:range rdf:resource="#Humain"
/>
...
</owl:ObjectProperty>
</owl:Class>
|
La propriété aPourFrere est une
sous propriété de estDeLaFamilleDe, ce qui
signifie que toute entité ayant une propriété
aPourFrere d'une certaine valeur a aussi une
propriété estDeLaFamilleDe de même
valeur.
> Caractéristiques des
propriétés
En plus de ce mécanisme d'héritage et de
restriction du domaine et de l'image d'une propriété, il existe
divers moyens d'attacher des caractéristiques aux
propriétés, ce qui permet d'affiner grandement la qualité
des raisonnements liés à cette propriété.
Parmi les caractéristiques de propriétés
principales, on trouve la transitivité, la symétrie, l'inverse,
etc. L'ajout d'une caractéristique à une propriété
de l'ontologie se fait par l'emploi de la balise type :
|
<owl:ObjectProperty
rdf:ID="aPourPere"> <rdfs:domain
rdf:resource="#Humain" /> <rdfs:range
rdf:resource="#Humain" />
</owl:ObjectProperty>
<owl:ObjectProperty
rdf:ID="aPourFrere">
<rdf:type rdf:resource="&owl; SymmetricProperty"
/>
<rdfs:domain rdf:resource="#Humain"
/> <rdfs:range rdf:resource="#Humain" />
</owl:ObjectProperty>
<Humain
rdf:ID="Pierre">
<aPourFrere rdf:resource="#Paul"
/>
|
|
21
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
<aPourPere rdf:resource="#Jacques"
/> </Humain>
|
L'Humain Pierre a pour frère Paul, de même que
(symétrie) l'Humain Paul a pour frère Pierre. Par contre, si
Pierre a pour père Jacques, l'inverse n'est pas vrai (aPourPere n'est
pas symétrique).
V. Travaux du Web sémantique et domaines
d'application
V.1. Recherche d'information
Le Web sémantique cherche à atteindre une certaine
maîtrise des contenus, afin de fournir des réponses pertinentes
aux utilisateurs.
A titre d'exemple, un enseignant qui cherche un document de
type « course» aura certainement une réponse pertinente du
moment qu'il peut exprimer qu'il cherche un document de type « course
» , est que tout les document ont une métadonnée « type
de document» qui provient de l'ontologie qui décrit les documents
pédagogique ; ce n'est pas le cas si la requête a
été lancé sur un moteur de recherche classique, qui va
retourné des documents contenant le mot « course » et ceux qui
contiennent le mot « of course».
La recherche d'information fait partie de la plus part des
applications Web, on peut citer : le e-learning, le e-commerce, ... etc.
V.2. l'adaptation /personnalisation
Au travers d'Internet, un nombre potentiellement infini de
services et de documents est accessible à tous les usagers. La plupart
des services et documents fournis actuellement sur Internet proposent une
organisation, un contenu, un mode d'interaction et une présentation
uniques pour tous. Ceci peut être suffisant dans certains cas. Mais tous
les utilisateurs ne sont pas intéressés par les mêmes
informations et n'ont pas les mêmes attentes, connaissances,
compétences, centres d'intérêts, etc. [6]
C'est le cas dans un système e-learning, on cherche
à adapter le contenu d'apprentissage aux préférences des
apprenants, et de donner la possibilité aux enseignants de
réutiliser un contenu, de le combiner avec un autre pour construire un
nouveau document.
|
22
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
Tout cela peut être possible si le contenu et la
structure des documents utilisés pour la formation, sont décrits
par le biais des ontologies et si on arrive à avoir des standards de
modèles utilisateur/utilisation sous formes d'ontologies.
V.3. Intégration des sources de données
hétérogènes
Le but d'intégration des sources de données
hétérogènes, est d'offrir aux utilisateurs une vision
homogène du système qui les utilise .Le e-commerce
présente un très bon exemple des domaines qui peuvent
bénéficier d'une telle amélioration.
Avant, l'utilisateur était obligé d'interroger
lui même ces source de données, chacune avec son langage de
requête ; des travaux ont été faits dans le cadre de Web
pour construire des systèmes homogènes en se basant sur une des
deux approches:l'approche médiateur et l'approche entrepôts de
données.
Le Web sémantique réutilise l'approche
médiateur, tout en ajoutant une ontologie qui va fournir un vocabulaire
commun, qui sera utilisé pour interroger le système.
Un médiateur va interroger les sources de
données, et répondre à la requête lancée par
l'utilisateur, en utilisant également les termes de l'ontologie.
VI. Conclusion
Dans ce chapitre nous avons présenté la nouvelle
vision du Web sémantique, qui vient pour améliorer l'exploitation
des ressources sur le Web, on ajoutant des métadonnées traitables
par machine.
Nous avons présenté comment la norme XML a
construit un premier niveau sémantique, qui est à la base des
langages RDF, RDFS et OWL qui permettent l'écriture des
métadonnées décrivant les ressources Web.
On a aussi parler de quelques travaux du Web
sémantique, et de comment l'usage des ontologies en particulier, permet
d'améliorer la recherche d'information, l'adaptation, personnalisation
des contenus et encore l'intégration du sources de données
hétérogènes, chose qui va satisfaire les utilisateurs de
la plupart des applications Web dans différents domaines et y compris
le
e-learning.
|
23
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
2
Ontologies & e-learning
Ontologies are formal and consensual specifications of
conceptualizations that provide a shared understanding of a domain, an
understanding that can be communicated across people and application
systems. (Fensel D., Ontologies: A Silver Bullet for knowledge Management
and Electronic Commerce ,Springer , Berlin-Heidelberg-New York,
2004)
I. Introduction
La démarche du Web sémantique consiste à
ajouter des métadonnées aux ressources Web qui décrivent
leurs contenus et leurs fonctionnalités, ces métadonnées
doivent s'appuyer sur des ontologies afin de pouvoir être partagés
et munies d'interprétations opérationnelles. Les ontologies
constituent l'une des bases les plus importantes de l'approche Web
sémantique pour le e-learning.
Ce chapitre contient une présentation de la notion
d'ontologie, une description des méthodologies et des outils
d'ingénierie ontologique suivie par une exploration de l'apport des
ontologies aux systèmes e-learning.
II. Les ontologies II.1. Historique sur
l'ontologie
L'ingénierie de connaissances (IC) a longtemps
été considérée comme le domaine de
prédilection du développement d'expertise en conception de
système à base de connaissances. Malgré le fait que
l'ingénierie des connaissances ait contribué à
accroître cette expertise en l'organisant dans une perspective
computationnelle, certains membres de la communauté de l'intelligence
ont éprouvé le besoin de passer à une ingénierie
s'appuyant plus solidement sur des fondements théoriques et
méthodologiques, afin d'améliorer la conception des
systèmes intelligents ;historiquement, l'ingénierie ontologique
(IO) a émergé de l'ingénierie des connaissances
l'ingénierie ontologique permet de spécifier la conceptualisation
d'un système,
|
24
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
c'est à dire, de lui fournir une représentation
formelle des connaissances qu'il doit acquérir, sous la forme de
connaissances déclaratives exploitables par un agent. Ainsi,
l'exploitation par un mécanisme d'inférence, d'une
représentation de type déclarative telle que l'ontologie, tout en
suivant les règles d'inférence définie dans cette
ontologie, est la source de l'intelligence de système.
L'ingénierie de connaissances a ainsi donné
naissance à l'ingénierie ontologique, où l'ontologie est
l'objet clé sur lequel il faut se pencher. La nécessité
d'une ontologie et d'une ingénierie ontologique des systèmes
à base de connaissances commence à être comprise et
accepté. [8]
II.2. Notion d'ontologie
Le mot « Ontologie » vient du grec : ontos
pour être et logos pour univers. C'est un terme
philosophique introduit au XIXème siècle qui
caractérise l'étude des êtres dans notre univers.
En informatique, plusieurs définitions ont
été données à l'ontologie :
En 1993, Gruber propose sa définition : « An
ontology is an explicit specification of a conceptualization »
En 1997, Borst modifia légèrement la
définition de Gruber en énonçant que: « Une
ontologie est définie comme étant une spécification
formelle d'une conceptualisation partagé »
Ces deux définitions ont été
expliquées par Studer et ses collègues comme suit :
Conceptualisation réfère à un modèle
abstrait d'un phénomène dans le monde, en ayant identifiés
les concepts appropriés à ce phénomène.
Explicite signifie que le type de concepts
utilisés et les contraintes liés à leur usage sont
définis explicitement.
Formel réfère au fait qu'une ontologie
doit être traduite en langage interprétable par une machine.
Partagé réfère au fait qu'une
ontologie capture la connaissance consensuelle,c'est-à-dire non
réservée à quelques individus,mais partagée par un
groupe ou une communauté.[8]
Le domaine de l'ontologie attire l'attention parce qu'une
ontologie fournit :
1) une structure conceptuelle de base à partir de
laquelle il est possible de développer des systèmes à base
de connaissances qui soient partageables, et réutilisables.
2) l'interopérabilité entre les sources
d'information et de connaissances.
|
25
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
Considérons les différences entre deux types
d'ontologies : une ontologie orientée Web sémantique, et une
ontologie orientée concept. Une ontologie orienté concept traite
les concepts fondamentaux du monde cible qui demandent à être
examinés en profondeur tandis qu'une ontologie orienté Web
sémantique est un vocabulaire lisible par ordinateur qui définit
la signification des métadonnées ; elle est utilisée
principalement pour réaliser l'interopérabilité
sémantique entre les ressources informationnelles grâce aux
métadonnées. Ce type d'ontologies peut être
qualifiée d'ontologie de surface, puisqu'elle ne traite pas
nécessairement de la structure conceptuelle profonde du monde cible.
[9]
Pour mieux saisir la notion d'ontologie on présente ici
ce qui est la différence entre une ontologie et une base de connaissance
et entre une ontologie et une hiérarchie de classes dans le paradigme
orienté objet.
II.2.1. Différence entre ontologie et base de
connaissance
Farquhar en 1997 lors d'un forum de discussion sur l'ontologie
propose que plus la réponse aux questions suivantes soit positive, plus
c'est ontologique que base de connaissance:
« Est ce que cela exprime la connaissance
consensuelle d'une communauté de gens ? Est-ce que les gens l'utilisent
comme une référence de termes définis avec
précision ? Est-ce que le langage utilisé est suffisamment
expressif pour que les gens puissent dire ce qu'ils veulent dire ? Est-ce que
cela peut être utilisé pour de multiples cas de résolution
de problèmes ? Est-ce que c'est stable ? Est-ce que cela peut être
utilisé pour résoudre une variété de
différents types de problèmes ? Est-ce que cela peut être
utilisé comme pont de départ pour construire de multiples types
d'applications incluant une base de connaissances, un schéma de base de
données ou un programme orienté objet ? ».
Cela veut dire qu'une différenciation claire entre
« ontologie » et « base de connaissances» devrait se faire
à partir de son rôle, une ontologie fournit un système de
concepts qui sont utilisées pour construire une base de connaissances
par-dessus ; par conséquent, une ontologie peut être une
spécification de la conceptualisation du monde cible que se fait
l'ingénieur qui construit la base de connaissances, donc un méta
système d'une base de connaissances traditionnelle.
|
26
|
|
|
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
II.2.2. Différence entre ontologie et
hiérarchie de classes
Au niveau supérieur, la méthodologie de
développement d'une ontologie et celle d'une hiérarchie
orientée objet sont similaires. Cependant au niveau inférieur,
l'ontologie se concentre sur les aspects déclaratifs tandis que la
hiérarchie orientée objet se concentre sur les aspects
reliés à la performance. Par conséquent, la
différence essentielle entre les deux est que l'ontologie exploite la
représentation déclarative, tandis que le paradigme
orienté objet est intrinsèquement procédural, la
signification d'une classe, d'une relation entre des classes, ainsi que les
méthodes sont intégrées de façon
procédurale.
Dans le paradigme ontologique les descriptions sont faites de
façon déclarative, ce qui permet au système de modifier
son comportement en modifiant la connaissance qu'il possède. [9]
II.3. Composantes d'une ontologie
Les connaissances décrivant un domaine on utilisant la
notion d'ontologie sont représentés par les cinq
éléments suivants : Les concepts, les relations, les axiomes, les
fonctions et les instances.
· Concept
Les concepts peuvent être une pensée, un
principe, une notion profonde. Ils sont appelées aussi termes ou classes
de l'ontologie, selon Gomez Pérez ces concepts peuvent être
classifiés selon plusieurs dimensions :
1) niveau d'abstraction (concret ou abstrait).
2) Atomicité (élémentaire ou
composée).
3) Niveau de réalité (réel ou fictif).
· Relation
Les relations d'une ontologie désigne les
différentes interactions et corrélations entre les concepts de
l'ontologie ces relations englobent les associations suivantes :
Sous classe de (spécification ou
généralisation), partis de (agrégation ou composition),
associé a, instance de, est un ... etc.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
· Axiome
Les axiomes sont utilisés pour décrire les
assertions de l'ontologie qui seront considérés après
comme vrais, cette détermination a pour but de définir les
significations des composants d'ontologie, les contraintes sur les valeurs des
attributs, et les arguments de relations.
· Fonction Elles constituent des cas
particuliers de relation, dans laquelle un élément de la
relation, le nième
est défini en fonction des n-1 éléments
précédents.
· Instance
C'est une définition extensionnelle de l'ontologie, par
exemple les individus « Amina » et « Saloua » sont des
instances du concept «personne». [2]
II.4. Classification des ontologies
Les ontologies peuvent être classifiées selon
plusieurs dimensions. Parmi celles-ci, nous en examinerons quatre :
II.4.1. Typologie selon l'objet de
conceptualisation
Par rapport à l'objet de la conceptualisation de
l'ontologie, quatre catégories au moins peuvent être
identifiées :
· Ontologie d'application
Contrairement a l'ontologie de domaine, l'ontologie d'une
application donnée ne peut pas être réutilisée pour
d'autre application, elle sert a décrire des conceptualisations de
domaine spécifique à l'application en question.
· Ontologie de domaine
Ces ontologies peuvent être réutilisées
pour plusieurs applications qui touchent un domaine, elle concerne la
description et la définition des connaissances d'un domaine à la
qu'elle l'application désirée appartienne.
· Ontologie générique (ontologie de
haut niveau)
Cette ontologie a l'objectif d'exprimer les connaissances
acceptables par différents domaines, elle permet de catégoriser
les choses du monde, par exemple, les relations, les actions, l'espace, le
temps, etc.
Web sémantique
|
Ontologies & e-learning
|
Conception
|
Implémentation
|
|
· Ontologie de représentation des
connaissances (méta ontologie) Elle décrit les concepts
utilisés par les langages de représentation des ontologies.
II.4.2. Typologie selon le niveau de détail de
l'ontologie
par rapport au niveau de détail utilisé lors de
la conceptualisation de l'ontologie en fonction de l'objectif
opérationnel envisagé pour l'ontologie, deux catégories au
moins peuvent être identifiées :
· Granularité fine
On parle sur ce niveau lorsque les ontologies sont
très détaillées, ou possèdent un vocabulaire plus
riche capable d'assurer une description détaillée des concepts
pertinents d'un domaine ou d'une tâche. Ce niveau de granularité
peut s'avérer utile lorsqu'il s'agit d'établir un consensus entre
les agents qui l'utiliseront.
· Granularité large
Correspondant à un vocabulaire moins
détaillé comme par exemple dans les scénarios
d'utilisation spécifiques où les utilisateurs sont
déjà préalablement d'accord à propos d'une
conceptualisation sous -jacente. Les ontologies de haut niveau possèdent
une granularité large, compte tenu que les concepts qu'elles traduisent
sont normalement raffinés subséquemment dans d'autres ontologies
de domaine ou d'application.
II.4.3. Typologie selon le niveau de
complétude
Par rapport au niveau de complétude, trois
catégories au moins peuvent être identifiées :
· Niveau sémantique
Tous les concepts (caractérisés par un
terme/libellé) doivent respecter les quatre principes
différentiels :
> communauté avec l'ancêtre.
> différence (spécification) par rapport
à l'ancêtre.
> communauté avec les concepts frères
(situés au même niveau).
> différence par rapport au concepts frères
(sinon il n'aurait pas lieu de l |