Rechercher sur le site:
             
 
Web Memoire Online

Consulter les autres mémoires    Publier un mémoire    Une page au hasard

Conception d'une ontologie pour une plate forme d'enseignement à distance


par Saloua & Amina Chettibi & Rouibah
université de jijel - ingénieur informatique
Traductions: Original: fr Source:

Disponible en mode multipage

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].

5

 
 

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.

6

 
 

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".

7

 
 

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).

8

 
 

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.

9

 
 

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 ".

10

 
 

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 :

<?xml version=" 1.0"?>

<rdf:Description about=" http://www.iutc3 .unicaen.fr/serge/presentation-2003-06- 19.pdf">

<refAuteur ressource=" http://www.iutc3 .unicaen.fr/serge/"/>

</rdf:Description>

<rdf:Description about=" http://www.iutc3 .unicaen.fr/serge/">

<nom>Serge Stinckwich</nom>

</rdf:Description> </rdf:RDF>

 

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.

11

 
 

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":

<rdfs:Class rdf:ID="herbivore">

<rdf:type rdf:resource=" http://www.ontoknowledge.org/#DefinedClass"/> <rdfs:subClassOf rdf:resource="#animal"/>

</rdfs:Class>

 

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

12

 
 

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.

13

 
 

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 :

<rdf:RDF

xmlns = " http://domain.tld/path/humanite#"

xmlns:humanite= " http://domain.tld/path/humanite#" xmlns:base = " http://domain.tld/path/humanite#" xmlns:vivant = " http://otherdomain.tld/otherpath/vivant#" xmlns:owl = " http://www.w3.org/2002/07/owl#"

xmlns:rdf = " http://www.w3.org/1 999/02/22-rdf-syntax-ns#" xmlns:rdfs = " http://www.w3.org/2000/0 1/rdf-schema#" xmlns:xsd = " http://www.w3.org/2001/XMLSchema#">

 

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.

14

 
 

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 :

15

 
 

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é

16

 
 

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" />

 

17

 
 

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

18

 
 

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.

27

 
 

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.

28

 
 

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