Neo4j 做推荐 (3)—— 协同过滤

协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息


1
2
MATCH (m:Movie {title: "Crimson Tide"})<-[:RATED]-(u:User)-[:RATED]->(rec:Movie)
 RETURN rec.title AS recommendation, COUNT(*) AS usersWhoAlsoWatched ORDER BY usersWhoAlsoWatched DESC LIMIT 25

执行结果是:

协同过滤
协同过滤

分析:

此Cypher 语句的意思是:找出对电影《Crimson Tide》 进行过评分的用户,还对哪些电影进行过评分?并对这些被评分的电影,进行评分次数的累加并排名。

这就是通过简单的协同过滤,来看拥有相同兴趣的用户,他们还有哪些共同的喜好。

当然目前这样处理,还不够严谨,后续我们会添加更多的条件或者指标权重加以调整。

作者:imHou
来源:CSDN
原文:https://blog.csdn.net/lovehouye/article/details/83027137
版权声明:本文为博主原创文章,转载请附上博文链接!