On Achieving Diversity in Recommender Systems

Throughout our digital lives, we are getting recommendations for about almost everything we do, buy or consume. In that way, the field of recommender systems has been evolving vastly to match the increasing user needs accordingly. News, products, ideas and people are only a few of the things that we can be recommended with daily. However, even with the many years of research, several areas still remain unexplored. The focus of this paper revolves around such an area, namely on how to achieve diversity in single-user and group recommendations. Specifically, we decouple diversity from strictly revolving around items, and consider it as an orthogonal dimension that can be incorporated independently at different times in the recommender's workflow. We consider various definitions of diversity, taking into account either data items or users characteristics, and study how to cope with them, depending on whether we opt at diversity-aware single-user or group recommendations.


INTRODUCTION
Recommender systems have become indispensable for several Web sites, such as Amazon, Netflix, Yelp and Google News, helping users navigate through the abundance of available data items. Recommender systems facilitate the selection of items by users by issuing recommendations for items they might like. In particular, recommender systems aim at providing suggestions to users or groups of users by estimating their item preferences and recommending those items featuring the maximal predicted preference.
Typically, depending on the type of the input data, i.e., user behavior, contextual information, item/user similarity, recommendation approaches can be classified as content-based, collaborative filtering, knowledge-based and hybrid ones. In content-based approaches, information about the features/content of the items is processed, and the system recommends items with features similar Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. ExploreDB'17, May [14][15][16][17][18][19]2017 to items a user likes. For example, if a Yelp user is always eating at sushi restaurants, she most likely likes this kind of food, so we can recommend her restaurants with the same cuisine. In collaborative filtering approaches, we produce interesting suggestions for a user by exploiting the taste of other similar users. For instance, if many users frequently go to Irish pubs after visiting an Italian restaurant, then we can recommend an Irish pub to a user that also shows preference for Italian restaurants. In knowledge-based approaches, users express their requirements, e.g., in terms of recommendation rules, and the system tries to retrieve items that are similar to the specified requirements. Finally, the hybrid recommender systems combine multiple of the aforementioned techniques to identify valuable suggestions.
Nowadays, recommendations have more broad applications, beyond products, like news recommendations, links (friends) recommendations [19], and more innovative ones like query recommendations [7], medicine recommendations [10], diverse venue recommendations [8], and others. There is also a lot of work on specific aspects of recommendations due to challenges beyond accuracy [1], like the cold start problem, the long tail problem and the evaluation of the recommended items in terms of a variety of parameters, like surprise, persistence [3] and serendipity [5]. More recently, many approaches that combine numerical ratings with textual reviews, have been proposed (e.g., [11]). For achieving efficiency, there are approaches that build user models for computing recommendations. For example, [13] applies subspace clustering to organize users into clusters and employs these clusters, instead of a linear scan of the database, for making predictions.
In this work, we focus on how to produce diversity-aware recommendations. Many times, suggestions for users may contain the same or very similar pieces of information. To avoid such redundant information, we opt to provide users with results that exhibit some diversity. Several definitions of diversity can be found in the research literature. Most of them can be classified into [6]: (i) content-based, selecting items that are dissimilar to each other, i.e., they do not contain overlapping information (e.g., [22]), (ii) novelty-based, selecting items that contain new information when compared to what was previously presented to the user (e.g., [4]), and (iii) semantic-based, selecting items that belong to different categories and topics (e.g., [2]).
We differ from the usual approaches, since we decouple diversity from strictly revolving around items, and we consider it as an orthogonal dimension that can be incorporated independently at different times in the workflow of the recommendation process. Specifically, we distinguish between item and user diversity, and study various definitions of them. Furthermore, we deliberate how to cope with the different notions of diversity, depending on whether we opt at diverse single-user or group recommendations. Figure 1 shows the general architecture of our diversity-aware recommender system.
The rest of the paper is organized as follows. Section 2 presents the basics of recommendations. Section 3 explores various ways for defining diversity between data items, and users. Section 4 focuses on how to identify diverse single-user recommendations, while Section 5 introduces diverse group recommendations. Section 6 concludes the paper and presents future work.

