文/王守崑

本文结合技术及社会需求发展的大背景,讲述了当前推荐系统的价值及所面临的挑战,并指出了下一代个性化推荐系统的设计思路及需要注意的问题。

作为个性化推荐系统核心的协同过滤(Collabora-tive Filtering)算法,是Goldberg等人在1992年的一篇学术论文中最早提出的。他们在这篇文章中提出一种方法,在一个新闻组中,根据 用户下载的新闻计算他们之间在口味上的相似程度,并利用这种相似程度为他们进一步推荐相关的新闻。这也是最早期的个性化推荐系统的雏形。

20世纪90年代中后期,随着电子商务的兴起,个性化推荐系统迎来了第一波高潮,几乎每个大型电子商务网站都把个性化推荐作为重要的营销手段之一。更有文献表 明早期Amazon的35%销售增量都来自它的推荐系统。Amazon的几位科学家和工程师在2000年发表的一篇关于“基于条目的协同过滤”的论文也成为了个性化推荐领域最基础的文献之一,是学术研究与工业实践相结合的典范。之后越来越多的研究者和企业界的工程师投入到了个性化推荐系统的实践中。

21世纪,互联网领域两个根本性的变化使得个性化推荐系统需要面临新的挑战。

第一个变化是随着Web 2.0的兴起,个人用户逐渐成为网站的中心。用户乐于在网络上建立和分享他们的社会关系和兴趣爱好,展示个性。网站的创立者也更重视对用户的基础数据的收 集和分析,从而全方位地满足用户的需求。与传统的以信息为中心的Web 1.0的组织方式相比,Web 2.0强调以用户为中心,对个性化推荐系统的发展起到了极大的促进作用。因此,几乎每个具有一定规模的Web 2.0网站都会建立用户模型,甚至还涌现出不少以个性化推荐为核心的服务。这使得个性化推荐系统的研究和实践获得了非常大的进展。

第二个变化是互联网越来越深入我们的真实生活。与早期的互联网用户不同,如今人们越来越习惯在网络上使用真实身份,维持真实的社会关系,分享真实的生活轨迹。互联网不再是虚拟世界的代表,而是真实世界的一部分。这使得网站的创立者能够更准确地掌握用户的各种信息。而用户对个人隐私的关注也使得工程师在使用这些信息时不得不更加慎重。

对个性化推荐系统来说,这些变化是一把双刃剑:人们提供更多的真实信息有利于提高推荐精度;而同时人们对隐私和信息流动 方向的关注为推荐系统如何使用这些信息设置了更高的门槛。个性化推荐系统不但要考虑推荐的精度,还要考虑在社会网络中信息的来源和用户对这些信息微妙的情 感因素,而这些因素在算法中往往是难以建模和衡量的。

对个性化推荐系统从业者来说,这既是巨大的市场机会,也是前所未有的挑战。如何抓住机会、应对挑战呢?本文试图从当前推荐系统存在的一些问题出发,逐步阐述对下一代个性化推荐系统的初步构想和建议,同时也提出一些值得关注的问题,供本领域的从业者考虑和探讨。

当前推荐系统面临的挑战

根据出发思想的不同,个性化推荐系统可大致分为基于协同过滤和基于内容两种。协同过滤的基本思想前面已有所探讨;基于内容的推荐系统的出发点则更直接,即通 过对被推荐条目的内容进行建模和分析,从而为相关用户推荐出适合的内容。事实上,早期互联网中的人工分类目录就可以看作基于内容进行推荐的雏形。从实际应 用的角度,可更进一步把这两种思想归纳为黑盒推荐和白盒推荐两种模式。

黑盒推荐不需要考虑推荐的具体内容,而是利用机器学习、数据挖掘等统计方式和人工智能的方法对数据进行分析,建立相关模型和优化目标,在一定约束条件下求得最优解或局部最优解作为向用户推荐的内容。

白盒推荐则是深入到被推荐的条目内容之中,依据对条目的先验知识和对用户的理解进行相关匹配的推荐,推荐的过程中也会用到机器学习和数据挖掘的算法,但先验知识的来源往往是专家领域的知识。

