user473104
user473104

Reputation: 311

Social network functionality finding connections you might know

I want to create a functionality for suggesting connections in a social network.

In the network you can have connections and connect to other users.

I want to implement a connection suggestion functionality on the network.

I think the most basic approach to implement this is to check all my connections most occurring common connection that my user is not connected to and sugest this user to my user to connect to.

My questions is:

  1. Is this a good basic approach for an easy connection finder?
  2. Is there any good implementation algorithm that i can use for finding my connections most occurring user that they are connected to?

Upvotes: 1

Views: 379

Answers (1)

amit
amit

Reputation: 178411

I'd try a machine learning approach for this problem.
I'll suggest two common machine learning concepts in order to solve this problem. In order for both of them to work - you need to extract features from the data (for example look at a subgraph, and friendship with each member in the subgraph is a binary feature).

The two approaches are:

  1. Classification. In here, you are trying to find a classifier C:UserxUser->Boolean (A classifier that given two users, gives a boolean answer - should they be friends). The classification approach will require you to first manually label, or extract some classified information (A big enough set of pairs, each with a classification). The algorithm will learn this pattern, and use it to predict future inputs.
  2. Clustering (AKA Unsupervised learning). You can try and find clusters in your graph, and suggest users to be friends with all members in their cluster.

I have to admit I never used any of these methods for friendship suggestion - so I have no idea how accurate it will be. You can use cross-validation in order to estimate the accuracy of the algorithm.


If you are interested in learning more about it - two weeks ago an on line free course has started in stanford about machine learning: https://class.coursera.org/ml-2012-002

Upvotes: 1

Related Questions