构建推荐引擎时应该考虑什么?

时间:2008-09-10 14:23:17

标签: algorithm recommendation-engine

我读过这本书Programming Collective Intelligence并发现它非常吸引人。我最近听说亚马逊向世界发布了一项挑战,为他们的系统提出了更好的推荐引擎。

胜利者显然通过限制提供给它的信息量来产生最佳算法。

作为第一个经验法则,我猜......“在模糊算法方面,更多信息不一定更好。”

我知道这是主观的,但最终它是一个可衡量的东西(点击以回应建议)。

由于我们大多数人现在正在处理网络,搜索可以被视为一种推荐形式......我怀疑我不是唯一一个欣赏其他人的想法的人。

简而言之,“建立推荐的最佳方式是什么?”

4 个答案:

答案 0 :(得分:5)

除非您没有关于该用户的信息,否则您不想使用“整体受欢迎程度”。相反,您希望相应地将此用户与相似的用户和权重对齐。

这正是Bayesian Inference所做的。在英语中,这意味着调整您想要的总体概率(平均评分)以及来自其他人的评分通常也会投票

另一条建议,但这次是临时的:我发现有些人如果喜欢某些东西,我几乎可以肯定喜欢它。我不知道这种效果是真实的还是想象的,但建立一种“负面效应”而不仅仅是通过相似性来聚集人物可能会很有趣。

最后,有一家公司专门研究这个名为SenseArray的公司。所有者(Ian Clarkefreenet fame)非常平易近人。如果你打电话给他,你可以使用我的名字。

答案 1 :(得分:5)

计算机科学有一个专门研究这个主题的研究领域。我建议阅读some articles

答案 2 :(得分:5)

同意@Ricardo。这个问题过于宽泛,比如问“优化系统的最佳方法是什么?”

几乎所有现有推荐引擎的一个共同特征是,使最终建议归结为乘以一定数量的矩阵和向量。例如,通过项目评级向量将包含用户之间的邻近权重的矩阵相乘。

(当然,你必须准备好让你的大多数矢量都超级稀疏!)

对于@Allain我的答案肯定来得太晚了,但是对于其他用户通过搜索找到这个问题 - 给我发一个PM并提出更具体的问题,我一定会回复。

(我专业设计推荐引擎。)

答案 3 :(得分:2)

@Lao Tzu,我同意你的看法。

据我所知,推荐引擎由以下内容组成:

  
      
  • 从上下文感知系统提供的上下文输入(记录所有数据)
  •   
  • 过滤最明显的
  • 的逻辑推理   
  • 专家系统,可根据上下文输入改善您在一段时间内的主观数据,
  •   
  • 概率推理基于先前行为(信念,愿望和意图)的加权和来做近乎接近的决策。
  •   

P.S。 我做了这样的推荐引擎。