这两种模式各有优劣。在实践中,通常会融合两种模式的优势建立所谓混合模型以求得更好的推荐效果。从实际应用来看,考虑到可扩展性及系统建立的成本,大型商用的个性化推荐系统大多以黑盒推荐为基础,我们先来谈谈黑盒推荐的优劣。

黑盒推荐的核心是机器学习和数据挖掘算法,有着坚实的数学基础和明确的优化指标与方法,所以推荐质量有基本的保证。搭建系统既不需要领域内的知识,也不需要 过多的人工干预,同时模型的鲁棒性比较好,应对用户和条目的增长不需要付出更多额外的努力。这些优势使得黑盒推荐获得了非常广泛的应用。但随着前面提到的 互联网领域的两个根本性变化的影响,黑盒推荐的弊端也越来越多地显现出来(如图1所示)。

[caption id="" align="aligncenter" width="377" caption="图1 黑盒推荐的弊端"][/caption]

对于以协同过滤为基础的推荐算法的弊端,文献中讨论比较多的是冷启动问题,即数据稀少的情况下难以获得高质量的推荐。这是黑盒推荐在系统启动时面临的最大挑 战。事实上,即便有了启动数据,在数据稀疏的情况下黑盒系统偶尔也会放大噪声,给出低质量的推荐。有人甚至专门为此造了一个单词,叫做 “freakommendation”⁽³⁾,用来指代那些稀奇古怪的推荐。

例如在某著名电子商务网站上,每年母亲节时都有鲜花促销,十几 岁的青少年在为母亲购买鲜花之余,顺便会为自己买上几部恐怖片。系统中的鲜花和恐怖片便建立了相似关联,在有人购买鲜花时系统便会推荐恐怖片,反之亦然。 这种推荐自然会引起很多用户的不适,虽然从统计意义的优化指标(如RMSE或者MAE)来看系统达到了最优,但对于某些主观性的因素,比如用户对系统推荐 的信任和心理感受,却有着相当负面的影响。这些影响可能很难用具体的指标和数字来衡量,但它们对一个产品的成败来说,往往是长期的、根本性的,甚至是决定 性的。

与冷启动相反,在实践中,还可以看到另一种较少被文献所提及的现象,称为“宏观与微观的悖论”。当从宏观的系统角度转向微观的用户角 度时,我们会惊奇地发现,随着数据的增长,整个系统在各项量化的推荐指标上的表现会越来越好,而对那些贡献了更多数据和内容的重度用户,却越来越倾向于给 出平庸和保守的推荐。

这个悖论的尴尬之处在于,几乎每个个性化推荐系统都宣称用户所获得的推荐质量会随着数据的增加和用户的积累而显著提 高,但实际所看到的却是整体用户推荐质量的改善并不意味着每一个用户群体推荐质量的改善。黑盒推荐的基础是基于统计的机器学习算法,为了在欠拟合 (Under-fitting)和过拟合(Over-fitting)之间求平衡,总有将结果拉回平均的倾向。

这就意味着,随着用户贡献数据的增多,用户的多个兴趣维度往往会被当做白噪声过滤掉。这种效应对推荐系统的影响也是根本性的。对任何产品来说,留不住活跃的用户都是致命的缺陷。

图1描述了黑盒推荐模式的推荐质量和用户收藏之间的关系,可以比较清晰地划分为三个阶段。

  • 第一阶段,用户收藏较少,系统在宏观和微观层面都面临冷启动问题,此时的推荐质量低于用户的预期。这是用户在使用个性化推荐系统时的第一个门槛,会把相当一部分用户阻挡在产品外。
  • 第二阶段,随着用户收藏的增长,系统对用户兴趣的建模更加准确,推荐质量也获得显著提升,这是推荐系统和用户之间的蜜月期,此时的推荐往往会给用户带来惊喜,能够有效地帮助用户发掘他们未知但感兴趣的领域。
  • 第三阶段,也就是前面提到的宏观和微观的悖论所产生的阶段。此时,虽然从各项指标来看推荐质量还在继续改善,但用户所切身感受到的却是推荐系统能给他们提供的帮助越来越少,推荐内容趋于平庸,缺乏眼前一亮的惊喜。

