Vous êtes sur la page 1sur 20

Chapitre 04

Conception et Analyse
Conception et Analyse

4.1. Introduction :

Notre travail vise à montrer que la prise en compte explicite du contexte dans le
processus de génération d’explications, apporte un plus pour l’interlocuteur des systèmes
à base de connaissances au niveau de production des explications et le raisonnent
explicatif.

Pour représenter ce concept, on a choisi le formalisme des graphes contextuels qui


nous rend possible de donner une représentation uniforme des éléments du contexte ainsi
le raisonnement sur ses derniers.

Le processus explicatif peut être modélisé par un graphe contextuel où chaque


chemin représente une pratique pour générer une explication, depuis la requête de
l’interlocuteur jusqu’à la génération d’une explication acceptable pour ce dernier.

Le graphe qui illustre ce processus, est donné comme suit :

Figure 7 : Graphe contextuel qui illustre le processus explicatif

37
Conception et Analyse

Elément Définition
Contextuel

CE3 Requête valide ?

CE12 Type de la requête ?

CE16 Le type de la question ?

CE23 Règles disponibles ?

CE29 Explication satisfaisante ?

Tableau 4 processus explicatif (Les éléments contextuels)

Action Définition

A1 Acquérir la requête

A2 Valider La requête

A11 Déterminer le type de la requête

A15 Déterminer le type de la question

A17, A18 Extraire les connaissances

A19, A20 Envoyer la requête à la tâche Whow-Key

A21, A22 Rechercher dans la bibliothèque de règles commençant par


les connaissances déjà acquises

A27, A28 Appeler la tache Conexp

A25 Demander plus de détails

A31 Appeler la tache Genexp

A34 Redémarrer le processus explicatif

Tableau5 processus explicatif (Les actions)

38
Conception et Analyse

Pour concrétiser le processus explicatif illustré par le graphe contextuel, on a choisi


de concevoir un système multi-agents.

4.2. LA METHODOLOGIE DE DEVELOPPMENT :

Il existe plusieurs méthodes qui facilitent le cycle de développement d’un système


multi-agents. Nous avons choisi la méthodologie Voyelles pour modéliser notre système.
Notre choix est justifié par:

 Cette méthode repose sur la décomposition du système en quatre dimensions :


Agent, Environnement, Interaction, Organisation (AEIO). Cette décomposition
permet de modulariser le système, simplifier sa construction et offrir une meilleure
réutilisation du code.
 Voyelles n’est couplée à aucune notation ni plateforme, ce qui offre la
possibilité d’utiliser le langage AUML (Agent Unified Modeling Language), qui est une
extension du langage UML, dans la phase de conception du système et la plateforme
JADE pour réaliser le système.
 Voyelles repose sur des principes purement multi-agent.

La méthodologie « AEIO » se décompose en trois phases qui sont :

1. La phase d'analyse, qui permet d’identifier et de décomposer le problème en


quatre composantes fondamentales : Agents, Environnement, Interactions et
Organisation, pour dégager l'architecture générale du système.

2. La phase de conception, qui permet de choisir les modèles opérationnels des


composantes pour aboutir à la spécification du fonctionnement global du système,
exprimée sous forme de diagrammes de comportement ; Les modèles d'agents ou
architectures d'agents vont de modèles simples comme les automates à états finis (agents
réactifs) aux modèles plus complexes comme les systèmes à base de connaissances
(agents cognitifs). Les modèles d'environnement dépendent du domaine d'application, ils
sont généralement spatialisés et dotés d'une métrique. Les structures et langages
d'interaction vont des modèles issus de la physique, comme les modèles à base de forces,
à des interactions de haut niveau basées sur la théorie des actes de langages. Enfin, les

39
Conception et Analyse

modèles d'organisations vont des modèles biologiques jusqu'aux modèles inspirés par les
lois sociales.

3. La phase de programmation : (ou implémentation) consiste en


l’instanciation des modèles, en utilisant des plates-formes et des langages choisis. Le
résultat, le système implémenté, peut alors être exécuté, évalué (test et validation) et
repensé en cas d’inadéquation avec les besoins exprimés par le type de problème et le
domaine d’application [PICA, 04].

4.2.1. ANALYSE :

Les agents constituent les acteurs principaux de notre système. Pour identifier nos
agents nous devons discuter les tâches qui constituent le processus explicatif.

4.2.1.1. Les taches explicatives:

