Nous allons dans cette partie expliquer de manière non technique ce qu'est une ontologie. Gardez aussi à l'esprit que c'est une introduction et que la façon dont je définis cet outil n'est pas à 100 % exact si l'on rentre dans les détails mais vous permettra de comprendre facilement le principe.
- Définition
L'ontologie est la base de ce que l'on appelle la représentation des connaissances. Ce domaine est né de la volonté des chercheurs de représenter diverses connaissances du monde actuel, de façon à ce qu'elles soient utilisables par des ordinateurs, pour qu'ils puissent effectuer des raisonnements sur ces connaissances. Ces connaissances sont exprimées sous forme de symboles auxquels on donne une « sémantique » (un sens).
Imaginons la problématique suivante : vous voulez interroger une base de données contenant diverses ressources (textes, images, vidéos...) et une requête (question ou mot(s) clé(s)), comment trouver les données se trouvant dans cette base qui correspondent à cette requête ?
Par exemple tapez dans votre moteur de recherche préféré les mots suivants : « ordinateur portable » puis « laptop ». Vous pouvez vous apercevoir que les résultats ne sont pas du tout les mêmes, alors que, vu que les deux mots représentent la même chose, on pourrait s'attendre à trouver les mêmes réponses.
Que se passe-t-il ? En fait, le moteur de recherche compare des mots sans prendre en compte leur sémantique (sens). Il exécute uniquement une recherche strictement syntaxique et donc sans réflexion car « ordinateur portable » et « laptop » représentent le même concept (la même chose), que nous appellerons maintenant des classes pour respecter la terminologie du Web sémantique. Plus précisément, on peut dire que la relation de spécialisation sur les classes n'est pas gérée. Par exemple, « notebook » est une spécialisation de la classe générale « laptop ». Ainsi, pour raisonner, il ne faut plus se baser sur les mots mais sur les classes. Mais que signifie raisonner ? Raisonner c'est utiliser sa raison pour démontrer quelque chose. C'est un terme très souvent employé en intelligence artificielle.
Illustration en comparant deux moteurs de recherche :
Avec Orange :
Avec Google :
Vous pouvez donc voir que sur le moteur d'Orange, la première occurrence est la réponse à notre question et qu'ensuite il y a les réponses résultant de la recherche syntaxique. Alors que sur Google il n'y a que la recherche syntaxique. Cette différence et tout simplement due à l'utilisation d'ontologies de la part du moteur d'Orange.
Ainsi pour résoudre ce problème on construit ce que l'on appelle des bases de connaissances qui sont constituées :
d'une ontologie : une collection de classes et de relations (que nous appellerons propriété pour les mêmes raisons que concept) entre ces classes .
de règles : une expression de contraintes sur les propriétés et les classes de l'ontologie .
de faits : des instances de l'ontologie.
- Example of construction of an ontology
Faisons maintenant un petit exemple d'ontologie sur la famille Simpson pour illustrer tout ceci. Tout d'abord les concepts : {Human, Child, Boy, Girl, Male, Man, Female, Woman, Adult} qui nous donne la représentation suivante entre ces classes :Image non disponible
Ensuite, occupons-nous des propriétés : {relatedWith(Human, Human), siblingOf(Human, Human), sisterOf(Female,Human), brotherOf(Male,Human), ancestorOf(Adult, Human), parentOf(Adult, Human), fatherOf(Man, Human), motherOf(Woman, Human), marriedTo(Adult, Adult), childOf(Human, Adult)}. Ce qui nous donne la représentation suivante entre ces propriétés :
Maintenant admettons quelques règles, logiques pour un humain sur ces classes et propriétés :
règle 1 : si une classe "Male" appartient à une propriété "brotherOf" avec une classe "Female" alors la classe "Female" appartient à la propriété "sisterOf" avec la classe "Male" .
règle 2 : réciproque de la règle 1 .
règle 3 : si une classe "Adult" appartient à une propriété "parentOf" avec une classe "Human" alors la classe "Human" appartient à la propriété "childOf" avec la classe "Adult" .
règle 4 : réciproque de la règle 3.
De cette manière, on peut facilement imaginer toutes les règles possibles entre ces propriétés et classes. Pour finir prenons quelques instances : {Bart, Lisa, Homer}. On dit ensuite que l'instance "Bart" appartient à la classe "Boy", "Lisa" appartient à la classe "Girl" et "Homer" appartient à la classe "Man". On dit ensuite que "Bart" est le frère de "Lisa" et que "Bart" et "Lisa" sont les enfants de "Homer" avec nos propriétés.
Notre ontologie ainsi construite, il nous est maintenant facile d'effectuer les requêtes suivantes dessus :
Bien entendu cette ontologie est ridiculement petite et facile comparée aux ontologies de domaines plus complexes. Mais, maintenant que vous savez ce qu'est une ontologie, vous pouvez vous amuser à continuer l'ontologie de la famille Simpson en ajoutant des propriétés, des classes, des règles et des instances .
- Quelques ontologies déjà existantes
Je vous donne ici une liste non exhaustive d'ontologies existantes :