PRELIMINARIES
Assume a recommender system, where I is the set of items to be rated and U is the set of users in the system. A user u ∈ U might rate an item i ∈ I with a score ratinд(u, i), e.g., in [1,5]. Typically, the cardinality of the item set I is high and users rate only a few items. The subset of users that rated an item i ∈ I is denoted by U (i), while the subset of items rated by a user u ∈ U is denoted by I (u).
Typically recommender systems try to estimate a utility function in order to predict the user's preference score for the unrated items, which we will refer to as relevance(u, i), u ∈ U , i ∈ I .

DIVERSITY
In general, the problem of selecting a set of diverse things can be defined as follows. Given a set of n things and a budget k on the number of the diverse things to be selected, locate a subset of k things among the n available ones, such that, the diversity of the k things is maximized.
In this section, we explore various ways for computing the diversity between things. We distinguish things between the main entities that appear in a recommender system, namely, items and users. Figure 2 summarizes the various options in each entity.

Item Diversity
Many times, the data items that appear in a list of suggestions for users contain very similar pieces of information. To avoid such redundant information, we can provide to users results that exhibit some diversity. We consider two different approaches for quantifying diversity, namely, a content-based approach and a ratings-based approach.
The main process in the content-based approach, is to select items that are dissimilar to each other, i.e., they do not contain overlapping information (e.g., [18]). For quantifying the overlap between two data items, we can use a simple and relatively fast to compute measure that provides a good indication of the overlapping content of the two recommendations. Specifically, we use a Jaccardlike definition of distance, which measures dissimilarity between the content of the items. That is, given two data items i x and i y , consisting of the tokens V andW respectively, the diversity between i x and i y is: The content-based approach focuses only on the items content for achieving diversity. Given that many times the description of a data item is poor or not available, we focus as well on a different notion of diversity that exploits the set of users gave ratings for particular items. We call this approach ratings-based approach.
Specifically, the main idea is that, given two data items i x and i y , the more overlap they have in their set of users that rated those items, i.e., U (i x ) and U (i y ), the more similar they are with each other. That is, diversification can be fulfilled by identifying data items with small intersection between U (i x ) and U (i y ).
Then, given two items i x , i y , their diversity is defined as follows: To measure the overall diversity of a set of items, we define their set diversity based on their diversity from each other. A number of different definitions for set diversity have been proposed in the context of recommender systems; here we model diversity as the average distance of all pairs of elements in the set [22].

