You are on page 1of 6

Group Recommendation Systems : A Survey

Nihal Jain

Kavish N. Dahekar

Indian Institute of Technology - Guwahati


154101051 (MTech , CSE)

Indian Institute of Technology - Guwahati


154101035 (MTech , CSE)

nihal.jain@iitg.ernet.in

kavish@iitg.ernet.in

ABSTRACT
In the recent years, group recommender systems have become more and more relevant. In essence, recommendation
systems provide crucial predictions of items that may interest individual users, based on previously collected data.
Such recommender systems cannot cater to the current usage scenario owing to the huge growth of social communities, e-commerce platforms and availability of enormous
user-data in general. Group recommendation systems are
extensions of such recommender systems, in that they seek
to predict recommendations for a group of users rather than
targeting single users. This survey aims to analyze popular
approaches developed over the years to optimize and further improve this recommendation process. Most of these
systems assume that group of users follow deterministic patterns of choices and decisions which can be algorithmically
studied to classify separate users into individual groups.
Basic techniques include aggregating individual user data
into groups using collaborative filtering which is further enhanced by using genetic algorithms along with special heuristics that can predict interactions among users in a group.
However, such predictions may dissatisfy few individuals in
the group. This survey also studies some novel methods that
remove irrelevant items and seek to improve overall group
as well individual satisfaction. Applications for these techniques range from content suggestions, friend recommendations and even targeted advertisements.

Keywords
Group recommendation, Collaborative filtering

1.

INTRODUCTION

With the ever increasing amount of products available around


us, it is really difficult for a user to choose just one item
among such an overwhelming list of possible choices. Recommender systems help users in making good decisions by
providing them a list of items most relevant to them. Thus,
a recommender system is a tool which aims to predict the
items a user may like based on his past behaviour.
A simple recommendation problem involves n users and m
items. A user u might have seen(used) k items, say i1 , i2 , .
. ik out of m possible items. The goal of recommendation
system is to predict rating for the n - k remaining items,
which have not been rated by the user. Various algorithms
have been developed over the years which make use of the
available user data in some manner to make efficient recommendations. Collaborative filtering is one of the most widely

used and successful algorithm used to solve this problem.


Most of the initial research in the field of recommender systems dealt mainly with the recommendation for individuals
only. Individual recommendations work quite well for use
cases like news recommender systems where people seldom
read an article together. But, in uses cases like restaurant
recommendation problem it was felt that there is a need to
make recommendations by also taking into account a group
of users having some similar taste, as normally people enjoy
dinners in a group.
PolyLens [2] was one of the earliest implementation of group
recommender systems. It was designed in such a manner
that the system provided the users privilege to form new
groups, see recommendation generated by the system based
on their groups taste along with their individual taste. Users
were also allowed to leave a group whenever they felt like doing so. PolyLens introduced the idea of using collaborative
filtering method to predict items that may be of use to group
of users. Earlier, people used collaborative filtering for individual recommendations only. They also studied various
design issues related to the group recommendation problem.
Basically, they created groups of users explicitly and made
recommendations for groups.
After the success of PolyLens, people realised that it is not
appropriate to assume that a group of users always exist
in the system. So [1] developed the idea of automatically
detecting groups of users. At first, Cosine similarity metric
was used to generate user similarity network. Then weighted
modularity optimization technique was used to classify users
into groups. Next, The system generated predictions for all
the item rated by every member of the group. The group
prediction for remaining items were populated by first finding a list of top similar items of the unrated item. Then,
average of all the top similar items were combined with the
ratings, which became the group rating.
Previous group recommenders process ratings given to available items by individual users of the group. Though successful in the past, these recommenders fall short. More
advances were made in the field of group recommendation
by including not just the users ratings for items but also including collective user ratings for items given by users as a
group. Such ratings displayed useful properties of the group
such as the interaction among the members, the dominant
and influential group members etc. It was experimentally

shown that coupling these group ratings along with genetic


