本文是项亮老师的博士论文总结 原文链接

第一章 引言

1.1 背景与意义

用户从大量信息中找到自己感兴趣的信息是一件很困难的事情,生产商如何让自己生成的信息脱颖而出,受到用户欢迎也是一件困难的事情,因此,为了解决这一矛盾开发了推荐系统. 推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它有兴趣的用户面前,从而实现信息消费者和信息生产者的双赢.

搜索引擎的弊端

搜索引擎需要用户主动提供关键词来寻找信息,因此不能解决用户的很多其他需求,比如用户无法准确找到描述自己需求的关键词时,搜索引擎就无能为力了,和搜索引擎一样,推荐系统是一种帮助用户发现有效信息的工具,不同点在于,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为来给用户的兴趣建模从而主动给用户推荐出能够满足他们兴趣和需求的信息.因此,从某种意义上来说,推荐系统和搜索引擎对用户来说是两个互补的工具,搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现让他们感兴趣的新内容.

社会学领域有一个著名的马太效应问题,信息科学领域也有同样的问题,马太效应指的是好的越好,坏的越坏,多的越多,少的越少的现象.比如电子商务网站有一个热门商品列表,只有最热门的商品可以进入列表,如果用户依赖这个列表寻找商品,那么进入到这个列表中的商品会越来越热门,进入不了热门商品列表的商品会越来越不热门,从而更不容易进入这个列表.搜索引擎也具有马太效应这个问题,热门搜索排名靠前的网站会越来越热门,获得越来越多的外链,PageRank算法中排名也越来越高,更容易获得更高的排名.推荐系统也面临马太效应的挑战,但是因为是一个主动给用户展现信息的系统,因此能更高的控制每个商品的展示次数,让信息长尾中的商品能够在需要他们的用户面前得到充分展示

任务

推荐系统的主要任务,是找到用户可能感兴趣的物品,然后以一定的形式推送给用户,因此推荐系统的两个主要问题就是

1) 如何找到用户感兴趣的东西

2)以什么形式告诉客户

前一个问题主要解决于数据挖掘和机器学习算法,而后一个问题的解决主要依赖于人机交互界面的设计,本文主要研究前一个问题 .

时间信息的作用

任何在线系统都是一个动态变化的系统,每天都会有大量的新用户加入,老用户离开,也会有大量的新内容加入,旧内容消失.物品的热门程度,人们对物品的看法也会随着时间而变化,因此,时间信息对推荐系统来说是一种重要的信息,最近几年,很多研究者发现利用时间信息可以大大的提高推荐系统的预测精度,更加促进了这方面的研究.

推荐系统的动态特征

1.用户兴趣是变化的.原因有很多,可能是由于年龄增长,比如一个小孩子喜欢看动画片,长大了可能不喜欢看动画片了,也有可能是转换生活状态,刚工作的大学生对上学时会发生很大变化,还可能受到周围事件的影响,比如一个不看体育节目的人可能会在背景奥运会期间关注体育赛事

2.物品也是有生命周期的.例如一部电影刚上映的时候可能被很多人关注,但是经久不衰的电影很少,不就就会被遗忘.此外物品也可能受到新闻事件的影响重新热门

3.季节效应,用户行为和物品都受到季节效应的影响,夏天吃冰淇淋,冬天吃火锅,节日也会对用户行为产生影响,比如每年的圣诞节,人们去购物,奥斯卡颁奖典礼,人们会关注电影,因此季节和节日是一种重要的时间上下文信息.

4.系统的动态变化速率,在线系统都是动态变化的,但是不同系统的变化速率不相同,比如新闻系统变化的很快,每日热门新闻都是不同的,相反,电影和音乐的系统变化却比较慢,经常有经典的电影和音乐能在排行榜上雄踞几个月甚至几年

所有这些动态特征,都决定了时间在推荐系统中的重要地位,只有实时跟踪用户兴趣和物品变化的推荐系统,才能让用户有比较高的满意度,为用户找到适合自己的物品提供帮助.

1.2 动态推荐系统的定义

动态推荐系统和传统时间无关的静态推荐系统的区别在于,它能够适应用户兴趣和物品热门度的变化情况以及各种时间上下文,在给定时间给用户推荐他在这个时间段最可能感兴趣的物品,因此,动态推荐系统的任务主要是分析时间因素对用户行为和物品流行度的影响,并根据这些影响对用户做出最好的推荐.简单来说就是设计一个函数,用户集合U,物品集合I,时间集合T,

p : U * I * T --- > R

p(u,i,t)定义了用户u在时刻t对物品i的兴趣的大小

如果时间无关的推荐系统中,是这样定义

p : U * I  --- > R

第二章 推荐系统相关研究综述

2.1 引言

近年,很多研究人员意识到基于用户显性评分数据的评分预测问题并非推荐系统的全部,很多人开始对其他重要的问题进行研究,其中最重要的是如何利用用户的隐性反馈数据预测用户的喜好,来给以用户推荐他们最喜欢的商品,这个问题被称为Top-N推荐问题,该问题之所以重要,是因为首先显性反馈数据相对隐性反馈数据非常少,用户的大量行为都是以隐反馈的形式储存的(比如谁看了什么,浏览了什么等等),其次Top-N推荐问题和实际推荐系统中遇到的问题更加类似.

2.2 推荐系统的商业应用

推荐系统在很多商业网站中有很多的成功应用.其中最主要的应该是给每一个用户提供一个个性化的推荐列表.

著名的商用推荐系统(Amazon,Netflix)的用户界面,他们的推荐结果都有几个重要部分组成:物品的描述,推荐的原因,这两个推荐系统的结果都是根据用户的过去行为给用户做出推荐,因此可以推测他们的基础算法都还是基于物品的邻域算法,即假设用户会喜欢和他们以前喜欢的物品类似的物品.

音乐推荐系统是推荐系统中的一个专门的研究领域,音乐推荐中的著名应用就是个性化电台,让用户对自己听到的音乐不断的反馈,然后实时的通过用户的反馈来更换用户的音乐列表,让用户越来越多的听到令他们满意的歌曲,

2.3 推荐系统的主要方法

很多研究者提出了不同的推荐方法,这些方法可以按照两种方法分类,第一种按照使用的数据分类,可以分为协同过滤,内容过滤,社会化过滤等等,另一种按照模型来分类,可以分为邻域的模型,矩阵分解模型和图模型,本节主要对第一种分类方法对推荐系统的主要方法进行介绍,并在介绍每种方法时介绍他们常用的模型.

预测兴趣的方法

2.3.1 协同过滤

不依赖于用户的属性信息和物品的内容信息,仅仅通过分析大量的用户对物品的行为数据,从中找出特定的行为模式,据此来预测用户的兴趣并给用户做出推荐.

协同过滤算法认为,一个用户会喜欢与他有相似兴趣爱好的用户喜欢的物品,因此,要对一个用户做推荐,首先找到和他兴趣爱好相似的用户.在协同过滤中 兴趣相似度可以用过

兴趣相似度 = 两人喜欢物品的交集/两人喜欢物品的并集

协同过滤的好处,是可以做推荐解释,比如给你推荐一本统计的书理由是你曾买过一本模式分类的书和一本统计学习的书,同时给一本概率论理论的书打过较高的分数.它推荐书都是和用户之前购买或者喜欢的书相似的书.

2.3.2 基于人口统计学的过滤

每个人都有他的人口统计学特征,包括了年龄,性别,工作,学历,居住地,国籍,民族,等等. 这些特征对预测用户的兴趣也有很重要的作用.比如男性和女性的兴趣不同,不同年龄的人兴趣也不同.基于用户人口统计特征的推荐的最大好处,就是可以注册用户的冷启动的问题,当一个用户刚刚注册还没有任何行为的时候,我们就可以根据他注册时候提供的年龄性别信息预测他的兴趣,例如:根据用户看电视,购物的行为将用户根据他们的人口统计学特征分成62个先验的聚类,然后,对任意一个用户,先找到他的聚类,然后给他推荐这个聚类里面用户喜欢的物品.

但是基于人口统计特征的推荐的主要缺点是他的推荐力度太粗.例如只有用户性别年龄数据,对于相同年龄和性别的人的推荐结果将是完全一致的,另外,很多用户在提交自己年龄性别信息时,出于隐私考虑,可能不会提供真实信息,导致推荐系统的误差.

2.3.3 内容过滤

内容过滤是推荐系统中的一种重要的方法,这种方法的基本思想是给用于推荐和他们之前喜欢的物品在内容上相似的其他物品.比如用户喜欢一本数据挖掘的书,那么基于内容过滤的推荐系统就会给他推荐其他他没有看过的数据挖掘方面的书.因此,内容过滤的推荐系统的核心任务就是计算物品的内容相似度.

给物体内容建模的方法很多,其中最著名的模型就是向量空间模型,这个模型首先抽取物品的关键词,然后利用tf-idf算法计算关键词的权重,令K是物品d的第i个关键词,wij是ki在dj上的权重,那么物品dj的内容可以定义为一下向量模型:

内容过滤算法给用户推荐和他们之前喜欢物品在内容上相似的物品,因此需要根据用户之前喜欢的物品对用户对内容的喜好建模.用户u的内容喜好向量定义如下

