毕业设计开题报告
题 目 | 基于用户的协同过滤推荐算法在电子商务中的应用研究 | |||||||
专 业 | 信息管理与信息系统 | 班 级 | 学生姓名 | |||||
一、研究背景及意义 随着网络的普及,网络资源不断丰富,网络信息量不断膨胀。用户要在众多的选择中挑选出自己真正需要的信息好比大海捞针,出现了所谓的“信息过载”的现象。信息过载是指的是社会信息超过了个人或系统所能接受、处理或有效利用的范围,并导致故障的状况。个性化推荐系统的出现是为了解决信息过载的问题,帮助消费者在浩如烟海的产品中找到自己需要的产品,为消费者提供个性化的购物体验[1]。个性化推荐系统日益受到用户的青睐,也受到越来越多的学者和电子商务网站的关注[2]。 个性化推荐可以作为网络营销的一种手段,能为电子商务网站带来巨大的利益。个性化推荐的目标是根据具有相似偏好的用户的观点向目标用户推荐新的商品[3]。好的个性化推荐系统能够发掘用户喜欢的商品,并推荐给用户。可想而知,对于用户而言,如果打开网站的链接并登陆,就能找到自己喜欢的商品,那会省下很多翻看网页的时间和精力,而这样的网站,一定会受到用户的青睐。一个好的个性化推荐系统可以为用户提供便利,继而,使用户与网站之间有更好的粘合度,提高电子商务网站的市场竞争能力。 在众多的个性化推荐算法中,协同过滤被广泛应用,也是最成功的推荐算法[3]。本课题旨在研究基于用户的协同过滤推荐算法在电子商务个性化商品推荐中的应用。 二、国内外研究现状 1.个性化推荐技术的简介 个性化推荐(personalized recommendation)技术通过研究不同用户的兴趣,主动为用户推荐最需要的资源,从而更好地解决互联网信息日益庞大与用户需求之间的矛盾。目前,推荐技术被广泛应用到电子商务、数字图书馆、新闻网站等系统中[4]。因此,各种适用于推荐系统的技术应运而生,如协同过滤技(CF)、bayesian网技术、聚类分析技术、关联规则技术、神经网络技术和图模型技术等[5],其中,协同过滤是应用最为广泛的个性化推荐技术[6]。协同过滤推荐又分为基于模型(Model-based)的协同过滤和基于用户的协同过滤。后来,sarwr教授在2001年提出基于项目的协同过滤算法[7]。 2.基于用户的协同过滤算法的基本思想 其基本思想是:通过计算用户对项目评分之间的相似性,搜索目标用户的最近邻居,然后根据最近邻居的评分向目标用户产生推荐[8]。 典型的协同过滤算法是基于用户的。协同过滤推荐算法的实现过程分为3步: 建立用户模型、寻找最近邻居和产生推荐项目[8]。 ①建立用户模型: 协同过滤算法的输入数据通常表示为一个 m*n 的用户一 评价矩阵R,m是用户数,n是项目数,其中Rij表示第i个用户对第j个项目的评分值; ②寻找最近邻居:在这一阶段,主要完成对目标用户最近邻居的查找。通过计算目标用户与其他用户之间的相似度,算出与目标用户最相似的“最近邻居”集。即: 对 目标用户u产生一个以相似度sim(u,v)递减排列 的“ 邻居” 集合。该过程分两步完成: 首先计算用户之问的相似度,可采用皮尔森相关系数、余弦相似性和修正的余弦相似性等度量方法[9] ,其次是根据如下方法选择“ 最近邻居”:(1)选择相似度大于设定阈值的用户;(2)选择相似度最大的前 k个用户;(3) 选择相似度大于预定阈值的 k个用户。 ③产生推荐项目:计算方法如下 : (1) 其中表示用户与用户之间的相似性,表示最近邻居用户对项目的评分,和分别表示用户和用户的平均评分,公式(1)的实质是在用户的最近邻居集NESi中查找用户,并将目标用户与查找到的用户的相似度的值作为权值,然后将邻居用户对该项目的评分与此邻居用户的所有评分的差值进行加权平均。 通过上述方法预测出目标用户对未评价项目的评分,然后选择预测评分最高的 TOP-N项推荐给目标用户。 3.基于用户的协同过滤算法存在的问题及解决方案 基于用户的协同过滤虽然当给出足够清楚的偏好信息时,它通常表现出良好的性能,但随着站点结构,内容的复杂度和用户人数的不断增加,一些缺点逐渐暴露出来,主要存在稀疏性问题、可扩展性问题[3],也有人提出传统的协同过滤不能反映用户兴趣的变化等问题。这些问题都大大影响了系统的性能,为用户和商家带来不便,针对协同过滤表现出的各种问题,学者们提出了多种解决方案,有基于模糊聚类的可扩展的协同过滤算法[3],基于用户等级的协同过滤推荐算法[5],适应用户兴趣变化的协同过滤推荐算法[4],压缩稀疏用户评分矩阵的协同过滤算法[2],个性化服务中基于用户聚类的协同过滤推荐[10]等。 通常在电子商务网站中,用户购买或评分的商品相对于总商品数量仅占有限的百分比,为总数量的 1%以下,这导致用户-项目评分数据集稀疏。在这种数据量大而评分数据又极端稀疏的情况下,一方面难以成功的定位邻居用户集,影响推荐精度;另一方面在整个用户空间上计算相似用户群的过程不可避免地成为了算法的瓶颈[3],继而增加了响应时间。 4.电子商务个性化推荐 电子商务网站应用的推荐系统给他们的消费者推荐产品,而且给消费者提供信息以帮助他们决定购买哪种商品[11]。个性化推荐技术是电子商务推荐系统中最核心最关键的技术,很大程度上决定了电子商务推荐系统性能的优劣[7]。现在,许多大型网站都用到了个性化推荐,如淘宝的收藏夹,点击收藏之后会显示收藏了该商品的用户还收藏了什么,当不同的用户收藏同样的商品时,产生的推荐是不同的,因此采用的就是个性化推荐。由于大型电子商务网站数据量的庞大,个性化推荐的质量还有待提高,个性化推荐技术及实现方法仍需要深入的研究。 三、研究方案 1.研究目标 采用基于用户的协同过推荐算法,建立相应的电子商务个性化推荐原型系统,为用户提供个性化商品推荐。 2.研究内容及功能 (1) 用户注册和登录 买家用户和卖家用户均能注册,首先选择注册的是买家还是卖家,买家用户和卖家用户注册时要填的基本信息是不同的。注册之后下次打开网站时,可以用已注册过的账户登陆。 (2) 基于买家用户收藏商品的推荐 每个用户有一个网络收藏夹,用户可以收藏自己喜欢的商品,当下次再想找这件商品时,只要登陆,去自己的收藏夹查看即可。用户每收藏一次商品,会弹出一个窗口,显示收藏了这件商品的用户还收藏了什么。这时会根据用户搜藏的商品,去数据库中查找还有哪些用户搜藏了这件商品,然后把其它用户搜藏而目标用户没有搜藏的商品显示出来。 这里产生推荐时,首先在数据库中查找还有哪些用户收藏了该商品,然后从这些用户收藏的商品中查找目标用户没有收藏的商品有哪些,把收藏次数最多的N个商品推荐给用户。用户可根据自己的喜好选择是否浏览这个商品,如果用户想了解推荐的某个商品,就点击这个商品的链接,会链接到这个商品的详细信息的网页;如果对推荐的商品不感兴趣,就可以关掉这个推荐页,继续搜索自己喜欢的商品。 (3) 买家用户购买商品 买家用户在浏览了商品之后,可以购买该商品。点击购买之后会生成订单,系统会将交易信息存入数据库,供用户查看。 (4) 买家用户评价商品 买家用户可以为购买到的商品打分,当收到货品后,会有对商品打分这一项,评分等级分为很喜欢(5),喜欢(4),一般(3),不好(2),很不好(1)五个等级。当用户选择一个评分,点击提交时,这个所打的分数会存到数据库中,也就是根据这个评分,才产生的个性化推荐。 (5)为买家用户提供个性化商品推荐 用户可以注册成为网站的会员,然后登陆,对于新用户,系统会为其推荐热卖的商品,而对于有一定经验的用户,系统会用基于用户的协同过滤推荐算法为其推荐可能感兴趣的商品。 由于基于用户的协同过滤推荐算法是在整个空间查找用户,并计算目标用户与每一个用户的相似度,这样大大降低了系统的响应效率,也就是响应时间问题,因此,我将致力于实现基于用户评分次数的协同过滤推荐算法。基于用户评分次数的协同过滤推荐算法是基于用户的协同过滤推荐算法的改进,解决稀疏性问题带来的在整个用户空间上计算相似度的问题, 它能提高响应效率,减少响应的时间。 首先,在将用户信息存入数据库时,会给用户分配一个字段,此字段记录用户的评价次数。按照评分矩阵的直观,以及采用的余弦相似性,我们知道,如果把那些用户没有评过分的项在矩阵中的值设为零,那么,只有那些所评价的项目数量相差不多的用户之间相似性才会高,因此我们只要在目标用户评价次数的临域内查找他的最近邻居,可以大大减少响应时间,而不会影响系统的推荐效果。这样每当用户评价一次商品时,就会更新一次该用户的评价次数,并且,我们规定每个用户对每件商品只能评价一次,这样,只要从数据库中找到相应的评价次数的字段的值在一定范围内的用户,并计算他们与目标用户的相似性,继而找到目标用户的最近邻居。 余弦相似性公式: (2) 其中向量和向量分别表示用户和用户在维项目空间上的评分,表示用户和用户之间的相似性。然后采用相似度最高的K个用户做为最近邻居。 再利用公式(1),计算用户对商品的预测评分,将评分最高的五个推荐给用户。 (5)卖家销售商品管理 卖家用户登陆后,可以查看之前的交易记录,可以管理自己的店铺,可以增加商品,也可以删除不再卖的商品。 3.拟采取的实施框架 系统结构:采用当前最为流行的基于Internet的B/S架构。 开发平台与环境:采用ASP.NET框架作为编程工具。 数据库平台:以SQLserver为数据库平台。 开发模式与技术:ASP.NET,XML、JavaScript开发技术。 4.关键技术 (1) ASP.NET技术 ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。指 Active Server Pages(动态服务器页面),运行于 IIS 之中的程序 。 ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。 (2) 评分矩阵的建立 评分矩阵的建立是比较困难的一步,也是关键的一步,因为用户之间相似性的计算要用到这个评分矩阵。 四、进度计划 第1周~第6周:毕业实习,查阅资料,基于用户的协同过滤推荐算法研究 第7周~第9周:熟悉系统开发环境与工具,设计原型系统 第10周~第14周:实现推荐算法,开发原型系统,确定论文框架 第15周~第16周:撰写论文,准备答辩 参考文献 [1] 朱岩,林泽楠. 电子商务中的个性化推荐方法评价[J]. 软科学研究成果与动态,2009,(2):183~192 [2] 侯翠琴,焦李成,张文革. 一种压缩稀疏用户评分矩阵的协同过滤算法[J]. 西安电子科技大学学报(自然科学版),2009,36(4):615~638 [3] 王惠敏,聂规划. 基于模糊聚类的可扩展的协同过滤算法研究[J]. 科技论文在线http://www.paper.edu.cn [4] 邢春晓,高凤荣,战思南,周立柱. 适应用户兴趣变化的协同过滤推荐算法[J]. 计算机研究与发展, 2007,44(2):296~301 [5] 高 滢,齐 红,刘亚波,刘大有. 基于用户等级的协同过滤推荐算法[J]. 吉林大学学报(理学版),2008,46(3):489~493 [6] Breese, J., Hecherman, D., and Kadie, C. “Empirical Analysis of Predictive Algorithms for Collaborative Filtering”. In Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence (UAI-98), 1998 [7] 余力,刘鲁. 电子商务个性化推荐研究[J].计算机集成制造系统. 2004,10(10):1306~1313 [8] 王 茜,王均波. 一种改进的协同过滤推荐算法[J]. 计算机科学,2010,37(6):226~243 [9] 李聪,梁昌勇,董珂. 基于项目类别相似性的协同过滤推荐算法[ J ]. 合肥工业大学学报:自然科学版,2 0 0 8 ( 0 3 ) [10] 王辉,高利军,王听忠. 个性化服务中基于用户聚类的协同过滤推荐[J]. 计算机应用, 2007,27(5):1225~1227 [11] J.Benschafer, Josepha.Konstan, Johnriedl. E-Commerce Recommendation Applications[J]. Data Mining and Knowledge Discovery,2001,(5):115~153 | ||||||||
指导教师签字 | 时 间 |