Intégration d’un historique de conversation dans un système de dialogue

Le projet sur lequel j’ai travaillé pendant ce stage concerne un système de dialogue orienté tâches. Mes objectifs et missions furent tout d’abord d’étudier les pistes d’amélioration du système, en particulier l’intégration d’un historique de conversation. Suite à ça, il m’a fallu faire une proposition d’amélioration et la mettre en pratique dans le code. Pour finir, la dernière étape fut l’évaluation des performances du système.

Le projet LIHLITH 

Il est tout d’abord important de préciser le contexte du projet dans lequel s’inscrit le système de dialogue sur lequel j’ai travaillé. Le projet LIHLITH (Learning to Interact with Humans by Lifelong Interaction with Humans), financé par CHIST-ERA, rassemble l’Université du Pays Basque, le laboratoire LISN, l’Universidad Nacional de Educacion a Distancia, l’Université des Sciences Appliquées de Zurich et l’entreprise Synapse Développement.

Le projet s’intéresse aux systèmes conversationnels et a pour but d’améliorer de manière générale les performances des systèmes de dialogue, notamment en exploitant les retours utilisateurs. Il se focalise sur le Lifelong Learning, processus au cours duquel la machine apprend au fur et à mesure de ses interactions pour être capable de réutiliser des informations communiquées par l’utilisateur.

Missions et objectifs 

L’une des applications de ce projet est un système de dialogue orienté tâches sur le domaine de la cuisine. Un système de dialogue est un système complexe qui permet à un utilisateur d’interagir en langue naturelle avec une machine. C’est sur ce système que mon travail s’est dirigé. Sa particularité est qu’il propose à l’utilisateur deux scénarios différents. L’utilisateur peut soit demander des recettes, soit poser des questions plus générales sur la cuisine. Le système obtient une bonne performance lorsqu’il s’agit du premier scénario. En revanche, il est difficile d’obtenir des réponses adéquates lorsque l’utilisateur pose des questions plus générales. Pour l’améliorer, mes tutrices m’ont proposé d’étudier l’intégration d’un historique de dialogue. Avant de revenir plus en détail sur les particularités du système de dialogue sur lequel j’ai travaillé, je vais tout d’abord établir un état de l’art des modèles proposés par la communauté du TALN (Traitement Automatique de la Langue Naturelle).

Les systèmes de dialogue

Le but d’un agent conversationnel est de pouvoir communiquer avec un humain à travers un dialogue de questions/réponses. Les systèmes de dialogue, agents conversationnels ou encore chatbots, utilisent les technologies de l’apprentissage automatique (aussi appelé apprentissage machine ou machine learning en anglais), de l’intelligence artificielle et de la recherche d’information. Alors que les chatbots vont avoir un dialogue sous format textuel, les agents conversationnels peuvent également converser avec la parole en utilisant les technologies de reconnaissance et de synthèse de la parole. Nous nous focaliserons ici sur les systèmes de dialogue de type textuel. Un système de dialogue est composé de différents modules, différents composants ayant leur propre rôle dans le système. Les trois modules que l’on retrouve toujours sont les modules de compréhension du langage, de gestion du dialogue et pour finir, de génération de la réponse.

Module de compréhension du langage
Le module de compréhension du langage est aussi souvent appelé NLU (en anglais, natural language understanding). Le rôle de ce module est de récupérer grâce à un analyseur sémantique les informations principales de la requête. Le domaine de détection des concepts (slot-filling) permet de récupérer ce que l’on appelle des slots, aussi appelés concepts. C’est une méthode de TAL qui permet d’étiqueter les mots selon leur sens dans la phrase. Ce module va par conséquent récupérer les slots de la phrase qui nous intéressent ainsi que leur valeur associée et transmettre ces informations au module de gestion du dialogue.

Module de gestion du dialogue
Le module de gestion du dialogue fait le plus gros du travail dans un système conversationnel. C’est lui qui va choisir la réponse à donner à l’utilisateur. Pour cela, il récupère la question et son information sémantique et fait le lien avec les données (base de données, divers documents, etc). Si besoin, un sous module est appelé pour récupérer les données appropriées à l’aide du domaine de la recherche d’information (IR, en anglais, information retrieval). C’est aussi lui qui va gérer tout le contexte autour du dialogue, dont l’historique de conversation. Le module renvoie l’information sémantique en sortie au module de génération.

