Transcript Document

Des agents intelligents dans un environnement
de communication multimédia :
vers la conception de services adaptatifs
Romaric CHARTON
Directeurs de thèse :
Directeur entreprise :
Anne BOYER et Jean-Paul HATON
Michel LEDERMAN
Mardi 2 décembre 2003
Les services de communication multimédia
Service :"Ce que l'on fait pour être utile, à titre onéreux ou non" (Larousse 1998).
Mon étude : services réalisés sur des supports et réseaux informatiques
• qui utilisent des médias de communication divers :
–
–
–
•
le téléphone,
la messagerie électronique,
le web, etc.
pour permettre de :
–
–
–
passer une commande en ligne,
rechercher une information,
gérer un portefeuille de titres boursiers, etc.
2/51
Positionnement des travaux
Fournir des services adaptatifs
Acteurs
Nature des services
Approche Agent
Systèmes
Multi-Agents
hétérogènes (hSMA)
Interactions dans
les h-SMA
Évaluation
Adaptation
Communication multimédia
Indices
• déroulement
• applications concrètes
• satisfaction
• environnements incertains
• coûts
• préférences de
l'utilisateur
Théorie des probabilités
(Modélisation stochastique)
Théorie de
l'utilité
Apprentissage
3/51
Plan de l'exposé
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
4/51
Partie 1 - Contexte et problématique
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
5/51
1
Collaboration avec la société DIALOCA
• Création :
octobre 1996 à Paris
• Domaine :
Gestion de la relation client et langage naturel
• Clients :
Danone, Ministère de l'Intérieur, PSA, CNP, TopTrades, etc.
• Large palette d'applications
Multimédia, interactives et grand public
– accès au web par téléphone,
– support de bornes interactives et de centres d'appels,
– gestion de télé-réunions ...
• Plate-forme UniMédia
6/51
1
Déroulement d'un service
sur la plate-forme UniMédia
E-Nots : notification
Applications
téléphonique
démarrage
Moteurs
Administration
Synthèse de parole
Reconnaissance de parole
Authentification
...
PMMU
Pilotes
Web
E-Mail
Téléphone
Fax
SGBD
...
Destinataire
Expéditeur
(abonné)
7/51
1
Objectifs de la collaboration
Scripts (automates finis déterministes)
Objectifs (utiliser des méthodes IA)
• Complexité (cas particuliers / erreurs)
• Faciliter la conception et le déroulement
des applications
• Modèle implicite et figé de l'utilisateur
• Besoin de connaissances expertes
• Adapter leur exécution au comportement
de l'utilisateur et à ses préférences
+ contrainte : garder l'existant
Applications
existantes
(scripts statiques)
Comportement
d'un agent
Services
adaptatifs
Plate-forme UniMédia
8/51
1
Pourquoi une approche agent ?
Besoin de propriétés :
• autonomie
Environnement
• prise de décisions
• communiquer
• gérer des connaissances
• gérer des ressources
Actions
Perceptions
Satisfaction
Comportement
• comportement utile
Capteurs
Effecteurs
Agent
Agent à rationalité limitée
(Russell et Norvig 1995)
9/51
1
Utilité et évaluation des services
Nombreux indices possibles  difficile à définir
Un
Notre
choix
choix
classique
plus "orienté"
:
vers les services adaptatifs
U=R-C
Réussite de la tâche accomplie
du
du point
point de
de vue
vue des
du concepteur
utilisateurs
Coûts d'utilisation des ressources
(propres / détenues par des tiers)
Problème : Comment mesurer la satisfaction de l'utilisateur ?
Approximation : une valeur numérique associée actions de l'utilisateur
 Idée que l'agent estime son utilité à partir de ses perceptions des autres ...
10/51
1
Systèmes Multi-Agents
(Ferber 1995)
Réaliser un service de
façon collective
Un Système Multi-Agent (SMA)
Interaction
Interaction
buts compatibles
Coopération
Environnement
objets
capacités individuelles
insuffisantes
Collaboration
coordonnée
11/51
1
Communication et hétérogénéité

