• Aucun résultat trouvé

MPD : Recommandations audacieuses basées sur le par- par-titionnement

Comment des recommandations peuvent -elles ˆetre audacieuses ?

6.1 MPD : Recommandations audacieuses basées sur le par- par-titionnement

Les systèmes de recommandation jouent un rôle principal dans la prédiction des interactions futures des utilisateurs dans un système. Les avancées qui ont été faites dans le traitement du langage naturel, tel que le plongement de mots, offrent des outils utiles qui créent un regain d’intérêt pour les systèmes basés sur le contenu. Cette méthode couplée aux méthodes existantes d’analyses des thèmes latents permet de mieux définir les profils des utilisateurs et prédire les articles que les utilisateurs aimeraient consommer à l’avenir en fonction d’une mesure de similarité (chapitre 5). Cependant, le défi reste de savoir comment équilibrer la similarité et la diversité (chapitre 2). La recherche de la précision dans les systèmes basés sur le contenu est faite en sélectionnant les articles les plus similaires à ce que l’utilisateur avait aimé dans le passé. Cela produit un manque de diversité et induit de la monotonie et de la frustration chez les utilisateurs (chapitre 2). Or l’être humain est friand de nouveauté et souhaite qu’on le sorte de sa zone de confort. Les concepts de nouveauté et diversité abordés dans les systèmes de recommandation vont dans ce sens en apportant une solution face à la personnalisation accrue et à l’uniformisation des goûts (chapitre 3).

Nous nous sommes intéressés à trouver une liste de n articles pour chaque utilisateur qui sont pertinents, mais aussi divers. Nous avons cherché à trouver un compromis entre diversité et pertinence. Il a été montré que les algorithmes de recommandation basés sur le filtrage collaboratif étaient plus adaptés pour amener de la diversité dans les listes de recommandations [Channamsetty et Ekstrand, 2017]. Dans la suite de cette section, nous allons présenter deux nouvelles méthodes pour les systèmes de recommandation basés sur le contenu qui favorisent la personnalisation et la diversité. Pour ce faire, nous avons combiné la méthode Max-Sum Diversification [Borodin et al., 2012] et des techniques de clustering. Dans le reste de cette section, nous allons décrire notre processus de modélisation dans un espace vectoriel pour les utilisateurs et les articles (section 6.1.1), et nous allons par la suite présenter nos deux modèles de recommandations qui combinent la pertinence et la diversité (section 6.1.2).

6.1.1 Modèlisation dans un espace vectoriel

6.1.1.1 Formulation du problème et notation

Nous considérons que nous avons un ensemble fini d’utilisateurs U = {u1, ...,um}, et un ensemble fini d’articles I = {i1, ...,in}.

Pour chaque article, nous avons une description textuelle de cet article Desc = (desc1, ...,descn), et une liste de tags tiré de l’ensemble T = {t1, ...,tl}. Les articles peuvent aussi être décrits par une liste de genres tirés de G = {g1, ...,go}.

Nous voulons produire un ensemble de listes de recommandation, S = {s1, ...,sm}, avec pour chaque utilisateur une liste de longueur k représentant les articles qui lui sont recommandés

6.1. MPD : Recommandations audacieuses basées sur le partitionnement

en nous basant sur la consommation passée ou les appréciations passées de l’utilisateur P = {p1, ...,pm}.

Notre objectif final est d’avoir pour chaque s 2 S , une liste personnalisée de k articles qui est la plus diverse et la plus pertinente.

6.1.1.2 Modélisation des articles

Pour produire une représentation pour les articles, nous avons utilisé des techniques de l’état de l’art pour analyser les textes descriptifs des articles (section 5.2). Nous construisons une matrice en comptant la fréquence de chaque mot du vocabulaire dans le texte. Après la construction de cette matrice, elle est transformée en une matrice tf-idf (term-frequency inverse-document-frequency).

La matrice tf-idf est par la suite réduite en utilisant l’indexation sémantique latente (LSI)(section 5.2.2.1). Cette méthode est utilisée pour décomposer la matrice en un nombre de facteurs orthogonaux, qui sont ensuite utilisés pour représenter les descriptions des articles en tant que vecteurs. Nous avons fait le choix de LSI puisque cette méthode donnait de meilleurs résultats dans nos expérimentations (section 5.2.3).

Nous avons aussi créé des vecteurs latents à partir des matrices articles-tags et articles-genres, en utilisant la même méthode décrite plus haut. Ces vecteurs de tags et de genres sont utilisés pour améliorer la représentation des articles. Nous écrivons inle vecteur représentant le énième article.

6.1.1.3 Modélisation des utilisateurs