algorithms substantially improved the accuracy of the recommendation predictions.
The recent decade has witnessed an explosion of technology, mainly the internet. Internet has now penetrated every
nook and corner of human civilization, especially our social
circles. More than a billion people on earth have a facebook
account and over 70 percent of them are active. Online
recommendation systems can include various functionalities
form helping users to find interesting music, books, movies
and even guiding their online purchases. Previous attempts
at group recommendation systems use various techniques
based on collaborative filtering to make appropriate recommendations to individual as well groups is users. These techiniques are however tailored at a very low level to be effective for offline environments. Also, aggregating and merging
the preferences of all users of the group and serving recommendations based on these aggregations often leaves a few
users of the group with unsatisfactory results.

2.

POLYLENS

PolyLens used the collaborative filtering algorithm to generate group recommendations. This paper [1] mainly dealt
with finding answers to some unsolved questions regarding the group recommendation process. Their primary goal
was to implement such a group recommender system from
scratch and also to understand the group recommendation
problem in a better way. PolyLens had mechanism to create
new groups and manage them. Users could choose between
individual and group recommendations, whichever they found
more useful. Users were notified whenever someone they
know invited them to join a group. The designers of PolyLens
identified some primary design issues of group recommender
systems.

2.1

Nature of a group

A group can be either persistent, if users agree to get recommendations for the same group of members over a period
of time, or ephemeral, if groups are formed to get group
recommendations for only once.
Based on privacy issues a group can be either private or
public. A group is said to be private if the existence of the
group is known to only the members of the group. Only
members have the right to access group recommendations
for that group. On the other hand a group which is visible
to the whole world and thus accessible to all it is said to
be a public group. PolyLens made use of persistent private
groups.

2.2

Group creation

The number of groups that might get created and their nature depends on the creator of the group. An administrator
is the person who is responsible for group creation. He decides the nature of such groups. The designers of PolyLens
gave each user the right to create a group. But, only the
group creator could add new members to the group via invitations. Thus, though being inherently involved in the group
formation process, normal users are devoid of certain functions which only certain users can perform, namely adding
members to a group created by the user.

2.3

User control over his data

In order to make intelligent recommendations, every system


needs to log some amount of user data. Generally, a user
has two different types of data:
ratings, which is the score that a user gives to an item
and
predictions, a list of items recommended to the user
based on his data.
Ratings are the personal data while predictions are machine
generated data. A user decides if he should make his data
visible to other users. In order to make group recommendations, it is important that the user permits the system to
access his data, which in turn is used to make group predictions. PolyLens provided its users the power to accept or
reject a group invitation.

2.4

Making recommendations for groups

The recommendation process basically had two fundamental


steps:
Choosing social values function which defines the role
of an individual user in group recommendation computation.
Implementing the algorithm so that it efficiently produces recommendations based on the chosen social value
function.
Group recommendations can be computed by assuming that
a non-existent user, say user G exists in the system. Here,
Gs taste represents the overall taste of the group. Now, we
can produce recommendation for this user G by aggregating
the ratings of all the members in the group. Thus, whatever is recommended to G becomes recommendation for all
the members of the group. PolyLens computes group recommendation by first generating recommendations for each
member of a group. Finally, they merge the list using the
principle of least misery.

3.

GROUP DETECTION ALGORITHM

Earlier methods assumed that a group of users having similar taste already exist in the system. But, it is possible that
the existing system might be implemented in such a manner that it does not divide the users into groups. In such
a situation, we need some mechanism to identify a group
of similar users. This paper [1] studied how to automatically detect groups of similar users. After identifying all
the possible groups, they implemented an algorithm which
generates group recommendations. The group detection algorithm had four key steps. They found out that the quality
of the results is directly proportional to the number of groups
created by the algorithm.

3.1

Finding the similarity of users

The algorithm starts by taking rating matrix, which contains a column for each user and the ratings given by that
particular user to each item along the rows, as input. Then,

the standard cosine similarity metric was used to find similarity among any two users, say u and v. The equation is as
follows:
uv
simuv = cos(u, v) =
kukkvk

rating. Thus, the group rating for item i, denoted by ri is


given by:
Pk
j=0 rj .tij
ri = Pk
j=0 tij

Similarity value was computed for every possible pair of


users. The output of this step was a similarity network,
where each node represents a particular user and a weighted
edge represents how similar the two adjacent nodes i.e., users
were. The edges of the similarity network suffered from
noise, which lead to ambiguities in group detection. Considering the example of movie recommender system, there
may exist a critic who rates a movie which he likes as 5,
while another critic who rates a movie he likes as just 4.
This example demonstrates that different people may have
different rating scales. To deal with this, a parameter called
noise was used. This noise was subtracted from every edge.

where k is the number of items in the top similar list.

3.2

Detecting groups

In order to detect communities, a group detection algorithm


was used which took the user similarity network as input.
This method is based on a heuristic method of weighted
modularity optimization. It can handle networks having
even millions of nodes efficiently. Essentially it creates a tree
which hierarchically divides users into groups of increasing
levels, as output. Thus, the algorithm classified the users
into groups use by the group recommendation algorithm.

3.3

Predicting ratings for items not rated by


enough group members

The algorithm then computed ratings that a group of users


may give to an item such that every such item was rated by
at least co-ratings percent members. Co-rating is a parameter which represents the minimum percentage of group members who have rated an item. For each item, the arithmetic
mean of the ratings of all the group members is calculated.
Hence, for each item i, the corresponding rating r is given
by the following equation:
ri =

n
1X
ru
n u=0

where n is the number of members in the group who had


earlier rated item i and ru is the rating given by user u to
that item. The calculated value becomes the group rating
for that item.

3.4

Predicting ratings for rest of the items

In the previous step, it was not possible to predict rating for


all those items which do not satisfy the minimum percentage
condition. For all such items which failed this test, item
similarity for each item pair was computed. The similarity
between item i and item j, denoted by, sij can be measured
with help of the cosine similarity metric. The similarities
were stored in a network called items similarity network.
For each item which was not rated by the group, a list of
top k similar items w.r.t. the item under consideration was
produced. The rating for that unrated item was predicted
by making use of its top similar item list along with the

In order to make reliable predictions a trust parameter was


used. It indicated the minimum value required by the mean
of the top similar items in order to be considered reliable.

4.

CONSIDERING INTERACTIONS AMONG


GROUP MEMBERS

All previously proposed group recommenders consider ratings given to available items by individual users of the group.
Such systems have been successful in the past, however, considering the dawn of the internet age and the explosion in
the amount of networking and group activity that every average internet user is involved in, these recommenders fall
short. The most important factor leading to the above conclusion is the magnitude of social influence. Individuals in
groups are constantly being influenced by every action taken
by other members of the group. Leadership as well as majority of opinion also has major effect on how a user behaves
and how his/her likes and disliked transition over a period of
time. A good recommendation system should take all these
interactions[3] into account before making predictions and
recommendations for other users of the group. Thats why
a group recommendation engine should thoroughly consider
all integration within a group instead of simply aggregating
the user ratings given by each user.

4.1

Current approach towards item ratings

Presently, collaborative filtering based group recommender


approaches can be broadly classified into three types. They
are enumerated below:
Employing a pre-defined aggregation strategy
This approach is motivated by a pre-concieved notion
about the group and an aggregation function is predefined for every possible test-case that the group will
be a part of. In such an approach, all user ratings
for specific items from a group of users is aggregated
over a weighted pre-defined function and the resulting output is matched with user specified thresholds
in-prder to draw conclusions over which items will be
chosen for recommendations. The drawback of such
an approach is that not all items are rated by every
user. In worst cases, an item may not be rated by
any user at all and in such cases the approach fails.
Also, it is already established the fact that a good recommendation system should thoroughly consider the
interactions between individual members of the group,
which this method fails to follow.
Gathering additional details from users
In many scenarios, availability of meta-data apart from
absolute item ratings has proven to improve the accuracy of the results. In this case, users are asked for
specific information regarding their interactions with
the group and how exactly are their ratings relevant
to the items they are interacting with. This additional