?
A
quelle
heure mon
avion part-t-il ?
Langage L A
,?
Langage L B
Agent A
Agent B
Contrainte : Sachant que A et B ne sont pas "modifiables"
Comment faire interagir A et B ?
Et si A est un humain ?
Difficultés de l'interaction Homme-SMA (Grislin-LeSturgeon et Peninou 1998)
• comment déterminer ce que A veut ?
• comment prévoir son comportement ?
• que préfère-t-il ? ...
12/51
1
Problématique générale
Scientifique
Applicative
Comment coordonner un ensemble
d'agents hétérogènes pour réaliser
coopérativement une tâche ?
Comment faciliter la conception et le
contrôle de services adaptatifs ?
Difficultés à prendre en compte
• Interaction avec des agents humains
• Applications réelles  environnements incertains
• Réponse à des besoins industriels
13/51
Partie 2 - Approche Théorique
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
14/51
2
Les Systèmes Multi-Agents hétérogènes (h-SMA)
Ensemble A d'agents de nature très différente : humains, logiciels, etc.
• Partition selon la nature des agents et de leur environnement
• Partition selon l'influence et le degré de connaissance que l'on a sur les agents
Environnement logiciel A L
N
N
N
Environnement physique A P
C
P
C
C
P
P
C
P
Agents contrôlés A C
Comparables à UniMédia
Agents partiellement contrôlés A PC
Experts, sites partenaires, ...
Agents non-contrôlés A NC
Utilisateurs, clients, ...
Liens d'interaction
15/51
2
Une solution au problème de l'hétérogénéité
Introduire un agent coordinateur pour amener A et B à coopérer en
modifiant leurs interactions.
Langage L B
Langage L A
Agent A
Agent C
Agent B
Besoins
Coordinateur
Capacités
Coordination : colle qui lie des activités (Gelernter et Carriero 1992)
16/51
2
Comment obtenir le comportement du coordinateur ?
Statique
Automates : programmes,
scripts, règles, etc.
Connaissances
implicites du concepteur
Dynamique
Planification
Modèle connu
explicitement
Apprentissage
Expériences ou traces
Monde de l'agent
17/51
2
D'un coordinateur à base de scripts ...
Langage de scénarisation UniMédia
Automate de comportement
Debut :
Attente
SEQ{
send, NULL, "debut.mod",
SEQ {PARAMS},
Recevoir demande
Abstraction
SEQ {BRANCH}
Demande à traiter
};
Analyse
FAQ
Etape_Demande :
SEQ {
getstrings, NULL, "demande.mod",
Réponse
Connue
Échec
Envoyer
réponse
Transmettre
question
SEQ {PARAMS},
SEQ{ BRANCH , SEQ { ReturnCode,
SEQ{"Media_IF_TypeUnknown", Etape_Demande },
SEQ{"Media_UserInactivity", Etape_Demande }}
}
}; ...
...
Recevoir
réponse
Attente
18/51
2
... à des schémas d'interaction
G 1 : Comportement de
l'utilisateur
Besoin
G 2 : Comportement du
coordinateur
Attente
Attente
Liens d'interaction
Recevoir demande
Poser question
G 3 : Comportement
d'un expert
Recevoir demande
Demande à traiter
...
Traiter la demande
Attente
Recevoir
réponse
...
Utilisateur (A PC)
Envoyer
réponse
Réponse
Connue
Échec
Analyse
FAQ
Recevoir
réponse
Réponse trouvée
Transmettre
question
Envoyer réponse
Attente
...
Coordinateur (A LC)
Expert (A PPC)
19/51
2
Comment structurer les relations ?
Organisation : agencement de relations entre composants ou individus qui produit
une unité, ou système, dotée de qualités inconnues au niveau des
composants ou individus. (Ferber 1995)
Structure organisationnelle
subordination
?
Organisation concrète
instanciation
?
Rôles
?
Endosser un rôle :
• satisfaire des contraintes sur ses capacités
• adopter un comportement typique
20/51
2
Structures organisationnelles et classes de service
Rôles génériques
Coordination simple
S
U Utilisateur
C Coordinateur
S
C
C
S Source
U
T Traitement
S
Télé-réunion
S
U
S
C
U
U
U
T
U
U
S
Recherche
d'informations et
assistance à la
navigation
S
Traitement intelligent de
l'information
C
Diagnostic, filtrage ...
U
21/51
Partie 3 - Les services de recherche d'informations
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
22/51
3
Assistance à la recherche d'information
Source
Utilisateur
Coordinateur
Source
Source
Contraintes :
• Utilisateurs : occasionnel, novice
• Sources d'informations : non propriété, coût
Objectif :
Améliorer la qualité du service fourni par rapport à la recherche classique
23/51
3
Exemple de problème : le choix d'un vol
Ne sait pas formuler
sa requête
Souhait :
réserver un vol
de Paris à Moscou
Client
Fournit trop de résultats,
bruits ...
Requête
Interaction
Source
d'informations
Résultats
Coordinateur
24/51
3
Rôle de l'agent coordinateur
Ses buts :
• Construire une requête correspondant le plus au besoin de l'utilisateur
• Fournir des résultats appropriés à l'utilisateur
• Maximiser son utilité :
– Maximiser la satisfaction de l'utilisateur
– Minimiser les coûts liés à la source d'information
A tout moment, il peut
• Poser une question à l'utilisateur au sujet de la requête
• Envoyer la requête à la source d'information
• Proposer des résultats à l'utilisateur en nombre limité
En retour, il perçoit les réponses des autres agents :
valeurs, résultats, sélections, rejets …
25/51
3
Coordination et stratégies de coordination
Coordination : Contrôle d'une séquence d'interactions (questions-réponses)
Réussie : • Sélection d'un résultat
• Absence de résultat constatée au niveau de la source
Stratégie de coordination : Façon de choisir les actions pour coordonner
la suite des interactions.
Problème : Comment obtenir le comportement de coordination adéquat ?
Solution proposée : Trouver une stratégie de coordination optimale
26/51
3
Caractéristiques du coordinateur
Gérer l'incertitude et les connaissances incomplètes
• Utilisateurs :
– Mauvaise compréhension des questions
– Connaissance partielle de leurs besoins
• Environnement :
– Bruits pendant la communication
– Capteurs imparfaits
Proposition :
• Modéliser la coordination avec un Processus de Décision Markovien
• Calculer un comportement stochastique de coordination
27/51
3
Processus de Décision Markovien (MDP)
• Modèle Stochastique <S,A,T,R>
– États S={s0,s1,s2}
0.5
0.4
– Actions A={a0,a1}
s0
– Transition T : S  A  S  [0;1] avec
T(s,a,s') = P (s'|s,a)
– Récompense R : S  A  S  IR
a
0
0.3
 : Attenuation
a
0.1
0
0.5
0.6
0.5
0.7
• Optimiser la récompense espérée
s1
1
0.9
1
a
 : S  A  [0;1]