Notre système peut être décomposé en sept taches principales comme il est illustré
dans la figure7, chaque tâche a un rôle, des entrés et des sorties bien définies.
Nous présentons en bref chaque tâche et son rôle dans notre système explicatif.

1 -La tâche d’analyse de l’intervention de l’utilisateur final, notée Analque:

La tâche Analque:

Rôle : analyse l’intervention de l’utilisateur.


Entrée : intervention de l’utilisateur.
Sortie : selon nature de l’intervention
Structure de contrôle :
Si requête valide
Alors déclencher production d’explication
Sinon Si information
Alors mettre à jour base des connaissances
Sinon Erreur
Fréquence d’utilisation : régulière

40
Conception et Analyse

2 -La tâche de traitement de la requête avec l’adverbe interrogatif


Pourquoi, notée Why-how-key.

La tâche Why-how-key:

Rôle : identifier un adverbe interrogatif


Entrée : sortie de la tâche Why-not-key
Sortie : exécuter la tâche Why-how-know
Structure de contrôle :
Si adverbe Pourquoi identifié
Alors chercher connaissances appropriées
Sinon chercher connaissances relatives à l’adverbe « comment »
Fréquence d’utilisation : régulière

3-La tâche de traitement de la requête avec l’un des adverbes interrogatifs


Pourquoi, chargée de chercher dans la base des connaissances, les connaissances
nécessaires à la construction du texte explicatif. Nous la notons Why-how-know

La tâche Why-how-know:

Rôle : rechercher les connaissances appropriées


Entrée : contenu de la requête
Sortie : explication à construire
Structure de contrôle : néant
Fréquence d’utilisation : faible

41
Conception et Analyse

4-La tâche de traitement de la requête avec l’adverbe interro-négatif Pourquoi-pas,


chargée d’identifier l’adverbe interro-négatif. Nous la notons,Why-not-key.

La tâche Why-not-key:

Rôle : identifie l’adverbe interro-négatif Pourquoi-pas


Entrée : adverbe de la requête.
Sortie : selon résultat de l’identification.
Structure de contrôle :
Si adverbe interro-négatif Pourquoi-pas identifié
Alors executer tâche Why-not-know
Sinon executer tâche Why-how-key
Fréquence d’utilisation : Faible

5-La tâche de traitement de la requête avec l’adverbe interro-néogatif Pourquoi-


pas, chargée de chercher dans la base des connaissances, celles nécessaires à la
construction du texte explicatif. Nous la notons, Why-not-know.

La tâche Why-not-know:

Rôle : rechercher les connaissances appropriées


Entrée : contenu de la requête
Sortie : explication à construire
Structure de contrôle : néant
Fréquence d’utilisation : faible

6-La tâche de construction du texte explicatif. Nous la notons Consexp

La tâche Consexp:

Rôle : construit un texte explicatif intermédiaire


Entrée : sortie de la tâche Why-how-know ou Why-not-know
Sortie : texte explicatif intermédiaire
Structure de contrôle : néant

42
Conception et Analyse

Fréquence d’utilisation : régulière

7- La tâche de génération du texte explicatif. Nous la notons Genexp.

la tâche Genexp:

Rôle : génère le texte explicatif final


Entrée : sortie de la tâche Consexp
Sortie : texte explicatif final
Structure de contrôle : néant
Fréquence d’utilisation : régulière

4.2.1.2. IDENTIFICATION DES AGENTS :

Les SMA sont en effet mieux adaptés que d’autres techniques de modélisation à
générer cette sorte de phénomène émergent. En plus, avec la propriété dialogique de
ses agents, le SMA explicatif pourra interagir avec l’utilisateur, à un haut niveau
sémantique pour recevoir des requêtes et fournir des explications.
Chaque tâche précédemment citée peut être affectée à un agent, alors notre système
va être composé par l’ensemble d’agent suivant :

 L’agent Anque: pour exécuter la tâche Analque


 L’agent Whot-key : pour exécuter la tâche Why-not-key
 L’agent Whow-key : pour exécuter la tâche Why-how-key
 L’agent Conex: pour exécuter la tâche Consexp
 L’agent Genex: pour exécuter la tâche Genexp

De plus, l’agent User, qui sera chargé de la communication directe avec l’utilisateur
par l’interface graphique. Autrement dit, c’est l’agent qui s’occupe de l’organisation du
dialogue avec l’utilisateur et le système.

Le rôle de chaque agent est résumé précédemment dans la description de tâches


