ITPub博客

首页 > 大数据 > 数据挖掘 > 互联网数据挖掘综述(转)

互联网数据挖掘综述(转)

数据挖掘 作者:huangqin1015 时间:2011-01-22 11:16:03 0 删除 编辑

一.  概述

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

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

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

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

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

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

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

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

最后,对于一个可用性的系统,当然需要将挖掘结果直观而明w?卣故靖?没В?员阌谟没Ю斫狻6?庑┢捣北槔?肪墩?梢愿??咎峁┮恍┍?蟮淖柿侠锤慕??镜慕峁购托阅埽??纾?哉庑┍黄捣狈梦实南喙赝?呈实痹黾踊捍妫?沟糜没Х梦仕俣燃涌斓取

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23704872/viewspace-1118949/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-04-11

  • 博文量
    1
  • 访问量
    341