I am curious in determining an approach to tackling a \"suggested friends\" algo
ID: 647999 • Letter: I
Question
I am curious in determining an approach to tackling a "suggested friends" algorithm.
Facebook has a feature in which it will recommended individuals to you which it thinks you may be acquainted with. These users normally (excluding the edge cases in which a user specifically recommends a friend) have a highly similar network to oneself. That is, the number of friends in common are high. I assume Twitter follows a similar path for their "Who To Follow" mechanism.
Stephen Doyle (Igy), a Facebook employee suggested that the related newsfeed that uses EdgeRank formula which seems to indicate that more is to valued than friends such as appearance is similar posts. Another user suggested the Google Rank system.
Facebook states their News Feed Optimization as ?uewede where
ue = affinity score between viewing user and edge creator
we = weight for this edge (create, comment, like, tag, etc)
de = time decay factor based on how long ago the edge was created
Summing these items is supposed to give an object's rank which I assume as Igy hinted, means something in a similar format is used for suggested friends.
So I'm guessing that this is the way in which connections for all types are done in general via a rank system?
Explanation / Answer
You can think of the social graph as a matrix M. One approach to the problem is to first calculate M2, which will give all of the paths of length two between two actors in the social network. This can be seen as the weight of the connection between these friends of friends. The next step is to select the columns from the row of M2 corresponding to the person of interest to get the best candidates for new friends
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.