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

标签 database graph neo4j cypher

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

假设我有一个包含 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/

相关文章:

python - 如何使用初始数据点将曲线拟合到曲线数据集?

java - Spring Data Neo4J 中是否有 Multi-Tenancy 数据源

mysql - 我们可以为 mysql 和某些特定数据库保留相同的密码吗?

sql - 从数据库中选择最大值

python - BeautifulSoup 最低共同祖先

javascript - 背景图片未出现在 Highcharts 中

java - 为 neo4j-admin 导入设置堆内存

java - 我如何在我在java应用程序中创建的Neo4j Web管理中查看索引及其节点?

mysql - 将数据库 .sql 文件导入 WAMP 服务器时出现问题(MySQL 版本 5.5.24)

php - 未定义的字体 : In Fpdf