【问题标题】:Algorithm for finding potential matches寻找潜在匹配的算法
【发布时间】:2010-01-18 19:40:15
【问题描述】:

我需要查找和算法来找到社交网络中的最佳匹配。该系统是一个大学生社交网络,主要思想是为班级寻找学习伙伴。这个想法是根据不同的标准向用户建议哪些是潜在的最佳合作伙伴,例如共同课程、GPA、评级、共同时间表等。我想知道什么是最好的算法。

【问题讨论】:

  • 实施将取决于如何定义“最佳合作伙伴”。最好的伙伴总是GPA和评分最高的那个,最接近班级的那个意味着,用户自己会影响标准吗?一些搜索方法需要很长时间才能为庞大的用户群运行,所以你要小心。

标签: algorithm match social-networking


【解决方案1】:

这样的问题称为协同过滤。协同过滤系统可以通过计算您的偏好与其他人的偏好之间的相似性来生成个人推荐。

有很多关于这种技术的信息。你可以从好的presentation开始。

【讨论】:

    【解决方案2】:

    也许某种clustering 算法会有所帮助。那些向量(普通类、GPA 等)相似的人将聚集在一起。

    【讨论】:

    • 我检查了其中一些,但大多数情况下它们都使用定量值,但是当标准不是数字时会发生什么?
    • 取决于标准是什么。如果它是一个主题,您可以简单地枚举该主题。例如,计算机科学 = 0,化学 = 1,物理 = 2 等等......然后当结果出来时,您可以简单地将数字转换回它们的字符串格式。由于这是在寻找相似性,只要枚举始终保持一致(并且向量保持相同的顺序),那么它应该没问题。
    • 另外,这个网站:people.revoledu.com/kardi/tutorial/index.html 有一些很棒的教程和文章。您可能想在该网站上查找多元系统,因为它会解释如何使用不同类型的数据。
    • 如果条件不是数字,您始终可以得出匹配分数。一个简单的例子是分类数据——比如 {apple,orange,peach}——你给 1 表示完全匹配,0 表示不匹配。您可以对此进行更改(例如,如果橙子和苹果比橙子和桃子更接近,那么您将分别给出 0.5 和 0 分)
    【解决方案3】:

    您可能想从查看recommendation systemsnearest neighbor search 开始。

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2019-08-31
      • 2012-10-04
      • 2011-03-01
      • 2015-08-28
      • 1970-01-01
      相关资源
      最近更新 更多