下一代个性化推荐系统

作者: Cyberpunk | 来源:发表于2015-03-14 13:26 被阅读806次

    作者: 王守崑

    作为个性化推荐系统核心的协同过滤(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所示)。

    图1 黑盒推荐的弊端

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

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

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

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

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

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

    第一阶段,用户收藏较少,系统在宏观和微观层面都面临冷启动问题,此时的推荐质量低于用户的预期。这是用户在使用个性化推荐系统时的第一个门槛,会把相当一部分用户阻挡在产品外。

    第二阶段,随着用户收藏的增长,系统对用户兴趣的建模更加准确,推荐质量也获得显著提升,这是推荐系统和用户之间的蜜月期,此时的推荐往往会给用户带来惊喜,能够有效地帮助用户发掘他们未知但感兴趣的领域。

    第三阶段,也就是前面提到的宏观和微观的悖论所产生的阶段。此时,虽然从各项指标来看推荐质量还在继续改善,但用户所切身感受到的却是推荐系统能给他们提供的帮助越来越少,推荐内容趋于平庸,缺乏眼前一亮的惊喜。

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

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

    下一代个性化推荐系统

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

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

    图2 下一代个性化推荐系统的三个层次

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

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

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

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

    几个值得关注的问题

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

    不同的数据集如何影响推荐算法的表现。用户对于不同的条目有不同的行为,以图书、电影、音乐、新闻、图片、视频、服装等为中心的数据集在稀疏性、时效性、关联程度、反馈快慢等各方面有着不同的特性,如何根据这些特性挑选合适的算法对实践会有很强的指导意义。

    对不同的领域,用户期待的推荐形式和对推荐质量的预期各不同。如何把这些相关知识融入到算法之中,再反映到优化指标上,使推荐系统能跟用户一起成长?

    推荐系统的优化指标,如何与产品的关键指标相结合,使算法的优化和系统调整更加有的放矢,成为产品的一部分?

    对大规模实时的个性化推荐系统而言,如何有效地分配离线与在线计算任务,以及寻找可接受的近似算法,从而求得消耗计算资源和优化在线响应速度之间的平衡?

    针对相似性指标的研究。在推荐系统中,如何依据不同的数据集特性和用户特征选择合适的相似性指标?

    个性化推荐系统对用户行为的影响。用户的行为是个性化推荐系统的基础,反过来,个性化推荐系统推荐的内容也会对用户的行为产生影响。如何评估这些因素对系统和产品的进一步影响,也是个有意思的话题。

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

    未来的互联网(包括移动互联网),不是平台就是平台的一部分。Amazon是电子商务及其相关基础设施的平台,Google是自由开放的信息平 台,Apple是相对封闭的平台,Facebook是社会关系和私有信息的平台。个性化推荐系统未必会成为平台,但在未来的互联网时代,它会是各个平台核心竞争力的一部分。

    http://www.programmer.com.cn/14366/

    相关文章

      网友评论

      • 六月的雨天:如果个性化推荐前期的数据来源于社交平台,或者说社交平台愿意开放更多的数据以供建模分析,那么第一阶段的推荐精准程度是否会更贴合用户的兴趣呢?
      • LostAbaddon:个性推荐系统其实很早以前就有人在做了,国内似乎是豆瓣最先开始,而豆瓣的结果就是完全不知所云。。。反正就我个人使用结果来看,这货完全不着调。。。

        从理论上来说,这就是分析你的兴趣爱好分布与文章的关注点之间匹配程度的统计学问题,但由于是这样的,所以这套方法存在的天然缺陷是——所有统计都建立在一定的数据量上,而一篇文章是谈不上数据量的。
        所以理论上就决定了:推荐单篇文章是不靠谱的,但推荐一个列表(比如专题,文集,豆列,某个网站的前100篇文章)是可以靠谱的,因为后者有数据量,前者完全谈不上有数据量。

        这还不算另一个问题:这篇文章的兴趣点符合我所喜欢的内容,但这绝对不表示这篇文章的行文结构遣词造句我会喜欢。

      本文标题:下一代个性化推荐系统

      本文链接:https://www.haomeiwen.com/subject/tpwbxttx.html