Module de génération de la réponse
Le module de génération de la réponse (NLG, en anglais, natural language generation) s’occupe tout simplement de transformer l’information sémantique de la réponse en réponse textuelle, compréhensible pour un utilisateur humain.

L’historique de dialogue dans les systèmes conversationnels

Pourquoi un historique ? 

Le défi principal d’un système de dialogue est d’avoir le dialogue le plus interactif possible et de simuler une conversation avec un humain. Pour cela, il est indispensable que le système prenne en compte l’entièreté du dialogue et non pas seulement la dernière question posée. Autrement dit, les tours de dialogue précédents jouent un rôle particulièrement important dans la compréhension de la question courante puisqu’ils participent au contexte autour de celle-ci.

Les modèles ConvQA

Les modèles ConvQA sont une extension du domaine de recherche MRC (machine reading comprehension) (Zhang et al. 2019). Les modèles MRC sont des systèmes auxquels on fournit un paragraphe, aussi appelé contexte ou passage, et une série de questions en lien avec le paragraphe. Pour chaque question, le système doit trouver la réponse à l’intérieur du paragraphe. Par conséquent, il est attendu de la machine qu’elle puisse lire le texte, le comprendre et en extraire les réponses.

De plus, on dit des modèles ConvQA que ce sont des systèmes à tours multiples (multiturn en anglais). Dans un système de dialogue, un tour de dialogue se réfère à une question et sa réponse parmi un dialogue composé de pairs de question-réponse. Par conséquent, la particularité de ces systèmes à tours multiples est qu’ils n’utilisent non pas seulement le tour actuel pour répondre à la question mais également tout ou une partie des tours précédents pour enrichir le contexte. Cette notion de tours multiples revient donc à prendre en compte l’historique de dialogue.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
LE PROJET LIHLITH
MISSIONS ET OBJECTIFS
Partie 1 – État de l’art
CHAPITRE 1. LES SYSTEMES DE DIALOGUE
1. MODULE DE COMPREHENSION DU LANGAGE
2. MODULE DE GESTION DU DIALOGUE
3. MODULE DE GENERATION DE LA REPONSE
CHAPITRE 2. L’HISTORIQUE DE DIALOGUE DANS LES SYSTEMES CONVERSATIONNELS
1. POURQUOI UN HISTORIQUE ?
2. LES MODELES CONVQA
3. LES DIFFERENTES METHODES
4. DATASETS UTILISES
CHAPITRE 3. ÉTUDE DE MODELES CONVQA
1. MODELE HAM
2. RESULTATS DES MODELES LES PLUS PERFORMANTS
Partie 2 – Contributions et expérimentations
CHAPITRE 4. PARTICULARITES DU SYSTEME DE DIALOGUE
1. DESCRIPTION DU SYSTEME
2. DATASET DOQA
CHAPITRE 5. PROTOCOLE EXPERIMENTAL
1. CHOIX DES DONNEES ET PARAMETRES DU MODELE
2. ENTRAINEMENTS
CHAPITRE 6. ENRICHIR LE CONTEXTE
1. INTEGRATION DES SLOTS AU MODELE
2. INTEGRATION DES SLOTS AU SYSTEME
CHAPITRE 7. DIFFICULTES ET PROBLEMES
1. ENTRAINEMENT DU MODELE AVEC SLURM
2. PROBLEMES RENCONTRES
Partie 3 – Résultats et analyse
CHAPITRE 8. INTERPRETATION DES RESULTATS
1. METRIQUE D’EVALUATION
2. RESULTATS DE L’ENTRAINEMENT
3. RESULTATS DE L’ENTRAINEMENT AVEC SLOTS
CHAPITRE 9. PERSPECTIVES D’AMELIORATIONS
1. FINE-TUNING DU MODELE AVEC LES DONNEES DU COOKBOOK
2. AMELIORATION DE L’UTILISATION DE DOQA
3. FINE-TUNING DE BERT SUR DES DONNEES DE SLOTS
CONCLUSION
1. BILAN DU TRAVAIL ACCOMPLI
2. BILAN PERSONNEL
BIBLIOGRAPHIE
SITOGRAPHIE

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *