推荐系统——基本概念


  1. 帕洛阿尔托研究中心的Tapestry系统(Goldberg et al.1992)引入了协同过滤的思想和概念,展示了如何将显示标注数据和隐式行为数据注入可查询的数据库中,以及用户如何利用这些数据进行个性化过滤。
  2. Grouplens系统(Resnick et al.1994)展示了协同过滤方法既能跨网计算又能自动完成,GroupLens针对Usenet新闻消息进行自动协同过滤。
  3. MIT的Ringo系统是针对音乐唱片和艺术家进行过滤。
  4. 贝尔通信研究中心的视频推荐系统(Hill et al.1995)针对影片进行过滤。

每个系统都是使用相似的自动化技术——通过算法识别出其他有相似爱好的用户,然后综合他们的评分给出个性化的加权平均值。简单的“K最近邻”算法非常有效,在所有协同过滤算法中脱颖而出,很快成为黄金标准。


面向系统的探索
此阶段(不仅是通过协同过滤,还有基于知识的系统,比如FindMe系统(Burke et al.1996))证明了推荐系统的可行性和效果,极大地激发了人们推动该领域在科研及商业实践方面不断向前发展。
这一阶段的关键事件是1996年3月在伯克利举办的协同过滤专题研讨会。这次集会将工作在个性化和非个性化系统、不同算法(从统计汇总、K最近邻到贝叶斯聚类)、不同领域的人们聚集在了一起,最后达成共识:围绕一个主题,推荐系统展开。专题学术研讨会的《ACM通信》专刊(Resnick and Varian 1997)


快速商业化
这一时期研究工作的重点是解决技术挑战。人们开发新的算法以降低在线计算时间,包括沿用至今的基于物品的关联算法和降维方法。研究人员更感兴趣的是根据对于top-n推荐列表的各种性能的度量来评价各个推荐系统。研究领域非常广泛,包括隐式评分、新用户和新物品的冷启动问题以及可信度、可解释性和透明度等用户体验相关问题。


推荐成为主流
推荐系统作为一门技术仍然存在,并广泛应用在电子商务、大规模零售业和各种知识管理应用中;与此同时,来自人工智能、信息检索、数据挖掘、安全与隐私以及商业与营销等各个领域的研究,都为推荐系统提供了新的分析和方法。


前进——基于上下文的推荐
证明推荐领域评估算法中传统的“隐藏某些数据”方法存在缺陷的论文 (Marlin and Zemel 2009),而近年被引用册数最多的推荐领域论文是一篇设计如何让评估适合用户需求的论文(Herlocker et al.2004)。


前言


  1. 推荐系统的主要目标:构建支持用户在线决策的系统,此目标强调要为大规模用户提供便捷访问的高质量推荐。
  2. 推荐领域的核心问题是:努力推荐用户支付得起、个性化、匹配度高的产品,这也对技术和心理学提出了很多挑战。尽管在技术层面上,我们关心的是发现尽可能有效利用可用信息和知识的方法,但在设计最终用户交互过程时,必须考虑到心理层面的因素。因此,推荐系统不能被简单化为简单的决策理论概念。

我们重点讨论个性化推荐系统。提供个性化推荐系统要求系统知道每个用户的信息。推荐系统必须开发并维护一个用户模型(User Model)用户记录(User profile) 保存用户的偏好。尽管用户模型对每个推荐系统很重要,但如何获得并利用这个信息取决于特定的推荐技术,用户的偏好可以通过监测用户行为隐式地获取,也可以由推荐系统询问的方式显式地获取。
这种背景下的另一个问题就是,系统在生成个性化推荐列表时该利用社么样的额外的信息。已经应用在许多在线书店的最著名的方法就是考虑其他用户构成的大规模群体的行为、意见和爱好。系统经常称之为基于群体或协同的方法


基本概念

目录

  1. 协同过滤推荐
  2. 基于内容的推荐
  3. 基于知识的推荐
  4. 混合推荐方法
  5. 推荐系统的解释
  6. 评估推荐系统

1、协同过滤推荐