information is then used for generating more accurate recommendations for other members of the group.
Though this method seems to follow up on the notion
of considering group interactions along with user ratings, it involves an increased amount of time and effort
which might not always be a viable option. Thus, this
method too fails to meet the criteria for an improved
group recommendation system.
Involving Domain experts
This method involves using domain experts to monitor
and channel the aggregation and combination process
of the user ratings. The involvement of such expertise
leads to obvious disadvantages of increased time and
effort. However, dependence on such expertise means
the integrity of the results entirely rest on the competency of the experts. Hence, this approach is also
limited in its practicality. . . .

4.2

We can conclude from this information that u2 is an


influential user of the group whose ratings are favored
by other users. Hence during aggregation, we will supply higher weights to u2 s ratings in order to improve
the efficacy of the system.
Considering the previous section that details the current
approaches being used, the above suggested system clearly
scores higher in terms of practicality as well as experimental promise. It does not consider only single user ratings,
nor does it expect users to provide additional information
and most of all, it does not rely on any specific users of the
system to improve the accuracy of the recommendations.

4.3

Supporting studies being used

Following two works form the core basis for the functioning
of this system and the current section aims to detail them
in brief.

Proposed approach towards considering group


4.3.1 Collaborative Filtering
interactions

It is assumed that data being supplied as input to the system will contain pre-ordered sets of item ratings which are
mapped to individual members which are in turn mapped
to individual groups. Following is a quick explanation of the
terminologies used.
Let G be the group of users being studied.
Let U be the set of all users in the system.
So, U = u1 , u2 , u3 , ..., un where ux is a user of the system.
GU
Let I be the set of items being studied in the group.
So, I = i1 , i2 , i3 , ..., im where ix is a target item.
The primary difference of this approach is that:
It will not depend on additional information provided
by users
It will not depend on domain experts guiding the result
aggregation . . .
Previous researches made recommendation prediction solely
based on individual item ratings by users of the group. However, this approach will also use ratings given to items collectively for a group. Such ratings can help identify interactions
within the group and hence help improve the accuracy of the
results.
For example, if G is a group of users u1 , u2 , u3 and let I be
the set of items i1 , i2 , i3 , i4 , i5 . Say user u2 rated item i2
as 5 and user u3 rated item i2 as 1. Also, user u2 and u3
collectively rated item i2 as 4.
R(u2 , i2 ) = 5
R(u3 , i2 = 1
R(u2, u3, i2) = 4
Direct conclusions about the behavior of the group can be
made from the above data as follows:
User u2 clearly favors item i2 due to his high rating
for the said item
User u3 on the other hand does not highly favor item
i2
When looking at their collective rating however, we
see that they rate the item relatively higher than the
average of what the two users have individually rated
the item

Personalized recommendation systems based on collaborative filtering[5] can be generally classified into the following
categories:
Collaborative Recommendations
Collaborative recommendations take into consideration the fact that individuals with similar tastes will
these similarities in many other scopes as well. Hence,
if two persons are found to be of similar taste(belonging
to the same group), if one of them is interested in item
I, it is highly likely that the other person will also be
interested in item I and hence item I can be suggested
as a recommendation to him/her. These techniques
are widely used and form the fundamental basis for
many popular recommendation systems.
Content-based recommendations
These recommendations considers the similarities of
items rather than those of users. Hence, if an individual has been found to rate high on specific items, then
all similar items to that item can be said to be likely
candidates for recommendation. Such approaches are
widely used on social networks and e-commerce web
portals.
Hybrid approaches
These approaches combine the above two, namely collaborative recommendations as well as content-based
recommendation to provide highly user aware as well
as item aware recommendations to users. Such methodologies eliminate many of the potholes discovered in
previous attempts at recommendation systems.

4.3.2

Genetic Algorithm

The Genetic Algorithms is in fact a searching technique that


is based on natural laws and principles of genetic selection
and natural survivalism. Such methods are very effective,
especially with use cases have a very large cardinality. Basically, the genertic algorithm treats every piece of data as a
chromosome. Each chromosome will be composed of many
genes. The data needs to be encoded in this format inorder
to be used by the genetic algorithm. The encoding functionality tried to find an appropriate method for mapping input
data to chromosome strings. A population in this context is
defined as a collection of arbitrary chromosomes. The steps
can be enumerated as follows:

Encoding the data and mapping it to chromosomes


Segregating the chromosomes into populations
Fitness function evaluation (used for determining quality of chromosome)
Genetic operators
The genetic operators are used for recursively reproducing
next generations of chromosomes in such a way that each
child chromosome will inherit the target attributes from its
parent. Two parent chromosomes can also combine to create
a crossover offspring. A mutation operator will randomly
modify parts of a chromosome or its constituent gene to
ensure that no parent is cloned into its offspring.

4.4

Proposed methodology

Consider again the terminologies discussed in section 4.2:


Let G be the group of users being studied.
Let U be the set of all users in the system.
So, U = u1 , u2 , u3 , .., un where ux is a user of the system.
Let I be the set of items being studied in the group.
So, I = i1 , i2 , i3 , ..., im where ix is a target item.
GU
| G | is number of members in group G.
For example, if group G is defined as G = u7 , u12 , u9 , u2 , u4
then | G |= 5.
Input to the system will be data sets I,U and G.
Step 1: Calculate possible neighborhood of ip
The nearest neighbor technique is used in this step to calculate all possible neighbors of ip i.e all items similar to ip .
The Pearson correlation is used for calculating this similarity between items. A pre-determined threshold is used for
calculating Let Iz be the set of all such items resultant from
step 1.
Step 2 : Filter possible neighbors from the approximated
neighborhood Iz
Here, for each item iz in Iz , we will do the following:
Has the group G rated the item iz ?
If no, then apply the filter to determine whether the
item qualifies to be a neighbor of ip .
If yes, add it to Iz . If no, then it cannot be a neighbor
of ip , discard it.
For Iz , estimate the members ratings for each item
iz .in Iz .

5.

GROUP RECOMMENDATION IN ONLINE


SYSTEMS

Large communities of users exist over the internet regularly


ideas, exchanging data and most importantly querying for
more data. A critical factor for the survival of such communitites is retention factor which can be improved only by
increasing the amount of quality data being shared in the
community and an online group recommender is precisely
supposed to work in this area. All previous individual and
group recommendation systems were focused on offline systems and hence a more suitable approach for online communities is required. Typical collaborative filtering techniques
were used for generating base recommendation sets for online groups of users[4]. A second filter pass was made over
this generated result set to remove all irrelevant results and
improve overall satisfaction of each h member of the group as
well as the group on whole. Thus, the GR O(Group recommender for Online Communities) works in two passes. The
first pass uses a profile based filtering method for generating
results satisfactory to the overall group. This includes three
steps
Group profile generation
Neighbor group formation
Top-n candidate set creation . . .
The second pass employs individual profile based filtering in
order to minimize the dissatisfaction of the individual group
members. This step consists of two steps:
Relevance evaluation
Final recommendation set generation . . .

5.1

5.2
Step 3: Predict the groups rating by calculating a weighted
average of all the ratings.
Step 4: If the rating is above a certain pre-determined threshold then include the item in probable recommendation list.
Step 5: Sort the list in decreasing order of weighted rating
aggregation and server them to the user as recommendations.

4.5

Comparison of results

Experimental data over large data sets such as 20 <= |G| <=
100 have shown that the presence of ratings for items given
by users as a group along with individually rating the item
vastly improves the accuracy of the genetic algorithm. Results show an average precision of 0.8 for such grouped rating
over the 0.7 observed for data sets with only individual item
ratings.

Related work

As with almost every other technology in the field of group


recommendation, this system banks heavily on collaborative filtering and other previously developed systems such as
PolyLens (OConnor et al., 2001), Pocket RestaurantFinder
(McCarthy, 2002), Adaptive Radio (Chao, Balthrop, Forrest, 2004), TV4M (Yu, Zhou, Hao, Gu, 2006) and Flytrap
(Crossen, Budzik, Hammond, 2002). This system does not
blindly aggregate all the users ratings but instead uses the
second phase to generate recommendations for each group
member and then aggregate them into a final result set.

Group Recommendation Procedure

As discussed before, the system works in two passes which


are described in detail below.

5.2.1

Pass I: group-based filtering

In the context of this system, a user-profile is simply a description of the users interests and or preferences which will
form the core input for the collaborative filtering recommender. All user profiles are merged into a group profile as
follows:
If pci k = 1 - if user c belonging to group i is interested in
item k
pci k = 0 - otherwise
The group profile of all members c = 1, 2, ..., C is the vector
p1I k ), p2I k )... such that :
P
x
Pki = C
c=1 pi k

