基于内容的过滤(Content-based filtering):该技术通过比较商品之间的相似性或者相关性进行推荐。这种方式忽略用户的购买行为,只考虑商品之间的相似关系。
1
2 MATCH p=(m:Movie {title: "Net, The"})-[:ACTED_IN|:IN_GENRE|:DIRECTED*2]-()
RETURN p LIMIT 25
运行结果如下图:
分析:
Cypher 语句的意思是:找出25条记录,该记录满足以下条件之一:
- 该记录中的电影是电影m 有相同的流派(IN_GENRE)
- 出演过电影m的演员,出演过该电影(ACTED_IN)
- 执导过电影m的导演,执导过该电影(DIRECTED)
注意:此语句返回的记录P,是一条关系链,并不仅仅是某一部电影。
另外,关系的运算,用到了 | 或。:DIRECTED*2 中的 *2 表示关系长度为2的关系。
这里举个例子:
1 MATCH p=(m:Movie {title: "Net, The"})-[:DIRECTED]-() RETURN relationships(p) as r
返回结果:
╒════╕
│"r" │
╞════╡
│[{} ]│
└────┘
1 MATCH p=(m:Movie {title: "Net, The"})-[:DIRECTED*2]-() RETURN relationships(p) as r
返回结果:
╒═══════╕
│"r" │
╞═══════╡
│[{},{}]│
├───────┤
│[{},{}]│
├───────┤
│[{},{}]│
├───────┤
│[{},{}]│
└───────┘
1 MATCH p=(m:Movie {title: "Net, The"})-[:DIRECTED*]-() RETURN relationships(p) as r
返回结果:
╒═══════╕
│”r” │
╞═══════╡
│[{}] │
├───────┤
│[{},{}]│
├───────┤
│[{},{}]│
├───────┤
│[{},{}]│
├───────┤
│[{},{}]│
└───────┘
从上面可以看出,[:DIRECTED] 表示一层关系, [:DIRECTED*2]表示2层关系,[:DIRECTED*] 表示任意多层关系。
- Neo4j 做推荐 (1)—— 基础数据
- Neo4j 做推荐 (2)—— 基于内容的过滤
- Neo4j 做推荐 (3)—— 协同过滤
- Neo4j 做推荐 (4)—— 基于内容的过滤(续)
- Neo4j 做推荐 (5)—— 基于类型的个性化建议
- Neo4j 做推荐 (6)—— 加权内容算法
- Neo4j 做推荐 (7)—— 基于内容的相似度量标准
- Neo4j 做推荐 (8)—— 协同过滤(利用电影评级)
- Neo4j 做推荐 (9)—— 协同过滤(人群的智慧)
- Neo4j 做推荐 (10)—— 协同过滤(皮尔逊相似性)
- Neo4j 做推荐 (11)—— 协同过滤(余弦相似度)
- Neo4j 做推荐 (12)—— 协同过滤(基于邻域的推荐)
作者:imHou
来源:CSDN
原文:https://blog.csdn.net/lovehouye/article/details/83026113
版权声明:本文为博主原创文章,转载请附上博文链接!
在 “Neo4j 做推荐 (2)—— 基于内容的过滤” 上有 4 条评论
评论已关闭.