Représentation des connaissances
par Julien Velcin
Licence MIASHS2019-2020
IA = Simuler la pensée sur un ordinateur
Questions :1. Comment rendre le monde présent à un ordinateur?2. Est-ce possible et qu’est ce que ça signifie?
Que sait faire un ordinateur ?1. Stocker des suites de 0 et de 1 (ou de caractères)2. Manipuler des suites de caractères
Solution :1. Décrire « adéquatement » le monde (ou ce que l’on en
pense) à l’aide de suites de 0 et de 12. Simuler « adéquatement » notre raisonnement à
l’aide de manipulation sur ces suites
Comment représenter ?1. Langage artificiel
2. Référence des expressions clairement définie. Description de nos connaissances, c’est-à-dire du niveau épistémique1. Langage non ambiguë
2. Définition claire de la référence des expressions
3. Procédures d’inférence mécanisables efficaces et similaire à nos processus deraisonnement
4. Candidat naturel : la logique
Langages de représentations• Formalisations logiques : logique des prédicats du premier ordre • Première représentation des connaissances dans les années 60
– Représentation de classes d’objets – Hiérarchies d’abstraction– Propriétés de ces objets– Contraintes sur les propriétés
• Programmation orienté vers les objets– CommonLisp Object System (CLOS) – SmallTalk, C++, Java
• Réseaux de connaissances – modèles de mémoire – représentations sémantiques– Réseaux sémantiques (Quillian 1967)– Frames (Minsky 1981)– Graphes conceptuels (Sowa 1984)
La logique : un formalisme de représentation des connaissances
• Structures : langage formel de la logique– Variables, fonctions, termes :
Ex. : x, f( f(x), 1, g(y)), etc.– Atomes : bleu, long, 18, etc.– Clauses (forme CNF ou DNF)
• Procédures :– Procédures de déduction automatique :
résolution, déduction naturelle
Exemple de représentation en logique des prédicats
1.cube(a) Ù dodécaèdre(b) Ù tétraèdre(c) Ù grand(a) Ù moyen(b) Ùpetit(c) Ù devant(c, a) Ù droite(b, a) Ù vert(a) Ù bleu(c) Ù rouge(b)
2.cube(a) Ù tétraèdre(b) Ù tétraèdre(c) Ù petit(a) Ù moyen(b) Ùmoyen(c) Ù devant(c, b) Ù droite(c, a) Ù vert(a) Ùbleu(c) Ù bleu(b)
http://www.cs.washington.edu/education/courses/cse590d/03sp/tarski/tarski.html
Déduction automatiqueen logique des prédicats
1. Il y a un objet à droite d’un cube vert :$x$y (cube(y) Ù vert(y) Ù à-droite(x, y))
2. Tous les dodécaèdre rouges sont à droite d’un grand cube vert :"x$y ((dodécaèdre(x) Ù rouge(x)) É (grand(y) Ù vert(y) Ù cube(y) Ù droite(x, y)))
3. Il y a un tétraèdre bleu devant un objet :$x$y tétraèdre(x) Ù bleu(x) Ù devant(x, y)
Autre exemplede représentation en logique
pyramide(E) Ù bloc(D) Ùpyramide(A) Ù pyramide(B) Ù pyramide(C) Ùoranger(E) Ù bleu(D) Ùrouge(A) Ù vert(B) Ùvert(C) Ù supporte(A, D) Ùsupporte(B, D) Ùsupporte(C, D) Ùsupporte(D, E)
Démonstration :Existe-t-il un x tel que $y pyramide(x) Ù bloc(y) Ù supporte(x, y) ?
La logique : un formalisme pour faire de l’inférence (résolution)
- Alphabet : un ensemble infini dénombrable de propositions atomiques {p0, p1, ...pn, ...} et un ensemble de connecteurs: {¬, Ú}
- Clauses : toutes les formules du type l1 Ú l2 Ú... Ú ln , avec li = p ou li = ¬p, p Î {p0, p1, ...pn, ...}
- Règle d'inférence : Règle de résolution définie par : si L ÎC1 et si ¬LÎ C2 alors C1, C2 |-res (C1 - L) Ú (C2 - ¬L)
Représentation et déductionF1: ¬q Ú rF2: ¬r Ú pF3: ¬r Ú qF4: ¬p Ú q Ú r
Pour démontrer que F1, F2, F3, F4 |- (q É p) on montre que l'ensemble de clause S1 = {F1, F2, F3, F4, q, ¬p} est insatisfiable.1. ¬q Ú r hypothèse2. ¬r Ú p hypothèse3. ¬r Ú q hypothèse4. ¬p Ú q Ú r hypothèse5. q hypothèse6. ¬p hypothèse7. r résolution 1, 58. p résolution 2, 79. ◊ résolution 6, 8
Représentation et déductionF1: ¬q Ú rF2: ¬r Ú pF3: ¬r Ú qF4: ¬p Ú q Ú r
Pour démontrer que F1, F2, F3, F4 |- (p É q) on montre que l'ensemble de clause S1 = {F1, F2, F3, F4, p, ¬q} est insatisfiable.
1. ¬q Ú r hypothèse
2. ¬r Ú p hypothèse
3. ¬r Ú q hypothèse
4. ¬p Ú q Ú r hypothèse5. p hypothèse6. ¬q hypothèse
7. q Ú r résolution 4, 58. r résolution 6, 79. q résolution 3, 810. ◊ résolution 6, 9
Les défis de la représentation informatique des connaissances
• Adéquation logique– Description précise– Description non ambiguë– Dans un langage artificiel
• Traduction des connaissances dans la représentation– Existence de procédure de traduction des énoncés en langage naturel
• Utilisation de cette représentation informatique– Existence d’algorithmes qui font des inférences et des déductions
analogues à celles qu’un homme ferait sur ces connaissances
Différentes approches de la représentation
• Inspirées de la logique– Procédure de preuves efficaces
(sous-ensemble de la logique)– Vraisemblance psychologique ?
LOGIQUES DE DESCRIPTION
• Inspirées de la psychologie– Modèle de mémoire– Pouvoir de représentation ® liens logique– Procédure de preuves ?
RESEAUX SEMANTIQUESGRAPHES CONCEPTUELS – GRAPHES DE SOWA
OntologiesWeb Sémantique
Langage naturelWeb SémantiqueLangage RDF
Tension
Côté homme: psychologie
Côté machine: logique – démonstration
Expressivitéde lareprésentation
Efficacitédesinférences
Réseaux sémantiques• Définition : formalisme de représentation
– Adéquation psychologique: • organisation taxinomique • temps d’accès
– Facilité de traduction du langage naturelle vers ce formalisme
– Inférence possibles• Structure du réseau :
– Entités : nœuds– Liens : arcs
• Histoire :– Existential graphs (Pierce, 1909)– Schémas (Bartlett, 1930)– Principe d’économie cognitive (Collins et Quillian, 1969)– Scripts (Minsky, 1970)– Frames (Schank et Abelson, 1975)
Structure des réseaux sémantiques
Objet 1 Objet 2Relation
Objet PPropriété
Exemples de réseaux sémantiques
Chat aime
aimeest un
sorte de
Exemples de réseaux sémantiques
• Relations :– Is a (est un)– Has (possède)– Color (couleur)– Eats (mange)
Inférence sur les représentations emboîtées : héritage et instances
Personne
Homme Femme
Concept
Françoise
Instances
Inférence sur les représentations emboîtées : héritage et instances
Personne
Homme Femme
Françoise
Instances
enfant
âgeRôlesAttributs
enfant
âge
Gil,Jean
26
Réseaux sémantique : structureOrganisation taxinomique - emboîtement
• Nœuds : – Entités
• Animal• Oiseau• …
– Attributs• A une peau• A des ailes• Comestible…
• Liens étiquetés :– Vers attributs
« caractéristique »– Relations
« est un »
Réseaux sémantiques : temps d’accès
• Inférence : – parcours des liens
• Temps d’accès : – Proportionnel au nombre de
liens traversés
Inférences : liens ‘est un’ ou ‘sorte de’Un nœud hérite des propriétés de ses pères sauf s’il y a
contradiction
Chat LaitFifi
Mammifère
aimeest un
sorte desorte de ?
WordNet : un exemple de réseau sémantique entre « synsets »
• Equipe de recherche à Princeton http://wordnet.cs.princeton.edu
• WN = base de données lexicale qui connecte des motssuivant différentes relations (synonymes, hyperonymes, etc.)
• WN existe dans de nombreux langages (e.g. EuroWordNet, BalkanNet) http://www.illc.uva.nl/EuroWordNet
• Démo en ligne : http://www.wordnet-online.com (v. 2.0)
• WordNet 2.1 (Windows), WordNet 3.0 (UNIX)
Différents types de relations
• WN gère plusieurs types de relations entre les mots et leurs sens :– Synonymie (synsets): mots de formes différentes mais
avec le même sensex.: singer, vocalist
– Hypernymie-Hyponymie : relation taxonomique de type « is a »ex.: breakfast and meal
– HasPart-PartOf : le tout et ses partiesex.: table and leg
– Antonymie : les opposésex.: leader and follower
WordNet :une base de données de relations lexicales
• WordNet est la base la plus utiliséepour la langue anglaise (147 249 words dans la v2.1)
• 4 bases de données : noms, verbes, adjectifs, adverbes
• Réseau des noms = 80% • Profondeur maximum de la hiérarchie
des noms : 16• Les entrées de la base de données
sont les synsets = ensemble de motssynonymes
Category Unique Forms
Number of Senses
Noun 94474 116317
Verb 10319 22066
Adjective 20170 29881
Adverb 4546 5677
Ex.:• musician, instrumentalist,
player• person, individual, someone• life form, organism, being
Is_amouthLocationface
peck limbgoose
creaturemake
Is_a
Typ_obj sound
Typ_subj
preen
Is_a
Part feather
Not_is_a plant
Is_a
gaggleIs_a
Is_a
PartPart
catch
Typ_subj Typ_obj
claw
wing
Is_a
turtle
beak
Is_a
Is_a
strike
Means
hawk
Typ_subjopening
Is_a
chatter
MeansTyp_subj
Typ_obj
Is_a
Is_a
cleansmooth
billIs_a
duck
Is_a
Typ_obj keep
animal
quack
Is_a
Caused_by Purpose
bird
meat
egg
poultry
Is_a
supplyPurpose Typ_obj
Quesp
hen
chicken
Is_a
Is_a
leg
arm
Is_aIs_a
Is_a
Typ_subj
fly
Classifier
number
WordNet – extrait du graphe
sense
sense
relation
26 relations116k senses
WordNet 2.0http://www.wordnet-online.com
Nouvel exemple1. John est secrétaire et travaille pour June
2. John et June sont des êtres humains
3. John et June travaillent dans le département de R&D de la compagnie X
4. John a 30 ans et des yeux bleus
5. June est directeur
6. Les directeurs ont généralement une voiture de service
7. La plupart des employés de la compagnie des wagons-lits disposent d’une place de parking
relations :partie_de, sorte_de, age, travaille_dans, travaille_pour, est un, a_généralement, a, couleur.
John
June
Secrétairetravaille pour
est un
John
June
Secrétaire
travaille pour
est un
Yeux
Bleu
30Dept. R&D
couleur
aage
Travaille_dans
humain
employé
place parking
Compagnie X
EmployéCompagnie X
directeur
voiture s.
a généralement
Partie deTravaille_dans
est un
est un
Sorte de
Sorte de
a généralement
travaille pour
Sorte de
est un
Inférence :June a (gent) une voiture de service
Raisonnement à base d’ontologies• Pour décrire les individus d'un domaine,
l’approche ontologique consiste à définir les catégories générales d'individus et les relations logiques que les individus ou catégories peuvent entretenir entre eux.
• Cette approche ontologique est naturelle pour le raisonnement puisque même si la majorité des interactions se déroulent au niveau des individus, la plus grande partie du raisonnement se produit au niveau des catégories.
Ontologies, Web sémantique et langages de description
Ontologies = intermédiaires entre hommes et agents logiciels• Les ontologies se placent juste au-dessus de la couche
syntaxique• Elles ont deux versants : 1. Un versant informel qui regroupe, à la manière d’un
thésaurus, des termes sensés être intelligible par tous le membres d’une communauté d’usager
2. Un versant formel qui automatise les décisions à l’aide d’un jeux d’axiomes et de propriétés
« Une ontologie est un traité » Tom Gruber
Exemples de structuration des termes composant une ontologie Langages de représentation d’ontologies
– Représentations graphiques• Réseaux sémantiques• Topic Maps (voir http://www.topicmaps.org)• UML• RDF
– Fondés sur la logique• Logiques de description (ex. OIL, DAML+OIL, OWL)• Règles (ex. RuleML, LP/Prolog)• Logique des prédicats du premier ordre (ex. KIF)• Graphes conceptuels• Logiques d’ordre supérieur (syntaxiquement) • Logiques non classiques (ex. Logiques modales)
– Probabilités/Logique floue
But des logiques de description: décrire des « ontologies »
• Donner sens aux informations sur le web– Notion de « Web sémantique » (T. Berners Lee)
• Permettre à des robots de se débrouiller et de « comprendre » suffisamment pour nous aider à retrouver l’information
• Être suffisamment explicites pour permettre aux hommes de les lire
Logiques terminologiques Logiques de description…
Formalismes inspirés des représentations sémantiques (réseaux sémantiques, frame, graphes conceptuels, …)
TKRS: Terminological Knowledge RepresentationSystems
Deux composants :• Classes générales d’individus
– Propriétés générales des classes– Relations entre les classes
• Instanciation de ces schémas– Assertions relatives à des individus
Un exemple• Personne, Femelle, etc sont
des concepts• aEnfant est une propriété
associée au concept Personne – aEnfant relie Parent à Personne– NIL signifie infinité. Un Parent
est une Personne avec entre 1 et une infinité d’enfants
• Les larges flèches sont des liens “EST-UN”– Une Mère est un (spécialisation
d’un) Parent
Personne
Parent
Mère
Femelle
Femme
aEnfant(1, NIL)
Logiques terminologiques Logiques de description…
Formalismes inspirés des représentations sémantiques (réseaux sémantiques, frame, graphes conceptuels, …)
Se distinguent des représentations sémantiques par une sémantique formelle
• Fragments décidables de la logique du premier ordre• Procédures de décision pour la résolution de
problèmes clefs:– Satisfiabilité – cohérence – Subsomption
• Systèmes implémentés – très efficaces
Logique de description : reflet d’une ontologie
• Termes (noms de concepts)– Concepts: prédicats unaires– Rôles: relations binaires
• Contraintes (propriétés)– Négation, intersection, union, – Quantification universelle, existentielle– Contraintes sur les cardinalités des ensembles (nbre cotés
= 8)etc.
• Assertions (énumérations)– Constantes– Instances des concepts et des rôles sur ces constantes
TBoxTerminologie
ABox Assertions
Reprenons un exemple simple
Personne
Homme Femme
Concept
Françoise
Instances
Reprenons un exemple simple
Personne
Homme Femme
Françoise
Instances
enfant
âgeRôlesAttributs
enfant
âge
Gil,Jean
26
A-box
• Françoise:Femme• <Françoise, 26>:age• <Françoise, Gil>:enfant• <Françoise,Jean>:enfant
T-box• Homme -> Personne• Femme -> Personne• Homme п Femme º ^• Personne -> $age• Parent º $enfant п Personne• Père º $enfant п Homme• Mère º $enfant п Femme• Père º Parent п Homme• Mère º Parent п Femme
Remarques sur la notation
Usuellement :• Les concepts sont des chaînes de caractères
qui commencent par une majuscule : Homme, Femme, Personne, Femelle, Mère, Parent…
• Les rôles sont des chaînes de caractères qui commencent par une minuscule : age, enfant, aEnfant, aFemmeFamille…
Autre exemple Moteurs d’inférence pour les LD
Les logiques de description pour le Web Sémantique
• WS = rendre le contenu du Web accessible (indexation) par les agents intelligents
• Principalement basé sur les URI (Uniform Resource Identifiers) et le langage XML
• Langages propres proposés par le W3C :– RDF = triplets pour décrire les données– RDF Schema = vocabulaires– OWL = ontologies et inférences– SPARQL = requêtes à partir de RDF
Requêtes SPARQL pour Dbpedia (1)
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?label, ?band
WHERE {
?band dbo:genre dbr:Punk_rock .
?band foaf:name ?label .
FILTER (LANG(?label) = 'en')
}
Requêtes SPARQL pour Dbpedia (2)
https://cambridge-intelligence.com/visualizing-a-knowledge-graph/
Pour aller plus loin :des données aux connaissances
Références
• La majeure partie de ces transparents sont extraits du cours donné par J. G. Ganascia à l’Université de Paris 6.
• Présentation des logiques de description : http://www.philippe-fournier-viger.com/description_logics/introduction_logiques_de_description.php
• Un logiciel basé sur DBPedia pour trouver des relations entre des entités : http://www.visualdataweb.org/relfinder.php