Les différents composants d’un système de dialogue
Un système de dialogue peut se décliner sous de nombreuses formes aux caractéristiques variées (centre d’appel, assistant personnel sur smartphone ou encore robot compagnon). Ceci explique notamment pourquoi il est difficile de trouver dans la littérature un standard architectural unifié entre les différents systèmes de dialogue. De nombreuses propositions existent et l’on peut par exemple faire référence aux approches dites à « domaine ouvert » (open-domain en anglais) telles que celles présentées dans (Strzalkowski et Harabagiu, 2006; Lcock, 2012). Ces dernières reposent principalement sur l’exploitation de sources de connaissances généralistes comme le web sémantique (DBpedia 2, Freebase 3, etc.), pour permettre au système de couvrir un grand champ thématique. En ce sens, ces systèmes mettent en oeuvre des techniques se rapprochant fortement de celles employées pour réaliser des systèmes de questions-réponses (Lopez et al., 2011) dans le domaine de la recherche d’informations. On peut également mentionner les systèmes de dialogue pouvant interagir avec plusieurs utilisateurs en même temps (Bohus et Horvitz, 2010). Dans ce manuscrit, nous nous limiterons cependant aux approches permettant à un système de réaliser un dialogue avec pour objectif principal de répondre à un besoin particulier de l’utilisateur dans un domaine applicatif bien identifié, on parlera alors de but utilisateur (goal-oriented dialogue en anglais).
Procéder à la réservation d’un séjour dans un hôtel, consulter des horaires de trains, résoudre une panne, ou encore exécuter une commande de déplacement d’un objet dans un appartement sont autant d’exemples de buts utilisateur envisageables. Toutes les interactions considérées dans ce manuscrit sont supposées pouvoir être modélisées par une alternance de « tours » entre les deux participants, c’est la notion de cycle du dialogue. Un tour représente le laps de temps pendant lequel un des participants peut s’adresser à l’autre pour faire progresser le dialogue (fin d’un tour généralement manifesté par l’apparition d’un silence prolongé). Le cycle du dialogue peut s’illustrer ainsi : lorsque c’est son tour, un des participants prend la parole (ou plus largement réalise une action) pendant que l’autre est à son écoute. Ce dernier, une fois la fin dudit tour atteinte, donne un sens aux dires ainsi perçus, prend une décision sur la suite à donner à l’interaction puis transmet sa réponse à l’autre participant. Le même processus d’écoute, interprétation, décision et génération de la prochaine action s’opère chez l’autre participant, et le cycle se poursuit jusqu’à la fin du dialogue (résolution ou échec du but utilisateur marqué par une rupture du cycle d’actions communicatives, par exemple raccrocher un téléphone ou s’éloigner). Il est à noter que certains travaux, comme ceux présentés dans (Skantze et Schlangen, 2009; Khouzaimi et al., 2014), ont une vision plus souple de ce cycle, notamment par l’adoption de mécanismes dits incrémentaux pour le traitement des entrées/sorties du système. Ce type de technique peut par exemple être employé pour permettre au système de générer certaines actions pendant le tour de l’utilisateur afin de lui manifester l’état de sa compréhension courante (qu’elle soit bonne ou mauvaise). Selon la nature du système (service vocal, robot, etc.), cela peut prendre la forme d’une production de gestes ou de phénomènes vocaux d’acquiescements (hochement de tête, acte verbal comme « hum hum »). De la même façon, il est possible sous ce paradigme d’envisager la génération de tentatives de prise de parole de la part de la machine. Pour ce faire, ces approches adoptent généralement une vision plus atomique du tour de parole avec l’introduction de la notion de « micro-tour ».
La génération en langue naturelle et synthèse vocale
Le module NLG a une fonction symétrique à celle du SLU. En effet son rôle est de transformer la réponse duDMqui est sous forme actes de dialogue en langue naturelle, c’est à dire dans une forme textuelle exploitable par le module de synthèse vocale. On parlera également de génération en langue naturelle pour faire référence à cette conversion. Il est à noter que là encore le formalisme de représentation du contenu sémantique des énoncés influe fortement sur les capacités de verbalisation de ce module. Dans la plupart des travaux, et notamment ceux de référence en termes de système complet (Young et al., 2010; Thomson et Young, 2010), le processus de génération d’énoncés se limite souvent à l’application de patrons textuels prédéfinis. Quelques exemples de tels patrons sont regroupés dans le tableau 2.2. Bien que leur utilisation représente une solution relativement efficace dans les cas où le nombre d’actes de dialogue système considérés ne rend pas leur définition impossibles, des méthodes plus sophistiquées ont été étudiées dans la littérature pour mieux répondre à cette problématique (Walker et al., 2007; Mairesse et al., 2010; Mairesse et Young, 2014; Wen et al., 2015). L’objectif visé par ces approches est d’utiliser des méthodes issues de l’apprentissage automatique, telles que les modèles de langage factorisés (Factored Language Models – FLM) ou les RNN, pour faciliter la création et la maintenance de tels systèmes.
Cela peut se traduire par le fait d’introduire de la variabilité expressive dans les productions du système, ou encore d’offrir une plus grande tolérance à la nouveauté (séquences de concepts jamais rencontrées) ce qui permet notamment au système de dialogue d’être moins contraint sur la nature de ses sorties. De plus, l’emploi de telles techniques peut sensiblement améliorer les capacités de transfert d’un tel module (application sur une nouvelle tâche). Enfin, certains travaux ont envisagé l’utilisation d’un cadre d’optimisation commun entre la gestion du dialogue et le NLG et ce par le biais de l’apprentissage par renforcement (Reinforcement Learning – RL) (Rieser et Lemon, 2010; Rieser et al., 2014; Lemon, 2011). Ceci est rendu possible par la modélisation du problème de génération par un processus de décision de Markov (Markov Decision Process – MDP) où l’agent apprenant réalise des choix de présentation de l’information sémantique haut niveau que souhaite transmettre le DM (modalités mises en jeu dans la restitution, façon de s’exprimer). La restitution vocale (synthèse vocale) de la réponse du système peut se faire de plusieurs manières.
Tout d’abord il est possible d’envisager la sélection et la concaténation de segments élémentaires de parole naturelle pré-enregistrés. Ainsi on pourra mentionner les approches par sélection d’unités ou par corpus (Hunt et Black, 1996; Möbius, 2000). La synthèse vocale peut également se faire sur la base de modèles statistiques analogues à ceux utilisés pour l’ASR (qui est son processus symétrique dans la chaîne). Par exemple, les modèles HMM (Taylor, 2009) ou plus récemment les techniques à base de réseaux de neurones artificiels (Ling et al., 2015). Certains systèmes de TTS permettent également de pouvoir spécifier des comportements vocaux (changements de rythme, de tonalité) pour jouer un ensemble (souvent réduit) d’émotions ou d’attitudes lors de la prononciation effective d’une phrase (Astrinaki et al., 2012). L’exploitation de réglages fins comme ceux visant à faire varier l’émotivité du timbre de voix (triste, heureux), le style de voix (portée, chuchotée) ou encore la vitesse d’élocution au cours de l’interaction présente un enjeu de taille pour tendre vers plus de naturel dans le dialogue. Nous verrons plus en détail l’intérêt de l’application de ce type d’approches dans le cadre du dialogue situé au chapitre 6.
Évaluation unitaire
Comme nous l’avons mentionné précédemment, il existe pour la plupart des composants d’un système de dialogue, des métriques et des méthodes bien établies pour en réaliser leur évaluation individuelle (ou unitaire) hors contexte. C’est particulièrement le cas des technologies employées pour le traitement automatique de la parole et de la langue (Hirschman et Thompson, 1997; Mariani et Paroubek, 1999) intervenant généralement en début de la chaîne du dialogue (ASR et SLU). Pour ces approches, l’évalua- tion consiste en la comparaison des sorties du module évalué à des sorties de référence (gold standard en anglais). Généralement une mesure traduisant la déviation par rapport à la référence est alors extraite. On pourra donner comme exemple le taux d’erreur de mots (Word Error Rate – WER) pour le module ASR, ou encore le taux d’erreur en concepts (Concept Error Rate – CER) et la F-mesure pour le module de compréhension (pour plus de détails sur ces métriques le lecteur peut se référer à l’annexe B). Plus récemment, un ensemble de métriques standards (précision, norme L2, les courbes ROC pour Receiver Operating Characteristic en anglais, etc.) a été employé avec succès pour comparer la qualité des sorties de divers systèmes visant à maintenir l’état du dialogue (estimé sur un corpus de dialogues annotés) dans le cadre des trois premières éditions du Dialogue State Tracking Challenge (DSTC) (Williams et al., 2013; Henderson et al., 2014a,b).
Ce type d’approche n’est pour autant pas forcement applicable avec la même pertinence à tous les composants intervenant dans la chaîne du dialogue. En effet, plus on avance dans cette dernière, plus il est difficile de restreindre les comportements des différents modules à une petite gamme acceptable. C’est notamment le cas des décisions prisent par le DM (il peut y avoir un grand nombre de sorties valides à chaque point du dialogue) ou des sorties du NLG (il y plusieurs manières de traduire le même acte de dialogue système). De même, pour le TTS il n’existe bien sur pas de références atteignables. C’est pourquoi il est nécessaire d’employer d’autres techniques d’évaluation. En ce qui concerne le DM, et tout particulièrement la politique d’interaction, on peut par exemple procéder à son évaluation en ayant recours à la simulation ce qui présente l’« avantage » de ne pas faire intervenir les autres composants de la chaîne. Nous verrons cela plus en détail dans la section 3.5.1. Pour le NLG, à l’instar des corpus parallèles 8 utilisés en traduction, on peut mettre en correspondance les actes de dialogue système avec leur version « traduite » sous forme textuelle par un expert et évaluer les sorties en utilisant des métriques standards dans ce domaine telle que le BLEU (BiLingual Evaluation Understudy) (Papineni et al., 2002). Pour le TTS on peut faire l’usage de métriques subjectives telles que les notes moyennes d’opinion (Mean Opinion Score – MOS) qui caractérise la qualité de la restitution sonore en moyennant des notes obtenues lors d’un sondage effectué sur panel représentatif d’utilisateurs. Un autre aspect important non couvert par les évaluations hors contexte est l’impact des erreurs d’un module particulier sur les performances du système dans son ensemble. S’il est connu que l’ASR est plus sujet aux erreurs que le SLU du simple fait de la complexité de la tâche, les méthodes d’évaluation unitaires ne permettent pas à elles seules d’expliquer les performances d’un système. Il faudra pour cela les corréler au performance du système dans son ensemble et/ou avoir recours à des études contrastives en ne faisant varier qu’un élément de la chaîne de dialogue (comme la configuration ou l’implémentation d’un module).
1 Introduction |