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)

4 Votes | Average: 4.75 out of 54 Votes | Average: 4.75 out of 54 Votes | Average: 4.75 out of 54 Votes | Average: 4.75 out of 54 Votes | Average: 4.75 out of 5 (4 votes, average: 4.75 out of 5)
Loading ... Loading ...

3,674 Views

Autres notes en rapport avec cette note (association statistique) :

  • Ontologie et équation logique
  • L'ontologie informatique se laisse bien souvent, dans ses aspirations, aveugler par les origines philosophiques et grecques du terme. Comprenez une ontologie, notamment dans le cadre du web séma...
  • Veille, Moteurs de Recherche & Web 2.0
  • Mon collègue Jean-Paul Taravella et moi-même avons commis quelques articles dans le magazine Archimag au sujet de la veille, des moteurs de recherche et du web 2.0, dans le cadre d'un Guide d'Achat....
  • Stocker une ontologie
  • J'ai déjà parlé de la confusion entre les logiques fermées et les logiques ouvertes sur lesquelles reposent les ontologies. Il faut y ajouter celle fréquemment faite entre XML (arbre) et OWL (gra...

    20 Responses to “Guide pour construire une ontologie”

    1. Christian Fauré » Blog Archive » Pourquoi le Web Sémantique a-t-il autant de succès ? Says:

      […] hinTracker(); Christian Fauré Hypomnemata « Guide pour construire une ontologie Pourq […]

    2. Arkandis - Entreprise et Intelligence Collective » Construire une ontologie Says:

      […] Lu sur le blog de Christian Fauré, un guide pour construire une ontologie. […]

    3. Bitri Khemaies Says:

      SVP,guidez moi a construire une ontologie des concepts de base des techeniques de modelisation des processus d’entreprise

    4. Christian Says:

      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

    5. imen Says:

      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

    6. Christian Says:

      Jena est intégré dans Protégé.

    7. imen Says:

      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

    8. sajida Says:

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

    9. hicham sadi9i Says:

      mon protégé ne veut meme pas demarré ,
      comment faire pour qu il puisse marcher

    10. Christian Fauré » Blog Archive » Pourquoi le Web Sémantique a-t-il autant de succès ? Says:

      […] 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 : […]

    11. jannet Says:

      bonjour,
      je veux modeliser des concepts avec le OWL et je ne sais pas comment faire.

    12. wanbraz Says:

      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

    13. nadjet Says:

      salut

    14. Thomas FRANCART Says:

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

    15. Christian Says:

      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

    16. emna Says:

      guide sur l’utilisation de protégé_owl

    17. wiem Says:

      comment réprésenter les relations sémantiques entre les concepts(synonimie,homonymie,…) sous protégé?

    18. Christian Says:

      @wiem : ben tu vas dans l’onglet “properties” pour définir la sémantique des données.

    19. sidali Says:

      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 .

    20. azoul Says:

      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

    Leave a Reply


    FireStats iconFireStats