寻找潜在匹配的算法

3

我需要找到一个算法来在社交网络中寻找最佳匹配。这个系统是一个大学生社交网络,基本上主要的想法是为一个班级找到一个学习伙伴。我们的想法是根据不同的标准(例如共同课程、GPA、评分、共同时间表等)向用户建议可能的最佳伙伴。我想知道使用什么样的最佳算法。


实现将取决于“最佳伙伴”的定义方式。最佳伙伴是否总是具有最高GPA和评级的人,是否是最接近班级平均水平的人,用户自己是否可以影响标准?一些搜索方法在大型用户群体中运行需要很长时间,因此您需要小心处理。 - Matti Lyra
3个回答

2
这个问题被称为协同过滤。协同过滤系统可以通过计算您的偏好与其他人的偏好之间的相似度来产生个性化的推荐。
有很多关于这种技术的信息。您可以从这个演示文稿开始。

1
也许某种聚类算法可以帮助解决问题。那些向量(如常见课程、GPA等)相似的人将被聚集在一起。

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

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接