Systèmes de dialogue apprenant tout au long de leur vie

Qu’est-ce qu’un système de dialogue ? 

Charlie veut réserver un billet de train. Charlie va donc sur son moteur de recherche préféré, tape « réserver un train » et clique sur le premier lien qui s’affiche. À peine la page chargée, une petite fenêtre s’ouvre sur le côté, un visage sympathique à l’allure de robot apparaît et indique « Besoin d’aide ? Discutons ensemble pour trouver une solution ». À l’image de Charlie, il est aujourd’hui de plus en plus fréquent de croiser la route d’un chatbot dans le cadre d’une recherche sur internet. Les chatbots sont des systèmes automatisés qui permettent à leurs utilisateurs de réaliser des tâches définies et d’obtenir certaines informations dans le cadre d’une conversation. Beaucoup d’entreprises se sont aujourd’hui munies d’un tel chatbot afin d’améliorer leur relation client. De fait, un chatbot est disponible 24 heures sur 24 et permet de gérer les questions et les tâches les plus fréquentes, qui sont d’ailleurs souvent les moins valorisantes pour un opérateur humain. Ainsi, depuis 2016, la SNCF s’est dotée d’un chatbot dans le but d’aider ses clients à réaliser un certain nombre de tâches  : rechercher un trajet en train ou en bus, réserver et payer ses billets, recevoir des informations sur sa réservation, etc. Les chatbots offrent en théorie une interface plus intuitive et facile d’utilisation, permettant à leurs utilisateurs d’éviter des recherches sur plusieurs page web et/ou d’avoir à se familiariser avec des interfaces de recherche parfois complexes. En effet, puisque les interactions se font en langage naturel, par écrit ou bien à l’oral, chaque utilisateur est en mesure de formuler sa demande avec ses propres mots. Les interactions se faisant sur plusieurs tours de parole, l’utilisateur peut compléter ses requêtes au fil de l’eau, parfois à la demande du chatbot lui même. Le système doit alors être capable de garder en mémoire les informations fournies par l’utilisateur au cours des tours précédents afin de réagir de manière adéquate à l’énoncé utilisateur du tour courant. L’ensemble de ces tours de parole constituent ce que l’on appelle un dialogue. Dans le domaine de la recherche, nous parlons plus spécifiquement de systèmes de dialogue, le terme chatbot étant plus général et couvrant d’autres types d’agents conversationnels . Pour être plus précis, les systèmes de dialogue décrits dans ce paragraphe sont dits orientés tâche et nous nous concentrons dans ce mémoire sur ce type de système.

Limitations des systèmes de dialogue actuels

Malgré l’adoption des systèmes de dialogue par de nombreuses entreprises, ceux-ci souffrent aujourd’hui d’un certain nombre de limitations, ce qui explique que leur étude constitue encore un sujet de recherche important.

Depuis les années 2010, de nombreux progrès ont été réalisés conjointement en apprentissage profond et en Traitement Automatique des Langues (TAL) [Krizhevsky et al., 2012, Ruder, 2018, Devlin et al., 2019a, Raffel et al., 2020], jusqu’à l’adoption générale des réseaux de neurones dans ce dernier domaine, appliqués notamment aux systèmes de dialogue [Ni et al., 2022]. Cependant, l’entraînement d’un modèle neuronal nécessite des données d’entraînement, dont la quantité et la qualité influent directement sur les capacités et les performances d’un système reposant sur un tel modèle. Dans le cadre des systèmes de dialogue, un modèle entraîné peut correspondre à un module du système (par exemple le module de compréhension de la langue, ou NLU en anglais), ou au système complet dans le cas d’une approche bout-à-bout (end-to-end en anglais). Dans la majeure partie des cas, les données d’entraînement doivent aussi comporter des annotations réalisées par des experts humains. Par exemple dans le cadre de la détection de l’intention utilisateur pour le NLU, l’énoncé « J’ai besoin d’un hôtel à Paris pour le week-end du 8 octobre » peut être annoté avec l’intention « réservation d’un hôtel ». La collecte et l’annotation des données d’entraînement consiste ainsi en des opérations coûteuses. Ceci explique en partie que, malgré le fait que tous les modèles à l’état de l’art dédiés aux systèmes de dialogue en recherche reposent sur des réseaux neuronaux, certains chatbots développés par des entreprises sont encore aujourd’hui basés sur des technologies plus simples qui ne nécessitent pas de données d’entraînement. Cette dépendance aux données d’entraînement définit une première limitation des systèmes de dialogue.

