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 :
- Comment les données socio-émotionnelles sont-elles collectées et annotées ?
- 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 intervenants humains, l’équipe de recherche ayant mis au point le jeu de données EDOS a fait appel à un modèle 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.