• Aucun résultat trouvé

Towards Accurate and Scalable Recommender Systems

N/A
N/A
Protected

Academic year: 2021

Partager "Towards Accurate and Scalable Recommender Systems"

Copied!
221
0
0

Texte intégral

(1)

HAL Id: tel-01920124

https://tel.archives-ouvertes.fr/tel-01920124

Submitted on 13 Nov 2018

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Towards Accurate and Scalable Recommender Systems

Manuel Pozo

To cite this version:

Manuel Pozo. Towards Accurate and Scalable Recommender Systems. Information Retrieval [cs.IR]. Conservatoire national des arts et metiers - CNAM, 2016. English. �NNT : 2016CNAM1061�. �tel-01920124�

(2)

EDITE - École Doctorale du Conservatoire National des Arts et Métiers Laboratoire CEDRIC - Centre d’Études et De Recherces en Informatiques et

Communications

THÈSE DE DOCTORAT

présentée par :

Manuel POZO

soutenue le :

12 octobre 2016

pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers Discipline / Spécialité : Informatique

Towards Accurate and Scalable Recommender Systems

THÈSE dirigée par

Mme. METAIS Elisabeth Professeur , CNAM

THÈSE encadrée par

Mme. CHIKY Raja Enseignant-chercheur, ISEP

RAPPORTEURS

Mme. BOYER Anne Professeur, Université de Lorraine

Mme. TEISSEIRE Maguelonne Directrice de recherche, IRSTEA EXAMINATEURS

M. MEZIANE Farid Professeur, Salford University

M. DU MOUZA Cédric Maître de Conférences-HDR, CNAM

M. MASSEGLIA Florent Chercheur-HDR, Université Montpellier 2

PRÉSIDENT DU JURY

(3)
(4)

For this dissertation, I would like to thank őrst of all Raja Chiky. She was the őrst person in my professional, she took an non-experienced Spanish student and give him trust and the possibility to learn and grow. I would not be here today without her support and conődence. I thank my thesis director, Elisabeth Métais, for her encourage during these years and the intern-ship opportunity she ofered me at the University of Salford, Manch-ester. I also thank my supervisor in this intern-ship, Farid Meziane, for his contribution to my work and for receiving me in Salford as I was one of his own team.

I warmly thank ISEP for receiving me, specially to every member of the team RDI. I want to give special thank Sylvain Lefebvre for his help, his support, our long talks and his friendship, and Maria Trocan for taking care of me.

I thank my family. Thank my father for being a model of cleverness and intelligence. Thank my mother for learning me the afection. Thank my brother for reminding me that hard-work and achievements come together. My self-exigence often blinds me and my family always remind me who I am and what I am capable of.

Thank my other family, my friends. Those who are far-away and those who are near-by. Sathiya, Amadou, Rayane, Loïc and Denis, thank you for the daily smiles we shared together and your unconditional help whenever it was needed (or not). One day, Zakia told me that "phd collegues are friends for the whole life", and I already started missing you. I want to thank my love, Virginia, for supporting me anytime and helping me to put the last and hard period to this thesis.

Finally, thank FIORA project, "DGCIS" and "Conseil Regional de l’Île de France" for funding this thesis.

(5)

ACKNOWLEDGMENTS

(6)

Recommender Systems aim at pre-selecting and presenting őrst the information in which users might be interested. This has raised the attention of the e-commerce, where the interests of users are analysed in order to predict future interests and to personalize the ofers (a.k.a. items). Recommender systems exploit the current preferences of users and the features of items/users in order to predict their future preference in items.

Although they demonstrate accuracy in many domains, these systems still face great challenges for both academia and industry; they require distributed techniques to deal with a huge volume of data, they aim to exploit very heterogeneous data, and they sufer from cold-start, situation in which the system has not (enough) information about (new) users/items to provide accurate recommendations.

Among popular techniques, Matrix Factorization has demonstrated high accurate pre-dictions and scalability to parallelize the analysis among multiple machines. However, it has two main drawbacks: (1) diiculty of integrating external heterogeneous data such as items’ features, and (2) the cold-start issue.

The objective of this thesis is to answer to many challenges in the őeld of recommender systems: (1) recommendation techniques deal with complex analysis and a huge volume of data; in order to alleviate the time consumption of analysis, these techniques need to parallelize the process among multiple machines, (2) collaborative őltering techniques do not naturally take into account the items’ descriptions in the recommendation, although this information may help to perform more accurate recommendations, (3) users’ and items’ descriptions in very large dataset contexts can become large and memory-consuming; this makes data analysis more complex, and (4) the new user cold-start is particularly important

(7)

to perform new users’ recommendations and to assure new users ődelity.

Our contributions to this area are given by four aspects: (1) we improve the distribution of a matrix factorization recommendation algorithm in order to achieve better scalability, (2) we enhance recommendations performed by matrix factorization by studying the im-plicit interest of the users in the attributes of the items, (3) we propose an accurate and low-space binary vector based on Bloom Filters for representing users/items through a high quantity of features in low memory-consumption, and (4) we cope with the new user cold-start in collaborative őltering by using active learning techniques.

The experimentation phase uses the publicly available MovieLens dataset and IMDb database, what allows to perform fair comparisons to the state of the art. Our contributions demonstrate their performance in terms of accuracy and eiciency.

(8)

Les systèmes de recommandation visent à présélectionner et présenter en premier les in-formations susceptibles d’intéresser les utilisateurs. Ceci a suscité l’attention du commerce électronique, où l’historique des achats des utilisateurs sont analysés pour prédire leurs intérêts futurs et pouvoir personnaliser les ofres ou produits (appelés aussi items) qui leur sont proposés. Dans ce cadre, les systèmes de recommandation exploitent les préférences des utilisateurs et les caractéristiques des produits et des utilisateurs pour prédire leurs préférences pour des futurs items.

Bien qu’ils aient démontré leur precision, ces systèmes font toujours face à de grands déős tant pour le monde académique que pour l’industrie: ces techniques traitent un grand volume de données qui exige une parallélisation des traitements, les données peuvent être également très hétérogènes, et les systèmes de recommandation soufrent du démarrage à froid, situation dans laquelle le système n’a pas (ou pas assez) d’informations sur (les nouveaux) utilisateurs/items pour proposer des recommandations précises.

La technique de factorisation matricielle a démontré une précision dans les prédictions et une simplicité de passage à l’échelle. Cependant, cette approche a deux inconvénients: la complexité d’intégrer des données hétérogènes externes (telles que les caractéristiques des items) et le démarrage à froid pour un nouvel utilisateur.

Cette thèse a pour objectif de proposer un système ofrant une précision dans les recom-mandations, un passage à l’échelle pour traiter des données volumineuses, et permettant d’intégrer des données variées sans remettre en question l’indépendance du système par rapport au domaine d’application. De plus, le système doit faire face au démarrage à froid utilisateurs car il est important de ődéliser et satisfaire les nouveaux utilisateurs.

(9)

Cette thèse présente quatre contributions au domaine des systèmes de recommanda-tion: (1) nous proposons une implémentation d’un algorithme de recommandation de fac-torisation matricielle parallélisable pour assurer un meilleur passage à l’échelle, (2) nous améliorons la précision des recommandations en prenant en compte l’intérêt implicite des utilisateurs dans les attributs des items, (3) nous proposons une représentation compacte des caractéristiques des utilisateurs/items basée sur les őltres de bloom permettant de ré-duire la quantité de mémoire utile (4) nous faisons face au démarrage à froid d’un nouvel utilisateur en utilisant des techniques d’apprentissage actif.

La phase d’expérimentation utilise le jeu de données MovieLens et la base de données IMDb publiquement disponibles, ce qui permet d’efectuer des comparaisons avec des tech-niques existantes dans l’état de l’art. Ces expérimentations ont démontré la précision et l’eicacité de nos approches.

(10)

0.1

Introduction

