序
每个系统都是使用相似的自动化技术——通过算法识别出其他有相似爱好的用户,然后综合他们的评分给出个性化的加权平均值。简单的“K最近邻”算法非常有效,在所有协同过滤算法中脱颖而出,很快成为黄金标准。
面向系统的探索
此阶段(不仅是通过协同过滤,还有基于知识的系统,比如FindMe系统(Burke et al.1996))证明了推荐系统的可行性和效果,极大地激发了人们推动该领域在科研及商业实践方面不断向前发展。
这一阶段的关键事件是1996年3月在伯克利举办的协同过滤专题研讨会。这次集会将工作在个性化和非个性化系统、不同算法(从统计汇总、K最近邻到贝叶斯聚类)、不同领域的人们聚集在了一起,最后达成共识:围绕一个主题,推荐系统展开。专题学术研讨会的《ACM通信》专刊(Resnick and Varian 1997)
快速商业化
这一时期研究工作的重点是解决技术挑战。人们开发新的算法以降低在线计算时间,包括沿用至今的基于物品的关联算法和降维方法。研究人员更感兴趣的是根据对于top-n推荐列表的各种性能的度量来评价各个推荐系统。研究领域非常广泛,包括隐式评分、新用户和新物品的冷启动问题以及可信度、可解释性和透明度等用户体验相关问题。
推荐成为主流
推荐系统作为一门技术仍然存在,并广泛应用在电子商务、大规模零售业和各种知识管理应用中;与此同时,来自人工智能、信息检索、数据挖掘、安全与隐私以及商业与营销等各个领域的研究,都为推荐系统提供了新的分析和方法。
前进——基于上下文的推荐
证明推荐领域评估算法中传统的“隐藏某些数据”方法存在缺陷的论文 (Marlin and Zemel 2009),而近年被引用册数最多的推荐领域论文是一篇设计如何让评估适合用户需求的论文(Herlocker et al.2004)。
我们重点讨论个性化推荐系统。提供个性化推荐系统要求系统知道每个用户的信息。推荐系统必须开发并维护一个用户模型(User Model) 或用户记录(User profile) 保存用户的偏好。尽管用户模型对每个推荐系统很重要,但如何获得并利用这个信息取决于特定的推荐技术,用户的偏好可以通过监测用户行为隐式地获取,也可以由推荐系统询问的方式显式地获取。
这种背景下的另一个问题就是,系统在生成个性化推荐列表时该利用社么样的额外的信息。已经应用在许多在线书店的最著名的方法就是考虑其他用户构成的大规模群体的行为、意见和爱好。系统经常称之为基于群体或协同的方法
目录
1)、协同过滤推荐方法的主要思想:
利用已用用户群过去的行为或意见预测作为当前用户最可能喜欢那些东西或对那些东西感兴趣。主要作为在线零售系统对某个顾客需求个性化定制内容的工具。
2)、协同过滤方法背景下的常见问题如下:
纯粹的协同过滤方法不会利用或要求任何有关物品本身的知识。
(user-based nearest neighbor recommendation),其主要思想简述为:首先,给定一个评分数据集合当前(活跃)用户的ID作为输入,找出与当前用户过去有相似偏好的其他用户,这些用户有时也被称为对等用户或最近邻用户;然后,对当前用户没有过的每个产品p,利用其近来对p的评分计算预测值。这种方法的假设是:(1)如果用户过去有相似的偏好,那么他们未来也会有相似的偏好;(2)用户偏好不会随时间而变化。
尽管基于用户的协同过滤方法已经被成功应用于不同的领域,但在一些有着数以百万计用户和物品的大型电子商务网站上还是会存在很多严峻挑战。尤其是当需要扫描大量潜在近邻时,这种方法很难做到实时计算预测值。因此,大型电子商务网站经常采用一种不同的技术:基于物品的推荐。这种推荐非常适合做线下预处理,因此在评分矩阵非常大的情况下也能做到实时计算推荐(Sarwar et al.2001)
基于物品算法的主要思想是利用物品间相似度,而不是用户间相似度来计算预测值。
一般来说,推荐系统有两个目的。一方面,推荐系统被用于激发用户去做某件事情,比如购买一本或观赏一部电影;另一方面,推荐系统也可以被看做是解决信息过载的工具,因为系统的目标是从大集合里选择最感兴趣的物品。因此推荐系统根植于信息检索和信息过载领域。这些领域主要强调的是区分相关和不相关的文档。(这些领域的许多技术利用了源于文档内容的信息进行排名)。
1)、基于内容推荐的核心:
基于内容推荐的核心是能够得到物品的描述(不管是人工生成还是自动获取的)和这些特征的重要记录。与物品的描述类似,用户记录也需要自动抽取或“学习”,方法是分析用户的行为和反馈,或者直接询问用户的兴趣和偏好。
2)、基于内容推荐必须回答下面的问题:
3)、基于内容推荐的优点:
基于知识的推荐系统可以解决冷启动问题,推荐结果不依赖单个用户评分:要么是以用户需求与产品之间相似度的形式,要么是根据明确的推荐规则。关于推荐系统是什么,传统解释一般强调信息过滤这一方面,及过滤出某个用户可能感兴趣的产品。相比较而言,基于知识推荐的交互性很强,这个基本性质也是作为会话式系统的原因。交互性方面的稍微改变使得推荐系统不再仅仅被看做一种过滤系统,而是更为广义上“以一种个性化方法引导用户在大量潜在候选项中找到感兴趣或有用的物品,或者产生这些物品作为输出结果”的系统。
基于知识推荐的两种基本类型是基于约束推荐和基于实例推荐
1)、相同点:这两种方法在推荐类型上非常类似,用户必须指定需求,然后系统设法给出解决方案。如果找不到解决方案,用户必须修改需求。此外,系统还要给出推荐物品的解释。
2)、不同点:这些推荐系统的不同之处在于如何使用所提供的知识,基于实例的推荐系统着重于根据不同的相似度衡量方法检索出相似的物品,而基于约束的推荐系统依赖明确定义的推荐规则集合。基于约束的协同会在符合推荐规则的所有物品集合中搜素得出要推荐的物品集合。另一方面,基于实例的系统会根据相似度衡量标准检索那些与特定用户需求(在预定义阀值内)相似的物品。
我们已经看到,由于问题背景不同,目前讨论的方法各有优、缺点。一种显而易见的方法就是组合不同技术产生更好或更精确的推荐(我们以后会讨论什么是”好“的推荐)。如果既有群体知识,又可以取得详细的物品信息,那么把基于内容的技术和协同或社会化过滤技术相混合就能够增强系统的效果。这种设计尤其适用于克服纯粹协同方法的规模膨胀问题,并依赖内容分析处理新物品或新用户。
人们在交流和推理的时候经常会用到”解释“。因此,在人工智能研究领域,尤其在开发模仿人类行为的系统方面,研究者对解释的本质产生极大的兴趣。从”什么是解释?“这个问题开始,我们遇到了无数的可能性。因此,人们还不清楚该如何设计一种通用的方法生成解释。面对这样的挑战,有人可能会问为什么推荐系统需要给出解释。问题的答案与两个方面有关:推荐的提供方和接受方。
尽管对”解释“ 的理解各不相同,但几乎所有人都同意解释是一种在沟通过程中进行交流的信息。在推荐系统里,用这种信息补充推荐结果的目的有很多。从实用角度看,在推荐结果中提供解释的主要目的可以列举如下:
解释被用于沟通过程中。因此,一个解释是否适合取决于解释的提供方和接受方两者的目标。因此,我们可以通过对接受方进行建模来提高解释的质量。
此外,解释是否正确(或有用)取决于沟通过程本身,后面将会讲到早期生成解释的尝试中忽视的一个事实,这个事实将有可能导致虚假的解释。总结,下面几个因素会影响到推荐系统在与接收方沟通时的解释生成:
如何实现这些目标取决于所用的推荐方法!
推荐系统需要用户和计算机系统以及其他用户进行交互。因此,在解答一些研究问题时,社会行为研究的一些方法仍然是适用的,比如,用户认为与推荐系统交互有用吗?他们对收到的推荐结果满意吗?是什么驱使用户贡献知识,比如有助于提高系统领域预测质量的评分或评论?或者用户关于接受推荐真正喜欢的是什么?是意外与新奇,还是他们只是不想再继续找下去?要想评估一个技术体系在针对某个特定目标时是否有效,比如提高用户满意度,或者确保电子商务平台的经济效益,我们还可以列出更多类似的问题进行研究。此外,在评估推荐系统时还有跟多相关的技术问题,比如,与系统性能有关的,像用户请求的响应度、可伸缩性以及峰值负载或可靠性。此外,有关推荐系统的整个生命周期的目标,比如,增大效应、可维护性和可扩展性,还有减少经营成本,这些都是评估研究领域需要考虑的。
我们也研究论了一些替代方法来更好地描述用户体验或系统目标。这些评估方法可以划分为实验、半实验和非实验三种研究设计方案。因此,评估推荐系统必须回答下列问题: