• Aucun résultat trouvé

Recommandation d’emojis par prédiction de leur catégorie

d’édition Substitution = 2

Caractéristiques 5-grams de lettres, humeur, nombre de mots, tf-idf

5. Recommandation d’emojis par prédiction de leur catégorie

Plan du chapitre

5.1 Introduction 105

5.2 Corpus d’apprentissage pour la recommandation d’emojis 107

5.2.1 Données du corpus 107

5.2.2 Pré-traitement des données 107

5.3 Encodage des données 108

5.4 Élagage et remplissage des messages 109 5.5 Prédiction de catégories d’emojis 109

5.6 Impact de la temporalité 116

5.7 Utilisation du système prédictif pour une recommandation 119

5.8 Limites 121

5.8.1 Multiple usages des emojis dans le corpus 121 5.8.2 De la différence entre tweets et messages informels

privés 123

5.9 Conclusion 124

5.10 Synthèse 126

5.1. Introduction

La recommandation est le fait de proposer des choix à l’utilisateur en fonc-tion de critères objectifs ou subjectifs. Ainsi la recommandafonc-tion, que ce soit sur Netflix, YouTube ou autres, est fondée sur les préférences et les avis que l’utilisa-teur a effectué mais aussi sur son historique de visualisation et les catégories de films. Ces exemples mélangent deux approches principales de la recommanda-tion : la recommandarecommanda-tion fondée sur la confiance (Trust-based recommendarecommanda-tion) (O’DONOVANet SMYTH, 2005) et celle fondée sur le contenu (Content-based

re-commendation) (PAZZANI et BILLSUS, 2007). La première utilise les indications de confiance telles que l’évaluation par note ou nombre d’étoiles, tandis que la seconde utilise le contenu directement généré par l’utilisateur. Dans ce chapitre, nous proposons une recommandation fondée sur le contenu (i.e. les emojis uti-lisés) pour proposer un ensemble de choix possibles à l’utilisateur, ce qui la dis-tingue d’une prédiction directe d’emojis (présentée au chapitre3).

Le recommandation proposée ici est fondée sur un système de classification appris à partir du contenu utilisateur. Plusieurs travaux de recherche très récents

portent sur la classification de messages par emoji (BARBIERI, BALLESTEROS et SAGGION, 2017; FELBO, MISLOVE et al.,2017; ZHAO et ZENG,2017) (voir sec-tion 2.3). Toutefois, les modèles proposés ne sont validés, testés et conçus que dans le but de pouvoir retrouver l’emoji utilisé par l’utilisateur dans un contexte précis. Ainsi, la plupart des travaux sont orientés vers la prédiction d’emoji et non de la recommandation (XIE, Z. LIU et al.,2016a). Dans nos travaux présen-tés au chapitre3, nous nous différencions des travaux existants en supposant que plusieurs emojis doivent être proposés via une prédiction multi-étiquettes en évi-tant par conséquent une prédiction mono-étiquette. Malgré cela, notre système requiert tout de même des exemples d’usages d’emojis liés à leur contexte, en guise de corpus d’entraînement. Il est donc nécessaire d’obtenir un système qui s’en détache tout en permettant de conserver l’usage de métriques classiques d’évaluation de classification. De plus, il convient de prendre en compte les cas où les emojis sont utilisés pour représenter le sentiment ou l’émotion inverse du message textuel afin, par exemple, de transmettre un message sarcastique. Il est en effet difficile de connaître le sentiment ou l’émotion que l’utilisateur souhaite transmettre uniquement à partir du contenu textuel.

Dans cette perspective, notre objectif est de proposer une recommandation d’emojis efficace sans utiliser d’approche classique de systèmes de recomman-dation (voir section 1.5). L’objectif n’est pas de recommander uniquement de nouveaux éléments, mais d’identifier à partir du contexte plusieurs emojis repré-sentatifs de l’émotion que l’utilisateur veut transmettre. Cette particularité s’ex-plique par la nature de l’objet recommandé : l’emoji est un élément persistant et redondant contrairement aux éléments généralement recommandés comme les livres ou les films.

