• Aucun résultat trouvé

Comme le démontre l’architecture Chris, un robot peut apprendre à parler d’une entité perceptuelle, comme par exemple, un humain ramassant un ob- jet (Stéphane Lallée et al. 2010), et comment participer à un jeu coopératif comme la découverte d’un jouet (Stéphane Lallée et al. 2013). De la même manière, un assistant virtuel pourrait apprendre à reconnaître et à parler d’un courriel et à envoyer un courriel en coopération avec l’humain.

4.4. Transfert vers le monde numérique

dans le domaine de la robotique pour construire un assistant virtuel. Nous nous appuyons sur les trois aspects majeurs suivants :

1. L’existence de primitives symboliques dérivées du système per-

ceptuel : Nous avons adapté l’ensemble des primitives symboliques à un

monde numérique pour être en mesure d’observer les actions de l’humain sur un GUI. Nous avons donc développé et exploité des primitives per- ceptuelles comme remplir un champs texte, cliquer, pointer, sélectionner un texte, etc.

2. L’ancrage du langage dans ces primitives : Nous montrons comment le langage est lié à ces primitives pour composer de nouvelles actions grâce à des démonstrations de l’utilisateur.

3. L’apprentissage du langage et son utilisation lors d’activité co-

opérative avec un humain : Nous montrons comment un utilisateur

peut enseigner au système à interpréter des phrases compositionnelles en utilisant des instructions en langage naturel et comment le système peut généraliser des procédures par la création d’arguments.

Chapitre 5

Agent virtuel apprenant

Ce chapitre présente la plateforme agent développée au cours de la thèse. Après une explication générale du principe de fonctionnement du système, chaque module est décrit un à un, afin de détailler leur rôle, leur structuration des données et leur relation avec les autres modules de la plateforme. L’interac- tion globale entre les modules et les principaux algorithmes mis en œuvre sont ensuite expliqués autour d’un scénario d’usage spécifique. Pour finir une liste exhaustive de cas d’utilisation, avec des exemples de dialogues, est donnée afin d’illustrer le comportement des agents dans des conditions réelles d’utilisation.

5.1

Principe de fonctionnement

L’architecture de l’agent virtuel, montrée dans la Figure 5.1, regroupe les composants suivants :

1. Le module Environment qui transforme les services numériques dans un format que l’agent peut percevoir et dans lequel il peut agir.

2. Le module SensorProcess qui convertit les percepts dans des représenta- tions sémantiques grâce au module ConstructionMemory.

3. Le module InterpreterProcess qui gère les interactions avec l’utilisateur dans le but de coopérativement exécuter des procédures ou les apprendre. Le module ContextMemory est utilisé comme une mémoire de travail pour la tâche en cours d’exécution et le module EpisodicMemory enre- gistre tous les événements qui occurrent dans la plateforme, utilisé par la suite par l’algorithme one-shot learning pour encoder de nouvelles constructions.

4. Le module MotorProcess qui convertit à son tour des représentations sémantiques vers des actions exécutables dans l’environnement.

Dans le but d’illustrer le fonctionnement de l’agent nous donnons dans un premier temps un exemple de scénario. Cela sera expliqué plus en détail dans les sections suivantes :

Un utilisateur demande à envoyer un e-mail« send an email to

5.1. Principe de fonctionnement

Figure 5.1 – Architecture générale de l’agent virtuel : Pendant une inter- action, le module SensorProcess monitor l’état courant de l’environnement et cherche à faire correspondre les phrases de l’utilisateur avec les construc- tions présentes dans le module ConstructionMemory. Si une correspondance est trouvée, le module InterpreterProcess commence à sélectionner les actions contenues dans la construction pour les exécuter via le module MotorPro-

cess. Dans le cas contraire, le système demande une démonstration ou une

explication à l’utilisateur et enregistre les événements dans le module Episo-

dicMemory. À la fin de la démonstration, ces événements sont consolidés dans

le module ConstructionMemory sous la forme d’une nouvelle construction qui lie la demande (forme) avec la démonstration (sens).

early». Si l’agent virtuel ne connait pas cette tâche, le compor-

tement d’apprentissage est activé. Ensuite, l’utilisateur peut dé- crire les étapes qui composent cette tâche en utilisant soit (a) le langage naturel (en utilisant les constructions précédemment ap- prises), comme « create a draft », « set the subject », « write the

content », etc. ou (b) en effectuant une démonstration sur une

interface graphique que l’agent peut observer. Le comportement d’apprentissage enregistre tous les événements perceptuels venant du module SensorProcess ainsi que les phrases de l’utilisateur dans le module EpisodicMemory. À la fin de l’apprentissage, un algo- rithme consolide les connaissances extraites du module Episodic-

Memory et enregistre les nouvelles constructions correspondantes

dans le module ConstructionMemory. La nouvelle construction est une association entre la forme de l’énoncé et une procédure d’exécu- tion. Quand l’utilisateur demande à nouveau l’exécution de cette action « send an email to clement.delgrange@inserm.fr about the

software and say that it functions perfectly», l’agent virtuel trou-

vera une correspondance avec une construction apprise, extraira les arguments contenus dans la phrase de l’utilisateur et instanciera la procédure correspondante. Le comportement d’exécution est en- suite activé. Il conduit l’interaction avec l’utilisateur et exécute les actions primitives via le module MotorProcess dans le but d’accom- plir la procédure. Nous décrivons plus en détails les modèles des

Chapitre 5. Agent virtuel apprenant

Figure 5.2 – Environnement partagé : L’espace d’interaction permet à l’uti- lisateur d’effectuer des actions qui peuvent être observées par l’agent pendant un apprentissage par démonstration et qu’il peut par la suite exécuter par lui-même.

modules SensorProcess et MotorProcess, l’algorithme d’extraction de sens et l’algorithme one-shot learning dans les prochaines sec- tions.