1)、协同过滤推荐方法的主要思想:
利用已用用户群过去的行为或意见预测作为当前用户最可能喜欢那些东西或对那些东西感兴趣。主要作为在线零售系统对某个顾客需求个性化定制内容的工具。
2)、协同过滤方法背景下的常见问题如下:

  1. 如何发现与我们要推荐的用户有着相似偏好的用户?
  2. 如何衡量相似度
  3. 如何处理还没有购买经历的新用户?
  4. 如果只有很少的评分该怎么办?
  5. 除了利用相似的用户之外,还有那些技术可以用来预测某个用户是否喜欢其物品?

纯粹的协同过滤方法不会利用或要求任何有关物品本身的知识。


1.1 基于用户的最近邻推荐

(user-based nearest neighbor recommendation),其主要思想简述为:首先,给定一个评分数据集合当前(活跃)用户的ID作为输入,找出与当前用户过去有相似偏好的其他用户,这些用户有时也被称为对等用户或最近邻用户;然后,对当前用户没有过的每个产品p,利用其近来对p的评分计算预测值。这种方法的假设是:(1)如果用户过去有相似的偏好,那么他们未来也会有相似的偏好;(2)用户偏好不会随时间而变化。


1.2 基于物品的最近邻推荐

尽管基于用户的协同过滤方法已经被成功应用于不同的领域,但在一些有着数以百万计用户和物品的大型电子商务网站上还是会存在很多严峻挑战。尤其是当需要扫描大量潜在近邻时,这种方法很难做到实时计算预测值。因此,大型电子商务网站经常采用一种不同的技术:基于物品的推荐。这种推荐非常适合做线下预处理,因此在评分矩阵非常大的情况下也能做到实时计算推荐(Sarwar et al.2001)
基于物品算法的主要思想是利用物品间相似度,而不是用户间相似度来计算预测值。


2、基于内容的推荐

一般来说,推荐系统有两个目的。一方面,推荐系统被用于激发用户去做某件事情,比如购买一本或观赏一部电影;另一方面,推荐系统也可以被看做是解决信息过载的工具,因为系统的目标是从大集合里选择最感兴趣的物品。因此推荐系统根植于信息检索和信息过载领域。这些领域主要强调的是区分相关和不相关的文档。(这些领域的许多技术利用了源于文档内容的信息进行排名)。
1)、基于内容推荐的核心:
基于内容推荐的核心是能够得到物品的描述(不管是人工生成还是自动获取的)和这些特征的重要记录。与物品的描述类似,用户记录也需要自动抽取或“学习”,方法是分析用户的行为和反馈,或者直接询问用户的兴趣和偏好。
2)、基于内容推荐必须回答下面的问题:

  1. 系统如何自动获取并持续改进用户记录
  2. 如何决定哪个物品匹配或者至少能接近、符合用户的兴趣?
  3. 什么技术能自动抽取或学习物品的描述,从而减少人工标注?

3)、基于内容推荐的优点:

  1. 不需要大规模用户就可以达到适度的推荐精确度;
  2. 一旦得到物品的属性就能立刻推荐新物品。

3、基于知识的推荐


3.1 基于知识推荐的基本思想

基于知识的推荐系统可以解决冷启动问题,推荐结果不依赖单个用户评分:要么是以用户需求与产品之间相似度的形式,要么是根据明确的推荐规则。关于推荐系统是什么,传统解释一般强调信息过滤这一方面,及过滤出某个用户可能感兴趣的产品。相比较而言,基于知识推荐的交互性很强,这个基本性质也是作为会话式系统的原因。交互性方面的稍微改变使得推荐系统不再仅仅被看做一种过滤系统,而是更为广义上“以一种个性化方法引导用户在大量潜在候选项中找到感兴趣或有用的物品,或者产生这些物品作为输出结果”的系统。


3.2 基于知识推荐的类型

基于知识推荐的两种基本类型是基于约束推荐和基于实例推荐
1)、相同点:这两种方法在推荐类型上非常类似,用户必须指定需求,然后系统设法给出解决方案。如果找不到解决方案,用户必须修改需求。此外,系统还要给出推荐物品的解释。
2)、不同点:这些推荐系统的不同之处在于如何使用所提供的知识,基于实例的推荐系统着重于根据不同的相似度衡量方法检索出相似的物品,而基于约束的推荐系统依赖明确定义的推荐规则集合。基于约束的协同会在符合推荐规则的所有物品集合中搜素得出要推荐的物品集合。另一方面,基于实例的系统会根据相似度衡量标准检索那些与特定用户需求(在预定义阀值内)相似的物品。


