• Aucun résultat trouvé

Conclusion et perspectives de recherche

Dans ce chapitre, la diversité des profils a été introduite afin d’améliorer la qualité de la diversification dans la recherche et la recommandation.

la requête, de la diversité des contenus, de la popularité des objets ainsi que de la diversité des profils, dits de confiance. Cela permet de retourner des résultats limitant l’effet d’ambiguïté des mots clés ou de mauvaises descriptions des objets. La diversification a ainsi de fortes probabilités d’être de meilleure qualité. Nous avons également proposé un nouvel algorithme à seuil afin de calculer des top-k diversifiés. Enfin, nous avons introduit l’idée de considérer les retours utilisateurs pour adapter les niveaux de diversités et accroître leur satisfaction.

À travers une évaluation expérimentale sur trois jeux de données, nous avons comparé la diversification des profils avec d’autres fonctions de score et nous avons montré qu’elle présente le meilleur compromis entre tous les critères que nous avions identifiés. Un sondage utilisateur confirme que la diversité des profils est préférée dans la majeure partie des cas. Ces résultats sont validés sur deux jeux de données à petite échelle : l’un de phénotypage et l’autre de botanique.

Cependant, le calcul d’un top-k reste complexe et les temps de réponses sont élevés. Dans le prochain chapitre, nous étudions des solutions d’optimisation afin de réduire le coût de traitement des requêtes.

De nombreuses pistes restent exploitables. Ainsi, nous avons introduit dans ce chapitre le fait d’exploiter les feedbacks des utilisateurs afin d’adapter les niveaux de diversités. Nous avons proposé d’agréger ces feedbacks en utilisant des tech- niques comme la moyenne afin d’adapter les niveaux futurs de diversité de chaque utilisateur. Il peut être intéressant d’appliquer à ce stade d’autres techniques. En s’appuyant sur l’idée de recommandation, il s’agit par exemple de recommander une « note de diversité » étant donné un utilisateur u et l’objet « requête q ».

Techniques d’optimisation dans le

calcul d’un top-k divers

Résumé. Ce chapitre décrit en détail diverses méthodes d’optimisation utiles au calcul d’un top-k divers. Nous présentons dans un premier temps les points limitant des algorithmes de top-k divers et nous définissons le problème. Nous décrivons ensuite nos méthodes d’optimisation. Nous validons expérimentalement les bénéfices de ces dernières en utilisant trois jeux de données. Nos optimisations ont permis dans certains cas d’obtenir des temps de réponse plus de 12 fois plus faibles qu’un algorithme top-k classique.

4.1 Introduction

Le chapitre précédent a introduit la notion de diversité des profils, accompa- gnée des algorithmes de top-k permettant le calcul d’un ensemble divers respec- tant ce modèle. Ces algorithmes s’appuient sur plusieurs structures de données comprenant notamment des listes inversées et une liste des candidats. Comme cela a été présenté au Chapitre 2, une liste inversée associe un mot particulier du corpus (i.e. appartenant à au moins un objet) à une liste triée des objets le contenant. Le tri est effectué en ordre décroissant en fonction de la pertinence de chacun des objets par rapport au mot clé en question. Cependant, puisque notre modèle prend en compte la diversité, le calcul du score d’un objet ne dépend pas seulement de sa pertinence avec la requête mais aussi des objets précédemment ajoutés dans la liste des résultats : les top-k classiques ne sont donc plus utili- sables. Pour cela, nous avons introduit au chapitre précédent la notion de liste des candidats qui est, en réalité, une étape intermédiaire permettant le calcul des scores de diversification de chaque objet.

Nous identifions cependant trois points de l’algorithme rendant le calcul d’un

top-k potentiellement lent. Tout d’abord, notre modèle de score est complexe

