推荐系统调研报告与综述

上传人:第*** 文档编号:61620473 上传时间:2018-12-07 格式:PDF 页数:18 大小:332.24KB
返回 下载 相关 举报
推荐系统调研报告与综述_第1页
第1页 / 共18页
推荐系统调研报告与综述_第2页
第2页 / 共18页
推荐系统调研报告与综述_第3页
第3页 / 共18页
推荐系统调研报告与综述_第4页
第4页 / 共18页
推荐系统调研报告与综述_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《推荐系统调研报告与综述》由会员分享,可在线阅读,更多相关《推荐系统调研报告与综述(18页珍藏版)》请在金锄头文库上搜索。

1、推荐系统调研报告推荐系统调研报告及综述及综述 张永锋 清华大学计算机系人工智能研究所 一、一、推荐系统推荐系统概述概述 1.1 什么是推荐系统 推荐系统(Recommender System)的发展已经经历了近 20 年的时间,但是迄今为止仍没有人 试图对推荐系统给出一个精确的定义。 广义上的推荐系统可以理解为是主动向用户推荐物品(Item)的系统,所推荐的物品可以是音 乐、书籍、餐厅、活动、股票、数码产品、新闻条目等等,这依赖于具体的应用领域,推荐系统 所推荐的物品或者对用户有帮助,或者用户可能感兴趣1。 随着电子商务规模的不断扩大,商品数量和种类不断增长,用户对于检索和推荐提出了更 高的

2、要求。由于不同用户在兴趣爱好、关注领域、个人经历等方面的不同,以满足不同用户的不 同推荐需求为目的、不同人可以获得不同推荐为重要特征的个性化推荐系统(Personalized Recommender System)应运而生1。目前所说的推荐系统一般指个性化推荐系统。 1.2 推荐系统的发展历史 如果追根溯源,推荐系统的初端可以追溯到函数逼近理论、信息检索、预测理论等诸多学 科中的一些延伸研究。 推荐系统成为一个相对独立的研究方向一般被认为始自 1994 年明尼苏达大学 GroupLens 研 究组推出的 GroupLens 系统2。该系统有两大重要贡献:一是首次提出了基于协同过滤 (Colla

3、borative Filtering)来完成推荐任务的思想, 二是为推荐问题建立了一个形式化的模型(见 1.4)。 基于该模型的协同过滤推荐引领了之后推荐系统在今后十几年的发展方向。 GroupLens 所提出的推荐算法实际上就是目前人们时常提及的基于用户的协同过滤推荐算 法(User-based Collaborative Filtering Algorithms),虽然论文本身并没有使用这样一个名字。在之 后的十几年中,其它一些著名的协同过滤算法逐渐被提出,主要的有基于物品的协同过滤算法 (Item-based Collaborative Filtering Algorithms)3 ,

4、基 于 矩 阵 分 解 的 协 同 过 滤 算 法 (SVD-based/NMF-based, etc.)等等。当然,基于其它方法而非协同过滤的推荐算法也在不断地发 展,这些方法之间的互补、融合也成为一个重要的研究方向,这些会在本文第二部分(推荐方法 的分类)和第三部分(典型推荐算法概述及优缺点)中详细阐述。 目前,推荐算法已经已经被广泛集成到了很多商业应用系统中,比较著名的有 Netflix 在线 视频推荐系统、 Amazon 网络购物商城等。 实际上, 大多数的电子商务平台尤其是网络购物平台, 都不同程度地集成了推荐算法,如淘宝、京东商城等。Amazon 发布的数据显示,亚马逊网络书 城的

5、推荐算法为亚马逊每年贡献近三十个百分点的创收。 1.3 推荐系统的输入输出 1.3.1 推荐系统的输入数据 推荐系统可能的输入数据多种多样,但是归纳起来可以分为用户(User)、物品(Item)和评价 (Review)三个层面,它们分别对应于一个矩阵中的行、列、值。 1.3.1.1 物品(Item) 用来描述一个 Item 的性质,也经常被称为 Item Profile。根据 item 的不同,Item Profile 也是 不尽相同的。比如对于图书推荐,Item Profile 有可能包括图书所属类别、作者、页数、出版时 间、出版商等;对于新闻推荐,Item Profile 则有可能是新闻的

6、文本内容、关键词、时间等;而 对于电影,可以是片名、时长、上映时间、主演、剧情描述等。 1.3.1.2 用户(User) 用来描述一个用户的“个性” ,也就是 User Profile。根据不同的应用场景以及不同的具体算 法,User Profile 可能有不同的表示方式。 一种直观且容易理解的表示方式与 Item Profile 类似,比如该用户的性别、年龄、年收入、 活跃时间、所在城市等等。但是在推荐系统中,这样的 profile 很难集成到常见的算法中,也很 难与具体的 item 之间建立联系(比如我们很难断定某商品一定不会被某年龄段的人喜欢,这样的 判断过于粗糙),因此这种 User

7、Profile 在推荐系统中虽然也经常会被使用,但是很少直接用在推 荐算法中,而是用于对推荐结果进行过滤和排序。 由于在很多推荐算法中, 计算 User Profile 和 Item Profile 之间的相似度是一个经常会用到的 操作,另一种使用更为广泛也更有实际意义的 User Profile 应运而生4。它的结构与该系统中的 Item Profile 的结构一样,为了更清楚地说明其结构,我们以一种典型的构建 User Profile 的方法 为例来进行说明:考虑该 User 打过分的所有 Item,将这些 Item 的 Item Profile 的每一项分别进 行加权平均,得到一个综合的

8、 Profile,作为该用户的 User Profile。这种 User Profile 的优点是非 常容易计算其与 Item 之间的相似度,同时比较准确地描述了该用户在 Item 上的偏好,巧妙地避 开了用户私人信息这一很难获得的数据,具有保护隐私的能力,进一步,如果加入时间因素,还 可以研究用户在 Item 上偏好的变化等等,因此受到广泛应用。 1.3.1.3 评价(Review) 评价是联系一个User与一个Item的纽带, 最简单的Review是User对某一Item的打分(Rate), 表示了该 User 对该 Item 的喜好程度。在常见的推荐算法中,这是一个 15 的整数。当然,

9、用户 对物品或信息的偏好,根据应用本身的不同,还可能包含很多不同的信息,比如用户对商品的评 论文本、用户的查看历史记录、用户的购买记录等,这些信息总体上可以分为两类:一是显式的 用户反馈,这是用户对商品或信息给出的显式反馈信息,评分、评论属于该类;另一类是隐式的 用户反馈,这类一般是用户在使用网站的过程中产生的数据,它们也反映了用户对物品的喜好, 比如用户查看了某物品的信息,用户在某一页面上的停留时间等等。 虽然目前大多数的推荐算法往往都是基于用户评分矩阵(the Rating Matrix)的, 但是基于用户 评论、 用户隐式反馈数据的方法来完成推荐越来越受到人们的关注, 这些方面的研究长期

10、以来受 到文本挖掘、用户数据收集等方面的难点的制约,没有得到充分的研究,但是它们在解决推荐系 统的可解释性、冷启动问题等方面确实具有重要的潜力567。 1.3.2 推荐系统的输出数据 对于一个特定的用户,推荐系统给他的输出是一个“推荐列表” ,该推荐列表按照优先级的 顺序给出了对该用户可能感兴趣的物品。 对于一个实用的推荐系统而言,仅仅给出推荐列表往往是不够的,因为用户不知道为什么 系统给出的推荐是合理的,进而也就不太会采纳系统给出的推荐。为了解决这个问题,推荐系统 另一个重要的输出是“推荐理由” ,它表述了系统为什么认为推荐该物品是合理的,如“购买了 某商品的用户有 90%也购买了该商品”等

11、等。 为了解决推荐合理性的问题,推荐理由在产业界被作为一个重要的吸引用户接受推荐物品 的方法,在学术届也受到越来越多的关注9。 1.4. 推荐问题的形式化 这里给出推荐问题一个最典型的形式化, 如上所述, 该形式化方法来最早自于 GroupLens 2, 并在12中做了进一步的阐述。 首先我们拥有一个大型稀疏矩阵,该矩阵的每一行表示一个 User,每一列表示一个 Item, 每一个数值表示该 User 对该 Item 的打分,这是一个 05 的分值,0 表示该 User 未曾对该 Item 打分,1 表示该 User 对该 Item 最不满意,5 表示该 User 对该 Item 最满意。视具