3.3 基于知识推荐系统要解决的问题

  1. 哪种领域知识能表示成知识库
  2. 什么机制可根据用户的特点来选择和排名物品?
  3. 如何在没有购买记录的领域获取用户信息?如何处理用户直接给出的偏好信息?
  4. 哪种交互式能够用于交互式推荐系统?
  5. 设计对话时,要考虑哪些个性化因素才能确保准确获得用户偏好信息?

4、混合推荐方法

我们已经看到,由于问题背景不同,目前讨论的方法各有优、缺点。一种显而易见的方法就是组合不同技术产生更好或更精确的推荐(我们以后会讨论什么是”好“的推荐)。如果既有群体知识,又可以取得详细的物品信息,那么把基于内容的技术和协同或社会化过滤技术相混合就能够增强系统的效果。这种设计尤其适用于克服纯粹协同方法的规模膨胀问题,并依赖内容分析处理新物品或新用户。


4.1 混合推荐方法遇到的问题

  1. 哪种方法能够被组合,特定组合的前提是什么?
  2. 两个或多个推荐算法是应该顺序计算,还是采用其他混合方式?
  3. 不同方法的结果如何赋以权重,可以动态决定吗?、

5、推荐系统的解释

人们在交流和推理的时候经常会用到”解释“。因此,在人工智能研究领域,尤其在开发模仿人类行为的系统方面,研究者对解释的本质产生极大的兴趣。从”什么是解释?“这个问题开始,我们遇到了无数的可能性。因此,人们还不清楚该如何设计一种通用的方法生成解释。面对这样的挑战,有人可能会问为什么推荐系统需要给出解释。问题的答案与两个方面有关:推荐的提供方和接受方。
尽管对”解释“ 的理解各不相同,但几乎所有人都同意解释是一种在沟通过程中进行交流的信息。在推荐系统里,用这种信息补充推荐结果的目的有很多。从实用角度看,在推荐结果中提供解释的主要目的可以列举如下:

  1. 透明性
  2. 正确性
  3. 可信度
  4. 说服力
  5. 有效性
  6. 效率
  7. 满意度
  8. 关联度
  9. 可理解性
  10. 教育

解释被用于沟通过程中。因此,一个解释是否适合取决于解释的提供方和接受方两者的目标。因此,我们可以通过对接受方进行建模来提高解释的质量。
此外,解释是否正确(或有用)取决于沟通过程本身,后面将会讲到早期生成解释的尝试中忽视的一个事实,这个事实将有可能导致虚假的解释。总结,下面几个因素会影响到推荐系统在与接收方沟通时的解释生成:

  1. 需要解释的信息项
  2. 提供(接受)解释的目的
  3. 沟通的状态,指交换的信息,包括提供的推荐。

如何实现这些目标取决于所用的推荐方法!


6、评估推荐系统

推荐系统需要用户和计算机系统以及其他用户进行交互。因此,在解答一些研究问题时,社会行为研究的一些方法仍然是适用的,比如,用户认为与推荐系统交互有用吗?他们对收到的推荐结果满意吗?是什么驱使用户贡献知识,比如有助于提高系统领域预测质量的评分或评论?或者用户关于接受推荐真正喜欢的是什么?是意外与新奇,还是他们只是不想再继续找下去?要想评估一个技术体系在针对某个特定目标时是否有效,比如提高用户满意度,或者确保电子商务平台的经济效益,我们还可以列出更多类似的问题进行研究。此外,在评估推荐系统时还有跟多相关的技术问题,比如,与系统性能有关的,像用户请求的响应度、可伸缩性以及峰值负载或可靠性。此外,有关推荐系统的整个生命周期的目标,比如,增大效应、可维护性和可扩展性,还有减少经营成本,这些都是评估研究领域需要考虑的。


我们也研究论了一些替代方法来更好地描述用户体验或系统目标。这些评估方法可以划分为实验、半实验和非实验三种研究设计方案。因此,评估推荐系统必须回答下列问题:

  1. 哪些研究设计适用于评估推荐系统
  2. 如何利用历史数据实验评估推荐系统
  3. 什么衡量标准适合不同的评估目标
  4. 现有评估技术的局限是什么?尤其是在推荐系统的会话性或商业价值。

你可能感兴趣的:(推荐系统理论)