Les premiers systèmes
Dans cette section, après avoir effectué une présentation chronologique des systèmes de dialogue, il sera question des systèmes plus récents. Le premier système de dialogue, tout du moins celui qui correspond à sa description générique en 2.1.1 s’appelle ELIZA [Weizenbaum, 1966]. C’est un système de dialogue simulant un psychanalyste, basé sur un système symbolique qui reconnaît des formes et des mots-clés dans les énoncés de l’utilisateur, et les reformule en questions avec l’utilisation de patrons pré-construits. Plus que le premier système de dialogue, c’est le premier système à essayer de remporter le Jeu de l’Imitation [TURING, 1950], appelé plus communément le Test de Turing. Ce test, défini par Alan Turing comme la réponse à la question : “Est-ce que les machines peuvent penser ce que nous, humains, pouvons penser ?” Autrement dit, peut-on faire croire à un humain qu’une machine peut penser comme lui ? Dans ce cas, comme l’humain serait il capable de savoir s’il parle à une machine ou à un autre humain ? Se pose donc la question de la possibilité d’une pensée, d’une conscience, d’une intelligence artificielle. Cette problématique possède des origines bien plus anciennes car nous pouvons remonter au XVIIe siècle et à René Descartes qui pose la question, non pas de la machine pensante mais du corps sans pensée qui serait capable d’imiter l’humain. A l’époque des Lumières, Denis Diderot écrivait dans Pensées Philosophiques : “Si un perroquet pouvait répondre à tout, j’affirmerais sans hésiter qu’il est intelligent”, en d’autres termes, si une machine était capable de répondre à toute question d’un humain, nous ne serions plus capables d’affirmer que c’est une machine, donnant là un critère du Test de Turing. Pour clore cette parenthèse nous pouvons évoquer plusieurs œuvres culturelles faisant référence à ce fantasme de robots étant dotés de conscience comme dans le roman Les androïdes rêvent-ils de moutons électriques ? de Philip K. Dick, ou encore les films Matrix des sœurs Wachowski. Pour en revenir à ELIZA, sa popularité est venue du fait que certains utilisateurs, notamment ceux qui étaient véritablement atteints de dépression, d’anxiété et autres troubles et maladies psychiques, finissaient par penser qu’ELIZA était un humain se faisant passer par une machine, voire pour les cas les plus aliénés, devenaient dépendants d’ELIZA, que ce soit parce que naissait en eux un sentiment amoureux ou parce qu’ELIZA remplaçait pour eux un vrai psychanalyste. C’est l’effet ELIZA [Hofstadter, 1996]. Le second système de dialogue est appelé PARRY [Colby, 1974], un système simulant un patient atteint de schizophrénie. Lors d’une évaluation pendant laquelle plusieurs psychanalystes devaient déterminer s’ils avaient conversé avec un humain ou avec PARRY, ils parvenaient à fournir la bonne réponse seulement 48% des 28 fois [Pinar Saygin et al., 2000]. Nous pouvons trouver également un projet appelé PARRY encounters the DOCTOR où l’on a fait dialoguer PARRY et ELIZA ensemble 10. Jusqu’à la fin du XXe siècle, les systèmes de dialogue les plus répandus restent ceux basés sur le filtrage par motif, aussi appelé pattern matching. Un des plus célèbres s’appelle A.L.I.C.E [Wallace, 2009], ayant remporté plusieurs fois le prix Lœbner 11 qui récompense chaque année le système de dialogue étant le plus proche de passer le test de Turing. A.L.I.C.E est programmée sous formes de règles de filtrage par motif dans un langage inventé par le créateur de celle-ci, le AIML (artificial intelligence markup language), un dérivé du XML. La popularité de A.L.I.C.E à la fin des années 1990 est si importante que beaucoup d’imitations voient le jour à tel point qu’est apparu le terme “AliceBot” pour désigner les systèmes de dialogues basés sur le même principe comme par exemple le système appelé Mitsuku, aujourd’hui plus connu sous le nom de Kuki 12, créé par la société Pandorabots 13 et quintuple vainqueur du prix Lœbner. Alice a même inspiré le film de Spike Jonze, Her, racontant l’histoire d’un homme tombant amoureux d’un système de dialogue. Un historique plus complet des premiers systèmes de dialogue symboliques est disponible en ligne 14 ainsi que dans la littérature [Shum et al., 2018, Gao et al., 2018]. A partir des années 2000 et avec la puissance décuplée des processeurs, les systèmes à base de règles sont peu à peu abandonnés pour être remplacés par des systèmes contenant des modèles probabilistes basés sur l’apprentissage automatique.
Des modèles neuronaux
C’est ainsi qu’à partir des années 2010 et la remise au goût du jour des réseaux de neurones artificiels [Rosenblatt, 1958, Lecun, 1985], en partie due aux progrès technologiques [Aslot et al., 2001], la communauté a commencé à développer des systèmes de dialogue basés sur les algorithmes d’apprentissage profond (deeplearning) appelés réseaux de neurones récurrents (RNN pour recurrent neural network) [Rumelhart et al., 1986] et plus particulièrement les réseaux à mémoire à court et long terme (LSTM pour long-short term memory) [Hochreiter and Schmidhuber, 1997] qui possèdent la particularité d’apprendre des séquences temporelles, et donc des historiques de dialogue [Su et al., 2017, Zilka and Jurcicek, 2015]. Cependant, par son architecture, le LSTM doit retenir des séquences entières avant de pouvoir effectuer une prédiction, c’est-à-dire que le réseau doit mémoriser mot à mot le tour de parole de l’utilisateur avant de pouvoir lui donner une réponse. C’est un mécanisme assez éloigné des modèles cognitifs, qui eux retiennent des concepts et des affordances mais pas l’intégralité d’une séquence [Mecklinger et al., 2004, Bailey et al., 2008, Macken et al., 2014]. Ainsi, pour permettre au LSTM de raisonner par filtrage des informations dans une séquence sans avoir à la mémoriser en entier, celui-ci se voit affublé d’un mécanisme d’attention qui change dynamiquement la valeur des poids dans une de ses couches pour obtenir une valeur dynamique et non pas statiques des vecteurs contextuels [Bahdanau et al., 2015]. Les modèles basés sur les LSTM bi-directionnels (Bi-LSTM) [Kim et al., 2019] se montrent encore plus efficaces car les informations retenues en mémoire appartiennent non seulement au passé mais aussi à l’avenir. Par exemple si la tâche consiste en la prédiction d’un mot à une position donnée dans la phrase, le Bi-LSTM observe non seulement les mots précédents, mais aussi les mots suivant celui à prédire, ce qui lui fournit plus d’informations et une plus grande probabilité Dans la seconde moitié de la décennie et jusqu’à nos jours, un terme est apparu concernant entre autres les systèmes de dialogue, mais pas uniquement, c’est celui de modèle de bout-en-bout (E2E pour end-to-end). Comme son nom l’indique, un système de dialogue basé sur un modèle de bout-en-bout contient un seul programme, qui permet d’effectuer à la fois la compréhension de l’énoncé de l’utilisateur, la gestion des états du dialogue, ainsi que la génération de la réponse. Les systèmes que nous avons évoqués en 2.1.2 et 2.1.3 ne concernent en général que la gestion du dialogue, car la compréhension de l’utilisateur et la génération de la réponse sont traitées par des méthodes symboliques pour la première et un index de réponses pré-conçues pour la seconde. Avant d’expliquer ce que cela implique, il nous semble judicieux d’ouvrir une parenthèse concernant l’architecture des systèmes de dialogue. Traditionnellement, nous distinguons les trois sous tâches (aussi appelées modules) évoquées ci-dessus, qui, ensemble, forment un système de dialogue [Young et al., 2013] (voir 2.1).
La compréhension du langage
La compréhension du langage (NLU pour Natural Language Understanding) est le module qui interprète le tour de parole de l’utilisateur. De façon pratique, un énoncé se présente sous la forme d’une ou plusieurs phrases [Lopez, 1999], de taille variable. En fonction du thème du dialogue, mais également du numéro du tour de parole, certaines phrases seront plus ou moins courtes [DeVault et al., 2011]. Par exemple, lorsque l’énoncé du tour de parole précédent du système est une demande de confirmation : “Est-ce bien le train de Paris à Lorient de 17h15 que vous voulez que je réserve ?”, la réponse de l’utilisateur, et donc son énoncé, a de fortes chances d’être assez courte. L’énoncé est toujours lié à son contexte, donc à l’historique du dialogue. En d’autres termes, pour que le module de NLU devienne performant, il a besoin de posséder en mémoire suffisamment d’informations de l’historique du dialogue [Shawar and Atwell, 2003, Favre et al., 2017], sauf si le dialogue ne fait que commencer. La question que l’on peut se poser est la suivante : comment sait-on si le module de NLU a vraiment compris l’énoncé de l’utilisateur, comment évaluer le module de NLU ? Naïvement, nous sommes tentés de répondre que la compréhension demeurant une tâche exclusivement humaine, seul l’humain peut évaluer la compréhension [Braun et al., 2017]. Cela signifierait qu’à chaque tour de parole de l’utilisateur, le système devrait être en mesure de reformuler l’énoncé de l’utilisateur, sous forme de résumé ou de paraphrase, pour convaincre ce dernier que sa demande a bien été comprise. Toutefois, lors d’une utilisation du système en situation réelle, il n’est pas imaginable d’implémenter une telle méthode.
|
Table des matières
1 Introduction
2 État de l’art
2.1 Historique et définitions
2.1.1 Qu’est-ce qu’un système de dialogue ?
2.1.2 Les premiers systèmes
2.1.3 Les systèmes statistiques
2.1.4 Des modèles neuronaux
2.1.5 Les modules d’un système de dialogue
2.2 Etat de l’art des systèmes de dialogue les plus récents
2.2.1 Les systèmes de bout-en-bout
2.2.2 Les systèmes avec réseaux de mémoire
2.2.3 Les systèmes avec modèle de l’utilisateur
2.3 Les différents corpus
2.4 Plusieurs méthodes d’évaluation
2.5 Boîtes à outils et applications industrielles
2.5.1 Explorations universitaires orientées applications
2.5.2 Limites de l’industrialisation
2.5.3 Communauté autour des chatbots
2.6 Conclusion
3 La mémoire dans le dialogue
3.1 Le fonctionnement de la mémoire
3.1.1 Les mémoires à court terme
3.1.2 Les mémoires à long terme
3.1.3 Interférences
3.2 La mémoire dans le dialogue
3.2.1 Mémoire parfaite
3.3 Les différents canaux dialogiques
3.3.1 Du dialogue oral et écrit
3.3.2 Du dialogue humain-humain (DHH) et humain-machine (DHM)
3.4 Conclusion
4 Le modèle à trois axes
4.1 Motivation
4.1.1 La dimension réflexive
4.1.2 La dimension temporelle
4.1.3 La dimension des incohérences
4.2 Les méthodes de modélisation du dialogue
4.2.1 Les réseaux génératifs antagonistes
4.2.2 Les réseaux de mémoire (MemNN pour memory neural network)
4.2.3 Modèle mémoriel du WMM2Seq
4.3 Proposition d’un Bi-WMM2Seq : modèle à trois axes
4.3.1 Dimension réflexive
4.3.2 Dimension temporelle
4.4 Les incohérences dans le dialogue
4.4.1 Typologie des erreurs
4.4.2 Classification des erreurs
4.5 Modules non implémentés et limites du modèle
4.5.1 Réponses alternatives
4.5.2 Limites du modèle
4.6 Conclusion
5 Résultats expérimentaux
5.1 Corpus de dialogue actuels
5.1.1 DSTC2 : erreurs et spécificités
5.1.2 MultiWOZ erreurs et spécificités
5.2 Construction de nouvelles ressources
5.2.1 Fusion de corpus libres
5.2.2 Fusion d’ontologies et de bases de connaissances
5.2.3 Impact de la fusion évalué avec des modèles de référence
5.2.4 Conclusion
5.3 Incohérences
5.3.1 Corrélation entre incohérences et échec du dialogue
5.3.2 Tâche de détection d’incohérence
5.3.3 Conclusion
5.4 Entropie et progression dans le dialogue
5.4.1 Calcul de l’entropie conditionnelle
5.4.2 Corrélation entre l’entropie et les erreurs dans le dialogue
5.4.3 Prédiction des tranches temporelles
5.4.4 Résultats de la prédiction des tours de parole restants
5.4.5 Analyse des résultats sur les tours de parole restants
5.5 Le Bi-WMM2Seq
5.5.1 Modèles de base
5.5.2 Bi-WMM2Seq en mode oracle
5.5.3 DSTC2.1
5.5.4 Métriques d’évaluation
5.5.5 Analyse des résultats
5.5.6 Conclusion
6 Discussion
6.1 Des modèles de l’interlocuteur et de la réflexivité des agents dialogiques
6.1.1 Une interaction humain-machine définie par l’information
6.1.2 Une nouvelle mesure d’évaluation ?
6.1.3 Réponses alternatives ou multiples réponses ?
6.1.4 De la prédiction de la taille restante du dialogue
6.1.5 De l’apport du double modèle
6.1.6 Hypothèses sur les meilleures performances
6.1.7 Vers un modèle réflexif autonome ?
6.2 De la mémoire de travail
6.3 Considérations éthiques et légales
6.3.1 Energie et consommation
6.3.2 RGPD et système de dialogue
6.3.3 Protocole de système de dialogue conforme au RGPD (PCCR)
6.3.4 Définir le PCCR
6.3.5 Limites du PCCR
6.4 Le problème de l’anonymisation
6.4.1 Conditions requises pour des données anonymisées réutilisables
6.4.2 Implementation
6.4.3 Exemple
6.4.4 Méthode utilisée pour la validation
6.5 Implémentation industrielle et évaluation humaine du Bi-WMM2Seq
6.5.1 Implémenter un Bi-WMM2Seq dans une société
6.5.2 Le problème des données
6.6 Travaux futurs
6.6.1 Données
6.6.2 Architecture Bi-WMM2Seq
6.6.3 Expérimentations et évaluations
6.6.4 Combiner GPT-2 et Bi-WMM2Seq
6.6.5 Un Bi-WMM2Seq en mode génération et déploiement ?
6.7 Regrets
Télécharger le rapport complet