12、体情况,对于每 一个 User,可能有其对应的 User Profile,对于每一个 Item,可能有其对应的 Item Profile,如上 所述。 我们现在解决这样一个问题:给定该矩阵之后,对于某一个 User,向其推荐哪些他没有打 过分的 Item 最容易被他接受,这里的“接受”根据具体的应用环境有所不同,有可能是查看该 新闻、购买该商品、收藏该网页等等。 对于推荐算法,还需要一系列的评价指标来评价推荐的效果,这些评价方法和评价指标将 在第四部分具体说明。 1.5. 推荐系统的两大核心问题 有了如上的形式化描述之后,推荐系统所要解决的具体问题总体有两个,分别是预测 (Prediction

13、)和推荐(Recommendation) “预测”所要解决的主要问题是推断每一个 User 对每一个 Item 的喜好程度,其主要手段是 根据已有的信息来计算 User 在他没打分的 Item 上可能的打分,计算结果当然是越准确越好,至 于如何来描述和评价预测的准确度,将会在后面的第四部分说明。 “推荐”所要解决的主要问题是根据预测环节所计算的结果向用户推荐他没有打过分的 Item。由于 Item 数量众多,用户不可能全部浏览一遍,因此“推荐”的核心步骤是对推荐结果 的排序(Ranking)。当然,按照预测分值的高低直接排序确实是一种比较合理的方法,但是在实 际系统中,Ranking 要考虑的

14、因素很多,比如用户的年龄段、用户在最近一段时间内的购买记录 等,第一类 User Profile 往往在这个环节派上用场。 虽然人们早就意识到“预测”和“推荐”作为推荐系统的两大核心问题都具有重要的作用, 但是目前绝大多数的推荐算法都把精力集中在“预测”环节上,多数论文在给出对预测效果的评 估后就结束了。 “推荐”作为重要的后续环节需要更多的研究,这与搜索引擎的发展非常类似。 目前,推荐多样性8、推荐界面等很多方面的研究也在受到越来越多的关注。 二、推荐方法的分类二、推荐方法的分类 按照不同的分类指标,推荐系统具有很多不同的分类方法,常见的分类方法有依据推荐结 果是否因人而异、依据推荐方法的不

15、同、依据推荐模型构建方式的不同等。 2.1 依据推荐结果是否因人而异 主要分为大众化推荐和个性化推荐。大众化推荐往往与用户本身及其历史信息无关,在同 样的外部条件下,不同用户获得的推荐是一样的。大众化推荐一个典型的例子是查询推荐,它往 往只与当前的 query 有关,而很少与该用户直接相关。个性化推荐的特点则是不同的人在同样的 外部条件下,也可以获得与其本身兴趣爱好、历史记录等相匹配的推荐,前面已经有所介绍,这 里不再详细阐释。 2.2 依据推荐方法的不同 也就是考虑如何发现数据的相关性:大部分的推荐系统其工作原理还是基于物品或用户的 相似性进行推荐,大致上可以分为如下几种:基于人口统计学的推

16、荐(Demographic-based Recommendation)10,基于内容的推荐(Content-Based Recommendation)11,以及基于协同过滤 的 推 荐 (Collaborative Filtering-Based Recommendation) , 以 及 混 合 型 推 荐 系 统 (Hybrid Recommendation)16。 其中基于协同过滤的推荐被研究人员研究的最多也最为深入,它又可以被分为多个子类别, 分 别 是 基 于 用 户 的 推 荐 (User-Based Recommendation)2 , 基 于 物 品 的 推 荐 (Item-Based Recommendation)3,基于社交网络关系的推荐(Social-Based Recommendation)13,基于模型的 推荐(Model-based Recommendation)等。 基于模型的推荐是指利用系统已有的数据, 学习构建一个模型, 进而利用该模型进行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号