推荐系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

推荐系统推荐系统出现的原因随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(informationoverload)的时代。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战。无明确需求信息过载推荐系统和搜索引擎的异同相同点:都是一种帮助用户快速发现有用信息的工具不同点:搜索引擎需要用户主动提供准确的关键词来寻找信息推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模从某种意义上说,推荐系统和搜索引擎对于用户来说是两个互补的工具搜索引擎满足了用户有明确目的时的主动查找需求推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容推荐系统的概念和定义定义:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。推荐系统有3个重要的模块:用户建模模块、推荐对象建模模块、推荐算法模块。推荐系统把用户模型中兴趣需求信息和推荐对象模型中的特征信息匹配,同时使用相应的推荐算法进行计算筛选,找到用户可能感兴趣的推荐对象,然后推荐给用户。图1推荐系统通用模型推荐系统的任务联系用户和信息(物品)帮助用户发现对自己有价值的信息让信息能够展现在对它感兴趣的用户面前图2推荐系统的基本任务是联系用户和物品,解决信息过载的问题推荐系统是如何工作的以看电影为例向朋友咨询。这种方式在推荐系统中称为社会化推荐,即让好友给自己推荐物品。打开搜索引擎,输入自己喜欢的演员名,然后看看返回结果中还有什么电影是自己没有看过的。这种推荐方式在推荐系统中称为基于内容的推荐。查看排行榜找到和自己历史兴趣相似的一群用户,看看他们最近在看什么电影,这种方式称为基于协同过滤的推荐。推荐系统(算法)的本质通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。图2展示了联系用户和物品的常用方式,比如利用好友、用户的历史兴趣记录以及用户的注册信息等。图3推荐系统常用的3种联系用户和物品的方式推荐系统模块——用户建模模块一个好的推荐系统要给用户提供个性化的、高效的、准确的推荐,那么推荐系统应能够获取反映用户多方面的、动态变化的兴趣偏好推荐系统有必要为用户建立一个用户模型,该模型能获取、表示、存储和修改用户兴趣偏好,能进行推理对用户进行分类和识别帮助系统更好地理解用户特征和类别,理解用户的需求和任务,从而更好地实现用户所需要的功能建立用户模型之前,需要考虑下面几个问题:模型的输入数据有哪些,如何获取模型的输入数据。如何考虑用户的兴趣及需求的变化。建模的对象是谁。清楚了上述内容后,怎么建模呢。模型的输出是什么。用户建模的大致过程如图图2中获取用户信息就是解决模型输入数据的问题,模型的输入数据主要有以下几种:用户属性用户手工输入的信息用户的浏览行为和浏览内容推荐对象的属性特征图4用户建模的过程获取模型输入数据的方式有显式获取、隐式获取显式的获取方式:用户主动告之优点:简单而直接的做法,能相对准确地反映用户的需求,同时所得的信息比较具体、全面、客观,结果往往比较可靠缺点:很难收到实效,主要原因就是很少用户愿意花时间或不愿向系统表达自己的喜好隐式获取法:指系统通过跟踪用户行为,通过推理获取用户的兴趣偏好优点:减少用户很多不必要的负担,不会打扰用户的正常生活缺点:跟踪的结果未必能正确反映用户的兴趣偏好用户的兴趣和需求会随着时间和情景发生变化,用户建模时要考虑到用户长期兴趣偏好和短期兴趣偏好,还要考虑兴趣的变化,目前很多研究关注了用户的长期兴趣,建立了静态模型,用户兴趣更新的动态模型也受到了很多关注,短期兴趣的关注还比较少建模的对象有单用户建模和群组建模之分单用户建模针对单个用户进行建模,比如基于内容的推荐群组建模是针对群体用户进行建模,比如协同推荐用户模型的建模方法主要有遗传算法、基于机器学习的方法,例如TF-IDF、自动聚类、贝叶斯分类器、决策树归纳和神经网络方法等。推荐系统模块——推荐对象的建模推荐对象进行描述之前也要考虑以下几个问题:提取推荐对象的什么特征,如何提取,提取的特征用于什么目的。对象的特征描述和用户文件描述之间有关联。提取到的每个对象特征对推荐结果会有什么影响。对象的特征描述文件能否自动更新。不同的对象,特征也不相同,目前并没有一个统一的标准来进行统一描述,主要有基于内容的方法和基于分类的方法两大类方法。针对文档类对象的这两个表示方法给以分析。基于内容的方法是从对象本身抽取信息来表示对象,使用最广泛的方法是用加权关键词矢量,该方法通过对一组文档的统计分析得出文档的特征向量。在完成文档特征的选取后,还得计算每个特征的权值,权值大的对推荐结果的影响就大。目前使用最广泛的是TF—IDF方法。基于分类的方法是把推荐对象放入不同类别中,这样可以把同类文档推荐给对该类文档感兴趣的用户了。文本分类的方法有多种,比如朴素贝叶斯(Naive-Bayes),k最近邻方法(KNN)和支持向量机(SVM)等。对象的类别可以预先定义,也可以利用聚类技术自动产生文本等对象特征提取技术相对比较成熟,但推荐系统的对象不一定具有文本特征或文本不足以作为描述,尤其是网络上广泛存在的多媒体数据,自动化的特征提取方法需要结合多媒体内容分析领域的相关技术。推荐系统推荐给用户的对象首先不能与用户看过的对象重复,其次也不能与用户刚刚看过的对象不是太形似或者太不相关,这就是所谓的模型过拟合问题(可扩展性问题)。推荐系统中出现新的对象时,推荐系统尤其是协同过滤系统中,新对象出现后必须等待一段时间才会有用户查看并进行评价,在此之前推荐系统无法对此对象进行分析和推荐,这就是推荐系统研究的另一个难点和重点——冷启动问题。推荐系统模块——推荐算法模块推荐算法是整个推荐系统中最核心和关键的部分,在很大程度上决定了推荐系统类型和性能的优劣公认的推荐算法基本包括以下几种:基于内容的推荐协同过滤推荐基于知识的推荐混合推荐基于内容的推荐该方法是根据用户已经选择的对象,从推荐对象中选择其他特征相似的对象作为推荐结果首先提取推荐对象的内容特征,和用户模型中的用户兴趣偏好匹配,匹配度较高的推荐对象就可作为推荐结果推荐给用户计算推荐对象的内容特征和用户模型中兴趣特征二者之间的相似性是该推荐策略中一个关键部分计算所得的值按其大小排序,将最靠前的若干个对象作为推荐结果呈现给用户协同过滤推荐推荐算法中最成功的策略,它于20世纪90年代开始研究并促进了整个推荐系统研究的繁荣协同过滤推荐一般分为两类:基于用户的协同推荐基于物品的协同推荐基于用户的协同推荐它的基本思想是用户选择某个推荐对象是基于“同好”的推荐也就是说,如果一些用户对某些推荐对象的评分比较相似,则说明这些用户的兴趣偏好相似,那么他们对其他推荐对象的评分应该也是相似的首先找到和目标用户兴趣偏好相似的最近邻居,然后根据他的最近邻居对推荐对象的评分来预测目标用户对未评分的推荐对象的评分,选择预测评分最高的若干个推荐对象作为推荐结果反馈给用户User-CF基于物品的协同过滤推荐基于用户对推荐对象“品牌”的信任而进行的推荐基于物品的协同推荐是基于这样一个假设:如果大部分用户对一些推荐对象的评分比较相似,则当前用户对这些项的评分也比较相似。就好像很多用户对某个品牌比较信任,则其他用户就比较容易选择该品牌的产品首先找到目标对象的最近邻居,由于当前用户对最近邻居的评分与对目标推荐对象的评分比较类似,所以可以根据当前用户对最近邻居的评分预测当前用户对目标推荐对象的评分,然后选择预测评分最高的若干个目标对象作为推荐结果呈现给当前用户Item-CF基于知识的推荐如果把注意力投向其他应用领域,比如消费类电子产品,就会涉及大量的单次购买者,这就意味着推荐系统无法依赖购买记录此时,系统需要利用额外的因果知识生成推荐在这种基于知识的方法中,推荐系统通常会用到有关当前用户和有效物品的额外信息混合推荐各种推荐方法都有各自的优缺点,在实际应用中可以针对具体问题采用推荐算法的组合进行推荐目的是通过组合不同的推荐策略,达到扬长避短的目的,从而产生更符合用户需求的推荐个性化推荐系统的应用在网站中的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网站的点击率和转化率。所有的推荐系统应用都是由前台的展示页面(UI)、后台的日志系统(数据)以及推荐算法系统(算法)3部分构成的。应用领域电子商务(亚马逊)电影和视频网站(Netflix)个性化音乐网络电台社交网络(Facebook)个性化阅读(GoogleReader)基于位置的服务个性化邮件和广告推荐系统评测什么是好的推荐系统?这是推荐系统评测需要解决的首要问题一个完整的推荐系统一般存在3个参与方:用户、物品提供者和提供推荐系统的网站好的推荐系统不仅仅是能够准确预测用户的行为图5推荐系统的参与者评测指标用户满意度预测准确度覆盖率多样性新颖性惊喜度信任度实时性健壮性商业目标1、用户满意度用户作为推荐系统的参与者,其满意度是评测推荐系统的最重要指标用户调查获得用户满意度主要是通过调查问卷的形式GroupLens曾经做过一个论文推荐系统的调查问卷,请问下面那句话最能描述你看到推荐结果的感受?1.推荐的论文都是我非常想看的。2.推荐的论文很多我都看过了,确实是符合我兴趣的不错论文。3.推荐的论文和我的研究兴趣是相关的,但我并不喜欢。4.不知道为什么会推荐这些论文,它们和我的兴趣丝毫没有关系。在线系统中,用户满意度主要通过一些对用户行为的统计得到电子商务网站中,用户如果购买了推荐的商品,就表示他们在一定程度上满意,可以利用购买率度量用户的满意度有些网站会通过设计一些用户反馈界面收集用户满意度,有对推荐结果满意或者不满意的反馈按钮,统计两种按钮的单击情况更一般的情况下,我们可以用点击率、用户停留时间和转化率等指标度量用户的满意度2、预测准确度预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力这个指标是最重要的推荐系统离线评测指标需要一个包含用户的历史行为记录的离线数据集将该训练集通过时间分成训练集和测试集通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为计算预测行为和测试集上实际行为的重合度作为预测准确度3、覆盖率描述一个推荐系统对物品长尾的发掘能力覆盖率最简单的定义:推荐系统能够推荐出来的物品占总物品集合的比例以图书推荐为例,出版社可能会很关心他们的书有没有被推荐给用户覆盖率为100%的推荐系统可以将每个物品都推荐给至少一个用户热门排行榜的推荐覆盖率是很低的,它只会推荐那些热门的物品,这些物品在总物品中占的比例很小一个好的推荐系统不仅需要有比较高的用户满意度,也要有较高的覆盖率为了更细致地描述推荐系统发掘长尾的能力,需要统计推荐列表中不同物品出现次数的分布。如果所有的物品都出现在推荐列表中,且出现的次数差不多,那么推荐系统发掘长尾的能力就很好马太效应:强者更强,弱者更弱很多研究表明现在主流的推荐算法(比如协同过滤算法)是具有马太效应的4、多样性为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域,即推荐结果具有多样性多样性推荐列表的好处用一句俗话表述就是”不在一棵树上吊死“多样性描述了推荐列表中物品两两之间的不相似性5、新颖性新颖的推荐是指给用户推荐那些他们以前没有听说过的物品在一个网站中实现新颖性的最简单方法:把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉O'scarCelma在博士论文中研究了新颖度的评测评测新颖度的最简单方法是利用推荐结果的平均流行度,因为越不热门的物品越可能让用户觉得新颖如果推荐结果中物品的平均热门程度较低,那么推荐结果就可能有比较高的新颖性但是,用推荐结果的平均流行度度量新颖性比较粗略,因为不同用户

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功