Réseau de concepts

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Réseau de Concepts)
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Réseau (homonymie).
Ne doit pas être confondu avec Réseau sémantique.

En informatique théorique, un réseau de concepts est un graphe entièrement connexe dont les nœuds ont une valeur symbolique (un texte, une chaîne de caractères), et une activation. Les liens entre ces nœuds sont pondérés et orientés, de sorte qu'ils puissent représenter l'influence d'un nœud sur un autre.

Définition[modifier | modifier le code]

Le réseau de concepts est le modèle de BAsCET, il correspond au Slipnet de Copycat; une de ses particularités est d'être dynamique, c'est-à-dire qu'il évolue au cours du temps pour s'adapter au problème. C'est un modèle qu'on peut qualifier d'« hybride  » entre un réseau sémantique et un réseau de neurones. Il tient du réseau sémantique la nature symbolique de ses nœuds, et des réseaux de neurones la propagation d'activation entre ses nœuds, par des liens pondérés.

On peut dire qu'il fonctionne par association de nœuds (si un nœud est actif et qu'il est fortement lié à un autre nœud, il l'activera), et par extension, si l'on construit le réseau de concepts d'une certaine manière, par association de symboles et émergence de concepts.

Chaque nœud du réseau possède les champs suivants :

symbole (S)
qui contient les informations symboliques
importance conceptuelle (IC) 
en général, plus un nœud est abstrait, plus son importance conceptuelle est grande. Elle est similaire à la profondeur conceptuelle de Copycat
taux de désactivation (TD) 
influence la rapidité à laquelle le nœud se désactive s'il ne reçoit pas d'activation externe. Il dépend par défaut du nombre de liens afférents et de l'IC du nœud
agents (Ag) 
tableau qui contient les types d'agents que le nœud peut lancer dans le réservoir d'agents lorsque son activation est supérieure à un seuil d'activation; ces agents sont destinés, en général, à la reconnaissance ou à la localisation d'une instance de ce nœud dans le Blackboard

Chaque lien du réseau « appartient » au nœud dont il « part ». Il est orienté et a les caractéristiques suivantes:

type 
contient le nom du type de lien,
nœud 
contient le nœud pointé par ce lien,
poids 
représente l'influence que le nœud de départ a sur le nœud d'arrivée de ce lien, qu'on peut aussi voir comme la proximité conceptuelle des deux nœuds.

ECTOR utilise exclusivement cette partie de BAsCET pour modéliser ses « pensées ».

Le réseau de concepts est une dénomination différente pour carte cognitive floue, dont l'utilisation est différente (aucun agent n'est attaché à chaque nœud).

Propagation d'activation[modifier | modifier le code]

La propagation d'activation dans le réseau de concepts consiste à propager l'activation entre les nœuds à travers les liens pondérés du réseau de concepts.

/-----------------\                                 /----------------\
| S: anniversaire |                                 |    S: gâteau   |
+-----------------+                                 +----------------+
| IC:  80         |     /---------------------\     | IC: 70         |
| A : 100 %       +-----+ T: manger | P: 95 % +-----+ A :  0 %       |
| TD:   2         |     \---------------------/     | TD:  5         |
| Ag: CalculeJour |                                 | Ag: FaitGâteau |
\-----------------/                                 \----------------/
Figure 1: État du réseau de concepts avant propagation de l'activation.

Par exemple, la figure 2 montre le résultat de la propagation de l'activation dans le réseau déjà présenté à la figure 2.

/-----------------\                                 /----------------\
| S: anniversaire |                                 |    S: gâteau   |
+-----------------+                                 +----------------+
| IC:  80         |     /---------------------\     | IC: 70         |
| A :  98 %       +-----+ T: manger | P: 95 % +-----+ A : 86 %       |
| TD:   2         |     \---------------------/     | TD:  5         |
| Ag: CalculeJour |                                 | Ag: FaitGâteau |
\-----------------/                                 \----------------/
Figure 2: État du réseau de concepts après propagation de l'activation.