Une deuxième limitation consiste dans le manque de flexibilité de ces systèmes. Ceux-ci sont généralement incapables de généraliser leurs capacités si le type de cas de figure rencontré en production n’a pas été défini lors du développement du système ou s’il n’a pas été présenté dans les exemples d’entraînement. Parmi ces cas de figure, nous pouvons citer la présence d’une intention inconnue, d’un type de critère de recherche inconnu ou d’un domaine inconnu. Concrètement, nous pouvons parfois observer l’incapacité d’un système à comprendre que l’utilisateur veut mettre fin au dialogue avec un « Au revoir » dans un contexte de dialogue précis. Ce peut être parce que cet acte de dialogue et ce contexte de dialogue n’ont jamais été rencontrés en même temps pendant l’entraînement, ou parce que les développeurs n’ont pas implémenté ce cas de figure, alors que le système comprend correctement un « Au revoir » dans un autre contexte de dialogue. Nous pouvons aussi être surpris par l’incapacité d’un système de dialogue à fonctionner dans un autre domaine que celui prévu initialement, alors que les tâches à réaliser sont très proches, par exemple si l’on étend la réservation d’un billet de train à celle d’un billet d’avion. Cette limitation est surprenante d’un point de vue humain puisque nous savons facilement identifier des similitudes entre domaines et transférer nos connaissances d’un domaine à un autre.

Cependant, il est généralement impossible de définir à l’avance l’ensemble des cas de figure possibles ou de disposer d’un corpus de données les recouvrant tous. De plus, le monde étant en constante évolution et les besoins des utilisateurs étant amenés à évoluer au cours du temps, les connaissances et les capacités d’un système sont vouées à devenir de plus en plus incomplètes au fur et à mesure du temps. Dans le cas d’un système dédié à la réservation de chambres d’hôtel, celui ci devrait par exemple fonctionner pour des hôtels nouvellement construits, dont les noms n’auront jamais été vus avant le déploiement, ou bien satisfaire des nouveaux besoins utilisateurs comme par exemple répondre à des questions concernant les restrictions sanitaires actuelles, ou plus largement s’adapter à un nouveau vocabulaire. Nous pouvons aussi prendre l’exemple d’une entreprise qui après avoir déployé un système de dialogue en anglais, souhaite déployer ce système en d’autres langues au cours du temps sans avoir à recommencer de zéro l’ensemble du processus de développement réalisé pour le système en anglais. Si les systèmes actuels manquent de flexibilité pour répondre à ces problèmes, il est donc nécessaire de permettre à ces systèmes de s’adapter à de nouveaux cas de figure au cours du temps. Lorsque l’on se renseigne sur un système de dialogue déployé par une entreprise, il n’est pas rare de lire « le système s’améliore grâce aux interactions que vous avez avec lui ». Il est ainsi facile de penser que le système est capable de s’améliorer instantanément et de manière autonome. Cependant, de manière générale, cette idée est fausse si le système repose sur un modèle d’apprentissage statistique ou profond, puisque l’entraînement d’un modèle se fait généralement hors ligne et une fois le système déployé, celui-ci n’est pas en mesure de s’améliorer de lui-même au fur et à mesure de ses interactions avec les utilisateurs. L’amélioration du système nécessite d’abord d’identifier les points pouvant être améliorés – souvent via l’analyse de journaux d’événements –, ensuite de collecter et d’annoter des nouvelles données, puis d’entraîner ou d’adapter le modèle sur ces nouvelles données, pour finalement déployer et rendre accessible aux utilisateurs la version améliorée du chatbot. Aujourd’hui, ces étapes sont réalisées par des personnes qualifiées et l’amélioration d’un chatbot consiste en une opération fastidieuse et coûteuse. La difficulté d’adapter les systèmes de dialogue au cours du temps consiste ainsi en une troisième limitation.

Lifelong learning et apprentissage sur le terrain

Idéalement, nous souhaiterions que les systèmes de dialogue soient capables d’apprendre de nouvelles connaissances au cours du temps et de profiter des connaissances apprises précédemment pour apprendre plus facilement et plus efficacement de nouvelles connaissances (notion de transfert) tout en gardant de bonnes performances sur l’ensemble de ses connaissances, c’est à dire de minimiser l’oubli. Cette capacité d’apprentissage au cours du temps a été introduite par [Thrun and Mitchell, 1995] sous le nom de Lifelong Learning en anglais (LL), qui peut être traduit en français comme l’apprentissage tout au long de sa vie. Après l’essor de l’apprentissage profond (deep learning en anglais), ont été employés pour décrire cette capacité à la fois le terme de « Lifelong Learning » mais aussi celui d’ « apprentissage continu » (continual learning en anglais) [Parisi et al., 2019]. Cependant, tandis que le LL peut être appliqué à n’importe quel système, l’apprentissage continu n’est lui applicable qu’aux modèles d’apprentissage profond. De plus, la définition du LL a elle-même évolué au cours des années jusqu’à incorporer explicitement l’idée d’apprentissage sur le terrain (on-the-job learning en anglais) [Liu, 2020]. L’apprentissage sur le terrain suppose que l’apprentissage du système, ou du moins son adaptation, se fait après le déploiement du système, en continu et surtout en autonomie. Un système capable d’apprendre sur le terrain doit ainsi être en mesure, sans l’aide d’expert et au cours de son utilisation, de (1) détecter qu’un nouvel élément peut être appris, (2) récupérer et identifier le nouvel élément et (3) s’adapter à ce nouvel élément. Dans le cas où le système à adapter repose sur un modèle d’apprentissage, la deuxième étape consiste en la collecte et l’annotation de nouveaux exemples d’entraînement. Cette étape devra donc être réalisée par le système lui-même.

