您好,欢迎访问三七文档
基于web日志的数据预处理研究摘要:为了更加合理地组织Web服务器的结构,需要通过Web日志挖掘分析用户的浏览模式.而Web日志挖掘中的数据预处理工作关系到挖掘的质量。文章就此进行了深入的研究,提出一个包括数据净化、用户识别、会话识别和路径补充等过程的数据预处理模型,并介绍这个过程中一些特殊情况的处理方法。关键词数据挖掘;Web日志挖掘;数据预处理DataPreparationinWebLogMiningAbstractInordertoorganizethewebserverarchitecturemorelogically,Weblogminingisneededtoanalyzeuser'sbrowsingpatterns.ThispaperstudiesthedatapreprocessingphaseofWeblogmining,whichisthekeytogetgoodminingresult,andpresentsadatapreprocessingmodelincludingmiddlestepslikedatacleaning,userrecognition,sessionrecognition,andpathsupplementation.Alsointroducethesolutionofsomeespecialprobleminthisprocess.KeywordsDatamining;Weblogmining;Datapreparation1引言近年来,Internet正以令人难以置信的速度在高速发展,越来越多的机构、团体和个人在Internet上发布信息、查找信息.虽然Internet上有海量的数据,但由于web数据是无结构的、动态的,并且Web页面的复杂程度远远超过了文本文档,人们要想找到自己想要的数据犹如大海捞针一般.信息检索界开发了许多搜索引擎,但其覆盖率有限,因此查询率低,一般的搜索引擎是基于关键字的查询,命中率较低,另外不能针对特定的用户给出特殊的服务,因为每个人感兴趣的东西是不一样的,因此不具有个性化。解决这些问题的一个途径,就是将传统的数据挖掘技术和web结合起来,进行web挖掘就是从Web文档和Web活动中抽取感兴趣的潜在的有用模式和隐藏的信息,挖掘可以在很多方面发挥作用,如对搜索引擎的结构进行挖掘,确定权威页面,文档分类,WebLog挖掘、智能查询,建立Meta-web数据库等[1]。目前,在web挖掘研究中,web日志挖掘是重点领域之一。Web日志挖掘技术主要是从web服务器和客户端的日志文件中,挖掘发现用户的浏览行为习惯,并且日志数据中潜在的有用的规律被挖掘分析出来,进而为网站企业和决策分析者提供有效的决策参考和为用户提供个性化服务,从而可以制定相应的营销策略,改进网站的组织结构和性能,在同行竞争一中提高自身优势。所以,对web日志挖掘知识理论和技术的研究在实际应用中是必不可少的,且有极高的研究价值。2web日志挖掘研究现状及难点2.1研究现状自从1996年由M.S.Chen,T.Yan,H.Mannila,O.Etzioni等提出web数据的研究应用工作开始,到现在己有10多年的发展。近几年,国外学者、科研院所和商业机构非常关注web日志挖掘相关理论的研究以及应用开发等相关技术。Chen和Mannila在研究中,假定去除声音、图像文件等多媒体数据,然后剩余的日志文件数据可以真实地反映出用户访问网站的状况。最大前向路径MFP(MaximalForwardPath)概念模型被Chen提出来,用户访问会话(Session)被分解为一个个相对于更小的事务(Transaction)是这种方法被提出的主要目的,最后这些被分解得出的事务被用于挖掘出用户的访问模式[4]。为了找出用户访问网站的周期,Mannila的研究以用户访问页面作为事件的前提下,试着从站点web日志文件中找出这样的周期。Minnerota大学提出的WebMine:系统,这是一种web日志挖掘的体系结构,此系统是对web站点的web日志数据文件进行预处理,因为传统的数据挖掘方法和技术只能对相应特定的数据源进行有效地挖掘,所以这里web日志文件应被预处理成适合传统挖掘方法的数据源数据,最后利用数据挖掘相关的技术方法进行挖掘处理,最终可以从web日志文件数据中发现关联规则和序列模式等。有许多web日志挖掘工具已经投入实际使用中,如IBM公司的web日志挖掘和分析工具SpeedTracer,通过对用户会话进行数据挖掘后,可以发现频繁访问的页面组和频繁遍历路径。还有WebTrends公司和Exody公司分别设计出的LogAnalyzer,WebSuxess等挖掘工具,它们主要的功能是通过分析web日志数据,然后一些简单统计信息等被挖掘出[3]。此外,针对用户的频繁访问模式的挖掘与发现,现有的基于web日志数据的技术和方法主要采用基于Apriori算法和FP-Growth算法思想的传统算法,并且把这些算法引入web日志挖掘中。没有考虑到web网站结构特点和web日志数据的自身特点,比如,网站的拓扑结构可以用有向图来表示,从web日志中可以分析出web站点上各个页面的重要程度等。将web站点的每个被用户访问过的页面赋予相应的权重,是提高挖掘结果的准确性的一个很重要的部分,所以我们在挖掘过程中很有必要考虑到这一点,然后进一步研究挖掘带权重的用户频繁访问模式[4]。2.2研究难点Web服务器日志记录了用户访问本站点的信息。典型的web服务器日志包括以下信息:IP地址、请求时间、方法(如GET)、被请求文件的URL,Http版本号、返回码、传输字节数、引用页的URL(指向被请求文件的页面)和代理。表1列出了一般Web服务器日志包含的内容。表1一般的Web服务器日志1202.117.34.8-[07/Dec/1998:10:24:53-0600]GET/HTTP/1.02003710Mozilla/2.0(compatible:MS1E3.01:Windows95)但是,由于本地缓存、代理服务器和防火墙的存在,使得Web日志中的数据并不精确,直接在其上进行挖掘非常困难,而且有可能会得到错误结果。为了减少数据传输量以提高网络性能,大部分的浏览器缓存刚刚访问过的页面,所以当用户点击”BACK”,按钮时,显示的是本机缓存的页面,而Web服务器并不知道用户又访问了重复的页面。代理服务器为用户提供了中间缓存,使得从服务器请求的页面在一段时间内可以被多个用户浏览,更增加了Web日志的复杂性。同时,在Web服务器的日志中通常不含有用户标识信息,多个用户通过代理服务器的请求在日志中具有相同的标识符-即代理服务器的IP地址,导致日志文件的不准确。出于安全的考虑,许多公司为内部的局域网设置了防火墙。这种情况下,不同的用户请求在Web服务器的日志中记录的都是防火墙的IP地址,这样就带来与前面相同的问题。在Web日志挖掘中,主要是提供面向用户的信息分析,首先要从Web日志中识别出用户会话作为信息分析的基础。用户会话是一个用户在规定的时间内请求的所有Web页面。日志的不精确性增加了识别用户会话的难度[6]。本文讲述的Web日志挖掘系统在利用主机地址的同时分析日志中每条记录的请求页和引用页的URL,然后根据Web站点的拓扑结构(超链接)和其它启发式规则区分用户会话。3web日志挖掘的体系结构Web日志挖掘主要分为下面几个阶段:数据采集(Dataacquisition),数据预处理(DataPreprocessing),模式发现(PatternDiscovery)和模式分析(PatternAnalysis)。如图3.1所示:·数据预处理Web数据的准确性是web日志挖掘过程中的一个重要的基础,只有准确、干净的数据才能够得出较正确的挖掘结果,从而使进一步的分析工作朝着正确的方向发展。由于网络环境的特殊性,防火墙,本地缓存,代理服务器等的存在,使Web日志数据存在不完整性,也有噪音数据的存在,所以原始的web日志数据不能直接用来进行做挖掘工作。所以数据预处理是有必要的。日志数据预处理主要步骤:数据清理,用户识别,会话识别,路径补充和事务识别。·模式识别:模式发现阶段是采用各种知识方法和相应的算法从Web日志数据中挖掘出潜在有用的、用户感兴趣的、新颖的和可理解的知识信息。在这个阶段会用到很多领域的知识方法,除了数据挖掘领域,还有以下多个领域,如机器学习、统计学、人工智能和模式识别等相关领域。但是在Web挖掘领域中,由于有着它自身的特点,所以要把上面多个领域应用于web挖掘技术中,首先要考虑到web挖掘领域特点,有不同特殊数据类型和不同的先验知识等限制条件。因此,这些方法技术须做出相应的修改和完善才能应用到web挖掘领域。·模式分析:模式分析是Web日志挖掘过程的最后一个阶段。其目的就是利用各种数据挖掘算法和技术挖掘出大规模数据背后的规律和模式。模式分析阶段中,我们要去除那些无用的模式,再通过一定的方法把我们分析发现的模式用直观易理解的形式表现出来。在实际应用中,模式分析技术主要有以下几个方面:数理统计、可视化和图形技术、数据库查询机制和可用性分析等。利用这些分析技术可以过滤那些没用的、无价值和有偏差的模式,最后把有用的模式和规律规则转换为知识信息,应用到具体的领域中去[2]。4数据预处理的过程4.2数据预处理的过程4.2.1数据抽象(DataAbstract)万维网协会(WorldWideWebConsortium,简称W3C)定义了一些数据抽象,如下:用户(user):通过浏览器访问网页的个体;用户可以在不同的地方通过不同的机器使用不同的代理访问网站。页而浏览(pageview):用户点击鼠标浏览网页所得到的结果;这个结果可以由多个文件构成。一次页而浏览代表一次用户行为。图3.1web日志挖掘过程点击流(click-stream):用户访问的一组连续的页而浏览的)字列。用户会话(usersession):某个用户阶段性的页而浏览所构成的点击流。其特点是可以跨越多个服务器服务器会话(serversession):某个用户在一个服务器上阶段性的页而浏览所构成的点击流片断(episode):用户会话中一段有意义的点击流.4.2.2数据预处理的四个价段数据预处理是在将日志文件转换成数据库文件以后进行的,其目的是把Web日志转化为适合进行数据挖掘的可靠的精确的数据。这个过程主要包括四个阶段:数据清洗、识别用户、识别用户会话和识别片断。(1)数据清理(DataCleaning)数据清理是指根据需求,对日志文件进行处理,包括删除无关紧要的数据,合并某些记录,对用户请求页而时发生错误的记录进行适当的处理等等。当用户请求一个网页时,与这个网页有关的图片、音频等信息会自动下载,并记录在日志文件中;而如果我们挖掘的口的是用户访问模式,这些信息对我们来说显然用处不大(除非图片、音频等是用户显示请求的,即用户所需要的内容正是这些图片和音频等文件),所以可以把日志中文件的后缀为gif、jpg、jpeg、GIF等的记录删除。但是,当挖掘的目的是为了进行网络流量分析或为页面缓冲与预取提供依据时,这些信息又会显得格外重要,所以在删除这些记录的时候一定要把相关信息记录下来。我们选择将其中的“发送字节数”,和”接收字节数”,这两个域的内容记录下来。此外,后缀名为cgi、js、和JS的脚本文件因对后而的分析处理不造成任何影响,所以应该删除。我们可以定义一个缺省的规则库来帮助删除记录,而且这个规则库可以根据正在分析的网站类型进行修改。例如,对于主要包含图形的站点,日志中的图形文件可能代表了用户的显式请求,此时就不能将图形文件删除我们可以预先将网站分为一般网站、图片网站、音视频网站等,分别建立对应的规则库;确定要分析的网站属于那一类,然后按照该类网站的规则库进行数据清理。当然,我们还可以根据自己的需要对规则库进行删改[5]。(2)识别用户(UserIdentification)如若进行用户访问模式
本文标题:数据挖掘论文
链接地址:https://www.777doc.com/doc-2333607 .html