explicatives.

43
Conception et Analyse

4. 2.1.3. IDENTIFICATION DES UTILISATEURS


Notre système est un prototype d’un système explicatif qui a comme but de donner
des explications adéquates aux besoins de son interlocuteur.
L’utilisateur pourra :
 Poser des questions au système.
 Demander des explications sur le raisonnement du système.
 Enrichir la base de connaissance du système.

4.2.1.4. IDENTIFICATION DES INTERACTIONS :


Le processus explicatif est un processus coopératif ce qui implique la présence des
interactions dans notre système.
Nous distinguons deux types d’interactions dans notre système :
 Les interactions entre les agents du système qui représentent les relations de
dépendance et de collaboration entre nos agents.
 Les interactions entre le système et l’utilisateur à travers l’interface utilisateur.

4.2.1.5. LES INTERACTIONS ENTRE LES AGENTS DU SYSTEME :


 Interactions Agent Anque – Agent Whow-key :
 Transmettre la requête utilisateur par AnqueàWhow-key.
 Interactions Agent Anque – Agent Whot-key:
 Transmettre la requête utilisateur par Anque à Whot-key
 Interactions Agent Whow-key – agent Conex: 
 Transmettre les connaissances nécessaires pour la construction de
l’explication initiale par Whow-key à Conex.
 Interactions Agent Whot-key – agent Conex :
 Transmettre les connaissances nécessaires pour la construction de
l’explication initialep à Whot-key à Conex.
 Interactions Agent Conex- Agent Genex :
 Transmettre le texte explicatif initial par Conex à Genex.

44
Conception et Analyse

4.2.1.6. L’ORGANISATION :

L’organisation décrit la structure des éléments du système qui interagissent entre


eux et qui sont en relation afin d’atteindre un objectif commun.
Comment notre système est organisé ?
L’organisation de notre système est illustrée dans le schéma qui suit.

Figure 8 : Diagramme d’organisation

45
Conception et Analyse

4. 2.2. Conception :

La conception est une des parties importantes de notre projet, dans cette partie nous
affinons notre analyse en introduisant la structure opérationnelle des composantes de
notre système explicatif.
Dans ce qui suit, nous définirons :
 L’architecture interne des agents.
 Le comportement des agents;

4.3. PROTOCOLES D’INTERACTIONS DU SYSTEME :

4.3.1. PROTOCOLE « Validation de la requête» :

Figure 9 : Protocole de validation de la requête

Lorsqu’un utilisateur désire poser une question ou enrichir la base de connaissance,


il envoie à l’Agent Anque une requête.

46
Conception et Analyse

L’Agent Anque vérifie la validité syntaxique et sémantique de la requête si la


requête est valide suivant son type il envois la requête à l’Agent Whow-key ou l’Agent
Whot-key, il enrichit la base de connaissance si elle est non valide il refuse et demande à
l’utilisateur de reformuler sa requête.
4.3.2. PROTOCOLE « Construction d’explication» :

Figure 10 : Protocole de construction d’explication

L’Agent Conex a pour mission de construire un texte explicatif puis le transmettre a


l’agent Genex.
L’agent Conex reçoit les connaissances nécessaires pour construire un texte
explicatif de l’agent Whot-Key ou Whow-Key.

Puis l’agent Conex construit un texte explicatif initial et le transmet à l’agent Genex

47
Conception et Analyse

4.3.3. PROTOCOLE « Génération d’explication» :

Figure 11 : Protocole de génération d’explication

Lorsque l’agent Genex reçoit le texte explicatif de l’agent Concex, il génère


l’explication à l’utilisateur.
Si l’utilisateur est satisfait il arrête le processus explicatif où il peut poser une autre
question.
Si l’utilisateur n’est pas satisfait il demande une explication plus détaillée.

4.4. ARCHITECTURE GENERALE D’AGENT :

Une meilleure compréhension des besoins de chaque utilisateur et les agents qui
composent notre système explicatif nécessite des informations spécifiques au contexte.
Les connaissances contextuelles interviennent de façon implicite dans le processus
de génération de l’explication, ces connaissances sont élaborées au cours du raisonnement
explicatif. De plus, elles apparaissent à différents niveaux depuis la source de
connaissances nécessaires à la construction de l’explication jusqu'à la génération à
l’utilisateur final.

48
Conception et Analyse

