Quelles données utiliser pour entraîner des systèmes de génération de dialogues socio-émotionnels ?

Le succès des technologies d'apprentissage profond, soutenu par l'accessibilité croissante de corpus de données de plus en plus importants, a contribué au développement de systèmes de génération de dialogues de plus en plus avancés. Chez Zaion, nous avons pour objectif de faire des recherches sur ces modèles plus développés pour les appliquer par la suite au service clientèle.

21 septembre 2022
  • ressources >
  • Zaion lab blog >
  • Quelles données utiliser pour entraîner des systèmes de génération de dialogues socio-émotionnels ?

Lorraine Vanel
Doctorante à Zaion et Télécom-Paris sur le thème de la génération d’énoncés en langue naturelle pour des agents socialement compétents.
Je fais également office de responsable culinaire et de traiteur à temps partiel au Zaion Lab – quelqu’un doit garder ces cerveaux en éveil.

Introduction

Le succès des technologies d’apprentissage profond, soutenu par l’accessibilité croissante de corpus de données de plus en plus importants, a contribué au développement de systèmes de génération de dialogues de plus en plus avancés. Chez Zaion, nous avons pour objectif de faire des recherches sur ces modèles plus développés pour les appliquer par la suite au service clientèle.

Au-delà des questions de grammaire ou de fluidité du contenu généré, l’interaction homme-machine est confrontée à un défi principal pour l’agent conversationnel : la cohérence. Elle implique différents problèmes secondaires, tels que :

  • Cohérence logique (pertinence de la réponse générée par rapport à l’historique de la conversation)
  • Cohérence de la persona (pertinence du comportement du bot par rapport à son comportement antérieur dans l’interaction)
  • Cohérence sociale (pertinence de la réponse par rapport à un ensemble de règles et d’étiquette sociales acceptées)
  • Cohérence émotionnelle (pertinence par rapport à l’état émotionnel de l’utilisateur)

La cohérence est importante pour éviter les situations où les utilisateurs trouveraient le bot « étrange ». Un agent orienté tâches est souvent le représentant d’une entité qui fournit un service et en tant que tel, il doit être fiable d’un point de vue commercial, mais aussi offrir une interaction sociale agréable. Même si les bots socio-émotionnels existent dans des applications orientées tâches, la plupart de ces systèmes sont utilisés et conçus pour le domaine ouvert.

Alors que le critère de cohérence logique peut être résolu grâce à la puissance de calcul, les trois autres critères sont beaucoup moins étudiés, même si de nombreux travaux ont prouvé à quel point un comportement conscient des émotions est bénéfique à l’expérience globale de l’utilisateur.

Cependant, les concepts complexes tels que l’émotion sont délicats à annoter en raison de la subjectivité de la tâche, d’où la difficulté d’obtenir des données pertinentes et fiables. Cela devient rapidement un défi important dans l’apprentissage profond, où les données sont au cœur des processus d’apprentissage des systèmes et où une énorme quantité de données est nécessaire.

Dans cette série de deux articles de blog, je vais présenter les différentes méthodes utilisées dans la littérature pour concevoir la collecte et l’annotation des données socio-émotionnelles :

  1. Comment les données socio-émotionnelles sont-elles collectées et annotées ?
  2. Quelles sont les stratégies socio-émotionnelles intéressantes étudiées?

Comment les données socio-émotionnelles sont-elles recueillies et annotées ?

 

Dans l’apprentissage profond, les données sont cruciales car c’est avec elles que les systèmes vont apprendre leurs représentations. Par exemple, chez Zaion, nous pouvons utiliser les données de nos clients (dans les limites de nos contrats), et étiqueter les données par le biais de notre équipe d’annotation experte afin de les alimenter pour la formation de nos modèles de langage.

Dans ce premier article, je vais passer en revue les différentes manières de collecter et d’annoter des données conversationnelles qui ne demandent pas nécessairement l’accès à de telles ressources professionnelles. Ces approches sont utilisées dans la littérature des systèmes conversationnels socio-émotionnels, et les jeux de données que je mentionnerai sont, pour la plupart, des corpus constitués de données textuelles et parfois transcrites à partir de sources audio.

Collecte et annotation de données

Nous allons passer en revue trois approches principales de collecte ainsi que les méthodes d’annotation associées que nous avons observées dans la littérature.

Crowdsourcing

Collecte : Le crowdsourcing, lorsqu’il est appliqué à la collecte de données, est une méthode participative où un groupe de personnes contribue à la création d’échantillons de données. Les données obtenues par crowdsourcing sont généralement des interactions entre humains (H-H). Elles impliquent généralement un locuteur qui transmet une émotion, et un auditeur qui doit répondre de manière appropriée. Les systèmes de dialogue sont ensuite formés pour jouer le rôle d’auditeurs. Les données sont recueillies en faisant interagir les deux intervenants (crowd workers) en suivant des directives établies. Pour les dialogues empathiques, les intervenants jouant le rôle de locuteurs sont invités à entamer la conversation à la suite d’une incitation émotionnelle. Les auditeurs doivent adapter leurs réponses au contexte présenté par leur interlocuteur sans avoir connaissance au préalable de l’incitation ou de la situation. Un exemple de dataset construit ainsi est le jeu de données ESConv.

