推荐系统:它是内容过滤吗?

3
请帮我澄清一下。我目前正在使用协同过滤算法(ALS),该算法返回一个推荐列表,其中包含与推荐项相对应的分数。除此之外,如果推荐项中包含与用户指定偏好相对应的标签,例如"浪漫电影",则我会提高分数(+0.1)。就我而言,这被认为是一种混合协作方法,因为它用内容过滤来增强协作过滤结果(如果我错了,请纠正我)。如果我不进行协同过滤,仅使用同样的方法,那么它会被视为基于内容的过滤吗? 因为我仍然会根据每个菜品的内容和属性以及用户所喜欢的东西(如"浪漫电影")进行推荐。我感到困惑的原因是因为我看到过基于内容的过滤,他们应用诸如朴素贝叶斯等算法,而这种方法类似于简单的搜索项目(在内容上)。
1个回答

5

不确定你能够做出你建议的事情,因为没有协同过滤 (CF) 的支持,你的得分无法提高。

你确实使用了混合推荐算法,就像通用推荐器一样。想要纯粹的基于内容的推荐需要实现两种方法:

  • 个性化推荐:在这里,你需要查看用户喜欢的项目的内容,并找到具有相似内容的项目。可以通过使用类似 Mahout spark-rowsimilarity 作业来创建项目: 相似项目列表模型,然后将结果索引到搜索引擎中,并使用用户喜欢的项目 ID 作为查询。通用推荐器正在添加此功能。
  • "喜欢这个的人也喜欢这些":这些项目类似于正在查看的项目,例如,对于所有用户都是相同的。它们不是个性化的,因此即使是没有历史记录的匿名用户也很有用。可以使用与上述相同的索引 ID,但使用与正在查看的项目相似的项目作为查询。一个可能会认为只使用相似项目本身就足够了,但通过将它们用作查询,您可以在搜索引擎查询中添加分类提升,并返回提升的项目。这已经在通用推荐器中运行,但是相似项尚未包含在模型中。

也就是说,将内容与协同过滤混合使用几乎肯定会产生更好的结果,因为当数据可用时 CF 的效果更好。仅在目录是一次性项目且永远不会有足够的 CF 交互或者您拥有寿命短暂的丰富内容(例如突发新闻)时才依赖基于内容的推荐。

顺带说一句,任何想要帮助将纯基于内容部分添加到通用推荐器中的人都可以联系它的新维护者 ActionML.com


谢谢Pat。我还有一个问题,针对你提出的第一种方法(个性化推荐),如果用户已经指定了他们喜欢的标签,那么是否可以使用任意得分来完成? - AlphaWolf
通常,基于内容的方法中的分数是相似度分数,例如多维术语向量之间的余弦角度或Mahout作业的对数似然比分数。搜索引擎在通过术语分析器(以进行词干提取和n-gram处理)运行它们后使用TF-IDF加权术语频率。用户仅通过显示兴趣来评分,然后使用内容的相似性。如果您有用户偏好/评级,则最好使用协同过滤。 - pferrel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接