摘要:互联网发展到今天已经成为了人们生活中不可缺少的一部分了,而互联网从某种意义上讲也可以看作是一个庞大的数据库,并且涉及到各个领域。那么在这个庞大的数据库中,教据挖掘技术有什么用武之地呢?本文通过时互联网上数据挖掘的简单论述,说明现在互联网上数据挖掘的一些趋势和相关技术,并且着重分析一下其中一种互联网上数据挖掘的应用方向相关的技术一一web使用记录的挖掘,
关键词:web数据挖掘;web日志;数据预处理
一、引言
目前。互联网已经和我们的生活密不可分,它可以说是一个巨大的、分布广泛和全球性的信息服务中心。它涉及新闻、广告、消息信息、金融信息、教育、政府、电子商务和许多其他信息服务。根据有关机构统计,目前互联网的数据以几百兆字节来计算,而且增长速度很快,如果将这个庞大的数据库用一般的统计分析来处理的话,显然是有心无力的。自从数据挖掘技术成功地应用于传统数据库领域之后,人们对于数据挖掘在像互联网数据这样的一些特殊数据源的应用也寄予了厚望,并且做了许多相应的研究和发展了相应的技术。将数据挖掘技术应用到互联网数据上,理论上可行,但是由于互联网自身的特点,也使它面临一些需要克服的技术难点。
可以说,在互联网上应用数据挖掘技术的前途是光明的,但道路也是曲折的。目前互联网上的数据挖掘技术主要根据挖掘的方向一般分为三类:web内容挖掘,web结构挖掘和web使用记录的挖掘。而结构本来就蕴藏在内容中,是内容的骨,因此有些分类方法又分为web内容挖掘和web使用记录挖掘。Www.133229.COm这里按照后一种分类方法来看一下目前的相关技术和应用。
二、技术
(一)web日志
目前市面上比较流行的web服务器,例如iis通常都保存了对web页面的每一次访问的日志项。它忠实地记录了访闯该web服务器的数据流的信息。日志文件记录些什么内容还可以根据客户的不同需要。来调整记录些什么信息。
(=)数据挖掘的必要性
通常web服务器每天都会新开一个日志文件,在流量比较大的网站,这些web文件的大小往往达到几百兆甚至更多,因此要能有效地分析和处理这些日志文件,用数据挖掘技术是最好不过了。对于简单的网站结构,可能分析处理一个web的日志文件就可以了,但是通常对于一些比较大的门户网站来说,一个门户网站往往是好几十个甚至上百个web服务器组成一个集群来对外服务的,在分析这些网站的日志文件时候,就需要采取分布式的web数据挖掘的复杂技术了。总而言之,对于这种每天都会产生这么大量的数据的日志文件,数据挖掘可以起到很好的效果。
(三)基于简单结构的web日志挖掘方案
web服务器的简单结构是指那些访问量不是很多,一般只有一个web服务器组成的网站。对于这些简单结构的web服务器,分析的原始数据往往就是一个web日志文件。一般来说,对于这种情况和传统的数据挖掘的处理手法有类似的地方,也大致可以分开原始数据预处理。挖掘算法和模式分析几个主要的步骤。
数据预处理是一个十分关键的步骤,根据不同的业务,不同的情况,将海量的原始数据中抽取需要的数据,并且对于不完整的数据还需要做些处理等。web日志挖掘的数据预处理包括依赖域的数据净化、用户识别、会话识别和路径补充等。对日志进行预处理的结果直接影响到挖掘算法产生的规则与模式。因此,预处理过程是保证web日志挖掘质量的关键。
数据挣化:指删除web服务器日志中与挖掘算法无关的数据。大多数情况下。只有日志中html文件与用户会话相关(但有些以浏览图片或者查询其它媒体为主的网页除外),因此可以通过检查uri资源的后缀删除认为不相关的数据,在实际系统应用中,可以建立一个后缀名表帮助过滤删除这些文件。经过数据净化,数据可以十分集中。
用户识别:由于本地缓存、代理服务器和防火墙的存在,使得有效识别用户的任务变得十分复杂。一般被采用的方法是基干日志/站点的方法,还可以使用一些启发性规则。例如:如果ip地址相同,但是代理信息变了,表明用户可能是在某个防火墙后面的内网的不同用户,则可以标记为不同的用户;还可以将访问信息,引用信息和站点拓扑机构结合,构造出用户的测览路径,如果当前请求的页砸同用户已浏览的页面没有链接关系,则认为存在ip地址相同的多个用户。使用这些规则并不可以保证可咀准确识别用户,因此用户识别是个难题。
会话识别:在跨越时间区段比较大的web服务器日志中,用户可能多次访问该站点,会话识别的目的就是将用户的访问记录分为单个会话。最简单的方法是用超时的技术,如果两个页面之问请求的时闻差值超过了一定界限就认为用户开始了一个新的会话。例如。可以设置30分钟等。
路径补充:在识别用户会话过程中的另外一个问题是确定访问日志中是否有重要的请求没有被记录。这就需要路径补充来完成这些记录了。如果当前请求的页面与用户上一次请求的页面之阃没有超文本链接,那么用户很可能使用了浏览器上“back”的功能调用缓存在本机中的页面。检查引用信息确定当前请求来自哪一页,如果在用户的历史访问记录上有多个页面都包含与当前请求页面的链接,则将请求时间最接近的作为当前请求的来源,如果引用信息不完整,则可以利用站点的拓扑结构来代替。
以上的步骤是web日志挖掘中数据预处理常用的手段,其目的就是尽量使得预处理后的数据比较真实和完整,为后面的数据挖掘打好基础。对于预处理后的数据。就可以进一步进行识别川』、浏览行为的序列模式了。
(四)基于复杂结构的分布式web日志挖掘方案
所谓web服务器的复杂结构主要是说像那些大型的门户网站的分布式结构,拥有多台web服务器,日志文件存在于各自服务器上。对于这种分布式的结构,一般采用的是多代理技术的分布式web日志挖掘技术来解决。代理这个概念源于分布式人工智能领域,随后引申到其它计算机研究领域。代理主要是指在一定环境下自主运行,包含信念、承诺、义务和意图等精神状态的实体。它具有自治性、社会性、反应性和能动性等特点。
多代理就是由多个代理组成,它们之间互相协作,相互作用,完成有些复杂任务或者目标。显然多代理解决问题的能力比单个代理要强。它的数据分布,计算过程是异步、并发或并行的。多代理分布技术用到web日志挖掘系统主要基于多代理技术的三重体系结构,包括用户访问层,代理层和web服务器层。用户层管理不同的用户有不同的操作权限,一般用户只允许查询结果,而管理用户则可以实现配置代理及监控系统情况的功能。web服务层就是web服务器群集组成的,每个web服务器提供了相应的web日志文件,并有一个接口实现与代理层的交互。代理层是用户访问层和web服务器层的桥梁,主要为了解决分布式异构性和速度问题以及保证数据的完整性而设。
代理技术的使用能够有效地对多个异构web服务器同时进行分析和处理。对于数据的预处理和数据挖掘算法等则和简单结构的web日志挖掘方案类似,这里就不再叙述了。
三、结论
由上面列举的两种环境下的web日志挖掘方案可知,好的数据预处理手段是web日志挖掘方案是否成功的关键。在做预处理的过程中,由于不同层次的访问者浏览网站行为的复杂性,不确定性和不连贯性,要完全准确地分析全部访问者的行为也是不切实际的,应该根据分析的需要,首先确定需要的行为,确定这些行为出现的一些条件和特征,从而确立一些分析规则,将这些行为尽量挖出来,对于不需要的行为数据应该尽量过滤。只有预处理数据做好了,后面的分析和挖掘才会比较准确的,因此,安排多些时间放在预处理数据阶段是十分必要的。