我有一个数据库,其中有三个表设置如下:
用户:username,user_id
产品:product_name,product_id
User_Products :product_id,user_id,relation_level
这些都非常简单,当用户点击“喜欢”某个产品时,会询问他们喜欢多少(评级为1-5)并将该信息存储在User_Products表中,并存储Products表中的product_id ,Users表中的user_id和relation_level基于他们对产品的喜欢程度。
我想要做的是根据用户喜欢的产品和他们喜欢的产品,获得喜欢类似产品的用户以及找到用户不知道的产品,为用户可能喜欢的产品提供建议,根据喜欢他们的人数和他们喜欢的水平。
有没有人有任何想法我能做到这一点?
答案 0 :(得分:0)
这听起来像是最经典和规范的推荐引擎问题。 Apache Mahout有一个完整的推荐引擎框架,包括一个易于试验的简单的非分布式非Hadoop版本。
特别是,您只需要插入一个基于JDBC的DataModel
实现来启动以读取您的数据。剩下的就是几行代码。
现在,我知道你说过PHP。 Mahout是Java。但您可以将其设置为PHP可以访问的Web服务。