Ontologie informatique : comment modéliser les connaissances d’un domaine ?
Une ontologie informatique est un modèle explicite des concepts d’un domaine, de leurs propriétés, de leurs relations et des contraintes qui organisent leur utilisation.
Elle permet de répondre à des questions comme :
- quels sont les objets importants du domaine ?
- comment sont-ils définis ?
- quelles relations peuvent-ils entretenir ?
- quelles règles doivent être respectées ?
- quelles conclusions peuvent être déduites ?
- comment plusieurs systèmes peuvent-ils partager le même vocabulaire ?
Une ontologie ne se limite pas à une liste de termes. Elle cherche à représenter le sens des concepts d’une manière suffisamment précise pour être comprise et exploitée par un système informatique.
Une ontologie fournit une structure commune pour décrire ce qui existe dans un domaine et la manière dont ces éléments sont reliés.
Elle constitue l’une des principales formes de représentation des connaissances.
Ce que vous allez comprendre
À la fin de cet article, vous saurez :
- définir une ontologie informatique ;
- distinguer classe, instance, propriété et relation ;
- comprendre le rôle des contraintes et des axiomes ;
- comprendre le principe d’inférence ;
- distinguer ontologie, taxonomie, base de données et graphe de connaissances ;
- connaître les principales étapes de construction d’une ontologie ;
- comprendre le rôle de RDF, OWL et SPARQL ;
- identifier les usages des ontologies avec les LLM et les systèmes RAG.
Qu’est-ce qu’une ontologie informatique ?
Une ontologie informatique décrit formellement un domaine.
Elle peut représenter :
- les catégories d’objets ;
- les objets concrets ;
- leurs caractéristiques ;
- leurs relations ;
- les règles qui les concernent ;
- les contraintes qui garantissent leur cohérence.
Prenons un domaine simple : la formation professionnelle.
Une ontologie peut définir les concepts suivants :
Participant
Formation
Compétence
Formateur
Session
Prérequis
Certification
Elle peut ensuite définir des relations :
Un participant possède une compétence.
Une formation développe une compétence.
Une formation exige un prérequis.
Un formateur anime une session.
Une certification valide une compétence.
Elle peut également représenter des contraintes :
Une session doit correspondre à une formation.
Une formation avancée doit posséder au moins un prérequis.
Une session doit avoir une date de début.
Le système dispose ainsi d’un modèle explicite du domaine.
Pourquoi construire une ontologie ?
Une ontologie peut répondre à plusieurs besoins.
Créer un vocabulaire commun
Dans une organisation, plusieurs équipes peuvent utiliser des mots différents pour désigner la même chose.
Exemple :
client
compte
utilisateur
acheteur
bénéficiaire
Ces termes peuvent désigner :
- le même concept ;
- des concepts proches ;
- des rôles différents.
L’ontologie oblige à clarifier leur signification.
Réduire les ambiguïtés
Le terme « session » peut désigner :
- une session de formation ;
- une session informatique ;
- une session parlementaire ;
- une période de connexion.
Une ontologie précise le contexte et les relations propres à chaque concept.
Relier plusieurs sources
Une base de données peut utiliser le terme customer.
Un autre système utilise client.
Un document parle d’acheteur.
L’ontologie peut indiquer que ces termes correspondent au même concept ou à des concepts liés.
Vérifier la cohérence
Une ontologie peut exprimer des contraintes.
Exemple :
Une date de fin ne peut pas être antérieure à une date de début.
Une personne ne peut pas être simultanément une organisation.
Une formation doit développer au moins une compétence.
Produire des inférences
Une ontologie peut permettre de déduire une connaissance non écrite directement.
Exemple :
Toute formation avancée est une formation professionnelle.
Formation SEO Expert est une formation avancée.
Le système peut conclure :
Formation SEO Expert est une formation professionnelle.
Cette conclusion résulte d’un mécanisme de raisonnement symbolique.
Les composants d’une ontologie
Les classes
Une classe représente une catégorie générale.
Exemples :
Personne
Entreprise
Formation
Produit
Compétence
Incident
Une classe regroupe les objets qui possèdent certaines caractéristiques communes.
Les sous-classes
Une sous-classe représente une catégorie plus précise.
Personne
├── Client
├── Employé
└── Formateur
Formation
├── Formation débutante
├── Formation intermédiaire
└── Formation avancée
La relation entre une classe et une sous-classe peut être exprimée ainsi :
Formateur est un type de Personne.
Formation avancée est un type de Formation.
Cette hiérarchie constitue la partie taxonomique de l’ontologie.
La distinction est développée dans Taxonomie et ontologie.
Les instances
Une instance représente un élément concret appartenant à une classe.
Exemple :
Marie Dupont
└── est une instance de → Formateur
Formation SEO avancé
└── est une instance de → Formation avancée
Entreprise Alpha
└── est une instance de → Entreprise
La distinction entre classe et instance est fondamentale.
Formationreprésente une catégorie.Formation SEO avancéreprésente un objet précis.
Les propriétés de données
Une propriété de données associe une valeur à un objet.
Exemple :
Formation SEO avancé
├── possède pour durée → 21 heures
├── possède pour prix → 1 200 euros
├── possède pour niveau → Avancé
└── possède pour référence → SEO-ADV-01
Les valeurs peuvent être :
- du texte ;
- un nombre ;
- une date ;
- une valeur vraie ou fausse ;
- une durée ;
- un identifiant.
Les relations entre objets
Une relation relie deux objets ou concepts.
Exemples :
Marie anime Formation SEO avancé.
Formation SEO avancé développe Compétence SEO.
Entreprise Alpha emploie Marie.
Compétence SEO est requise par Certification X.
Dans une ontologie formelle, ces relations peuvent être appelées propriétés d’objet.
Le domaine et la portée d’une relation
Une relation possède généralement un type de sujet et un type d’objet.
Exemple :
anime
peut être définie ainsi :
Domaine : Formateur
Portée : Session
Cela signifie que :
Un formateur anime une session.
Autre exemple :
développe
peut avoir :
Domaine : Formation
Portée : Compétence
Le système peut alors détecter certaines utilisations incohérentes.
Les relations inverses
Certaines relations possèdent une relation inverse.
Formateur → anime → Session
Relation inverse :
Session → est animée par → Formateur
Autre exemple :
Entreprise → emploie → Personne
Inverse :
Personne → travaille pour → Entreprise
Définir les relations inverses facilite les requêtes et la navigation.
Les relations symétriques
Une relation symétrique fonctionne dans les deux sens.
Exemple :
Produit A est compatible avec Produit B.
On peut parfois déduire :
Produit B est compatible avec Produit A.
Cette symétrie doit être définie uniquement lorsqu’elle est réellement valide.
La relation :
est le parent de
n’est pas symétrique.
Les relations transitives
Une relation transitive permet de relier indirectement plusieurs objets.
Exemple :
Toulouse est située en Haute-Garonne.
La Haute-Garonne est située en Occitanie.
Le système peut conclure :
Toulouse est située en Occitanie.
Toutes les relations ne sont pas transitives.
Exemple :
Marie connaît Paul.
Paul connaît Sophie.
Cela ne signifie pas nécessairement que Marie connaît Sophie.
Les contraintes de cardinalité
Une cardinalité indique combien de relations ou de valeurs sont autorisées.
Exemples :
Une session doit correspondre à exactement une formation.
Une formation doit développer au moins une compétence.
Une personne peut posséder plusieurs compétences.
Une certification doit être délivrée par au moins un organisme.
Les cardinalités peuvent exprimer :
- aucune obligation ;
- au moins une valeur ;
- au maximum une valeur ;
- exactement une valeur ;
- plusieurs valeurs.
Les classes disjointes
Deux classes peuvent être déclarées incompatibles.
Exemple :
Personne
et :
Organisation
peuvent être déclarées disjointes.
Un même objet ne doit alors pas appartenir aux deux classes.
Cette contrainte aide à détecter des erreurs de modélisation.
Les axiomes
Un axiome est une affirmation considérée comme vraie dans l’ontologie.
Exemples :
Tout formateur est une personne.
Toute formation avancée possède un prérequis.
Toute session met en œuvre exactement une formation.
Aucune organisation n’est une personne physique.
Les axiomes définissent la logique générale du modèle.
Les règles
Une ontologie peut être complétée par des règles.
Exemple :
SI un participant possède le niveau intermédiaire
ET si une formation exige le niveau intermédiaire
ALORS le participant est éligible à cette formation.
Autre exemple :
SI une session est complète
ALORS aucune nouvelle inscription automatique ne doit être acceptée.
Les règles ne sont pas toujours stockées directement dans l’ontologie. Elles peuvent être gérées par un moteur séparé.
Exemple complet : une ontologie de formation
Classes
Personne
├── Participant
└── Formateur
Ressource pédagogique
├── Formation
└── Certification
Événement
└── Session
Capacité
└── Compétence
Relations
Participant → possède → Compétence
Formation → développe → Compétence
Formation → exige → Prérequis
Formateur → anime → Session
Session → met en œuvre → Formation
Certification → valide → Compétence
Propriétés
Formation
├── titre
├── durée
├── niveau
├── prix
└── modalité
Session
├── date de début
├── date de fin
├── capacité maximale
└── nombre de places disponibles
Contraintes
Une session doit mettre en œuvre exactement une formation.
Une session doit être animée par au moins un formateur.
Une formation doit développer au moins une compétence.
Une date de fin doit être postérieure à la date de début.
Instances
Marie Dupont
└── instance de → Formateur
Formation SEO avancé
└── instance de → Formation avancée
Session SEO septembre
└── instance de → Session
Compétence SEO technique
└── instance de → Compétence
Faits
Marie anime Session SEO septembre.
Session SEO septembre met en œuvre Formation SEO avancé.
Formation SEO avancé développe Compétence SEO technique.
Le système peut utiliser ces faits pour répondre à des questions.
Questions de compétence
Avant de construire une ontologie, il est utile de définir des questions de compétence.
Ce sont les questions auxquelles le système devra pouvoir répondre.
Exemples :
- quelles formations développent la compétence SEO ?
- quelles sessions sont animées par Marie ?
- quels participants possèdent le niveau requis ?
- quelles certifications valident une compétence donnée ?
- quelles formations ne possèdent aucun prérequis ?
- quelles sessions ont encore des places disponibles ?
Ces questions permettent :
- de définir le périmètre ;
- d’identifier les concepts nécessaires ;
- de choisir les relations ;
- de tester le modèle ;
- d’éviter la surmodélisation.
Comment construire une ontologie ?
1. Définir l’objectif
L’ontologie doit répondre à un besoin concret.
Exemples :
- recommander des formations ;
- représenter un catalogue ;
- vérifier la conformité de dossiers ;
- organiser des compétences ;
- alimenter un assistant métier ;
- construire un graphe de connaissances.
2. Définir le périmètre
Il faut éviter de modéliser tout le domaine.
Une ontologie consacrée aux formations n’a pas nécessairement besoin de représenter :
- toute la comptabilité ;
- tout le droit du travail ;
- toutes les ressources humaines ;
- tous les processus commerciaux.
Le périmètre doit rester lié aux questions à traiter.
3. Recueillir le vocabulaire
Cette étape mobilise les méthodes d’acquisition des connaissances.
Il faut analyser :
- les documents ;
- les termes utilisés par les experts ;
- les bases de données ;
- les procédures ;
- les systèmes existants.
4. Identifier les concepts
Lister les principaux objets du domaine.
Exemple :
Participant
Formation
Compétence
Prérequis
Session
Certification
5. Construire la hiérarchie
Définir les classes et les sous-classes.
Formation
├── Formation débutante
├── Formation intermédiaire
└── Formation avancée
6. Définir les relations
Exemple :
développe
possède
exige
anime
valide
s’inscrit à
Chaque relation doit être définie précisément.
7. Ajouter les propriétés
Exemple :
durée
prix
niveau
date
référence
statut
8. Ajouter les contraintes
Exemple :
Une session doit correspondre à une formation.
9. Ajouter des instances de test
Les instances permettent de vérifier que le modèle fonctionne sur des cas concrets.
10. Tester les questions de compétence
L’ontologie doit répondre aux questions définies au départ.
11. Valider avec les experts
Les spécialistes doivent vérifier :
- les définitions ;
- les relations ;
- les contraintes ;
- les exemples ;
- les conclusions possibles.
12. Organiser la maintenance
Il faut prévoir :
- les responsables ;
- les procédures de modification ;
- les versions ;
- les dates ;
- les validations ;
- la gestion des termes obsolètes.
Ontologie légère et ontologie formelle
Toutes les ontologies ne possèdent pas le même niveau de formalisation.
Ontologie légère
Elle peut contenir :
- une hiérarchie de concepts ;
- quelques relations ;
- des définitions ;
- des synonymes ;
- des propriétés simples.
Elle convient notamment à :
- un moteur de recherche ;
- une documentation ;
- un assistant documentaire ;
- un catalogue enrichi.
Ontologie formelle
Elle contient davantage de contraintes logiques.
Elle peut permettre :
- la détection d’incohérences ;
- les inférences ;
- la validation automatique ;
- le raisonnement sur les classes ;
- l’intégration entre systèmes complexes.
Elle demande davantage de précision et de maintenance.
RDF, OWL et SPARQL
Plusieurs standards sont fréquemment utilisés dans les ontologies et le Web sémantique.
RDF
RDF représente les connaissances sous forme de triplets :
Sujet → relation → objet
Exemple :
Marie → anime → Formation SEO
Formation SEO → développe → Compétence SEO
OWL
OWL permet de décrire plus précisément :
- les classes ;
- les relations ;
- les contraintes ;
- les équivalences ;
- les incompatibilités ;
- les cardinalités.
Il permet de construire des ontologies plus formelles.
SPARQL
SPARQL est un langage permettant d’interroger des graphes RDF.
Une requête peut chercher :
- les formations développant une compétence ;
- les personnes travaillant pour une organisation ;
- les produits compatibles avec un appareil ;
- les incidents concernant un composant.
Ces technologies ne sont pas obligatoires pour comprendre les ontologies, mais elles constituent des outils importants de leur implémentation.
Ontologie et base de données
Une base de données définit une structure technique.
Exemple :
Table formations
- id
- titre
- durée
- prix
L’ontologie cherche à définir le sens.
Elle peut préciser :
Une formation développe une compétence.
Une formation avancée exige un prérequis.
Une session met en œuvre une formation.
Une base de données répond principalement à la question :
Comment stocker les données ?
Une ontologie répond davantage à la question :
Que signifient ces données et comment sont-elles reliées ?
Ontologie et graphe de connaissances
L’ontologie fournit généralement le modèle conceptuel.
Le graphe de connaissances contient les entités concrètes et leurs relations.
Ontologie
Un formateur anime une session.
Graphe
Marie → anime → Session SEO septembre
L’ontologie définit ce qui est possible.
Le graphe représente ce qui existe ou ce qui est affirmé.
Cette relation est détaillée dans Graphe de connaissances.
Ontologie et système expert
Un système expert peut utiliser :
- une ontologie pour définir les concepts ;
- une base de faits pour décrire la situation ;
- des règles pour produire des conclusions ;
- un moteur d’inférence pour appliquer les règles.
Exemple :
Formation avancée exige Niveau intermédiaire.
Marie possède Niveau débutant.
Règle :
SI le participant ne possède pas le niveau requis
ALORS recommander une formation préparatoire.
Conclusion :
Recommander Formation intermédiaire à Marie.
Ontologie et LLM
Un LLM peut utiliser une ontologie pour :
- désambiguïser les termes ;
- identifier les concepts ;
- vérifier les relations ;
- construire des requêtes ;
- filtrer les sources ;
- produire des réponses cohérentes ;
- respecter des règles métier.
Exemple :
Le mot « session » peut être relié explicitement au concept :
Session de formation
Le modèle évite alors de l’interpréter comme une session informatique.
Une ontologie peut également servir à contrôler les réponses produites par le modèle.
Cette complémentarité est étudiée dans Knowledge Engineering, RAG et LLM.
Les LLM peuvent-ils créer une ontologie ?
Les modèles de langage peuvent aider à :
- extraire des concepts ;
- proposer une hiérarchie ;
- identifier des relations ;
- rédiger des définitions ;
- générer des exemples ;
- comparer des vocabulaires ;
- détecter des synonymes.
Ils peuvent toutefois :
- inventer des concepts ;
- créer des relations injustifiées ;
- ignorer des exceptions ;
- mélanger plusieurs domaines ;
- produire des définitions instables ;
- ajouter des contraintes incorrectes.
La validation par des experts reste nécessaire.
Qualité d’une ontologie
Une ontologie de qualité doit être :
Claire
Chaque concept doit posséder une définition compréhensible.
Cohérente
Les classes et les contraintes ne doivent pas se contredire.
Adaptée au besoin
Elle doit répondre aux questions prévues.
Limitée à un périmètre raisonnable
Elle ne doit pas chercher à représenter toute la réalité.
Réutilisable
Ses concepts doivent pouvoir être utilisés par plusieurs applications lorsque cela est pertinent.
Traçable
Les définitions et règles importantes doivent être reliées à leurs sources.
Maintenable
Les modifications doivent pouvoir être intégrées sans déstabiliser tout le modèle.
Erreurs fréquentes
Commencer par l’outil
Le modèle doit être défini avant le choix de la technologie.
Confondre classe et instance
Formation
est une classe.
Formation SEO avancé
est une instance.
Utiliser des relations trop vagues
est lié à
apporte peu de sens.
Il est préférable d’utiliser :
développe
exige
anime
valide
emploie
Créer trop de classes
Chaque classe doit répondre à un besoin réel.
Oublier les contraintes
Une ontologie sans contraintes peut accepter des données incohérentes.
Ignorer les questions de compétence
Sans questions précises, il devient difficile de savoir si l’ontologie est utile.
Copier directement la structure des documents
La structure d’un manuel n’est pas nécessairement une bonne structure conceptuelle.
Confondre ontologie et graphe
L’ontologie définit le modèle. Le graphe contient les entités et relations concrètes.
Considérer l’ontologie comme définitive
Les connaissances et les besoins évoluent.
À retenir
- Une ontologie informatique représente les concepts, propriétés, relations et contraintes d’un domaine.
- Une classe représente une catégorie générale.
- Une instance représente un objet concret appartenant à une classe.
- Les relations relient des objets ou des concepts.
- Les contraintes définissent ce qui est obligatoire ou incohérent.
- Les axiomes décrivent les principes généraux du modèle.
- Une ontologie peut permettre des inférences.
- Les questions de compétence servent à définir et tester l’ontologie.
- Une ontologie peut être légère ou fortement formalisée.
- L’ontologie fournit souvent le modèle d’un graphe de connaissances.
- RDF, OWL et SPARQL sont des technologies fréquentes du Web sémantique.
- Les LLM peuvent assister la construction, mais ne remplacent pas la validation métier.
Vérifiez votre compréhension
Qu’est-ce qu’une classe ?
Une classe représente une catégorie générale d’objets partageant certaines caractéristiques.
Qu’est-ce qu’une instance ?
Une instance représente un objet particulier appartenant à une classe.
Quelle différence existe-t-il entre propriété et relation ?
Une propriété peut associer une valeur à un objet. Une relation relie généralement deux objets ou concepts.
Qu’est-ce qu’une contrainte de cardinalité ?
Elle indique combien de valeurs ou de relations sont autorisées ou obligatoires.
Qu’est-ce qu’une inférence ?
Une inférence est une conclusion produite à partir de faits, de classes, de relations ou de règles déjà présents dans le système.
À quoi servent les questions de compétence ?
Elles définissent les questions auxquelles l’ontologie devra être capable de répondre.
Quelle différence existe-t-il entre une ontologie et un graphe de connaissances ?
L’ontologie définit le modèle conceptuel. Le graphe représente les entités concrètes et leurs relations.
Questions fréquentes
Une ontologie est-elle toujours complexe ?
Non. Une ontologie légère peut contenir une hiérarchie et quelques relations simples.
Une ontologie contient-elle des données ?
Elle peut contenir des instances, mais elle peut également servir uniquement de modèle pour des données stockées ailleurs.
Peut-on construire une ontologie sans programmer ?
Oui. La phase de conception repose d’abord sur les concepts, les relations et les règles. Des outils visuels peuvent ensuite faciliter l’implémentation.
Une ontologie remplace-t-elle une base de données ?
Non. Elle peut compléter une base de données en précisant le sens de ses données.
Une ontologie est-elle obligatoire pour créer un knowledge graph ?
Non, mais elle apporte une structure et une cohérence particulièrement utiles.
Quelle taille doit avoir une ontologie ?
Sa taille dépend du cas d’usage. Une petite ontologie bien ciblée est souvent plus utile qu’un modèle très large et difficile à maintenir.
Continuer le parcours
Étape précédente
Taxonomie et ontologie : différences et usages
Étape suivante
L’étape suivante consiste à comprendre comment les entités et les relations définies par une ontologie peuvent être organisées dans un graphe.
➡️ Graphe de connaissances : définition, structure et fonctionnement