美文网首页Neo4j
Neo4j 做推荐 (6)—— 加权内容算法

Neo4j 做推荐 (6)—— 加权内容算法

作者: 程序员imHou | 来源:发表于2019-08-18 16:52 被阅读0次

除了考虑计算相似性的类型之外,还有更多的特征,如演员和导演。让我们使用加权总和根据他们共同的演员、流派和导演的数量对建议进行评分,以提高分数。根据重叠特征的数量和类型计算加权和:

// Find similar movies by common genres

MATCH (m:Movie) WHERE m.title = "Wizard of Oz, The"

MATCH (m)-[:IN_GENRE]->(g:Genre)<-[:IN_GENRE]-(rec:Movie)

WITH m, rec, COUNT(*) AS gs

OPTIONAL MATCH (m)<-[:ACTED_IN]-(a:Actor)-[:ACTED_IN]->(rec)

WITH m, rec, gs, COUNT(a) AS as

OPTIONAL MATCH (m)<-[:DIRECTED]-(d:Director)-[:DIRECTED]->(rec)

WITH m, rec, gs, as, COUNT(d) AS ds

RETURN rec.title AS recommendation, (5gs)+(3as)+(4*ds) AS score ORDER BY score DESC LIMIT 100

分析:

首先把movie选择出来

把相同流派的电影找出来,并计算流派的总和

同理计算出演员和导演

根据流派占比5,演员占比3,导演占比4来计算总分值

由此得出与电影 m 具有相似特征的其他电影的排名。

运行结果如下:

加权内容算法结果

Neo4j 做推荐 (1)—— 基础数据

Neo4j 做推荐 (2)—— 基于内容的过滤

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

Neo4j 做推荐 (4)—— 基于内容的过滤(续)

Neo4j 做推荐 (5)—— 基于类型的个性化建议

Neo4j 做推荐 (6)—— 加权内容算法

Neo4j 做推荐 (7)—— 基于内容的相似度量标准

Neo4j 做推荐 (8)—— 协同过滤(利用电影评级)

Neo4j 做推荐 (9)—— 协同过滤(人群的智慧)

Neo4j 做推荐 (10)—— 协同过滤(皮尔逊相似性)

Neo4j 做推荐 (11)—— 协同过滤(余弦相似度)

Neo4j 做推荐 (12)—— 协同过滤(基于邻域的推荐)

相关文章

网友评论

    本文标题:Neo4j 做推荐 (6)—— 加权内容算法

    本文链接:https://www.haomeiwen.com/subject/ixzrsctx.html