Dans notre système, l’agent n’a pas besoin seulement d’expliciter le contexte mais
aussi le partager avec les autres agents qui coopèrent avec lui et le comprendre pour
générer une bonne explication.
Le but de l’architecture proposé par [Laraba2009] illustrer dans la figure 12 est de
permettre les agents qui composent notre système de raisonner sur le contexte et le
capturer, ainsi distribuer les connaissances contextuelles entre les agents.

Figure 12 : Architecture d’agent [Laraba 2009]

Le composant linguistique :
Ce composant est chargé de faire l’analyse lexicale et syntaxique ainsi la
sémantique des requêtes de l’utilisateur vers le système, et aussi les requêtes interne du
système entre les agents qui le composent.

Le composant dialogique :
Ce composant est chargé de gérer le dialogue entre le système et l’utilisateur, et le
dialogue entre les agents qui composent notre système.

49
Conception et Analyse

Le composant de communication :
Ce composant est dédié à gérer les différents communications entre le système et
l’utilisateur, et entre les agents du système et les différents composants d’un agent.

Le composant cognitif :
Ce composant gère les différents types de connaissances d’un agent.
Le composant contexte :
 Sous composant de capture du contexte:
Ce composant agit quand une nouvelle requête de l’utilisateur est reçue, pour
connaître les informations personnelles de l’utilisateur final, ses compétences, le lieu
d’intervention, l’heure ex…
 Sous composant de raisonnement sur le contexte :
Créer le profil de l’utilisateur final selon les informations transmis par Sous
composant de capture du contexte, et transmet cette information au composant cognitif de
l’agent.

4.5. CLASSE D’AGENT :

Une classe d'agent représente un agent ou un groupe d'agents pouvant jouer un rôle
ou avoir un comportement déterminé.
Une classe d'agent comporte :
 Description de la classe d'agent et des rôles
 Description de l'état interne
 Actions, méthodes et services fournis
 Messages échangés

Le diagramme de classes d’agents qui composent notre système est illustré dans la
figure 13.

50
Conception et Analyse

Figure 13 : Diagramme de classe d’agents

Nous allons donner plus de détails sur les classes d’agents dans le chapitre de
réalisation.

51
Conception et Analyse

Pour mieux décrire les protocoles d’interactions, on présente les diagrammes


d’activités de chaque agent.

4.6. DIAGRAMMES D’ACTIVITES DES AGENTS :


4.6.1. DIAGRAMME D’ACTIVITE DE L’AGENT Analque :

Figure 14 : Diagramme d’activité de l’agent Anque

4.6.2. DIAGRAMME D’ACTIVITE DE L’AGENT Whot-key / Whot-key :

52
Conception et Analyse

Figure 15 : Diagramme d’activité de l’agent Whow-key / Whot-key

4.6.3. DIAGRAMME D’ACTIVITE DE L’AGENT Concex :

Figure 16 : Diagramme d’activité de l’agent Conex


4.6.4. DIAGRAMME D’ACTIVITE DE L’AGENT Genex :

53
Conception et Analyse

Figure 17 : Diagramme d’activité de l’agent Genex

4.7. CONCLUSION

Nous avons vu dans ce chapitre le cheminement que nous avons suivi pour
l’élaboration de notre prototype explicatif. La modélisation du raisonnement explicatif
par le formalisme des graphes contextuels, la structure du système et les différents
agents pourront intervenir et la manière dont ils coopèrent pour produire une explication.
Nous retrouvons dans notre modèle un ensemble d’agents, chaque agent est muni un
ensemble des modules pour bien accomplir sa tâche.
L’Agent Anque intercepte les requêtes des utilisateurs, il assure la validité
syntaxique et sémantique de ses requêtes puis détermine leurs types et les transmettre
aux agents Why-not-key ou Why-how-key suivant le type de la requête. Ces derniers
collectent les connaissances nécessaires pour la construction de l’explication. En suite,
vient le rôle de l’agent Concex qui construit le texte explicatif et le transmettre à l’agent
Genex qui génère le texte explicatif final aux utilisateurs.
La modélisation du contexte d’exécution du processus explicatif par le formalisme
des graphes contextuels nous a permis de mieux voir les conditions et les situations qui

54
Conception et Analyse

peuvent être présentent dés l’arrivée de la requête de l’utilisateur à la génération d’une


explication.

Dans le chapitre suivant nous verrons, entre autres, l’implémentation des agents
ainsi que l’implémentation des interactions ses agent, et les utilisateurs.

55

Vous aimerez peut-être aussi