本节书摘来自华章出版社《推荐系统:技术、评估及高效算法》一书中的第1章,第1.2节,作者 [ 美]弗朗西斯科·里奇(francesco ricci)利奥·罗卡奇(lior rokach)布拉哈·夏皮拉(bracha shapira)保罗 b.坎特(paul b.kantor),更多章节内容可以访问云栖社区“华章计算机”公众号查看
在前面的内容中,将推荐系统定义为软件工具和技术,这些工具和技术用于为用户提供物品建议信息,而这些推荐信息用户或许会利用。现在我们要完善该定义,以此来表明推荐系统可以起到一系列可能的作用。首先,我们必须区别推荐系统在服务提供商和用户这两方面分别起到的作用。例如,旅游中间商(如expedia.com)或目的地管理机构(如visitfinland.com)通常会采用旅游推荐系统来增加营业额,比如,销售更多的房间,或者增加目的地的游客数量[86]。然而,用户访问这两个系统的主要动机是在去某个目的地旅游时,找到合适的酒店和有趣的事件或景点。
事实上,服务提供商采用这种技术的原因是多样的:
增加物品销售数量。这可能是商用推荐系统最重要的作用,即与没有使用任何一种推荐系统相比,能卖出一些额外的物品。能做到这一点是因为推荐物品可能适合了用户的需求和愿望。或许用户在尝试过几个推荐后,会认识到这一点 说服用户接受推荐的问题,会在我们解释预测用户对一物品的兴趣与用户挑选推荐物品的可能性之间的差异时再次进行讨论。。非商业应用也有类似的目标,虽然用户在选择物品的时候无须任何费用。例如,一个基于内容的新闻推荐系统的目的是提高网站上新闻类物品的阅读量。
通常,从服务提供商的角度来看,引入推荐系统的主要目的是提高转化率,即接受推荐并消费物品的用户数量比上仅浏览了这些信息的普通访客数量。
出售更多种类的物品。一个推荐系统的另一个主要功能是让用户能够选择物品。如果没有这样精准的推荐系统,用户可能很难找到自己要选择的物品。例如,对于像netflix这样的电影推荐系统,服务提供者感兴趣的是要能租出去清单里的所有dvd,而不仅仅是最热门的。如果没有推荐系统,这就很困难了。因为服务提供商没法保证推销的电影就一定能适合特定用户的口味。相反地,推荐系统就能向合适的用户建议或推销不那么热门的电影。
增加用户满意度。一个设计良好的推荐系统还可以提高网站或者应用程序的用户体验。用户会觉得推荐结果既有趣又相关,而且如果人机交互设计得合理,他还会乐于使用这个系统。准确有效的推荐结果,加上可用的用户接口,这些措施将会增加用户对系统的主观评价。反过来这将增加系统的使用率和推荐结果被接受的可能性。
增加用户忠诚度。用户应该忠于一个网站,这样当用户访问该网站时,该网站能够识别出老客户并把他作为一个有价值的访问者。这是一个推荐系统的固有特性,因为许多推荐系统是利用用户之前与网站的交互信息来产生推荐结果的,这些交互信息包括该用户对物品的评分记录等。因此,用户与网站的交互时间越久,用户模型就变得越精确,即用户偏好的系统表示越准确;与此同时,更多的推荐能有效地匹配用户的喜好。
更好地了解用户需求。推荐系统另一个重要的功能是用来描述用户的喜好(这一功能能够在许多其他应用中使用),这些喜好是收集到的显式反馈或者由系统预测到的(隐性反馈)。然后,为了其他目的,如提高物品的库存管理或生产管理,服务提供商可能重新使用这方面的知识。例如,在旅游领域,目的地管理机构可以通过分析由推荐系统收集的数据(用户的交易),决定为一个特定区域的新客户部门做宣传或为特定类型的促销信息发布广告。
我们在上述中提到了电子服务提供商引入推荐系统的几个重要动机。但是如果推荐系统能够有效地支持用户的任务或目标,他们或许也会考虑使用推荐系统。因此推荐系统必须平衡这两类参与者的需求,并为两者都提供有价值的服务。
herlocker等[25]的一篇论文已经成为这一领域经典的参考文献,文中定义了推荐系统能够实现的11个常见的功能。有些可能通常被视为与推荐系统相关的主要或核心任务,即可能会对用户有用的物品推荐。其他的可能更多地被视为以“机会主义”的方式开发的。事实上,这种任务的分化与使用搜索引擎所遇到的事情很相似,搜索引擎的主要功能是找到用户需求信息的相关文件,但它也可以用于检查一个网页的重要性(在查询结果列表中该页的位置)或发现一个词在文档中的不同用法。
发现一些好的物品:根据用户对物品的喜欢程度(例如,1到5星的评分)的预测结果,我们可以用列表榜单的形式推荐给用户一些物品。对商业系统来说,这是推荐系统的主要任务(见第9章)。有些系统不显示具体的预测评分。
发现所有好的物品:推荐所有能满足用户需求的物品。在这种情况下,仅找到一些合适的物品是不够的。当相关物品的数量很少或当推荐系统扮演关键角色时,推荐系统要格外精确。例如,推荐系统在医疗或金融领域的应用。在这些情况下,除了仔细评估所有可能性带来的好处,用户还可以从推荐系统的物品排序或者推荐系统额外产生的解释(推荐理由)中受益。
产品注解:在给定的上下文语境中(如一个物品推荐列表),我们根据用户的长期偏好来确定这些物品的重要性。例如,一个电视推荐系统会标识在电子节目菜单中出现的哪些电视节目是值得观看的(第18章提供了这个任务的一个有趣实例)。
推荐系列产品:这个思路是将物品的序列作为一个令用户满意的整体进行推荐,而不是集中产生单一的推荐。典型的例子包括推荐一个电视节目系列;推荐一本数据挖掘的书之后,还推荐一本关于推荐系统的书;或者是一个音乐曲目的总集[99],[39]。
搭配推荐:提供一组完美搭配的物品。例如,一个旅行计划可能由某个特定区域的不同景点、目的地和住宿服务组成。从用户的角度来看,用户可以考虑这些不同的替代方案,并选择一个唯一的旅游目的地[87]。
闲逛:在这项任务中,用户只是简单地浏览目录而并不带有强烈的购买意图。推荐系统的任务是帮助用户浏览一些其在特定浏览时期可能会感兴趣的物品。自适应超媒体技术[23]已经支持该服务。
发现可信的推荐系统:有些用户不信任推荐系统,于是他们抱着试试看的态度去尝试推荐系统的推荐结果。因此,除了那些仅仅想要获得推荐的用户,一些系统还提供特定的功能让用户测试推荐系统的行为。
完善用户资料:这涉及用户向推荐系统提供自己偏好信息的能力。为了提供个性化推荐,这是一个基本任务,也是绝对必要的。如果系统不了解活跃用户(即寻求推荐帮助的用户)的明确信息,那系统只能提供给该活跃用户与一般用户一样的推荐。
自我表达:有些用户可能一点也不在意给出的推荐结果。相反,对他们重要的是,系统允许他们展示他们的评分,并表达他们的评价和观念。这种行为产生的用户满意度仍会有助于保持用户和应用程序的紧密关系(正如我们前面讨论服务提供商的动机中提到的那样)。
帮助他人:有些用户乐于贡献信息,如他们对物品的评价(评分),因为他们相信社区能从他们的贡献中获得益处。这可能是将这类信息输入推荐系统的主要动机,即使他们不经常使用这个推荐系统。例如,汽车推荐系统中,一个已经买了新车的用户将评价信息输入推荐系统时,他更多考虑的是这些信息对于其他用户有用,而不是为了下次再买一辆车。
影响他人:在基于web的推荐系统中,某些用户的主要目标是对其他购买特定产品的用户产生明显的影响。实际情况是,有一些恶意用户可能利用系统仅仅用来促进或抑制某些物品的销售(见第25章)。
正如这些观点所表明的那样,信息系统中的推荐系统的作用是有很大区别的。这种多样性需要利用一系列不同的知识源和技术。在接下来的两节中,我们将讨论一个推荐系统的数据和推荐系统常用的核心技术。