N(u)是用户u之前喜欢的物品集合,因此用户内容喜好向量就是根据用户喜欢的所有物品的向量模型的平均,计算出所有物品内容向量content()和所有用户的内容喜好向量ContentBasedProfile()之后,给定任意一个用户u和他不知道的物品d,用户对物品的喜好定义为ContentBasedProfile(u)和content(d)向量的相似度

sim()定义了两个向量的相似度.

利用关键词给物品建模是很多内容推荐系统的重要部分,但准确的抽取物品的关键词也是一个困难的问题,特别在多媒体领域,例如图像视频的推荐系统中,很难根据图像和视频内容提取文本的标签.

为了解决这一问题,解决方案大致分两种,一是利用专家给物品标签,另一种是让用户给物品贴标签,例如jinni的电影推荐系统,他们给研究人员定义了900多个不同的标签,然后让电影专家给每一个电影标注一系列的标签,

和专家标注系统相比,用户标注系统的应用范围更加广泛.代表的网站有Delicious,Flickr等等,用户标签相对于专家标注的特点事标签更加多样,也更能反映用户的长尾兴趣,但是缺点是质量不高,有很多错误的标注.因此在用户标签系统中,主要有两类推荐问题,一是如何给用户推荐标签,即当用户面对一个物品时,给他推荐一些适合于这个物品的标签供用户选择,这样做的目的有两个,首先是方便用户标注,用户只是通过点击就能完成标注,其次可以提高用户标注的质量.另一个问题是如何利用标签来给用户推荐物品,当用户给了标签后,最简单的推荐方法是将标签作为物品的关键词,然后利用前面提到的内容过滤的算法给用户做推荐.

2.3.4 社会化过滤

在现实社会中,用户的兴趣和选择往往受到好友的影响,随着社交网络的兴起,如何利用用户之间的社会关系设计推荐系统,是近几年推荐领域比较热门的研究问题.基于社会网络的推荐算法被称为社会化过滤,

最简单的社会化过滤算法是基于邻域的算法,给定用户u,令F(u)为用户好友的集合N(u)为用户u喜欢的物品集合,那么用户u对物品i的喜好程度定义为用户u的好友中喜欢物品i的好友个数:

除了简单的邻域模型,还有很多社会化过滤算法,jamali利用图模型将用户的社会网络和用户物品的喜好关系建模到一张图,然后利用随机游走算法给用户做社会化推荐,

社会化过滤相对协同过滤有以下的优点:

1.很多的网站中,用户物品矩阵的稀疏度比较高,因此仅仅利用用户对物品的行为关系来做协同过滤往往遇到稀疏的问题,造成推荐精度较差.特别是遇到冷启动的问题,协同过滤无法给出推荐,但是如果我们能通过Facebook等网站提供的API获得他的社会网络信息,就可以根据他朋友的历史行为来预测他的兴趣

2.在现实社会中,人们的的选择确实会受到社会关系的影响,因此好的社会化过滤算法可以提高推荐的精度,而且因为现有的推荐系统绝大多数是基于协同过滤的此时如果引入社会化过滤也可以推荐出协同过滤无法推荐出的物品,从而增加推荐结果的多样性和用户精细度.

3.但是,社会化过滤也有一些缺点,最主要的缺点是,用户之间的社会关系形成的原因很多,可能因为血缘关系,同学关系或者有共同的兴趣爱好,但是只有依赖共同兴趣爱好形成的社会网络关系对预测用户的兴趣才会有比较大的帮助,因此,如何鉴别不同社会关系对预测用户不同行为的作用,是社会化过滤的一个重要研究方向.

2.3.5 基于位置的过滤

基于位置的过滤主要被用作旅游领域,MappyFriends同时利用社会网络和位置信息设计的推荐系统,该系统通过分析用户的位置,给用户推荐那些他们的好友在附件旅游的景点,很多基于位置的推荐算法中,位置主要被作为一种重要的上下文信息.

2.4 推荐系统的动态特征性的研究现状

推荐系统是处在不断地变化之中,用户的兴趣,物品的属性也是不断变化的,每天会有大量的新用户新物品加入到这个系统中,此外,时间是一种重要的上下文信息,用户在不同的时间段会有不同的兴趣,白天和晚上,工作日和周末,节假日,不同的季节等因素,因此,合理的利用时间信息,考虑推荐系统的动态特征,对提高推荐的准确度和用户的满意度会有很大的帮助.

