5.1.2 Représentation des connaissances
La première question qui nous vient à l'esprit
quant on nous parle de la représentation de connaissance est
celle de savoir : « Qu'est-ce qu'une connaissance ou plus encore pourquoi
représenter ces connaissances? ».
Le point de vue d'un ingenieur, informaticien de
surcroît, sur la connaissance est étroitement lié à
l'histoire de ce qu'on appelle les Techniques de l'Intelligence Artificielle
(TIA) qui se sont imposées dès le début des années
70 comme une solution alternative à la conception des logiciels
d'Enseignement Assisté par Ordinateur en sigle EAO (en anglais :
Computer Aided Instruction ou CAI).
Les techniques de l'intelligence artificielle (IA) sont des
méthodes numériques qui exploitent la connaissance. Les
principales techniques de l'intelligence artificielle sont la
représentation des connaissances, la recherche d'une solution ou le
raisonnement et l'apprentissage.[31][32][33]
Ainsi la connaissance est cette faculté de
connaître propre à un être vivant. Et la
représentation des connaissances, comme son nom le suggère,
désigne un ensemble d'outils et de technologies destinés d'une
part à représenter, d'autre part à organiser le savoir
humain pour l'utiliser et le partager. Elle a pour but l'étude des
formalismes qui permettent la représentation de toutes formes de
connaissances afin de percer le mystère de l'humanité.[35][36]
Les modèdes de représentation des connaissances
reposent essentiellement sur des théories issues de la logique. En
effet, pour manipuler des connaissances explicites, un système doit
utiliser un langage formel de représentation. Toute expression de ce
langage s'établit à l'aide de symboles dont les associations sont
régies par des
55
règles qui forment la syntaxe de la
représentation. Si à toute expression syntaxique-ment correcte de
la représentation on fait correspondre une situation de l'univers de
référence, on adjoint alors une sémantique à ce
formalisme de représentation. Cette sémantique s'exprime souvent
en terme bouléens : La situation est vrai (dans l'univers
considéré) ou elle ne l'est pas. [32]
Ainsi, la logique mathématique se veut une
modélisation des raisonnements mathématiques, et il s'agit
principalement d'un formalisme qui permet d'effectuer des raisonnements pour
trouver de nouvelles connaissances à partir de celles qui existent
déjà. Elle fournit ainsi un cadre adéquat pour
représenter des connaissances. Un rappel sur les bases de la logique
propositionnelle, la logique du premier ordre ainsi que les
quelques autres logiques (logiques de description, logiques temporelles,
logiques floues,...) se revèle donc inéluctable. [31]
Logique propositionnelle
La logique propositionnelle est une logique qui se trouve
à la base de presque toutes les autres logiques. Les
éléments de bases sont des propositions (ou variables
propositionnelles) qui représentent des énoncés qui
peuvent être vrais ou faux dans une situation donnée.[35]
Une proposition est une affirmation qui a un sens. Cela
signifie que l'on peut dire sans ambiguïté si cette affirmation est
vraie ou fausse. C'est ce qu'on appelle le « principe du tiers exclu
». Elle ne peut donc être jamais à la fois vraie et
fausse,« principe de non-contradiction »[37]
Nous pouvons citer à titre d'exemple une proposition
P qui représente « Pascal Sungu est un
ingénieur »ou une proposition Q qui représente
l'énoncé « L'ingénierie des connaissances est un
domaine de l'informatique ». D'autres formules peuvent être
construites à partir de ces propositions en utilisant des connecteurs
logiques : ? (« et »), ? (« ou »), et #172; («
négation »). Par exemple nous pourrions avoir les formules P
? Q « Pascal Sungu est un ingénieur et
l'ingénierie des connaissances est un domaine de l'informatique
», P ? Q « Pascal Sungu est un ingénieur
ou l'ingénierie des connaissances est un domaine de
l'informatique », et #172;q « L'ingénierie des
connaissances n'est pas un domaine de l'informatique ».[35]
Il existe d'autres types de connecteurs logiques tels que :
- Le connecteur d'implication(=)
Soient P et Q deux propriétés
sur l'ensemble E, P = Q est une
propriété sur E définie par :
1. P = Q est fausse si P est vraie et
Q et fausse;
2. P = Q est vraie sinon.
- Le connecteur d'équivalence(?)
Soient P et Q deux propriétés sur
l'ensemble E, P ? Q est une propriété
sur E définie par :
P ? Q si [(P = Q) ? (Q
= P)]
Logique du premier ordre
La logique du premier ordre, aussi appelée calcul
des predicats est la logique des formules mathématiques telles que
:[38]
?å > 0, ?8 > 0(|x -
x0| < 8 = |f(x) - f(x0)|
< å)
56
En logique des propositions, les expressions ( formules ou
phrases) sont construites à partir de symboles propositionnels pouvant
prendre des valeurs vrai ou faux. Ces énoncés
élémentaires sont non structurés. Parfois, on peut
être amené à décomposer ces propositions
élémentaires en faisant une opération qui ressemble
à une paramé-trisation. Par exemple, au lieu d'avoir un symbole
propositionnel pour représenter « SunguEstAmiDePascal », on
peut considerer que « EstAmi »est une relation qui porte sur deux
arguments (c'est donc une relation d'arité 2) : dans le cas
présent sur deux entités identifiées « Sungu »et
« Pascal », et plus généralement sur deux arguments
quelconques x et y ce que l'on notera par ami(x, y).
Dans un tel énoncé « EstAmi »s'appelle un
prédicat et x et y sont des
variables. Dans l'énoncé EstAmi(Sungu, Pascal),
Sungu et Pascal désignent des entités
précises, ce sont des constantes. Les constantes et les
variables ont pour valeurs des éléments d'un certains ensemble
appelé le « domaine »de l'interprétation.
La logique du premier ordre introduit deux quatificateurs
qui portent sur des variables : ?, le quantificateur
universel(« pour tout ») et ? le quantificateur
existentiel (« il existe »). En voici quelques exemples
illustratifs :[41]
· ?x(18 = 3x) signifie « 18 est
multiple de 3 »
· ?x(x * 1 = x) signifie «
1 est neutre pour * » Et la négation d'une formule
quantifiée est donnée par:
· #172;(?x : A(x)) ?
?x(#172;A(x))
· #172;(?x : A(x)) ?
?x(#172;A(x))
A étant un énoncé
quelconque.[42]
La logique propositionnelle et la logique du premier ordre
sont de loin les deux logiques les plus étudiées, mais on
constate un intérêt grandissant pour d'autres logiques qui sont
parfois plus adaptés pour représenter certains types de
connaissances. En voici quelques unes :
Logique de description
La logique de description [41] est une logique qui se trouve
à mi-chemin entre la logique propositionnelle et la logique du premier
ordre.
Effet, cette logique possède deux types de formules :
des axiomes qui décrivent des relations entre des concepts et
des assertions qui expriment les caractéristiques des individus
ainsi que des relations qui existent entre eux.
Citons à titre d'exemple : Oiseau v Animal
ce qui se traduit par « Chaque oiseau est un animal »
et Oiseau v ? enfant.Oiseau qui se traduit par
« les enfants des oiseaux sont aussi des oiseaux » et des
assertions Oiseau(Pigeon) « Pigeon est un oiseau » et
enfant(Pigeonneau, Pigeon) qui se traduit par « Pigeonneau
est un enfant de Pigeon ». Nous pourrions alors inférer que
Pigeon est un oiseau et que Pigeonneau et Pigeon
sont tous deux des oiseaux.
Logiques temporelles
La logique temporelle est une extension de la logique [41]
Informatique 18 juin 2004 propositionnelle, elle intègre des nouveaux
opérateurs qui expriment la notion du temps, exemple «
maintenant », « dorénavant », «
toujours »qui permettent de
57
FIGURE 5.2 - Représentation graphique d'un ensemble
classique et d'un ensemble flou
parler des propriétés qui sont vraies à
différents moments dans le temps. On pourrait par exemple exprimer dans
une telle logique le fait « Pascal sungu est un étudiant mais
un jour il ne le sera plus »ou « deux est toujours un nombre pair
».
En effet, il n'est pas possible d'exprimer dans la logique
classique une assertion liée au comportement d'un programme telle que
« après exécution d'une instruction j, le
système se bloque ». Dans cette assertion, les actions
s'exécutent suivant un axe de temps : à l'instant t,
exécution de l'instruction j, et à t + 1 blocage du
système. Il faut donc une logique appropriée à même
de modéliser les expressions du passé et du futur.[43]
Logique floue
Nous vivons dans un monde où très peu de notions
sont binaire. Nous côtoyons l'imprécision au quotidien. Par
exemple, quand nous disons « Pascal a la vingtaine », la
connaissance que nous adoptons est imprécise. Le besoin de
modéliser ce type de connaissances se fait sentir. C'est ainsi que dans
la seconde moitié du XXe siècle le professeur Lotfi
Zadeh introduisit une logique permettant de formuler de tels
énoncés.[44]
La logique floue[45] est une extension de la logique
booléenne. Elle se base sur la théorie des ensembles
flous(figure 5.2), qui est une généralisation de la
théorie des ensembles classiques. En introduisant la notion de
degré dans la vérification d'une condition, elle permet à
une condition d'être dans un autre état que vrai ou faux. La
logique floue confère ainsi une fléxibilité très
appréciable aux raisonnements qui l'utilisent, ce qui rend possible la
prise en compte des imprécisions et des incertitudes. Prenons par
exemple : comment déterminer si une personne est âgée ou
non? Ce problème est difficile à cerner, une personne qui a 60
ans est-elle âgée? Et qu'en est-il d'une personne qui a 70 ou 80
ans? En logique classique on va être obliger de définir une
frontière qui va déterminer l'ensemble de personnes
âgées, disons qu'une personne est dite âgée si elle a
80 ans ou plus. Si par exemple Ilunga a 80 ans et sa femme 70, on dira que
Ilunga est âgé mais sa femme ne l'est pas.
Si on utilise un raisonnement flou, on a un jugement plus
nuancé :
- Ilunga est « certainement
»âgé.
- Sa femme est « quasiment
»âgée.
- Leur petit enfant ne l'est « pas du tout
».
Définissons A l'ensemble des personnes
âgées, on voit que cet ensemble diffère entre logique
classique et logique floue tel que présenté par la table
5.1[44]
58
TABLE 5.1 - Illustration de l'appartenance à A, selon la
théorie choisie Logique de connaissances et/ou
croyances
L'une des caractéristiques du raisonnement humain est
sa faculté de raisonner sur ses propres connaissances ou sur celles des
autres. Un certain nombre de logiques ont été proposées
pour formaliser ce type de raisonnement. Dans ces logiques, nous pouvons
exprimer les informations de type « je sais que Shoudelle a un enfant,
et je crois que c'est une fille mais je suis pas sûr »ou « je
crois qu'il croit que je sais qui a volé le diamant, mais je ne le sais
pas. »Le raisonnemet sur les connaissances devient un sujet de plus
en plus populaire grâce à son utilité dans de nombreux
domaines tels que l'Intelligence artificielle, la linguistique.[52]
Logique non monotone
La logique non monotone est une logique formelle dont la
relation de conséquence n'est pas monotone. De nombreuses logiques
formelles sont monotones, ce qui signifie qu'ajouter un fait à un
ensemble de règles n'enleve pas de deductions à cet ensemble. Or
cette propriété ne semble pas toujours vérifiée
dans le raisonnements humains. Pour prendre un exemple classique, donnons un
nom à un oiseau par exemple « Tweety », il est tout a
fait évident qu'il vole, du fait que c'est un oiseau. Admettons
maintenant que Tweety est un Pingouin et si on vous demandait
de dire s'il vole, vous repondrais par la négation parce qu'un pingouin
ne vole pas. C'est un raisonnement non-monotone parce que le fait d'ajouter une
hypothèse (Tweety est un pingouin) fait perdre l'une des
conséquences (Tweety vole). Ce type de raisonnement ne satisfait pas les
lois de la logique classique mais il est rationnel tout de même car il
nous permet de raisonner en l'absence d'informations complètes. Les
logiques non-monotones essaient de formaliser ce type de raisonnement.[46]
|