互 联 网 数 据 挖 掘 综 述

互 联 网 数 据 挖 掘 综 述

—— Web使用记录的挖掘

 

摘要:

互联网发展到今天已经成为了人们生活中不可缺少的一部分了,而互联网从某种意义上讲也可以看作是一个庞大的数据库,并且涉及到各个领域。那么在这个庞大的数据库中,数据挖掘技术有什么用武之地呢?本文通过对互联网上数据挖掘的简单综述,说明现在互联网上数据挖掘的一些趋势和相关技术,并且着重分析一下其中一种互联网上数据挖掘的应用方向相关的技术——Web使用记录的挖掘。

 

关键字:数据挖掘,链接结构,Web,日志记录

 

一.  概述

目前,互联网已经和我们的生活密不可分,它可以说是一个巨大的、分布广泛和全球性的信息服务中心。它涉及新闻、广告、消息信息、金融信息、教育、政府、电子商务和许多其他信息服务。根据有关机构统计,目前互联网的数据以几百兆兆字节来计算,而且增长速度很快,如果将这个庞大的数据库用一般的统计分析来处理的话,显然是有心无力的。自从数据挖掘技术成功地应用于传统数据库领域之后,人们对于数据挖掘在像互联网数据这样的一些特殊数据源的应用也寄予了厚望,并且做了许多相应的研究和发展了相应的技术。[1]

 

二.  互联网数据挖掘面临的技术难点

将数据挖掘技术应用到互联网数据上,理论上可行,但是由于互联网自身的特点,也使它面临一些需要克服的技术难点:

首先,互联网上的数据是十分庞大的,而这种庞大的数据还是动态的,并且增长速度惊人。如果简单为其创建一个数据仓库显然是不现实的。目前一般的做法采用多层Web信息库的构造技术来处理,将互联网目前的庞大数据统一看成是0层,最详细的一层,而不像一般数据库挖掘分析那样另外单独做一个历史数据的数据仓库。

其次,Web页面的结构比一般文本文件复杂很多,它可以支持多种媒体的表达。毕竟人们原来就希望通过Web来实现世界各种信息的互通,在这个平台上自然希望任何的信息都可以表达了。因此也造成了互联网数据的复杂性这个特点。而在互联网上文档一般是分布的,异构的,无结构或者半结构的。目前由于XML技术的出现,为解决这个难题提供了一条可行的道路。

还有,互联网上的数据动态性极强,页面本身的内容和相关的链接经常更新。而互联网面对的客户也各不相同,这些都造成了用户行为模式分析的困难度。

最后,虽然说互联网上信息很多,但实际是你需要的信息却不多,如何在信息海洋中不被淹没,尽可能地找到你所需要的信息也是一个难题。

    可以说,在互联网上应用数据挖掘技术的前途是光明的,但道路也是曲折的。

 

三.  互联网数据挖掘的分类

目前互联网上的数据挖掘技术主要根据挖掘的方向一般分为三类:Web内容挖掘,Web结构挖掘和Web使用记录的挖掘。而结构本来就蕴藏在内容中,是内容的骨,因此有些分类方法又分为Web内容挖掘和Web使用记录挖掘。这里按照后一种分类方法来看一下目前的相关技术和应用。

 

四.  Web内容挖掘

Web内容挖掘是指对Web页面内容及后台交易数据库进行挖掘,从Web文档内容中获取有用知识的过程,还可以对Web组织结构和联接关系进行挖掘,从人为的链接结构中获取有用的知识。由于文档之间的互相关联,因此可以提供一些文档内容之外的信息,利用这些信息还可以对页面进行排序,从而发现重要的页面。目前Web内容挖掘多数是基于文本信息的挖掘,它和通常的平面文本挖掘的功能和方法比较类似,但由于互联网上的数据基本上都是HTML格式的文件数据格式流,因此可以利用文档中的HTML标记来提高Web文本挖掘的性能。

 

(一)   Web内容挖掘的分类

对于Web内容挖掘,目前主要使用的技术有两种类型:

    一种类型是建立在统计模型的基础上,采用的技术有决策树、分类、聚类、关联规则等。主要技术包括:

文本总结:就是从文档中抽取信息,用简洁的形式对文档内容进行摘要或者解释,其目的为了可以让文本信息进行浓缩,给出它的紧凑描述。这样,用户不需要浏览全文就可以了解文档或文档集合的总体内容了。

文本分类:就是在已有数据的基础上学会一个分类函数或构造出一个分类模型,也就是通常说的分类器。

文本聚类:把一组文档按照相似性归纳成若干个类别,大致可以分为层次凝聚法和平面划分法两种方法。

关联规则:发现关联规则的算法通常经过以下三个步骤:连接数据,做数据准备;给定最小支持度和最小可信度,利用数据挖掘工具提供的算法发现规则;可视化显示、理解、评估关联规则。

另一种类型是建立一个以机器学习为主的人工智能模型,采用的方法包括神经网络、自然法则计算方法等。

 

(二)   Web内容挖掘的用途

Web内容挖掘目前主要可以用于权威页面的发现,以及分析相关的页面联接结构,并且通过分析这类信息来获取到更多需要的信息。例如,现在许多WEB搜索引擎就利用Web内容挖掘中的Web超链分析算法来提高搜索的效率和准确性。传统的WEB搜索引擎大多数是基于关键字匹配的,返回的结果包含查询项的文档,也有基于目录分类的搜索引擎,这些搜索引擎的结果并不十分令人满意。有些站点会看准这些算法的弊端,有意提高关键字出现的频率来提高本身在搜索引擎中的重要性,破坏搜索引擎结果的客观性和准确性。另外,有些重要的网页本身并不包含查询项,在这样的算法下可能就会被忽略了。而搜索引擎的分类目录也不可能把所有的分类考虑全面,并且目录大多数靠人工维护,主观性强,费用高,更新速度慢。例如,现在比较有名的搜索引擎Google就是用了Web超链分析算法的一种­­——PageRank算法来提高其准确性,它可以比较准确的将相关的权威网页排在搜索结果的前面,目前是现在比较收欢迎的Web搜索引擎。链接分析算法还可以提高WWW上的重要社区,分析某个网站的拓扑结构,声望,分类等。

归根结底,Web内容挖掘技术能够帮助用户在WWW海量的信息里面准确找出需要的信息。

 

五.  Web使用记录的挖掘

除了以上说的Web内容和Web链接结构外,Web挖掘还有另外一个重要任务是Web使用记录挖掘。它通过挖掘Web日志记录,来发现用户访问Web页面的模式。还可以通过分析和探究Web日志记录中的规律,来识别电子商务的潜在可户,增强对最终用户的互联网信息服务的质量和交付,并改进Web服务器系统的性能。Web日志记录的挖掘也是本文会重点论述的一个部分。

 

(一)   Web日志

目前市面上比较流行的Web服务器,例如IIS,Apache等,通常都保存了对Web页面的每一次访问的日志项,这些记录项又叫做Weblog项。它忠实地记录了访问该Web服务器的数据流的信息。

日志文件的格式并不复杂,例如IIS,它支持三种Web日志格式:Microsoft IIS日志文件格式,NCSA公用日志文件格式和W3C扩展日志文件格式,其中在IIS5.0中,W3C扩展日志文件格式是缺省的日志文件格式。

日志文件记录些什么内容还可以根据客户的不同需要,来调整记录些什么信息。例如IIS5.0中W3C扩展日志文件格式中,除了时间这些日志文件肯定有的元素外,还有多达19项可以选择记录的扩展属性,比较常用的属性是所请求的URI资源,客户端IP地址和时间戳。在W3C扩展日志文件格式中,缺省的属性有:时间戳,客户端IP地址,访问方法,URI资源,协议状态。

 

(二)   数据挖掘的必要性

通常Web服务器每天都会新开一个日志文件,在流量比较大的网站,这些Web文件的大小往往达到几百兆甚至更多,因此要能有效地分析和处理这些日志文件,用数据挖掘技术是最好不过了。对于简单的网站结构,可能分析处理一个Web的日志文件就可以了,但是通常对于一些比较大的门户网站来说,一个门户网站往往是好几十个甚至上百个Web服务器组成一个集群来对外服务的,在分析这些网站的日志文件时候,就需要采取分布式的Web数据挖掘的复杂技术了。

总而言之,对于这种每天都会产生这么大量的数据的日志文件,数据挖掘可以起到很好的效果。

 