Dans le cadre de l’apprentissage continu au contraire, l’entraînement du modèle se fait hors ligne, de manière séquentielle, et sur des nouvelles données annotées disponibles à chaque étape de la séquence. Il n’est donc pas nécessaire dans le cas de l’apprentissage continu de réaliser les étapes (1) et (2) de l’apprentissage sur le terrain. Cependant, dans le cadre d’un système reposant sur de l’apprentissage profond, l’étape (3) pourra se faire à l’aide de techniques utilisées pour l’apprentissage continu afin de maximiser le transfert en avant tout en minimisant l’oubli. Dans le cadre des systèmes de dialogue, de manière similaire aux êtres humains, un système de dialogue capable d’apprendre tout au long de sa vie pourrait ainsi profiter des interactions avec son environnement, notamment avec ses utilisateurs, afin d’améliorer ses performances au cours du temps. Un système de dialogue pourrait notamment prendre en compte les retours de ses utilisateurs comme par exemple face à une erreur de compréhension (« Quoi? Mais ce n’est pas du tout ce que j’ai demandé ! »).

De nombreux paradigmes déjà définis, notamment dans le domaine de l’apprentissage profond, sont liés au LL et leur étude permet ainsi en partie l’étude du LL. Parmi ces paradigmes, nous pouvons citer l’apprentissage continu comme vu précédemment, mais aussi l’apprentissage zero-shot, l’apprentissage par renforcement et l’apprentissage en ligne.

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

1 Introduction
1.1 Motivations
1.2 Contexte
1.3 Questions de recherche et structure du mémoire
1.4 Publications
2 Pré-requis, définitions et état de l’art général
2.1 Traitement automatique des langues
2.1.1 Historique récent
2.1.2 Le mécanisme d’attention
2.1.3 Modèles de langue pré-entraînés
2.2 Les systèmes de dialogue orientés tâche
2.2.1 Définitions et différences
2.2.2 Tâches et état de l’art
2.3 Discussion
3 Le Lifelong Learning
3.1 Définitions
3.1.1 Historique
3.1.2 Caractéristiques
3.1.3 Lifelong Learning appliqué aux systèmes de dialogue
3.1.4 Considérations supplémentaires
3.2 Paradigmes associés au Lifelong Learning
3.2.1 Apprentissage zero-shot et apprentissage sur peu d’exemples
3.2.2 Apprentissage continu
3.2.3 Apprentissage en ligne
3.2.4 Apprentissage en monde ouvert
3.2.5 Apprentissage sur le terrain
3.2.6 Apprentissage par renforcement
3.2.7 Autres paradigmes
3.3 Systèmes liés au Lifelong Learning
3.4 Discussion
4 Application et évaluation de l’apprentissage sur le terrain
4.1 Introduction
4.2 État de l’art
4.3 Méthodologie d’évaluation
4.4 Un système de dialogue apprenant sur le terrain
4.4.1 Description de la tâche et du modèle
4.4.2 Collecter des nouvelles connaissances
4.4.3 Adapter la compréhension de la langue
4.5 Contexte expérimental
4.5.1 Simulation de l’utilisateur
4.5.2 Préparation des données
4.5.3 Évaluation
4.6 Résultats et discussion
4.7 Conclusion
5 Étude du transfert entre langues dans le cadre de l’apprentissage continu
5.1 Introduction
5.2 État de l’art
5.3 Cadre expérimental général
5.3.1 Corpus de données
5.3.2 Modèle
5.4 Métriques pour le transfert
5.5 Transfert entre langues
5.5.1 Transfert zero-shot
5.5.2 Transfert multilingue
5.5.3 Transfert continu
5.6 Analyses sur la séquence d’entraînement
5.6.1 Transfert en avant par position
5.6.2 Impact de la longueur de la séquence sur le transfert en arrière
5.6.3 Transfert en arrière dans le cadre du curriculum learning
5.7 Capacités d’un modèle entraîné de manière continue
5.7.1 Vers une meilleure initialisation multilingue
5.7.2 Récupération des performances
5.8 Discussion
5.8.1 Synthèse des expériences
5.8.2 Combiner apprentissage continu et apprentissage actif
5.9 Conclusion
6 Conclusion

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 *