【问题标题】:How to suggest friend lists for facebook user based on mutual friends?如何根据共同好友为 facebook 用户推荐好友列表?
【发布时间】:2011-04-30 13:18:39
【问题描述】:

我正在构建一个应用程序,根据他/她与每个朋友的共同朋友为 facebook 用户推荐朋友列表。我的想法是这样的:

http://i219.photobucket.com/albums/cc213/DoSvn/example03.png

我可以得到 A 的所有共同朋友和他/她的每个朋友(b1,b2...)。它是 b1, b2... (c1, c2...) 之间的交集 我想将朋友分成一些组,例如:

b1、b2、b3 为一组; b1、b4为一组; b5、b6为一组; b7, b8 一组

也许只选择了 b1、b2、b3 的组,因为它更大,因为 b1 也在另一个组中。我尝试了一个想法:

  1. 创建多个组(我尝试了 200 个),每个组包含一些共同朋友的列表(它是“c”,我尝试了 5 个)。
  2. 与组一起,找出交叉点并将其推入另一个列表。
  3. 在第 2 步之后,我有一个包含交叉点的列表。我根据每个交叉点的大小进行排列,得到最大的交叉点(我尝试了 3 和 5)。
  4. 每选择一个路口,我就找出有共同好友的好友包含该路口并推入一个群组。

我就是这样做的。但是我随机选择了“c”,所以结果并不准确。因为我的初级朋友列表最大,所以他们总是出现在结果的 3 或 4 组中。你有什么主意吗 ?谢谢 :) 很抱歉我的解释很糟糕 :)

【问题讨论】:

  • 这是一个有趣的问题。我读到他们如何在 facebook 中创建朋友列表作为一项功能,但人们懒得创建它们。

标签: algorithm facebook


【解决方案1】:

在图聚类方面有很多工作可能会有所帮助。您可以将每个人建模为一个顶点,在朋友之间有一条边(可能根据他们的“亲密程度”来衡量,例如,他们交换消息的频率)。然后使用图聚类划分顶点集以获取组。 (Ut 不必是一个分区,例如,您可以寻找在它们之间具有高权重边的顶点子集。)

来自明尼苏达大学的hMetis 系统实现了许多划分图的策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    相关资源
    最近更新 更多