User Diversity
In this section, we focus on defining diversity between users. Abstractly speaking, different definitions can be employed depending on the available data. Namely, we can measure the diversity between two users based on their ratings in a recommender system, on their profiles' content, or even based on the recommendations received in their previous interactions with the system. When explicit user interactions with items, i.e., ratings, are available, the diversity between two users u x , u y ∈ U can be computed as: where simU (u x , u y ) can be, for example, the Pearson correlation. Pearson correlation is a measure that is widely used for computing similarities between users in recommender systems. It actually measures the linear dependence between two users u x and u y : it has a value between +1 and −1, where +1 is total positive linear correlation, 0 is no linear correlation and −1 is total negative linear correlation.
where r (u x , i) is an abbreviation for ratinд(u x , i), µ u x is the mean of u x 's ratings, and The intuition behind this type of diversity definition, is that when users rate differently the same items, they can be considered diverse.
Alternatively, in a content-like approach, users interests, or profiles, can be represented as structured, unstructured or semistructured data. In structured profiles, there is a small number of attributes, each profile is described by the same set of attributes, and there is a known set of values that the attributes may have. Unlike structured profiles, in unstructured profiles, there are no attribute names with well-defined values. In between, in semi-structured profiles, there are some attributes with a set of restricted values and some free-text fields. A common approach to deal with free text (fields) is to convert the text to a structured representation, in which each token may be viewed as an attribute with an integer value indicating the number of times the token appears in the text. In a more sophisticated approach, each token can be associated with a tf-idf value, v(t, d), that is, for a token t in a text d, a function of: the frequency of t in d, the number of texts containing t, and the total number of texts. The intuition behind tf-idf is that the tokens with the highest values occur more often in that text than in other texts, and therefore are more important. In this scenario, simU (u x , u y ) can be evaluated as the cosine similarity of the vectors representing the profiles of u x and u y , respectively.
A different way to measure diversity between users is to look at the outcome of the personalization process. As an example, consider that we can compare the recommendation lists that are produced for each user by the recommender engine. Different measures can be applied depending on whether we care only for the actual suggestions or for cases in which the ranking of the suggestions is important as well. In particular, given the recommendation lists A u x and A u y for the users u x and u y , their diversity can be measured by: When focusing on a more detailed evaluation of the distance between the suggestions computed for two users, we can take also into account the position of each item in the recommendation list, and use the Kendall tau metric. According to it, for each pair of items (i, j) in the lists A u x and A u y , if i and j are in the same order in both lists, there is a penalty equal to 0. If i and j are in the opposite order, then let penalty be 1. Finally, there is a penalty p for cases in which one element does not appear in a list. The diversity between the users, in this case, is equal to the distance between their corresponding recommendation lists, i.e., equal to the summation of the penalties of all pairs. Overall, among the many possible combinations of k users in a group G, the most diverse users are selected as follows.
Definition 3.2 (k-Diverse Users). Given a user group G = {u 1 , . . . , u n }, the k most diverse users of G is the set C * for which: where diversity(C) = n x =1 n y >x div(u x , u y ) (k − 1)k/2 .

DIVERSE RECOMMENDATIONS
Recommender systems aim at giving recommendations to users by estimating their data item preferences and suggesting those items featuring the maximal predicted preference. In this section, we focus on how to identify single-user recommendations and on how to extend our definitions in order to define diversity-aware single-user recommendations.

Single-user Recommendations
A common way for producing recommendations for a user u x , is to predict the missing ratings of all items i for u x , using the previous ratings of i given by users similar to u x . This method is called user-based collaborative filtering [17]. Similar users are located via a similarity function simU (u x , u y ) that evaluates the proximity between u x , u y ∈ U by considering their shared dimensions. We use F u x to denote the set of the most similar users to u x , hereafter, referred to as the friends of u x .

Definition 4.1 (Friends).
Let U be a set of users. The friends F u x , of a user u x ∈ U consists of all those users u y ∈ U , which are similar to u x w.r.t. a similarity function simU (u x , u y ) and a threshold δ , i.e., F u x = {u y ∈ U : simU (u x , u y ) ≥ δ }.
Overall, given a user u x , his friends F u x and a similarity measure simU for computing similarities between users, if u x has expressed no preference for an item i, the relevance of i for u x is estimated as: .
Item-based collaborative filtering resembles the general process of the user-based collaborative filtering approach. However, the basic idea here is to compute similarities between data items, instead of users, based on a function simI (i x , i y ), in order to make predictions. Specifically, to compute the relevance of an item i x for a user u, we first locate the most similar items to i x , say S i x , with respect to the ratings given to them by the users in U .
Overall, given an item i x and its most similar items S i x , the relevance of i x for u is estimated as: In both cases, after estimating the relevance scores of all unrated user items for a user u x , the items A u x with the top-m relevance scores are recommended to u x .
Differently, we can totally ignore the user ratings and produce recommendations by analyzing the descriptions of the items, so as to identify those items that are of particular interest to the users [15]. Similar to user profiles, data items can be represented as structured data, unstructured data or semi-structured data. The goal of the recommender here is to identify the items that are the most similar to the user's profile, via, for example, a cosine similarity function between vectors that represent data descriptions and user profiles. Therefore, as in the case of recommendations computed based on user ratings, the list A u x with the top-m most closely related items to the profile of u x are recommended to him.

Diversity-aware Single-user Recommendations
Usually, suggestions for users contain very similar pieces of information. To avoid such redundant information, we opt to provide users with results that exhibit some diversity. The main way for doing so, is to select items that are dissimilar to each other, i.e., they do not contain overlapping information, e.g., by exploiting Equation 1. Given that many times the items descriptions are not available, we use also a different definition of diversity that exploits the set of users that contribute towards producing the relevance scores of particular items. Specifically, given two different recommended items, the more overlap they have in their set of users employed for computing the relevance scores of the items, referred to as the contributors of the items, the more similar they are with each other. This way, diversification can be fulfilled by identifying data items ranked highly in a list A u x for a user u x , but their intersection in their contributors is small. A similar notion of diversity, used for providing recommendations explanations, is given in [20].
Formally, the contributors of an item i for a user u are defined as follows: Definition 4.2 (Contributors). Let u be a user in U with friends F u . The contributors of an item i ∈ A u are defined as the set of users in F u that have rated i.
Interestingly, for the collaborative filtering scenario, we do not need any detailed descriptions about data items for computing diverse recommendations, which is very useful, since many times, especially in social networks, we have only partial descriptions about data items.
Next, based on the notion of contributors, we update Equation 1 so as to take into account the contributors of two data items, in order to compute their diversity.
Overall, for a user u x , among the many possible combinations of k data items in his list of recommendations A u x , we choose the one with the most diverse items. That is, the k recommendations for u x are selected according to the following definition: . Given a user u x and a set of n recommendations A u x , the k-diverse recommendations for u x is the set B * for which:

DIVERSE GROUP RECOMMENDATIONS
Recently, group recommendations that make recommendations to groups of users instead of single users, have received considerable attention. In this section, we broaden ideas used for computing group recommendations in order to consider the notion of diversity as well.

Group Recommendations
Since recommendations are typically personalized, different users are presented with different suggestions. However, there are cases where a group of people participates in a single activity. For instance, visiting a restaurant or a tourist attraction, watching a movie or a TV program and selecting a holiday destination are examples of recommendations well suited for groups of people. For this reason, recently, there are methods for group recommendations, trying to satisfy the preferences of all the group members. These methods can be classified into two approaches [9]. The first approach creates a joint profile for all users in the group and provides the group with recommendations computed with respect to this joint profile (e.g., [21]). The second approach aggregates the recommendations of all users in the group into a single recommendation list (e.g., [12,16]). Our work on group recommendations follows the second approach, since it is more flexible [9,14] and, typically, offers opportunities for improvements in terms of efficiency. This way, our goal is to first estimate the relevance scores of the unrated items for each user in the group, and then, aggregate these predictions to compute the suggestions for the group.
Definition 5.1. Let U be a set of users and I be a set of items. Given a group of users G, G ⊆ U , the group relevance of an item i ∈ I for G, such that, ∀u ∈ G, ratinд(u, i), is: As in [12], we consider three different designs regarding the aggregation method Aддr : (i) the least misery design, capturing cases where strong user preferences act as a veto (e.g., do not recommend steakhouses to a group when a member is vegetarian), (ii) the fair design, capturing more democratic cases where the majority of the group members is satisfied, and (iii) the most optimistic design, capturing cases where the more satisfied member of the group acts as the most influential one (e.g., recommend a movie to a group when a member is highly interested in it and the rest have reasonable satisfaction). In the least misery (resp., most optimistic) design, the predicted relevance score of an item for the group is equal to the minimum (resp., maximum) relevance score of the item scores of the members of the group, while the fair design, that assumes equal importance among all group members, returns the average score.