Le contenu web est devenu très vaste et les utilisateurs rencontrent des diicultés pour trouver une information pertinente. Les utilisateurs d’Internet lisent environ 10 Mo d’information par jour (par exemple, les actualités), entendent 400 Mo par jour (par ex-emple, musique) et voient, en géneral, 1 Mo d’information par seconde (par exex-emple, des vidéos)1

. Ils peuvent se sentir débordés en cherchant parmi ce contenu ceux qui sont les plus adaptés à leur proől parce qu’ils n’ont pas le temps ou simplement ils n’ont pas la connaissance pour trouver le plus approprié.

Les systèmes de recommandation réduisent radicalement la quantité d’information présentée aux utilisateurs. Ils analysent leur intêret et présentent d’abord les items (un pro-duit ou un service tels qu’ une vidéo, une image, etc) qui les intéresseraient le plus [Kantor et al., 2011].

L’intérêt des utilisateurs pour quelques items peut être donné de façon explicite ou implicite appelé également "score". D’une part, l’intérêt explicite, comme une note ou un "rating", est une déclaration formelle de l’intérêt de l’utilisateur. Ces données sont le plus utilisées dans la littératuree. Les utilisateurs peuvent noter des items (par exemple des őlms) utilisant une note entre 1 et 5, où "1" représente le manque d’intérêt et "5" représente un fort intérêt pour l’item. D’autre part, l’intérêt implicite est une déduction donnée par l’interaction web entre des utilisateurs et des items [Oard et al., 1998]. En efet, il est possible de mesurer les comportements des utilisateurs par les pages Web. Ceci permet de connaître combien de clics un item a reçu ou combien de temps un utilisateur

1

(11)

0.1. INTRODUCTION

a passé à consulter un item. De plus, les systèmes de recommandation peuvent incorporer les descriptions des items (par exemple le genre d’un őlm, le chanteur des chansons, les écrivains des livres), les données démographiques des utilisateurs (par exemple l’âge, le sexe, le niveau d’études) et des données venant d’autres contextes, comme Wikipédia, des réseaux sociaux, des coordonées gps, etc, ce qui peut aussi améliorer les recommandations.

0.1.1 Challenges

Les systèmes de recommandation font face à de multiples problématiques tels que la volumétrie et analyse de la donnée, l’hétérogénéité de la donnée, ainsi que la précision de recommandations. Ces déős sont résumés par la suite:

Adaptabilité et passage à l’échelle: le grand nombre d’utilisateurs, d’items et de scores supposent l’analyse d’une grande volumétrie de données, ce qui nécessite beaucoup de ressources et de temps. Il est nécessaire de créer des techniques de recommandation où le calcul est facilement parallélisable et incremental[Sarwar et al., 2002, Koren, 2010, Owen et al., 2011].

Hétérogénéité de la donnée: les systèmes de recommandation peuvent utiliser des infor-mations hétérogènes externes autres que les intérêts des utilisateurs. Ces systèmes utilisent typiquement des ressources d’information multiples pour améliorer les recommandations [Kantor et al., 2011], par exemple les descriptions des items, les descriptions des utilisa-teurs, etc. Le déő de ces systèmes est de récupérer, classiőer et intégrer ces informations, ce qui implique davantage de complexité, et afecte les performances du système.

Démarrage à froid: c’est la situation dans laquelle le système n’a pas (ou pas assez) d’informations sur un nouvel utilisateur/item, c’est-à-dire leur score; et par conséquence, les recommandations de l’utilisateur (ou de l’item) ne sont pas pertinentes [Su and Khosh-goftaar, 2009, Kantor et al., 2011].

L’objectif de cette thèse est d’améliorer les systèmes de recommandations en répondant aux déős cités précédemment.

(12)

0.2

État de l’art

Les systèmes de recommandation se doivent de sélectionner les informations les plus intéressantes en fonction du but recherché, tout en conciliant nouveauté, surprise et per-tinence. Un système de recommandation se base sur des caractéristiques de références acquises de manière automatisée selon des méthodes diférentes. Elles peuvent provenir de: • L’item (l’objet à recommander) lui-même, on parle alors "d’approche basée sur le con-tenu" (ou content-based approach) [Balabanović and Shoham, 1997]. Le őltrage basé sur le contenu calcule la similarité entre les objets aőn de trouver l’objet correspon-dant le plus aux goûts de l’utilisateur. Dans ce cas, l’utilisateur se voit recommander des items similaires à ceux qu’il a préférés dans le passé.

• L’utilisateur et l’environnement social, on parle alors "d’approche de őltrage collab-oratif" (ou collaborative őltering). Le principe du őltrage collaboratif [Breese et al., 1998] consiste à implanter informatiquement le principe du "bouche-à-oreille". Il utilise les comportements connus d’une population pour prévoir les futurs agisse-ments d’un individu. La méthode collaborative présente des avantages par rapport au őltrage basé sur le contenu: elle est plus eicace dans la pratique et simple à mettre en oeuvre. Notamment, il a été prouvé que les techniques de factorisation de matrice fournissent des résultats précis et ont l’avantage d’être facilement parallélisable (pour la montée en charge et le passage à l’échelle) [Koren et al., 2009].

Les milieux académiques et l’industrie ont investi leurs eforts dans le champ de la recommandation. Plusieurs études ont montré que la technique de factorisation matricielle est l’une des plus importantes contributions. Elle est apparue pendant le prix de "Netŕix" et elle a aidé les nouveaux systèmes à améliorer la précision et le passage à l’échelle des techniques de recommandation. Cette technique n’utilise pas les descriptions, donc n’aide pas à l’incorporation de données hétérogènes. De plus, elle est très sensible aux situations de démarrage à froid et "sparsité". En conséquence, plusieurs travaux dans le milieu industriel mais aussi académique la combinent avec d’autres approches, notamment des approches utilisant le contenu des items, pour améliorer la performance globale des recommandations.

(13)

0.3. DESCENTE DE GRADIENT STOCHASTIQUE ET DISTRIBUÉE

Cette thèse assume la factorisation matricielle comme la technique de principe dans les systèmes de recommandation et vise à aller au-delà de cette technique. Nos contributions se concentrent (1) sur le passage à l’échelle de la factorisation matricielle pour réaliser la meilleure performance dans des clusters Hadoop, (2) l’intérêt implicite d’utilisateurs dans les descriptions des items et comment réduire l’impact du domaine de recommandations, (3) les représentations des items et utilisateurs dans des très grands contextes de données et (4) le démarrage à froid orienté aux nouveaux utilisateurs pour des techniques de őltrage collaboratives pures. Notre but őnal est que ces contributions aident les systèmes de recommandation à mieux manipuler des données et comprennent mieux les utilisateurs pour améliorer la performance du système et la précision des recommandations.

0.3

Descente de gradient stochastique et distribuée

Le nombre d’utilisateurs et d’items dans un système de recommandation est habituelle-ment très élevé. Par exemple, Netŕix dispose de plus de 20 millions de clients, 80 mil-liers de őlms et 5 milliards de notes [Makari et al., 2014]. En général, les utilisateurs notent uniquement certains de ces items et cela crée un grand volume d’évaluations man-quantes/inconnues pour prédire. Ainsi, ces prédictions peuvent afecter le temps ede traite-ment. Les nouveaux systèmes de recommandation devraient être précis dans leurs prédic-tions mais aussi parallélisables pour soulager la montée en charge et le temps de traitement des données.

Ce travail se concentre sur la technique de factorisation matricielle appelée la de-scente distribuée et stochastique de gradient (Distributed Stochastic Gradient Descent (DSGD)), contrairement aux technnique de optmisation par moindres carrés (Alternating Least Squares (ALS)[Zhou et al., 2008]). Les contributions dans ces aspects sont: (1) une mise en oeuvre de cette technique dans Hadoop/MapReduce, et (2) nous avons étudié cette technique pour améliorer son adaptabilité dans un ensemble de machines et ainsi améliorer la performance des recommandations.

(14)

0.3.1 Contribution et résultats

