协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息
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》 进行过评分的用户,还对哪些电影进行过评分?并对这些被评分的电影,进行评分次数的累加并排名。
这就是通过简单的协同过滤,来看拥有相同兴趣的用户,他们还有哪些共同的喜好。
当然目前这样处理,还不够严谨,后续我们会添加更多的条件或者指标权重加以调整。
网友评论