6.
Where k ranges from 1, 2, .., K for each book.
Once we have a groups profile, we calculate the similarities
between group profiles and find the nearest neighbors of the
group we are targeting. This is done using a typical nearest
neighbor algorithm.
For any two given group profiles a and b, the similarity between them will be denoted by s(a, b) which will be obtained
using any one of the two methods of Pearson co-efficient or
the cosine measure. Previous studies have shown the Pearson correlation to be stronger due to its immunity to ratio
and interval scaling. Once we calculate the similarities between all other groups and our target group, we select a
top few of them based on a pre-defined threshold. Finally,
we extract the top-n results from the neighborhood of the
group which forms the result item sets that the target group
is most likely to be interested in.

5.2.2

Pass 2: Filtering based in individual profiles

Many of the existing group recommenders stop after the first


phase and hence might leave some users with dis-satisfactory
results. The second pass ensures that such results are pruned
out to increase satisfaction level. This phase includes two
steps, first calculating the relevance between each member
user and each item and then filtering these items based on
the relevance.
For the first step we use the users feature based profiles
as well as item profiles from the initial data set. An item
profile will include data about the characteristics of the
item. The item profile for an item k is represented as a
vector(v1k , v2k , ..., vnk ) where,
vli = 1 - if item i contains keyword l
vli = 0 - otherwise
The feature based user profile belonging to a user u is represented as a vector q1c , q2c , ..., qnc where:
P
k
c
Qcl = K
k=1 pI k vl
In the second step we try to reduce the dissatisfaction of
members of the group by eliminating items from the result
recommendation set using the compatibility scores calculated above. Thus, the recommendation ends being biased
towards active members thus increasing the accuracy of the
predictions and reducing overall dissatisfaction with the results.