L'activation Ait+1 d'un nœud i à l'instant t+1, après propagation, s'exprime comme la somme de son ancienne activation Ait et de l'influence des autres nœuds Ii moins une certaine désactivation Di.

Les deux processus se retrouvent dans les réseaux de neurones. La raison d'être de la désactivation est d'empêcher une saturation trop rapide du réseau. De plus, il faut considérer aussi le fait qu'un nœud qui a été activé à un moment donné n'est plus forcément pertinent plus tard. La désactivation est là pour assurer que les nœuds actifs sont pertinents. Elle représente une sorte de perte d'intérêt pour un nœud. Cela permet de porter l'« attention » du système sur d'autres concepts. Pour qu'un nœud soit actif, il est donc indispensable, qu'il reçoive régulièrement de l'activation.

Ait+1 = Ait + Ii - Di
(1)

L'influence des autres nœuds pourrait être donnée par la formule classique, sommant les activations pondérées par les poids des liens, mais cette formule entraîne un déséquilibre entre les nœuds ayant beaucoup de nœuds voisins (influençant) et ceux qui en ont moins. Ce n'est pas parce qu'un nœud est influencé par peu d'autres nœuds qu'il doit être moins activé que d'autres nœuds un peu influencés par bien plus de voisins.

Ii = Σj ≠ i (Aj x Poidsij) / 100
(2)

La valeur moyenne des influences n'étant pas non plus une bonne solution (une grosse influence et toutes les autres influences nulles donneraient une influence quasi nulle), on introduit une notion de diviseur, tenant compte du nombre de liens arrivant (NbLa). Ce diviseur est logarithmique, donne une valeur de 1 lorsqu'aucun lien n'arrive au nœud et de 3 pour 24 liens afférents. Ce comportement a été jugé valable après quelques expérimentations. Cette fonction est fixe afin d'avoir des paramètres stables sur lesquels baser des interprétations du comportement du système. Comme pour beaucoup des paramètres de BAsCET, nous pourrions revoir sa définition, en étudiant par exemple son comportement en adoptant une fonction sigmoïde plutôt que logarithmique.

De cette manière, la nouvelle influence des voisins s'écrit :

Ii = Σj ≠ i (Aj x Poidsij) / ( 100 x Div )
(3)

avec une valeur maximale de 100.

Et la désactivation se calcule ainsi :

Di = Ai x TDi / 100
(4)

Le taux de désactivation TDi étant compris entre 0 et 100, Di représente bien le pourcentage de l'activation du nœud i correspondant à son taux de désactivation.

Étant donné que le nœud anniversaire n'a pas de lien afférent, Ianniversaire est nul.

Danniversaire = 100 x 2 / 100 = 2.

Donc sa nouvelle activation A1 = A0 + I - D = 100 + 0 - 2 = 98.

Pour le nœud gâteau, c'est différent : son activation est nulle, donc sa désactivation aussi, en revanche, il est influencé par anniversaire, et selon l'équation (3),

Igâteau = A0anniv. x Poidsanniv. → gâteau / (100 x Div gâteau).

Or Divgâteau = ln 4 / ln 3, donc Igâteau ≈ 86.

Enfin, d'après l'équation (1), A1 = 0 + 86 -0 = 86.

Dans l'exemple présenté, on peut ajouter un nœud bougie à ce réseau, qui serait associé aux symboles gâteau et anniversaire. Il faudrait ajouter un lien allant de gâteau à bougie étiqueté par anniversaire ; ainsi, lorsque anniversaire est activé et gâteau aussi, ce lien activerait bougie.

Le but du « jeu » dans le réseau de concepts est d'activer les nœuds les plus pertinents afin de pouvoir lancer des agents chargés de découvrir et de créer des instances de ces nœuds.

L'initialisation du réseau de concepts se fait par création dans le Blackboard d'une instance d'un ou plusieurs nœuds censés représenter le problème à traiter. Sachant que la création de telles instances active leurs pères, le problème de l'initialisation est partiellement résolu. Il reste ensuite à bâtir le réseau avec ce mode de fonctionnement en tête.