下一代推荐系统

前言

讨论祖先和子孙的问题一贯是比较困难的事情,什么是上一代,他们有什么特色?下一代推荐系统究竟是什么?先后代有什么不同,是什么关键特征定义了下一代? 本文的重点是,讨论一些论文观点,旨在回答以上的一些疑问 从Gediminas Adomavicius和Alexander Tuzhilin的Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions来看(这篇文章引用率很是高),个人理解是:git

第一代推荐系统主分三类:github

  1. content-based,基于内容的推荐
  2. collaborative,基于协同过滤的推荐
  3. hybrid recommendation, 混合型推荐

第二代推荐系统的主要特色是:算法

  1. user和item的理解
  2. 结合上下文信息
  3. 支持多维度的评价指标
  4. 提供更加有弹性和更少打扰的结果

其人

Gediminas Adomavicius在推荐系统方面有不少研究, 有兴趣能够看看CAREER: Next Generation Personalization Technologies,研究主题包括:dom

  1. 多准则推荐系统
  2. 推荐查询语言
  3. 推荐的多样性
  4. 时效数据的聚类
  5. 上下文感知推荐
  6. 用户偏好对推荐的影响
  7. 推荐算法的稳定性
  8. 数据特性对推荐的影响

相关讨论

第一代推荐系统

早期的推荐系统主要是“评分预测”和“TOPN”预测,不管是哪种推荐方式,其核心的目标是找到最适合用户c的项集合s,从集合里挑选集合是一个很是复杂的问题优化方案,一般采用的方案是用贪婪的方式,而咱们只须要定义一个的效用函数,选取TOPN。机器学习

基于内容的推荐

定义效用函数为:用户c和项s的内容上的”类似性”,好比商品推荐中,为了一个用户推荐一款合适的商品,会计算商品和用户历史上看过或者买过的某些特征上的类似性(好比:品牌的偏好,类目的偏好,商品的属性,商品标签等等)。不少推荐都会在有文本的实体上进行推荐,改进的主要思路是:函数

  1. 扩展实体的文本标记。好比:标签,语义树
  2. 用户的文本Profile。好比:taste,preferences,needs。

所以,基于内容的推荐算法的关键问题是创建,item的content profile和user的content profile。 对于有问题内容的推荐实体,通常的方法是利用关键词抽取技术,抽取item中最重要的或者最有信息量的一些text。 第一个任务是选择什么的文本,构建的text历来源上能够分红几个,若是来之item自己的内容,一般称为keywords; 若是来自用户的标记,一般称为tags;若是来以外部的query,一般称为intents。 第二个任务是如何在候选词里作weighting和selection。selection的方式通常是用贪心方法,选出topn weighting的词。学习

构建user的content profile是比较困难的。由于user本生是没有标记的,一般是经过user从前看过的item和当前看过的item作 标记。从时间的维度上,user的content profile能够分红历史和实时部分,历史部分一般是经过挖掘获取,而实时部分一般是 经过巧妙的”average”或者model-based的方法发现用户content profile, 比较出名的content-based推荐系统是Fab, “adaptive filtering”是一种经过user的浏览记录不断提高精度的content profile构建方式优化

协同过滤推荐

是你们最为熟悉的推荐算法。算法只涉及到user-item的交互矩阵,推荐方式是Heuristic-based(memory-based)方法(item-based和user-based)和 model-based的方法,后面发展的一批改进协同过滤算法的策略,好比:spa

  1. Default Voting;
  2. Inverse User Frequency;
  3. Case Amplification;
  4. Weighted-majority Prediction 固然其余的协同过滤算法也很是多,下次讨论协同过滤算法的时候在仔细探讨

混合方法,主要是混合基于内容和协同过滤的方法。变种很是多,这里暂不讨论

第二代推荐系统

  1. model-based的一些变化。谈到第二代,论文提供了一些扩展,好比:model-based方法,一般是基于统计和机器学习的方法, 后面有演化出一些基于数学近似的方法,我理解的数学近似方法其实很简单, 就像咱们在高中学习的展开式,或者泰勒公式等等,用无穷多的弱项组合成一个偏差最小的结果。
  2. 多维度的推荐。其实目前多数的推荐是单维度的,就是对user进行item的推荐,可是有些应用场景,好比:对住在北京的男性用户进行品牌推荐, 或者在妇女节给女性用户推荐优惠商品。这些场景下须要推荐从对个维度上考虑问题,因此在多维的推荐系统中须要一个受众定向的功能。
  3. 多准则的推荐。通常状况下,咱们即须要推荐的准确,多样性,惊喜度,时效性,覆盖率等等指标;有时候,咱们须要保证推荐的推荐的品质, 好比高端的品牌推荐,不能给用户推荐一些低质量的品牌商。
  4. 不打扰。不少系统为了搜集用户的兴趣,有时候会强迫用户给商品打分,这样会干扰用户的行为。 怎么在用打扰用户的状况下,搜集潜在的用户反馈;对新用户怎么增量的用户信息量最大item,也是快速构建用户profile的一种方式。

固然还有不少推荐系统应该解决的问题和扩展, 可是,就这样还不能是二代推荐系统的特征, 推荐系统的发展永远是围绕着“用户体验”来作的。blog

参考文献

相关文章
相关标签/搜索