Cypher查询 - Neo4j - 查找具有相同偏好的人

时间:2014-12-01 13:49:17

标签: database graph neo4j cypher

我有以下想法,但我不知道它是否可能,所以我希望有人可以告诉我是否可能。

我们说我有一个包含1000人的图表网络,每个人都有关于书籍的偏好。偏好不是在系统中硬编码,而是由用户自由定义。

我想根据他们对书籍的偏好对人们进行分组,我希望系统每晚定义这些组。人们可以成为不同群体的一部分,一群人需要至少有5个人。

谢谢!

1 个答案:

答案 0 :(得分:3)

您应该在using Neo4J to build a recommender system using collaborative filtering上阅读这篇文章。它会给你一些具体的例子来思考。

在您的情况下,您需要更具体地了解"偏好"是。这可以通过许多不同的方式建模,具体取决于您之后的情况。例如,您可以拥有用户"喜欢"书籍,然后书籍可以按流派,关键字等分组。然后它成为一个集合的交叉问题:具有相同偏好的人是那些喜欢"喜欢"书籍链接到类似的关键词,流派,作者等。

您可能希望了解last.fm的music taste prediction。在我看来,你的问题非常相似,但是用书而不是音乐。

这不是一种正确的方法,而且这是一个复杂的问题。我建议首先明确说明您希望网站向用户显示的方式,以及该算法的良好结果的大量示例。您所描述的并不是任何可插入的软件组件。