a
a
• Décider selon une politique
R  i 0  ri
0.5
0.8
0.2
1
s2
a
0
Calculer une stratégie de coordination
revient à
Calculer une politique stochastique
28/51
3
Un MDP pour contrôler les interactions
Définir
• S:
• A:
• T:
• R:
Environnement du coordinateur
L'espace d'états
Les actions du coordinateur
Les transitions
Les récompenses
Utilisateur
T
Source
Suite d'interactions
(MDP à contrôler)
S, R
A
Coordinateur
29/51
3
Etats : Comment décrire les requêtes et les objets ?
Approche de remplissage de formulaire (Goddeau et al. 1996) :
 Référentiel construit sur un ensemble d'attributs
Ref = { At 1, … , At m }
Exemple de référentiel :
• Départ :
• Arrivée:
• Classe :
{ Londres, Genève, Paris, Berlin, … }
{ Pékin, Moscou, New-York, … }
{Première, Affaire, Économique, ... }
30/51
3
Espace d'états S
• La requête partielle courante de l'utilisateur
s U = { ( ea 1 , val 1 ) ; ... ; ( ea m , val m ) }
État d'un attribut :
• Ouvert ea = ‘?’
• Affecté ea = ‘A’
• Fermé ea = ‘F’
Source
Utilisateur
sR
sU
Coordinateur
S=S US R
val est inconnue
val est affectée
val est inconnue et ne peut plus être demandée
• L'ensemble des objets connus qui correspondent à la requête courante
s R = { vol 1; ... ; vol r}
 Espace d'états S = S U  S R
• S U est l'ensemble des requêtes partielles utilisateur
• S R est l'ensemble des parties des objets de la source d'informations
31/51
3
Abstraction des états (S  S)
Taille de l'espace d'états S : (2 n +1) (2+i) m
– n:
– m:
– i:
nombre total d'objets de la source d'information
nombre d'attributs
nombre moyen de valeurs par attribut
 Une idée : une abstraction S de l'espace d'états S pour définir le MDP
en conservant : s U  {?, A, F} m l'état d'affectation des m attributs dans s U
s R  {?, 0, +, *} la quantité de réponses sur s R
qr = ?
qr = 0
qr = +
qr = *
Nombre de
réponses
Inconnu
(vide)
0
nrmax
 Taille de l'espace d'états abstrait S : 4  3m