传统的推荐系统在设计时并没有主动考虑时间因素,但这些方法给用户的推荐结果并不是静态的.因为用户不断有新的行为,新的物品也会加入到网站中,由于用户之前喜欢的物品集合是随着时间不断变化的,所以推荐结果也是不断变化的,另一方面用户喜欢的物品也是动态变化的,因此过滤结果也是变化的.

虽然前面所述的推荐算法结果是随着数据变化而变化,但是并没有主动考虑时间因素的影响,用户未来的兴趣主要受到他近期兴趣的影响,所以推荐算法应该加重用户近期行为对最终结果的影响.工程师在协同过滤算法的基础上引入时间衰减函数来实现他们的猜想并提高了推荐的准确度,某些情况下,我们无法知道用户每个行为发生的具体时间,但可以知道先后顺序.

2.5 推荐系统的评测

2.5.1 准确度

常用平均绝对误差或者均方误差来评测评分预测的准确度:

这里T是测试集 ^rui 是算法预测用户对物品的打分,rui是数据集中用户u对i的实际打分

TOP-N推荐问题和评分预测问题不同,他的目的时对每一个用户,通过分析他们的历史行为,给他们推荐他们可能喜欢的物品,对于用户u,算法推荐结果Ru,Tu是测试集中用户u喜欢的物品集合,可以通过准确率和召回率来度量推荐的精度

2.5.2 覆盖度

​推荐系统的一个重要任务是解决长尾的问题,即如何将长尾中的物品推荐给喜欢它们的用户。一个好的推荐系统应该不仅仅给用户推荐他们满意的物品,而且应该能够让高质量的物品出现在用户的推荐列表中。推荐系统的覆盖度度量了推荐系统能把多大比例的物品推送给至少一个用户。如果令R(u)是推荐系统给用户u的推荐列表,那么推荐系统的覆盖度定义为

其中,U是用户集合,I是物品集合。从上面的定义可以看到覆盖度介于(0,1]之间。覆盖度越大的推荐系统能够更好的发掘长尾。此外,准确度和覆盖度之间并没有直接的联系,准确度高的推荐并不一定有高的覆盖度。比如考虑两种推荐算法,算法A给所有用户都推荐N个最热门的物品,算法B给用户随机推荐物品。算法A的准确度高于算法B,但算法A的覆盖度却是所有推荐算法中最低的,因为它给所有用户的推荐结果相同。

2.5.3 多样性

多样性过低的推荐结果会影响用户的体验。比如,对于一个武侠迷,仅仅给他推荐金庸的小说,虽然准确度并不低,但多样性却比较低,不如给他推荐不同武侠小说家的经典作品,这样可以兼顾准确度和多样性。很多研究表明,传统的协同过滤算法以及内容过滤算法的推荐结果的多样性都是偏低的。因此,很多研究人员提出了很多提高推荐结果多样性的算法

令R u 是给用户u的推荐列表,那么推荐列表R u 的多样性,是通过这个列表中物品两两之间的相似度来描述的。即如果一个推荐列表中的物品两两之间越不相似,那么这个推荐列表的多样性越高。给定两个物品i,j,令sim(i,j) ∈ [0,1]为它们的相似度,sim(i,j)越大,表示这两个物品越相似。 从而,R u 的多样性定义为:

推荐结果的多样性定义依赖于物品相似度函数的定义.不同的相似度度量可以定义出不同的多样性,比如内容相似度可以定义为内容多样性.

2.6 小结

​首先介绍了著名的商用推荐系统,然后按照不同的分类介绍了推荐系统的主要算法以及相关工作,并着重讨论了利用时间信息的动态推荐系统的相关研究工作,最后讨论了推荐系统的常用评测指标

