讨论祖先和子孙的问题一贯是比较困难的事情,什么是上一代,他们有什么特色?下一代推荐系统究竟是什么?先后代有什么不同,是什么关键特征定义了下一代? 本文的重点是,讨论一些论文观点,旨在回答以上的一些疑问 从Gediminas Adomavicius和Alexander Tuzhilin的Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions来看(这篇文章引用率很是高),个人理解是:git
第一代推荐系统主分三类:github
第二代推荐系统的主要特色是:算法
Gediminas Adomavicius在推荐系统方面有不少研究, 有兴趣能够看看CAREER: Next Generation Personalization Technologies,研究主题包括:dom
早期的推荐系统主要是“评分预测”和“TOPN”预测,不管是哪种推荐方式,其核心的目标是找到最适合用户c的项集合s,从集合里挑选集合是一个很是复杂的问题优化方案,一般采用的方案是用贪婪的方式,而咱们只须要定义一个的效用函数,选取TOPN。机器学习
定义效用函数为:用户c和项s的内容上的”类似性”,好比商品推荐中,为了一个用户推荐一款合适的商品,会计算商品和用户历史上看过或者买过的某些特征上的类似性(好比:品牌的偏好,类目的偏好,商品的属性,商品标签等等)。不少推荐都会在有文本的实体上进行推荐,改进的主要思路是:函数
所以,基于内容的推荐算法的关键问题是创建,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
固然还有不少推荐系统应该解决的问题和扩展, 可是,就这样还不能是二代推荐系统的特征, 推荐系统的发展永远是围绕着“用户体验”来作的。blog