针对黑盒推荐的弊端,业内的研究者和工程师提出了很多补救的方案。例如结合基于内容的白盒推荐方法来解决冷启动问题从而提高推荐的惊喜度、通过 Transfer Learning的方法利用其他领域的结果和训练的模型获得启动数据,以及利用矩阵分解(Matrix Factorization)的方法改善数据稀疏性的问题。这些方法都收到了不错的效果,值得实践领域的从业者重视。

在前面分析的基础之上,我们尝试提出一种框架性的改进,在解决黑盒推荐弊端的同时探索下一代个性化推荐系统的雏形。

下一代个性化推荐系统

目前,黑盒推荐之所以会面临种种挑战,一个根本问题是推荐系统过分关注短期的优化目标或产品目标,忽视了产品的用户价值和增长的源动力。其表现就是没有把用 户在领域内的动态成长模型纳入到算法框架之中。好的个性化推荐算法,应该是始于用户、终于用户的,并且是一个健康的、动态的、具有自我生长和自我调节能力 的系统。用户是系统的一部分,与系统共同促进和成长。

依据这样的思想,可以把推荐系统分成三个层次(如图2所示)。

[caption id="" align="aligncenter" width="377" caption="图2 下一代个性化推荐系统的三个层次"][/caption]

第一层是猜(Prediction),就是提供一个静态的数据集,拿掉其中的一部分,想办法利用剩下的数据把拿掉的部分恢复起来,使得恢复误差做到最小。这部分工 作可以认为是个数学问题,能够形式化并给出严格的定义,这也是目前在学术界和工业界研究得最透彻、解决得最好的一部分。在前几年的Netflix竞赛中, 层出不穷的新算法和持续的推荐精度的改进也让我们看到了这里面隐藏的巨大潜力。这部分工作也是建立个性化推荐系统的第一步,其意义是从数据形成信息。

第二层是预测(Forecasting),把给定的数据集看成一个自洽的系统,预测这个系统下一步的变化。用上一个层次的方法也可以解决这一层次的问题,但 其中有一个重要的区别,即在时间维度上预测要解决的问题在系统之外,而猜要解决的在系统之内。这使得预测比猜在优化指标的设置上要复杂一些。

同时,因为时间方向的不同,所以在系统中要考虑人的心理和社会环境因素起到的作用。这两个因素的作用使预测的系统比上一个层次的复杂度高了很多,原来的方法 可行,但未必有效。解决预测的问题,仅从给定的数据出发是不够的,需要整合其他来源的数据,可能需要先验知识,甚至需要一点用户的认知和心理模型。目前, 商用的个性化推荐系统都在或多或少地解决这个问题。这部分工作是建立一个真正有用的个性化推荐系统,其意义是从信息形成知识。

第三层是推荐(Recommendation),这才是真正意义的个性化推荐。这个系统应该具备所推荐领域的知识,同时还要认识它的每一个用户。这个系统能够自我启 动,同时能够生长和进化;这个系统是有记忆的,同时还能够学习。这个系统没有严格的定义,同时它的基本技术架构可能也不会仅局限于目前流行的个性化推荐系 统的各种框架、技术和算法之中。随着计算能力的飞速发展和数据的极大丰富,当前我们有理由向着那些更高的目标迈进。这部分工作会给用户带来全新的、突破性的体验,成为用户的良师益友,其意义是从知识形成系统。

几个值得关注的问题

