0

我正在构建一个服务,用户可以提交他推荐/喜欢的链接“列表”(文章,网站......等),系统将向他显示他可能喜欢的其他链接列表。

在我的脑海中执行此过程的唯一想法是:

  1. 用户 A 将提交他的链接列表(例如 10 个链接)
  2. 系统将查找其他用户(比如用户 B)列表,其中用户 A 和用户 B 链接之间的链接有 80% 相同
  3. 向用户 A 显示 20% 的新链接(来自用户 B 列表)

您还有其他方法可以做到这一点吗?或者你有没有做同样事情的开源项目?

任何语言都可以,但我更喜欢 Perl、PHP、Java、SQL

4

2 回答 2

1

您的方法很容易实现。但是,当我阅读它时,您是在配对用户而不是链接。如果您在 80% 以内找不到任何匹配项怎么办?

我认为更好的方法是构建一个以链接为节点的图形,并为连接提供“相似性”分数。您根据每 2 个链接出现在同一列表中的次数来计算分数。

当您想为用户 A 进行推荐时,您会为他的每个不在其列表中的链接获得得分最高的链接。

于 2011-07-31T06:02:56.267 回答
0

我认为拥有完全相同的链接是不太可能的。更好的方法是下载每个链接并创建一个单词索引并尝试匹配内容而不是链接。很像网络搜索:)

于 2011-12-01T23:45:46.523 回答