推荐系统信息学院目录•推荐系统概述•推荐系统基本技术•推荐系统实例推荐系统推荐系统是为用户做某些事情时提供决策支持建议的软件工具和技术,用户决策过程包括,买什么商品,听什么样的音乐,读什么新闻。电子商务推荐系统的定义:“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。”推荐系统推荐系统对在线用户处理超量信息环境下已经证明是强有力方法和最流行的电子商务工具。在过去的十年中,提出了各种推荐技术,他们中的许多也已成功在商业环境中得到应用(部署)。推荐系统推荐技术的发展涉及多学科,包括人工智能,人机交互,信息技术,数据挖掘,统计,自适应用户界面,决策支持系统,市场营销及消费行为。时下最流行和最基本的构建推荐系统技术为:协同过滤,基于内容的过滤,混合推荐技术。推荐系统•推荐系统的目的•增加商品销售品种。比不推荐销售更多的商品项,因为推荐的正是用户期望的。•销售更多样化的项目。•提高用户满意度。•增加用户的忠诚度•更好地了解用户想要什么。推荐系统意义•信息超载:个性化推荐,个性化搜索•精准营销:提高用户黏着性•回报丰厚:直接带来收益的系统推荐系统•作为一个RS,有些可能被视为主要的或核心的任务,即提供建议给用户,或有用的资料。另一些可能会被视为“投机取巧”的方法来利用一个RS。由于事实上,这非常相似于搜索引擎,它的主要功能是定位用户的信息需求相关的文件,但它也可以被用来检查一个Web页面重要性(寻找在该位置的结果列表中的一个查询)。推荐系统功能1找到一些很好的项:依据预测的用户喜好程度排序推荐给用户一些项(例如,在1-5星量化)。这是许多商业系统主要的推荐任务,有些系统不显示的预测评级。2寻找所有好项:推荐能够满足一些用户需求的所有项。在这种情况下,只找到一些很好的项是不够的。事实上,当项数比较小,或当RS是关键任务,如在医疗或财务应用程序。在这些情况下,除了受益来自仔细检查所有的可能性,用户也可以从这些项的RS排名中获益,或从RS产生其他的解释。推荐系统功能3内容注释:在现有的情况下,如强调用户长期偏好的依赖程度一个项清单说明,例如,一个电视节目推荐系统可能说明哪些电视节目值得关注。4推荐一个序列:而不是专注于生成一个单一的建议,一个整体。典型的例子包括推荐一系列电视剧。5一个包推荐:推荐一组适合的项。例如,可能由不同的旅游景点,目的地和旅游计划组成的旅游计划。推荐系统功能6只是浏览:在这个任务中,用户浏览目录,没有任何即将发生的有意购买产品。推荐人的任务是帮助用户浏览items,保证这些项是更有可能落入用户感兴趣的范围内,这一任务已支持自适应超媒体技术7发现可信的推荐系统:有些用户不信推荐系统,他们使用推荐系统的目的仅仅是看推荐的怎么样,有些推荐系统提供推荐测试功能。8改善个人信息:这与个人提供喜好给推荐系统的能力有关,这是一项根本任务,对提供个性化的建议是绝对必要的。如果系统没有活跃用户的具体的知识,那么它可以只为他提供相同的建议,“平均”的用户。推荐系统功能9帮助他人:有些用户乐于提供信息,例如,他们的评价(评分),因为他们相信,从他们的贡献使社区人员受益。这可能是一个用于输入信息的主要动机。例如,对于一个汽车RS,她已经买了新车,用户知道一些信息体会,输入在系统中是更可能为别的用户有用,而不是下一次她会买一辆车。10对其他人的影响:在基于Web的RS,有用户其主要目标是明确影响其他用户的购买特定产品。作为一个问题,事实上,也有一些恶意使用该系统的用户,可能只是为了推广或惩罚某些项(产品)。推荐系统功能11表达自己,有些用户可能不关心的建议。相反,重要的是,他们被允许表达自己的意见和信念。该活动的用户满意度仍可以作为一个杠杆紧紧地保持用户应用程序。推荐系统的原理推荐技术基本技术一、信息检索二、信息过滤推荐系统原理推荐技术基本技术一、信息检索IR信息检索(InformationRetrieval)是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。狭义的信息检索就是从信息集合中找出所需要的信息的过程,也就是信息查寻。信息的组织就是信息存储,信息的存储是实现信息检索的基础,其核心是内容的索引。而信息查找的核心就是查询技术。推荐技术基本技术二、信息过滤IF依据用户的兴趣和对信息的需求,对信息进行筛选,去掉用户不需要的、无用的信息,得到符合用户兴趣的信息。信息过滤和信息检索的区别在于,信息检索根据用户的需求,从大量信息中查找信息的过程,在这个过程中发生了筛选行为,因此可以说信息检索中发生了信息过滤行为。但是有了信息过滤行为并不一定有信息检索行为,比如某些信息提供机构主动屏蔽一些有害的信息。推荐技术常用技术1、基于协同过滤的推荐2、基于内容的推荐系统3、基于关联规则的推荐4、基于知识的推荐5、基于效用的推荐6、基于Bayesian网络技术的推荐、推荐技术电子商务推荐系统的整体框架主要有“操作数据库,推荐模型库,推荐引擎,人机交互界面”组成。推荐技术电子商务推荐系统模块组成:输入(Input)模块、推荐方法模块(Recommendationmethod)、输出(Output)模块,这三大模块便构成了电子商务个性化推荐系统。输入模块收集以及更新用户信息推荐方法模块占据核心主导地位,性能的优劣深受此模块的影响,起着决定性的主导作用。其中最重要的两项技术支持便是推荐技术和推荐算法。推荐技术协同过滤(CollaborativeFiltering)基于协同过滤的推荐是指分析用户的行为,通过用户在网站上的评分和喜好来寻找目标用户的相似用户,然后通过相似用户对特定项目的评分来为目标用户进行推荐。协同过滤又可分为评比(rating)或者群体过滤(socialfiltering)。成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社群的喜好提供个人化的资讯、商品等的推荐服务。推荐技术协同过滤优点(1)对于很难自动分析非结构化数据的项目(如艺术品、音乐等),该算法能够有效过滤。(2)克服了基于内容推荐算法依赖用户和项目特征的缺点,不需要预处理项目和用户的特征。(3)这种算法可以推荐出用户的潜在需求,从而能推荐新产品售卖。推荐技术协同过滤缺点(1)个人隐私问题:协同过滤推荐系统需要用户大量的行为数据和基本数据,直接产生了个人隐私可能会泄露出去可能。(2)冷启动问题。在协同过滤推荐系统刚启动时,或者在一个新用户刚使用系统时,都会遇到因为数据量不够算法产生的推荐不够精准的问题。(3)稀疏性问题。现实中的数据不像研究数据,它都是很稀疏的,只有很少的用户对很少的项目作给出的评分。(4)可扩展性问题:协同过滤算法时间复杂度非常高,所以当用户和项目增多的时候,系统压力会成倍的增加,如何再在系统后期仍然保持高效和快速的推荐,也是协同过滤算法中亟待解决的难题。推荐技术协同过滤出发点是兴趣相同或相近的用户可能对同样的商品感兴趣。另一种出发点是用户可能偏爱与其已购买的东西相关商品。在电子商务中,这种兴趣可以从其对商品评价中获取。推荐技术协同过滤研究的三个方面1、扩展性:协同过滤算法能够容易地为几千名用户提供较好的推荐,但是对于电子商务网站,往往需要给成百上千万的用户提供推荐,这就一方面需要提高响应时间的要求,能够为用户实时地进行推荐;另一方面还应考虑到存储空间的要求,尽量减少推荐系统运行的负担。面对日益增多的用户,数据量的急剧增加,算法的扩展性问题(即适应系统规模不断扩大的问题)成为制约推荐系统实施的重要因素。•聚类技术是比较公认的有效减少项目数的办法,主要包括以下几种:•(1)k-means聚类算法推荐技术(1)k-means聚类算法:该算法首先计算用户对项目评分的相似度,然后根据计算得到的相似度对项目进行聚类,同时按照一定的规则生成聚类中心,接下来计算目标项目与各聚类中心的相似度,找到与目标项目相似度最高的k个聚类中心所对应的聚类,最后则只需要在这K个聚类中寻找目标项目的最近邻居。如此这样,则可以大大减少寻找的项目空间,也能更多地寻找最近邻居。推荐技术(2)Expectation-Maximization算法(EM):该算法首先估计用户或项目属于某一类的概率,然后按照概率值对用户或项目进行聚类。(3)GibbsSampling方法:该方法的原理与EM算法有些类似,都是首先估算概率值,所不同的是,GibbsSamplin方法需要估计三个概率参数:Pk、Pi和Pki,然后再利用这三个参数对用户或项目进行聚类。(4)模糊聚类:该方法通过设定固定的阀值,并以此来确定对象的相似类别,其与聚类的区别仅仅在于不需要预先给定聚类的数目。推荐技术协同过滤研究的三个方面2、数据稀疏性协同过滤技术的实现首先需要使用“用户—项目评价矩阵”对用户信息进行表示,由于许多电子商务推荐系统要对大量的数据信息进行处理,而在这些系统中一般用户购买商品的总量占网站总商品量的1%左右,因此造成了评价矩阵(用户-项矩阵)非常稀疏。在这种数据量大而且又稀疏的情况下,一方面难以找到最近邻居用户集,另一方面进行相似性计算的耗费也会很大。3、冷启动。在一个新的项目首次出现的时候,因为没有用户对它作过评价,因此单纯的协同过滤无法对其进行预测评分和推荐。而且,由于新项目出现早期,用户评价较少,推荐的准确性也比较差。推荐技术3、冷启动推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量用户行为数据就成为了推荐系统的重要组成部分和先决条件。在一个新的项目首次出现的时候,因为没有用户对它作过评价,因此单纯的协同过滤无法对其进行预测评分和推荐。而且,由于新项目出现早期,用户评价较少,推荐的准确性也比较差。冷启动问题包括用户冷启动问题和项目冷启动问题。•(1)用户冷启动问题。用户冷启动问题是指在协同过滤推荐系统中,其用户信息都是逐渐加入的,对于每一次新加入一个用户,都存在该用户没有任何历史信息可供查询的情况,因此推荐算法也就无从入手查找该用户的最近邻居,进而无法计算该用户感兴趣的项目,自然也就不能给该用户进行推荐。推荐技术3、冷启动冷启动问题包括用户冷启动问题和项目冷启动问题。(2)项目冷启动问题。项目冷启动问题是指在协同过滤推荐系统中,其项目都是逐渐加入的,对于每一次新添加的项目,都存在该项目没有任何用户对其评分的情况,因此推荐算法则无从入手查找该项目的最近邻居,进而无法计算该项目可能获得偏好的用户群,自然也就不能顺利地将该项目推荐出去,而且短时间内新项目获得的评价数据依然偏少,故即使推荐出去,其推荐的准确性也是经不起检验的。•故冷启动问题是推荐系统面临的瓶颈问题,是一个完善理想的推荐系统必须解决的关键难题。目前,业界比较认可也比较常用的解决冷启动问题的技术是基于内容的最近邻居查找技术。该技术的核心思想是:推荐技术业界比较认可也比较常用的解决冷启动问题的技术是基于内容的最近邻居查找技术。该技术的核心思想是:•(1)按照用户的属性进行相似性聚类,聚类办法可以采用聚类技术。•(2)以项目的属性特征为标准,找到新项目属相相似的最近邻居群。•(3)用项目的最近邻居群计算最近邻居的评分平均分,用其代替已有评分的平均值。•(4)将用平均分代替后的最近邻居群矩阵与用户-项目评分矩阵中的协同相似关系群组合,从而获得推荐结果。技术原理2、基于内容的推荐系统CB(Content-basedRecommenderSystems)根据用户和产品自身的性质和特点进行推荐。这种推荐系统会根据产品的性质为产品贴上标签,根据用户以往的购买、使用、点击等行为来确定用户的消费特征,然后把这些特征数据转化为结构化的计算机能够识别使用的数据。比如对于一个电影推荐系统来说,会给电影按照各种特质分类,可以分为:科幻、动作、爱情、恐怖、悬疑、搞笑等等;也可按照国家分类为:中国、美国、欧洲等等;还可以按照上映时间,拍摄导演分类,这可以根据系统功能和用户需求来调整。不同的用户有