et, comme cela a été précisé au chapitre précédent, ne peut pas être pré-calculé puisqu’il dépend du profil de l’utilisateur soumettant la requête – son pré-calcul nécessiterait énormément de stockage puisque les listes inversées devraient être dupliquées en autant d’exemplaires qu’il n’y a d’utilisateurs [9]. Cette complexité entraîne donc un accroissement du temps de calcul. En second lieu, le nombre d’objets candidats à considérer à chaque requête est considérable alors même que certains d’entre eux sont très redondants – et ne seront donc jamais retournés à l’utilisateur. Le calcul des scores de diversité de ces candidats représente un large pourcentage du temps de réponse. Enfin, le nombre d’accès dans les listes inversées est élevé, alors même que les k objets qui seront retournés à l’utilisateur peuvent avoir déjà été accédés. Nous présentons dans ce chapitre des optimisations adressant chacun de ces trois points limitants.

En résumé, nos contributions sont les suivantes :

1. simplification du modèle afin de permettre le pré-calcul ;

2. optimisation du seuil, et score d’indexation diversifié afin de limiter le nombre d’accès aux listes inversées ;

3. sélection de candidats pour limiter le nombre de scores diversifiés à calculer. 4. afin d’évaluer les bénéfices de nos optimisations, nous avons exécuté nos algorithmes sur trois jeux de données : deux provenant de Delicious et un de Flickr. Les résultats montrent une réduction significative du temps de réponse lors du calcul d’un top-k diversifié, grâce à nos techniques d’opti- misation.

La suite de ce chapitre est organisée de la manière suivante : les bases de notre algorithme de top-k et de ses points limitants sont rappelés en Section 4.2, où le problème sera également défini. La Section 4.3 introduit l’ensemble des techniques d’optimisation que nous avons proposé pour notre score ProfDiv, mais qui s’applique également à d’autres fonctions de score diversifiées. En Section 4.4, nous comparons nos algorithmes avec l’algorithme de top-k présenté au chapitre précédent et nous montrons le bénéfice de nos optimisations. La Section 4.5 se concentre sur les travaux connexes. Enfin, en Section 4.6, la conclusion et une présentation des perspectives de recherche.

4.2 Concepts de base et définition du problème

Dans cette section, les bases nécessaires pour délimiter le problème sont in- troduites.

Dans le contexte de la recherche d’information, nous avons présenté, au cha- pitre précédent, une approche hybride combinant filtrage basé sur les conte-

utilisateurs - sont définis en fonction des objets Ii = {it1, ..., itm} qu’ils par- tagent. Ainsi, nous disposons d’un ensemble d’utilisateurs U = {u1, ..., un}. Un objet it peut être partagé par 1 à n d’entre eux. Nous exploitons la recherche de recommandations dans le sens où chaque utilisateur peut soumettre des requêtes pour rechercher ses résultats parmi les objets recommandés et partagés par des utilisateurs similaires.

Un objet, ou contenu, est représenté de manière vectorielle [107, 141]. En utilisant tf × idf , un objet est exprimé comme une liste de mots clés k1, ..., kz, et le vecteur représente le poids de chacun de ces derniers pour l’objet en question, étant donné le corpus global. Le profil d’un utilisateur exprime ses intérêts et est calculé à partir des objets qu’il partage Iu. De manière plus précise, le profil d’un utilisateur est la moyenne des vecteurs tf × idf des objets qu’il partage. Les requêtes sont exprimées, quant à elles, par une liste de mots clés k1, ..., kt.

L’algorithme 4 du Chapitre 3 décrit la méthode de top-k que nous utilisons. Il s’agit d’un top-k classique (tel que décrit au Chapitre 2), auquel s’ajoute la no- tion de liste des candidats. Celle-ci regroupe l’ensemble des objets accédés dans les listes inversées qui n’ont pas encore été insérés dans la liste de résultats Rq. Elle est utile pour le calcul des scores diversifiés de ces objets1.

Définition du problème : étant donné un ensemble d’utilisateurs U, un en-

semble d’objets I et une requête à mots clés q soumise par un utilisateur u ∈ U, le problème est le suivant : il s’agit de recommander efficacement à u les top-k objets les plus pertinents et divers Rq ∈ I, étant donné une fonction de score diversifiée. On suppose que ces k objets sont triés par ordre décroissant de score dans la liste Rq.