32/51
3
Actions du coordinateur
Utilisateur
Source
Question
Requête
ou résultats
Coordinateur
• Poser une question sur un attribut à l'utilisateur
Exemple pour la classe de voyage :
• Valuation :
“En quelle classe souhaitez-vous voyager ?”
• Proposition : “Voulez-vous voyager en classe [affaire] ?”
• Confirmation : “Êtes-vous sûr de vouloir voyager en classe [économique] ?”
• Interroger la source d'informations
• Demander à l'utilisateur de sélectionner un résultat
33/51
3
Récompenses
Utilisateur
Elles sont obtenues :
Source
Sélection,
déconnexion
Réponses
Coordinateur
• par l'interaction avec l'utilisateur
+
-
R selection l'utilisateur sélectionne une proposition
R timeout l'interaction est trop longue (déconnexion / seuil)
• par l'interaction avec la source d'informations
+
-
R noresp pas de réponses pour une requête totalement spécifiée
R overnum trop de réponses (quantité de réponses s R = *)
34/51
3
Exemple de coordination
pour la réservation de vol
État s
Abstraction s Action du coordinateur
Réponses
Récompense
<?, ?, ? | ?>
<?, ?, ? | ?>
Demander ville départ
Paris
0
<Paris, ?, ? | ?>
<A, ?, ? | ?>
Envoyer la requête
1700 vols
- R Overnum
Demander destination
Moscou
0
Ne sait pas
0
4 vols
0
Sélection 2
+ R Sélection
<Paris, ?, ? | {nr Max premiers vols} > <A, ?, ? | *>
<Paris, Moscou, ? | ?>
<A, A, ? | ?> Demander classe de vol
<Paris, Moscou, F | ?>
<A, A, F | ?>
<Paris, Moscou, F | {4 vols}>
Légende :
Envoyer la requête
<A, A, F | +> Demander une sélection
Utilisateur Coordinateur Source
35/51
3
Calculer la stratégie de coordination
Problème : Deux parties du modèle restent inconnues !
• T = f (utilisateur, source d'information)
• R = f (utilisateur, source d'information)
 Apprendre la stratégie de coordination par renforcement
36/51
3
Apprentissage par Renforcement
(Sutton et Barto 1998)
Transition
Observation
Système Dynamique
Renforcement
(récompenses)
Besoin d'une méthode d'apprentissage en ligne
Action
V(s) s
a
Q(s,a)
s' V(s')
 Algorithme du Q-Learning (Watkins 1989)
qui fonctionne par la mise à jour de Q-Valeurs (Q : S  A  IR)
37/51
3
Architecture du coordinateur
Agent Coordinateur
Gestionnaire
des profils
utilisateurs
Préférences
Module de Décision
(Q-Learning)
Récompenses
Actions
sélectionnées
Gestionnaire
d'Interactions
Réponses et
sélections
Agent
Utilisateur
Etat Abstrait
Module de
Représentation
(état réel)
Mise à jour
Résultats
Questions et
résultats
Requêtes
Agent Source
d'Information
38/51
3
Gestion des préférences des utilisateurs
Ensemble de profils Prof = { prof 0 , prof 1 , ... , profn }
avec un profil par défaut prof 0 pour les nouveaux utilisateurs.
Un profil prof i
• mémorise, pour chaque attribut At i , la probabilité p ( v k | prof i , At j ) que cet
utilisateur préfère la valeur v k
• est initialisé avec des distributions uniformes
• est mis à jour à la sélection d'une proposition
p(classe)
0,05
0,2
0,75
Première Affaire Economique
39/51
Partie 4 -Mise en œuvre
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
40/51
4
Modélisation d'UniMédia
Objectif :
Se doter d'un modèle conceptuel pour fournir les services dans les h-SMA
Proposition : Une modélisation agent à 4 niveaux
UniMédia
Modélisation
Service
Applications
(rôles et classes de service)
U
C
S
T
Agent
(nature / contrôlabilité)
Moteurs et pilotes
Média
Ressource
(capteurs / effecteurs)
Média
(canaux média et "prises")
Utilisation : • sur les services Dialoca
• pour des applications de l'équipe MAIA (Diatélic, Cycab, ...)
41/51
4
Implantation de la maquette SmallMu
Objectifs : Pouvoir travailler sur un agent logiciel contrôlé reproduisant
ou émulant les fonctionnalités nécessaires
Réalisation :
• Une bibliothèque fournissant un corps d'agent capable d'accueillir
– un cerveau pour le comportement,
– des membres pour percevoir et agir.
• Un ensemble de membres dédiés à l'environnement multimédia :
– Reconnaissance et synthèse de parole,
– E-Mail,
– SMS (émulé)
Utilisation : Prototype de coordinateur pour la réservation de vol
42/51
4
Expérimentations sur
l'application de réservation de vol
Entraînement du coordinateur avec
• 3 attributs (villes de départ/arrivée et classe)
• 4 attributs (+ période de la journée de départ)
• 5 attributs (+ la compagnie aérienne)
Croissance de la complexité en fonction du nombre des attributs :
Nb. d'attributs
(m)
Nb. états abstraits
(4.3 m)
Nb. d'actions
(3.m+2)
Nb. de Q-Valeurs
((12.m+8).3 m)
3
108
11
1 188
4
324
14
4 536
5
972
17
16 524
43/51
4
Résultats d'apprentissage
taux de coordinations réussies
% de sessions réussies (sélection / absence de réponse)
100
90
80
70
60
50
40
30
20
3 attributs
4 attributs
5 attributs
10
0
0
20000
40000
60000
80000
100000
120000
140000
160000
180000
200000
Nombre d'itérations
• 3 et 4 attributs 99% de coordinations réussies (proche de l'optimum)
• 5 attributs
90% de réussite (plus de temps nécessaire pour converger)
44/51
4
Résultats d'apprentissage
longueur moyenne de coordination
Nombre moyen d'actions du coordinateur par session
50
3 attributs
4 attributs
5 attributs
45
40
35
30
25
20
15
10
5
0
0
20000
40000
60000
80000
100000
120000
140000
160000
180000
200000
Nombre d'itérations
• 3 et 4 attributs longueur minimale de la coordination atteinte
• 5 attributs
coordination plus longue
45/51
4
Critique des comportements obtenus
Grand nombre d'interactions nécessaires
 besoin d'une phase d'apprentissage préalable
Problème : difficulté d'obtenir un corpus de traces d'interaction réelles
 utilisation d'un utilisateur simulé avec un comportement naïf
Constats :
+ stratégie optimale obtenue / adaptation au comportement simulé
- manque de richesse dans les stratégies de coordination
Futur :
Simulateur d'utilisateurs réels  comportements plus intéressants
46/51
Partie 5 – Conclusion et perspectives
1
Contexte et problématique
2
Approche théorique
3
Les services de recherche d'informations
4
Mise en œuvre des propositions
5
Conclusion et perspectives
47/51
5
Conclusion
Rattachement à un mouvement récent utilisant l'apprentissage par renforcement pour
des applications réelles avec des humains.
Aspect stratégie de coordination
Apports
•
•
Possibilité d'apprendre ces stratégies par renforcement en utilisant des MDP
Réponse aux besoins du plus grand nombre comme du particulier avec les profils
Limites
•
•
Observabilité partielle de l'utilisateur au travers des perceptions de l'agent
Baisse des performances pour des tâches plus complexes
Aspect modélisation logicielle
Apports :
•
•
Passage à une approche "orientée utilisateur" pour les services
Solution incrémentale
48/51
5
Perspectives
• Utiliser d'autres modèles/méthodes probabilistes :
– Apprendre à partir de politiques pré-établies
– Apprendre en généralisant le modèle (DynaQ, Classifieurs)
– Approche POMDP (Q-learning modifié, Gradient de Baxter)
• Pour résoudre des tâches plus complexes
– Reformuler l'espace d'états abstrait pour mieux guider le
processus dans l'espace réel.
– Décomposition hiérarchique (H-MPD et H-POMDP) avec une
gestion des dépendances entre les attributs
– Passage à plusieurs sources et aux autres classes de services
– Composition de services (plusieurs coordinateurs)
49/51
5
Références
(Ferber 1995) Ferber J., Les Systèmes Multi-Agents. Vers une intelligence collective. Interéditions,
1995.
(Gelernter et Carriero 1992) Gelernter D. et Carriero N., Coordination Languages and Their
Significance. Communications of the ACM, n°35(2), pp. 96-107, 1992.
(Grislin-LeSturgeon et Peninou 1998) Grislin-Le Sturgeon E. et Péninou A., Les interactions
Homme-SMA : réflexions et problématiques de conception. Systèmes Multi-Agents de
l'interaction à la Socialité. Dans JFIADSMA'98, Hermès, pp. 133-145, 1998.
(Goddeau et al. 1996) Goddeau D., Meng H., Polifroni J., Seneff S., Busayapongchaiy S., A FormBased Dialogue Manager For Spoken Language Applications, In Proceedings of ICSLP'96,
Philadelphia, 1996.
(Larousse 1998) Le petit Larousse 1998, Larousse-Bordas, 1998.
(Russell et Norvig 1995) Russell S. et Norvig P., Artificial Intelligence: A Modern Approach, The
Intelligent Agent Book. Prentice Hall Series in Artificial Intelligence, 1995.
(Sutton et Barto 1998) R. S. and Barto A. G. Reinforcement Learning: An Introduction. MIT Press
Cambridge MA, 1998.
(Watkins 1989) Watkins C., Learning from Delayed Rewards. PhD Thesis of the King's College,
University of Cambridge, England, 1989.
50/51
Merci de votre attention
Avez-vous des questions ?
Suppléments
1
Utilité et évaluation des services
Nombreux indices possibles  difficile à définir
Un choix classique :
U=R-C
• R = Réussite de la tâche accomplie du point de vue du concepteur
• C = Coûts d'utilisation des ressources (propres ou détenues par des tiers)
Notre choix, moins courant, mais plus "orienté" vers les services adaptatifs :
• R = Réussite de la tâche accomplie du point de vue des utilisateurs
Problème : Comment quantifier la satisfaction de l'utilisateur ?
Approximation : une valeur numérique associée actions de l'utilisateur
 Idée que l'agent estime son utilité à partir de ses perceptions des autres ...
53/51
1
Typologie des Interactions (Ferber 1995)
buts incompatibles
Encombrement
Antagonisme
Interaction
ressources insuffisantes
Indifférence
Collaboration
simple
Coopération
buts compatibles
Collaboration
Coordonnée
capacités individuelles insuffisantes54/51
1
Formalisation et interactions
• Méthodologies et formalismes pour la conception de SMA
• AOP (Kendall et al. 1999)
• AUML (Odell et al. 1999)
• GAIA (Wooldridge et al. 2000)
• MASE (Wood et DeLoach 2000)
• TROPOS (Giunchiglia, et al. 2002)
• RIO (Mathieu et al. 2003)
• ...
• Langages et protocoles d'interaction
• Graphes de transition (Winograd et Florès 1986)
• Langage d'interaction COOL (Barbuceanu et Fox 1995)
• Réseaux de Pétri (El Fallah-Seghrouchini et al. 1995)
• ...
55/51
2
h-SMA : Partitions sur l'ensemble des agents
Agents
contrôlés
AC
Agents partiellement
contrôlés A PC
Agents non
contrôlés A NC
Agents
Logiciels
AL
Programmes
connus
Programmes avec
lesquels il est possible de
communiquer de façon
privilégiée
Autres agents
logiciels
Agents
Physiques
AP
Robots et autres
équipements
asservis
Equipements
partiellement asservis et
éventuellement des
collaborateurs humains
spécialistes
Autres intervenants
humains
• des utilisateurs
• le concepteur,
etc.
56/51
2
Fournir un service
Utilisateurs
Coordinateur de service
Objets ressources
Interactions
Interactions
satisfaction
à maximiser
construire et réaliser un
service utile
Agents Fournisseurs
coûts
à minimiser
57/51
2
Rôle et comportement typique
Comportement typique associé à un rôle r dans un service sous la forme d'un
graphe G = (S, G), où
• S : l'ensemble des états {s 0 , ... , s n} possibles du comportement (abstractions
des états réels des agents qui jouent ces rôles).
• G : transitions du comportement entre deux états (perception, action, ...)
Schéma d'interaction :
Ensemble de graphes de comportements G i = (S i , G i) reliés entre eux au niveau
des états par des liens d'interaction où une transition a  G i peut provoquer une
transition b  G j .
Exemple de lien (a, b) :
demander de l'aide  réception d'une demande
58/51
2
Planification
• A partir d'un modèle du monde connu
– structure, lois d'évolution, etc.
– actions disponibles et leurs effets
• En fonction
– d'un état initial (avec connaissance complète, certaine ou non)
– d'un état but (conditions de succès)
– des contraintes (temps, autres ressources ...)
• Déterminer un plan a priori (ou en situation)
Quelle est la séquence d’actions à réaliser pour atteindre le but ?
• Types de planification :
classique, conditionnelle/probabiliste, réactive, sous contraintes,
multi-agent, etc.
59/51
2
Un environnement complexe
Critères de Wooldridge :
•
•
•
•
•
•
Virtuel : capteurs / actionneurs = logiciels
Incomplet : vue partielle, locale mais à accès global
Indéterministe : effet des actions non garanti
Non épisodique : prise en compte de l'historique
Très dynamique : marchés, bases de données, Internet
Continu : grande latitude d'action
60/51
2
Surveillance et correction de service
•Observation du modèle de normalité :
trajectoires de fonctionnements normaux
•Observation d'un cas particulier
Modèle de
normalité
Trajectoire
observée
Système de
diagnostic
•Comparaison au modèle
•Diagnostic : détection d’anomalies
Risques
de problème
•Réparation par planification
Réparation
61/51
2
Correction de trajectoire d'un agent
État initial
État courant
États dangereux
Faisceau de trajectoires normales
Points de reprise
Trajectoire observée
Trajectoire de correction
État but,
satisfaction
Espace de projection des
états possibles de l’agent
62/51
2
Diagnostic et réparation indirecte
Influence
A1
Observé mais
non contrôlé
Influence
A2
A3
Observé
et contrôlé
Anomalie sur A1  Correction sur le comportement de A2
ou A3 pour ramener A1 dans une bonne trajectoire
63/51
2
Influences et traces de comportements
• Dans un déroulement normal, les différents
comportements suivis par chaque agent se
synchronisent.
• Une action produite par le comportement d'un
agent peut produire un effet sur le comportement
d'un autre agent.
• L’observation des comportements donne des traces
de processus, des trajectoires visibles ...
Utilisables !
64/51
2
Utilisation de l'influence pour réparer
Quand on observe une anomalie sur les agents
(t-1), on influe par une correction  sur les
agents contrôlés. L'effet de  se produit sur les
agent contrôlés (t) qui influent à leur tour sur
les agents non contrôlés (t+1)
Pour un utilisateur, les corrections  doivent
l’amener dans un état de satisfaction.
65/51
3
Construction progressive de la requête
Précision de
la requête
réponses
utiles
obtenues
un bon
compromis
Totalement spécifiée
Suffisamment spécifiée
Partiellement spécifiée
Nombre
d'Interactions
Totalement inconnue
interactions "inutiles"
66/51
3
Attributs
Un attribut At est un triplet <N, D, Q> où :
• N est le nom de l'attribut
• D = { v 1 ; ... ; v k } est le domaine des valeurs possibles
• Q est un ensemble de questions qui peuvent être posées :
– demander la valeur de l'attribut
– proposer une valeur pour l'attribut,
– demander confirmation de la valeur d'attribut.
Exemple d'attribut :
Nom
Départ
Domaine
{Paris, Londres, Rome, Luxembourg, Berlin, Madrid, Genève, Bruxelles}
Questions - Valuation :
Quelle est votre ville de départ ?
- Proposition : Souhaitez vous partir de [ville] ?
- Confirmation : Êtes vous sûr de vouloir partir de [ville] ?
67/51
3
Ensemble des Actions
Code
Conditions
askvalue
ea s = '?'
Demander à l'utilisateur la
valeur de l'attribut At s.
-
propose
ea s  'A'
Proposer à l'utilisateur une
valeur pour At s.
Préférences de
l'utilisateur
confirm
ea s = 'A'
Demander à l'utilisateur de
confirmer la valeur de At s dans
la requête s U.
Etat de la requête s U
rqte
qr = '?'
Envoyer la requête s U vers la
source d'informations.
Etat de la requête s U
select
qr = '+'
Demander à l'utilisateur la
sélection d'une entrée dans la
liste des résultats Rep
Etat des réponses s I
ou '*' si la requête est
pleinement contrainte
Description de l'action
Origine des paramètres
68/51
3
Mise à jour de la représentation
Comment mettre à jour la représentation des interactions selon les
réponses des autres agents ?
Quelles sont les observations possibles ?
Mise à jour confiée à la fonction Update (S  O  Ac  S)
• Mise à jour de la requête partielle (au niveau d'un attribut At i)
• Mise à jour des résultats d'une requête
69/51
3
Mise à jour de l'état d'affectation d'un attribut At i
(ea i , val i ) t-1
ac t-1
ot
(ea i , val i ) t
(A, v)
confirm
oui
(A, v)
(A, v)
confirm
nsp
F
(A, v)
confirm
non
?
?
askvalue
v
(A, v)
?
askvalue
nsp
F
?
propose [v]
oui
(A, v)
?
propose [v]
nsp
F
?
propose [v]
non
?
F
propose [v]
oui
(A, v)
F
propose [v]
nsp
F
F
propose [v]
non
F
70/51
3
Observations possibles pour le coordinateur
Observation
Origine
Action contexte
Interprétation de l'observation
une valeur
utilisateur
askvalue
oui
utilisateur
propose, confirm
Réponse positive de l'utilisateur à une
demande simple
non
utilisateur
propose, confirm
Réponse négative de l'utilisateur à une
demande simple
une table
source
d'informations
rqte
un numéro
utilisateur
select
L'utilisateur a sélectionné une proposition
refus
utilisateur
select
L'utilisateur a refusé une proposition
stop
utilisateur
askvalue, propose,
confirm, select
Arrêt par l'utilisateur (déconnexion)
nsp
utilisateur
askvalue, propose,
confirm, select
L'utilisateur indique qu'il ne sait pas
répondre
aberrant
utilisateur
askvalue, propose,
confirm, select
Observation aberrante ou inattendue
(ignorée)
Valeur d'attribut
l'utilisateur
valide
donnée
par
Résultats donnés par la source
d'informations
71/51
3
Treillis d'états abstraits S avec deux attributs
<A, ? | ?> <A, ? | 0>
<A, A | ?> <A, A | 0>
<A, ? | +> <A, ? | *>
<A, A | +> <A, A | *>
<F, ? | ?> <F, ? | 0>
<F, A | ?> <F, A | 0>
<F, ? | +> <F, ? | *>
<F, A | +> <F, A | *>
<?, A | ?> <?, A | 0>
<A, F | ?> <A, F | 0>
<?, A | +> <?, A | *>
<A, F | +> <A, F | *>
<?, F | ?> <?, F | 0>
<F, A | ?> <F, A | 0>
<?, F | +> <?, F | *>
<F, A | +> <F, A | *>
<F, ? | ?> <F, ? | 0>
<F, ? | +> <F, ? | *>
72/51
3
Une trace dans l'espace d'états abstraits
<A, ? | ?> <A, ?, 0>
<A, A | ?> <A, A, 0>
<A, ? | +> <A, ? | *>
<A, A | +> <A, A | *>
<F, ? | ?> <F, ?, 0>
<F, A | ?> <F, A, 0>
<F, ? | +> <F, ? | *>
<F, A | +> <F, A | *>
<?, A | ?> <?, A, 0>
<A, F | ?> <A, F, 0>
<?, A | +> <?, A | *>
<A, F | +> <A, F | *>
<?, F | ?> <?, F, 0>
<F, F | ?> <F, F, 0>
<?, F | +> <?, F | *>
<F, F | +> <F, F | *>
<?, ? | ?> <?, ? | 0>
<?, ? | +> <?, ? | *>
0 : Initialisation de l'état
1-C : Demander une valeur pour At 1
3- C : Demander une valeur pour At 2
1-U : je ne sais pas
3- U : une valeur correcte
2-C : Envoyer la requête à la source
4- C : Envoyer la requête à la source
2-S : 25 réponses ...
4- S : 3 réponses ...
73/51
3
Q-Learning (Watkins 1989)
• Méthode d'Apprentissage par
Renforcement
• Peut être utilisé "en ligne"
s,r
a
Environnement
a0
Q-Valeurs Q : S  A  IR
Q-Learner
Q(s,a0)
s'0 V(s'0)
V(s) s
Q(s,a1)
a1
Mise-à-jour (Bellman 57)
Qs, a )t 1  1  a)
s'n V(s'n)
Qs, a ) t  aRs, a )t  Maxa 'AQs' , a')t )
a : Taux d'apprentissage
74/51
3
Q-Learning – Algorithme général
1.
Depuis l'état courant s t , on sélectionne une action a t
2.
On reçoit une récompense r t pour cette action et le système évolue vers l'état
suivant s t+1
3.
On met à jour l'utilité du choix que l'on a effectué avec la formule
Q t+1(s t,a t) = (1- a) Q t (s t , a t) + a [ r t +  max a'  A Q t (s t + 1 , a') ]
4.
On recommence au premier point.
(1-a)
Q(s,a)
Q(s,a) t+1
a
Sélection
d'action
Mise à jour
Q-valeurs
action t
Etat s t
récompense r t
Transition
état s t + 1
Etat s t+1
75/51
3
Sélection des actions
• L'algorithme du Q-Learning n'impose pas de façon pour
choisir les actions à effectuer.
• Besoin d'un compromis Exploitation / Exploration
 Fonction de sélection de type Boltzmann
