浅析WEB日志数据挖掘技术网络毕业论(2)
2014-01-26 01:34
导读:一般只有一个Web服务器组成的网站。对于这些简单结构的Web服务器,分析的原始数据往往就是一个Web日志文件。一般来说,对于这种情况和传统的数据挖掘
一般只有一个Web服务器组成的网站。对于这些简单结构的Web服务器,分析的原始数据往往就是一个Web日志文件。一般来说,对于这种情况和传统的数据挖掘的处理手法有类似的地方,也大致可以分开原始数据预处理。挖掘算法和模式分析几个主要的步骤。
数据预处理是一个十分关键的步骤,根据不同的业务,不同的情况,将海量的原始数据中抽取需要的数据,并且对于不完整的数据还需要做些处理等。Web日志挖掘的数据预处理包括依赖域的数据净化、用户识别、会话识别和路径补充等。对日志进行预处理的结果直接影响到挖掘算法产生的规则与模式。因此,预处理过程是保证web日志挖掘质量的关键。
数据挣化:指删除Web服务器日志中与挖掘算法无关的数据。大多数情况下。只有日志中HTML文件与用户会话相关(但有些以浏览图片或者查询其它媒体为主的网页除外),因此可以通过检查URI资源的后缀删除认为不相关的数据,在实际系统应用中,可以建立一个后缀名表帮助过滤删除这些文件。经过数据净化,数据可以十分集中。
用户识别:由于本地缓存、代理服务器和防火墙的存在,使得有效识别用户的任务变得十分复杂。一般被采用的方法是基干日志/站点的方法,还可以使用一些启发性规则。例如:如果IP地址相同,但是代理信息变了,表明用户可能是在某个防火墙后面的内网的不同用户,则可以标记为不同的用户;还可以将访问信息,引用信息和站点拓扑机构结合,构造出用户的测览路径,如果当前请求的页砸同用户已浏览的页面没有链接关系,则认为存在IP地址相同的多个用户。使用这些规则并不可以保证可咀准确识别用户,因此用户识别是个难题。
会话识别:在跨越时间区段比较大的Web服务器日志中,用户可能多次访问该站点,会话识别的目的就是将用户的访问记录分为单个会话。最简单的方法是用超时的技术,如果两个页面之问请求的时闻差值超过了一定界限就认为用户开始了一个新的会话。例如。可以设置30分钟等。
(科教范文网http://fw.ΝsΕΑc.com编辑)
路径补充:在识别用户会话过程中的另外一个问题是确定访问日志中是否有重要的请求没有被记录。这就需要路径补充来完成这些记录了。如果当前请求的页面与用户上一次请求的页面之阃没有超文本链接,那么用户很可能使用了浏览器上“BACK”的功能调用缓存在本机中的页面。检查引用信息确定当前请求来自哪一页,如果在用户的历史访问记录上有多个页面都包含与当前请求页面的链接,则将请求时间最接近的作为当前请求的来源,如果引用信息不完整,则可以利用站点的拓扑结构来代替。
以上的步骤是web日志挖掘中数据预处理常用的手段,其目的就是尽量使得预处理后的数据比较真实和完整,为后面的数据挖掘打好基础。对于预处理后的数据。就可以进一步进行识别川』、浏览行为的序列模式了。
(四)基于复杂结构的分布式Web日志挖掘方案
所谓Web服务器的复杂结构主要是说像那些大型的门户网站的分布式结构,拥有多台Web服务器,日志文件存在于各自服务器上。对于这种分布式的结构,一般采用的是多代理技术的分布式Web日志挖掘技术来解决。代理这个概念源于分布式人工智能领域,随后引申到其它计算机研究领域。代理主要是指在一定环境下自主运行,包含信念、承诺、义务和意图等精神状态的实体。它具有自治性、社会性、反应性和能动性等特点。
多代理就是由多个代理组成,它们之间互相协作,相互作用,完成有些复杂任务或者目标。显然多代理解决问题的能力比单个代理要强。它的数据分布,计算过程是异步、并发或并行的。多代理分布技术用到Web日志挖掘系统主要基于多代理技术的三重体系结构,包括用户访问层,代理层和Web服务器层。用户层管理不同的用户有不同的操作权限,一般用户只允许查询结果,而管理用户则可以实现配置代理及监控系统情况的功能。Web服务层就是Web服务器群集组成的,每个Web服务器提供了相应的Web日志文件,并有一个接口实现与代理层的交互。代理层是用户访问层和Web服务器层的桥梁,主要为了解决分布式异构性和速度问题以及保证数据的完整性而设。
代理技术的使用能够有效地对多个异构Web服务器同时进行分析和处理。对于数据的预处理和数据挖掘算法等则和简单结构的Web日志挖掘方案类似,这里就不再叙述了。
三、结论
由上面列举的两种环境下的Web日志挖掘方案可知,好的数据预处理手段是Web日志挖掘方案是否成功的关键。在做预处理的过程中,由于不同层次的访问者浏览网站行为的复杂性,不确定性和不连贯性,要完全准确地分析全部访问者的行为也是不切实际的,应该根据分析的需要,首先确定需要的行为,确定这些行为出现的一些条件和特征,从而确立一些分析规则,将这些行为尽量挖出来,对于不需要的行为数据应该尽量过滤。只有预处理数据做好了,后面的分析和挖掘才会比较准确的,因此,安排多些时间放在预处理数据阶段是十分必要的。