Après avoir fait un panorama de la recherche en dialogue dans le précédent article, je vous propose maintenant de découvrir la problématique du passage des travaux de recherche à l’industrie dans le contexte des systèmes de dialogue : par exemple, les serveurs vocaux interactifs (1013, 3000, 3900, …) ou les assistants personnels (Siri, Google Now, Cortana, ou Echo).
Obstacles à l’apprentissage par renforcement dans les systèmes de dialogue industriels
Depuis une vingtaine d’années, l’apprentissage par renforcement [Sutton1998] fait les beaux jours de la recherche en dialogue [Levin1997, Lemon2007, Young2013] par sa capacité à en optimiser le comportement. Pourtant, malgré quelques rares succès commerciaux [Putois2010] (prise de rendez-vous pour le 1013), son adoption par l’industrie reste en suspens pour deux raisons principales : la représentation de l’espace d’état du système (ensemble de tous les états dans lesquels le système est susceptible de se retrouver) requiert un niveau d’expertise scientifique élevé ; et le comportement est optimisé de manière à maximiser une fonction objectif, qui est elle-même difficile à déterminer.
La représentation de l’espace d’état soulève plusieurs problématiques [Pieraccini2005, Paek2008]. L’état du système doit contenir l’information du contexte de dialogue nécessaire à une prise de décision éclairée. La qualité de la prise de décision est donc directement dépendante de la représentation de l’espace d’état. Mais il existe un phénomène appelé la malédiction de la dimension qui empêche d’inclure toutes les variables du système dans cet état. En effet, cela compromettrait la vitesse de convergence des algorithmes d’apprentissage. Il faut donc mettre l’information pertinente, et seulement elle, ce qui est tout un art.
La fonction de récompense permet l’évaluation des dialogues, de telle sorte qu’en optimisant celle-ci, les futurs dialogues générés soient de meilleure qualité. Une mauvaise fonction objectif induira une optimisation selon de mauvais critères et donc des dialogues générés de mauvaise qualité. Dans les systèmes de dialogue, il arrive souvent qu’il soit difficile d’évaluer automatiquement les dialogues [Walker1997, Boularias2010, Sugiyama2012] : l’utilisateur a-t-il mis un terme à la conversation parce qu’il a obtenu ce qu’il cherchait ou parce qu’il a abandonné ?
Une approche tout automatique
Se basant sur les précédents travaux de l’équipe [Laroche2009, Laroche2010], Layla El Asri s’est attachée, dans sa thèse chez Orange, à apporter des solutions aux deux points. Elle a pour cela conçu une méthodologie selon trois lignes de conduite :
- Le concepteur de service vocal n’est pas familier avec l’apprentissage par renforcement. La représentation de l’espace d’état et la fonction de récompense doivent donc être apprises automatiquement à partir des données.
- Le concepteur ne doit pas perdre le contrôle de son service. Il doit donc avoir un retour sur ce que le système apprend, grâce à des résultats d’apprentissage faciles à interpréter par lui-même.
- Le système doit pouvoir apprendre en ligne, c’est-à-dire alors que le système est déployé en production. C’est important parce que les déploiements de services vocaux sont coûteux.
Cette méthodologie est illustrée par la figure ci-dessous.
Préparation des données
Le concepteur du service se charge de la conception du système en laissant un ensemble d’alternatives : dans certaines situations données, le système a une ou plusieurs actions possibles. Par exemple, pour un système de recherche de restaurant, si l’utilisateur a dit « je veux une pizza », le système doit-il lui proposer le résultat de sa recherche sous forme de liste (probablement très longue) ? Ou plutôt doit-il lui demander dans quel quartier ? Ou encore lui demander pour quel prix ? Ce sont trois questions pertinentes dans cette situation et il est difficile d’y répondre au moment de la conception du système.
La deuxième étape consiste à collecter un corpus de dialogues, dialogues pendant lesquels le système suivra une stratégie aléatoire. Il est important que toutes alternatives soient utilisées : sans utilisation, pas d’évaluation possible.
Ensuite, les troisième et quatrième étapes consistent à annoter ce corpus avec des indicateurs clefs de performance (potentiellement très nombreux) : la durée du dialogue, les questions posées à l’utilisateur, le nombre de rejets de la reconnaissance vocale, … et des évaluations des dialogues, par les utilisateurs les ayant effectués, ou par des experts : évaluation globale, évaluation de la capacité du système à comprendre l’utilisateur, évaluation de la capacité du système à se faire comprendre par l’utilisateur, …
Apprentissage automatique de la stratégie
Le corpus annoté ainsi obtenu permet d’apprendre successivement, grâce aux algorithmes développés lors de la thèse :
Etape 5 : représentation compacte et interprétable de l’espace d’état : une mémoire creuse distribuée [Kanerva1988] conserve un nombre limité de prototypes d’états auxquels sont comparés les nouveaux états rencontrés. Un algorithme génétique [Rogers1990, Anwar1999] est ajouté de manière à ne conserver que les prototypes les plus adaptés. Cette représentation est à la fois efficace et offre une bonne interprétabilité [ElAsri2016a] : il suffit de regarder la stratégie adoptée au niveau des prototypes d’états pour se faire une idée de la stratégie générale du système.
Etape 6 : estimation d’une fonction de récompense : il s’agit de prédire la qualité d’un dialogue à partir de ses indicateurs de performance. Un banc d’essai a été réalisé sur un ensemble représentatif d’algorithmes d’apprentissage supervisé, et selon plusieurs métriques d’évaluation (corrélation de rang de Spearman, distance euclidienne, erreur de Manhattan et le coefficient d’accord de Cohen), révélant que les machines à vecteurs de supports pour la régression ordinale [Chu2007] (SVOR) l’emporte selon l’intégralité de ces métriques [ElAsri2013a, ElAsri2014c, ElAsri2014d].
Etape 7 : apprentissage par renforcement d’une stratégie d’interaction : on pourrait se satisfaire des récompenses finales calculées dans la sixième étape, mais il a été démontré [Ng1999] que plus les récompenses sont attribuées rapidement, plus l’apprentissage par renforcement se fait rapidement. Nous avons développé, appliqué et comparé les deux algorithmes [ElAsri2012, ElAsri2013b, ElAsri2014e, ElAsri2016b] pour distribuer la récompense au cours du dialogue et ne plus en attendre la fin.
Afin de valider ces travaux, nous les avons appliqués à des systèmes de dialogue dédiés à la prise de rendez-vous. L’un de ces systèmes, NASTIA [ElAsri2014a, ElAsri2014b], appliqué à la prise de rendez-vous, a fait l’objet d’une expérience utilisateur permettant de collecter 1734 dialogues évalués par les utilisateurs eux-mêmes.
Encore des difficultés restantes
Même si les points bloquants au niveau de l’utilisabilité ont été levés, on reste loin de la démocratisation de l’apprentissage par renforcement dans les systèmes de dialogue industriels. Les algorithmes développés sont coûteux en termes de ressources computationnelles, il reste donc à définir une architecture permettant la mise à jour des modèles de manière asynchrone pour éviter les ruptures de service. Plus important encore, les développeurs d’applications vocales cherchent la robustesse, la lisibilité et la maintenabilité de leur code, avant la performance du système. Cela signifie qu’ils continuent de privilégier un système simple et sans alternative, même si l’utilisation de celles-ci, couplée aux algorithmes décrits ci-dessous permettraient de diviser par deux le taux d’échec.
Les prochains efforts devront donc d’une part se porter sur l’échange avec les unités d’affaire pour leur faire comprendre l’opportunité qui s’offre à eux et d’autre part sur l’évolution du produit pour que la multiplication des alternatives laissent la lisibilité et la maintenabilité intactes.
En savoir plus :
Si vous ne savez pas, ou si vous avez oublié ce qu’est l’apprentissage par renforcement, et/ou comment il est appliqué aux systèmes de dialogue, je vous conseille de (re)lire mon précédent article (écrit avec Jean-Léon Bouraoui) avant de commencer.
Ecosystème :
Anwar A., Dasgupta D., and Franklin S.(1999). Using genetic algorithms for sparse distributed memory initialization. Evolutionary Computation.
Boularias A., Chinaei H.R., and Chaib-draa B. (2010) Learning the reward model of dialogue pomdps from data. NIPS.
Chu W., and Keerthi S.S. (2007). Support vector ordinal regression. Neural computation.
El Asri L., Laroche R., and Pietquin O.(2012) Reward Function Learning for Dialogue Management. STAIRS.
El Asri L., and Laroche R. (2013a) Will my Spoken Dialogue System be a Slow Learner?. SIGDIAL.
El Asri L., Laroche R., and Pietquin O.(2013b) Reward Shaping for Statistical Optimisation of Dialogue Management. SLSP.
El Asri L., Lemonnier R., Laroche R., Pietquin O., and Khouzaimi H. (2014a) NASTIA: Negotiating Appointment Setting Interface, LREC.
El Asri L., Laroche R., and Pietquin O.(2014b) DINASTI: Dialogues with a Negotiating Appointment Setting Interface. LREC.
El Asri L., Khouzaimi H., Laroche R., and Pietquin O. (2014c) Ordinal regression for interaction quality prediction. IEEE ICASSP.
El Asri L., Laroche R., and Pietquin O.(2014d) Régression Ordinale pour la Prédiction de la Qualité d’Intéraction. JEP.
El Asri L., Laroche R., and Pietquin O.(2014e) Task Completion Transfer Learning for Reward Inference. MLIS (AAAI workshop).
El Asri L., Laroche R., and Pietquin O.(2016a) Compact and interpretable dialogue state representation with Genetic Sparse Distributed Memory, IWSDS.
El Asri L., Piot B., Geist M., Laroche R. and Pietquin O. (2016b) Score-based Inverse Reinforcement Learning, AAMAS (à paraître).
Kanerva P. (1988). Sparse distributed memory. MIT press.
Laroche R., Putois G., Bretier P., and Bouchon-Meunier B. (2009) Hybridisation of expertise and reinforcement learning in dialogue systems. Interspeech.
Laroche R. (2010) Raisonnement sur les incertitudes et apprentissage pour les systèmes de dialogue conventionnels. Thèse.
Lemon O., and Pietquin O. (2007) Machine learning for spoken dialogue systems. Interspeech.
Levin E., and Pieraccini R. (1997) A stochastic model of computer-human interaction for learning dialogue strategies. Eurospeech.
Ng A.Y., Harada D., and Russell S. (1999). Policy invariance under reward transformations: Theory and application to reward shaping. ICML.
Paek T., and Pieraccini R. (2008) Automating spoken dialogue management design using machine learning: An industry perspective. Speech communication.
Pieraccini R., and Huerta J. (2005) Where do we go from here? Research and commercial spoken dialog systems. SIGDIAL.
Putois G., Bretier P., and Laroche R. (2010) Online Learning for Spoken Dialogue Systems: The Story of a Commercial Deployment Success. SIGDIAL.
Rogers D. (1990). Weather prediction using a genetic memory. Report.
Sugiyama H., Meguro T., and Minami Y.(2012) Preference-learning based Inverse Reinforcement Learning for Dialog Control. Interspeech.
Sutton R. S., and Barto A. G. (1998) Reinforcement learning: An introduction. Cambridge: MIT press.
Walker M.A., Litman D.J., Kamm C.A., and Abella A. (1997) PARADISE: a framework for evaluating spoken dialogue agents. EACL.
Young S., Gasic M., Thomson B., and Williams J. D. (2013) POMDP-based statistical spoken dialog systems: A review, Proceedings of the IEEE.