下一代推荐系统

前言

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

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

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

第二代推荐系统的主要特点是:

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

其人

Gediminas Adomavicius在推荐系统方面有很多研究, 有兴趣可以看看CAREER: Next Generation Personalization Technologies,研究主题包括:

  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的方法,后面发展的一批改进协同过滤算法的策略,比如:

  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的一种方式。

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

参考文献

Posted by 杨程 Aug 8th, 2013  Recommender Systerm

时间: 2024-08-11 09:57:12

下一代推荐系统的相关文章

互联网网站推荐系统

原文地址:https://blog.csdn.net/pqhdp/article/details/7240326 1. 前言 随着互联网技术和社会化网络的发展,每天有大量包括博客,图片,视频,微博等等的信息发布到网上.传统的搜索技术已经不能满足用户对信息发现的需求,原因有多种,可能是用户很难用合适的关键词来描述自己的需求,也可能用户需要更加符合他们兴趣和喜好的结果,又或是用户无法对自己未知而又可能感兴趣的信息做出描述.推荐引擎的出现,可以帮用户获取更丰富,更符合个人口味和更加有意义的信息. 个性

【读书笔记】《推荐系统(recommender systems An introduction)》第十章至第十三章

第十章 在线消费决策 这一张主要写消费者的心理,更贴近于心理学,而不是技术方面. 1. 传统的决策模型是认为人们的兴趣始终如一,不会发生变化:不过现代研究表明,用户在决策过程中偏好并不稳定 2. 人们会根据物品的展示环境做决策:同样的商品,放到不同环境下面展示,身价就不同 3. 首位/新近效应:位于列表首位和末尾的物品,更容易被记住 4. 框架效应:展现框架决定用户决策 5. 启动效应 6. ... 个人评价,如果想深入了解这一张说的内容,还不如找一本消费心理学的书来看 ============

《推荐系统》--最新进展:比如攻击、在线消费决策、普适环境等

<Recommender System An Introduction>,第九章,针对协同推荐系统的攻击 <Recommender System An Introduction>,第十章,在线消费决策 <Recommender System An Introduction>,第十一章,推荐系统和下一代互联网 <Recommender System An Introduction>,第十二章,普适环境中的推荐 应对攻击的对策 (1)使用基于模型的技术和额外的信

基于Spark MLlib平台的协同过滤算法---电影推荐系统

基于Spark MLlib平台的协同过滤算法---电影推荐系统 又好一阵子没有写文章了,阿弥陀佛...最近项目中要做理财推荐,所以,回过头来回顾一下协同过滤算法在推荐系统中的应用. 说到推荐系统,大家可能立马会想到协同过滤算法.本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用.其中,主要包括三部分内容: 协同过滤算法概述 基于模型的协同过滤应用---电影推荐 实时推荐架构分析     一.协同过滤算法概述 本人对算法的研究,目前还不是很深入,这里简单的介绍下其工作原理. 通常,

机器人--推荐系统(1)

430的目标是完成机器人的推荐系统,提高机器人回答问题的准确率,关于过程碰到的问题以及解决方案与大家分享一下,(请轻喷!) 那么这个推荐系统到底应该怎么做呢? 最开始的第一个思路是 根据用户 进入到ERP的模块 推荐该模块下的相关问题.其实就是根据用户的轨迹来推荐问题,这是一个思路但是不太完整.因为很有可能用户就从ERP的桌面就进入了机器人,但他实际要咨询的是销售系统的相关知识,那么此时的推荐就不太满足用户的咨询需求. 因此参考一些业界其他公司的做法,可以基于内容的协同过滤(Collaborat

推荐系统中常用算法 以及优点缺点对比

推荐系统中常用算法 以及优点缺点对比 在 推荐系统简介中,我们给出了推荐系统的一般框架.很明显,推荐方法是整个推荐系统中最核心.最关键的部分,很大程度上决定了推荐系统性能的优劣.目前,主要的推荐方法包括:基于内容推荐.协同过滤推荐.基于关联规则推荐.基于效用推荐.基于知识推荐和组合推荐. 一.基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器

推荐系统-实战总结

推荐系统实战 这周看了推荐系统实战这本书,其中基本上介绍的比较全面,但是每一部分并没有十分深入,深入的精华全部都在下方的备注当中,备注中有很多的论文,可以进行进一步的学习. 首先回顾一下一些框架信息,在专门思考其中几个重要的部分: 3种联系用户和item的推荐方式: 1 根据用户的历史行为,表达过反馈的item进行item的预测,传统的itemCF 2 根据用户的历史行为,找到相似用户,进行预测, userCF 3 根据用户的喜好和个人信息,提取用户的特征,喜欢的物品的特征,进行预测.基本上就是

推荐系统(1)

推荐系统目的:引导用户浏览更多的内容 一.推荐功能设计(新用户的话可以基于热度,有了用户数据以后可以进行个性化推荐) 1.个性化首页 个性化促销,关注信息推送 2.item页面 关联商品 基于浏览历史的推荐 基于购买历史的推荐 3.User页面 4.购物车页面 5.community页面 二.界面设计 1.如何将推荐结果呈现给用户 2.如何收集用户信息和反馈数据 3.目的: 提高用户满意度,达到推荐目的 更多更好地收集高质量的用户反馈 准确评测推荐算法效果 4.重要性 *呈现方式不同会导致推荐反

推荐系统学习07-Waffles

介绍 Waffles 英文原意是蜂蜜甜饼,在这里却指代一个很强大的机器学习的开源工具包. Waffles里包括的算法特别多.涉及机器学习的方方面面,推荐系统位于当中的Waffles_recommend  tool,大概仅仅占整个Waffles的1/10的内容,其他还有分类.聚类.採样.降维.数据可视化.音频处理等许很多多工具包,预计能与之媲美的也就数Weka了. 你能够在waffles看到关于这个工具的具体内容. 你还能够訪问waffles的github网站. waffles与其它的机器学习工具