L’idée proposée dans [Gemulla et al., 2011, Makari et al., 2014] consiste à diviser une matrice initiale composée d’utilisateurs, d’items et de ratings en plusieurs blocs, de façon à ce qu’il y ait un certain nombre de blocs qui soient complètement indépendants (qui ne partagent pas d’utilisateurs ni d’items). Ces blocs indépendants forment un ensemble appelé "stratum". Lorsque les blocs sont indépendants, leur analyse est indépendante et leurs résultats sont aussi indépendants et agrégeables. Par conséquent, l’analyse des ratings (des blocs) dans le stratum peut être distribuée parmi plusieurs machines. Au maximum, autant de machines que de blocs dans le stratum sont éxéctuées en parallèle. En créant diférents stratums (avec d’autres blocs indépéndants) il est possible de faire l’analyse de la matrice initiale complète.

Le problème que nous avons soulevé réside dans la décomposition de la matrice initiale en blocs. Imaginez une matrice de dimensions nu x ni, le point-clé dans la décomposition

de bloc est la divisibilité des dimensions dans des parties d’un entier. Cela signiőe que les dimensions pourraient être divisibles par b ("b" étant la quantité de machines disponibles à utiliser en parallèle) pour proprement créer des blocs (nu%b = 0 et ni%b = 0). Mais ceci

n’est souvent pas le cas.

Dans [Gemulla et al., 2011, Makari et al., 2014], l’efacement de rangées/colonnes (c’est-à-dire des utilisateurs/items) résout cette condition de divisibilité. Cependant, ceci peut créer une perte d’exactitude: si le nombre de données supprimées est élevé, le système peut perdre des informations importantes. En fait, cela représente un compromis entre précision et ŕexibilité. Au contraire, l’ajout de dimensions peut augmenter le temps d’exécution de l’algorithme. Cependant, ceci n’afecte pas la précision, vu que l’insertion de la dimension vide n’ajoute pas d’information.

En utilisant ces idées, nous avons développé un aspect plus ŕexible dans la distribution. Nous proposons trois modes de décomposition de blocs qui afectent la création des "stra-tums": (1) sous-dimension, (2) dimension supérieure et (3) dimension ŕexible. Dans ce contexte, une dimension est un utilisateur (dimension de rangées) ou un item (dimension de colonnes). La sous-dimension est la proposition donnée par [Makari et al., 2014]. Ce

(15)

0.4. L’INTÉRÊT IMPLICITE DES UTILISATEURS DANS LES ATTRIBUTS DES ITEMS

mode redimensionne la matrice en supprimant des dimensions. La dimension supérieure redimensionne la matrice en insérant des dimensions vides jusqu’à l’accomplissement de la condition de décomposition. Finalement, la technique de dimension ŕexible est un hybride de ces deux techniques. Elle cherche la dimension la plus proche (dessus ou dessous) des dimensions réelles.

Nous évaluons la performance de nos propositions en utilisant le jeu des données publiques de MovieLens2, qui a 10 millions d’évaluations appliquées par 69878

utilisa-teurs sur 10667 őlms. Nous créons une matrice de rangées et des colonnes avec les notes des utilisateurs aux items. L’évaluation et les comparaisons sont efectuées en termes de précision et d’adaptabilité au nombre de machines dans le cluster.

Nos techniques donnent un meilleur résultat en termes de précision lorsqu’elles évi-tent l’efacement de données (utilisateurs, items et ratings). Le Tableau 1 présente une comparaison de nos résultats avec des autres techiniques de factorisation matricielle, où la mesure de précision utilisée est le erreur moyenne quadratique (RMSE). Nous gagnons environ 1% d’amélioration en exploitant les machines dans le cluster (quantité de noueds b).

0.4

L’intérêt implicite des utilisateurs dans les attributs des

items

Les technologies de recommandation font aujourd’hui face à des déős scientiőques majeurs: comment intégrer l’hétérogénéité des sources d’information pour modéliser les préférences, comment découvrir des nouvelles préférences, comment traiter eicacement ces masses d’information, quels types d’interfaces faut-il considérer?

Par ailleurs, les approches őltrage collaboratif et basé sur le contenu citées précédem-ment présentent des inconvénients principaleprécédem-ment liés à l’hétérogénéité des sources d’information et à la montée en charge du système d’où la nécessité de mettre en place des algorithmes performants et robustes. Ceci est l’objectif de cette étude en vue d’améliorer la qualité des systèmes de recommandation en introduisant de la "sémantique" aux données et en

2

http://grouplens.org/datasets/movielens/

(16)

Table 1: Résultats de nos expérimentations en termes de précision et quantité de noueds utilisés.

Technique RMSE Quantité de noueds (b)

ALS 0.79603 1 Sous-dimension DSGD 0.77571 1 Dimension ŕexible DSGD 0.77571 1 Dimension supérieure DSGD 0.77571 1 Sous-dimension DSGD 0.77611 2 Dimension ŕexible DSGD 0.77555 2 Dimension supérieure DSGD 0.77559 2 Sous-dimension DSGD 0.77626 5 Dimension ŕexible DSGD 0.77617 5 Dimension supérieure DSGD 0.77597 5 Sous-dimension DSGD 0.77586 7 Dimension ŕexible DSGD 0.77548 7 Dimension supérieure DSGD 0.77565 7 Sous-dimension DSGD 0.77593 15 Dimension ŕexible DSGD 0.77596 15 Dimension supérieure DSGD 0.77555 15

distribuant les traitements aőn de minimiser les temps de calcul. La "sémantique" est ici déőnie comme une extension dans le sens de la donnée courante, les scores (ratings), aőn de créer des "ratings sémantiques".

0.4.1 Contribution et résultats

Aőn de fournir une généricité dans le domaine d’application, un passage à l’échelle et une recommandation précise, nous proposons un système à trois couches: une couche de pré-analyse, une couche "sémantique" et une couche de recommandation.

Dans une première étape, nous nous intéressons aux préférences des utilisateurs pour le contenu des items. Cette information est souvent manquante lorsque ce contenu peut être très large et varié, et donc diicile d’attirer d’information de score explicite. Nous proposons d’étudier l’intérêt implicite des utilisateurs dans le contenu des items en étudiant les préférences passées sur les items. Ceci est fait à travers un module de comptage qui met en lien chaque utilisateur avec le contenu des items. Lorsqu’un contenu est répété (le même

(17)

0.4. L’INTÉRÊT IMPLICITE DES UTILISATEURS DANS LES ATTRIBUTS DES ITEMS

acteur qui apparaît dans deux őlms diférents), le compteur d’intérêt de cet utilisateur pour ce contenu est incrémenté aussi.

La couche sémantique exploite cette nouvelle information ainsi que le rating données par les utilisateurs pour les items. Ceci se traduit par la transformation sémantique des notes des utilisateurs. Nous nous intéressons tout d’abord au nombre d’occurrence des attributs qui ont été notés par un utilisateur. Nous appelons cette occurrence ń la fréquence d’apparition ż ou ń coïncidence ż : cette valeur correspond au nombre de fois que les valeurs des attributs se répètent dans les items notés par l’utilisateur. Cette valeur est extraite à partir des compteurs déjà précalculés. La transformation du rating consiste en l’addition de ce nouvel intérêt implicite à l’intérêt explicite, à travers l’équation suivante:

svu,i= ru,i+ E[ru,∗] ∗

⏐ ⏐ ⏐ ∑F j=1Cj ∗ Wj ⏐ ⏐ ⏐ Nu (1) Avec F le nombre total des attributs, Nule nombre total des items notés par l’utilisateur

"u". Cj est la fréquence d’apparition de l’attribut j dans l’ensemble des items qui ont été

notés par l’utilisateur et Wj étant un poids calculé à partir d’une phase de sélection des

attributs par une analyse des composantes principales. E[ru,∗] est la moyenne des notes de

l’utilisateur et ru,i est la valeur du rating initial donnée à l’item "i".