Annotations dérivées : Pour le crowdsourcing, les étiquettes (émotions et stratégies de dialogue) associées aux données sont directement issues des instructions données aux annotateurs. En outre, les réponses aux enquêtes soumises aux travailleurs pendant le processus de collecte peuvent être recueillies à la fois du côté de l’auditeur et du côté du locuteur, ce qui permet de collecter davantage de données, telles que l’évaluation de l’empathie et les stratégies de dialogue au niveau de l’énoncé.

Explorées à partir des sources en ligne

Collecte :  Une autre façon courante de collecter des données est l’exploration (crawling), qui consiste en d’autres termes à extraire des informations de sources en ligne. Dans le cas des données textuelles, il s’agit souvent de posts et de commentaires récupérés sur les réseaux sociaux et qui sont donc des conversations naturelles entre humains. Elles peuvent également provenir d’autres sources (comme OpenSubtitles) où les données sont scénarisées. Les données extraites de ces sites web ne sont généralement pas étiquetées et des processus d’annotation doivent être conçus pour étiqueter ces corpus.

Annotations manuelles : Lorsque les jeux de données sont petits ou si l’équipe de recherche dispose de moyens matériels, les données peuvent être entièrement annotées par des experts humains ou des annotateurs qui ont été formés à cette tâche d’annotation spécifique. DailyDialog a été annoté par 3 experts ayant une bonne compréhension de la théorie du dialogue et de la communication, qui ont été formés aux directives de la tâche (annotation des actes de dialogue et d’émotion).

Annotations semi-automatiques : L’annotation manuelle est généralement associée à des algorithmes pour accélérer le travail et alléger la charge de travail des juges humains. Cette approche hybride est appelée annotation semi-automatique. En général, la première étape consiste à faire annoter par des juges humains une petite fraction des dialogues collectés. Pour fournir un soutien supplémentaire aux intervenant humains, l’équipe de recherche ayant mis au point le jeu de données EDOS a fait appel à un model basé sur la technologie BERT, entraîné sur un autre dataset (empathetic dialogues), qui fournit pour chaque conversation les trois étiquettes émotionnelles les plus probables. Cela permet d’éviter que les juges humains ne sélectionnent l’une des 42 étiquettes disponibles, mais plutôt qu’ils choisissent parmi 3 étiquettes, avec la possibilité de sélectionner l’une des autres si nécessaire. La deuxième et dernière partie du processus consiste à utiliser ces données annotées manuellement comme données qui serviront à former un classificateur qui annotera automatiquement le reste des données collectées.

Annotations dérivées : On peut également utiliser le contexte dans lequel les données web ont été postées. Par exemple, pour le jeu de données PEC, les messages et les commentaires ont été extraits de deux subreddits : happy et offmychest. L’environnement reddit d’origine fournit donc une étiquette et il ne reste plus qu’à effectuer un contrôle de qualité en demandant à des annotateurs humains d’annoter un petit ensemble de conversations (dans le cas de PEC, 100 provenant du reddit happy, 100 du reddit offmychest et 100 d’un autre reddit, casualconversations, pour contrôle).

Récupérées à partir des services déployés

Collecte : Lorsque des services tels que l’assistance à la clientèle, les chatbots et autres sont déjà déployés, il est possible de récupérer les logs pour les compiler en corpus. La plupart du temps, cela concerne les interactions homme-machine, mais on peut aussi s’en servir pour les conversations entre humains (comme les données de centre d’appel).

Annotation manuelle / semi-automatique : Ce type de données peut utiliser les mêmes méthodes d’annotation que les données d’exploration : annotation humaine éventuellement assistée par des approches d’IA telles que décrites ci-dessus. Pour leur jeu de données EmoContext, 50 annotateurs humains ont annoté manuellement 300 dialogues pour chacune des 4 classes et chaque dialogue a été examiné par 7 juges. Ces dialogues annotés ont été intégrés sous forme de vecteurs, puis utilisés avec des seuils de similarité cosinus pour trouver des occurrences similaires dans le pool de données non annotées. Les résultats étaient ensuite vérifiés par des juges humains qui rendent la dernière décision.

Feedback de l’utilisteur : Certains bots en production peuvent demander des feedbacks sur la satisfaction des clients, soit directement, soit par le biais d’enquêtes. Ces informations peuvent être utilisées pour annoter certaines conversations.

Discussion

