Neo4j推荐引擎

时间:2013-03-30 13:18:15

标签: neo4j

我是Neo4J的新用户..只需一周阅读。

我正在研究使用NEO4J来创建推荐。

我们有产品目录,在产品详情页面上我们想展示类似的产品 根据不同产品的特点,累积评级,价格范围。

这些产品本身并没有相互关系,只是它们具有共同的特征。

例如 产品:iphone 特点:相机,4g等

产品:三星Note 特点:相机,4g等

如果Neo4J是这类数据的正确选择,是否有任何想法?我们想要基于功能集,价格范围,每个产品的评级

的类似产品列表

数据模型的外观如何?

3 个答案:

答案 0 :(得分:4)

您可以查看http://www.reco4j.org/,这是一个在Neo4j之上工作的推荐引擎框架。

答案 1 :(得分:2)

我建议查看像Amazon.com(或类似网站)这样的网站,看看他们如何组织他们的SKU。如果您打开亚马逊上的任何项目,您将“facets”(或对项目进行分类的方式),如:

  • 子类别
  • 品牌
  • 用户评分
  • 价格范围
  • 功能(作为关键字)

然后,您必须确定这些构面中的每一个是否更好地建模为层次结构或属性。部门和子类别看起来更像是层次结构的候选者,而品牌和特征看起来更像是物业的候选者。

部门和子类别看起来像树木,树的叶子就是你的所有SKU。

然后,您的“相似性”功能可能就像“产品属于同一部门/子类别并且至少匹配50%的功能”一样简单。

希望这有帮助,这只是我最初的想法。

答案 2 :(得分:1)

有几种选择:

  • 您可以通过查找类似用户(通过他们的操作/购买历史记录/评级)来推荐这些类似用户已购买的内容,请参阅:http://docs.neo4j.org/chunked/milestone/cypher-cookbook-similar-favorites.html
  • 您可以简单地列出属于同一类别且具有相似属性的其他产品(如果您可以将属性作为节点而不是属性拉出来,那么它就更好了,因此更容易匹配它们)
  • 你可以列出对于已经购买过的产品很有用的产品(向刚购买相机的人推荐相机是没有意义的,而不是为他买的东西配件)
  • 如果您没有初始购买数据,您只需列出类似人口统计(性别,年龄等)排名较高的产品