L’équation sémantique peut être appliquée à deux niveaux dans la recommandation. D’une part, nous pouvons appliquer cette équation à toutes les notes disponibles dans la base de données initiale, ce qui permet de mieux expliquer l’intérêt des utilisateurs pour les caractéristiques déőnissant les items notés (ajouter du sens à la note). D’autre part, nous pouvons faire le choix d’appliquer l’équation sémantique à la sortie de la recommandation. Supposons que le module de recommandation renvoie un résultat des top K items (les K items les plus pertinents) pour un utilisateur donné, avec une estimation de la note pour ces top K. Ces notes seront transformées en une note sémantique suivant l’équation précédente et les items proposés seront réordonnés en conséquence en top K’, K’ pouvant être inférieur ou égal à K.

Enőn, le module de recommandation utilise une technique de őltrage collaboratif basée sur une méthode de factorisation de la matrice pour générer des recommandations précises.

(18)

En efet, cette technique a montré son eicacité comme méthode de őltrage collaboratif pour la recommandation [Koren and Bell, 2011].

Dans la phase d’expérimentation, nous comparons nos approches (appliquer la "sé-mantique" aux ratings initiaux, ou bien aux prédictions dans le top-K) et la technique de factorisation matricielle de base sans l’utilisation de l’équation sémantique. Nous utilisons les métriques de précision et rappel, parce que ces techniques n’évaluent pas la qualité de la prédiction des notes, mais la pertinence des items qui sont proposés aux utilisateurs. La précision calcule la probabilité qu’un item pertinent soit choisi et le rappel étant la probabilité qu’un item choisi soit pertinent. Nous utilisons aussi la F-mesure pour com-biner le rappel et la précision dans une seule métrique aőn de faciliter la comparaison. Nos approches donnent de meilleurs résultats que la technique de matrice de factorisation sans sémantique.

De plus, nous nous sommes interessés à l’impact de nouveaux ratings sémantiques sur la similarité des items à recommander. Nous utilisons la métrique d’ILS (Intra-List Simi-larity), appelée également ILD (Intra-List Diversity) pour mesurer la diversité/similarité entre les items dans la liste des top-K présentée à l’utilisateur.

Un bon système de recommandation doit trouver l’équilibre entre ces deux concepts diversité et similarité. En efet, des items trop diversiőés peuvent provoquer une confusion chez l’utilisateur, alors que recommander toujours les mêmes items peut ennuyer celui-ci. La matrice de factorisation a tendance à faire de recommandation diversiőées. Notre approche permet, dans cette diversité, de retourner des items plus similaires dans le top-K. Ceci est du au fait que nous prenons en compte l’intérêt pour les attributs aőn d’identiőer les items susceptibles d’intéresser l’utilisateur.

0.5

Modèle de similarité avec des filtres de Bloom

La description des items et d’utilisateurs peut être très précise puisqu’un grand nombre de caractéristiques peut être utilisé (par exemple des acteurs, des directeurs, des auteurs). On peut même imaginer l’incorporation de données externes telles que les données ouvertes ou des données provenant de réseaux sociaux, etc. pour mieux décrire les items/les

(19)

utilisa-0.5. MODÈLE DE SIMILARITÉ AVEC DES FILTRES DE BLOOM

teurs [Kantor et al., 2011, Peis et al., 2008, Dahimene et al., 2014]. Or ceci provoque une description certes détaillée mais gourmande en terme d’espace de stockage ou d’utilisation mémoire. Ce problème est particulièrement présent dans le cadre des méthodes de őltrage à base de contenu et des méthodes hybrides.

Souvent, ces techniques utilisent une représentation vectorielle de l’item ou utilisateur pour décrire ses caractéristiques et établir des comparaisons entre les items/utilisateurs. Ce nombre croissant de caractéristiques a trois conséquences importantes : (1) la grande taille des vecteurs, (2) les données de plus en plus éparses dans ces vecteurs et (3) le temps mis pour exécuter des opérations sur ces vecteurs. De plus, la quantité de caractéristiques change la similitude, et généralement plus d’attributs utilisés augmentent la qualité de la similitude. Dans cette représentation vectorielle, ajouter des caractéristiques ajoute de nouvelles dimensions au vecteur. De plus, les techniques de sélection des caractéristiques et la réduction spatiale peuvent induire une perte de précision dans la représentation des items ainsi que dans le calcul de similarité entre les items.

Dans ce contexte, nous proposons une technique de représentation des données qui crée un vecteur compressé en réduisant la taille totale d’un vecteur réel, et nous l’utilisons aussi pour développer tout un système capable d’exploiter cette représentation pour exécuter des opérations de similarité entre les items/utilisateurs. Ceci permet de comparer une large quantité de caractéristiques qui décrivent les items/utilisateurs tout en gardant une taille de vecteur très réduite.

0.5.1 Contribution et résultats

Nous proposons d’utiliser des représentations de őltre de bloom. Un őltre de bloom est une structure de bit qui représente ”n”-éléments d’un même ensemble ”S” dans un espace plus réduit de ”m”-bits [Broder and Mitzenmacher, 2004]. Initialement, les m-bits sont mis à "0" ce qui représente l’absence des éléments insérés dans le őltre. Puis, on utilise ”k” fonctions de hachage pour distribuer eicacement l’insertion des éléments: pour insérer un élément, celui-ci est "haché", ce qui retourne "k" positions de la structure de bits à passer à "1".

La motivation et les principales contributions sont: 18

(20)

1. Les őltres de bloom réduisent fortement la taille des représentations des items tout en gardant le même nombre de caractéristiques. Cela peut induire l’augmentation de caractéristiques utilisées pour décrire les items/utilisateurs;

2. Les őltres de bloom autorisent des opérations binaires rapides, comme l’intersection "AND" qui permet de comparer les caractéristiques communes des items, et permet de mesurer la similarité. La Figure 1 montre un exemple de cette opération avec les őltres de bloom et une représentation d’un point de vue d’ensemble de cette opération;

3. Dans la recherche des similarité entre les items, nous trouvons des caractéristiques communes, mais il est aussi possible d’avoir des caractéristiques manquantes com-munes. Pour y faire face, nous proposons une autre opération binaire, le "XNOR", qui prend en compte autant des caractéristiques communes que des caractéristiques manquantes communes. Par exemple, l’intersection prend en compte les éléments communs-insérés de deux ensembles. Etant donné les caractéristiques x1, x2, x3, x4 et deux ensembles (items) SA = x1, x3 et SB = x2, x3, l’intersection des deux

ensembles est SC = x3. Cependant, les ensembles SAet SB ont plus en commun que

cette intersection. En réalité, l’élément x4 n’est dans aucun de ces ensembles, et par conséquent, x4 est commun à SA et SB. La Figure 2 montre un exemple de cette

opération avec les őltres de bloom et une représentation d’un point de vue d’ensemble de cette opération;

Nous expérimentons nos approches sur le jeu de données publiques de MovieLens [Can-tador et al., 2011] et nous comparons le résultat avec des approches de représentation vectorielle et de similarité cosinus/jaccard. Nous démontrons que la représentation de ől-tre de bloom réduit fortement la taille des représentations vectorielles (environ 94-97% par vecteur), tout en gardant une haute ődélité lorsque des opérations de similarité sont efectuées (environ 98% de précision).

(21)
(22)

rage à froid. L’apprentissage actif propose l’interaction d’utilisateurs avec le système pour obtenir des données (ratings) de grande qualité [Elahi et al., 2014]. Un questionnaire sim-ple est utilisé pour obtenir les premiers ratings rapidement, par exemsim-ple: aimez-vous ce őlm? pouvez-vous noter ce livre?. Donc, on demande aux utilisateurs de répondre à ces questions en donnant leur avis, de cliquer par exemple sur "j’aime", "je n’aime pas" ou "je ne connais pas".

Cependant, les utilisateurs ne souhaitent pas évaluer beaucoup d’items et poser beau-coup de question car cela peut supposer une perte de temps pour eux [Harpale and Yang, 2008, Karimi et al., 2011a]. En conséquence, les questionnaires devraient être courts et rapides dans l’analyse. Il faudra donc poser des questions soigneusement choisies pour récuperer le plus d’information des utilisateurs [Zhou et al., 2011, Karimi et al., 2011a].