动态推荐系统关键技术研究(一)相关推荐

  1. 国科金:共融机器人基础理论与关键技术研究重大研究计划

    来源:学术头条 国家自然科学基金委员会现发布共融机器人基础理论与关键技术研究重大研究计划 2022 年度项目指南,请申请人及依托单位按项目指南中所述的要求和注意事项申请. 国家自然科学基金委员会 20 ...

  2. 【看论文】之《番茄采摘机器人关键技术研究_王丽丽 》

    论文信息 论文题目:<番茄采摘机器人关键技术研究> 作者:王丽丽 单位:北京工业大学 来源:中国知网 论文性质:博士学位论文 论文提交时间:2017.5 摘要 主要研究内容: (1)总体设 ...

  3. 云计算环境下安全关键技术研究

    摘 要 云计算已发展成为大数据应用.跨平台应用的主要解决方案,而虚拟化.大规模.开放性等特征,带来了更多安全威胁和挑战,通过分析云计算安全防御模型架构,分别对云计算安全的技术特征.运行特征.保障模式等 ...

  4. 面向公交营运的车路协同关键技术研究

    面向公交营运的车路协同关键技术研究 面向公交营运的车路协同关键技术研究 一.公交运行痛点 痛点一:视觉盲区存在安全隐患 痛点二:路况信息.路面状态获取滞后 痛点三:伪优先不能提升公交可靠性和路网运行效 ...

  5. 【看论文】之《基于双目视觉的棚室番茄采摘关键技术研究_胡慧明》

    论文信息 题目:<基于双目视觉的棚室番茄采摘关键技术研究> 作者:胡慧明 单位:湖北工业大学 论文性质:硕士学位论文 提交日期:2018.5.31 摘要 绪论 国外研究现状 20世纪60年 ...

  6. java开发爱恩斯坦棋,爱恩斯坦棋计算机博弈关键技术研究

    爱恩斯坦棋计算机博弈关键技术研究 [摘要]:计算机博弈是人工智能领域的重要研究方向之一,被誉为人工智能学科的"果蝇".爱恩斯坦棋属于完备信息博弈棋种,是一种棋局信息完全透明的博弈类 ...

  7. 最先进的智能采茶机器人_智能采茶机器人关键技术研究

    ■我有技术 所属领域:新一代信息技术 单位名称:长沙学院 成果简介:该项目为湖南省科学技术厅科技计划一般项目,项目立项名称为"智能采茶机器人关键技术研究",项目编号为"2 ...

  8. 2018FME博客大赛-基于FME的不同比例尺线面要素 一致性检测关键技术研究

    编  写:曹 文 涛 武汉市测绘研究院 二○一八年三月 概述 随着地理信息系统技术的不断发展和广泛应用,各省市国土测绘部门都纷纷建立起了各种比例尺的基础地理信息数据库,其提供的矢量地理数据为社会各行业 ...

  9. 基于空间域的信息隐藏关键技术研究

    实践题目:基于空间域的信息隐藏关键技术研究 目标是实现对320x240的灰度图像(样本自选,不能是lena图像)进行信息隐藏设计,应用空间域信息隐藏方法(例如LSB替换方法等)进行实验测试.对上述技术 ...

  10. 博客与计算机相关的内容无法进行查看,博客检索的关键技术研究-计算机科学与技术专业论文.docx...

    博客检索的关键技术研究-计算机科学与技术专业论文 Classified Index: TP391.3 U.D.C.: 681.37 Dissertation for the Master Degree ...

最新文章

  1. 解决xcode ***is missing from working copy
  2. 高通平台:USB充电
  3. Jquery中对常用控件赋值的方法
  4. 组件kdsvrmgr无法正常工作_汽轮机润滑油冷油器六通阀的工作原理及现阶段存在的问题...
  5. 从华为“鸿蒙”备胎看IT项目建设
  6. Android Listview中Button按钮点击事件冲突解决办法
  7. inventor扳手制作视频_弱电工程视频监控系统施工方案,可作施工组织设计
  8. Puppet 命令参数介绍(三)
  9. mysql执行动态说起来_MySQL实战45讲学习笔记:第十四讲
  10. jsfl读取xml,图片,并生成swf
  11. 最速下降法python_最速下降法python实现
  12. 转帖:在北京5年艰辛快乐的创业经历
  13. stm32h7内存分配_【STM32H7教程】第9章 STM32H7重要知识点数据类型,变量和堆栈...
  14. k8s集群搭建(亲测有效)
  15. AMD 锐龙 6800H AMD显卡 看B站卡顿 特别是退出全屏的时候很卡 解决方法
  16. android模拟器mac版本下载,MaxMac电脑版怎么下载 安卓模拟器电脑版下载地址
  17. 解决photoshop菜单卡顿,闪动,停顿问题
  18. python读取json文件,大批量写入mongo
  19. 【程序设计】C语言程序设计基础教材题解
  20. 高中计算机奥赛 加分,自主招生 | 五大学科竞赛含金量大盘点,高一、高二如何参赛?...

热门文章

  1. 物联网设备通过MQTT接入华为iot平台
  2. 汉字笔画动图怎么做_汉字笔画动态图软件 汉字笔画大全
  3. navicat8注册码
  4. Lobooi个人作业:阅读与准备作业
  5. 如何在知网直接下载PDF格式的硕博士论文
  6. 同城门户同城分类信息网站源码discuz插件+pc端+小程序端+49款插件
  7. 中国装配式模块化建筑(PPVC)行业发展趋势前瞻与十四五战略规划研究报告2022年版
  8. Context.getDir
  9. Redis源码之——跳表skiplist原理和源码调试
  10. Springboot 整合CXF框架