Diversity-aware Group Recommendations
Given a restriction k on the number of suggestions to be presented to the group, our goal here is to focus on the diversity-aware aggregation of the recommendations lists that were computed separately, for each user in the group. In particular, we would like to provide the group with p data items that as a whole cover many of the group members preferences and exhibit low redundancy. To achieve this, we resort to the following procedure that offers us the flexibility of fine-tuning the importance between the coverage of the users preferences and the diversity in selecting the top-p items.
For a group G = {u 1 , . . . , u n }, we use A u 1 , . . ., A u n to denote the sets of single-user recommendations computed for the users u 1 , . . . , u n . We want all users to contribute to the top-p group recommendations. The number of suggestions offered by a user u i is captured by a function f (i). Among the many possible combinations of the p data items that satisfy the constraints imposed by f , we choose the one with the most diverse items. Next, we define the top-k diverse group recommendations.
Definition 5.2. (p-Diverse Group Recommendations). Given a group G = {u 1 , . . . , u n } and the set A G = {A u 1 , . . . , A u n }, where A u i is the set of recommendations for u i ∈ G, the p-diverse group recommendations for G is the set S * for which: Alternatively, we can work with the diversity-aware single-user recommendation lists of the users in the group (as defined in Section 4.2). Such approach can potentially increase the diversity of the produced suggestions, leading at the same time to a resulting set with lower overall relevance.
We use the function f as a parameter for tuning the numbers of suggestions each user contributes to the recommendations list of the group. For scenarios in which fairness is of high importance, group members equally contributes data items to the top-k set of recommendations. However, many times, in real life scenarios, there are cases in which some of the group members act as the most influential ones. For instance, we can recommend a particular brewery to 5 friends, where 2 of them are highly interested in it and the rest have a reasonable satisfaction. To capture such cases, we consider a monotonically decreasing function f that distinguishes between different clusters of users, from more influential ones to less influential ones. A high decrease rate of f leads to users from fewer clusters contributing to the top-k recommendations, i.e., mainly the most influential users will be used. A low decrease rate of f means that less results will be contributed by more users, i.e., the less influential users will contribute to the results as well. Diversity is calibrated through the number that expresses the size of the union of suggestions computed separately for all users in the group, out of which to select the p most diverse suggestions for the group.
Note that the definition of the p-diverse group recommendations can be easily updated, so as to take into consideration the diversity of the users that participate in the group. Intuitively, the idea here is to locate the k-diverse users, according to Definition 3.2, keep only the recommendations lists of the k users, and compute the pdiverse group recommendations based on their lists. This variation offers the improvement of reducing the search space of available recommendation lists to consider.

CONCLUSION AND FUTURE WORK
Several recent studies motivate the benefits diversity provides. In our case, the challenge is to introduce algorithms resulting in sets of suggestions that as a whole cover all the different needs of the users in question and not only focus on particular question aspects. We opt to extend our definitions of diversity in order to take into account issues related to novelty, referring to not seen things, and coverage, referring to things from different categories.
Overall, we envision a general processing model that puts humans in the core, in order to produce recommendations that take into consideration additional perspectives like transparency, fairness and privacy. Transparency facilitates the understanding of data. Exploration and explanation are two techniques that can be used for achieving transparency to assist users identify the what, where, when, how and who of a data item. For example, given the huge amounts of data available nowadays, exploration can support users by offering sophisticated discovery capabilities. Differently, explanations target at telling the story that the data has to say, by providing the reasons behind particular recommendations.
Fairness in data processing can be expressed as the lack of bias, where bias can come from data processing methods that reflect the preferences of the data scientists designing them. Regarding fairness in group recommendations, the goal is to locate, when possible or helpful, suggestions that include data items fair to the members of the group. That is, we should be able to recommend items that are both strongly related and fair to the majority of the group members.
Finally, keeping track of the users history in multiple Web applications, allows for studying changes in users tastes and identifying periodicity in their habits. Change is natural over time; in a recommender system, this means that the recommender should adapt to the changes in order to provide up-to-date recommendations to the users. However, we should also take into account that a long term users monitoring implies an extensive knowledge about their tastes and preferences, which might result in privacy risks for them.