(三)   Web使用记录挖掘带来的好处

    Web使用记录实际上也是流水操作记录的一种,它机械而忠实地记录着访问者对Web服务器访问的细节情况。因此,对于这些原始数据,可以对其进行一些研究工作,如系统性能分析,通过Web缓存改进系统设计,使得页面缓存机制更加适合实际的需要,并且可以动态适应访问者访问行为模式。这些分析还可以有助于建立针对个体用户的定制Web服务。在这些分析结果的驱动下,可以使得Web具有智能性,能快速、准确地找到用户所需信息;能为不同用户提供不同的服务;能为用户提供产品营销策略信息等等。

 

(四)   基于简单结构的Web日志挖掘方案

Web服务器的简单结构是指那些访问量不是很多,一般只有一个Web服务器组成的网站。对于这些简单结构的Web服务器,分析的原始数据往往就是一个Web日志文件。一般来说,对于这种情况和传统的数据挖掘的处理手法有类似的地方,也大致可以分开原始数据预处理,挖掘算法和模式分析几个主要的步骤。

数据预处理是一个十分关键的步骤,根据不同的业务,不同的情况,将海量的原始数据中抽取需要的数据,并且对于不完整的数据还需要做些处理等。Web日志挖掘的数据预处理包括依赖域的数据净化、用户识别、会话识别和路径补充等。对日志进行预处理的结果直接影响到挖掘算法产生的规则与模式。因此,预处理过程是保证Web日志挖掘质量的关键。

l         数据净化:指删除Web服务器日志中与挖掘算法无关的数据。大多数情况下,只有日志中HTML文件与用户会话相关(但有些以浏览图片或者查询其它媒体为主的网页除外),因此可以通过检查URI资源的后缀删除认为不相关的数据,在实际系统应用中,可以建立一个后缀名表帮助过滤删除这些文件。经过数据净化,数据可以十分集中。

l         用户识别:由于本地缓存、代理服务器和防火墙的存在,使得有效识别用户的任务变得十分复杂。一般被采用的方法是基于日志/站点的方法,还可以使用一些启发性规则。例如:如果IP地址相同,但是代理信息变了(代理信息,在IIS5.0环境下的W3C扩展日志文件格式的cs(User-Agent)字段),表明用户可能是在某个防火墙后面的内网的不同用户,则可以标记为不同的用户;还可以将访问信息,引用信息(cs(Referer)字段)和站点拓扑机构结合,构造出用户的浏览路径,如果当前请求的页面同用户已浏览的页面没有链接关系,则认为存在IP地址相同的多个用户。使用这些规则并不可以保证可以准确识别用户,因此用户识别是个难题。

l         会话识别:在跨越时间区段比较大的Web服务器日志中,用户可能多次访问该站点,会话识别的目的就是将用户的访问记录分为单个会话。最简单的方法是用超时的技术,如果两个页面之间请求的时间差值超过了一定界限就认为用户开始了一个新的会话。例如,可以设置30分钟等。

l         路径补充:在识别用户会话过程中的另外一个问题是确定访问日志中是否有重要的请求没有被记录。这就需要路径补充来完成这些记录了。如果当前请求的页面与用户上一次请求的页面之间没有超文本链接,那么用户很可能使用了浏览器上“BACK”的功能调用缓存在本机中的页面。检查引用信息确定当前请求来自哪一页,如果在用户的历史访问记录上有多个页面都包含与当前请求页面的链接,则将请求时间最接近的作为当前请求的来源,如果引用信息不完整,则可以利用站点的拓扑结构来代替。

以上的步骤是Web日志挖掘中数据预处理常用的手段,其目的就是尽量使得域处理后的数据比较真实和完整,为后面的数据挖掘打好基础。

对于预处理后的数据,就可以进一步进行识别用户浏览行为的序列模式了。其主要集中在挖掘频繁遍历路径。[2]

遍历路径就是在用户会话请求页面所组成的序列。由于用户会话中,既包含请求页面又包含路径补充时添加的页面,因此挖掘频繁遍历路径时,首先在每个用户会话中找出所有的最大向前路径。挖掘频繁遍历路径问题转化为在所有用户会话的最大向前路径中发现频繁出现的连续子序列的问题。要寻找这些频繁遍历路径,必须定义这些连续子序列的长度和支持度,所谓支持度就是包含频繁遍历的用户会话数目。

最后,对于一个可用性的系统,当然需要将挖掘结果直观而明瞭地展示给用户,以便于用户理解。而这些频繁遍历路径正可以给网站提供一些宝贵的资料来改进网站的结构和性能,例如,对这些被频繁访问的相关网页适当增加缓存,使得用户访问速度加快等。

 

