“可能认识的人”是基于啥算法

这个问题涉及到社交网络推荐好友的算法,需要对图的概念有一定的理解:1.单纯基于好友关系图的算法,最简单,最容易实现,最好理解:需要的数据:用户编号以及用户关系把好友关系转化成图的形式,点代表一个用户,连接两点的边代表两个用户是好友,边可以有权重,也可以没有你直接认识的朋友,叫一度好友。朋友的朋友,叫二度好友,也就是上面提到的共同好友。当然也有三度,四度朋友,看参考六度理论,可以推荐不同度数的朋友,当然二度朋友最为广泛。(即判断共同好友的数量)。比如人人网推荐好友就写着“共同好友”。这种方法最简单,需要的数据也最少。2.基友好友关系以及用户信息(行为或者兴趣爱好)的方法需要的数据:用户编号以及用户关系以及用户行为,兴趣行为数据和兴趣这些需要通过对用户的日常行为进行分析,比如提取用户的个人资料,或者聊天记录这些。得到关于该用户的上下文信息(context)。然后根据聚类算法来将用户放到不同的类别(cluster,簇)里面去,同一个簇内,你不认识的用户即可推荐。这种方法是机器学习里面比较基础的算法,相比第一种方法,需要数据更多,处理更复杂一点。这两种应该是主流推荐好友算法。
■网友
只上过算法课,略懂一些网络分析,说得不对请指正。在基本的网络分析中,对于任意一对没有直接连通路径的点都可以赋一个值,这个值等于使这两点连同的第三点的数目。社交网络中,这个第三点叫做“共同好友”。当我们给“共同好友”这个第三点的数目设定一个阈值,比如1,那么当某两个人的共同好友数目超过1的时候,我们就可以认为他俩互为“可能认识的人”。
■网友
看看facebook吧;共同好友,通讯录,同城市 所以把女朋友推广到老婆那的故事并非腾讯一家的o(∩_∩)o
■网友
关于好友推荐算法,也可以算是社交网络中的链路预测算法的应用, 两个人是否认识或是否是朋友,可以通过计算两人的相似性来计算。1)可以通过人的一些属性:年龄、爱好之类的。2)共同邻居(共同朋友)3) 路径相似性。等等。
■网友
如页面所写,共同好友


    推荐阅读