【问题标题】:Recommendation engine using collaborative filtering in Python在 Python 中使用协同过滤的推荐引擎
【发布时间】:2023-03-13 11:10:01
【问题描述】:

我开发了一个餐馆搜索引擎。我有一个社交网络,用户可以在其中添加朋友、组成群组并互相推荐餐馆。每个餐厅可以提供多种美食。所有这些都在 Python 中。

因此,根据用户推荐的餐厅,我们可以将用户可能更喜欢的美食类型归零。同时,我们会知道用户更有可能探索哪个价位(高端、快餐、咖啡厅、休息室等)

他的朋友会推荐一些比较有分量的地方。有类似的非朋友用户推荐了一些用户推荐的餐厅和一些用户没有推荐的餐厅。

最终的问题是根据以下内容向用户推荐餐厅: 1)他推荐过的(其他类似菜系的餐厅)——50%权重 2)他的朋友推荐的(过滤提供用户最喜欢的菜系的餐厅) - 25% 权重 3) “相似”非好友用户的公开推荐 - 25% 权重。

我花了很多时间阅读 Neo4j,我认为 Neo4j 看起来很有前途。除此之外,我尝试了 pysuggest,但它不适合上述问题。我也尝试过 reco4j,但它是基于 Java 的解决方案,而我正在寻找基于 Python 的解决方案。 Reco4j 社区也没有任何活动,并且仍在开发中。

虽然我已经研究了很多,但我可能会遗漏一些东西。

我想知道您将如何实施上述解决方案?你能给出任何相同的用例吗?

【问题讨论】:

  • 你看过py2neo吗?这是从 python 与 Neo4j 交互的首选方式。

标签: python algorithm neo4j recommendation-engine


【解决方案1】:

我认为您不会为您的问题找到任何开箱即用的解决方案,因为它非常具体。你可以用 Neo4j 做的是存储你用于构建推荐的所有数据(用户、友谊链接、用户的餐厅推荐和评论等),然后在这些数据上构建你的推荐引擎。根据我的经验,一旦您在 Neo4j(使用 Cypher 或 Gremlin)中获取了所有数据,就很容易做到这一点。

【讨论】:

    猜你喜欢
    • 2010-12-03
    • 2012-02-15
    • 2015-03-17
    • 2011-02-11
    • 2016-05-08
    • 1970-01-01
    • 2012-02-11
    • 2012-01-09
    • 2021-04-24
    相关资源
    最近更新 更多