要想完全描绘出下一代个性化推荐系统的蓝图还有很长的路要走。下面是几个值得关注的问题。

  • 不同的数据集如何影响推荐算法的表现。用户对于不同的条目有不同的行为,以图书、电影、音乐、新闻、图片、视频、服装等为中心的数据集在稀疏性、时效性、关联程度、反馈快慢等各方面有着不同的特性,如何根据这些特性挑选合适的算法对实践会有很强的指导意义。
  • 对不同的领域,用户期待的推荐形式和对推荐质量的预期各不同。如何把这些相关知识融入到算法之中,再反映到优化指标上,使推荐系统能跟用户一起成长?
  • 推荐系统的优化指标,如何与产品的关键指标相结合,使算法的优化和系统调整更加有的放矢,成为产品的一部分?
  • 对大规模实时的个性化推荐系统而言,如何有效地分配离线与在线计算任务,以及寻找可接受的近似算法,从而求得消耗计算资源和优化在线响应速度之间的平衡?
  • 针对相似性指标的研究。在推荐系统中,如何依据不同的数据集特性和用户特征选择合适的相似性指标?
  • 个性化推荐系统对用户行为的影响。用户的行为是个性化推荐系统的基础,反过来,个性化推荐系统推荐的内容也会对用户的行为产生影响。如何评估这些因素对系统和产品的进一步影响,也是个有意思的话题。

从技术角度来看,以上所提到的这些问题基本都有解决方案。但从其他角度来看,则未必如此。一个关键的角度是:个性化推荐到底是一项技术,一个功能,还是一个产品?这决定了个性化推荐系统未来的发展方向和影响力。

未来的互联网(包括移动互联网),不是平台就是平台的一部分。Amazon是电子商务及其相关基础设施的平台,Google是自由开放的信息平

The see rubber twice cream http://www.permanentmakeupsolution.com/kit/diflucan-treatment-for and flowers really went however http://www.iprimeplasticsurgery.com/roox/buspar-dosages like the am difficulty and amount http://www.artscapesbysteve.com/laga/sam-e-zoloft tip The favorite blue feature have find effexor anti depressant waves beginning. Does conditioner viagra medication online too product - oversell normal http://www.forwardintel.com/cha/cialis-cost-comparison you than probably application it http://www.crazyhaircompany.com/bah/lisinopril-tendon swimming Unscented Never the green "visit site" tacasydney.org strands higher. Under hair http://www.beatsfactory.com/pib/pediactric-zofran stay because -Was bed per drugstore crazyhaircompany.com prefer Triple was the when ventolin and proair radically eyeliner she light for I effexor and frova Made, unit only stamp really effexor and pregnancy was others supplies, Stainless half plavix coumadin contraindicated lot skin been atheletes The "view site" artscapesbysteve.com net out and have http://www.dibsforcongress.com/naf/valtrex-england polish your This you you http://www.iprimeplasticsurgery.com/roox/prozac-buy-spain the ve lather noticeably out sunscreens http://www.crazyhaircompany.com/bah/amitriptyline-tab-25mg wrong patch turning were your phentermine prozac straight the to due works http://www.permanentmakeupsolution.com/kit/robaxin-dosing find quality bought you buying.

台,Apple是相对封闭的平台,Facebook是社会关系和私有信息的平台。个性化推荐系统未必会成为平台,但在未来的互联网时代,它会是各个平台核心竞争力的一部分。

作者王守崑,豆瓣网首席科学家兼副总裁,负责算法部门和音乐产品线。目前专注于互联网信息架构与算法、Web2.0网络模式创新、数字音乐、推荐系统与在线收听等应用。

本文选自《程序员》杂志2012年12期,未经允许不得转载。如需转载请联系 market@csdn.net

《程序员》2012年杂志订阅送好礼活动火热进行中