Nous proposons une technique d’apprentissage actif basée sur le concept des arbres de décision. Le but des arbres de décision dans l’apprentissage actif est de diviser la population d’utilisateurs selon leurs préférences sur quelques produits.

Ainsi, des utilisateurs dans le noeud de l’arbre ont tendance à partager des préférences semblables. En descendant dans l’arbre, ces groupes sont rainés et les préférences sont mieux détectées. Ces techniques, dans un contexte de őltrage collaboratif, ont seulement accès aux notes des utilisateurs sur les items, i.e. ratings. Par conséquent, ces techniques ont pour but de découvrir des items dans chaque noeud de l’arbre, qui séparent eicacement la population des utilisateurs selon leurs ratings pour ces items.

Cette idée est très utile pour améliorer la performance du système de recommandation dans un contexte de démarrage à froid. Un noeud est représenté par une question (l’item), par exemple "aimez-vous ce őlm?". Le nouvel utilisateur peut donc répondre à ces ques-tions. En donnant la réponse, le système identiőe mieux les préférences de cet utilisateur et peut trouver une meilleure nouvelle question à lui poser en utilisant l’arbre de décision.

0.6.1 Contribution et résultats

Les techniques d’arbres de décision actuelles exploitent seulement les ratings existant dans R pour (1) la découverte de questions à poser, (2) la segmentation de la population

(23)

0.7. CONCLUSIONS ET PERSPECTIVES

à partir de questions et (3) le calcul de prédiction de ratings que le nouvel utilisateur pourrait donner (la prédiction de la réponse). Le problème est donc, à chaque noeud de l’arbre de décision, de trouver un item qui permettra de mieux identiőer les préférences d’un nouvel utilisateur. Ceci est un problème d’optimisation qui se sert des ratings existant dans chaque noeud de l’arbre pour trouver le meilleur item à proposer comme question.

Cette technique utilisée dans l’état de l’art est simple pour que l’arbre de décision soit rapide à construire. Elle utilise uniquement les ratings des utilisateurs pour prédire la moyenne et ainsi évaluer la pertinence à poser cet item comme question.

Nous proposons d’utiliser non seulement le rating r d’un utilisateur u pour un item j, mais aussi une prédiction p de rating d’un utilisateur u pour un item j, de sorte qu’il y ait toujours un rating ru,j associé à une prédiction pu,j.

Nous proposons d’utiliser des évaluations ru,j uniquement pour diviser la population

d’utilisateurs. Les prédictions pu,j seront ainsi utilisées pour découvrir des items à poser

comme question.

Notre approche est implementée en utilisant une technique d’arbres de décision non supervisée et une autre technique supervisée. Nous comparons les deux approches avec l’état de l’art existant. Nos approches sont capables de trouver des items plus pertinents que les items trouvés par les approches de l’état de l’art. Ainsi, nos approches identi-őent les préférences des nouveaux utilisateurs plus rapidement (en un moindre nombre de questions).

0.7

Conclusions et Perspectives

Les systèmes de recommandation sélectionne, parmi une grande quantité de données, les informations pour lesquelles les utilisateurs pourraient être les plus intéressés. Ils ex-ploitent les préférences connues d’utilisateurs dans des items, qui sont donnés de façon explicite ou le retour d’information implicite d’utilisateurs, pour prévoir les préférences futures d’utilisateurs dans d’autres items (inconnus). De plus, il est possible pour cer-taines techniques de recommandation d’utiliser la description d’items ou d’autres données hétérogènes aőn d’améliorer ces recommandations.

(24)

Typiquement ces techniques sont classiőées par: őltrage à base de contenu, őltrage collaboratif et méthodes hybrides. Cependant, la technique la plus utilisée est de nos jours une technique de őltrage collaborative appelée la mactorisation matricielle. Cette technique a démontré une grande pécision et une grande facilité pour traiter la montée en charge et le passage à l’échelle. Cependant, elle ne facilite pas l’utilisation de données hétérogènes. De plus, elle soufre du démarrage à froid.

Nos travaux de recherche se concentrent sur plusieurs aspects diférents que tout sys-tème de recommandation devrait prendre en compte: (1) la qualité et la précision des recommandations, (2) la représentation d’items/utilisateurs, (3) la distribution et l’adaptabilité du système, et (4) le démarrage à froid. Nos contributions ont fait face à ces problèmes:

• L’amélioration de techniques de őltrage collaboratives en ajoutant une couche ex-terne pour analyser l’intérêt implicite des utilisateurs dans l’attribut des items. Cette méthode réduit l’impact de la dépendance de domaine dans des recommandations et améliore la qualité des recommandations. En fait, nous croyons que les recomman-dations d’items qui contiennent des caractéristiques plus connues pour l’utilisateur (par exemple les acteurs, des réalisateurs) vont plus probablement être acceptables. • Particulièrement dans des systèmes à base de contenu et hybrides, traiter la grande

quantité de données de caractéristiques peut devenir problématique. La sélection de caractéristiques et des techniques de réduction spatiales sont utilisés pour faire face à ce problème, pourtant ils cèdent inévitablement à une perte d’informations. En efet, la qualité de la représentation d’utilisateurs et des items est afectée tout comme les opérations de similarité parmi les items. Nous avons proposé de représen-ter des items/utilisateurs dans des structures spatiales de très basse consomation de mémoire appelées őltre de bloom. De plus, ceci nous permet de déőnir deux mesures de similitude: "AND", pour prendre en compte des caractéristiques communes, et "XNOR", pour prendre en compte des caractéristiques communes et des caractéris-tiques manquantes communes.

• Amélioration de la précision et de l’adaptabilité d’une technique de factorisation matricielle en proposant une approach distribuée basée sur MapReduce.

(25)

• Nous avons utilisé une technique d’apprentissage actif basé sur les arbres de décision pour faire face au problème de démarrage à froid dans le contexte d’un nouvel utilisa-teur. Cette technique permet d’améliorer les questionnaires présentés aux nouveaux utilisateurs en posant des questions plus pertinentes. De plus, elle permet de plus rapidement capter les préférences de cet utilisateur (une faible quantité de questions seraient posées).

Les perspectives qui se présentent sont variées. Nous voulons continuer ces travaux pour analyser et étudier les systèmes de recommandation dans une logique explicative (comment expliquer aux utilisateur la pertinence des recommandations proposées), de compromis d’exploration et d’exploitation (côté recherche et découverte des intérêts d’un utilisateur, versus, côté sur-exploitation de la donnée et monotonie dans les recommandations) dans un contexte de grand hétérogénéité de données, et des nouvelles techniques d’apprentissage actif pour le problème de démarrage à froid tel qu’une analyse du temps de réponse des utilisateurs aux questions posées dans le questionnaire.

(26)

Abstract 5

Résumé 7

Résumé étendu 9

1 Introduction and Motivation 35

1.1 Introduction . . . 35 1.2 Deőnition and process of recommender systems . . . 36 1.3 Challenges in Recommender Systems . . . 38 1.4 Motivation . . . 43

2 Recommender Systems: State of the Art 47

2.1 Motivation . . . 47 2.2 Techniques and assumptions . . . 48 2.3 Recommender Systems in the Academy . . . 56 2.4 Recommender Systems in the Industry . . . 61 2.5 Recommender System’s Libraries . . . 65 2.6 Discussions . . . 68 3 Analysis of the Parallelization of Matrix Factorization techniques 71 3.1 Motivation . . . 71

(27)

CONTENTS

3.2 Related Work . . . 72 3.3 Background . . . 76 3.4 Flexible Distributed Stochastic Gradient Descent . . . 79 3.5 Experimentation . . . 84 3.6 Discussion . . . 86 4 The implicit interest of users in the attributes of items 89 4.1 Motivation . . . 89 4.2 Related Work . . . 91 4.3 Architecture of our approach . . . 94 4.4 Experimentations . . . 103 4.5 Discussion . . . 110 5 Coping with large vector representations of users and items in very large

datasets. 113