Une fois que les vecteurs des articles sont calculés, une représentation pour chaque utilisateur peut être calculée en utilisant les vecteurs de représentation des articles et les données d’écoute de l’utilisateur. Nous avons défini deux façons d’obtenir une représentation pour l’utilisateur.

6.1.1.3.1 Modélisation des utilisateurs par la somme des vecteurs des articles Pour cette représentation, nous faisons la somme des vecteurs des articles avec lesquels un utilisateur a interagi. Nous normalisons le vecteur, et cela donne un vecteur de préférence global pour chaque utilisateur (formule 6.1).

u =X i 2 Pu (6.1) 6.1.1.3.2 Modélisation du profil de l’utilisateur suite à une factorisation de matrice Nous avons aussi utilisé des techniques de factorisation de matrice pour représenter le pro-fil d’un utilisateur en lieu et place d’une modélisation par somme des vecteurs des articles. Étant donné que les interactions utilisateurs-articles contiennent généralement des évaluations quantitatives ou le nombre de fois que l’utilisateur interagit avec l’article, nous nous sommes

Partie II, Chapitre 6 – Comment des recommandations peuvent-elles être audacieuses ?

inspirés des méthodes de filtrage collaboratif pour trouver un vecteur utilisateur [Hu et al., 2008; Koren et al., 2009; Takács et Tikk, 2012]. Nous utilisons les vecteurs des articles (section 6.1.1.2) et à partir de ces vecteurs, nous apprenons les facteurs pour les utilisateurs. Nous utilisons la méthode simple, SVD de Koren [2008], lorsque nous avons des retours explicites des utilisateurs sous forme d’évaluations, et la méthode Alternating Least Squares method de Koren et al. [2009] quand nous avons des retours implicites d’utilisateurs (par exemple le nombre d’écoutes pour un morceau de musique).

Nous avons implémenté ces approches en décomposant la matrice utilisateur/article en des facteurs utilisateurs (p), articles (q) de plus petites dimensions. Nous estimons les préférences de l’utilisateur en multipliant les facteurs utilisateurs aux facteurs articles (Formule 6.2). Pour apprendre ces facteurs, nous avons minimisé la fonction quadratique (Formule 6.3).

Pour l’approche SVD de Koren [2008], pour chaque exemple de la base de données, il faut calculer l’erreur (rui− pT

uqi)2puis mettre à jour les paramètres en utilisant la descente de gradient stochastique et en allant dans la direction opposée du gradient. La méthode Alternating Least Squares method[Koren et al., 2009] est différente de la méthode SVD [Koren, 2008]. Comme son nom peut l’indiquer, dans cette méthode l’algorithme estime en premier p en utilisant q puis estime q en utilisant p. Après un nombre d’itérations déterminé, l’algorithme atteint un point de convergence quand les facteurs p et q ne changent pas ou que les changements sont minimes.

r0 ui = pT uqi (6.2) argminp X u,i (rui− pT uqi)2 (6.3) Pour les deux méthodes, nous fixons les vecteurs des articles au début du processus d’appren-tissage. Les vecteurs des utilisateurs appris sont dans le même espace vectoriel que les vecteurs des articles (section 1.2.1.2).

Dans le reste du manuscrit, nous appellerons cette méthode SVD-MPD.

6.1.1.4 Modélisation des utilisateurs pour un apport en diversité

Nous présentons ici la modélisation des préférences des utilisateurs qu’utilisent les méthodes que nous allons présenter dans la suite (section 6.1.2).

6.1.1.4.1 Modélisation des utilisateurs par un clustering Nous avons utilisé la méthode de partitionnement en k-moyennes (k-means) pour partitionner les vecteurs des articles associés à un utilisateur en k groupes. Chaque groupement (cluster) représente un type d’articles que l’utilisateur apprécie. Pour produire un bon groupement, nous avons cherché le nombre k optimal de groupements. Ce paramètre k dépend de la cohésion des clusters et de la séparation des clusters. La cohésion d’un cluster est la somme des poids de tous liens qu’il y a dans un cluster.

6.1. MPD : Recommandations audacieuses basées sur le partitionnement

Dans la pratique, cette valeur est égale à la somme des carrés des distances dans le cluster (WSS : within-cluster sum of squares). La séparation des clusters est la somme des poids entre les noeuds du cluster et les noeuds à l’extérieur du cluster. En pratique, cette valeur peut-être calculée par la somme des carrés des distances entre les clusters (BSS : between-cluster sum of squares).

Un partitionnement sera considéré meilleur qu’un autre si cela minimise l’inertie intra-cluster (par exemple, WWS qui représente l’inertie intra cluster) et maximise l’inertie inter-cluster (par exemple, BBS qui représente l’inertie inter cluster). Nous avons utilisé l’index de Calinski-Harabasz(CH, formule 6.4) [Calinski et Harabasz, 1974] pour obtenir le nombre de clusters ayant à priori de bonnes propriétés pour un utilisateur.

