The document discusses using community detection techniques on social networks to improve recommendation systems. It describes how finding communities of users with similar interests allows predicting what products or content those users may like. This helps address the "cold start" problem of having insufficient data for new users. The document outlines modeling the social network as a hypergraph and using a local community detection algorithm to identify communities, which are then used to make collaborative recommendations based on similarities between users.
2. Why community detection?
• People who have similar interests tend to
buy similar products.
• Using community detection techniques,
collective behavior of users is predictable.
• Clustering Web clients who have similar
interests may improve the performance of
services.
• Helpful to mitigate cold start problem.
3. What is a community?
• A community is a collection of users that are
more closely related to each other than the
rest of the network.
• The relation between users can be amount of
interaction, similar interest,geographical
factors etc.
• Here we find communities of the users having
similar interests.
4. Cold start problem
• When a user is new to a system,not enough
data is available about the user’s preferences,
he/she has not yet rated enough number of
items.
As a result, the recommendation system
cannot recommend any items to such a user.
5. Solution
• If a user is new in one system, but has a history in
another system, we can use his/her external
profile to recommend relevant items, in the new
system, to this user.
• As an example, consider a new user in youtube,
of whom we are aware of his/her profile in Face-
book. A comprehensive profile of the user can be
produced by the movies he/she posted, liked or
commented on in Face- book and this profile can
be used to recommend relevant movies in
youtube to the same user.
6. Modeling of the social network
• This particular type of social network is a two
mode affiliation network.
• Affiliation networks are two mode,but have
only one set of actors.The second mode in an
affiliation network is a set of events.
• Such networks cannot be efficiently
represented as simple graphs.
• So we use hypergraphs.
7. Hypergraphs
• They are like simple graphs, except that instead of
having edges that only connect 2 vertices, their
edges are sets of any number of vertices. This
happens to mean that all graphs are just a subset of
hypergraphs.
• Here hyperedge e1 has 3 vertices v1, v2, and v3, E2
has v2 and v3, E3 has v3, v5 and v6, E4 has v4
8. Why not ordinary graphs?
• Hypergraphs facilitate proper representation
of all kinds of objects involved in a social
network and high order relationships between
these objects.
• The users of the social networks are modeled
as vertices and edges represent the
relationship between them.
• With hypergraphs more information can be
incurred from the network.
9. Implentation
• Data Extraction from facebook.
• Forming hypergraph.
• Local community detection algorithm.
• Making recommendations
12. Algorithm
Finding local maximal degree nodes
Community expansion
• Modularity:- Modularity is defined as the actual edge weights in the cluster minus
the expected edge weights in the cluster as if the edges are randomly placed
between vertices with an expected probability.
Merge communities
13. • Algorithm1
• Input: A social network G = (V, E)
• Output: A communities set C
• Step 1. Find the local maximal degree nodes in G, put the local maximal degree nodes in set H.
• Step 2. For each node hi in H, using Algorithm 2 to discover a local community Ci. put all the
identified local communities into the set C.
• Step 3. If the identified local communities do not cover the whole network, remove C from G. Let H
be empty set and go back to Step 1.
• Step 4. If the identified local communities cover the whole network, merge the communities with
high similarity in C.
• Step 5. Return C as the communities set of network.
• Algorithm2
• Input: A social network G and a local maximal degree node hi.
• Output: A local community Ci for hi
• Step 1. Put hi in Ci,
• Step 2. Add to Ci the neighbor node vi of hi that results in the largest increase in modularity and has
the greatest common neighbors with hi,
• Step 3. Add to Ci the neighbor node vi of Ci that results in the largest increase in modularity,
• Step 4. Repeat Step 3 until there are no nodes left that increase modularity when the node was
added to the communities.
14. Making recommendations
• Once the communities are available next step
is to make recommendations of the items that
the may like .
15. Ways to recommend
Types of recommendation systems-
• Content based filtering- based on a description of the
item and a profile of the user’s preference.Eg bayesian
classification.Uses Direct feedback from a user, usually
in the form of a like or dislike button.
• Collaborative filtering-collecting and analyzing a large
amount of information on users’ behaviors, activities
or preferences and predicting what users will like based
on their similarity to other users.
• Hybrid recommendation systems
16. Collaborative filtering
• Collaborative filtering-They are based on
usage or preference patterns of other users.
• - People who agreed in the past will probably
agree again.
Here we have used community detection as a
collaborative filtering technique.
18. To give best recommendtion-Content
based filtering
• For example we want to recommend movies
for a user whose profile is ready with us.He
has like 3 movies wolverine,serendipity and
hangover.
• Now we need to find which movie out of the
three (xmen,hulk or avengers) will the user
like the most.
• This is done using naive bayes classifier.
19. Naive bayes Classifier
• Naive Bayes classification is a machine-
learning technique that can be used to predict
to which category a particular data case
belongs.
• Bayes theorem:
P(C|X) = P(X|C)·P(C) / P(X)
X is the tuple to be tested.
C is the class.