• Aucun résultat trouvé

4.5 Système Multi-Agent Adaptatif pour l’évolution de Ressources Termino-

4.5.1 Les agents termes

4.5.1.1 Comportement nominal d’un agent terme

La finalité d’un agent terme est de trouver sa bonne place dans l’AMAS et de se proposer à l’ontographe. Pour y arriver, il doit réaliser trois objectifs :

1. dénoter un agent concept ;

2. traiter toutes ses relations lexicales ;

3. et si les conditions sont remplies, se proposer à l’ontographe.

Durant son cycle de vie, chaque agent terme traite ses objectifs ainsi que les demandes reçues des autres agents, de la plus prioritaire à la moins prioritaire. L’objectif prioritaire d’un agent terme est de dénoter un agent concept. Cet objectif atteint, le suivant est déterminé par l’agent selon la confiance de la relation à traiter, la pertinence de l’agent pour se proposer à l’ontographe et les confiances des demandes qu’il reçoit. L’algorithme du comportement nominal d’un agent terme est présenté dans l’algorithme 4.1.

(i) Afin de réaliser son premier objectif, un agent terme émet une demande de création d’un agent concept à l’outil de gestion des agents Nest (4.3). Un agent concept est créé si dans le système il n’y a pas d’agent concept ayant le même identifiant ou label que l’agent terme. L’outil Nest transmet par la suite à l’agent terme l’identifiant de cet agent concept. L’agent terme envoie alors à cet agent concept une demande de dénotation (Ê). Cette demande est toujours acceptée par un agent concept (Ë). Ce lien de dénotation a une confiance calculée par l’agent terme selon les principes de la formule de calcul de la confiance d’un candidat terme. La

confiance de dénotation est formée par le couple(Q; I)où Q est la valeur maximale des Q

de toutes les relations que l’agent terme possède ; et I est la somme des instances des relations de l’agent terme ayant un Q proche d’un δ (fixée à 0.5) du Q maximal.

Algorithme 4.1 — Algorithme du comportement nominal d’un agent terme Perceive()

1

// Il perçoit les messages envoyés par des agents et par l’analyseur de corpus. 2

ProcessNotification() 3

// Il met à jour ses connaissances sur ses relations (acceptation, refus et suppression de relations). 4

if(!havingADenotationRelation and !isInOTR)then 5 ProcessNoDenotationLinkProblem() 6 // Il traite la dénotation. 7 end 8

Task mostCriticalTask←−getMostCriticalTask()

9

if(mostCriticalTask != null)then 10

if(mostCriticalTask instanceof IRequest)then 11

ProcessRequest(mostCriticalTask) 12

// Il traite ses requêtes de la plus critique à la moins critique. 13

else 14

ProcessRelation(mostCriticalTask) 15

// Il traite ses relations de la plus critique à la moins critique. 16 end 17 else 18 if(!isInOTR)then 19

float agentRelevancy←−updateAgentRelevancy()

20

if(!agentRefused and agentRelevancy≥ProposalThreshold)or(agentRefused and 21

agentRelevancy>RefusedThreshold)then ProposeToTheOntologist()

22

// S’il dépasse le seuil de proposition alors il se propose à l’ontographe. Dans le cas où il 23

est refusé par l’ontographe, il devra dépasser le seuil de refus pour se proposer. end 24 end 25 stopAgent() 26 end 27

SNC 1. A sa création un agent terme est face à une Situation Non-Coopérative (SNC) de non déno-

tation. Il s’agit d’une SNC d’inutilité. En effet, un agent terme ne peut pas réaliser ses objectifs s’il n’est pas attaché à un agent concept. Il est donc inutile.

Résolution de la SNC 1. Pour résoudre la SNC de non dénotation, l’agent terme envoie une de-

mande de création d’un agent concept à l’outil Nest. Ensuite, l’agent terme envoie une requête de dénotation à l’agent concept. Il s’agit d’une résolution arbitraire de la SNC qui permet à l’agent terme de poursuivre ses objectifs. Au cours de son cycle de vie, il pourra de nouveau changer de voisinage d’agents ou disparaître s’il redevient inutile.