Plusieurs hypothèses sont ainsi posées. Dans un premier temps, nous considé-rons la recommandation d’emojis comme un cas à part qui se situe entre pré-diction et recommandation. Ensuite, nous considérons qu’une recommandation d’emojis doit pouvoir se détacher du simple système prédictif, en adaptant son utilisation et son évaluation. Par le biais de la prédiction des catégories obtenues, nous souhaitons pouvoir prédire la catégorie d’emojis à partir d’un message ins-tantané, chaque catégorie étant liée à une émotion basique. Ce chapitre tend donc à illustrer le principe de recommandation hybride que nous proposons : une prédiction de panels de choix possibles pour l’utilisateur, regroupés par si-milarités sémantiques.

Dans ce chapitre, le corpus utilisé est décrit dans la section5.2et le traitement des données est détaillé en sections 5.3 et 5.4. La méthode utilisée est ensuite présentée en section5.5. Enfin, l’analyse de cette méthode et de son utilisation pour la recommandation finale (sections 5.6et5.7) précède ensuite l’étude des limites de cette approche (section5.8).

5.2. Corpus d’apprentissage pour la

recommandation d’emojis

5.2.1. Données du corpus

Pour apprendre un modèle de recommandation d’emojis sentimentaux, nous avons utilisé un corpus de messagerie instantanée privée recueilli dans le cadre de l’application propriétaire de la société Caléa Solutions1. Ce choix est motivé par le contexte applicatif, l’objectif étant de développer un système de recom-mandation pour une messagerie sociale instantanée, il est nécessaire de consti-tuer un corpus le plus proche possible du contexte d’utilisation final. Ce corpus correspond à celui utilisé pour la prédiction d’emoji (Section 3.3.1), enrichi de messages en anglais issus du Royaume-Uni et de l’Australie, passant de 1 118 124 messages à 1 304 698 messages avec un taux de 1,36 catégorie par message. Afin de rester au plus près possible du cadre applicatif désiré, une application instan-tanée privée, nous excluons les tweets comme un possible corpus (Section5.8.2).

5.2.2. Pré-traitement des données

Le pré-traitement du corpus s’apparente à celui effectué précédemment (cha-pitre 3) : chaque message est d’abord séparé en deux champs, l’un pour l’éti-quette et l’autre pour le texte associé (Figure 5.1). Ensuite, nous supprimons les liens hypertextes avant de normaliser le texte en minuscule. La seule information géographique ne constituant pas une source assez fiable d’identification de la langue, nous appliquons également une identification automatique des langues présentes dans un texte à l’aide de la proportion de mots vides propres à chaque langue. Enfin, là aussi chaque message est limité à deux répétitions typogra-phiques maximum, tandis que la tokenisation et la lemmatisation sont les mêmes que précédemment.

L’objectif étant de prédire les catégories d’emojis obtenues automatiquement (chapitre4), nous appliquons ensuite une correspondance entre emojis présents et catégories afin de ne garder que l’information relative à la catégorie. De cette manière, si un message contient plusieurs emojis appartenant à la même catégo-rie, il ne lui sera alors attribué qu’une seule étiquette relative à cette catégorie. Concrètement, le message suivant :

Wonderfuuuuul ! ! ! devient alors ceci :

Catégorie Texte

Surprise wonderfuul ! !

Tableau 5.1. – Exemple de donnée après pré-traitements énumérés ci-dessus (ré-pétition typographique, etc.).

Pour cette recommandation nous considérons une classification supervisée mono-étiquette, également appelée classification multi-classe, motivée par plu-sieurs facteurs. Tout d’abord, nous avons peu de messages ayant des emojis de plusieurs catégories. En moyenne, chaque message contient 1,36 catégories. Cela peut s’expliquer par le fait que les catégories sont déjà obtenues par le biais d’une proximité contextuelle contenue dans les plongements lexicaux. Pour prendre également en compte les cas où plusieurs catégories sont présentes pour un seul et même message, ces messages possédant plusieurs étiquettes sont répétés en plusieurs instances ayant chacune une de ces étiquettes. Ainsi, si un message possède des emojis de deux catégories différentes A et B, il sera répété deux fois, une fois avec la classe A, une autre fois avec la classe B.