(五)   基于复杂结构的分布式Web日志挖掘方案

所谓Web服务器的复杂结构主要是说像那些大型的门户网站的分布式结构,拥有多台Web服务器,日志文件存在于各自服务器上。

对于这种分布式的结构,一般采用的是多代理技术的分布式Web日志挖掘技术来解决。

代理这个概念源于分布式人工智能领域,随后引申到其它计算机研究领域。代理主要是指在一定环境下自主运行,包含信念、承诺、义务和意图等精神状态的实体。它具有自治性、社会性、反应性和能动性等特点。

多代理就是由多个代理组成,它们之间互相协作,相互作用,完成有些复杂任务或者目标。显然多代理解决问题的能力比单个代理要强,它的数据分布,计算过程是异步、并发或并行的。

多代理分布技术用到Web日志挖掘系统主要基于多代理技术的三重体系结构,包括用户访问层,代理层和Web服务器层。

用户层管理不同的用户有不同的操作权限,一般用户只允许查询结果,而管理用户则可以实现配置代理及监控系统情况的功能。

Web服务层就是Web服务器群集组成的,每个Web服务器提供了相应的Web日志文件,并有一个接口实现与代理层的交互。

代理层是用户访问层和Web服务器层的桥梁,主要为了解决分布式异构性和速度问题以及保证数据的完整性而设。

代理层由多个代理组成,不同的代理有不同的功能:[3]

l         用户代理:根据用户访问层传过来的用户请求进行分析,再传给决策代理,决策代理也将结果传回给用户代理;

l         决策代理:相当于整个多代理的中枢,负责接收用户代理的请求,同时将请求转化成任务,并指导挖掘代理和资源代理工作,最终将结果返回给用户代理;

l         挖掘代理:接受决策代理的指令,根据已定义好的相关规则和算法对已存在的数据按相应的算法进行分析挖掘,将数据返回给决策代理;

l         资源代理:接受决策代理的指令,并实现对Web服务器上的远程适配器进行控制,同时对远程适配器提供的预处理后的文件进行分析保存到代理层;

l         远程适配器:位于各个Web服务器,它接受资源代理的命令,实现Web挖掘预处理过程,并对资源代理提供预处理后的结果;

代理技术的使用能够有效地对多个异构Web服务器同时进行分析和处理。对于数据的预处理和数据挖掘算法等则和简单结构的Web日志挖掘方案类似,这里就不在叙述了。

   

由上面列举的两种环境下的Web日志挖掘方案可知,好的数据预处理手段是Web日志挖掘方案是否成功的关键。但在实际应用的时候,网络环境往往是十分复杂的,Web服务器一般也不会直接暴露在外网,而访问者也不会和Web服务器直接存在于同一个网段,这些复杂的因素都造成了想从原始的日志文件中准确、直接地辨认用户和行为是十分困难的。

为了做好数据预处理,根据网站的具体分析需要来调整一下Web服务器的记录文件的记录字段是十分必要的,这样既可以将不要的数据去掉,也可以增加一些可以帮助我们后面用来分析可以行为可能需要的字段,对于一些可以做二次开发的Web服务器,例如Apache这些开源的Web服务器和IIS的ISAPI接口,可以适当增加一些模块使得原始数据的采集更加便于后面做数据预处理。

在做预处理的过程中,由于不同层次的访问者浏览网站行为的复杂性、不确定性和不连贯性,要完全准确地分析全部访问者的行为也是不切实际的,应该根据分析的需要,首先确定需要的行为,确定这些行为出现的一些条件和特征,从而确立一些分析规则,将这些行为尽量挖出来,对于不需要的行为数据应该尽量过滤。

只有预处理数据做好了,后面的分析和挖掘才会比较准确的,因此,安排多些时间放在预处理数据阶段是十分必要的。

 

六.  结束语

随着互联网的普及,它的数据量不断增加。数据挖掘技术应用在其中是大势所趋。虽然还存在着许多的技术难点,但随着技术的不断发展,互联网上的数据挖掘技术一定会越来越成熟的。

 

 

参考文献:

[1]. JiaweiHan,数据挖掘概念与技术,机械工业出版社,2001年,范明 孟小峰等译

[2]. 杨怡玲 管旭东,一个简单的Web日志挖掘系统 

[3]. 马征 李建华,基于多代理技术的分布式Web日志挖掘系统 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值