基于电影主题的个性化推荐算法(Personalized Recommendations Based on Genres)
——推荐与用户已观看的电影相似的电影。
这个算法的基础是我们首先需要知道相同主题的电影有哪些。
就是把问题分解成两部分,一个人看过的电影+这个看过电影相同类型的别的电影
1.一个人看过(评价过)的电影
MATCH (u:User {name: "Angelica Rodriguez"})-[r:RATED]->(m:Movie) RETURN m
这个就是"Angelica Rodriguez"评价过的电影m
2.这个看过电影相同类型的别的电影
MATCH (m:Movie)-[:IN_GENRE]->(g:Genre)<-[:IN_GENRE]-(rec:Movie) WHERE m.title = "Inception" RETURN rec
这个是"Inception"电影类型相同的电影rec
最后两段拼在一起:
MATCH (u:User {name: "Angelica Rodriguez"})-[r:RATED]->(m:Movie), (m)-[:IN_GENRE]->(g:Genre)<-[:IN_GENRE]-(rec:Movie) WHERE NOT EXISTS( (u)-[:RAT