1
Exemple pour un état s donné :
Q(a 0)
Q(a 1)
Q(a 2)
Q(a 3)
5
-1
-4
3
Probabilités des actions p(a)
p(a0)
p(a1)
0,8
p(a2)
p(a3)
0,6
0,4
0,2
0
0
20
40
60
80
100
Température T
76/51
3
Profils des utilisateurs
Utilisateurs
• occasionnels  satisfaire le plus grand nombre (profil moyen)
• fréquents  gestion de profils individuels spécialisés
Profil
• Comportement adapté pour le service
• Modélisation des préférences
77/51
3
Fonctions
•
•
•
•
•
•
Génération des récompenses
Mise à jour de la représentation
Abstraction de la représentation
Apprentissage et décision
Spécialisation de l'action
Gestion des préférences
Reward :
Update :
Abstract :
Q-Learning :
Specif :
Prefere :
S  O  Ac  IR
S  O  Ac  S
SS
S  IR  A
A  S  Prof  Ac
Prof  S  Prof
78/51
3
Architecture Fonctionnelle du Coordinateur
Q-Learning
at
rt
st
MDP
Abstract
t=t+1
t=t+1
profil t
Reward
Prefere
Specif
st
ac
t=t+1
t
Update
ot
Environnement
79/51
4
Architecture Agent d'UniMédia
Service
Client
Coordinateur
Modélisation
des services
Modélisation
des agents
Agent
Ressource
Source
d'informations
Synthèse
vocale
Reco
vocale
Modélisation
des ressources
Media
80/51
4
Le niveau média
Les canaux médias
• Vus comme des vecteurs de l’information
• Caractéristiques variées :
– mode de transmission,
– topologie,
– adressage,
– délais de transmission ...
 Besoin de s’affranchir de leur spécificité