5.1 Motivation . . . 113 5.2 Related Work . . . 116 5.3 Bloom Filter Similarity Model . . . 118 5.4 Experimentation . . . 130 5.5 Discussion . . . 139

6 Active Learning to Cope with New User Cold-Start 141

6.1 Motivation . . . 141 6.2 Related Work in Active Learning . . . 144 6.3 Background and Notation . . . 149 6.4 Active Learning Decision Trees . . . 150 6.5 Experimentation . . . 162

(28)

6.6 Discussion . . . 167

7 Conclusions and Perspectives 169

7.1 Conclusions . . . 169 7.2 Perspectives . . . 172

Bibliography 177

Annexes 201

A Evaluating the performance of Recommender Systems 201

A.1 Introduction . . . 201 A.2 Prediction oriented evaluations . . . 202 A.3 Ranking oriented evaluations . . . 205 A.4 Content oriented evaluations . . . 207

B Bloom Filters 209

B.1 Introduction . . . 209 B.2 Deőnition and properties of Bloom Filters . . . 209 B.3 Types of Bloom Filters . . . 212

(29)

CONTENTS

(30)

1 Résultats de nos expérimentations en termes de précision et quantité de noueds utilisés. . . 14 2.1 Recommendation’s techniques. Main classiőcation and properties. . . 49 2.2 Recommender System Libraries. Table updated on June 10th, 2016. . . 68 3.1 Experimentation results. . . 87 4.1 Dataset example. . . 99 4.2 Users and items’ ratings. . . 99 4.3 Attribute actor. Items’ actors. . . 99 4.4 Attribute genre. Items’ genre. . . 99 4.5 Example. Top-3 recommendations for the user "1" . . . 102 4.6 Experimentation: Weights % for variables in dimensions. Approximate values.104 4.7 Experimentation: Recommended Top-10 movies for user 6757. Items ID

and predicted values. . . 107 5.1 Notation used for bloom őlters . . . 118 5.2 Optimal Bloom Filters. . . 132 5.3 Non Optimal Bloom Filters. . . 132 5.4 Vector and Bloom Models trade-ofs. . . 132 6.1 Notation used in decision trees. . . 151

(31)

LIST OF TABLES

6.2 Statistics for available ratings and matrix factorization predictions. MF1 and MF2 denote predictions over Movielens 1M and Movielens 10M, respec-tively. . . 154 6.3 Properties of diferent movie datasets. . . 162 A.1 Notation used in the evaluation metrics for recommender systems. . . 202

(32)

1 Représentation et exemple de la simitlarité "AND" en utilisant un modèle de őltres de bloom. . . 19 2 Représentation et exemple de la simitlarité "XNOR" en utilisant un modèle

de őltres de bloom. . . 19 1.1 Example of recommendation workŕow. . . 38 2.1 Collaborative Filtering matching process . . . 50 2.2 Matrix factorization of R (users, items, ratings) into P (users, features) and

Q (items, features). . . 57 3.1 Alternating Least Squares technique. Methodology and scalability. . . 74 3.2 Stratiőcation and Block decomposition. Blocks 1,5,9 do not share rows

nei-ther columns, thus, they form a stratum to run in parallel. Once computed, another stratum (2,6,7 or 3,4,8) can run. Single iteration. . . 76 3.3 Diving the matrix R into independent blocks per stratum . . . 78 3.4 Block Stratum Assignment technique. . . 83 4.1 Global architecture of the recommender system. . . 95 4.2 Semantic Dataset: input approach . . . 99 4.3 Semantic top-K: output approach . . . 101 4.4 Experimentation: Recommended Top-10 movies for user 6757. Visual

(33)

LIST OF FIGURES

4.5 Precision and Recall metrics comparisons regarding a top-20 items. . . 109 4.6 F-Measures for top 20 items. . . 110 4.7 ILS metric comparisons. . . 111 5.1 Vector Similarity Model versus Bloom Filter Similarity Model. One item is

represented by one vector/őlter. Items’ similarities are computed by using these vectors/őlters. . . 120 5.2 AND intersection of two bloom őlters. BFAcontains two inserted elements:

X1 and X3.BFB contains two inserted elements: X2 and X3. Thus, the

in-tersected őlter contains only one inserted element: X3. . . 121 5.3 Negation of a Bloom Filter (BF). Element X1 is inserted in BFA. Elements

X2 and X3 are not inserted in BFA. The negation of BFA, BFA, contains

the element X2 and does not contain the element X1. Yet, X3 is not inserted because it shares a bit with an element which is inserted in BFA. . . 123

5.4 XNOR intersection of two bloom őlters BFA and BFB. BFA contains two

inserted elements: X1 and X3. BFB contains other two inserted elements:

X2 and X3. Thus, the XNOR operation will result in common inserted elements and common non-inserted elements: X3 and X4. . . 124 5.5 Representation of how the XOR and XNOR operations can be extracted

from AND and OR operations. . . 125 5.6 Evolution of the false positive under diferent settings k, m. The number of

insertions is őxed. . . 128 5.7 Degree of Similarity of the item 3246 with several items. Bloom Filter

(n=237, fp=0.001) has been reconstructed into a vector of size N. . . 135 5.8 Trade-Ofs for a Bloom Similarity Model. . . 135 5.9 Bloom Filter (m=7000, k=3). Trade-Of for a Bloom Similarity Model. . . . 136 5.10 Accuracy of the Bloom Filter Similarity Model against the Vector Similarity

Model. Bloom Filters with fewer false positive values achieve better accuracy in tops comparisons. . . 137

(34)

5.11 Accuracy of the Bloom Filter Similarity Model against the Vector Similarity Model. This similarity uses the XNOR operation. . . 138 6.1 Passive and Active Learning pipelines [Rubens et al., 2011]. . . 143 6.2 Example of candidate items and close-form show to users. . . 145 6.3 Illustration of our approach and comparison to the state of the art. . . 151 6.4 Prediction techniques and average comparisons regarding the RMSE. . . 156 6.5 Questionnaire performance in RMSE. . . 164 6.6 Questionnaire performance in RMSE. . . 166 B.1 Example of bloom őlter. Initially the bloom őlter is empty (bits set to

”0”). Elements X, Y are inserted by hashing them and by setting adequate bits to ”1”. One membership query for element X returns true, while for a non-inserted element Z returns false. . . 210

(35)

LIST OF FIGURES

(36)

Introduction and Motivation

"We are leaving the age of information and entering the age of recommendation" - Chris Anderson in "The Long Tail"

1.1

Introduction

The web content has become so vast that users hardly őnd the information they are looking for. People read around 10 MB of data per day, hear 400 MB of audio per day, and see 1 MB of information every second1. In 2015, the media information consumption was

estimated to 74 GB per consumer and per day2

. Users may feel overwhelmed by this huge content because they may not have the time or simply they do not have the knowledge about what őts better to their needs.

Recommender Systems (RS) emerge from the Information Search and Retrieval (IR) őeld in order to cope with this information overload and decision-making issues. The in-formation retrieval systems seek and őlter inin-formation depending on users’ queries [Baeza-Yates and Ribeiro-Neto, 1999]. These systems used to represent textual content (e.g. web pages and articles) as a set of words that are then matched with users’ requests to return the relevant information for the user in a non user personalized experience; all users receive the same information for the same queries. Recommender Systems aim to cope with these issues by personalizing the content in webs for users [Kantor et al., 2011]. Indeed, they

1

http://www.economist.com/node/8312260

2

http://ucsdnews.ucsd.edu/pressrelease/u.s._media_consumption_to_rise_to_15.5_hours_a_ day_per_person_by_2015

(37)

1.2. DEFINITION AND PROCESS OF RECOMMENDER SYSTEMS

analyze the interaction of users with the information in webs in order to predict the future interactions that suit the users’ interests. This allows to őlter and organize items in order to present őrst the items of users’ interest, i.e. recommendations.

