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 :

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 :

Qu’est-ce qu’une ontologie informatique ?

Une ontologie informatique décrit formellement un domaine.

Elle peut représenter :

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 :

L’ontologie oblige à clarifier leur signification.

Réduire les ambiguïtés

Le terme « session » peut désigner :

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.

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 :

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 :

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 :

Ces questions permettent :

Comment construire une ontologie ?

1. Définir l’objectif

L’ontologie doit répondre à un besoin concret.

Exemples :

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 :

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 :

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 :

12. Organiser la maintenance

Il faut prévoir :

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 :

Elle convient notamment à :

Ontologie formelle

Elle contient davantage de contraintes logiques.

Elle peut permettre :

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 :

Il permet de construire des ontologies plus formelles.

SPARQL

SPARQL est un langage permettant d’interroger des graphes RDF.

Une requête peut chercher :

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 :

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 :

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

Ils peuvent toutefois :

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

  1. Une ontologie informatique représente les concepts, propriétés, relations et contraintes d’un domaine.
  2. Une classe représente une catégorie générale.
  3. Une instance représente un objet concret appartenant à une classe.
  4. Les relations relient des objets ou des concepts.
  5. Les contraintes définissent ce qui est obligatoire ou incohérent.
  6. Les axiomes décrivent les principes généraux du modèle.
  7. Une ontologie peut permettre des inférences.
  8. Les questions de compétence servent à définir et tester l’ontologie.
  9. Une ontologie peut être légère ou fortement formalisée.
  10. L’ontologie fournit souvent le modèle d’un graphe de connaissances.
  11. RDF, OWL et SPARQL sont des technologies fréquentes du Web sémantique.
  12. 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

Revenir au sommaire

Voir le parcours complet de Knowledge Engineering