Hypothèse : Ils offrent des "prises" sur lesquelles les ressources peuvent
se positionner
81/51
4
Le niveau ressource
Définition :
Dispositif matériel, une partie logicielle ou corporelle utilisé par
l’agent pour réaliser sa tâche de façon interne ou externe dans
l’environnement multimédia (au travers des prises et des canaux)
Exemple :
• Les capteurs et effecteurs de l'agent,
• Des outils de traitement d’information.
Proposition d'utiliser des Modèles de Ressource :
• Abstraction des fonctionnalités (opérateurs : conditions  actions)
• Description des caractéristiques
– Moyens d'accès à la ressource (identification, authentification ...)
– Moyens de contrôle de la ressource (protocoles / langages utilisés)
+ Capacité, Coût d’utilisation, Disponibilité, Sécurité, confiance, Fiabilité,
robustesse, etc.
82/51
4
Descripteurs de ressources XML
RESSOURCE
– MEDIA
• TYPE
• PROTOCOL
– OPLIST
• OPERATOR*
– OPNAME
– PRECOND*
– EFFECT*
83/51
4
Treillis d'opérateurs
Opérateur universel
Descripteur de
ressource
Opérateur
réel
Opérateur
réel
Opérateur
abstrait
Opérateur
abstrait
Opérateur
réel
classification
Opérateur absurde
84/51
4
Le niveau agent
Agents intelligents réactifs
• De nature hétérogène
– Humains (clients, télé-opérateurs ...)
– Logiciels (Agent SGBD, Web ...)
• Contrôlés
• Partiellement contrôlés (comme des applications tiers)
• Qui jouent un rôle donné dans le service dont le
comportement peut être défini à partir :
– De buts et de contraintes assignés
– D’un modèle à priori, enrichi d’observations
85/51
4
Le niveau service
Rôle R1
Rôle R2
Rôle R3
• Représentation par les graphes de service :
Schémas d’interaction mettant en œuvre les rôles
des agents
• Vision globale du service
86/51
4
Implantation du coordinateur
"Cerveau"
de l'agent
Description
de la tâche
Module de Décision
Q-Learning
Bibliothèque
de cartographie
Gestionnaire
de Tâche
Gestionnaire
d'interactions
Règles de
grammaire
JSAPI
Pilote
Reco
Réponses /
Activation des
règles
Moteur de
reconnaissance
Signal
audio
Corps d'agent
SmallMu
Politique
apprise
Gestionnaire de
profil utilisateur
Requêtes /
Résultats
Prompts à
envoyer
Profils
utilisateurs
stockés
Simulateur
Pont
JDBC/ODBC
Pilote
BDD
Pilote TTS
Synthèse
de parole
Utilisateur
Signal
audio
Prompts
Base de
données
87/51
4
Quantité de code : Maquette SmallMu
et Prototype de Coordinateur
Représente environs 12 000 lignes de code en langage Java
SmallMu (Noyau)
2100
SmallMu (Ressources)
3000
Bibliothèques Cartographie et
Représentation
3270
Bibliothèques Probabilités et
Apprentissage par Renforcement
1730
Modules du Coordinateur
2260
Composition du prototype
(Lignes de code)
18%
17%
14%
24%
27%
88/51
4
Résultats d'apprentissage 3-5 attributs
(Somme des récompenses / 1000 itérations)
900
Somme des récompenses / 1000 Iterations
800
700
600
500
400
300
3 attributs
4 attributs
5 attributs
200
100
0
0
20000
40000
60000
80000
100000 120000 140000 160000
180000 200000
-100
Nombre d'itérations
• 3 attributs
Forme exponentielle classique
• 4 attributs
Croissance et maximum moins marqués
• 5 attributs
Dégradation des performances
89/51
4
Démonstration – 3 attributs
90/51
4
Démonstration – 5 attributs
91/51
3
Apprentissage par Renforcement
• Jusqu'à présent Apprentissage par
renforcement
– Optimisation
– Robotique mobile
– Application à des cas abstraits
• Mouvement récent :
– utilisation dans le cas d'applications réelles avec
l'intervention d'humains (Singh & al. 2002)
92/51
5
Intégration à Unimédia - 1
•
•
•
•
•
Agents A C  Applications (scripts)
Agents A PC  Applications Tiers
Agents A NC  Utilisateurs
Ressources  Pilotes et Moteurs
Opérateurs  Modèles
93/51
5
Intégration à Unimédia - 2
• Agent  Unimédia "Light"
• Communication inter-agent / médias
• Besoins : langage, connaissances communes
94/51
5
Société d'agents média
SmallMu A
Agent A
Pilote 1A
Pilote B1
SmallMu B
Pilote 3A
Pilote 2A
Pilote 1C
Agent C
SmallMu C
Pilote 2C
Pilote 2D
Agent B
Pilote B2
Agent D
Pilote 1D
SmallMu D
95/51
5
Références additionnelles
(Barbuceanu et Fox 1995) Barbuceanu M. et Fox M. S., COOL: A language for describing coordination in
multiagent systems. In Proceedings of ICMAS'95, 1995.
(Chalupsky et al. 1992) Chalupsky H., Finin T., Fritzson R., McKay D., Shapiro S. et Wiederhold G., An overview
of KQML: A knowledge query and manipulation language. TR, KQML Advisory Group, April 1992.
(El Fallah-Seghrouchini et al. 1999) El Fallah-Seghrouchini A., Haddad S. et Mazouzi H., A Formal study of
interaction in Multi-Agent Systems, In Proceedings of CATA'99, Cancun, Mexique, 1999.
(Levin et al. 1998) Levin E, Pieraccini R. and Eckert W. Using Markov Decision Process for Learning Dialogue
Strategies. In Proceedings of ICASSP'98, Seattle, USA, 1998.
(Mathieu et al. 2003) Mathieu P., Routier J.-C. et Secq Y., RIO : Rôles, Interactions et Organisations. Dans
MFI'03. Lille, mai, 2003.
(Odell et al. 1999) Odell J., Parunak H. V. D., et Bauer B., Extending UML for Agents, In Proceedings of the AOIS
Workshop of AAAI 2000, pp. 3-17, Austin, Texas, 2000.
(Levin et al. 1998) Levin E, Pieraccini R. and Eckert W. Using Markov Decision Process for Learning Dialogue
Strategies. In Proceedings of ICASSP'98, Seattle, USA, 1998.
(Mathieu et al. 2003) Mathieu P., Routier J.-C. et Secq Y., RIO : Rôles, Interactions et Organisations. Dans
MFI'03. Lille, mai, 2003.
(Odell et al. 1999) Odell J., Parunak H. V. D., et Bauer B., Extending UML for Agents, In Proceedings of the AOIS
Workshop of AAAI 2000, pp. 3-17, Austin, Texas, 2000.
(Singh et al. 2002) Singh S., Litman D., Kearns M. et Walker M., Optimizing dialogue management with
Reinforcement Learning: Experiments with the NJFun System. In JAIR, Vol. 16, pp. 105-133, 2002.
(Winograd et Florès 1986) Winograd T. et Florès F., Understanding computers and cognition : A new foundation
for design. Ablex Publishing Corp, Norwood, New Jersey, 1986
(Young 1999) Young S., Probabilistic Methods in Spoken Dialog Systems. In Royal Society, London, September
96/51
1999.
Coupures
plus largement :
• e-services (Hewlett Packard),
• Web services, etc.
Fonction de comportement :
Situation  Action
• (commun à tous les agents jouant le même rôle)
97/51