本节书摘来自华章出版社《推荐系统:技术、评估及高效算法》一书中的第1章,第1.8节,作者 [ 美]弗朗西斯科·里奇(Francesco Ricci)利奥·罗卡奇(Lior Rokach)布拉哈·夏皮拉(Bracha Shapira)保罗 B.坎特(Paul B.Kantor),更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.8 出现的问题和挑战
1.8.1 本书对出现的问题的讨论
从前面的讨论可以很明显地看出,推荐系统的研究正在向众多不同的方向发展,同时新的主题不断出现,或者正成为更重要的研究课题。读者也可以参考最近的ACM RecSys会议资料,参考其他优秀的论文,将其作为额外的研究素材[7,3]。本手册中涵盖许多这种话题。实际上,很多已经介绍过了,例如,上下文感知推荐(第7章);新的可视化技术(第17章);基于社区的个性化搜索(第18章);基于信任的推荐系统(第20章)。其他一些重要的话题在手册最后两部分,我们现在简短地介绍一下这些章节。
第19章介绍社会标签系统(STS),这是随着Web 2.0的发展而出现的跟推荐系统相关的新话题。STS如同Flickr、Bibsonomy、Delicious这类网站一样,允许普通用户发表和编辑内容,同样也允许用户产生和共享标签(即自定义关键字)。STS用户正面临着信息过载问题,因为STS有数以百万计的用户,他们进入系统后发表的内容和标签不受控制,这就给传统的推荐系统造成检索困难。因此,需要推荐系统来帮助用户找到相关的信息,于是许多商业STS开始提供推荐服务(如Delicious)。
该章讨论了STS推荐系统面对的新挑战,如推荐系统的新任务。这些不仅包括传统的内容推荐也包括相关标签推荐,甚至其他相似用户推荐。标签推荐系统(即推荐给用户一个物品的相近标签),与传统的推荐系统有很多独特性,因为系统可以推荐经常出现的标签,不像传统的推荐系统一般不对相同物品进行二次推荐。另外,STS的推荐系统解决的是三维问题(用户、资源、标签),而不是传统推荐系统的二维问题(用户、物品),这个问题会影响算法的复杂性。该章有一项最新调查,是关于支持STS的新一代推荐系统的。详述了给真实STS系统部署推荐系统遇到的挑战,并且为解决STS和标签推荐系统面临的挑战提供了新的算法。
第21章处理这样的情形,就是系统最好能够给一群用户推荐信息或物品,而不是给单个用户推荐。例如,推荐系统可以为一个群组选择电视节目,或者推荐歌单,其模型是基于整体群组成员的。为群组推荐很明显要比为个体推荐更复杂。假设我们能精确地知道单个用户喜好,那么问题就是如何组合单个用户模型。在本章中,作者讨论了群体推荐如何工作,面临的问题,目前的进展。
第22章讨论了聚合用户偏好、准则和相似度这一普遍性问题。通常这类聚集是通过利用算术平均值或最大最小值函数完成的。但是许多其他有灵活性和适应性,并且最终能产生更相关的推荐结果的聚合函数经常被忽略。在本章,作者回顾了聚集函数的基础和特性,并且介绍了最重要的几个,包括广义集群,Choquet积分和Sugeno积分,有序加权平均,三角模自生成,双极性聚合函数。这种函数可以模拟输入条件之间的各种相互作用,包括连续的、分散的和混合的行为。
在第23章中,作者着重讲了推荐系统的另一个重要问题,即推荐系统生命周期过程中需要积极寻找新数据的问题。这个问题通常被忽略,因为用户访问系统时,系统就假设没有足够大的空间管理系统收集的数据(如评分)。实际上,推荐系统可以激发用户兴趣,许多系统在推荐过程中明确地询问用户偏好。因此,通过调整推荐过程,用户可以提供一系列不同的信息。特别是系统可以要求用户评价特定商品,用户对这些物品的评价在特定的条件下是非常有用的,比如,为一些用户或者整个用户群体产生更加多样化的推荐结果,或者简单地提高系统的预测准确性。此时,主动学习出现了;主动学习可以增强推荐系统,帮助用户更了解自己的偏好,产生更有效和更有用的问题。同时,主动学习可以为系统提供新信息,为随后的推荐作分析。因此,推荐系统应用主动学习能使推荐过程个性化[61]。这可以通过允许系统积极地影响用户遇到的物品(例如,在用户注册或用户定期使用时给用户展示物品)来完成,同样也可以通过用户自由探索自己的偏好来完成。
第24章介绍了另一个新兴话题,即多准则推荐系统。多数推荐系统通常是考虑单一标准值来决定物品的效用,例如,整体评价或者一个用户对一个物品的评分。但是目前这个假设被认为具有局限性。因为用户做选择的时候,系统为一个特定用户推荐的物品是否合适要根据用户考虑的多方面因素判断。多准则的组合可以影响用户意见,从而产生更有效更精确的推荐。
第24章提供了多准则推荐系统的一个概述。首先,它把推荐问题定义为一个多准则决策问题,并且回顾了支持多准则推荐实现的方法和技术。随后,集中讨论了多准则评分推荐技术的分类,这种技术主要是根据物品在不同准则上的评分向量对用户效用模型建模来产生推荐的。给出了有关利用多准则评分计算评分预测值并生成推荐的当前算法的概述。该章包括这些推荐系统的有争议问题和未来面临的挑战。
本书最后一章(第25章)概述了安全方面的话题。这个话题在过去几年是一个重要问题。目前这个话题的工作在[28,45,102,112]有介绍。该章分析能产生更具健壮性推荐的算法设计,即推荐不易受到恶意用户影响。实际上,协同过滤推荐系统依赖用户信誉,即默认假设用户与系统相互作用的目的是为自己得到好的推荐,从而给邻居提供有用的数据。然而,在某些情况下用户与推荐系统的交互有一系列的目的,这些目的可能是与系统所有者或系统多数使用者背道而驰的。也就是说,这些用户想去破坏推荐系统网站或者干预提供给访客的推荐,例如,给一些物品更高的分数或更低的分数,而不是进行公正的评价。
该章作者提出一个有效的攻击模型,这种攻击的成本很低,但是对系统输出产生的影响很大。由于这些攻击可以在攻击网站时运行良好,因此很有必要检测它们并尽快制定对策。同时,研究人员已经研究出许多能经受攻击的健壮性算法,而且与有效攻击相比,这些算法具有较低的影响曲线。这些方法在本章中也涉及了。利用这些技术的结合,研究人员考虑的不再是避免攻击而是去控制攻击的影响,让他们付出高昂的代价。
1.8.2 挑战
新兴的具有挑战性的推荐系统话题,不限于我们上面提到的章节中描述的那些。此外,覆盖所有的主题并不在这个简短介绍的范围内。读者可以参考本书最后的讨论部分,讨论其他值得关注的问题。
下面简短地介绍其他具有挑战性的话题,我们认为这些话题对推荐系统的研究发展很重要,但本书并没有涵盖这些内容。
大的真实数据集背景下的算法扩展性。随着核心技术进步与成熟的研究,算法扩展性明显成为推荐系统的重要问题,它决定着如何把核心推荐技术嵌入真实系统里,如何处理用户和物品互动(评分、偏好、评论等)产生的大量动态的数据集。有个方法是在相对较小的数据集离线测试,但这个方法在非常大的数据集上可能失效或者完全不适应。需要进行新方法和大规模的评估的研究[91,92,33,38,116,75,75]。
主动推荐系统,即虽然没有明确的请求[90,24,62,80],推荐系统也产生推荐。到目前为止大多数的推荐系统都遵循一个“pull”模型[94],用户为获得推荐而发起请求。时变境迁,计算机无处不在,用户间总是相连的,人们很自然地想到推荐系统能够探测到隐藏的请求。所以需要预测不仅是推荐什么,还要考虑什么时候,如何去推送推荐。这样推荐系统变得积极主动而不用被视为骚扰。
推荐系统中的用户隐私保护[81,26,79,56,17,28,102,16,5,53,70,114]。推荐系统利用用户数据产生个性化推荐。在尝试建立更多更好的推荐系统时,它们尽可能多地收集用户数据。这无疑会对用户隐私产生负面影响,用户可能开始觉得系统知道太多关于自己真实想法的信息。因此,需要设计解决方案,简约并明智地使用用户数据。同时这些解决方案将确保用户信息库不被恶意用户随意获得。
推荐给目标用户的物品多样性[104,66,69,55,54,46,119]。推荐列表中包含的物品如果具有一定程度的多样性,用户就更有可能找到合适的物品。为受限种类的产品做完美推荐是没有意义的,除非用户已经表示他的偏好在一个狭窄的范围内。有许多情况,特别是在推荐过程的早期阶段,用户想要探索新的多样性的方向。在这种情况下,用户使用推荐系统作为一个知识发现工具。在这个话题上的研究仍处于初级阶段,需要描述“多样性”的特性,即我们要从几次不同推荐中还是从一次推荐中寻找多样性,以及如何保证推荐精确性的同时兼有多样性。
在建立推荐列表的过程中整合用户的长期和短期偏好[6,40,74]。推荐系统可以分为两类:一种是建立长期的配置资料,通过聚集所有系统收集的用户交易数据产生推荐(如系统过滤);另一种更侧重于用户的短期偏好,例如,在基于案例的方法中。显然,在解决偏好整合问题上,这两方面都很重要,无论是精确的用户任务还是物品的可用性都要兼顾。实际上,在当有足够的证据表明用户的短期偏好与长期偏好发生偏离时,需要建立混合模型来正确地决定是要发生兴趣偏移,还是不要偏向用户的偶然偏好。
通用的用户模型和交叉领域推荐系统能够在不同的系统和应用领域调配用户数据[41,18,52,19,20,49,15]。使用通用的用户模型技术,一个单一的推荐系统可以产生多种物品的推荐。这对于一般的推荐系统是不可能的,因为一般的推荐系统能够把多种技术整合到一个混合的方法中,但是却不能利用在一个领域收集到的用户偏好信息来在另一个领域产生推荐结果。
在开放式网络中运行的分布式推荐系统[38,116,92,113,17,102]。大多数推荐系统的计算模型是典型的客户端服务器结构。用户客户端请求推荐,推荐系统服务端产生推荐以回应请求。这显然是个严重的限制,受到集成式控制系统中所有传统问题的折磨。新兴的网格计算或云计算的出现,为推荐系统实现更具健壮性和灵活性的计算模型提供了良机。
最优化推荐序列的推荐系统[120,99,10,59,61,107,106]。我们已经提到过传统的推荐系统是为了提高推荐质量,这依赖一个简单的方法:一次性的请求/响应。会话式推荐系统可以通过实现学习能力进一步提高,不仅可以优化推荐的物品,而且可以优化如何使用户系统在所有可能情况下都能展开对话。
移动上下文的推荐系统[117,98,55,51,4,115,111,57,29,9,77,76,89,73,44,95,13]。移动计算作为个人计算最自然的平台。当用户移动的时候可能产生推荐请求,例如,在城市旅游时的超市或者酒店。因此我们需要使用户界面“移动”起来(需求是“移动”的),需要设计能充分利用有限的移动资源(计算能力和屏幕尺寸)的计算方案。
最后,在结束引言之前,我们想介绍一些额外的挑战,即在最近的RecSys会议中一个教程中讨论的,该次会议地点在纽约,时间是2009年10月22日到25日,[http://recsys.acm.org/tutorial3.pdf]。John Riedl(Uni-versity of Minnesota)、Todd Beaupre(Yahoo!)和John Sanders(Netflix)提出研究推荐系统的八个重要挑战:透明度、探索与利用、指导准则、时间价值、用户行为解释、评价推荐系统、扩展性、学术/工业之间关系。
在引言中已经讨论过一些问题。例如,当讨论解释推荐的作用时介绍了透明度,我们强调透明度在使推荐更易被用户接受上有重大作用。同时,推荐系统的评估方法(也就是评估中被测量的一系列重要角度)这个话题在另一章(第8章)有完整的阐述。
推荐的时间价值在上下文感知推荐系统(第7章)的评论部分讨论过。然而,实际上面临的挑战是,给定的一系列推荐不可能永远适用,而这些物品需要过一段时间才能被系统推荐。例如,当谈及新闻物品时,人们显然想要了解最新发生的事件和新闻,而这些新闻甚至是与最初发布间隔一天后仍不能被推荐给用户。
主动学习(第23章)对探索还是利用的话题有所涉及。这个过程面临的挑战也是设计师必须妥善解决的主要困境,即在系统当前可用数据的给定条件下,推荐目前能识别出的好物品,还是为了得到未来更新也可能更好的推荐结果,而去探索用户的偏好(比如,要求用户对额外的特定物品评分)。
索引式导航栏,导航栏指的是将传统的推荐列表(即推荐结果)和能够让用户在选项中更加自主浏览的工具相结合。用户行为解读指的是,除了用户显式评分之外,还可以探测、分析用户在操作推荐系统中产生的更多行为,并用于构建更好的预测模型。这个想法是,每个用户的用户行为都应该被利用在推荐过程中。但是解读用户行为(即一个行为的背后意图)是个挑战,有些行为需要被舍弃,因为这不是由原来真正的用户产生的,例如,在同一个浏览器中不同用户执行的行为,或者是虚假和恶意注册,或者是由机器人和爬虫引起的数据或日志。
先前也提到过可扩展性。我们强调,很显然这是个问题,当前文献中对这个问题的探讨并不完整,因为可扩展性一直被大多数工业实践者研究调查。
最后,关于工业界和学术界合作一事在研讨会上讨论得兴致勃勃。工业界有一些特殊的问题,但这些问题没有明确地公开。这有很多原因,包括不向竞争对手透露关键信息。相反,学术界正在寻找能在允许的时间和资源框架内解决的问题,学术界通常会专注一个能对科学界产生影响的专题。这种不同会使工业/学术合作变得困难。但是推荐系统是个需要新的实际挑战的领域,这些挑战是有利于解决问题或使问题变得成熟的。如果我们不解决那些有用的但是有风险的挑战,那么该领域的研究就真正有停滞不前的风险。
我们希望本书能成为实践工作者和研究人员的有用工具,有助于在这个令人激动并且有用的研究领域进一步开发知识。这样我们相信能减少两组人员(工业与学术)走不同路线的风险。目前推荐系统领域极大地得益于工业界和学术界对此的兴趣和努力。因此,当他们两组人阅读本书时,我们都会奉上最美好的祝愿。希望能吸引更多的研究者在这个非常有趣又充满挑战的领域奋斗!
参考文献