Finding the Right Set of Users: Generalized Constraints for Group Recommendations
aa r X i v : . [ c s . I R ] F e b Finding the Right Set of Users: Generalized Constraintsfor Group Recommendations
Kostas Stefanidis
Dept. of Computer and Information ScienceNorwegian University of Science andTechnology, Norway [email protected] Evaggelia Pitoura
Dept. of Computer ScienceUniversity of Ioannina, Greece [email protected]
ABSTRACT
Recently, group recommendations have attracted consider-able attention. Rather than recommending items to individ-ual users, group recommenders recommend items to groupsof users. In this position paper, we introduce the problemof forming an appropriate group of users to recommend anitem when constraints apply to the members of the group.We present a formal model of the problem and an algorithmfor its solution. Finally, we identify several directions forfuture work.
1. INTRODUCTION
Recommendation systems aim at suggesting to users itemsof potential interest to them. In general, this is achieved byestimating a rating for each item and user and then recom-mending to the user the item with the highest rating [1]. Inthe content-based approach (e.g., [11, 8]), the estimation ofthe rating of an item is based on the ratings that the user hasassigned to similar items, whereas in collaborative filteringsystems (e.g., [7, 4]), this rating is predicted using previ-ous ratings of the item by similar users. Knowledge-basedapproaches enhance recommendations by exploiting domainknowledge [5]. Most previous work focuses on recommend-ing individual items to individual users. However, recently,group recommendations have received considerable atten-tion. Instead of recommending items to individual users,group recommenders make recommendations to groups ofusers (e.g., [13, 2, 9, 6, 3]).An effective group recommendation system must take intoaccount not only the preferences of individual users but alsothe group dynamics, that is, how groups of people make de-cisions. Since an item must be acceptable by all users ofthe group, different consensus functions or strategies havebeen derived that characterize how much the item satisfiesthe group as a whole. For example, group consensus maybe estimated based on disagreement and relevance, wheredisagreement expresses the difference in the item ratings be-tween the group members, while relevance corresponds, for
Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.
PersDB example, to the average of the ratings of the item for thegroup members, or, to the highest (in the optimistic strat-egy), or lowest (in the least misery strategy) rating amongthe ratings for the group members [13].The “reverse” problem has also been studied, that is, rec-ommending groups or packages of items to individual users(e.g., [12, 14]). For example, in top-k composite recommen-dations , each recommendation consists of a set of items,where both an interest score or rating and a cost is as-sociated with each item [14]. The user specifies a maxi-mum total cost for any recommended set. Motivated by on-line shopping applications, recommending composite items is proposed in [12], where a set of related satellite items arerecommended along with each central item. In addition, theproblem of recommending sets of items to a user when theitems to be recommended must satisfy several constraintsis considered in [10]. Particular focus is given on recom-mending sets of courses to students in the context of theCourseRank project.In this paper, we consider a different aspect of group rec-ommendations. Whereas in previous research, group recom-mendations focus on the relevance of the item to the groupmembers, here, we study group recommendations when spe-cific constraints apply to the members of the group basedon individual preferences that the members of the groupexpress for the other group participants. For example, a va-cation package may seem more attractive to a user, if theother members of the group are of a similar age. Further-more, a course may be recommended to a group of studentsthat have similar or diverse backgrounds depending on thescope of the course, whereas a user may prefer a recommen-dation for a specific restaurant, if the accompanying groupmembers are non smokers.In the rest of this paper, we present in some detail aspecific motivating example. Then, we introduce a formalmodel of the problem and outline a solution. We concludethe paper with a list of issues for future work.
2. MOTIVATING EXAMPLE
Assume a travel agent web site promoting vacation pack-ages. As an example, consider the package “Gems of theAegean” referring to a cruise itinerary at Eastern Mediter-ranean with tagline: “cities, sights and sensational scenery”.The cruise starts at July 16, its duration is 8 days, costs900 euro and visits Athens, Kalamata, Aghios Nikolaos, Ku-sadasi and Marmaras. The goal of such a travel agent com-pany is to locate an appropriate group of people which willbe highly interested in the cruise.ach user in the system has expressed a set of constraintsconcerning his/her choices. These constraints refer to ei-ther the vacation package itself or the other members of thegroup that potentially he/she will be a member. For ex-ample, Alice, a 34 years old teacher planning her vacations,can spend up to 1000 euro for less than 10 days in July, isinterested in seeing the cities and sights of Eastern Mediter-ranean, and prefers to be accompanied by people over thirtymost of which are college graduates.Moreover, the company itself has defined a set of con-straints expressing the preferences of the company for thegroup of customers that the company is targeting on. Forinstance, consider a constraint that directs the selection to-ward groups with middle-aged and senior people that is for-mulated as “include at least 30 users with average age greaterthan 40 years old”.Given that for each user, there is an interest score availablefor each item, e.g., vacation package, that indicates how de-sirable the item is for the user, the task of the recommenderis to recommend an item to a group of users, such that,(i) the (average) interest scores for all users in the group ismaximized, and (ii) the constraints of all users in the group,as well as the constraints of the company, are satisfied.
3. MODEL AND PROBLEM STATEMENT
In this section, we present a model for constraints thatcaptures different kinds of features for user group construc-tion. We distinguish between user-to-item, user-to-groupand group-to-group constraints. Then, we introduce theproblem of constructing groups of users satisfying a set ofconstraints.
Let t be an item, i.e., a vacation package in our example,described by a set of attributes { a , . . . , a p } , where each a i ,1 ≤ i ≤ p , is of the form ( a i .attribute = a i .value ). Thedescription of the cruise Gems of the Aegean is shown inFigure 1. title = Gems of the Aegeantype = cruiseplace = Eastern Mediterraneanlocations = Athens, Kalamata, AghiosNikolaos, Kusadasi, Marmarasstart date = July 16, 2012end date = July 24, 2012duration = 8cost = 900
Figure 1: Item description example.Let U be a set of users. We use score ( u, t ), u ∈ U , todenote the relevance, value or importance of item t for user u . The value of t for u can, for example, be directly inducedby preferences that u has expressed in her profile. For ex-ample, given that Alice enjoys sightseeing in warm climatesand likes to travel by sea, the Gems of the Aegean cruisewill receive a high preference score. When there are no ex-plicit preferences, score ( u, t ) may be the predicted rating ofa recommender based on the past behavior of u or of othersimilar users.In addition, each user u may specify a set of basic con-straints { b , . . . , b q } on the values of specific attributes ofitems that are candidates to be recommended. Each at-tribute constraint has an attribute name, a binary operator and a value, i.e., has the form ( b i .attribute θ b i b i .value ).Attributes and values have the same form as in items. Bi-nary operators include common operators, such as =, =, < , ≤ , > , ≥ and substring . We refer to such constraints as user-to-item constraints . Figure 2 depicts the user-to-itemconstraints of Alice. place = Eastern Mediterraneanstart date ≥ July 1, 2012end date ≤ July 31, 2012duration < ≤ Figure 2: User-to-item constraints example.Such user constraints are fulfilled with respect to an item t , if and only if, every attribute constraint of the user issatisfied by some attribute of t . Formally: Definition 1 (User-to-Item Constraints).
An item t is a set { a , . . . , a p } , where each a i , ≤ i ≤ p , is ofthe form ( a i .attribute = a i .value ). The user-to-item con-straints of user u is a set { b , . . . , b q } , where each b j , ≤ j ≤ q , is of the form ( b j .attribute θ b j b j .value ) and θ b j ∈ { = , = , <, ≤ , >, ≥ , substring } . t satisfies the user-to-item constraints of u , if and onlyif, ∀ b j , ∃ a i , such that, a i .attribute = b j .attribute and (( a i .value ) θ b j ( b j .value )) , ≤ i ≤ p , ≤ j ≤ q . For example, the package of Figure 1 satisfies the user-to-item constraints of Figure 2, which means that the personalconstraints of Alice for the cruise are fulfilled.
Our overall goal is to form a group of users for whichthe recommended item is highly valuable for the group as awhole. Apart from the user-to-item constraints, we are alsointerested in satisfying user requirements that refer to userchoices concerning the other members of the group. Thefulfilling of these requirements works towards ensuring lowdisagreement between the group members. We refer to suchconstraints as user-to-group constraints .In particular, similar to items, we assume that each user u ∈ U is described by a set of attributes { x , . . . , x s } , whereeach x i , 1 ≤ i ≤ s , is of the form ( x i .attribute = x i .value ).For example, an attribute can be name , education , occupa-tion , gender or age . See, for instance, Figure 3 for a userdescription. name = Aliceeducation = college graduateoccupation = educatorgender = femaleage = 34 Figure 3: User description example.Each user defines a set of basic constraints { y , . . . , y r } onthe values of specific attributes of the other users belongingto his/her group. For example, consider the preference ofAlice in groups with members over thirty, i.e., age > value constraints , are similarto the user-to-item constraints.More complex constraints that express aggregation re-quirements on the values of the set, termed aggregation con-straints , are also permitted. In particular, the constraint z i efined as:( aggr G ( z i .attribute ) θ z i z i .value ), where θ z i ∈ { =, < , ≤ , > , ≥} and aggr G is either avg , sum , max , min or count is a constraint respectively on the average, sum, maximum,minimum or number of the values of z i .attribute of group G . For example, take Scott, a 20 years college student. Theconstraint avg G ( age ) <
25 of Scott means that he is inter-ested in groups with users with average age smaller than 25years old.Value and aggregation constraints apply to all members ofthe group. Often, we want to specify constraints on subsetsof the group. To this end, we define composite constraint w i of the form: include at least l users with ( w i .attribute θ w i w i .value ), or include at least l users with ( aggr G ( w i .attribute ) θ w i w i .value ).For example, include at least users with ( age > G of users and a user u , we say that theuser-to-group constraints of u are fulfilled with respect to G ,if and only if, every value constraint of u is satisfied by everyuser in G and every aggregation and composite constraint of u is satisfied by the members of G as a whole.The following definition formalizes our model of user-to-group constraints. Definition 2 (User-to-Group Constraints).
Let u be a user described by a set of attributes { x , . . . , x s } , whereeach x i , ≤ i ≤ s , is of the form ( x i .attribute = x i .value ),and G be a set of users. G satisfies the user-to-group con-straints of u , if and only if:(i) [ G satisfies the value constraints of u ] For each valueconstraint y of the form ( y.attribute θ y y.value ) of u , θ y ∈ { = , = , <, ≤ , >, ≥ , substring } , there exists, foreach user in G , a x attribute, such that, x.attribute = y.attribute and (( x.value ) θ y ( y.value )) .(ii) [ G satisfies the aggregation constraints of u ] For eachaggregation constraint z of u , it holds aggr G ( z.attribute ) θ z z.value , where θ z ∈ { = , < , ≤ , > , ≥} and aggr G is avg , sum , count , min or max .(iii) [ G satisfies the composite constraints of u ] For eachcomposite constraint “ include at least l users with w ”of u , there exist at least l users in G forming a group G ′ , G ′ ⊆ G and |G ′ | = l , such that, G ′ satisfies the valueor aggregation constraint w of u . Both user-to-item and user-to-group constraints describelimitations from the user, or customer, perspective. Fromthe perspective of the company, group-to-group constraints refer to a set of properties that the group under constructionmust satisfy. These properties express the requirements ofthe company concerning the group that a product, or item,is targeting on.As with the user-to-group constraints, we distinguish group-to-group constraints into value, aggregation and compositeones. For example, assume that the travel agent company managing the package
Gems of the Aegean targets mainly oncollege graduates or say, middle-aged and senior customers.In this case, the company aims at a group G that should qual-ify, for instance, the composite constraint include at least 20users with education = ‘college graduate’ or the compositeconstraint include at least 20 users with avg G ( age ) > G , we saythat G satisfies the group-to-group constraints . (The formaldefinition of group-to-group constraints is skipped, since itis similar to the definition of user-to-group constraints.) A group G is called satisfiable if all the user-to-item , user-to-group and group-to-group constraints for G are fulfilledwith respect to an item t . Definition 3 (Satisfiable Group).
Given an item t and a group G , G is satisfiable for t , if and only if:(i) t satisfies the user-to-item constraints of u , ∀ u ∈ G ,(ii) G satisfies the user-to-group constraints of u , ∀ u ∈ G ,and(iii) G satisfies the group-to-group constraints. Next, we formally define the problem of finding an appro-priate group of users with the maximum relevance score fora specific item.
Definition 4 (Problem Definition).
Given an item t , a set of users U and an integer k , identify the group ofusers G , G ⊆ U , with cardinality k , such that:(i) G is satisfiable for t and(ii) G has the maximum value score ( G , t ) , where score ( G , t ) = X u ∈G ( score ( u, t )) , among all satisfiable groups with cardinality k . In this paper, we assume that constraints are strong, in thesense, that for recommending an item to a group all relatedconstraints must be satisfied. One could also envision mod-els where users prioritized their constraints, or where onetype of constraint is more important than another, for in-stance, user-to-group constraints may be more relevant thangroup-to-group constraints. Further, we assume that it ispossible to form satisfiable groups. Clearly, in the generalcase, it may not be possible to construct such groups. In thiscase, we should look for approximate solutions, for example,for a group that satisfies the largest number of constraintsor for a group that satisfies the constraints of the majorityof its members.
4. A GREEDY ALGORITHM
Given an item t , a satisfiable group G for t is a set ofusers that comply with a set of user-to-item, user-to-groupand group-to-group constraints. For this specific item t , atechnical challenge is to efficiently construct the satisfiablegroup G with the highest value score ( G , t ), given a budget k on the size of G .A brute-force method to identify such a group is to firstconstruct all combinations of k users forming a satisfiableroup G and then pick the one with the maximum score ( G , t ).Constructing the group G using such a straight-forward al-gorithm is computational costly, since the number of groupsto examine for satisfyingness can be overwhelming even fora small number of users. As a result, we propose an alter-native algorithm that computes an approximate group G .In particular, we use the following intuitive heuristic. Weincrementally construct a group of users by selecting at eachstep a user that: (i) adds the most to the score value of thegroup and (ii) after joining the group of users already se-lected, the group satisfies more constraints than after addingany other user.More specifically, let t be an item, U be a set of users and G be the set we want to construct. Let also A be the users in U , such that, ∀ u ∈ A , t satisfies the user-to-item constraintsof u . Initially, G is empty. We first construct a single-usergroup by adding to G a user u , u ∈ A , randomly selectedamong the ones with the maximum value score ( u, t ). Then,at each step, we select the users in A\G with the maximumvalue score for t , and add to G the one that satisfies alongwith the other members of G the most user-to-group andgroup-to-group constraints. This procedure stops after gen-erating a group G with k users. Note that we assume thatthere is at least one group, such that, item t satisfies the user-to-item constraints of at least k users. Algorithm 1illustrates our Group Construction Algorithm . Algorithm 1
Group Construction Algorithm
Input:
An item t , a set of users U and an integer k . Output:
A group G , G ⊆ U , of k users. begin G ← ∅ ; find the users A , A ⊆ U , such that, ∀ u ∈ A , t satisfies theuser-to-item constraints of u ; find the users B , B ⊆ A , with the maximum value score for t ; randomly select a user u ∈ B ; G ← G ∪ { u } ; while |G| < k do find the users C , C ⊆ A\G , with the maximum value scorefor t ; select the user u add ∈ C , such that, G ∪ { u add } satisfies themost user-to-group and group-to-group constraints com-pared to the groups G ∪ { u } , ∀ u ∈ C ; G ← G ∪ { u add } ; end while return G ; end We illustrate the final step of this algorithm with the fol-lowing example. Consider the package
Gems of the Aegean and a travel agent company that wants to construct a groupof 80 users. At the last step, the 79 users have alreadybeen selected. Then, the users, say Alice and Scott, withthe maximum interest score for the cruise, say 0.9, are iden-tified. The cruise satisfies the user-to-item constraints ofboth users. Based on the assumption that when addingAlice to the group more user-to-group and group-to-groupconstraints are fulfilled than when adding Scott, Alice is thelast user that will join the group.Note that in line 9 of the algorithm, we are interestedin locating the user that when joining a group, the groupfulfills more constraints or, in other words, violates less con-straints than when a different user joins the group. Severalmeanings can be assigned to the expression “ fulfills more ” or, respectively, “ violates less ” constraints. For instance, assumea value user-to-group constraint expressing a preference ofa user u . Assume also the following two scenarios: (i) allusers in a group violate the value constraint of u or (ii) allusers, except one, fulfill this constraint. It is clear that inboth cases the group does not satisfy the constraint of u .However, different policies for counting the number of theviolated constraints can be applied. For this example, forinstance, we can consider a scheme that assigns a weight toeach constraint depending on the number of the non-satisfiedusers, instead of considering each constraint as being eithersatisfiable or not.
5. DISCUSSION AND FUTURE WORK
In this short position paper, we introduced the generalizedgroup formation problem: how to form a group of users forrecommending an item, such that, all members of the groupare satisfied both from the selection of the recommendeditem and from the selection of the other group members.Whereas the first component of the model, that is, groupconsensus on an item, has received considerable attention,the other dimension of the problem, that is, group consensuson the other group members is, to our knowledge, novel.In this paper, we outlined a model for the problem andpresented a first greedy algorithm for its solution. Clearly,there are many directions for future work including modelingconstraints, combining item and group preferences, efficientalgorithms and finally implementations in specific contexts.Next, we elaborate on these issues a bit further.We modeled user preferences on items and other groupmembers as constraints on the values of the attributes ofthe item and the user respectively. Other models are fea-sible as well. In particular, the user-to-item part can beexpressed using traditional content or collaborative filter-ing approaches and be replaced by a single relevance value.One can envision a similar approach to expressing the user-to-group part. Recommendation techniques could also beused to recommend group members that would be compat-ible with a specific user, for example, similar users or usersthat liked similar items in the past.In many cases, a group that satisfies all user-to-item anduser-to-group constraints may not exist. In such cases, anappropriate consensus function should be sought for. Forinstance, one may ask for a group that satisfies the largestnumber of its members. Other approaches, such as relaxingconstraints or approximating them, are also feasible. Fur-ther, an item may be highly relevant to many users but theseusers may be incompatible with each other. In this case, itmay be wise to recommend this item to a less relevant butmore compatible group.Moreover, depending on the type and complexity of theconstraints, more efficient algorithms than the greedy al-gorithm can be designed. Finally, in this paper, we usedtravelling as an example. Group constraints apply in manyareas, where people perform activities in groups. For ex-ample, one could explore them in conjunction with socialnetworks.
6. ACKNOWLEDGMENTS
The work of the first author was carried out during thetenure of an ERCIM “Alain Bensoussan” Fellowship Pro-gramme. This Programme is supported by the Marie Curieo-funding of Regional, National and International Pro-grammes (COFUND) of the European Commission. Thework of the second author is partially supported by project“Intersocial”, financed by the European Territorial Coop-eration Operational Programme ”Greece-Italy” 2007-2013,co-funded by the European Union (European Regional De-velopment Fund) and by National Funds of Greece and Italy.
7. REFERENCES [1] G. Adomavicius and A. Tuzhilin. Toward the nextgeneration of recommender systems: A survey of thestate-of-the-art and possible extensions.
IEEE Trans.Knowl. Data Eng. , 17(6):734–749, 2005.[2] L. Baltrunas, T. Makcinskas, and F. Ricci. Grouprecommendations with rank aggregation andcollaborative filtering. In
RecSys , pages 119–126, 2010.[3] L. Boratto and S. Carta. State-of-the-art in grouprecommendation and new approaches for automaticidentification of groups. In A. Soro, E. Vargiu,G. Armano, and G. Paddeu, editors,
InformationRetrieval and Mining in Distributed Environments ,volume 324 of
Studies in Computational Intelligence ,pages 1–20. Springer Berlin / Heidelberg, 2011.[4] J. S. Breese, D. Heckerman, and C. M. Kadie.Empirical analysis of predictive algorithms forcollaborative filtering. In
UAI , pages 43–52, 1998.[5] R. Burke. Knowledge-based Recommender Systems. In
Encyclopedia of Library and Information Systems ,volume 69, 2000.[6] M. Gartrell, X. Xing, Q. Lv, A. Beach, R. Han,S. Mishra, and K. Seada. Enhancing grouprecommendation by incorporating social relationshipinteractions. In
GROUP , pages 97–106, 2010.[7] J. A. Konstan, B. N. Miller, D. Maltz, J. L. Herlocker,L. R. Gordon, and J. Riedl. Grouplens: Applyingcollaborative filtering to usenet news.
Commun. ACM ,40(3):77–87, 1997.[8] R. J. Mooney and L. Roy. Content-based bookrecommending using learning for text categorization.In
ACM DL , pages 195–204, 2000.[9] I. Ntoutsi, K. Stefanidis, K. Nørv˚ag, and H.-P. Kriegel.grecs: A group recommendation system based on userclustering. In
DASFAA (2) , pages 299–303, 2012.[10] A. G. Parameswaran, P. Venetis, andH. Garcia-Molina. Recommendation systems withcomplex constraints: A course recommendationperspective.
ACM Trans. Inf. Syst. , 29(4):20, 2011.[11] M. J. Pazzani and D. Billsus. Learning and revisinguser profiles: The identification of interesting websites.
Machine Learning , 27(3):313–331, 1997.[12] S. B. Roy, S. Amer-Yahia, A. Chawla, G. Das, andC. Yu. Constructing and exploring composite items. In
SIGMOD Conference , pages 843–854, 2010.[13] S. B. Roy, S. Amer-Yahia, A. Chawla, G. Das, andC. Yu. Space efficiency in group recommendation.
VLDB J. , 19(6):877–900, 2010.[14] M. Xie, L. V. S. Lakshmanan, and P. T. Wood.Breaking out of the box of recommendations: fromitems to packages. In