99网
您的当前位置:首页Web日志挖掘数据预处理研究

Web日志挖掘数据预处理研究

来源:99网
维普资讯 http://www.cqvip.com Microcomputer Applications Vo1.23,No.10,2007 技术交流 微型电脑应用 2007年第23卷第10期 文章编号:1007—757X(2007)10--0050--04 Web日志挖掘数据预处理研究 夏成文,韩坚华,梁乘铭 摘要:在详细介绍ELF日志文件格式的基础上定义了会话表,并对预处理过程中几个主要步骤进行深入讨论,总结已有 的各种处理手段提出新的改进方法,其中重点针对会话识别进行了改进并给出了新的算法。 关键字:Web日志挖掘;数据预处理;用户识别;会话识别;事务识别; 中图分类号:TP391 文献标识码:A 1引言 表1 W3C扩展日志格式部分域 域标识符 是否需要 描Web日志挖掘对于个性化电子商务网站中改善网站结 前缀 述 构、发现用户行为特征具有重要的意义。它能够从服务器、浏 date NO 动作发生时的日期 览器端的日志记录和用户的个人信息中自动发现隐藏在数据 time NO 动作发生时的时间 中的模式信息,了解系统的访问模式以及用户的行为模式,从 I -p Yes 产生日志条目的服务器的IP地址 而作出预测性分析,进而合理建造网站及合理设计服务器,提 USername YeS 通过身份验证的访问服务器的用户名 供快速有效的访问通道。 method Yes 客户端企图执行的动作(例如GET方法) Web日志挖掘分成四个阶段:数据预处理、模式发现、模 url—stem Yes 被访问的资源,例如Default asp 式分析、用户模式。Web日志挖掘结果的可靠性和准确性在 referrer Yes 用户浏览的前一个网址, 很大程度上取决于来源数据(主要是web日志数据 ],用户注 当前网址是从该网址链接过来的 册数据等)的准确性,因此,采用性能良好的数据预处理方法 user——agent Yes 客户所用的浏览器 是web使用分析的一个基本先决条件。 protocol Yes 使用的Internet协议,如HTTP,FTP 1.1 web日志文件 status Yes 用HTTP或者FTP术语所描述的动作状态 考虑到普遍性和代表性,本文那仅以IIS服务器日志文 bytes Yes 传输的字节数 件[2]为例,讨论W3C扩展日志记录ELF(Extended Log For— c一:客户端}s一:服务器端}r一:远程服务器}cs一:客户端 mat)的基本格式。 到服务器端}sc一:服务器端到客户端;sr一:服务器端到远程服务 个ELF日志文件包括两种不同的记录类型。第一种记 器;rs一:远程服务器到服务器端}x一:应用。这些前缀与域指令行 一录类型是指令型记录,它包括日志文件内容的元数据。第二种 中的域标识符结合在一起,用于说明什么样的数据将写入日志。 下面是一个Web服务器日志文件ELF格式的例子: 记录类型是数据记录,包括被日志文件实际记录的数据域。 #Software:Microsoft Internet Information Services 6.0 日志文件中以“#”开头的表示这一行是指令,这条指令 #Version:l1 0 提供有关日志记录或关于日志文件本身的一些信息。有两条 #Date:2006—12—07 10:22:45 指令是必需的,而且一定要在一个日志文件的开头出现,这两 #Fields:C—ip Date Time CS—method CS--uri—stem sc--status 条指令是Version和Fields。下面给出W3C扩展日志常用格式 cs--referer cs—user--agent 指令的使用:Version:ELF使用的版本;Fields:日志文件中 172.16.255.255 7:42:15 GET/intro.htm 200/default.htm 出现的空白域列表;Start—Date:日志开始的日期和时间; Mozilla4.2(IE5.0。winNT) End--Date:日志结束日期和时间;Date:在日志中加入条目的 1.2数据预处理过程 时间;Remark:软件或管理软件人员在日志中的注释部分。 对web日志数据进行预处理,其处理流程如图2所示: ELF确定的日志格式可以被定义成一个域的集合,而不 数据预处理处理流程[3 大致可以分为数据清洗、用户识 是定义一种固定的格式。很多域的前面需加上前缀。下面列出 别、会话识别、补全路径和事务识别5个步骤: 了W3C扩展日志格式的可用域前缀: (1)数据清洗:主要是对数据源中与数据挖掘不相关的 作者简介:夏成文,广东工业大学计算机学院,广州510006 韩坚华,广东工业大学计算机学院,广州 510006 粱乘铭,广东工业大学计算机学院,广州 510006 ・50・ 维普资讯 http://www.cqvip.com Microcomputer Applications Vo1.23,No.10,2007 技术交流 微型电脑应用 2007年第23卷第10期 冗余数据删除,判断是否有重要的访问没有被记录、对用户 系,将文件中对Frame和其Subframe页面的请求用Frame页 访问页面时发生错误的记录进行处理等。 面代替,从而删除文件中多余的Subframe页面。 (2)用户识别:主要借助用户的注册信息、ID、用户端浏 2.2用户识别 览器软件或操作系统等信息,判定其是否为新用户。然后将 由于用户机器中缓存、防火墙、代理服务器的使用,使得 日志文件按不同的用户划分为若干个相互的用户访问集 Web日志并没有精确记录用户的浏览行为,如对于多个用户 合; 通过同一代理服务器访问站点的情况,仅仅记录代理服务器 地址是无法有效识别用户的。而用户识别阶段的主要工作就 是从经过数据清理的数据中识别每一个用户 目前应用中的用户识别方法有很多,但比较使用和有效 的用户识别方法是: (1)基于用户浏览器和操作系统的差异。通过相同IP地 址上网的用户,如果用户机器的浏览器和操作系统发生了变 化,那么日志文件中的相应记录说明访问用户也发生了变化, 因为很少有用户会频繁地更换机器的操作系统和浏览器。 (2)基于引用页进行判断[4]。如果用户请求的某个页面没 有请求过并且该条记录中的引用页为空,则认为这是一个新 的用户。也可以基于网站的拓扑结构进行判断,但是比较复 图2 Web日志预处理模型 杂,在根据拓扑结构识别页与页之间的关系时,效率会降低。 (3)会话识别:会话是指同一个用户连续请求的页面,不 单独使用以上方法都有一定的局限性,准确率也不高。因 同用户访问的页面属于不同的会话,如果同一用户访问的页 此,本文综合以上两种种方法,进行双层过虑以提高用户识别 面跨越时间较长,一般认为用户的访问不止一次。会话识别 准确率。具体策略如下: 就是将用户访问记录划分成若干个的会话记录; (1)首先判断用户的IP地址,不同的IP地址代表不同的 (4)补全路径:由于缓存等原因使得访问日志中并没有完 用户; 全记录用户的访问行为,补全路径就是要将用户会话中的访 (2)如IP地址相同,则判断用户浏览器或操作系统是否 问路径补全,更好的反映用户的访问过程; 相同;如果不同,则认为是不同用户; (5)事务识别:用户会话对数据挖掘来讲,显得粗糙,仍 (3)如果IP地址相同,用户的浏览器和操作系统也相同, 不够精确,需把会话进一步分成具有一定语义的事务,事务 则根据引用页进行判断:如果用户请求的某个页面没有请求 识别是将用户会话成更小的、更精确的、具有一定语义的用户 过并且该条记录中的引用页为空,则认为这是一个新的用户。 访问事务,它是用户为访问一定的信息所点击的页面序列; (4)向会话表中增加用户字段和删除无用字段,顺序对已 识别的用户设置ID值。 2数据预处理技术分析和改进 2.3会话识别 会话识别方法[5 主要有两种: 2.1数据清洗 (1)基于会话时间的会话构造方法:一个会话时间不能超 web日志记录包括用户IP地址、用户ID、用户请求访问 过时间阈值@通常@=30min在相同用户的前提下,假设一个 的URL页面、请求方法、访问时间、传输协议、传输的字节数、 会话的第一个页面请求的时间戳为t0,那么这个会话中所有 错误代码等属性,而与数据挖掘相关的数据只是其中一部 页面请求的时间戳t<一t。+@.第一个时间戳为t(t>t。+@) 分,因此需要是从原始的服务器日志文件中删除与挖掘任务 的页面请求就是下一个新的会话的第一个访问页面. 不相关的数据项,以避免这些无关的数据项对分析用户的浏 (2)基于引用的会话构造方法:假设同一用户依次发出相 览行为产生误导. 邻的两个页面请求P和q(其中P属于会话s),t 和t 分别表示 数据清洗过程如下: 页面请求P和q的时间戳(t <t )如果页面请求q的引用页面 (1)删除除用户请求访问失败的纪录(标识为faitor, (q.referer)曾经在会话s中出现过,那么q就属于会话S;或者q error). 的引用页面(q.referer)为空并且tp--t <一p(p为时间延迟, (2)删除用户请求方法中不是get的纪录。 通常小于1rain那么页面请求q也属于会话S. (3)检查日志文件中后缀名为gif,jpeg,jPg,JPEG,CSS的 然而可以结合基于时间和基于引用二者的特点来构造用 文件,将其对应的日志项删除。 户会话的方法.之所以要将这两种方法结合起来,主要有两个 (4)页面过滤“]:根据网页中Frame和Subframe之间的关 因素:(1)鉴于基于时间的方法在以往的应用中性能表现良 ・51・ 维普资讯 http://www.cqvip.com Microcomputer Applications Vol。23,No.10,2007 技术交流 微型电脑应用 2007年第23卷第10期 好.(2)针对发现用户访问模式的应用的广泛性,引入用户的 是将用户会话成更小的、更精确的、具有一定语义的用户访问 事务,它是用户为访问一定的信息所点击的页面序列; 引用长度 ](Reference Length) 浏览特性将有利于下一步用户访问模式算法的实施. 基于时间和引用的启发式构造会话构造方法主要分为两 个步骤: 第一步,利用会话的时间特性来构造会话候选集合.我们 设定每个候选会话的持续时间阈值@等于30min.凡是同一用 户依次发出相邻的页面请求之间的时间间隔超过时间阈值, 那么这两个页面请求将属于不同的候选会话。 第二步,根据用户的浏览特性和网站页面之间的链接结 Web页可以简单分为两类:内容页和导航页。当页面中 超链接达到一定数目时,可看成导航页,这是一种静态划分 法。内容页一般是用户关心的信息,浏览时间较长。导航页是 用户快速找到所需信息而设置的路标,浏览时间较短。引用长 度事务识别算法是假设用户花在一个页面上的时间与该页面 对用户是导航页还是内容页有关.对服务器日志中页面引用 构确定最终的会话集合. 2.4路径识别 长度的定性分析显示出指数分布.假设已知日志中导航页的 由于本地缓存和代理服务器缓存的存在,用户在使用后 百分比.通过计算可求出导航页和内容页的分界、然后对每一 退按钮浏览网页时,如果欲浏览的网页在缓存中恰好有副本, 用户会话中的页面引用进行分类,得到用户会话中的内容页. 则浏览器直接访问缓存中的页面副本,其对应的页面访问记 也就得到了该用户会话所对应的事务。 录也不会在日志文件中保存,因此日志文件中保存的访问记 录并不能完整反映用户的访问行为。 3实例 当前访问页和上一次请求页之间没有直接的超链接关 系,那么可能是用户使用浏览器的Back按钮,调出本地缓存 的页面。这时可以根据引用日志和网络拓朴结构进行会话分 本文所采用的实例是一个音乐网站的web日志数据预处 析,把最近访问过的页面记录,添加到日志文件中去,以便把 理过程。这个网站拓扑结构上拥有四层:根节点2O个二级节 路径修补完整。路径补充应遵循以下规则。 点分别包括港台歌手、内地歌手、欧美流行、日韩歌手等用户 ①如果当前访问的页面和以前访问的某个页面存在超链 可能的兴趣类别;每个二级节点(歌手导航)分布拥有5O~100 接关系,那么可以确定这个用户是通Back按钮,从本地Cache 个叶子节点不等。每个三级节点(专辑导航)分别拥有3—2O 中调出该页面的历史记录链接到当前的页面。 个节点,每个四级节点(歌曲导航)分别拥有1O一18个节点。 ②如果ReferLog中有多个页面和这个页面存在超链接 通过对实验站点进行1天的数据收集,取得服务器访问日志。 关系,那么认为用户通过这多个页面中最近被访问的页面链 日志中拥有记录6300条。 接到当前的页面。 1、数据清洗:对Web服务器日志文件经清洗、抽取、转 ③理论上来说一个网站的所有页面之间都是应该有直接 换,只留下日志中适应调整需要的项:IP、Time、RequesURL、 或者间接的超链接,补充路径时应该设定阈值,当前访问页面 与前面一个页面之间间隔路径超过一定长度时,将当前访问 ReferrerURL、Agent s删除失败记录、非get纪录以及带有 切分作为一个新的会话,因为用户可能使用绝对地址直接进 jPg,jpeg,gif,bmp的请求.将文本读人数据库的session表 入页面。 中.剩余纪录1560条。 算法描述如下: 生成的数据表session(UIP,Time,RequestURL,Re— (1)扫描某个用户的一次会话的访问路径P Pz… ferrer,Agent),其中:UIP表示客户端IP地址;RequestURL P Pi+1…..P 。 表示客户端请求的方法、URL地址及使用协议;Referrer表 (2)如果任何连续的两个点P ,P一之间没有直接的物理 示用户此刻点击进入当前页面的URL;Agent表示客户端浏 链接,在P 和P 之间插入节点P 一 ,即路径为P Pz…P P 一 览器类型。 Pi+1…P 。 2、用户识别:综合3.2提到的两种方法,进行双层过虑, (3)如果P 一 和P;+ 之间还没有直接的物理链接,则在P 然后向会话表Session中增加用户UID字段和删除Agent字 和Pi+1之间插入节点P 一 ,此时路径为P .P ..P Pi一1Pi—zPi+1 段,顺序对已识别的用户设置ID值。产生新的会话表Sessionl P (4)重复此操作,直到该路径上的任意连续两点之间都有 (UID,UIP,Time,RequestURL,Referrer)。通过用户识别, 直接的物理链接或者当插入节点数大于设定的阀值时。 得到73个用户。 2.5事务识别 3、会话划分:采用基于时间和引用的启发式构造会话构 事务识别:用户会话对数据挖掘来讲,显得粗糙,仍不够 造方法来对会话进行划分。 精确,需把会话进一步分成具有一定语义的事务,事务识别 (1)构造候选会话集合Rc ・52・ 维普资讯 http://www.cqvip.com Microcomputer Applications Vo1.23,No.10,2007 技术交流 微型电脑应用 2007年第23卷第10期 把web服务器日志看成是按照时间邮戳排序的集合L一 通过以上步骤得到223个会话。会话集R一{r ,rz…., {l ,l:….,l…,l }(1 i n) r…..,r },对会话表Sessionl(UID,UIP,Time,Reques— V 1.,l ∈L(1 i j n)当且仅当l .id—lj.id,lj.time—li. tURL,Referrer)进行转换,生成会话表Session2(UID,UIP, time<=0时,l 和l,属于同一候选会话t,否则lj属于一个新 SID)和r一<SID,<Pl,P ,P。…>>r表示为一次会话,SID 的会话。算法如下: 为会话ID号。 Procedure candidate--session(L.Rc) 4、路径补充和事务识别:按照3.4中的处理步骤对会话 {i;=1; 路径进行补全,然后采用引用长度事务识别算法对会话进行 while(i<一L.1ength--1) 分隔,把会话划分为更细小具体的事务。得到事务567件。 {t:={1..id,(1 .url,1..time,l refer>)}I j:一i; 4结束语 while(1.+1.id—1.,id){ if 1.十1.time—1..time<一O 本文从多环节,多方面对当前数据预处理过程所普遍采 t:一tU<1.+1.url,1.+1.time,1.+1.refer> 用方法和策略进行分析和比较,从而针对这些数据预处理方 else{Rc:一RcUtI 法所存在的缺陷,通过综合运用多种方法和策略,对它们进行 t:一{li+1.id,(1 +1.url,L.+1.time,1.+1.refer>)} 了补充和改进,有效得提高了web日志数据的可靠性。web }i:=i+1; 日志数据的可靠性是对Web日志挖掘有效信息的重要前提 }Rc:=RcUt; 和基础。因此,如何更有效得提高与改进web日志挖掘预处理 i:一i+1; 技术,确保数据的正确性仍然是今后Web日志挖掘研究的一 } 个很重要方向。 (2)生成会话集合R 所有的会话所构成的集合被称为会话集R一{rl,r2…., 参考文献: ri,…,rn}; V rc∈Rc,当且仅当Pr+ .refer(1 i length(rc))与任一 [1]http://www.w3.org/Daemon/User/Config/Logging. l .url(1≤k i)相同时,l 与l 属于同一会话r,否则属于一 htm1. 个新的会话。算法如下: Ez]冯林,何明瑞,罗芬.一种基于ExLF日志文件的用户会话 Procedure generate--session(Rc,R){ 识别启发式算法口].计算机应用,2005. i:一1; [3]Robert Cooley,Bam shadMobasher,Jaideep Sriv2astava. while(i<一R.1ength) Data Preparation for Mining World Wide Web Browsing {j:一0; Patterns口].Journal of Knowledgeand Information Sys— r:={re .id,(<l ‘.url,l ‘.time,.refer>)}; tems,1999,1(1):5—32. j:一j+11 [4]赵红玲,宋瀚涛.Web日志挖掘中数据预处理的研究口]. while(j<=length(rc))( 计算机应用研究,2004. if(1r+c1.refer与任一l .url(1<一k<一j)相同) [5]M Spiliopoulou,B Mobasher,B Berendt et a1.A Frame— or(1 1.refer=null andl ̄_1.time--1151.time<o) work for the Evaluation of Session Reconstruction then Heuristics in Web Usage Analy--sis[-J].INFORMS Jour— r;=r U<l 1.url,l 1.time,l 1.refer> nal of Computing,2003;15(2). else{Rl—RUrI [6]M.S.Chen,J.S.Park,and P.S.Yu.Data mining for r:={rci.id,(<lr+c1.url,l 1.time,lr+c1.refer>)} path traversal patterns in a Webenvironment[A].In Pro— }j:=j+1I ceedings of the 1 6th International Conference on Dis— }i:=i+1I tributedComputing Systems[C].pages 385—392,2002. } (收稿日期:2007—3—12) } ・53・ 

因篇幅问题不能全部显示,请点此查看更多更全内容