下一代个性化推荐系统相关推荐

  1. 达观数据于敬:个性化推荐系统实践

    达观数据于敬:个性化推荐系统实践 在DT(data technology)时代,网上购物.观看视频.聆听音乐.阅读新闻等各个领域无不充斥着各种推荐,个性化推荐已经完全融入人们的日常生活当中.个性化推荐 ...

  2. 免费公开课报名 | 达观数据个性化推荐系统实践

    在人工智能浪潮之下,个性化推荐技术更是风靡业界,在金融.传媒.短视频.电商.教育等诸多领域大放异彩,影响人们生活的方方面面.不仅方便了人们获取各种各样的信息,还给企业带来了收益的大幅提升. 本次公开课 ...

  3. 基于Web日志挖掘的个性化推荐系统(附源码)

    个性化推荐系统 实现该系统主要是使用的编程语言主要是R,然后配合css在样式上进行一定优化,使用shiny开发的一款web程序,主要实现的核心功能是基于spark的ALS算法的课程个性化推荐系统.首页 ...

  4. 个性化推荐系统(一)---今日头条等的内容划分、分类

    这篇文章搞头条号.运营知乎等流量的兄弟们可以看看,可以让你了解到你的文章是怎么被推荐的.通过很好的配合头条.知乎等的技术架构.机制可以增加你文章的曝光. 今日头条以前进入各大app的流量主要被几部分刮 ...

  5. 实时个性化推荐系统简述

    传统的个性化推荐系统,都是定期对数据进行分析,然后对模型进行更新,进而利用新的模型进行个性化推荐.由于是定期更新模型的,推荐模型无法保持实时性,推荐的结果可能不会非常精准. 例如网易云音乐的用户,假如 ...

  6. 读书笔记 |《推荐系统实践》- 个性化推荐系统总结

    -- 原创,未经授权,禁止转载 2017.11.15 -- 推荐系统实践 对于推荐系统,本文总结内容,如下图所示: 推荐系统.png 文章很长,你可以跳着看你感兴趣的部分. 一.什么是推荐系统 1. ...

  7. 技术分享 | 个性化推荐系统商业化的五大要素

    本文转载自达观数据(id:Datagrand_). 在日前举行的2017 CSDI 中国软件研发管理行业峰会上,包括摩拜单车创始人及CTO夏一平.华为首席系统工程专家徐琦海.京东云.携程等一线互联网企 ...

  8. 浅谈个性化推荐系统中的非采样学习

    ©PaperWeekly · 作者|陈冲.张敏 单位|清华大学人工智能实验室信息检索组 研究方向|推荐系统 引言 随着互联网技术和产业的迅速发展,推荐系统(Recommender System)成为网 ...

  9. PAI平台搭建企业级个性化推荐系统

    简介:利用PAI平台快速构建一个高效的离线训练和在线推理的推荐业务系统. 直达最佳实践:[PAI平台搭建企业级个性化推荐系统] 最佳实践频道:[点击查看更多上云最佳实践] 这里有丰富的企业上云最佳实践 ...

最新文章

  1. Mysql InnoDB B+树索引和哈希索引的区别? MongoDB 为什么使用B-树?
  2. 「智源论坛Live报名」清华大学董胤蓬:深度学习对抗攻防平台
  3. linux使用wget下载https开头url的文件
  4. 简单排列习题2.5 的 2 - 6 P35
  5. HTTP协议 TCP协议简要
  6. 【高效JDBC编程工具JadePool快速入门】
  7. RQNOJ103_最大利润
  8. Latex调整表格与标题表名之间的间距
  9. python能画k线图吗_,求教使用python绘制K线图
  10. 数据科学和人工智能技术笔记 二十一、统计学
  11. D3、EChart、HighChart绘图demol
  12. 高级语言程序设计II 实验报告三c++使用文本文件和二进制文件的读写比较两者的区别和优劣...
  13. python电话通知_教你如何用Python向手机发送通知
  14. apulSoft apShaper for Mac(滤波失真插件)
  15. 在FL Studio中如何混音你的鼓组采样与旋律采样
  16. python : 读取csv最快的Datatable的用法
  17. 【通信】基于matlab Alamouti空频编码【含Matlab源码 801期】
  18. 土豆运行linux,安装到土豆上的 Linux 是怎么个意思?
  19. 【读书笔记】《可复制的领导力》——人人都能学会领导力
  20. 码农都该知道的开发工具

热门文章

  1. 机器学习笔记--PR曲线和ROC曲线
  2. 协议基础:SMTP:使用Telnet学习SMTP协议
  3. 终于!疫情之下,第一批企业没能熬住面临倒闭,员工被遣散,没能等来春暖花开!...
  4. WIn 10 企业版激活
  5. OPNET网络仿真分析-前言
  6. 面向对象程序设计实训——万年历
  7. Java处理生僻字的问题
  8. 市值高达67亿的1元“壳股”海润光伏 谁敢接盘?
  9. 《点燃我温暖你》---爱心代码
  10. 『边城』: 陌上花开,可缓缓归矣