(ii) Un agent terme traite les relations lexicales dont il est source. Chaque relation a une confiance et un statut (non traité, traité ou refusé). Un agent terme traite ses relations de la plus pertinente (ayant la confiance la plus élevée) à la moins pertinente en envoyant à l’agent concept qu’il dénote une demande de traitement de la relation lexicale (Ì). Cette demande a une confiance(Q; I)égale à la confiance de la relation à traiter. L’agent concept traite la rela- tion, puis il notifie l’agent terme par un message d’acceptation ou de refus (Í). Ce message de notification a une confiance(Q; I). L’agent terme met à jour le statut de la relation à traiter.

bug error

bug Synonymie error

❶ ❸ ❹ ❶

❷ Denote Denote

Figure 4.9 — Interaction entre les agents termes et les agents concepts.

Si elle est refusée, le statut de la relation passe à refusé sinon il passe à traité. L’agent terme pourra redemander par la suite, le traitement d’une relation refusée, si sa confiance augmente et dépasse la force de refus (par exemple, suite à l’ajout de nouveaux textes).

bug error bug error ❺ ❻ ❽ ❼ Synonymie ❾ Denote Denote Denote

Figure 4.10 — Interaction entre les agents termes et les agents concepts pour traiter une sy-

nonymie.

Lorsque l’agent terme traite une relation de synonymie (Î), son agent concept envoie à l’agent terme cible de la relation une demande de changement de lien de dénotation (Ï).

Cette demande a une confiance (Q; I)égale à la confiance de la relation de synonymie à

traiter. Si la confiance de dénotation(Q; I)courante de l’agent terme cible est moins forte que la confiance de la demande, ce dernier accepte la demande, change son lien de dénotation (Ð) et notifie l’agent concept par une acceptation (Ñ). Dans le cas contraire, il notifie l’agent concept par un refus dont la confiance correspond à la confiance du lien de dénotation de l’agent terme. L’agent terme à l’origine de la demande est notifié par la suite (Ò).

SNC 2. Au cours du traitement d’une demande de dénotation envoyée par un agent concept, un

agent terme peut être face à une SNC d’ambiguïté de décision. Plus précisément, il s’agit d’une SNC d’ambiguïté de dénotation. L’agent terme ne peut pas choisir l’agent concept qu’il veut dénoter si la confiance de la demande de dénotation(Q1; I1)est égale à sa confiance de dénotation courante

(Q2; I2).

Résolution de la SNC 2. Un agent terme préfère un voisinage ayant des agents concepts valides.

Dans ce cas, pour résoudre une SNC d’ambiguïté de décision de dénotation, un agent terme choisit de dénoter l’agent concept valide. Dans le cas où l’agent concept ayant envoyé la demande de dénotation

et l’agent concept couramment dénoté par l’agent terme sont tous les deux valides ou non valides, l’agent terme choisit l’agent dont la pertinence est la plus grande. L’agent terme choisit donc celui qu’il croit le plus pertinent. En cas d’égalité, l’agent terme refuse alors la demande de dénotation.

(iii) Pour pouvoir se proposer à l’ontographe, un agent terme, calcule sa pertinence. Elle cor- respond à une valeur comprise entre 0 et 10. Lorsque cette valeur dépasse un seuil de pro- position initialement fixé à 5 et ajustable ensuite en fonction des interactions avec l’onto- graphe, un agent terme se propose à l’ontographe en envoyant une requête de proposition au gestionnaire des propositions. Lorsque l’ontographe accepte ou refuse la proposition, le ges- tionnaire des propositions notifie l’agent terme par une notification de refus ou d’acceptation. L’agent terme met alors à jour son statut. Afin d’empêcher que les agents termes se proposent à nouveau en cas de refus de l’ontographe, nous avons attribué une confiance forte (égale à 9) aux interventions de celui-ci. Dans ce cas, l’agent terme ne pourra se proposer à nouveau que si sa pertinence dépasse cette confiance de refus. En effet, nous pensons qu’au cours de la maintenance d’une RTO, un ontographe peut qualifier un candidat terme de non pertinent pour le domaine et par la suite revenir sur sa décision. Par ailleurs, lorsqu’un agent terme est refusé, cette information de refus est sauvegardée dans le système dans une liste appelée "blackList".

En résumé, un agent terme cherche sa bonne place dans l’organisation du SMA en traitant des relations lexicales. Il se déplace d’un agent concept vers un autre agent concept essentielle- ment grâce au traitement des relations de synonymies. Pour évaluer localement l’adéquation de cette position, l’agent terme calcule sa pertinence selon le principe précisé dans la section suivante.