Dans le domaine des systèmes orientés tâches, nous sommes confrontés à la question du type de données. Les corpus publics compilent souvent des conversations du domaine ouvert qui présentent des stratégies, des formulations et des objectifs différents. Pour qu’un modèle fournisse de bonnes performances, les données d’entraînement (ainsi que le type d’étiquettes) doivent ressembler aux données en temps réel auxquelles le système sera confronté lorsqu’il sera déployé auprès d’utilisateurs réels. Pour de meilleures performances, le défi consiste donc à créer des données qui se rapprochent le plus possible du contexte de la conversation dans un cadre orienté vers les tâches.

 

Pour les moyens de collecte, le crowdsourcing a ses avantages. Il permet un contrôle précis du contenu des dialogues, la collecte d’échantillons nombreux et diversifiés répondant à des problématiques spécifiques définies par l’équipe de recherche, et un label donné directement par la source des données (le locuteur). Cependant, la nature scénarisée de l’interaction induit un parti pris important dans le corpus, car elle diffère de la façon dont une personne pourrait exprimer spontanément ses sentiments dans une situation similaire. Les données de domaine ouvert recueillies sur les réseaux sociaux ou d’autres sources en ligne constituent un autre problème, car elles ne sont pas structurées de la même manière que les dialogues orientés tâche. En fin de compte, pour les fournisseurs de services qui ont déjà des agents conversationnels déployés en production, la solution optimale consiste à récupérer et à utiliser les journaux de conversation. Les données obtenues à partir des agents conversationnels déployés relèvent de l’interaction homme-machine, et si l’acceptabilité de ces bots peut influencer la conversation (et la façon dont l’utilisateur s’exprime), l’interaction reste spontanée et authentique. Cependant, les partis pris qui sont intrinsèques au comportement et au développement de la machine seront préservés dans le corpus. Néanmoins, celui-ci offre le meilleur compromis entre, d’une part, les énoncés orientés vers la tâche qui correspondent à l’utilisation prévue du bot et, d’autre part, la nature spontanée des conversations et les réactions authentiques, même si elles peuvent être influencées par l’acceptabilité de la technologie et de l’IA dans le service clientèle.

 

Une fois les données collectées, nous pensons qu’une étape très importante doit précéder la phase d’annotation : la conception d’un processus d’étiquetage, basé sur l’étude des modèles et des données réelles ou attendues, qui permet d’établir ce qui doit être annoté et quelles caractéristiques doivent être enseignées à l’agent virtuel. Une fois ce processus clairement défini, une annotation semi-automatique permet une bonne optimisation des ressources, tout en garantissant une bonne cohérence avec un contrôle de qualité par des annotateurs humains. Si la quantité de données le permet, une annotation manuelle garantit également une très bonne qualité et un contrôle des étiquettes ainsi obtenues. Il convient de préciser qu’en raison de sa nature subjective, l’annotation de l’état émotionnel est une tâche complexe, même pour les humains. Deux personnes peuvent ne pas être d’accord sur une émotion exprimée dans un même échantillon, en raison des parti pris personnels et internes qui entachent notre perception des états émotionnels d’autrui.

 

Bien que la plus grande utilisation de ces modèles de bout en bout soit l’interaction directe avec l’utilisateur, comme les chatbots, d’autres applications ont fait leur apparition, notamment dans le domaine de l’expérience client. Un de ces exemples est la génération automatique de réponses aux agents humains pour les aider en temps réel dans leurs tâches, comme ce que propose Zaion avec Smart Coaching qui vise à générer une suggestion de réponse en temps réel aux agents humains. Ces nouveaux services ouvrent de nouveaux horizons intéressants dans le domaine, tels que l’étiquetage des données (si l’agent humain choisit d’utiliser la réponse du robot, elle serait automatiquement étiquetée comme pertinente) ou le résultat souhaité de la génération (comme la suggestion des n meilleures réponses, n étant généralement compris entre 3 et 4).

En quelques mots

Différents moyens de collecte, avec leurs schémas d’annotation associés, existent pour recueillir les données socio-émotionnelles :

  • Crowdsourcing (annoté avec des enquêtes ou des incitations émotionnelles)
  • Online Crawling (annotation humaine qui peut être assistée par des algorithmes)
  • Interaction homme-machine (annotation manuelle/semi-automatique ou feedback de l’utilisateur)

Il est important de réfléchir au processus de collecte et d’annotation afin de recueillir le type de données qui sera le mieux adapté à la tâche à accomplir. Chaque méthode a ses avantages et ses inconvénients et le tout est de trouver le meilleur compromis pour une situation donnée.

« Dans la deuxième partie de ce blog, je définirai les différentes stratégies socio-émotionnelles étudiées dans la littérature, ainsi que pourquoi et comment elles sont pertinentes pour améliorer l’efficacité du système conversationnel orienté tâche. A bientôt ! »