Guide pour construire une ontologie
Voici un petit guide pour ceux qui veulent mettre en place une ontologie. Ce n’est bien sûr pas la seule façon de procéder, mais c’est celle que je trouve la plus pertinente.
Cette approche provient, entre autres, des travaux de Bruno Bachimont, Raphaël Troncy et Nathalie Aussenac-Gilles.
1. D’abord bien définir l’objectif de l’ontologie et comment son utilisation permettra d’atteindre ces objectifs.
2. Une ontologie est une représentation formelle des éléments, et de leurs relations, constitutifs d’un domaine de connaissance. L’ontologie n’est pas la représentation et la modélisation de l’expertise, ou des processus cognitifs de quelques personnes, c’est la modélisation d’un domaine qui correspond à un champ de pratique.
3. Il faut tout d’abord identifier les éléments de l’ontologie : pour cela travaillez avec des personnes ayant différents profils, mais qui tous ont une pratique dans le domaine de connaissance choisi.
4. S’il existe un corpus documentaire sur le sujet, aidez-vous de différents outils de traitement automatique des langues (par exemple SYNTEX pour repérer les éléments candidats, UPERY pour le regroupement de contexte et YAKWA pour le repérage de relations). Voir à ce sujet l’approche Terminae, qui émane du groupe “Terminologie et Intelligence Artificielle”.
5. Maintenant il va falloir fixer tout çà ensemble, et c’est la que c’est le plus dur. Pour ma part je suggère la méthodologie présentée par Bruno Bachimont, mise en place lors du projet MENELAS, qui vise à contraindre l’utilisateur à un engagement sémantique, en introduisant une normalisation sémantique des termes manipulés dans l’ontologie.
6. Il faut ensuite veiller à donner une signification précise aux termes de l’ontologie. Pour cela, il faut utiliser la sémantique différentielle de François Rastier pour laquelle le sens est intra-linguistique : il se construit par des relations d’opposition entre les unités du système linguistique. Les traits sémantiques qui déterminent le sens des termes sont appelés sèmes. Il y a deux sèmes :
-> les sèmes génériques qui permettent de regourper les unités entre elles.
-> les sèmes spécifiques qui permettent à une unité de se distinguer de celles avec qui on l’a regroupée.
7. Mais comme le sens est toujours fortement dépend du contexte, le mécanisme qui interprète l’attribution des sèmes aux termes doit être contrôlé. Le contrôle de cette interprétation est la normalisation sémantique.
8. La normalisation sémantique se met en place grâce à quatre principes :
->le principe de communauté avec le père
-> le principe de différence avec le père
-> le principe de différence avec la fratrie
-> le principe de communauté avec la fratrie
Les termes ainsi obtenus après être passés par la normalisation sémantique deviennent des primitives d’une taxinomie.
9. L’étape suivante va être la formalisation des connaissances. En liant les notions avec un ensemble de référents dans le monde on va donner une sémantique extensionelle qui va devenir une ontologie référentielle, composée de concepts qui vont agir comme des primitives formelles.
10. A présent il faut opérationnaliser les connaissances. Il s’agit pour cela de munir les concepts présents dans l’ontologie référentielle d’une signification en termes d’opération informatique. Cela donne l’ontologie computationnelle recherchée.
Pour vous outiller dans cette démarche utilisez DOE (Differential Ontology Editor). Puis reprenez le résultat de vos travaux avec Protégé pour finir le travail avec cet editeur de l’université de Stanford.
Pour exploiter votre ontologie il vous faudra :
-> une solution pour stocker l’ontologie (par exemple SESAME)
->une solution pour interroger et inter-agir avec l’ontologie ; c’est le moteur d’inférence.
Il y a deux catégories de moteurs d’inférence, ceux qui sont des langages et API programmables d’un côté (TRIPLE, KAON1, JENA2). Et de l’autre des raisonneurs généralement développés autour des logiques de description (FACT, RACER)
3,674 Views
Autres notes en rapport avec cette note (association statistique) :