5.3

Observations

Strict experiments performed on groups of users who were


being recommended new books using the recommendation
system developed showed that the second pass indeed improved overall credibility of the result set. Varying recommendation set sizes from 5 to 20 were used to show that
the final result is being successfully modded to be biased towards more active users thus increasing the precision of the
output. Precision metric was calculated as follows:
P recision =

total selected items


total recommended items

Experiments showed that precision ranged from 0.40 to 0.63


increasing as the size of the group decreased.

CONCLUSIONS

Though a substantial amount of time and effort has been


spent in the field of effective group recommendation strategies, the area still heavily banks on traditional algorithms
such as collaborative filtering and thus inherits most if not
all the limitations of these approaches. These approached
will mainly fail in situations where data regarding user interactions with the concerned items is not explicitly available.More research is required in this field in order to remove problems such as ambiguity of recommendations, false
positives in neighborhood findings, etc. However, all the
methodologies surveyed in this paper make incremental developments on top of each other to provide quite satisfactory
results in the end thus making group recommenders a very
practical, quite effective and highly applicable system.

7.

REFERENCES

[1] S. Amer-Yahia, S. B. Roy, A. Chawla, G. Das, and


C. Yu. Group recommendation: Semantics and
efficiency. PVLDB, 2(1):754765, 2009.
[2] L. Boratto, S. Carta, A. Chessa, M. Agelli, and M. L.
Clemente. Group recommendation with automatic
identification of users communities. pages 547550,
2009. 978-0-7695-3801-3.
[3] Y.-L. Chen, L.-C. Cheng, and C.-N. Chuang. A group
recommendation system with consideration of
interactions among group members. Expert Syst. Appl.,
34(3):20822090, 2008.
[4] J. K. Kim, H. K. Kim, H. Y. Oh, and Y. U. Ryu. A
group recommendation system for online communities.
Int J. Information Management, 30(3):212219, 2010.
[5] P. Melville and V. Sindhwani. Recommender systems.
In Encyclopedia of machine learning, pages 829838.
Springer, 2010.