Ingénierie
des connaissances : représentation ontologique
1
- Rappels sur la
représentation des connaissances en logique
Nous vous proposons
d'explorer une initiation rapide disponible ici,
telle qu'elle est proposée dans le module C217 du M1 eMiage
(que nous vous recommandons donc chaudement !). Faites
également les exercices associés.
2
- Termes, concepts, relations, ontologie, raisonnement ontologique
Les connaissances peuvent
s'inscrire
accompagnées d'un certain nombre
d'éléments
sémantiques "explicitant" leur sens, peu ou prou.
L'organisation de ces éléments de description des
connaissances peut se faire sous forme d'ontologie. Une
ontologie est un discours (ou science ,logos) sur ce qui
est (être, ontos).
Elle peut prendre de multiples formes depuis un
liste de vocabulaire jusqu'à une description
sémantique forte de chaque concept
dénoté par un terme dans l'ontologie.
TERME : Le premier
niveau de sémantique concerne le vocabulaire
utilisé
spécifiquement dans les inscriptions de connaissances. Un
terme est un mot de la langue qui réfère
à un concept sous-jacent. Il s'agit en
général de "noms". Une
façon courante de pratiquer est de dresser un
référentiel terminologique collectant les termes
avec
leurs définitions et les relations terminologiques qu'ils
entretiennent les uns avec les autres. Les relations les plus
classiques sont par exemple la synonymie, l'antonymie (entre
deux termes de sens opposés),
l(hétéronymie (entre deux termes identiques et de
sens différents) et la relation "plus lâche" de voir aussi.
Ces "dictionnaire" du vocabulaire
de l'entreprise existent déjà souvent sous
différentes formes dans un système d'information
(en
particulier lorsqu'on réalise l'analyse d'une application
informatique). On trouvera ainsi des nomenclatures, des dictionnaires
de données, des thésaurus ou autres
référentiels métiers. mis en
relation au
sein du système d'information ce qui permettra de glisser
d'un terme
à l'autre et de renvoyer ainsi d'un document à un
autre
en suivant les relations qu'ils entretiennent. Voir par exemple sur
Internet le thésaurus de XXXX.
CONCEPTS et RELATIONS conceptuelles : les termes organisés
selon leurs relations en langue ne suffisent pas à donner
des indications précises sur leurs relations ontologiques,
c'est-à-dire sur des relations qui seront toujours vraies
entre concepts dans le domaine ainsi décrit. La
sémantique des relations, c'est-à-dire ce
qu'elles impliquent à coup sûr entre deux termes
représentant des concepts est en
général liée à
l'interprétation humaine qui en est faite, mais on peut
aussi profiter d'une sémantique
formelle autorisant des calculs automatiques, par exemple
pour vérifier la cohérence des informations
inscrites pour décrire une connaissance. C'est ainsi que les
relations linguistiques comme "plus général que",
"plus spécifique que" peuvent être
représentées formellement par la subsomption
ensembliste calculée en comparant les
propriétés de différents termes. Ainsi
un "félin" sera plus général qu'un
"chat", car un chat aura toutes les propriétés
d'un félin, plus certaines autres qui expliqueront sa
spécificité par rapport au félin.
Un
tigre sera également un félin, mais ne sera ni
plus général, ni plus spécifique qu'un
chat. Il appartiendra toutefois à la même
"famille". La famille des félins est plus nombreuse que la
famille des chats et que la famille des tigres. Cette relation de
généralisation/spécialisation est la
plus utilisée pour décrire un domaine
particulier. Elle suppose l'existence d'un "terme le plus
général" pour chaque famille (on peut facilement
dire qu'il existe un terme "sommet" pour n'importe quelle famille
d'ailleurs).
D'autres relations peuvent être ajoutées entre les
concepts (relations de composition, relations causales, relations
d'association, etc.). La sémantique formelle de ces
différentes relations n'est pas aussi facile à
établir que pour les relations de
généralisation/spécialisation
naturellement.
Une façon explicite de représenter les concepts
avec leurs relations est d'en dresser le "réseau
sémantique". Le réseau suivant décrit
le concept de chat.

Une ontologie est donc une inscription de connaissances avec
une partie plus ou moins importante de la sémantique
attachée. Plus la sémantique attachée
est riche, plus il est possible de "raisonner" ontologiquement,
c'est-à-dire réaliser des inférences
à partir des concepts manipulés grâce
aux relations qu'ils entretiennent.
Par exemple, le simple fait de "parler" d'un chat permet de savoir
qu'il s'agit d'un félin, que l'on doit pouvoir observer des
crocs et des griffes, qu'il faut éviter de le mettre en
présence d'un chien et que si on veut lui faire plaisir on
peut lui donner quelques souris en guise de repas :-)
Ce réseau sémantique, aussi appelé
graphe conceptuel lorsqu'il est formalisé plus
mathématiquement (pour approfondir cette notion de graphe
conceptuel, voir les travaux de Sowa et par exemple le cours (pdf,
pptx),
"dit" ce qui est vrai pour le concept "Chat", mais on voit que l'on
peut glisser au concept de "Chien" qui lui même nous
permettra d'explorer la famille des "canins", etc...
Vérifions
nos connaissances
3
- Construire une
ontologie ?
Construire
une ontologie n'est pas une tâche très simple. En
effet, il faut mener une analyse des pratiques, des usages, des
documentations, du système d'information existant, etc.
permettant de faire ressortir les concepts fondamentaux avec les termes
qui les dénotent et, si possible, la sémantique
qui leur est attachée.
Dans cette
partie du cours, nous ferons un certain nombre d'hypothèses :
- Le
terme «
ontologie » est
utilisé ici dans une acception large de «
spécification d’une conceptualisation ».
-
Nous
présumons que
l’objectif est de concevoir une ontologie utilisée
dans
une application informatique, dont elle constitue un composant, et nous
nommons « ontologie computationnelle » ce
composant. Une
propriété de l’ontologie
computationnelle est de
pouvoir être exploitée par un agent logiciel
à des
fins d’inférences (en effet, on peut naturellement
se contenter de faire une documentation décrivant
l'ontologie concernée, mais l'usage en sera très
faible au sein du système d'information).
-
Il existe une application, exploitant l'ontologie, qui
réalise une
certaine « tâche », ou résout
un certain
« problème », deux termes que nous
considérons comme synonymes. À tout le moins,
l’application assiste des utilisateurs dans la
réalisation
de cette tâche.
Construction
d'ontologies à partir de textes
L’analyse de l’état de l’art
dans le domaine
de l’acquisition des connaissances à partir de
textes,
permet de dégager un cadre méthodologique :
- consensuel,
qui
rende compte des principales propositions du domaine,
- abstrait,
non
détaillé, justement pour conserver son statut de
synthèse,
- théorique,
qui propose un cadre
complet et donc idéal. Les propositions concrètes
du
domaine accordent aux différentes parties du cadre des
importances inégales et permettent, dans certains cas,
d’exploiter des résultats
intermédiaires, sans
forcément aller jusqu’à la constitution
d’une
ontologie computationnelle.
Ce cadre
méthodologique consiste en quatre
étapes,
relativement indépendantes, qui s’accompagnent
d’un
double mouvement, du linguistique au conceptuel et de
l’informel
vers le formel :
- Constitution
d’un corpus de documents
- Analyse
linguistique
du corpus
- Normalisation
sémantique
- Élaboration
de l’ontologie
computationnelle
Nous décrivons brièvement ces étapes.
Constitution
d’un corpus de documents
Il s’agit de rassembler un ensemble de documents
attestés
dans la pratique d’un domaine et ayant un lien avec
l’application développée. Ces documents
peuvent
être très divers : manuels techniques, documents
de
travail, ouvrages de référence, transcriptions
d’interviews menées avec des
spécialistes.
Ces documents contiennent des expressions linguistiques des notions
qu’il faut modéliser.
Analyse
linguistique du corpus
L’analyse linguistique du corpus revient à
systématiser et à rendre plus efficace la
recherche des
données conceptuelles dans les textes en utilisant des
outils de
traitement de la langue naturelle (TAL), par exemple des
concordanciers, des extracteurs de termes candidats ou de relations
candidates. Les résultats fournis par ces outils sont en
général retravaillés puis
filtrés par le
cogniticien, aidé de l’expert du domaine, pour ne
retenir
que les termes pertinents vis-à-vis de
l’application.
Seuls les termes validés par l’expert sont
considérés pour l’étape
suivante.
Normalisation
sémantique
La normalisation sémantique consiste à associer
aux
termes une signification qui fasse abstraction des variations de sens
liées aux différents contextes textuels dans
lesquels les
termes occurrent. Cette abstraction du contexte conduit à
construire des concepts, considérés en tant que
«
signifiés non contextuels ». On peut donc parler
à
ce stade d’ontologie. Le point de vue de la tâche
est cette
fois pris en compte, pour fixer un contexte de
référence.
Les propositions du domaine distinguent en
général
plusieurs sous-étapes. Par exemple, B. Bachimont propose
d’élaborer successivement deux ontologies en
faisant
varier le cadre sémantique : une ontologie «
sémantique », fondée sur une
sémantique
linguistique, puis une ontologie «
référentielle
» (ou « extensionnelle »), obtenue en
fixant une
référence pour les concepts [BAC 00]. B.
Bachimont
considère du reste cette dernière comme un point
de
passage obligé pour formaliser l’ontologie. Dans
le cadre
de l’outil TERMINAE, S. Szulman et B. Biébow
proposent
d’élaborer des « fiches terminologiques
»,
puis de les coupler avec un « réseau conceptuel
» ou
des « fiches de modélisation », en
fonction du
résultat désiré [SZU 02]. Pour la
conception de
« bases de connaissances terminologiques », A.
Condamine et
N. Aussenac-Gilles distinguent une première étape
au
cours de laquelle l’interprétation des termes est
faite
simplement par rapport au contenu du corpus et en ne mobilisant que des
connaissances sur le fonctionnement linguistique.
À ce stade, les ontologies constituées peuvent
être
spécifiées de façon informelle (de la
langue
naturelle non contrainte), semi-informelle (de la langue naturelle
contrôlée et structurée) ou
semi-formelle (du
formel non interprété par la machine pour
réaliser
des inférences mais, par exemple, pour échanger
des
ontologies sur Internet).
Élaboration
de l’ontologie computationnelle
Cette dernière étape consiste à
traduire
l’ontologie obtenue à l’étape
précédente en une ontologie computationnelle
spécifiée, soit dans un langage de programmation
de bas
niveau, soit dans un langage de représentation de haut
niveau
doté de services inférentiels (ex :
classification
d’instances). En fonction du langage
considéré et
de sa puissance d’expression, certains
éléments de
sens identifiés à l’étape
précédente peuvent ne pas être
représentés dans l’ontologie
computationnelle.
Références :
[AUS 00] AUSSENAC-GILLES N., BIÉBOW B., SZULMAN S. (2000).
Revisiting Ontology Design : a methodology based on corpus analysis. R.
DIENG, O. CORBY, Eds. : Proceedings of the 12th International
Conference on Knowledge Engineering and Knowledge Management, Methods,
Models and Tools: EKAW’2000, LNAI 1937, Springer-Verlag,
2000,
pp. 172-188.
[BAC 00] BACHIMONT B. (2000). Engagement sémantique et
engagement ontologique : conception et réalisation
d’ontologies en ingénierie des connaissances. J.
CHARLET,
M. ZACKLAD, G. KASSEL, D. BOURIGAULT, Eds. : Ingénierie des
connaissances, évolutions récentes et nouveaux
défis, Paris : Eyrolles, Collection Technique et
Scientifique
des Télécommunications, 2000, pp. 305-323.
[CON 00] CONDAMINES A., AUSSENAC-GILLES N. (2000). Entre textes et
ontologies formelles : les bases de connaissances terminologiques. M.
ZACKLAD, M. GRUNDSTEIN, Eds. : Ingénierie et capitalisation
des
connaissances, Paris : Hermès, Traité IC2, 2000,
pp.
153-177.
[SZU 02] SZULMAN S., BIÉBOW B., AUSSENAC-GILLES N. (2002).
Structuration de Terminologies à l’aide
d’outils
d’analyse de textes avec TERMINAE. TAL 2002.
Vérifions
nos connaissances
© Alain Mille Août
2008