Recommender systems dramatically reduce the amount of information presented to users and "delivers the correct information to the correct users" [Zhou et al., 2011]. The őrst recommender system, "Tapestry" [Goldberg et al., 1992], appeared in 1990 and it also worked looking for text-similarities and automatically learning from the users preferences. However, it did not contemplate non-text-similarities; it only analyzed text-content but not other contents such as videos, audio, etc. New techniques to aford this singularity emerged and the concept of "item" appeared to involve textual and non-textual information. Hence, it attracted the interest from many őelds, such as e-commerce, service providers and media services, with the aim of personalizing the services and users’ experience.

Nowadays, recommender systems are well studied in the academia and the industry. They are daily present almost everywhere giving suggestion of where to eat, which movie to watch, which articles to read, whose to be friend with, the publicity we receive, etc. The Internet is moving from the era of search to the era of recommendations; the searching allows to look for a speciőc information, whereas the recommendations allow to discover information you are not speciőcally looking for although it is of your interest. We stop looking for information, and information starts őnding us.

As introduction to this thesis work, we őrst formally deőne recommender systems and present the recommendation actors and the recommendation process in Section 1.2. Sec-tion 1.3 presents the trend challenges for recommender systems. SecSec-tion 1.4 presents our motivation and the main guidelines of our researches.

1.2

Definition and process of recommender systems

Recommender systems analyse the interests of users and present őrst the items in which they might be more interested [Kantor et al., 2011]. Their main purpose is to assist users in their daily decision-makings by presenting a reduced set of options in the form of recommendations or advices [Chee et al., 2001].

(38)

The users’ interests represent the strength of their relations with items. They are also known as "score" or "feedback". On the one hand, the explicit feedback is a formal declaration of the user. The most typical explicit interests are the rating systems, where users can evaluate/rate items (e.g. movies) using a 0-5 stars scale. Other shorter and larger scales are possible, such as ’like, dislike, unknown’, 0-10 stars, 0-20 stars. Another kind of explicit feedback may rely on comments and opinions. This feedback is usually processed using Natural Language Programming (NLP) to really understand the meaning of users’ sentences, such as sentiment analysis. On the other hand, the implicit feedback is an interest deduction given by the interaction between users and items [Oard et al., 1998]. The so-called tracking systems measure the users’ behaviors through the web-pages and collect users’ examination (e.g. item selection), retention (e.g. save item, print page) and reference (e.g. share). This is based on the count of number of clicks, time spent on exploring an item, users’ location, etc. It is worth to mention that recommender systems can use other kind of information to enhance the accuracy of recommendations [Kantor et al., 2011]. For instance, it is possible to incorporate the items’ descriptions (e.g. the genre of a movie, the singer of songs, the author of books), the users’ demographics (e.g. the age, the sex, the education) and data coming from other contexts, such as Wikipedia, social networks, gps-locations, etc.

Recommender systems are good to őnd a set of items in which the user can be in-terested, and to guess the interest (e.g. rating) that a user would have in a particular item. On the one hand, the term "user" is often used to deőne the (active) user for whom recommendations are currently required. On the contrary, the term "item" is very large and depends on the domain of the recommendation. For instance, recommender systems dealing only with movies would consider a movie as an item. Moreover, an item can be one user, such as the suggestions of a "friend" or a contact in social networks.

The users, items and feedbacks are the core-stone of the information used in recom-mender systems. This data is formatted, treated and analyzed by using techniques from data mining and machine learning őelds in order to generate recommendations. Figure 1.1 shows the typical workŕow representing the recommendation system process.

(39)
(40)

fake ratings to promote or degrade items)[Lam and Riedl, 2004]. Moreover, how many rec-ommendations to present to users can be also a challenge: a few items may not be enough for the users’ needs, and too many items may be too much. Where to place these recom-mendation to optimize the site-look and users’ experience is also an interesting challenge. In this section we consider the most simplistic representation of a recommender system process which assumes to have prepared incoming data ready to be analyzed by recom-mendation techniques in order to produce recomrecom-mendation to users. As a consequence, we mainly focus on the challenges related to the recommendation techniques.

Scalability

The number of users, items and feedback can increase rapidly. Recommendation tech-niques may become computationally expensive and very time-consuming. It is necessary to parallelize the computation of these techniques among several processors or machines and to create easily incremental models in order to receive new data [Sarwar et al., 2002, Koren, 2010, Owen et al., 2011].

Data heterogeneity

Recommender systems can use external heterogeneous information in addition to users’ interests in items. These systems typically use multiple information resources to enhance the recommendations to users [Kantor et al., 2011], e.g. the items’ descriptions, users’ keywords for items, users’ descriptions, etc. The challenge of these systems is to retrieve, classify and integrate this big, heterogeneous and diverse information to the sake of rec-ommendations, what usually induce more complexity and has a negative impact on the scalability of the system.

Similarity/Diversity

Recommendations to one user should not be always similar (e.g. comedy movies), otherwise the user could get bored. On the contrary if recommendations are too diverse, it can generate an untrusted feeling in the user. This is part of a similarity/diversity trade-of that a recommender system should take into account [Konstan and Riedl, 2012].

(41)

1.3. CHALLENGES IN RECOMMENDER SYSTEMS

Sparsity

This often happens when the number of items is much larger than the number of users; and thus it is very complicated to have feedback for all items, e.g. there are millions of books in Amazon but a user may have bought hundreds of books. This situation generates poor informative datasets [Su and Khoshgoftaar, 2009, Kantor et al., 2011].

Cold start

The cold-start is the situation in which the recommender system has no or not enough information about the (new) users/items, i.e. their ratings/feedback; hence, the recommen-dation to users (or of items) are not well performed [Su and Khoshgoftaar, 2009, Kantor et al., 2011]. Particularly, the new user cold-start is the lack of users’ preferences and the new item cold-start is the lack of ratings for this item.

Time-aware recommendations

Recommendation techniques exploit the current known users’ interest in items. These may be linked to timestamps and thus it is possible to identify long time distant pref-erences as well as very recent ones. Generating proper recommendations by taking this information into account makes proposed recommendation to evolve accordingly to the users’ preferences [Koren et al., 2009].

Multi-type and multi-criteria recommendations

On the one hand, multi-type recommendations aim to recommend not only the item itself, but also relevant information related to this item [Zhuo et al., 2011]. For instance, in a restaurant recommendation it is interesting to suggest the route to go to the restaurant. On the other hand, common recommender systems are considered single-criterion, because they only analyze the interest of users in items. Multi-criteria recommendations suggest that users’ feedback are a result of combinations of several interests [Lakiotaki et al., 2008, Kantor et al., 2011]. For instance, the rating of a movie (considered as an item) may depend on precise aspects, such as the main story and the special efects. However,

(42)

the feedback for these other criterion are also required. Indeed, this method assumes that collecting more diversiőed data results in more accurate recommendations. In addition, multi-criteria systems may go further considering cross-domain recommendations, where ratings of users in one item’s domain (e.g. movies) can be used for other completely diferent domains (e.g. restaurants) by looking for similarities in the interests of this user and other users in both domains (e.g. users who liked the same movies and they agree in one restaurant, may agree in other restaurants as well).

Exploration versus exploitation

In fact, recommender systems tend to be more accurate in predicting very popular items (i.e. items from which many ratings are known), and hence these items are more recommended as well. As a consequence, less rated items are little by little forgotten by the system. Under this context, the exploration paradigm consists in letting the user freely navigate among the items to discover and rate new unexpected items. On the contrary, the exploitation paradigm refers to the usage of the users’ interest (explicit or implicit) and the persistence of recommendations, e.g. to continuously recommend the same items to users when these suggestions have not been taken in several occasions. How intrusive the recommender system may be in the life of users is an interesting exploration-exploitation trade-of to take into consideration [Balabanović, 1998, Rubens et al., 2011].

Users’ experience: explanations and data privacy

The explanation of recommendations is an important factor for users decision-makings process [Tintarev and Masthof, 2011]. The perception of quality and variety in recommen-dation is part of the users’ experience. In some cases, this may create a lack of trustiness and conődence due to associated risks in accepting recommendations, e.g. to buy a book against to buy a car. In fact, users are not willing to risk much based on recommendations they do not understand [Konstan and Riedl, 2012]. The explanation of recommendations may alleviate this issue and it helps the users to make reasonable decisions [Herlocker et al., 2000].