CH = BS S/(k − 1)

WS S/(n − k) (6.4) Une fois que les éléments associés à un utilisateur ont été regroupés en un ensemble noté C de clusters, nous utilisons les coordonnées moyennes de chaque cluster c pour modéliser une préfé-rence ou un genre spécifique que l’utilisateur aime. Dans le cas où un utilisateur n’a pas interagi avec plus de deux (2) articles, nous utilisons les vecteurs de ces articles comme des coordonnées de clusters. Nous obtenons un ensemble de vecteurs pour un utilisateur (formule 6.5).

u = {c1,c2...,c|C|} (6.5)

6.1.2 Méthodes proposées

Nous expliquons les systèmes de recommandation que nous avons proposés. Nous expliquons une première méthode basée sur la similarité : la méthode Clustering des préférences utilisateurs. Nous détaillons ensuite un algorithme glouton qui fournit une diversification personnalisée pour l’utilisateur. Nous l’appelons Maximal Personalized Diversification.

6.1.2.1 Méthode basée sur la similarité : Clustering des préférences des utilisateurs Le système trouve pour un utilisateur parmi les articles qu’il n’a pas consommés, les articles les plus proches de chacun des clusters qui représentent son profil. La liste finale des recomman-dations est produite en itérant à travers chaque cluster et en prenant l’élément le plus similaire. Des approches semblables de clustering de préférence d’utilisateur ont été utilisées dans le passé [Zhang et Hurley, 2008]. Mais notre approche diffère de celle présentée par Zhang et Hurley [2008] en ce sens que nous traitons chaque cluster de manière égale, en itérant sur chaque cluster, et en prennant le prochain élément le plus semblable à chaque cluster jusqu’à ce que nous ayons le nombre attendu de recommandations. Cette approche se base sur le clustering pour apporter de la diversité dans la liste de recommandation d’un utilisateur. La diversité est comprise ici comme une liste d’objets ayant des caractéristiques différentes [Castells et al., 2015]. Le clustering nous permet d’identifier les sous-préférences d’un utilisateur de manière implicite. Cette méthode

Partie II, Chapitre 6 – Comment des recommandations peuvent-elles être audacieuses ?

nous permet de faire l’hypothèse que plus un utilisateur aura montré de centres d’intérêt, plus sa liste de recommandations sera diversifiée.

Notre approche initiale se base principalement sur le contenu. Nous construisons un espace vectoriel pour représenter les articles en fonction des caractéristiques des éléments (descriptions textuelles, genres, tags). Dans cette approche, nous ne nous servons pas que des vecteurs articles qui résultent de la réduction de dimensionnalité de la matrice d’utilité comme Zhang et Hurley [2008]. Notre approche prend toutes les interactions des utilisateurs pour construire son profil. Nous ne nous basons pas seulement sur les dernières interactions d’un utilisateur comme pour Vargas et Castells [2013]. La construction de la liste diversifiée à partir de cette méthode est donnée par l’algorithme 2.

Algorithme 2 : Clustering des préférences des utilisateurs

Data : P : ensemble des articles appréciés par un utilisateur, C : ensemble des clusters pour un utilisateur, k : nombre de recommandations

Result : S : ensembles des articles diverses begin

S = {} for c in C do

if |S | < k then

i =argmaxi<P^Scosinus(i, c) S = S [ {i}

6.1.2.2 Méthode de clustering personnalisée : Maximal Personalized Diversification Nous introduisons ici un algorithme qui cherchera à produire une liste de recommandations diversifiée pour un utilisateur (algorithme 3). L’algorithme que nous présentons est basé sur la méthode appelée Max-Sum Diversification [Borodin et al., 2012] qui est une combinaison linéaire d’une fonction qui mesure la pertinence d’un article (i) pour un utilisateur et une fonction qui mesure la différence entre les articles sélectionnés (formule 6.6).

argmax S ✓I\Iu 0 B B B B B B @ λr(i) − (1 − λ)X i2S X j2S −i dist(i, j) 1 C C C C C C A tq |S |  k (6.6) Cette équation permet de sélectionner une liste d’articles de longueur k, pertinents, et divers selon la mesure de distance sélectionnée. Cette équation est composée d’une partie submodulaire, mais également d’une partie super-modulaire : la somme des distances. Les fonctions modulaires peuvent être caractérisées par un gain marginal décroissant quand la taille de l’ensemble à obtenir ou à rechercher augmente. Le problème Max-sum Diversification est un problème NP-difficile et peut être résolu par un algorithme glouton. Il a été démontré que l’usage d’un tel algorithme permettait d’obtenir une approximation constante d’un ratio de 2 quand il y a une contrainte de cardinalité [Borodin et al., 2012].