5

I am curious what are the methods / approaches to overcome the "cold start" problem where when a new user or an item enters the system, due to lack of info about this new entity, making recommendation is a problem.

I can think of doing some prediction based recommendation (like gender, nationality and so on).

4

6 回答 6

23

您可以冷启动推荐系统。

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

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

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

于 2011-03-14T17:07:36.857 回答
6

Maybe there are times you just shouldn't make a recommendation? "Insufficient data" should qualify as one of those times.

I just don't see how prediction recommendations based on "gender, nationality and so on" will amount to more than stereotyping.

IIRC, places such as Amazon built up their databases for a while before rolling out recommendations. It's not the kind of thing you want to get wrong; there are lots of stories out there about inappropriate recommendations based on insufficient data.

于 2010-01-02T19:17:13.633 回答
2

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

于 2011-12-14T21:48:33.607 回答
1

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

于 2010-01-02T19:40:00.810 回答
0

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

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

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

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

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

于 2011-03-14T04:01:12.087 回答
0

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

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

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

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

于 2017-10-16T15:02:03.867 回答