基于ID3算法的Web日志挖掘预处理中的Frame页面过滤
发布时间:2015-07-04 09:23
摘 要 描述了web日志数据预处理技术的一种改进技术——frame过滤技术,对其关键部分与运作模式进行了研究与改进。讨论了frame页面过滤预处理技术在web页面挖掘中的效率问题,分析了决策树算法中最著名的算法——id3算法,并用id3算法对frame过滤算法进行了改进,比较新旧算法的执行效率及算法结果质量,得出了新算法执行效率更高及质量更好的结论,从而搞高了对存在frame页面的网站实施web日志挖掘算法时挖掘结果的兴趣度。
关键词 id3算法;web日志挖掘;web日志预处理;frame页面过滤
图1 典型的web日志数据预处理过程
图2 改进的web日志数据预处理过程
为此,我们对图1中描述的常用的web日志数据预处理技术进行相应的改进,图2是改进后的数据预处理过程。 改进的web日志数据预处理过程中,在会话识别与路径补充这两个步骤之间增加了frame页面过滤。frame页面过滤要完成的任务是,根据从站点的拓扑结构中提取出的frame-subframe关系表,从会话识别过程中生成的会话文件中,寻找frame页面及其subframe页面,将会话文件中对frame和其subframe页面的请求用frame页面代替,从而删除会话文件中多余的subframe页面。由于删除了会话文件中的subframe页面,因此会丢失subframe页面中包含的超链接信息,所以接下来的路径补充步骤中必须使用提升的站点结构。
1 引言
internet的迅速发展使得web为人们提供了内容丰富且数量庞大的信息,随着数据挖掘技术的出现以及发展,数据挖掘逐渐被应用于web数据。 web日志挖掘是三大类web挖掘之一,它主要包括数据预处理和挖掘算法实施两个主要阶段.实施挖掘算法之前要对web日志文件进行预处理,将其转化为用户会话集.本文着重讨论web日志挖掘预处理技术中的frame页面过滤预处理技术,即在传统的web日志预处理过程中加入frame页面过滤这一步骤,并提出了用决策树算法著名的id3算法进行frame页面过滤,进一步提高了日志数据预处理的质量和效率,从而为挖掘算法的实施提供更为准确的数据,提高了对存在frame页面的网站实施web日志挖掘算法时整个web日志挖掘的效率及挖掘结果的兴趣性。Www.lw881.com2 web日志预处理中的frame页面过滤技术[2]
2.1 web日志预处理技术现状
web日志挖掘[1] [3-4]是指将数据挖掘技术应用于web服务器日志文件,以发现隐藏在其中的用户访问模式。web日志预处理是在web日志挖掘前,对web日志进行清理、过滤以及重新组合的过程,其目的是剔除日志中对挖掘过程无用的属性及数据,并将web日志数据转换为挖掘算法可识别的保存形式。 到目前为止提出的web日志的预处理技术,它包含三种方法识别用户的活动集合: (1) web服务器提供cookie,则具有相同cookie值的页面请求是来自同一个用户,则用户会话识别的主要的任务就是将web日志划分为不同cookie值所对应的页面请求集合。 (2) web服务器没有提供cookie,但每个网站用户都要一个登录标识符方可访问站点,则分析工具即可利用登录标识符识别会话。 ⑴如果web服务器既没有cookie也没有登录标识符,可以利用主机地址,同时分析日志中每条记录的请求页和引用页的url,然后根据web站点的拓扑结构(超链接)和其它启发式规则识别用户会话,但是这种方法的精确度较低,不能100%正确地识别出每个请求对应的用户。 这里主要讨论第3种预处理方法。 一般web日志预处理主要包括:数据净化、用户识别、会话识别、路径补充、事务识别 数据净化指删除web服务器日志中与挖掘算法无关的数据。由于在web日志中通常只有html文件与用户会话相关,所以通过检查url的后缀删除不相关的数据。 用户识别是指要识别出每个访问网站的用户。一般web日志挖掘工具中常使用基于日志/站点的方法,并辅助一些启发式规则帮助识别用户。 会话识别是将用户的访问记录分为单个的会话。通常采用超时方法识别用户会话,如果两页间请求时间的差值超过一定的界限(超时阈值)就认为用户开始了一个新的会话。 路径补充是由于本地缓存和代理服务器缓存的存在,使得服务器的日志会遗漏一些重要的页面请求。路径补充就是将这些遗漏的请求补充到用户会话中,解决的方法类似于用户识别中的方法。 事务识别,用户会话是web日志挖掘中唯一具备自然事务特征的元素,但是,对于某些挖掘算法来说可能用户会话的粒度太大,需要利用分割算法将其转化为更小的事务。 一般通常采用图1所示的数据预处理过程。 如果按照前面所介绍的日志预处理技术对web日志进行预处理,则frame页面和其subframe页面也将一起出现在用户会话文件中。在这样的用户会话文件上进行数据挖掘,frame页面和subframe页面作为频繁遍历路径或者频繁访问页组出现的概率很高,并且他们同时出现在挖掘结果中,这就降低了挖掘结果的兴趣性。图1 典型的web日志数据预处理过程
2.2 frame页面过滤预处理技术
html规范通过“frame”标记支持多窗口页面,每个窗口里装载的页面对应一个url。 当用户请求frame页面的url时,frame页面和其中的subframe页面作为一个多窗口页面展现在用户面前,我们可以将用户对frame页面的请求看成就是对多窗口页面的请求。这样,在数据预处理阶段将frame页面和其中的subframe页面作为一个整体考虑,并且把frame页面对应的url当作这个整体的代表。从全局而言,这样处理可以有效地消除frame页面对日志挖掘的影响,最终提高挖掘结果的兴趣性。图2 改进的web日志数据预处理过程
为此,我们对图1中描述的常用的web日志数据预处理技术进行相应的改进,图2是改进后的数据预处理过程。 改进的web日志数据预处理过程中,在会话识别与路径补充这两个步骤之间增加了frame页面过滤。frame页面过滤要完成的任务是,根据从站点的拓扑结构中提取出的frame-subframe关系表,从会话识别过程中生成的会话文件中,寻找frame页面及其subframe页面,将会话文件中对frame和其subframe页面的请求用frame页面代替,从而删除会话文件中多余的subframe页面。由于删除了会话文件中的subframe页面,因此会丢失subframe页面中包含的超链接信息,所以接下来的路径补充步骤中必须使用提升的站点结构。
3 基于id3算法的frame页面过滤预处理技术
如上文所述,我们应用frame页面过滤技术有效地消除了frame页面对日志挖掘的影响,然而我们知道web日志挖掘的记录是成千上万的,上述frame页面过滤算法中是对每个用户对话的每个页面进行是否frame和subframe的判断,并且对判断出的子框架逐个地进行删除,而且因为subframe页面的删除导致后面必须用提升的站点结构,虽然较一般预处理技术增加了兴趣度,但是效率还是比较低的,而且也增加了开销。并且subframe过滤中被删去,在后面的路径补全中能否完全恢复也值得高榷。而且有快速分类性质允许多粒度层的决策树分类算法可以解决此问题。本文在此用决策树算法[1] [3]中著名的id3算法对提高frame过滤效率进行了一些探讨