Pour les articles homonymes, voirRéseau (homonymie).
Cet article est uneébauche concernant lessciences cognitives et leWeb sémantique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations desprojets correspondants.
Consultez la liste destâches à accomplir enpage de discussion.
Les informations figurant dans cet article ou cette section doivent être reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes »().

Unréseausémantique est ungraphe marqué destiné à lareprésentation des connaissances, qui représente desrelations sémantiques entre concepts. Le graphe estorienté ounon orienté. Sessommets représentent les concepts, et lesliens entre les sommets (nœuds) représentent les relations sémantiques, reliant leschamps lexicaux.
Un réseau sémantique peut êtreinstancié, par exemple, dans unebase de données orientée graphe ou unschéma conceptuel. Les réseaux sémantiques normalisés sont exprimés sous forme detriplets RDF.
La première utilisation connue, auIIIe siècle, est un commentaire du philosophe grecPorphyre sur lescatégories d'Aristote.
Enpsychologie, dans les années 1960,Ross Quinlan etAllan Collins s'en sont d'abord servi pour modéliser l'usage destaxonomies dans lamémoire sémantique.
Ces réseaux ont ensuite été employés par exemple pour gérer desthésaurus, pour modéliser la signification d'un texte, ou enrobotique pour modéliser les états d'un système en vue d'élaborer des plans d'action.
Un tel réseau sémantique emploie des nœuds et des arcs de types différents.
Deux types de nœuds sont utilisés :
Au moins trois types d'arcs connectent les nœuds :
Il peut y avoir d'autres liens spécifiques. Par exemple, pour exploiter unthésaurus, on ajoute aux liens hiérarchiques des liens transversauxsynonymes etassocié à, qui éviteront des silences (réponses potentielles non trouvées).
On associe à une question des chemins spécifiques dans le réseau, par exemple par propagation de marqueurs, chemins dont l'interprétation fournit la réponse.
Pour déterminer si un objet, représenté par un nœud A, est membre d'un ensemble, représenté par un nœud B, il faut suivre tous les arcs allant de A vers le haut (arc 'est1' et arcs 'sorteDe') pour voir si on rencontre le nœud B.
Afin de déterminer la valeur de la propriété P d'un objet représenté par le nœud A, on suit les arcs allant de A vers le haut (comme précédemment) jusqu'à ce que l'on trouve un nœud ayant cette propriété P (arc de fonction).
On garde l'idée d'arcs signifiant unerelation binaire entre point de départ et point d'arrivée.
On adopte des noms cachés :
On recourt éventuellement à des réseaux partitionnés, dans lesquels un nœud désigne maintenant un (sous-) réseau sémantique isolé.
Les questions sont ramenées à un réseau sémantique contenant des variables explicites, qui serviront à formuler la réponse, et des variables muettes ne servant qu'à exprimer la structure de la question.Ainsi, « Où habite le fiancé de Marie ? » devient (*1 habite ?1)(*1 fiancéA Marie), où ?1 représente le nom-de-lieu cherché, et *1 le nom-du-fiancé, intermédiaire nécessaire non-demandé.
On cherche alors si le graphe-question est un sous-graphe du réseau, en tenant compte des héritages et exceptions.
Citons d'abord le foisonnement du vocabulaire : si Schank pense pouvoir se contenter de 14 verbes génériques, le français comporte 8000 verbes… en recommandant d'éviter les répétitions.
Et aussi la question des connaissances générales, de bon sens, pragmatiques… Par exemple, coder et exploiter un réseau généalogique doit pouvoir affronter la question dela demi-sœur d'un oncle maternel, et donc la question des nombreuses relations secondaires déductibles des relations primaires renseignées.
À ces réseaux, on applique, outre les questions qui ne les modifient pas, des opérateurs liant ou déliant des (listes d') arcs pour simuler des actions. Ces opérateurs sont définis sous une forme générale « sicondition lierliste1 délierliste2 ».
Il est possible de réaliser un réseau sémantique selon plusieurs logiques, par exemple :
La mise en œuvre de ces logiques peut se faire en utilisant deslogiciels de création de réseaux sémantiques, ou par une approche programmatique.
En Lisp, on utilisera les listes associatives. On peut par exemple créer un réseau à trois objets :
(setqcanari'((est1oiseau)(couleurjaune)(taillepetit))pingouin'((est1oiseau)(mouvtnage))oiseau'((est1vertébré)(avecailes)(reproductionovipare)))
La fonctionassoc appliquée àcanari permet d'extraire la valeur associée à une clé : ainsi
(assoc'couleurcanari)→(couleurjaune).
En Prolog, on aurait :
% création du réseaudef(canari,[[est1,oiseau],[couleur,jaune],[taille,petit]]].def(pingouin,[[est1,oiseau],[mouvt,nage]]).def(oiseau,[[est1,vertébré],[avec,ailes],[reproduction,ovipare]]).% extracteurassoc(Objet,Clé,Valeur):-def(Objet,Prop),dans(Prop,Clé,Valeur).dans([[X,Y]|Z],Clé,Valeur):-Clé=X,ValeurisY;dans(Z,Clé,Valeur).%?assoc(canari,couleur,C).C=jaune.
| Contexte | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Semantic Web Stack |
| ||||||||||||||||||
| Autres ontologies | |||||||||||||||||||
| Articles liés | |||||||||||||||||||