我有以下想法,但我不知道是否可能,所以我希望有人能告诉我是否可能。
假设我有一个包含 1000 人的图网络,每个人对书籍都有偏好。首选项不是硬编码在系统中,而是由用户自由定义。
我想根据人们对书籍的偏好对他们进行分组,并且我希望系统每晚都定义这些组。人们可以属于不同的团体,一个团体至少需要有 5 个人。
谢谢!
最佳答案
您应该阅读 using Neo4J to build a recommender system using collaborative filtering 上的这篇文章。它会给你一些具体的例子来思考。
就您的情况而言,您需要更具体地说明“偏好”是什么。这可以通过多种不同的方式进行建模,具体取决于您的需求。例如,您可以让用户“喜欢”书籍,然后可以按类型、关键字等对书籍进行分组。然后它就变成了一个集合交集问题:具有相同偏好的人是那些“喜欢”与相似关键字、流派、作者等相关的书籍的人。
您可能想阅读 music taste prediction last.fm 就是这样。在我看来,你的问题非常相似,但问题是书籍而不是音乐。
没有一种正确的方法可以做到这一点,而且这是一个复杂的问题。我建议从一个非常清晰的声明开始,说明您希望网站如何向用户显示,并提供大量示例来说明该算法会产生什么样的良好结果。您所描述的实际上并不是任何可以直接插入的可插入软件组件。
关于database - Cypher 查询 - Neo4j - 查找具有相同偏好的人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229846/