5.3. Encodage des données

Une fois les données pré-traitées et nettoyées, il convient de les encoder afin d’obtenir une représentation numérique du texte.

Dans cette recommandation, nous souhaitons conserver l’ordre des mots pour plusieurs raisons. Tout d’abord, nous prenons en compte le message complet et n’essayons pas de séparer les phrases du corpus, ce qui diffère de l’approche uti-lisée pour la prédiction décrite au chapitre3. Ce choix est motivé par la difficile séparation en phrases dans un corpus de conversations informelles, non standar-disés. Il devient important de traiter différemment les termes apparaissant à la fin d’un message. Les sacs de mots et les sacs de caractères ne sont pas privilégiés dans la représentation des données choisie car il ne permettent pas de conser-ver l’ordre du texte en se concentrant sur des matrices de décompte de mots. L’empilement de caractéristiques globales calculées est également ignoré, nous considérons que les plongements lexicaux obtiennent de telles caractéristiques à partir du texte. De plus, les algorithmes utilisés précédemment ne prenaient pas en compte l’ordre des mots avec bien souvent l’usage de sacs de mots, ou de caractères. Ici nous varions les algorithmes de prédiction afin de pouvoir, le cas échéant, prendre en compte l’ordonnancement quand cela est possible. Une mé-thode permettant de représenter une suite de mots ordonnée est la mise en place de plongements lexicaux (Word2Vec) (MIKOLOV, CHENet al.,2013), combinée à la vectorisation du texte en indices de mots.

Les plongements lexicaux sont abordés de deux manières : en amont pour l’ensemble des algorithmes, sauf pour les réseaux de neurones profonds pour lesquels les plongements lexicaux sont effectués via une couche cachée lors de l’entraînement. Le format pivot commun aux deux approches est la vectorisation du texte en indices de mots. Ces indices (nombres entiers positifs) sont alors transformés en vecteurs en utilisant le modèle skip-gram Word2Vec (REHUREKet SOJKA,2010; MIKOLOV, SUTSKEVERet al.,2013), ou dans une couche cachée de plongements lexicaux transformant chaque index en vecteur de taille fixe. Les plongements lexicaux sont appliqués sans seuil de fréquence minimale contrai-rement à ceux du chapitre 4, afin de prendre en compte la totalité du corpus relativement petit de messages instantanés privés.

5.4. Élagage et remplissage des messages

La taille des vecteurs doit être fixe et uniforme pour pouvoir servir d’entrée d’un réseau. Devant cette nécessité, il convient de prendre en compte deux fac-teurs : la longueur des messages et la taille des vecfac-teurs de chaque mots, définie dans les hyper-paramètres de plongements lexicaux. Le premier facteur, la lon-gueur des messages, est fixé à 15 mots/termes qui correspond à la moyenne de longueur des messages du corpus comme l’ont fait Nguyen et al. (NGUYEN et GRISHMAN, 2015). Ainsi l’élagage (trim) permet de couper les messages ayant une taille supérieure à 15. Il reste cependant à définir quelle partie du message enlever. Il existe plusieurs méthodes d’élagage en coupant la bordure gauche du message (left trim) ou droite (right trim). Puisque nous voulons pouvoir mettre en avant la proximité dans l’ordonnancement des mots du message, nous ap-pliquons un élagage gauche qui supprime le contenu le plus ancien, c’est-à-dire le texte le plus à gauche pour une langue orientée de gauche à droite comme l’anglais. Le même principe est appliqué pour les messages ayant une longueur inférieure à 15 : un élément unique et factice sera répété jusqu’à l’obtention de la longueur adéquate, aussi appelée remplissage égal (same padding). Ce procédé se résume à travers l’algorithme1.

5.5. Prédiction de catégories d’emojis

Afin de recommander à l’utilisateur des emojis par catégories, nous mettons en place un système prédictif à partir d’une classification supervisée mais, cette fois-ci, mono-étiquette. L’objectif de ce classifieur est de classer chaque message dans l’une des 18 catégories définies au chapitre 4. Plus précisément, nous ne