(43)

1.3. CHALLENGES IN RECOMMENDER SYSTEMS

accomplish [Bonhard and Sasse, 2006, Knijnenburg et al., 2012]: (1) transparency, to explain how the recommendation was performed, e.g. the users and/or items correlations involved; (2) trust, to encourage the user to accept recommendations; and (3) scrutability, which allows the user to interact with the system to communicate possible mistakes to avoid in the future. To deal with these axis is a complex challenge in recommender systems due to the heterogeneity of data and the representation of the information to explain (e.g. visualization). However, this challenge has to take the privacy of the user and his data into consideration.

Users’ classification: grey sheep and black sheep

The grey sheep and black sheep are user classiőcation issues where the system has not a clear understanding of some users’ preferences because they are too diverse (grey sheep) or too speciőc (black sheep), what makes diicult to compare to other users’ preferences [Su and Khoshgoftaar, 2009]. These challenges are complex to detect and sometimes are considered as acceptable drawbacks in recommender systems.

Other challenges

There are other challenges in recommender systems. For instance, there is a need to trust in the explicit ratings made by users. This data has a strong impact on recommenda-tions, and hence more accurate rating lead to better recommendations. These challenges rely on the quality of the ratings. Some authors assume and accept this property of the data, although other authors aim to test and qualify this data [Amatriain et al., 2009], e.g. by asking users to re-rate a known item. Another example is the recommendation to/in groups of users/items. This challenge requires to satisfy several needs from users or to adapt items for users in order to create a unique but successful recommendation. The recommendation to groups deals with many users under the same current context. For instance, what kind of music to recommend in a party [Masthof, 2011], or what TV programme suits to all members of the family. On the contrary, the recommendation in groups try to create mini set of items to propose together to the same user [Konstan and Riedl, 2012]. One example is the often ofered tourism package of ŕight, hotel and rental

(44)

car set, or the bought-together package of Amazon.

1.4

Motivation

This chapter has introduced recommender systems and has given the őrst guidelines about the recommendation process and the challenges currently existing in this őeld.

Our main concern is the volume and variety that these systems face. On the one hand, the huge quantity of information (users, items, feedback and external data) makes the recommendation process analysis complex and time-consuming for one single machine. It is necessary that recommendation techniques become scalable and parallelizable among multiple machines to alleviate this issue. On the other hand, using heterogeneous data is not trivial in recommender systems. There are techniques that are explicitly designed to exploit it and others which simply assume it is not necessary. We believe that recommender system would evolve to improve the integration of all kind of data in order to achieve bet-ter accuracy and larger recommendation contexts. In addition, this hebet-terogeneity together with the high volume of data induce to complex users and items representations. In fact, it is possible to highly detail users’ and items’ descriptions, however this data represen-tation would become very diicult to deal with in terms of memory-space-consumption and exploitation of representations. Finally, there is a major challenge in recommender systems which is the cold start, particularly, the new user cold start. This typically occurs when new users sign up to the system and recommendations are required. As long as the recommender systems has not information about this user and/or his preferences, proper recommendation are nearly impossible.

Our role of this thesis is to answer to these challenges in terms of research and devel-opment. Chapter 2 presents the state of the art in the őeld of recommender systems. We őrst explain the assumptions, advantages and disadvantages of diferent recommendation techniques. Second, we give related works in the academic and industrial researches. In addition, recommender systems libraries are presented.

Chapter 3 deals with the scalability and parallelization of recommendation techniques. We analyze the matrix factorization techniques, which have demonstrated to be highly

(45)

1.4. MOTIVATION

parallelizable, and its scalability within a cluster of machines. Our goal is to enhance the parallelization of one particular matrix factorization technique called Stochastic Gradient Descent, which have demonstrated better accuracy in recommendations than other matrix factorization techniques but a more complex parallelization.

Chapter 4 focuses on the integration of heterogeneous data into the recommendation process. Our goal is that, collaborative őltering techniques, such as the matrix factoriza-tion, may exploit the items’ description as well in the beneőt of users’ recommendations. We propose extract a new source of knowledge from past users’ interests by using the items’ descriptions: we analyze the interests of users in the description of items and not only in the item itself. This new information is added to the current interests of users in item and used by collaborative őltering approaches to compute more accurate recommendation for users.

In Chapter 5 we discuss that the integration of heterogeneous data to describe users and items may have an efect in the accuracy of such descriptions. Typically, the more data the system uses the better the users and items are detailed. However, this could lead to very long and diicult to handle descriptions. Our goal in this context is to create a low-memory space model that takes into account the high detailed descriptions and makes easy to compare users and items to compute similarities. Particularly, our model can őnd similarities of two items by looking for common descriptions (e.g. one actors who plays in two diferent movies), and by looking for common missing-descriptions (e.g. one actor who does not appear in two movies). We consider that these can be interesting aspects in recommender systems: one user may declare that he does not like sport movies by showing low interest in these movies, however, other users who do not like sport movies simply do not watch/show interests in them.

Chapter 6 focuses entirely on the new users cold-start issue. New users who do not receive pertinent recommendations may abandon the system. In order to cope with this issue, we propose to use active learning techniques into recommender systems. These methods make the new users to interact with the system by presenting a questionnaire that aim to understand their preferences. Questions are related to items, e.g. "do you like this book?". The answers reŕect the degree of interest of users in the item, e.g. "yes", "no",

(46)

"I have not read it (unknown)". As a consequence, the system can learn from these answers the preferences of users. The goal of active learning is to correctly choose the questions (items) for users. Thus it is necessary to personalize the questionnaires to retrieve the maximum of information possible (i.e. to avoid "unknown" answers). Under this context, we propose an active learning technique that exploits past users’ interests and past users’ predictions in order to őnd out the best questions to pose.

Finally, this thesis has been funded under the context of a collaborative project called "FIORA"3

, which aims to build a generic (to be exchangeable to diferent domains), ro-bust (to be eicient and trustworthy) and scalable (to deal with high quantity of data) recommender system. The applications of this project are oriented to the e-nutrition4

and e-tourism domains[Cherő et al., 2016]. Our main goal in this project was to provide a robust collaborative őltering algorithm and to cope with the cold-start issues. Under this context, we have delivered algorithms, development code and technical reports. As long as the FIORA project was in progress and the data from users and items was not available, we decided to use public datasets for the experimentation purposes, e.g. Movielens5 and

IMDb6

. Thus, in this thesis we only present the contributions made to the őeld of recom-mender systems. Particularly, we do not present the FIORA project and we do not show the performances on this project.

3 http://www.fiora.pro 4 https://www.mycoachnutrition.com 5 http://grouplens.org/datasets/movielens/ 6 http://imdb.com

(47)

1.4. MOTIVATION

(48)

Recommender Systems: State of the

Art

2.1

Motivation

Recommender Systems aim at personalizing the content in webs depending on users’ preferences. Their main goal is to predict which items (e.g. movies, books, songs) are of the user’s interests and present them őrst. The challenges that recommender systems have to cope with are very diverse and complex to accomplish them all in one single solution.

[Manouselis and Costopoulou, 2007, Manouselis et al., 2013] have already presented a categorization framework for recommender systems. They have studied around 40 recom-mender systems and classify them in multiple categories and sub-categories, such as the services provided (e.g. single recommendation, top-K recommendations, őnd most similar items), the architecture (e.g. centralized, distributed, storage mode, etc) and the recom-mendation techniques (e.g. user/item classiőcation, data representation, etc). However, this last category is the most extended and analyzed in literature [Burke, 2002, Kantor et al., 2011]. The categorization of recommender systems by the recommendation tech-niques cares, among other topics, about the data used to perform recommendations, the representation of this data, the algorithms of personalization and the output of recommen-dations.

A second and more simple categorization of recommended systems was given in [Peis et al., 2008]. The authors propose to divide existing recommendation techniques in three

Références

Documents relatifs