(4 votes, average: 4.75 out of 5)
November 20th, 2005 at 7:29 pm
[…] hinTracker(); Christian Fauré Hypomnemata « Guide pour construire une ontologie Pourq […]
December 19th, 2006 at 9:07 am
[…] Lu sur le blog de Christian Fauré, un guide pour construire une ontologie. […]
March 3rd, 2007 at 10:35 am
SVP,guidez moi a construire une ontologie des concepts de base des techeniques de modelisation des processus d’entreprise
March 6th, 2007 at 2:18 pm
Bonjour Bitri Khemales,
C’est un peu léger comme message… Par ailleurs, comment voulez-vous que nous échangions si vous ne laissez aucune coordonées ?
Envoyez-moi donc un mail.
Amitiés,
CF
April 2nd, 2007 at 3:44 pm
salut
je suis étudiante et je fais un projet dont le sujet consiste à dévelloper une ontologie du droit tunisien ,j’utilise protégé-owl mais je veux l’interaction avec la framework java JENA et je n’ai pas pu coment faire je veux d’aide svp
April 2nd, 2007 at 4:50 pm
Jena est intégré dans Protégé.
April 2nd, 2007 at 5:04 pm
merci pour votre réponse mais moi je veux exploiter le code owl généré par protégé-owl pour élaborer une interface homme machine car mon sujet consiste à faire l’annotation des textes jurididues mais je n’ai pas pu utiliser avec protégé-owl,merci d’avance pour votre aide
April 17th, 2007 at 5:50 pm
bonjour,
je suis intérresée par les ontologies, je veux savoir est ce qu’il existe une typologie pour classifier les ontologies , et selon quel critére?
merci d’avance….
April 22nd, 2007 at 12:57 pm
mon protégé ne veut meme pas demarré ,
comment faire pour qu il puisse marcher
May 11th, 2007 at 10:50 pm
[…] C’est d’abord parce qu’il est destiné à être utilisé par les machines, non par les hommes. Il est destiné à être utilisé par des machines car il repose sur les logiques descriptives dont le formalisme permet de faire du calcul. Attardons-nous quelques instants sur ces logiques descriptives qui sont au coeur même des démarches “sémantiques”. Une logique basée sur le calcul des prédicats est trop pauvre car elle ignore la notion de contextualité, c’est la raison pour laquelle, en matière d’ingénierie des connaissances, les logiques descriptives ont pris le dessus. Elles ont la prétention - c’est ce que dénote l’adjectif “descriptives”- de s’appuyer sur une représentation contextualisée des éléments qui la composent. Et pour ce faire, les logiques descriptives se proposent de regrouper les connaissances dans leur contexte d’application. Pour répondre à cette contextualisation de la connaissance, a été mis en place les Frames (Cadres). Je n’insisterai pas plus là dessus car la programmation orientée objet est issue de cette représentation des connaissances par des Frames (entités, classes, attributs, méthodes,…) Une représentation des connaissances ( ou Base de connaissances, ou ontologie) est la somme des T-Box et des A-Box : […]
September 7th, 2007 at 12:41 pm
bonjour,
je veux modeliser des concepts avec le OWL et je ne sais pas comment faire.
November 6th, 2007 at 7:17 pm
hicham sadi9i > je sais c’est un peu tard, et tu as déjà surement trouvé la réponse, mais pour ceux qui seraient dans le meme cas : il te faut java1.5 ou mieux. Protégé ne se lancera pas sinon. De plus, il ne faut pas fermer la fenetre de commande tant que tu comptes utiliser le logiciel.
jannet > la partie wiki du site officiel de Protégé est assez bien conçue pour répondre à tes questions (encore faut il avoir des notions d’anglais)
http://protege.cim3.net/cgi-bin/wiki.pl?ModelingTipsAndTricks
http://protege.cim3.net/cgi-bin/wiki.pl?ProgrammingTipsAndTricks
http://protege.cim3.net/cgi-bin/wiki.pl?UsageTipsAndTricks
November 12th, 2007 at 3:32 pm
salut
March 5th, 2008 at 10:40 am
Bonjour, je tombe sur ce post un peu sur le tard, mais il m’évoque quand même un point que je trouve remarquablement absent de la méthodologie que tu décris, à savoir la prise en compte des _objectifs_ de l’ontologie qu’on est en train de construire. Ne nous y trompons pas, dans un contexte informatique l’ontologie est avant tout un _artefact_ du système d’informations/connaissances, et dans ce sens elle doit répondre à des objectifs; voir l’ontologie (au sens informatique) comme une simple “formalisation conceptuelle du monde réel”, détachée de toute contrainte de mise en oeuvre, est le meilleur moyen de ne pas arriver à s’en servir.
Des exemples de questions à se poser sont : quelles types de requêtes vont être faites sur les instances de l’ontologie ? quelles informations veut-on en inférer ? y a-t-il des contraintes liées à l’outil qui utilisera cette ontologie ? veut-on l’utiliser pour annoter des documents, pour la “populer”, pour aggréger plusieurs modèles de données disparates, etc. ?
March 5th, 2008 at 7:53 pm
Salut Thomas,
Ton premier paragraphe est étrange car le premier point de la méthodologie est précisément :
“1. D’abord bien définir l’objectif de l’ontologie et comment son utilisation permettra d’atteindre ces objectifs.”
Cela dit je perçois tout à fait le fond de ta remarque et je suis d’accord avec toi.
Ce billet de 2005 est vraiment très daté pour moi, je peux même dire que je n’adhère plus du tout à cette démarche
April 10th, 2008 at 4:21 pm
guide sur l’utilisation de protégé_owl
April 22nd, 2008 at 1:49 pm
comment réprésenter les relations sémantiques entre les concepts(synonimie,homonymie,…) sous protégé?
April 22nd, 2008 at 3:27 pm
@wiem : ben tu vas dans l’onglet “properties” pour définir la sémantique des données.
May 8th, 2008 at 5:13 pm
bonjour .
actuellement, je réalise une application en utilisant java sur eclipse , je cherche comment je peut utiliser mon ontologie pour classifier des mots spécifiques a l’aide de l’api jena.
merci d’avance .
May 18th, 2008 at 10:56 am
comment connecter et manipuler une ontologie fait en protege (owl) avec java et comment manipuler jes donnees de ceete ontologie en java en utilisant l’api jena