Web数据挖掘在电子商务推荐系统中的应用研究(硕士论文)


山东师范大学 硕士学位论文 Web数据挖掘在电子商务推荐系统中的应用研究 姓名:房晓南 申请学位级别:硕士 专业:管理科学与工程 指导教师:刘希玉 20070409 山东师范大学硕上学位论文摘要电子商务因其成本低廉、快捷、不受时空限制等优点在全球范围内得到普及和发展,它的规模也在进一步扩大。在电子商务为用户提供越来越多选择的同时,它的结构也变得越来越复杂,电子商务的发展面临这样一个新问题——~方面,用户对网络上提供的众多商品信息并非完全感兴趣,通常要通过多次浏览才能找到满足自己需求的商品:另一方面商家也不能全面了解用户的个人需求,提供给用户的是千篇一律的界面,无法维护稳定的客户关系。缺乏个性化服务成为制约电子商务发展的关键问题。这就要求站点有一个能够分析用户偏好、行为等信息,并且自动根据这些信息向用户提供推荐服务的推荐系统,实现网络上的“一对一营销”。Web数据挖掘就是在这样的背景下与电子商务结合在一起。Web挖掘是从Web文档和Web活动中发现并抽取感兴趣的、潜在的有用模式和隐藏的信息。它将传统的数据挖掘技术和web结合起来,可以在多方面发挥作用,是数据挖掘领域的一个新的研究方向。基于Web数据挖掘的电子商务推荐系统可以满足电子商务未来发展趋势的需要。在文中,分析了目前电子商务的现状和发展趋势,对Web挖掘技术进行了介绍;依据效率和准确性,建立了一个推荐系统模型,并对系统中各个模块功能及它们之间相互协调工作做了详细的描述;深入研究了电子商务推荐系统所使用的推荐算法,重点讨论了目前使用最为广泛的协同过滤推荐算法;在上述研究的基础上设计了基于聚类的协同过滤推荐系统,并对k-means聚类算法进行了改进;最后利用实际网站数据对基于聚类的协同过滤推荐系统的聚类算法进行了实现,给出了系统试验结果,并对结果做出解释和评价。关键词:电子商务,Web数据挖掘,CRlVl,推荐系统,关联规则,聚类分类号:TP393 山东师范大学硕j二学位论文AbstractE-commerceisdevelopingandbeingpopularizedgloballyduetoitsadvantageofcheap,fastandnot1imitedtospaceandtime.Nowitsscalebecomeswiderandwider.E—commerceprovidesmoreandmorechoicetocustomer,butitsstructureisgettingmoreandmorecomplexatthesametime.Sothereoccursanewproblem.FirstthecustomersarenotveryinterestedwiththecommoditiesprovidedbytheWebsiteandhemaybrowsealotofpagestofindthecommodityhewants.Ontheotherhand,thewebsitecompanycan’tunderstandthewholeneedsaboutthecustomerssothatitprovidesthecustomersmostthesamepagestheydon’t1ikeandtheybothcan’tmaintainthesteadyrelationsbetweenthecompanyandthecustomer.TheshortageofpersonalizedservicebecomesthekeyfactorwhichrestrictsthedevelopmentoftheE-commerce.Soarecommend—systemwhichcanproviderecommending—serviceaccordingcustomers’favorites,behaviorinformationiSnecessary.ThatiSnetwork“onetoonemarketing”.WebdataminingcombineswiththeE-commercejustunderthesituationmentionedabove.Webdataminingistofindandretrieveinterestingandpotentialusefulmodelandhiddeninformation.Itcombinesthetraditionaldataminingwiththewebtechnologyanditcanbeofgreatvalueinmanyaspects.Nowwebdatamininghasbecomeanewresearchdirectionofthedatamining.TherecommendationsysteminE-coIllfllercebasedonwebdataminingcanmeetthedemandsoffuturedevelopmentofE—commerce.ThepaperAnalyzetheactualityanddevelopmenttrendoftheE—commerceandmakeanintroductionaboutthewebdataminingtechnology:establishesarecommendation—systemmodelaccordingefficiencyandveracity:anddescribestheeachmoduleinthemodel2 坐奎堑蓬查兰竺圭兰垡堡兰exactly,especiallyonhowtheycorrespondwitheachother:HaveadeepresearchabouttherecommendationalgorithmsusedintherecommendationsystemofE-commerceanddiscussthemostpopularcollaborativefilteringalgorithmwidelyusedintherecommendationofE-commerce;Basedontheaboveresearch,IdesignaE-commerceusingthetechnologyofalgorithmbasedonclustering,AndrecommendationsystemofcollaborativefilteringIimprovethek-meansclusteringalgorithm;Realizethesystembasedclusteringalgorithmpartoftherecommendationoncollaborativefilteringandevaluateit,atlastgivesouttheresultoftestwithrealdataandtrytoexplainit.KeyWords:electronicmanagement,clusteringC18ssification:TP393commerce,webdatamining,customerrelationrecommendation-systemassociationrules,3 独创声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得(注:如没有其他需要特别声明的,本栏可空)或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。⋯一繇房。茏眵新弹够易学位论文版权使用授权书本学位论文作者完全了解堂撞有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权堂控可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后适用本授权书)学位论文作者签名:房落申导师签字:跏,签字日期:200年月日签字日期:200年月日 山东帅范人学硕lj学位论文1.1引言第1章绪论随着科学技术的发展,尤其是二十世纪八九十年代信息技术和计算机的飞速发展,人们积累了越来越多的数据,但是如何利用好这些数据,使其为企业、机构产生效益,当时的技术束手无策,人们普遍感觉到自己处在“数据爆炸但知识贫乏”的境地。面对这个问题,科学家们于1989年提出了KDD及DM。数据挖掘的核心技术历经了十几年的发展,在许多方面已经取得了很大的成就,其中包括数理统计、人工智能、机器学习、神经网络、模式识别、数据库技术、知识获取和信息检索等。现在,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用阶段。Web数据挖掘是数据挖掘的一个重要分支,是随着数据库技术、人工智能技术和网络技术的发展而提出的。尤其是随着电子商务的不断运作,信息总量不断增加,更迫切需要有效的信息分析工具。当今,电子商务正以其成本低廉、快捷、不受时空限制等优点而逐步全球流行。在这种新型的商务模式下,客户关系管理(CustomerRelationshipManagement),简称CRM,显得更为重要。因为客户只需要简单的几个点击操作就可能流失到竞争者那里。因此对商务站点上的企业来说,从CRM的各个方面建立起与客户的良好关系,提高客户的忠诚度,无疑会在各方面给企业带来巨大的益处。但是在电子商务模式下运作CRM,却遇到了网络信息量和基于Web的应用的一些阻碍。一方面,Imernet上的信息量大,使Web站点上的访问者不容易找到自己需要和满意的物品信息,妨碍了对站点的访问;另一方面,站点企业通常以Web的形式展现商品信息以供访问者浏览Ⅲ,但是这是一种传统的“one—size-fits—a11”的方法,它提供给用户的信息是根本不考虑用户的需求、偏好、行为以及他们的入口信息等,总是以同一种方式对待所有各自不同的用户,这样的运作产生两个问题:第一,没有针对性地提供信息,访问者不能快捷地获得所需;第二,不能快捷地在站点上寻找到感兴趣的商品,用户容易转向访问其他站点,造成客户流失,这些对站点企业来说都是致命的。基于上述原因,商务站点个性化孕育而生“1。而个性化所涵盖的内容中,针 山东师范大学硕~L学位论文对用户的推荐服务是最为重要的,因为它能够改变这种“one.size.fits.all”的方式,向用户提供个性化的信息。推荐系统模拟商店销售人员向用户提供商品推荐,帮助用户找到所需商品,从而顺利完成购买过程,因此可以有效保留用户,提高电子商务系统的销售;商家也可以通过推荐系统保持与客户的联系,重建客户关系。电子商务推荐系统在理论和实践中都得到了很大发展。但是随着电子商务系统的迸一步发展,电子商务推荐系统也面l临一系列挑战。针对电子商务推荐系统面临的主要挑战,本文将对电子商务推荐系统中的若干关键技术进行了有益的探索和研究。1.2国内外理论研究现状随着互联网的普及和电子商务的发展,推荐系统逐渐成为电子商务IT技术的一个重要研究内容,得到越了来越多研究者的关注。ACM从1999年开始每年召开一次电子商务的研讨会,其中关于电子商务推荐系统的研究文章占据了很大比重;从1999年开始SIGKDD小组设立WEBKDD研讨组,主题集中在电子商务中的WEB挖掘技术和推荐系统技术;而ACM下面的信息检索特别兴趣组SIGIR在召丌的第24研究和发展会议上,开始专门把推荐系统作为一个研讨主题;第7届国际人工智能联合会议IJCAI则把E—Business&theImelligemWeb作为一个独立的研讨小组;同时,第十五届人工智能会议、第一届知识管理应用会议PAKM等也纷纷开始将电子商务推荐系统作为研究主题。目前,在国外已有部分电子商务系统应用了Web数据挖掘技术来提高企业的收益。Web数据挖掘在电子商务的应用主要是在CRM中,体现为客户分析、站点自适应、交叉营销策略、客户的获取和保持、改善站点结构等几个方面。推荐系统是Web数据挖掘在电子商务中运用的一个热点,它属于站点自适应的范畴,国外较为突出的研究有以下几个:(1)NEC公司的“V5-7820”系统;(2)IBM公司A.Ballman等人研究的SpeedTracer系统。1;(3)Minnesota大学的J.benSchafer等人运用协作过滤方法产生推荐“1;(4)Stanford大学MehmetH.Goker等人研究对话形式的推荐系统,主要帮助用户过滤信息。1。 山东师范丈学硕.卜学位论文(5)Stanford大学KwongHiuYun等人的在线售书推荐系统,运用到了多种数据挖掘技术”1。(6)意大利PaoloBuon等人研究的推荐系统中,从显示和隐式两方面获得用户模式及用户评价,以此作为推荐依据。(7)Illinois大学的BamshadMobasher、R.cooley等人则在事务数据的处理、用户模式的建立上做了相当的研究。并在webcontenl和usage结合上做了相应的尝试”1。由于我国电子商务起步较晚,相对来说进行这方面的研究工作起步也较晚,但是由于该领域所体现出的重要的现实意义,己有一些大学和研究机构在进行这方面的研究工作。如清华大学的OpenBookmark个性化推荐系统等。目前已有的系统在各个相关的领域取得了一定成果,但仍然存在一些问题,总的来说有以下几点。1“:(1)实时性与推荐质量之问的平衡问题,推荐系统的推荐精度和实时性是一对矛盾。大部分推荐技术在保证实时性要求的同时,是以牺牲推荐系统的推荐质量为前提的。在提供实时推荐服务的同时,如何有效提高推荐系统的推荐质量,需要做进一步深入的研究。(2)当前电子商务推荐系统体系结构不完善,大部分的电子商务推荐系统都只是一个单一的工具,只能提供一种推荐模型。但由于电子商务系统本身的复杂性,不同场合需要不同类型的推荐。需要研究新型电子商务推荐系统体系结构,收集多种类型的数据,提供多种推荐模型,满足不同类型的推荐需求。(3)对推荐结果解释的缺乏,电子商务推荐系统为了说服用户,需要向用户解释推荐产生的原因。目前的电子商务推荐系统只能通过简单的销售排行、向用户提供其他用户对商品的评价评分信息等方式来达到上述目的需要进一步研究更加有效的方法向用户解释产生推荐的原因,从而增加用户对推荐系统的信任程度,说服用户听从推荐系统的推荐。(4)提供推荐服务的对象几乎都是注册购买商品的用户,而忽略了那些只访问站点却不购买东西的访问者;而且缺乏对站点专家和分析员指导作用的考虑,仅仅是简单的销售排行。 山东师范夫学硕{:学位论文1.3研究内容和意义1.3.1研究内容在研究中,将应用Web数据挖掘相关技术,对服务器数据以及Web页面做分析,建立物品、用户类等模式,以作为推荐的依据。文中将建立了一个的推荐系统的模型,并对系统中的各个模块功能及它们之间相互协调工作做了详细的描述,并实现推荐系统的原型。研究的重点是推荐系统的构建和推荐系统采用的推荐策略和推荐算法,主要是针对现有算法的优化,提高挖掘效率和准确性;最后针对所做的工作进行总结,对于未完成部分确定下一步研究思路。1.3.2研究意义电子商务推荐系统是现代电子商务发展的产物,首先,在理论研究方面,电子商务推荐系统具有较高的学术价值。自从1992年以来,电子商务推荐系统和协同过滤推荐被国际学术界广泛关注,并逐渐被应用于各个行业。但是传统的协同过滤推荐存在的稀疏性、可扩展性等问题严重影响了推荐性能,成为国内外研究学者的研究焦点,对电子商务推荐系统中协同过滤推荐的研究在学术研究领域占有重要的地位。其次,在实际应用方面,研究电子商务推荐系统对企业和社会具有很高的经济价值。顾客是利润的来源,谁能提供给顾客更好、更满意、更具个性化的产品和服务,谁就能赢得市场。应该看到,电子商务模式使用户从物理购物环境转向虚拟购物环境的同时,也对企业服务提出了许多新的、更高的要求,包括商品选购便捷、付款方便、质量保证、送货及时、退货容易等。其中首先遇到的一个重要问题就是如何满足不同顾客对不同商品的个性化需求,提供给顾客所需要的商品信息,以便顾客选购,而这正是企业价值链的源头和市场营销的起点。因此如何为顾客提供更加贴近生活的在线服务,如何为每个顾客提供独特的商品信息,如何使推荐技术更高效的应用到这个领域中,这些问题将不断地推动电子商务个性化服务技术的发展,创造出更多的社会价值和经济价值。1.4论文的创新点本文的创新工作主要体现在以下几个方面: 山东师范大学硕卜学位论文(1)针对现在大部分网站推荐系统只是一个简单的统计的问题,提出了一个新的推荐系统的模型设计,将模型分为离线和在线两大部分,提高了推荐的及时性和准确性:同时对模型各个模块做出了详细的阐述。(2)随着电子商务系统规模的进一步扩大,用户空间和项空间急剧增加,尤其在大型电子商务系统中,用户数量和项数量更是数以万计,在整个用户空间上搜索目标用户的最近邻居非常耗时,导致推荐系统的实时性要求越来越难以满足。针对电子商务推荐系统面临的实时性挑战,我们提出了基于项目聚类的协同过滤推荐算法,同时对k.means聚类算法进行了改进。实验结果表明,基于项目聚类的协同过滤推荐算法可以有效解决实时性的问题,显著提高推荐系统的推荐速度。1.5论文的内容安排本文的后续章节按照如下的方式组织:第2章在概述数据挖掘技术的基础上,着重介绍了数据挖掘的一个重要分支——Web挖掘,重点介绍了Web挖掘技术、Web挖掘分类以及一些相关的概念。第3章介绍了电子商务的概念,同时由电子商务的发展现状引出了建立电子商务推荐系统的需求,给出了Web数据挖掘在电子商务中的应用及技术特点和电子商务推荐系统的基本理论。第4章提出了基于Web挖掘的推荐系统模型。由于电子商务的特殊性,传统的推荐技术很难为用户提供高质量的推荐服务(效率和准确性),为此提出了一个基于Web挖掘的推荐系统框架,详细描述了模型中各个模块的作用,以及相互之问如何协调完成推荐功能。第5章分析了电子商务推荐算法在整个推荐系统中的重要地位,然后对关联规则推荐算法和基于聚类的协同过滤算法这两种经典的电子商务推荐算法进行了深入介绍;并对聚类算法进行了改进,提高推荐的准确性。第6章给出了电子商务推荐原型系统的试验结果,验证系统算法的有效性,并对结果做出解释。 山东师范人学硕{:学位论文第2章数据挖掘技术概述2.1数据挖掘概述数据挖掘(DateMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道但又是潜在有用的并最终可理解的信息和知识的非平凡过程“3’“1。数据挖掘与传统的数据分析(如查询、报表、联机分析处理)不同在于数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先前未知、有效和可实用三个特征。先前未知的信息是指该信息是预先未曾预料到的,即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值;而且它是一个非平凡的过程,也即挖掘过程不是线性的,有反复和循环,所挖掘到的知识也不是通过简单的分析就能得到,这些只是可能是隐含在表面现象的内部,需要经过大量的数据比较分析,应用一些专门处理大数据量的数掘挖掘工具才能取得。数据挖掘是一个利用各种分析工具在海量数据中发现模型和数据问的关系的过程,使用这些模型和关系可以进行预测,它帮助决策者寻找数据间潜在的关联,发现被忽略的因素,是解决当今时代所面临的数据爆炸而信息匮乏的问题的一种有效方法。它是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其它模型化处理,从中提取辅助商业决策的关键性数据,是一种深层次的数据分析方法。鉴于数据、数据挖掘任务和数据挖掘方法的多样性,给数据挖掘提出了许多挑战性的课题。数据挖掘语言的设计,高效而有用的数据挖掘方法和系统的开发,交互和集成的数据挖掘环境的建立,以及应用数据挖掘技术解决大型实际应用问题,都是目前数据挖掘研究人员、系统和应用开发人员所面临的主要挑战。2.2Web数据挖掘随着Intemet/Intranet技术的发展,尤其是Web的全球普及,使得Web上的信息量无比丰富,越来越多的机构和个人在网络上发布信息、查找信息。网络已成为人们获得信息的必要途径和重要手段。但是,网络在给人们带来方便的同时,6 山东师范大学硕仁学位论文也带来了许多问题。Web上得数据是海量的,同时,Web是无结构的、动态的,Web页面极其复杂。这样就使得人们从成千上万的Web站点中找到有用的数据变得比较困难。于是,人们就越来越关注如何开发和利用Web上的数据资源。Web挖掘(Webmining)是解决上述问题的一个途径。当数据挖掘技术应用于网络环境下的Web中就称为Web挖掘。Web挖掘就是从Web文档和Web活动中抽取感兴趣的潜在的有用模式和隐藏的信息。2.2.1Web数据挖掘的定义OrenEtioni在1996年首次提出了Web数据挖掘这一概念。Web挖掘(WebMining)是数据挖掘在Web上的应用,是一项综合技术,涉及Web、数据挖掘、计算机语言学、信息学等多个领域,不同研究者从自身的领域出发,对网络挖掘的含义有着不同的理解,项目开发也各有其侧重点。例如,国外有人认为:Web挖掘就是利用数据挖掘技术,自动地从网络文档以及服务中发现和抽取信息的过程。国内则众说纷纭,有学者将网络环境下的数据挖掘归入网络信息检索与网络信息内容的开发;也有站在信息、服务的角度上提出“Web挖掘”,指出其有别于传统的信息检索,能够在异构数据组成的信息库中,从概念及相关因素的延伸比较上找出用户需要的深层次的信息,并提出Web挖掘将改革传统的信息服务方式而形成一个全新的适应网络时代要求的信息服务组合。我们这里采用一个更一般的定义““:Web挖掘是指从大量Web文档的集合C中发现隐含的模式P,如果将C看作输入,将P看作输出,那么,Web挖掘的过程就是从输入到输出的一个映射:C—P。Web挖掘从数据挖掘发展而来,因此其定义与我们熟知的数据挖掘定义相类似。但是,Web挖掘与传统的数据挖掘相比有许多独特之处。首先,Web挖掘的对象是大量、异质、分布的Web文档。一般认为,以Web作为中间件对数据库进行挖掘,以及对Web服务器上的日志、用户信息等数据所开展的挖掘工作,仍属于传统的数据挖掘的范畴。其次,Web在逻辑上是由一个由文档节点和超链接构成的图,因此Web挖掘所得到的模式可能是关于Web内容的,也可能是关于Web结构的。此外,由 山东师范人学硕t。学位论文于Web文档本身是半结构化或无结构的,缺乏机器可理解的语义,而数据挖掘的对象局限于数据库中的结构化数据,并利用关系表格等存储结构来发现知识,因此有些数据挖掘技术并不适用于Web挖掘,即使可用也需要建立在对Web文档进行预处理的基础之上。这样,开发新的Web挖掘技术,以及对Web文档进行预处理以得到关于文档的特征表示,便成为Web挖掘研究的重点。2.2.2Web数据挖掘的分类Web上信息的多样性决定了Web挖掘任务的多样性,根据挖掘对象的不同,可以将Web挖掘分为Web内容挖掘(WebContentMining)、Web结构挖掘(WebConstructerMining)和Web应用挖掘(w曲UsageMining)三大类““”3,如图2.2.1所示:图2.2—1Web挖掘分类图2.2.2.1Web内容挖掘Web内容挖掘是指对Web页面内容进行挖掘,从文本、图像、音频、视频等各种形式的网络资源中发现所需的特定化信息。搜索引擎、智能代理和一些推荐引擎都使用内容挖掘来帮助客户在浩瀚的网络空间中寻找所需的内容。Web内容挖掘的重点是页面分类和聚类。Web页面的分类是根据页面的不同特征,将其划归为事先建立起来的不同的类。Web页面的聚类指在没有给定主题类别的情况下,将Web页面集合聚成若干个簇,并且同一簇的页面内容相似性尽可能大,而簇间相似度尽可能小。Web内容挖掘可分为Web文本挖掘和Web多媒体挖掘,针对的对象分别是Web文本信息和Web多媒体信息。 山东师范人学硕上学位论文2.2.2.2Web结构挖掘Web结构挖掘就是挖掘Web潜在的链接结构模式,从Web组织结构和链接关系中推导信息与知识的过程,这种思想源于引文分析,即通过分析~个网页链接和被链接数量以及对象来建立Web自身的链接结构模式。该模式可用于网页分类,并由此获得有关不同网页间相似度及关联度的信息。并有助于用户找到指向相关主题的权威站点。Web结构挖掘可为超链接挖掘、内容结构挖掘和URL挖掘。Web在逻辑上可以用有向图表示出来,页面对应图中的点,超级链接对应图中的边。通过把Web表示为有向图,可以得到从一个站点的主页到它的任意一个顶点的最短路径,Robot沿最短路径浏览Web站点,就可以较小的代价发现较多的文档““。2.2.2.3Web使用挖掘Web使用挖掘是用挖掘Web服务器日志获取的信息来预测用户浏览行为的技术,指从用户的访问日志中挖掘用户的访问模式。Web内容挖掘、Web结构挖掘的对象是网上的原始数据,而网络使用挖掘的数据来自于用户在使用网络的过程中,即在用户和网络交互的过程中抽取出来的第二手数据,这些数据包括:Web服务器的访问记录、代理服务器同志文件、浏览器日志记录、用户注册信息、用户对话或交易信息等其它信息。现在研究较多的是对日志文件的挖掘。Web使用挖掘己应用到个性化推荐、系统改进以及商业智能等方面““。结构挖掘和内容挖掘都不需要或提供有关客户行为的知识,结构挖掘揭示了哪些页面通过当前页面可以两步内到达,但并不关心多少人会实际到这条通路。内容挖掘揭示了网页主题,但不关心谁会真正阅读它。从实用角度而言,真正比较有用的挖掘则是应用挖掘,它主要集中于客户的行为,特别是随着时间的变化。2.2.3Web数据挖掘特点Web上有海量的数据信息,利用现有的Web查询技术并不能满足人们的应用需求。相对于Web的数据而言,传统的数据库中的数据为完全结构化的数据,而Web上数据的最大特点是就是半结构化:数据没有严格的结构模式、含有不同格式的数据(文本、声音、图像等)、面向显示的HTML文本无法区分数据类型9 山东师范人学硕_}-学位论文等。显然,面向Web的数据挖掘比面向单个数据仓库的数据挖掘要复杂得多。(1)异构数据库环境“”从数据库研究的角度出发,Web网站上的信息也可以看作一个数据库,一个更大、更复杂的数据库。Web上的每一个站点就是一个数据源,每个数据源都是异构的,因而每一站点之间的信息和组织都不一样,这就构成了一个巨大的异构数据库环境。如果想要利用这些数据进行数据挖掘,首先,必须要研究站点之间异构数据的集成问题,只有将这些站点的数据都集成起来,提供给用户~个统一的视图,才有可能从巨大的数据资源中获取所需的东西。其次,还要解决Web上的数据查询问题,因为如果所需的数据不能很有效地得到,对这些数据进行分析、集成、处理就无从谈起。(2)半结构化的数据结构Web上的数据与传统的数据库中的数据不同,传统的数据库都有一定的数据模型,可以根据模型来具体描述特定的数据。而Web上的数据非常复杂,没有特定的模型描述,每一站点的数据都各自独立设计,并且数据本身具有自述性和动态呵变性。因而,Web上的数据具有一定的结构性,但囡自述层次的存在,从而是一种非完全结构化的数据,这也被称之为半结构化数据。半结构化是Web上数据的最大特点。(3)解决半结构化的数掘源问题Wcb数据挖掘技术首要解决半结构化数据源模型和半结构化数据模型的查询与集成问题。解决Web上的异构数据的集成与查询问题,就必须要有一个模型来清晰地描述Web上的数据。针对Web上的数据半结构化的特点,寻找一个半结构化的数据模型是解决问题的关键所在。除了要定义一个半结构化数据模型外,还需要一种半结构化模型抽取技术,即自动地从现有数据中抽取半结构化模型的技术。面向Web的数据挖掘必须以半结构化模型和半结构化数据模型抽取技术为前提。近来兴起的XML数据就是一种自描述的半结构化数据,它支持用户自定义文档标记,用有序的、嵌套的元素组织有一定结构的数据,是面向数据的。以XML为基础的新一代www环境是直接面对Web数据的,不仅可以很好地兼容原有的Web应用,而且可以更好地实现Web中的信息共享与交换。XML可看作 山东师范人学硕{一学位论文一种半结构化的数据模型,可以很容易地将XML盼文档描述与关系数据库中的属性一一对应起来,实施精确地查询与模型抽取。XML的出现为解决Web数据挖掘的难题带来了机会⋯1。它的出现推动了WWW在电子商务、电子数据交换和电子图书馆等多方面的应用,也很大程度上解决了Web挖掘中的数据结构问题⋯1。 山东师范人学硕l:学位论文第3章电子商务推荐系统介绍3。1电子商务介绍过去数年中,在信息和流通领域出现了巨大的发展高潮,在信息通讯及网络技术的巨大推动下,电子商务迅猛发展的时代己经到来,网上购物交易的形式正在改变着传统的商业模式。电子商务“1(ElectronicCommerce)是指两个或多个交易方之间应用电子工具和电子技术处理商品和服务的交易事务,即通过电子手段来完成商业贸易活动的过程,包括通过网络来实现从原材料的查询、采购、产品的展示、订购,到出品、储运以及电子支付等一系列贸易活动。电子商务的含义图示如图3.1所示。图3.1电子商务含义图示电子商务是一个全新的学科,有着非常丰富的内涵。事实上,电子商务并不是最近才出现的,其历史可以追溯到60年代开始的EDI(ElectronicDataInterchange),EDI主要用于企业与企业之问商贸业务(特别是国际商贸)中的凭证、票据的交换,其传输的报文有一定的标准。2000年以来,由于电子商务的全球性、方便快捷性、低成本等不可比拟的优势,伴随着信息技术的发展、个性化需求的不断增加和不同企业的大量进入,其内涵和外延在不断充实,逐步扩展到了E(electronic)概念的高度,开拓了更广阔的应用空间。凡是通过电子方式进行的各项社会活动,即利用信息技术来解决和处理问题、创造商机、降低成本、满足个性化需求的各种活动(包括电子政务、电子医务、电子军务等),均被概括为E概念的电子商务。同时,以XML(可扩展标示语言)为代表的新技术不断涌现,它们不仅能融合原有的EDI系统,还可协调和集成异构数据,支持不同应用平台,能电子化处理整个商业信息,使电子商务发生了质的飞跃,形成了以计算机和信息技术为支撑、基于Internet的电子商务。12 山东师范人学硕卜学位论文如今,电子商务的效益日益明显,通过Intemet进行商务活动己经越来越普遍,一些著名的公司纷纷在Intemet上开设电子商场,如Amazon,Dell,Intel,Cisc。等,在国内,电子商务也引起越来越多人的注意。和传统的商务活动相比,电子商务具有不可比拟的优势,如:降低企业的成本、提高效率、提高企业的竞争力、用户有更多的选择等。目前各个大公司纷纷推出各种软、硬件产品以支持电子商务。电子商务一般分为:B2B(企业间)、B2C(企业与消费者间)、C2C(消费者间)、G2B(政府与企业间)、G2C(政府与个人间)以及G2G(政府间)六种商务模式Ⅲ。其中,B2C曾经是电子商务的代表,即最被大家所熟悉的“网上商店”。由于B2B在降低交易成本、缩短生产周期、减少企业库存、信用安全保障等方面具有绝对的优势,能更大限度地发挥电子商务的潜在效益,是电子商务发展的主流和方向。3.2电子商务中Web数据挖掘的应用目前,通过Web进行商务活动带来的便利和它所产生的交易速度已成为电子商务迅猛发展的关键推动力。另一方面,涉及客户端的电子商务活动也正在进行着巨大的革新。如果能够跟踪客户在Web上的浏览行为并进行模式分析,这样将会缩短销售商与客户之间的距离,让销售商更了解自己客户的需求,有针对性的开展电子商务活动。在Internet上的客户都意识到,只要他们连接到一个在线市场的服务器上,就已经在这个服务器上留下了一个,“脚印”,这就是服务器的日志文件。我们就可以对客户访问留下的这些日志文件进行Web的数据挖掘,提取关于客户的知识,对客户的访问行为、频度、内容等的分析,可以得到关于群体客户行为和方式的普遍知识,用以改进Web服务方的设计。通过Web数据挖掘,就可以根据客户的访问兴趣、访问频度、访问时间动态地调整页面结构,改进服务,给客户个性化的界面,开展有针对性的电子商务以更好的满足访问者的需求,因而Web数据挖掘不可避免的和电子商务走到了一起。Web数据挖掘的应用将极大地提高企业获取信息的能力,使企业信息资源的价值得到充分地体现。它有利于促进企业开拓市场,优化企业资源,提高企业的经营效率和管理水平,为企业资源计划 山东师范大学硕l二学位论文(ERP)、客户关系管理(CRM)、产品数据管理(PDM)和商业信用评估等提供有效的技术途径。乜2。”3.2.1电子商务中进行Web数据挖掘的数据源c24-2a]数据挖掘是从大量数据中提取或“挖掘”知识,那么进行数据挖掘首先要考虑从什么样的数据中挖掘知识,也就是说进行数据挖掘的数据源。总体上说,电子商务中数据挖掘技术的数据来源包括以下几种。3.2.1.1服务器数据客户访问服务器就会在服务器上产生相应的服务器数据,这些数据可以分为日志文件和查询数据。其中日志文件又可以分为serverlogs、errorlogs、cookielogs。(1)Serverlogsserverlogs有两种格式存储,一种是普通日志文件格式,另一种是扩展日志文件格式。普通日志文件格式以“Date,C1ient~IP,User--name,Bytes,Server,Request,Status,Servicename,Time,Protocolof—version,User-agent,Cookie.Referrer”的格式存储关于客户连接的物理信息。经常性的,如果能够从这个文件中存储的一些项进行语法上的分析,如DNS,就可以知道客户来源的区域。例如,域名www.rasta.ac.jp被分析后可以知道客户来自于日本。如果通过数据挖掘和这样的语法分析,就知道了某一产品它的购买者有80%是来自于日本,那么接下来就可以根据此信息调整电子商务中的在线市场策略,调整对日本客户的商务活动。扩展日志文件格式主要是支持关于日志文件元信息的指令,如版本号,会话监控开始和结束的是R期,被记录的域等。(2)errorlogs存取请求失败的数据,例如:丢失连接,授权失败,超时。(3)cookielogsHTTP协议本身是一种非事务型的,这一种特征对于事务型的电子商务来说是不合适的,给电子商务带来了一些问题。这个问题通过使用cookies得到了克服。Cookies是一种软件构件,它能够在客户端存储客户访问服务器的信息。服务器软件上存储关于cookie的这部分,就叫做cookielogs。Cookielogs的一般格14 山东师范人学硕l。学位论文式是;“nanl@,expirydate,path,domain,securitylevel”。(4)查询数据它是电子商务站点在服务器上产生的~种典型数据。例如在线客户也许会搜索一些产品或某些广告信息,这些查询信息就通过cookie或是登记信息连接到服务器的访问R志上,目前还没有一个标准的查询数据格式。3.2.1.2客户登记信息客户登记信息是指客户通过Web页在屏幕上输入的、要提交给服务器的相关信息。它在电子商务活动起着非常重要的作用,特别是在安全方面,或者在对客户可访问信息的限制方面。在Web的数据挖掘中,客户登记信息必须和访问Et志集成,以提高数据挖掘的准确度,能更进一步的了解客户。3.2.1.3市场数据这类数据主要是传统关系数据库中存储的有关电子商务站点信息、用户购买信息、商品信息等数据。3.2.1.4Web页面数据这类数据主要是指HTML和XML页面的内容,包括文本、图片、语音、图像等。由于HTML页面包含文本和多媒体信息(图片、语音、图像),所以涉及到文本挖掘和多媒体挖掘。对Web页面数据的挖掘还包括对Web页面之间的超链接关系的挖掘。3.2.2电子商务中Web数据挖掘的过程数据挖掘是指一个完整的过程,该过程从数据文件中挖掘先前未知的,有效的,可实用的信息,并使用这些信息做出决策或丰富知识。数据挖掘是知识发现的~个步骤。一个典型的数据挖掘系统结构如图3—2一l所示。数据库、数据仓库或其他信息库:它表示数据挖掘的对象是由一个(或一组)数据库、数据仓库、电子表格或其他类型的信息库组成。通常需要使用数据清洗和数据集成操作,对这些数据对象进行初步的处理。数据库或数据仓库服务器;根据用户的挖掘请求,数据库或数据仓库服务器负责提取相关数据。 山东师范人学硕I:学位论文图3.2.1典型的数据挖掘系统结构知识库:这是领域知识,这些知识将用于指导数据挖掘的搜索过程,或者用于帮助对挖掘结果的评估。挖掘算法中所使用的用户定义的闽值就是最简单的领域知识。数掘挖掘引擎:这是数据挖掘系统最基本的部分,由一组功能模块组成,用于特征化、关联、分类、聚类分析以及演变和偏差分析。模式评估模块:该模块可根据趣味标准(interestingnessmeasures),协助数据挖掘模块聚焦挖掘更有意义的模式知识。模式评估模块也可以与挖掘模块集成在一起,这依赖于所用的数据挖掘方法的实现。图形用户界面:该模块在用户和数据挖掘系统之间通信,允许用户与系统交互。一方面用户通过该模块将自己的挖掘要求或任务提交给挖掘系统,以及提供挖掘搜索所需要的相关知识;另一方面系统通过该模块向用户展示或解释数据挖掘的结果或中间结果。此外,该模块也可以帮助用户浏览数据对象内容与数据定义模式、评估所挖掘的模式知识,以及以多种形式展示挖掘出的模式知识。在Web挖掘中用户界面就是浏览器。数据挖掘过程可粗略的理解为三部曲:数据准备、数据挖掘以及结果的解释评估,其过程见图3—2—2。 山东师范大学硕』。学位论文图3.2—2数据挖掘过程和基本步骤当然上图中少了一个很重要的部分,就是利用所发现的知识为我们服务。这在下文中有详细的阐述。3.2.3电子商务中Web数据挖掘的主要技术针对前文提到的这些客户访问在线市场时所产生的数据,进行Web上的数据挖掘,主要是进行客户访问信息的挖掘,得到客户的浏览行为和访问模式,从而找到有用的市场信息。在电子商务中一般有以下几种数据挖掘技术的使用:(1)路径分析它可以被用于判定在一个Web站点中最频繁访问的路径。还有一些其他的有关路径的信息通过路径分析可以得出:·70%的用户端在访lhl/company/product2时,是从/compally开始,经过/company/new,/company/products,/company/producI;·80%的访问这个站点的客户是从/company/lrIroducts开始的;●65%的客户在浏览4个或更少的页面后就离开了;第一条规则在/company/product2页面上有有用的信息,但因为客户对站点进行的是迂回绕行的访问,所以这个有用信息并不明显;第二条规则说明了客户对站点的访问一般不是从主页开始的,而是从/company/products开始的,如果在这个页面上包含一些产品的目录类型的信息,将是一个不错的主意;第三条规则说明了客户在网站上驻留的时间,既然客户在这个网站上浏览一般不超过4个页面,就可以把重要的商品信息放在这些页面中。通过路径分析,可以改进页面及网站结构的设计。(2)关联规则的发现 山东师范人学硕一i+学位论文在电子商务中关联规则的发现也就是要找到客户对网站上各种文件之间访问的相互联系。例如,用关联规则发现技术,我们可以找到以下的相关性:●40%的客户访问页面/eompany/productl时,也访问T/company/product2。·30%的客户在访In]/company/special时,在/company/productl进行了在线定购。利用这些相关性,可以更好的组织站点,实施有效的市场策略。(3)序列模式的发现序列模式的发现就是在时间戳有序的事务集中,找到那些“一些项跟随另一个项”的内部事务模式。例如:·在访Ih]/company/product的顾客中,有30%的人曾在过去的一星期利用关键字w在yahoo上做过查询。●在/company/productl上进行过在线定购的顾客,有60%的人在过去15天内也在/company/product4处下过订单。发现序列模式能够便于进行电子商务的组织预测客户的访问模式,对客户开展有针对性的广告服务。通过系列模式的发现,能够在服务器方选取有针对性的页面,以满足访问者的特定要求。(4)分类规则的发现分类发现就是给出识别一个特殊群体的公共属性的描述,这个描述可以用来分类新的项,例如:●政府机关的顾客一般感兴趣的页面是/company/productI。●在/company/product2进行过在线定购的顾客中有50%是20--30岁生活在西部的年轻人,得到分类后,就可以进行适合某一类客户的商务活动。(5)聚类分析聚类分析可以从Web访问信息数据中聚集出具有相似特性的那些客户。在Web事务同志中,聚类顾客信息或数据项能够便于开发和执行未来的市场战略。这种市场战略包括:自动给一个特定的顾客聚类发送销售邮件,为一个顾客聚类动态地改变一个特殊的站点等。 山东帅范大学硕t:学位论文3.3电子商务推荐系统基础理论用户是有目的访问一个电子商务站点的,他们只对站点内一部分页面的内容感兴趣。不同的用户之间具有不同的浏览兴趣,所以他们会访问不同的Web页面。电子商务中实现个性化推荐意味着一个用户访问Web站点时能够得到个性化的服务,电子商务个性化推荐系统根据用户浏览页面的时间和频率等特征,将针对用户进行聚类,在同一聚类的用户浏览页面集具有最大的相似形,而不同聚类的用户的浏览页面集差别很大。当用户访问Web站点时,推荐系统对用户进行识别,得到该用户所属的用户聚类,从而进行页面集的推荐,向用户推荐一些他们可能感兴趣的尚未访问的页面,这些被推荐页面的地址被附加到用户当前请求的页面的底部。一方面,电子商务系统需要推荐系统的大力支持帮助用户找到所需商品;另一方面,电子商务系统自身的特点也有利于推荐系统的顺利实施,主要原因包括:(1)丰富的数据:电子商务环境收集的各种数据比较丰富,如用户注册数据、用户交易数据、用户评分数据、用户购物篮信息、用户浏览数据等。丰富的数据为建立多种推荐模型,产生高质量的推荐提供了可能。(2)电子化的数据收集:电子商务环境中的各种数据通过电子化方式收集,减小了手工方式收集数据可能出现的人工误差,噪音数据大大减少,各种数据的可信度比较高,数据预处理比较简单。(3)易于对推荐效果进行评估:在电子商务中实施推荐系统的投资回报率易于通过电子商务Web站点访问量的增加、电子商务系统销售额的增加等指标直接进行评估。3.3.1电子商务推荐系统定义电子商务系统通过互联网建立虚拟的网上商店,但这些虚拟的网上商店并没有配备相应的销售人员来引导用户购物。随着电子商务系统规模的不断扩大,商品越来越多,这一方面让用户有了更大的选择空间,另一方面也增加了用户购买所需商品的难度,用户在找到自己需要的商品之前,必须浏览大量的无关信息。为了解决上述信息过载问题,有效的指导用户在电子商务系统中方便的购物,人们提出了推荐系统技术。19 山东师范大学硕士学位论文电子商务推荐系统的定义为:“利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。该定义现已被广泛引用[273。1998年7月由美国组织各学者在威斯康辛州专门召开了以推荐系统为主题的会议,集中讨论了推荐系统的发展问题。电子商务推荐系统产生的推荐可以基于电子商务系统的销售排行,可以基于用户以前的购买行为,也可以基于用户表现出来的兴趣爱好等。电子商务不仅为用户提供了便利的交易方式和广泛的选择,同时也为商家提供了更加深入了解用户需求和购物行为特征的可能性。推荐系统作为电子商务中的重要应用技术之一,为电子商务系统实现“一对一营销”提供了可能。目前,几乎所有大型的电子商务系统,如Amazon,eBay,DangDang等,都不同程度的使用了各种形式的电子商务推荐系统。成功的电子商务推荐系统将会产生巨大的社会经济效益。3.3.2电子商务推荐系统的作用推荐系统模拟商店销售人员向用户提供商品推荐,帮助用户找到所需商品或顺利找到他感兴趣的页面,从而顺利完成浏览过程,因此可以有效保留用户,提高电子商务系统的销售或访问量;商家也可以通过推荐系统保持与客户的联系,重建客户关系。推荐系统主要通过如下三种途径提高电子商务系统的销售能力:(1)将电子商务系统的浏览者转变为购买者:电子商务系统的访问者在浏览过程中经常并没有购买欲望,电子商务推荐系统能够向访问者推荐他们感兴趣的商品,从而完成购买过程。(2)提高电子商务系统的交叉销售:电子商务推荐系统在用户购买过程中向用户提供其它有价值的商品推荐,用户能够从提供的推荐列表中购买自己确实需要但在购买过程中没有想到的商品,从而有效提高电子商务系统的交叉销售。(3)保留用户:与传统的商务模式相比,电子商务系统使得用户拥有越来越多的选择,用户更换商家及其方便,只需要一两次鼠标的点击就可以在不同电子商务系统之徊J跳转。电子商务推荐系统分析用户的购买习惯,根据用户需求向用户提供有价值的商品推荐。如果电子商务推荐系统的推荐质量很高,那么用户会 山东师范犬学硕1:学位论文再次访问这个网站,并会推荐给其他人,这对于网站来说是一个很大的优势。3.3.3推荐系统中采用的方法(1)对数据的简单检索(RawRetrieval)这种系统的“推荐”实际上只是一种对用户请求简单的查询。例如当某个用户询问一个音乐站点关于“披头士”乐队的专辑时,这个站点就会简单地进行数据库查询,把凡是商品库中与“披头士”有关的都推荐给用户。(2)站点的分析人员和专家等进行的人工选择推荐(ManuallySelected)这种推荐是基于这些站点人员他们自己主观的喜好、看法等,建立起一个针对用户的推荐商品列表,通常表现为对商品文字上的评价。因为这种推荐方法简单,所以类似站点大量存在,www.art.tom就是一个例子。(3)基于统计分析(StatisticalSummaries)这其实也是一种非个性化的推荐,但是因为容易进行统计分析计算,所以被比较广泛的运用。eBay的客户反馈就是这样的系统。(4)基于属性的推荐(Attribute.Based)这种推荐考虑用户对物品某些特征属性的兴趣,强调用户对商品特征属性的要求。系统寻找拥有满足用户兴趣所要求的属性的商品推荐给用户。(5)基于物品和物品关系的推荐(Item.to.ItemCorrelation)这种推荐主要是建立物品和物品之间的关联相似规则模式,这种规则通常是以物品之间的CO—PURCHASE关系而定的,即考察物品A被购买了物品B也会被购买的关系。在这样的推荐系统中,一般针对当前用户当前购买的物品,利用物品之间的关联规则寻找“匹配”的物品推荐给用户。(6)基于用户和用户关系的推荐(User-to.UserCorrelation)这种推荐主要考虑的是当前推荐用户与在此站点上访问过或者购买过物品的其他用户的关系,并以此关系作为推荐的依据,通常也可以把这种推荐技术叫“协作过滤”。这种方法的原理非常简单,一般认为与某个访问者属于同一类或同一群体的用户喜爱的,那么这个访问者也同样会喜爱。著名的MyCDNOW站点就是基于这种方法向用户推荐的。2l 山东师范大学硕十学位论文3.3.4电子商务推荐系统类型个性化电子商务主要是通过在线推荐系统表现出来的,电子商务网站的推荐系统可以针对不同的访问者进行页面推荐或商品推荐。推荐系统是基于对用户的历史浏览行为和购买行为进行分析,产生用户群体的浏览模式和购买模式。识别出当前的用户,将用户匹配到具有不同的浏览模式和购买模式的用户群体中,实时在线地进行页面推荐或商品推荐。根据电子商务推荐系统所采用的推荐技术,目前的电子商务推荐系统主要分为以下几类:(1)基于内容过滤的推荐系统基于内容过滤的电子商务推荐系统通过比较项(商品)之间的相似性而不是用户之问的相似性实现推荐功能汹1。纯粹基于内容的电子商务推荐系统是忽略用户的购买行为的,它只考虑商品和商品之间的相似关系,其优点是简单有效,建模和商品问的相似性度量可以脱机进行,因而推荐响应时问快。缺点是难以区分商品信息的品质和风格,而且不能为用户发现新的感兴趣的商品,只能发现和用户己有兴趣相似的商品。(2)基于协同过滤技术的推荐系统基于协同过滤技术的电子商务推荐系统并不分析商品之间的相似性,而是学习目标用户和历史用户之间购买行为的相似性,从而根据相似历史用户的购买行为生成推荐结果⋯1。纯粹基于协同过滤技术的电子商务推荐系统并不需要商品特征的描述,它学习的是用户购买行为之间的相似性,而不依赖商品的特征,因此它可以推荐从表面特征上看上去不同但实际上有很大相关性的商品。所以其优点是能为用户发现新的感兴趣的商品而不需要考虑商品的特征,任何形式的商品都可以推荐。缺点是用户对商品的评价矩阵非常稀疏(即稀疏性问题):随着系统用户和商品的增多,系统的性能会越来越低(即可扩展性问题):如果从来没有用户对某一商品加以评价,则这个商品就不可能被推荐(即最初评价问题)。(3)混和型推荐系统由于基于协同过滤和基于内容过滤这两种技术都有它们本身的优缺点,在实际应用中,一些推荐系统就结合使用这两种技术,尽量利用它们的优点而避免其缺点,提高推荐系统的性能和推荐质量。比如,为了克服协同过滤的稀疏性问题, 山东师范人学硕t学位论文可以利用用户测览过的商品预期用户对其他商品的评价,这样可以增加商品评价的密度,再利用这些评价进行协同过滤,从而提高协同过滤的性能。(4)基于数据挖掘技术的推荐系统协同过滤是目前在电子商务推荐系统中应用较为成功的个性化推荐技术,但协同过滤推荐需要用户显式输入对项的主观数值评分,不仅使用极其不方便,而且当用户评分数据较少时很难保证推荐系统的推荐质量。同时,协同过滤推荐很难处理非注册用户的情形。随着电子商务系统用户数目和商品数目的日益增加,电子商务网站中可以收集到大量的用户交易数据、用户注册数据、用户评分评价数据等用户数据:同时,服务器中也保存着用户访问电子商务系统的日志数据、用户购物篮信息等,这些数据中蕴含着丰富的用户及市场信息,面对这些海量数据,为了提高推荐系统的推荐质量和推荐效率,以及有效地处理大量非注册用户的行为模型,各种数据挖掘技术(主要包括关联规则挖掘、序列模式挖掘、聚类挖掘、分类挖掘等)在推荐系统中得到了广泛的应用。基于数据挖掘技术的推荐系统通过浏览器的方式进行用户评分数据收集与推荐结果显示,而不需要用户提供主观的评分信息,因此用户使用起来更加方便,同时可信度比较高。将数据挖掘技术尤其是Web数据挖掘技术应用到电子商务推荐系统中,产生完全自动化的推荐,使用户感受到完全个性化的购物体验,是电子商务推荐系统的发展趋势。在后续章节中,结合笔者的研究和实践,建立一个电子商务推荐系统的模型,并对模型中使用的相关技术作介绍,然后阐述其中所用的算法,最后给出相应的试验结果和评价。 山东师范人学硕i:学位论文第4章电子商务推荐系统模型研究和建立4.1电子商务推荐系统的框架设计个性化服务推荐系统在电子商务系统中具有良好的发展和应用前景,逐渐成为电子商务技术的一个重要研究内容,得到越了来越多研究者的关注。将数据挖掘技术应用到个性化服务推荐系统的过程中,主要涉及到三项关键技术:客户原始数据的处理、模式库的建立和表示以及数据挖掘算法的应用。在前面的论述中提到了实时性与推荐质量之间的平衡问题,推荐系统的推荐精度和实时性是一对矛盾。大部分推荐技术在保证实时性要求的同时,是以牺牲推荐系统的推荐质量为前提的,针对这个问题,提出了下面的系统模型。下图给出了基于Web挖掘的个性化推荐系统体系结构,整个体系结构分为离线部分和在线部分两部分。离线部分由数据预处理和Web挖掘组成,在线部分由实时的推荐引擎组成;离线部分也可以称为模型获取阶段,而在线部分则可以称为模型应用阶段。在线模块离线模块利用离线模块提供利用在线模块积累的规则模型对在线的数据运用系统推用户推荐(推荐引荐算法形成相应的肇)规则图4.1.1电子商务推荐系统结构基于Web挖掘的个性化推荐系统体系结构分为离线部分和在线部分两部分,离线模块包括数据预处理和总体使用特征获取。所谓总体使用特征是指通过挖掘算法产生的知识或规则,这些知识规则以某种形式存储在媒质中,为在线模块提供支撑,所以离线模块是在线模块的支撑模块。在线模块主要就是推荐引擎的实现,它是动态实时过程,同时推荐引擎产生的频繁项集也会动态添加到离线模块中,作为离线模块的一部分。24 山东师范人学硕十学位论文离线模块和在线模块的处理过程基本上是一致的,通过两模块的相互作用,此系统可以保证最后呈现给客户的推荐集是实时的、最新的,也是合理的。由于实现了离线部分和在线部分的分离,从而能够适应大规模的数据量,极大的提高了个性化推荐服务的伸缩能力和实时响应速度。同时,由于集成了Web挖掘技术,在使用数据比较少,或Web站点内容变化比较频繁的情况下,也能提供高质量的个性化推荐服务∽。“。在后两节中将分别介绍介绍离线模块和在线模块,并给出相应的模型图。4.1.1离线模块结构设计离线部分主要由数据预处理和Web挖掘等模块组成,为推荐引擎的工作提供支持。其系统结构如图4.1-2。数据使用日志库管理系其他数据用户数据统』ljl数据数据清洗用户识别预处会话识别路径整合理』l』l模式篡H篓:H篡分析U』l在线模块数据预处理主要对Web使用数据,Web内容数据和Web结构数据进行各种处理,从而为后续的由曲挖掘提供可以直接处理的数据源。我们通过事务聚类分析获取用户的使用特征,通过内容聚类分析获取页面内容特征,通过结构聚类分析获取页面结构特征。由于数据预处理和Web挖掘的时间开销比较大,不能满足个性化推荐服务的实时性要求,所以必须将这两个操作离线进行,挖掘结果 山东师范大学硕。t。学位论文可以供在线部分的推荐引擎直接引用。在线部分的推荐引擎根据当前的用户会话(UserSession)结合Web挖掘结果为当前用户提供高效的个性化推荐服务b31。个性化推荐服务的表现形式可以为推荐的超链接列表,推荐的商品列表,推荐的广告列表,经裁剪的文本或图像列表等。4.1.2在线模块结构设计在线部分模式的获取最终是为了当客户在线浏览时能为客户提供最佳质量的推荐服务,所以在线部分的设计对整个推荐系统是至关重要的,下图给出系统的在线部分的结构图m1:石弋\一/l、、—/图4-1.3电子商务推荐在线模块结构从上图可以看出,用户访问网站时先将网页请求发送到Web服务器,Web服务器将用户的请求数据提交到推荐引擎模块,由推荐引擎利用离线模块生成的模式库和Web数据库进行计算,生成推荐结果集,并将结果集返回给Web服务器,由Web服务器通过Http协议将结果返回到客户,展现在浏览器中。这样就实现了整个推荐过程。从这个过程中可以看出,整个计算过程由推荐引擎完成。⋯。推荐引擎的结构图如图4.1.4:当一个用户浏览站点时,由会话管理器(SessionManager)负责与该用户通信,同时捕捉用户的相关信息送给对话管理器(DialogManager),在保持和处理与用户交互的上下文关系的同时,去调用推荐器(RecommendationEngine),在推荐器中完成推荐结果的计算得到结果集,集合会话管理器的信息,由结果发送器将结果提交给Web服务器,完成整个推荐工作。用户与系统交互的上下文关系记录在对话上下文中。 山东师范人学硕,l:学位论文图4.1.4推荐引擎模块的结构图推荐器是整个推荐引擎结构模型中重要的环节。在它受到调用后,就开始为当前用户寻找计算与他兴趣点相符合的物品推荐集,在这个推荐集的寻找过程中,会以用户数据库、物品数据库、会话期对象、购物车等作为推荐的基准和依据。以上是对这个推荐模型整个流程的大概描述,本文将在接下来的部分分别对主要处理模块作相应解释。4.2数据库管理系统选择在推荐系统中,每一步都需要从数据库检索相应的数据。这些数据库包括物品数据库、用户登记数据库、用户购买数据库,还有模式数据库等。数据库管理系统负责数据库中数据的操作、管理、维护等。数据库管理系统实际上是处于在线的推荐应用和数据库之间的中间层,通常可以直接由某个数据库管理系统(DBMS)软件充当,例如MSSQLServer,Oracle,DB2等。考虑的效率和稳定性,本系统采用MSSQLServer数据库系统。4.3Web数据预处理数据预处理是数据挖掘过程中不可缺少的阶段,因为现实世界中的数据多半27 山东师范大学硕{二学位论文是不完整的、含噪声的和不一致的,并且,这些数据的格式多种多样。对于数据挖掘算法而言,不正确的输入数据可能导致错误或者不准确的挖掘结果;同时,数据挖掘算法通常处理固定格式的数据,现实中存在各式各样的数据,我们需要将这些数据加工处理后可以被挖掘算法应用。数据挖掘算法可能只对数据库中部分数据进行挖掘,为此,我们需要抽取有用的数据。如何修补现实世界的数据的不完整及不一致,如何剔除噪声数据,如何将现有的数据转化为挖掘算法可用的格式,如何抽取有用的数据,如何将多个数据源集成在一起,这些都是数据预处理中完成的任务。而对于Web上的半结构化数据,数据预处理就显得更加重要。对Web使用数据的预处理主要包括数据清洗(DataCleaning),会话识别(SessionIdentification),由于存在用户端缓存和代理服务器端缓存,因此在要求比较高的个性化推荐服务还需要进行路径完善(PathCompletion);如果Web站点没有使用Cookie技术或内嵌的会话标示技术,则需要进行用户识别(UserIdentification):最后对于用户的访问序列还需要进行序列识别”3’⋯。4.3.1数据清洗(DatagIeaning)数据清洗是指消除数据中的冗余和噪声,对于不同类型的数据有着不同的数据清洗方法。对于常规结构化的数据清洗,如用户注册信息,购买信息等已经研究的比较多,具体可以参考文献。”。这里重点介绍对于Web目志数据的清洗。数据清洗可以从同志文件中删除无用的或与挖掘无关的数据,可以有效降低被挖掘数据源的维数,提高挖掘算法的效率。只有当Web服务器日志能正确反映用户对Web站点的访问模式时,利用该日志文件作为数据源的Web挖掘算法挖掘出的知识才是真正有价值的。当用户向Web服务器请求页面时,Web服务器将该页面对应的HTML文件传送给用户,并将这次请求记录在服务器日志中。当浏览器解释并显示该文件时,若存在图形和脚本等,则需要向服务器请求新的资源,浏览器根据文件提供的URL向服务器发出新的请求,服务器接到请求后响应,同时在服务器日志中记录本次请求。H1vrP是一个无状态的协议,用户对Web服务器页面的请求是每个文件形成一个单独连接,所以当用户请求的一个页面中可能包含多个文件时(如HTML文件、图形、脚本等),就会在服务器日志中形成多条记录。下面就是一 山东师范人学硕上学位论文段的原始Web日志数据:218.242.102.121一[06/May/2005:00:00:00+0000]”GETshnew/ad/logo.aspxHTTP/1.1”3040”http://www.mpsofi.net/”Mozilla/4.0(compatible;MSIE6.O:Windows98)”61.139.226.47-[06/May/2005:00:00:00+oooo]”GET/cgi-bin/guan.cgi?lHTTP/1.1”200178”http://www3.beareyes.com.cn/1/index.php⋯’Mozilla/4.0(compatible;MSIE5.O:Windows98;DigExt)”218.75.41.11-·[06/May/2005:00:00:00+0000】"GET/ad/vialogo.htmlHTTP/1.1”3040”http://www.mpsofl.net/”Mozilla/4.0(compatible;MSIE5.O;Windows98;DigEx0”61.187.207.104一[06/May/2005:00:00:00+0000】”GET/images/logolunl.aspxHTTP/1.1”3040”http://www2.beareyes.tom.cn/bbs/b.htm””Mozilla/4.0(compatible;MSIE6.O:WindowsNT5.n”通常,只有HTML文件与用户会话相关,用户~般不会显示地请求Web页面上的图形文件,它们是自动被下载的。我们可以检查URL的后缀删除不相关的记录数据,例如可将服务器日志文件中后缀为.gif,.jPg,jpeg和.map的记录项删除。经过清洗后的数据可以存到如下结构的数据表中(Web-Log),表4—3一lWeb_log数据结构表 山东师范人学硕L学位论文对上一段Web日志进行清洗后可得到如下数据:表4.3.2清洗后的日志文件字段数据ltemlDlpAddressSessionlDVisitTimeVisitUrlReferedAgentl218.242.102.121Ly5k153utl2005.5-6shnew/ad/logo.aspxMpsoft.netMozilla/4.0261.139.226.47Ly5k153tit】2005.5-6/egi-bin/guan.cgi?lMpsofl.netMozilla/4.03218.75.44.1lLy5k153utl2005—5-6/ad/vialogo.htmlMpsoft.netMozilla/4.04.3.2用户识别(UserIdentification)数据清洗完成后进行用户识别工作,用户识别的主要任务是从清洗过Web服务器访问同志所得到的中间文件中,识别出每个用户。由于本地缓存、代理服务器和防火墙的存在,使相同的IP地址可能对应用不同的用户,因而用户的识别工作非常复杂。通常用户识别要依据以下两条准则:(1)如果m地址相同,但是用户使用的浏览器或操作系统不相同,则认为他们是不同的用户。(2)将清洗后的同志中间文件与Web站点的拓扑结构相结合,识别出用户会话。如果当前用户请求的页面同用户已经浏览过的页面之间没有超链接关系,则认为他们是不同的用户。例如下面数据:表4-3.3用户访问数据 山东师范人学硕士学位论文第1.8条记录具有相同的IP地址,但是第l、2、4、7、8记录采用是Win98的操作系统,而且访问路径J下好符合网站的链接结构,所以作为一个客户,同样第3、5、6也可以作为一个客户,第9条记录是一个客户,访问路径如下:●客户lA—B——D—E●客户2A—E—D●客户3F4.3,3会话识别(SessionIdentjfication)在跨越时间区段较大的Web服务器日志中,用户有可能多次访问了该站点。会话识别的目的就是将用户的访问记录分为单个的会话(Session)。客户鉴定使系统已经得到同一客户访问的所有路径的集合,会话鉴定则对同一客户的路径集合进行鉴定,区分出不同的客户会话。客户会话是指具有唯一访问者标识(唯一地址)的访问者进入或再次进入网站的过程。客户会话的度量方法:访问者在20分钟内与网站有交互活动则被认为是同一次进网站,不记录新的客户会话数:当访问者持续20分钟(这个时间可以在服务器端设定的,大部分的商业网站的会话时间是20分钟)与网站没有交互活动,当他再次访问网站时访问者被认为再一次进入了网站,记录新的客户会话数渊。因此最简单的方法是通过超时判断,也就是如果两个页面访问的时间超过某个限度,则认定为该客户的一个新会话的开始。超时判断是进行会话鉴定的合适方法。但时间值应该是动态的,不同的网站应根据它的具体情况进行设定,所以使用策略是很重要的。拿上面的数据来说,虽然第1、2、4、7、8条记录为同一客户产生,但是第4和第7条记录中间相隔了近40分钟,所以认为是两个会话,最终划分为以下几个会话:A~B—D,A—E,A—E—D,F。4.3.4路径补充(PathCompIet;on)由于用户端页面缓存技术和代理服务器的广泛使用,使得Web服务器访问日志中所记录的可能不是用户完整的访问路径。当用户向Web服务器发出页面请求时,被请求的页面已经存在缓存或者代理服务器中,那么这个请求就不会传 山东师范大学硕l:学位论文送给Web服务器,在Web服务器访问日志文件中就不存在本次请求的记录。从而使得Web服务器访问日志不完整,不完整的访问日志不能准确地反映用户的访问模式,对这样的日志进行挖掘得到的模式可能是片面的、不准确的,所以有必要进行访问路径的补充。用户请求的页面从缓存中获得有三种可能的情况:第一种最常见的类型是用户使用了浏览器上的“BACK”按钮调用缓存在本机中的页面;第二种类型是用户在同一次会话中多次访问相同的页面,将会导致从缓存中取得页面;第三种类型是用户直接访问历史列表中的页面,同样会从缓存中取得页面。路径补充的方法是利用Web站点的拓扑结构,对页面进行分析。如果根据站点的拓扑结构发现用户当前请求的页面与用户上一次请求的页面之间没有超链接关系,就出现了路径不完整情况。检查访问同志,如果这个页面的参照页在用户历史访问记录中,可以认为用户使用了“BACK”按钮。根据站点的拓扑结构发现,在用户访问的历史记录中,有多个页面可以直接链接到该页面.那么将选定在请求时间上最接近当前请求页面的页面作为本次请求的参照补充页面,进行路径补充。补充了页面后,还需要估计补充页面的访问时问。一个简单的方法是取两个页面访问时间的中间点作为补充页面的访问时间⋯1。例如,对上面给出的数据,可以对客户l,由D页面不能直接到达E页,所以用户可能在D页按了Back键,退回到A页。所以页A和页E应当添加到用户1的会话文件中。用户也可能直接输入页E的URL,由于这种情况比较少,不会影响挖掘算法的结果,所以忽略此种情况。所以可以补充路径如下:A—B—D—A~E4.4模式分析系统能够产生推荐的重要基础就是模式,而模式分析在系统中的职能就是运用数据挖掘的方法生成系统推荐需要的模式。产生模式的数据分析基础是用户购买数据库和Web服务器同志。模式分析器运用数据挖掘技术分析Web服务器F1志数据,可以获得物品相对于页面、相对于用户聚类的权值模式,以及用户聚类的模式;从对用户购买数据库的分析,可以找到物品在被购买时,它们之间存在的关联相似模式。此外,用户浏览购买的过程是动态的,用户的兴趣是动态的,以及页面可能 山东师范人学硕lj学位论文被经常修改等原因,模式分析器所产生的模式就面l临一个更新的问题,否则模式库中的模式就不是有效的模式。因此模式分析器除了分析产生模式外,还进行模式的更新,以保证模式的实效性。由于模式的计算需要耗费大量的资源,并且需要较长的时间,所以在设计系统时将其放在离线模块中,可以由系统管理员主动执行,也可以让系统定期自动运行,以形成或更新模式库。模式分析器产生的模式是推荐系统能够工作的基石,所以关于如何运用数据挖掘技术获取相关模式显得非常重要,这将在下一章作详细的阐述。4,5会话管理器由于网页是一种无状态的程序,因此从服务器无法知道客户端的浏览状态。因此必须通过会话(Session)记录用户的相关信息,当此用户对这个Web服务器进行访问时以供服务器对该用户的身份进行确认等。例如,在某个网站的首页中需要用户输入自己的账号和密码,假如用户登陆后服务器端无法保存这个用户己经登录的信息,又不能在用户浏览和使用该网站的每个网页时都要求这个用户重新登录,所以用户的权限就得不到保证。Session对象就为用户提供了一个状态的记录。每一个用户,Web服务器的系统都会为他们建立一个Session。需要注意的是,Session对象只能适用于具备Cookie功能的浏览器。当前大部分的网站开发语言都支持Session,如JSP,ASP等,都提供对Session对象的支持。在JSP中,Session是一个内置对象。JSP页面第一次被装载时,Session对象就会被自动创建,并被关联到Request对象上。服务器为每一个用户创建一个Session对象,用来为用户保存私人信息,每个Session都有唯一的ID号(由系统自动生成),从而实现多人同时访问而互不干扰。Session对象对于那些希望通过多个页面完成一个事务的应用是非常有用的。在这个结构模型中,一个用户从连接站点访问开始一直到推荐引擎针对这个用户产生推荐,都可以看成是一个应用事务。另外,推荐是针对不同用户的,系统就需要把各个用户相关的信息记录下来,而Session对象恰好能提供这样的支持。4.5,1会话管理器的主要功能会话管理器主要处理与浏览器端的通信。包括从浏览器端(客户端)获得用 山东师范大学硕1:学位论文户的相关信息和把要推荐的物品送到浏览器供用户浏览,在整个系统中占有相对重要的地位。因为只有在与用户通信时获得足够的用户信息并各自保存下来,推荐工作才有可能基于这些信息继续下去,主要功能如下。⋯:(1)在任何时候,只要用户通过浏览器连接到站点,SessionManager就会为该用户创建一个记录它访问的Session对象。对于同时访问站点的多个用户,系统会把它们分离开来,建立他们各自的Session对象。通过创建记录用户访问的Session对象,在以后的处理中当需要获知该用户当时在线的访问情况时,就可以直接检索该用户的Session。(2)SessionManager还捕捉用户的行为动作,并且把这些行为动作以消息的形式送给对话管理器。用户这些有可能的相关动作(例如按下了某一个按钮)是能够被捕捉的,因为这些动作在HTTP请求对象中可以被标记识别。(3)会话管理器除了从浏览器端获得相应的用户信息建立Session对象外,还负责为结果发送器提供用户信息,把推荐的内容提交给Web服务器并展示在用户的浏览器中供用户浏览。4.5.2分离多用户由于网站的特点,对于任何站点,同一时刻可能有多个用户从不同的地方访问。如何把这些同一时刻访问站点的用户从对Web服务器的请求中区分开,是推荐模型中第一个需要处理的问题;只有这样后面的推荐工作才能够有针对地进行,否则我们就不会知道当前是为谁在寻找推荐集。而且只有分离这些用户,才能够得知各用户当时的访问状态,系统也才能够根据这个用户的访问状态向他做推荐。SessionManager则担当了这个重任,它把各个不同的用户分离,并把状态信息与相应的Session对象联系记录下来。按照现行的网络协议,用户浏览站点通常都采用HTTP协议,当用户访问某一页面时,其实质是该用户发送这一个请求,服务器会根据该请求产生一个Request对象,这个Request对象里包含了用户访问的相关的信息,这些信息都可以通过Request对象的相关方法获得。Request的主要属性如下:●Request.RemoteUser获得这个请求的用户名称,如果不存在就返回空值●Request.RemoteAddress获取这个客户端的IP地址 山东师范丈学硕{:学位论文●Request.RequestURL获取用户请求的URL●Request.RequestedSessionld获取用户端请求指定的会话Id●Request.Session获取与客户端请求相联系的会话每个用户都有自己的Session对象,而每个Session对象都有唯一的ID。要想为用户作推荐,SessionID就必须作为信息(消息)传递下去。Session被创建后,就可以确定传送到对话管理器的消息结构:StructureSessionMsg(StringUserlD:StringRequestURL:StringFromlP:StringSessionlD:)其中UserlD是当前访问站点的用户Id,如果当前用户是一个非注册的用户,UserlD值为NULL,否则就是这个用户ID号;RequestURL是用户通过HTTP协议向服务器送来的请求资源,它的值是一个URL,代表用户对站点最新的请求;FromlP则记录了这个远程用户的IP地址;SessionlD是分离出来的用户Session对象的ID。通过这个消息结构,会话管理器就能将推荐系统所需的相关信息传递给对话管理器,由对话管理器完成下一步工作。4.6对话管理器用户对站点的访问和站点针对用户的反馈和推荐可以看成是一请一答的对话形式。于是系统与用户的交互就可以通过对话的形式记录下来。为了使系统和用户有一个井然有序的交互,对这种对话形式的交互的管理就显得非常有必要。对话管理器就是进行系统与用户之间的对话的管理。这里的分析是为推荐器做推荐做一个铺垫。推荐器只负责进行推荐集的计算,至于计算中需要的一些额外信息数据等,还需要对话管理器分析产生。例如,分析某个IP的用户来自哪一个地区,或是某个UserlD代表的注册用户的年龄层段,以及用户执行了什么动作等,推荐器做推荐的时候就依据这些分析数据。通常需要分析检索用户数据库,分析产生用户对象,并把该对象以数据包的形式传 山东师范丈学硕j:学位论文递给推荐器。在对话管理器调用推荐器得到针对这个用户请求的推荐时,对话管理器就把这次用户请求和随即系统反馈的推荐集以对话形式记录下来。而且系统与用户之间的交互是持续性的,因此形成的应该是对话上下文。每一个用户都有他们各自不同和系统的交互,因此每个对话上下文也应该有一个ID。为了方便起见,这里使用会话对象的ID作为用户对话的ID就可以唯一标识某个对话上下文所属的用户。有了对话上下文的记录,就可以对系统与用户交互做评价分析,以评价出系统的推荐性能和用户的反馈情况。形成交互对话并以对话上下文的形式存储的工作由对话处理器完成。对话管理器传送到推荐器的消息结构如下:StructureDialogMsg(StringSessionID:StringRequestURL:ClassUser:)SessionlD,RequestURL所表示的意义与会话管理器传给来的消息中的相同。User则是对话管理器分析所得的在推荐过程中所需要的相关数据信息,并以类(Class)的形式定义存储。4.7推荐器推荐器是推荐引擎设计中最核心的部分。它利用数据源(DB,主要包括商品信息,用户注册信息,以及购买历史记录等信息)和推荐引擎其他模块传来的关于用户信息及用户请求信息(Request),利用特定的模式和算法完成推荐结果的计算,并把结果传递给到消息发送器。系统的推荐针对注册用户和非注册用户有所不同,相关的推荐原则为:(1)对于非注册用户采用协作过滤的方法。根据当前非注册用户的访问状态,把用户归类。在用户所属的类里,权值较高的物品(页面)代表是这一类用户普遍感兴趣的。在这一类用户中权值较高和已经购买该物品(浏览过的页面)的用户对它的平均评价值也高的物品(页面),就是系统推荐给用户的对象。(2)对于注册用户则根据用户的当前购买状态和购买历史向用户做推荐。站 山东师范大学硕卜学位论文点上的物品存在一定的关联相似关系。根据这个关系,系统就可以针对当前注册用户已经购买的物品来确定推荐。此外,如果某些物品购买时间距离当前购买时间久远,则基于这类物品推荐的可能性降低旧““。(3)无论是注册用户还是非注册用户,系统根据他们请求的最新页面中所涉及到的物品和物品之间存在的关联相似关系,寻找可以推荐的物品。如果某个物品在当前用户请求的最新页面中的权值高,那么和这个物品有极高的相似关联关系的物品可以作为推荐的对象。依据这些推荐原则,推荐器将通过计算产生面向当前用户的推荐集。在计算中,要获得当前用户的访问状态时,利用SessionlD从会话对象中取出相应的Session对象,也就可以知道用户当前的访问信息;要获得用户的购买历史记录,推荐器还需要检索用户购买数据库。推荐器计算某个物品对于当前这个用户的推荐值,以形成推荐集。对于推荐结果的计算算法将在第5章给出。 山东师范大学硕:1。学位论文第5章电子商务推荐算法及改进电子商务推荐算法是整个推荐系统的核心,其推荐精度和推荐效率直接影响推荐系统的整体性能。为了产生精确而有效的推荐,保证推荐系统的实时性要求,研究者提出了各种不同的推荐算法,其中许多方法来自于数据挖掘领域的最新研究成果。电子商务推荐算法主要包括User-based协同过滤推荐,Item.based协同过滤推荐,Cluster-based协同过滤推荐、基于降维的协同过滤推荐、基于Horting图技术的协同过滤推荐、基于Bayesian网络技术的推荐、关联规则推荐等。基于数据挖掘技术的电子商务推荐算法通过数据挖掘技术对各种用户数据进行深入分析,得到每个用户的兴趣爱好特征和特定的购买行为模式。基于数据挖掘技术的电子商务推荐算法~般包括学习阶段和应用阶段,在学习阶段,数据挖掘系统对数据进行分析并建立相应的推荐模型,推荐模型用于解释用户的行为模式;在应用阶段,推荐算法根据建立的推荐模型和用户行为实时向用户提供推荐服务。某些电子商务推荐算法没有离线建立推荐模型的学习阶段,直接在在线阶段实时建立推荐模型产生推荐,如果同时访问电子商务系统的用户人数庞大,这种推荐系统的实时性难以保证“21”。电子商务推荐算法可以分为基于内存的推荐算法和基于模型的推荐算法两类娜’⋯:(1)基于模型的推荐算法:首先根据用户数据建立模型,推荐算法运行期间将建立的模型调入内存。基于模型的推荐算法可以通过各种机器学习算法建立模型,如Bayesian网络技术、聚类技术等。(2)基于内存的推荐算法:推荐算法运行期间需要将整个用户数据库调入内存,因此可以利用最新的用户数据产生推荐。由定义可知,关联规则推荐算法、Cluster-based协同过滤推荐算法及基于Bayesian网络技术的推荐算法属于基于模型的推荐算法,User-based协同过滤推荐算法、Item—based协同过滤推荐算法则属于基于内存的推荐算法。在大型的电子商务系统中,用户数据庞大,如果每次推荐都将数据载入内存推荐将变得非常缓慢,用户将难以接受,这也是基于内存的推荐算法面临的主要 山东帅范大学硕l。学位论文挑战;在基于模型的推荐算法中,建立的模型相对于原始数据集而言小得多,因此能有效缓解推荐算法的实时性问题。模型相对于原始用户数据而言具有滞后效应,为了保证模型的有效性,必须周期性的对模型进行更新。典型的推荐算法有基于关联规则的推荐算法和基于用户的协同过滤推荐算法。本章将就这两种算法加以介绍。5.1基于关联规则的推荐算法关联规则挖掘(ARM)是数据挖掘研究的一个重要的分支,关联规则是数据挖掘的众多知识类型中最为典型的一种。运用关联规则对Web访问信息进行挖掘,可以发现用户的购买模式,访问模式,以及由用户频繁浏览页面形成的频繁路径。这些利用关联规则发现的模式可以帮助网站的设计者发现商业智能,更好地调整网站的结构;在这里只讨论个性化商品的推荐。5.1.1关联规则m枷关联规则挖掘是指从一个大型的数据集中发现有趣的关联或相关关系,即从数据集中识别出频繁出现的属性值集合,也称为频繁项集,然后再利用这些频繁项集创建描述关联关系的规则的过程。关联规则描述如下:给定一个由若干条事务记录构成的事务数据库D和一个表示所有项目的物品(事务)集:I=“,i2,....i。),D中任意一条记录T都是I的子集,即:T∈D,TCI如果T中包含X£I,则称T支持项目X。这里,T和X称作项集(ItemSet),包含k个项的项集称为k一项集,例如:集合{牛奶,咖啡}是一个2一项集。一个关联规则是形如XjY的蕴涵式,其中X、Y满足如下条件:X£I,Y_cI,XnY=垂x称为规则的前项项集,简称前项。Y称为规则的后项项集,简称后项。该规则说明事务数据库中的某一条记录如果包含了x,那么也倾向于包含Y。x£I关联规则的信任度为c%,表示事务数据库D中支持x的记录中有c%的也支持39 山东师范大学硕士学位论文Y;XcI关联规则的支持度为S%,表示事务数掘库D中S%的记录支持XUY,即同时包含X和Y的事务在事务数据库中出现的概率。C和S可以用如下的公式表示:c硼nf(XjD=皿sup筹(⋯⋯..(5.¨)11X)⋯⋯⋯⋯(5..)汹up(轴y)-钾⋯⋯⋯(5.1.2)人们通常只对满足一定的支持度和可信度的关联规则感兴趣。为了发现有意义的关联规则,需要给定两个阂值:一个是最小支持度(MinimumSupport),表示发现的关联规则必须满足的最小支持度,简称MinSup;另一个是最小可信度(MinimumConfidence),表示发现的关联规则必须满足的最小可信度,简称为MinConfo同时满足MinSup和MinConf的规则称作强关联规则。如果项集的出现频率大于或等于MinSup,称项集满足最小支持度,则该项集为频繁项集(FrequentItemSet);频繁k.项集的集合通常记作Lk。关联规则挖掘就是在事务数据库D中找出满足用户指定的最小支持度MinSup和最小可信度MinConf的所有关联规则。关联规则的挖掘问题可以分解成以下两个步骤:●找到所有支持度大于最小支持度阈值的项集(ItemSet),这些项集称为频集(FrequentltemSet)。●使用第一步找到的频集产生期望的关联规则。第一步的基本思想是根据长度为k的频集Lk通过连接操作产生长度为k+1的候选频集集合c“l,然后扫描交易数据库,验证候选频集集合ck+l中的所有候选频集,生成长度为k+1的频集Lk+l。这一步需要反复扫描交易数据库,是算法性能的瓶颈。第二步相对简单,给定一个频集-2,IiEI),产生只包含集合Y=(Ibl2,....Ik)中项的所有规则(最多k条),一旦这些规则被生成,那么只有大于最小置信度阈值的关联规则才保留下来。关联规则挖掘技术可以发现不同商品在销售过程中的相关性,在零售业得到了广泛的应用。 山东师范人学硕}:学位论文基于关联规则的推荐算法根据生成的关联规则推荐模型和用户的购买行为向用户产生推荐。关联规则推荐模型的建立离线进行,因此可以保证有效推荐算法的实时性要求。5.1.2经典的关联规则挖掘算法目前关于关联规则挖掘的经典算法主要是Apriori算法。按照上--4,节所述关联规则挖掘的两个步骤,将在下面给出Apfiofi算法m1算法5.1Apriori算法(发现频繁项目集)输入:数据集D;最小支持数minsupcount输出:频繁项目集L1)Lz={largel—itemsets};∥所有支持度不小于minsupport的l一项目集2)FOR(k=2;Lk-i≠中;k++)DOBEGIN3)Ck=apriori—gen(Lk.i)://Ck是k个元素的候选集4)FORalltransactionstE5DDOBEGIN5)Ct--subset(Ck,t);//Ct是所有t包含的候选集元素6)FORallcandidatesc∈CtDO7)e.count斗斗;∞END9)Lk={ceCkIc.count>=minsup_count)10)END11)L=ukLk算法5.1中调用了apriori—gen(Lk.I),是为了通过(k一1)-频繁项目集产生k一候选集。算法3.2描述了apfiofi-gen过程。算法5.2apfiod—gen(Lk-t)(候选集产生)输入:(k-1)一频繁项目集Lk-1输出:k一候选项目集Ck1、FORallitemsetpELk.1DO2)FORallitemsetq∈Lk.1DO3)IFp.iteml=q.item,P.item2=q.item2⋯.P.itemk02=q.itemk.2,P.itemk.1maxTHENBEGIN13)max=d:14)Newcenter=t;151END161END17)CenterSet=CenterSetu{newcenter)18)k=k+l;19)END20)RETURNCenterSet;在每一遍k-means算法执行后,选取一个距离各中心距离和最大的元素作为新的中心。该算法的改进之处有三点: 山东师范人学硕J:学位论文(1)改变了传统的k-means算法要求用户必须事先给出k(要生成的聚类数目)值以及对于设定的不同k值导致不同聚类结果的缺点。(2)避免了某些页面因为没有被访问得到评分为O而形成的大规模稀疏矩阵问题。(3)传统的k-means算法在每一次迭代时都要重新计算新的平均值以获取新的簇中心,其算法的时间大都花在每一次迭代后都要重新计算每一个样本与新的簇中心之问的距离。而改进的k-means算法由于在每一次算法执行后是选取一个距离各中心距离和最大的元素作为新的中心,这个元素来自原来的样本数据库,原来的距离矩阵数据仍然可以重用,因此不需要重新计算每一个对象与新的平均值点间的距离。通过k值可增的k-means算法可以压缩推荐池的大小以提高推荐速度。由于采用聚类算法压缩推荐池,当一段时间之后,一些新的用户访问被替换入推荐池,就需要重新运行聚类算法以得到新的压缩结果。 山东师范大学硕i:学位论文第6章电子商务推荐系统的实现6.1推荐系统的实现按照在第4章所阐述的系统结构,电子商务推荐系统的在线部分主要由推荐引擎、Web服务器和用户浏览器构成。主要完成的是在线的页面推荐工作。推荐引擎是在线部分中的重要过程,其主要的任务是为当前用户寻找与其兴趣度最为类似的页面集合。推荐引擎首先分析用户的当前会话,识别出用户的当前会话后,得到用户当前访问页面集合。推荐引擎将该用户的当前访问页面集合送到协作过滤器中进行聚类,得到推荐页面集。推荐引擎将用户的请求发送给Web服务器,当Web服务器返回页面后,推荐引擎把相应的推荐集附加到Web服务器所给页面底部,发送给用户进行页面集合推荐。具体实现过程如图6.1所示:用户浏览器上tWeb服务器上t推荐引擎0t刚户聚类文件t使川协同过滤聚类技术t用户事务文件tWeb访问日志在线部分离线部分图6-1基于聚类的协同过滤推荐系统的实现过程6.2基于聚类的协同过滤推荐算法实现由于协作推荐方法的主要算法时J’日J在于寻找近邻,而基于聚类的协同过滤推荐系统通过聚类来减少寻找的目标空f'开J,所以该推荐系统中最为重要的部分就足 山东师范人学硕上学位论文聚类的实现,下面我们就以实验来模拟推荐系统中使用改进的k-means算法实现聚类的过程。6.2.1数据集我们采用与MovieLens(http://movielens.umn.edu/)。⋯,站点提供的数据集ratings.dat在格式上相类似的数据集来模拟该算法的实现过程,MovieLens是一个基于Web的研究型推荐系统,用于接收用户对电影的评分并提供相应的电影推荐列表。MovieLens的数据集中共包含65536个用户对3900多部电影的评分。ratings.dat的格式如图6.2-1所示。从左至右依次为进行评价的用户编号、被评价的电影编号、评分值。我们用一个与该评分集合格式类似的数据集来模拟实际带有用户访问时长的URL集合,并通过对这个评分集合的聚类实现来模拟对推荐池的压缩。立件编辑收藏夹选项帮助⋯~D岳日囟圆园圆qq聋S::2毒2峪::2::雌7托2j:棒峪《J^黪::!拳薅《J::4::07牲2j《J5778::257{::5::97牲229{了2S:::峰:6::5::峰7K22q2哮3抟:::4牲托::3::够7牲23{畔抟28::2j《J::4::垮7批2ji如37S::1l2U::4::姆了托23《Jj峰!抟::16:::3::哆7鞋23《J43耋牲二:!(÷j::5::蟹7h22峰2《b转::!《!i::5::97批2j《J3垮jS::524::5::(≥7S23《J靠{{牲::{{}59::■::嗡7撼22峰如{48::j27::碡::峙了鬟22吩K57髯::4多4::j::峰7S23:{73牲::!了《J{::4::峰7K23l6j‘;S::l274::5::峰7挺2jjwj靠2鬟::7‘:::5::垮7S2jj526DOs工醛Line2/lc02..1图6—2—1实验数据集ratings.dat如图所示,该部分的数据反映的是编号为8的用户对编号为2429,1840,2571,1916⋯⋯等等电影的评分值分别为2,4,5,5⋯⋯。这样的数据集合将导致评 山东师范大学硕{:学位论文分矩阵出现大规模稀疏矩阵,即有很多的评分项值为0。按照改进k.means算法的实现过程,我们可以用一个阙值或者别的用户对该电影的评分均值来进行调整。调整后的数据集合应该没有为0的评分项,这样就可以避免出现大规模稀疏矩阵影响推荐质量的情况发生。我们以表5.2一l中的URL表为模拟的实验数据集。参照MovieLens提供的数据集格式,模拟实验用的数据集test.dat格式为图6.2.2所示,从左至右的三列分别是:用户ID,URL页面ID以及用户的评分兴趣度。因此数据集中的第一行数据表明用户l对URLl页面的兴趣度为0。图6-2.2模拟数据集test.dat6.2.2实验结果及分析在各种相似性度量方法中,欧氏距离度量方法简单明了,可以有效度量项间的相似性,而且计算速度比较快,因此在对项进行聚类和进行目标项的最近邻查询时我们均采用欧氏距离度量方法。我们利用在第5章提出的改进k-means算法进行聚类,首先我们对用来进行实验的数掘集进行处理,按照改进k-means算法的步骤将其中为0的评分以其他 山东师范人学硕{:学位论文用户的评分均值来代替。接下来我们要形成协同过滤矩阵并且对评价值为0的数据进行处理,以避免形成大规模稀疏矩阵。分别如图6.2—3和图6—2—4所示。从图6—2—4中可以看出原先在图6.2.3中第1列第5,6,7行分别为O的数据经过处理后都被该项评分的均值所代替。0580912606O7O4O.46.14.88924.84.84.8O.4图6.2—3处理前的协同过滤矩阵55.O165.1765.1627345.85.868566图6.2.4处理后的协同过滤矩阵在数据处理完毕后,就要输入聚类数目,再根据欧氏距离进行距离矩阵的计算如图6.2.5所示,以每一个用户之间的距离作为其相似度的依据来进行聚类的划分。图6.2.5所示的距离矩阵使用的是表5.2.1没有处理评分为0的数据集合(目的是为了更加直观的显示各个用户之间的相似性,因其原始协同过滤矩阵并非极端稀疏矩阵)。4OO68566O76O62736559O6O488.6.455l674.6 山东师范大学硕上学位论文012.8012.4204.313.312.7O10.213.814.111.503.612.812.64.48.1O10.211.912。412.138.6O4.712.212.O6.15.72.66.30图6-2.5距离矩阵从图6-2.5中我们可以看出第1个用户和第2个用户之间的距离为12.8,而第1个用户和第3个用户之间的距离为12.4,第2个用户和第3个用户之问的距离为2,依次类推。我们输入聚类数目为3,随机选取前3个用户为初始点。由于距离越近相似度越高,分析距离矩阵可知,用户4,用户5,用户6,用户7都与用户1距离最近,所以形成的聚类为{1,4,5,6,7),{2},(3)。然后计算每一个用户到这3个聚类中心的距离和,找出距离最远的对象作为新的聚类中心,重新计算距离矩阵,再反复进行迭代。5.3算法的性能分析经过实验可以发现该算法的优点有:1.聚类确实在很大程度上减少了推荐池中的推荐页面数量,因此可以达到提高推荐速度的目的。2.由于每一遍k-means算法执行后,都选取一个距离各中心距离和最大的元素作为新的中心。这样,新的中心样本点仍然来自原来的推荐池,就可以重复使用原有的距离矩阵中的数据,减少运算代价。3.对于处理大数据集,该算法是相对可伸缩的和高效率的,因为它的时间复杂度是O(n,k+t),其中,n是所有对象的数目,k是聚类的数目,t是迭代次数。通常情况下,k<
还剩69页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf