关于推荐引擎

时间:2012-01-23 09:44:19

标签: java algorithm recommendation-engine collaborative-filtering

什么是快速“如果用户A和用户B喜欢产品C,他们可能有兴趣互相关注”算法。我认为在运行时计算它们的相似性并不够智能,因为它会减慢响应速度。另一方面,计算隔夜指数将需要进行(N * N-1)个不同的运行,其中N是用户的数量......也不是非常聪明。此外,每当用户喜欢新产品或新用户注册时,都必须重新计算索引。

这里可以应用的最聪明的事情是什么?某种超快速散列,然后只添加新项目?

2 个答案:

答案 0 :(得分:0)

在我在Uni的课程中学习的算法中,有一个处理这样的事情。他们推荐的方法是为每对用户计算一个“相似性”索引(我猜这是你提到的N * N方法),然后根据这个确定特定用户最接近的用户。

当然,您不需要立即重新计算每次更改的相似性索引,只需一次,就像搜索引擎爬虫一样。实际上,一旦计算出初始索引,就可以使用各种启发式方法为更快地更改其首选项的用户重新计算,而对于那些只是很少更改它们的用户来说则更慢。

答案 1 :(得分:0)

您是否考虑过RDF数据库? 像OWLIM http://www.ontotext.com/owlim

相关问题