我读过书 集体智慧编程 并发现它很有趣。我最近听说亚马逊向全世界发起了一项挑战,要求为其系统提供更好的推荐引擎。

获胜者显然通过限制输入的信息量产生了最好的算法。

作为第一条经验法则,我想......”对于模糊算法来说,信息并不一定越好。”

我知道这是主观的,但最终它是一个可衡量的事情(点击响应建议)。

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

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

有帮助吗?

解决方案

除非您没有有关用户的信息,否则您不想使用“总体受欢迎度”。相反,您希望将此用户与相似的用户和相应的权重保持一致。

这正是 贝叶斯推理 做。在英语中,这意味着根据其他人的评分来调整您喜欢某事物的总体概率(平均评分) 他们通常也投票支持你.

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

终于有一家公司专门做这件事了 SenseArray. 。主人 (伊恩·克拉克自由网名声)非常平易近人。如果你打电话给他,可以用我的名字。

其他提示

计算机科学中有一个完整的研究领域致力于这个主题。我建议阅读 一些文章.

同意@Ricardo。这个问题太宽泛了,就像问“优化系统的最佳方法是什么?”

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

(当然,您必须准备好让大多数向量变得超级稀疏!)

我的回答对于 @Allin 来说肯定太晚了,但对于通过搜索找到这个问题的其他用户来说——给我发私信并提出更具体的问题,我一定会回复。

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

@老子,我同意你的观点。

据我所知,推荐引擎由以下部分组成:

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

附:我做了这样的推荐引擎。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top