【问题标题】:How do I adapt my recommendation engine to cold starts?如何使我的推荐引擎适应冷启动?
【发布时间】:2010-01-02 19:11:22
【问题描述】:

我很好奇有什么方法可以克服“冷启动”问题,即当新用户或项目进入系统时,由于缺乏有关该新实体的信息,因此进行推荐是一个问题。

我可以考虑做一些基于预测的推荐(如性别、国籍等)。

【问题讨论】:

    标签: prediction recommendation-engine cold-start


    【解决方案1】:

    您可以冷启动推荐系统。

    推荐系统有两种;协同过滤和基于内容。基于内容的系统使用有关您推荐的内容的元数据。那么问题是什么元数据是重要的?第二种方法是协同过滤,它不关心元数据,它只使用人们对某个项目所做或所说的内容来进行推荐。使用协同过滤,您不必担心元数据中的哪些术语很重要。事实上,您不需要任何元数据来进行推荐。协同过滤的问题在于您需要数据。在获得足够数据之前,您可以使用基于内容的推荐。您可以提供基于这两种方法的推荐,并且在开始时 100% 基于内容,然后随着您获得更多数据开始混合基于协同过滤。 这就是我过去使用的方法。

    另一种常见的技术是将基于内容的部分视为简单的搜索问题。您只需将元数据作为文档的文本或正文放入,然后为您的文档编制索引。您可以使用 Lucene 和 Solr 做到这一点,而无需编写任何代码。

    如果您想了解基本协同过滤的工作原理,请查看 Toby Segaran 撰写的“编程集体智能”的第 2 章

    【讨论】:

    • 这是最好的答案,确实值得勾选。我要补充一点,bandit 算法可以在发现新产品的基准费率或确定基于内容的方法和协作方法之间的权衡方面发挥作用。
    【解决方案2】:

    也许有时您不应该提出建议? “数据不足”应该属于这些时间之一。

    我只是不明白基于“性别、国籍等”的预测建议将如何超越成见。

    IIRC,亚马逊等地方在推出推荐之前建立了一段时间的数据库。这不是你想弄错的事情。有很多关于基于数据不足的不适当建议的故事。

    【讨论】:

      【解决方案3】:

      我自己正在解决这个问题,但是这篇来自微软的关于玻尔兹曼机器的论文看起来很有价值:http://research.microsoft.com/pubs/81783/gunawardana09__unified_approac_build_hybrid_recom_system.pdf

      【讨论】:

        【解决方案4】:

        这已经被问过好几次了(当然,我现在找不到这些问题了:/,但一般的结论是最好避免这样的建议。在世界的各个地方,同名属于不同的性别,等等...

        【讨论】:

          【解决方案5】:

          基于“类似用户喜欢...”的推荐显然必须等待。如果您绝对致力于根据用户相似性进行预测,则可以向调查对象发放优惠券或其他奖励。

          还有另外两种冷启动推荐引擎的方法。

          1. 自己构建模型。
          2. 让您的供应商填写骨架模型的关键信息。 (也可能需要 $ 奖励。)

          所有这些都有很多潜在的陷阱,这些都是常识,无法提及。

          正如您所料,这里没有免费的午餐。但是这样想:推荐引擎不是商业计划。他们只是增强了商业计划。

          【讨论】:

            【解决方案6】:

            解决冷启动问题需要做三件事:

            1. 必须对数据进行分析,以便您具有许多不同的特征(对于产品数据,用于“特征”的术语通常是“分类方面”)。如果您没有正确地分析数据,那么您的推荐引擎将保持“冷漠”,因为它没有任何东西可以用来对推荐进行分类。

            2. 最重要的:您需要一个用户反馈循环,用户可以通过该循环查看个性化引擎的建议。例如,“此建议有用吗?”的是/否按钮应将一个训练数据集(即“推荐”训练数据集)中参与者的审查排入另一个训练数据集(即不推荐训练数据集)。

            3. 用于(推荐/不推荐)建议的模型绝不应被视为一刀切的建议。除了对产品或服务进行分类以向客户推荐之外,公司如何对每个特定客户进行分类也很重要。如果功能正常,人们应该期望具有不同功能的客户在给定情况下会得到不同的建议(推荐/不推荐)。这将是个性化引擎的“个性化”部分。

            【讨论】:

              猜你喜欢
              • 2019-04-16
              • 2021-04-24
              • 1970-01-01
              • 1970-01-01
              • 2017-10-26
              • 1970-01-01
              • 1970-01-01
              • 2012-01-09
              • 2019-09-25
              相关资源
              最近更新 更多