我读过这本书Programming Collective Intelligence并发现它非常吸引人。我最近听说亚马逊向世界发布了一项挑战,为他们的系统提出了更好的推荐引擎。
胜利者显然通过限制提供给它的信息量来产生最佳算法。
作为第一个经验法则,我猜......“在模糊算法方面,更多信息不一定更好。”
我知道这是主观的,但最终它是一个可衡量的东西(点击以回应建议)。
由于我们大多数人现在正在处理网络,搜索可以被视为一种推荐形式......我怀疑我不是唯一一个欣赏其他人的想法的人。
简而言之,“建立推荐的最佳方式是什么?”
答案 0 :(得分:5)
除非您没有关于该用户的信息,否则您不想使用“整体受欢迎程度”。相反,您希望相应地将此用户与相似的用户和权重对齐。
这正是Bayesian Inference所做的。在英语中,这意味着调整您想要的总体概率(平均评分)以及来自其他人的评分通常也会投票。
另一条建议,但这次是临时的:我发现有些人如果喜欢某些东西,我几乎可以肯定不喜欢它。我不知道这种效果是真实的还是想象的,但建立一种“负面效应”而不仅仅是通过相似性来聚集人物可能会很有趣。
最后,有一家公司专门研究这个名为SenseArray的公司。所有者(Ian Clarke的freenet fame)非常平易近人。如果你打电话给他,你可以使用我的名字。
答案 1 :(得分:5)
计算机科学有一个专门研究这个主题的研究领域。我建议阅读some articles。
答案 2 :(得分:5)
同意@Ricardo。这个问题过于宽泛,比如问“优化系统的最佳方法是什么?”
几乎所有现有推荐引擎的一个共同特征是,使最终建议归结为乘以一定数量的矩阵和向量。例如,通过项目评级向量将包含用户之间的邻近权重的矩阵相乘。
(当然,你必须准备好让你的大多数矢量都超级稀疏!)
对于@Allain我的答案肯定来得太晚了,但是对于其他用户通过搜索找到这个问题 - 给我发一个PM并提出更具体的问题,我一定会回复。
(我专业设计推荐引擎。)
答案 3 :(得分:2)
@Lao Tzu,我同意你的看法。
据我所知,推荐引擎由以下内容组成:
- 从上下文感知系统提供的上下文输入(记录所有数据)
- 过滤最明显的
的逻辑推理- 专家系统,可根据上下文输入改善您在一段时间内的主观数据,
- 概率推理基于先前行为(信念,愿望和意图)的加权和来做近乎接近的决策。
P.S。 我做了这样的推荐引擎。