FL15111702+WEB日志挖掘技术的研究及应用(5)

2019-04-14 15:27

图 3-2 Web 日志数据预处理的过程

3.4.1 数据清理

Web服务器日志文件中有很多与研究没有任何意义的“脏数据”,数据清理这个操作就是把“脏数据”进行“清洗”的过程。

首先把从服务器取出来的Web日志记录进行合并,然后将其存进对应的数据字段中,因为Web日志文件一般只有html文件才会跟用户会话相关,所以在这一过程中一般都要根据实际情况去掉日志中的图像文件以及其他不相关的文件。比如图像文件的后缀有gif,jpg,jpeg等等,除图像文件之外还有一些js、css、swf等文件根据具体情况也进行相应的删除。除此之外,以cgi为后缀的一些脚本文件也应该被剔除掉。清理流程如图3-3所示。

将该记录添加到表中 Y 从日志数据库中删除记录 N 状态码是否以2开头 请求url的后缀是否为.gif、.jpg等格式 N Y 从日志数据库中读取一条记录 日志数据中是否有记录 N 日志清理完成 开始 Y 图3-3数据清理流程图

(1) 纵向缩减(也称行缩减)

为了让Web日志文件的数据能够更加可靠,更加适应挖掘的需要,对Web日志文件中无用信息进行删除是必需的一个过程。根据具体的挖掘研究,可以对

Web日志文件的清洗任务进行以下三个方面纵向缩减:

1)URL 扩展名:在Web日志数据中,像一些以gif、jpg、css、cgi为后缀的文件通常被认为是与日志挖掘没有关联的,应该将这些文件剔除掉,因为只有html格式的文件说明与用户会话相关。当然,凡是也有例外,如果要研究的网站是图片网站,那想要对网站的流量进行分析的话,这些格式的文件就要根据具体情况进行相应保存了。

2)动作:用户访问网站的方式通常有get和post两种,post动作一般是需要过滤掉的,因为post方式一般是用户提交表单数据时使用,而get动作是用户进行请求页面的,一般要保留。

3)状态码:状态码表示用户请求页面的结果,主要分以下几种情况:第一种,以2开头状态码表示页面请求成功,比如200代表服务器成功返回页面,202代表服务器已经接受请求,但还没有处理,206代表服务器成功处理了get请求;第二种,以3开头的状态码表示重定向,比如301代表请求的页面已经永久移动到新位置,304代表自从上次请求后,请求的网页没有修改过;第三种:以4开头的状态码表示请求可能出错,比如400代表(错误提示)服务器不理解请求的语法,401代表(未授权)请求要求身份验证,403代表(禁止)服务器拒绝请求,404代表(未找到)服务器找不到请求的网页;第五种:以5开头的状态码表示服务器错误,比如500代表因服务器内部错误而无法完成请求,502表示网关错误。由此,在进行数据清洗过程中应该把以4和5开头的信息删除。

(2) 横向缩减(也称列缩减)

当使用数据挖掘的算法对数据进行挖掘的时候,很多web日志中的属性是非必需的,所以仅仅只考虑纵向缩减来减少日志文件是远远不够的。比如,对用户信息进行聚类分析时只需要使用用户的ip地址、用户请求访问的url、用户访问的时间、用户使用的代理等属性就可以;而分析web站点的流量时,只需要使用用户请求url用户访问时间等属性。

这种缩减日志记录中属性的方法就是横向缩减,也叫列缩减。与纵向缩减不同,横向缩减不会缩减日志文件的行数,而只会减少属性列。

3.4.2 用户识别

用户就是指通过一个浏览器访问一个或几个服务器的个体。我们在实际中唯一确定一个用户是非常困难的,因为有防火墙、高速缓存、代理服务器等进行阻碍。辨别一个用户可以有用户IP和Cookie标识两种方法。Cookie是站点根据浏览器写入本地的唯一的一个标识,当用户再通过url请求服务器时,请求中就会

加上这个标识,然后返回给服务器,这样就可以识别用户了。不过这种情况也有缺点,那就是当若干个用户使用同一个电脑的时候,一旦有用户删除Cookie,那么下一次登陆服务器就会被当做第一次登陆。当然也有可能因为隐私不会被写到Cookie中,所以,有的时候要把代理、服务器日志、参引页面等综合考虑才能确定一个用户。

图3-4简单的Web站点

因为本地代理服务器和高速缓存机制的存在,极有可能会使用户在网站上的浏览情况歪曲,这就可能会导致我们漏掉了重要的访问内容,从而不能比较精确地描述用户浏览网页的情况。因为各个网站都有后退键,这就导致一个访问记录只列出了一次,而实际是很有可能被多个用户参考了很多次。

针对该问题目前主要有以下三种解决方法:关闭高速缓存、利用Cookie以及利用用户注册。但这三个方法都存在问题,首先,用户是可以随意删除Cookie的。其次,高速缓存是为了提高网站加载的速度,关闭高速缓存之后也是可以再次打开的。最后,用户的注册涉及到了个人隐私,而且是自发的,所以很多用户注册的信息是不真实的。

高速缓存问题的解决方法可以采用站点拓扑学的知识或利用参考日志和时间信息来判断遗失的参考。表 3-2 列出了目前用于用户识别的几种方法。

表 3-2 中的方法多多少少也有一些不足之处,目前在 Web 日志挖掘中,对如何准确识别用户而又不涉及用户的隐私的问题的研究已经成为热门的研究。本文只对用户识别作简单介绍,不进行深入的研究。

表3-2 用于用户识别的方法

方法 描述 IP地址和代理 假定每个IP地址和一个用户代理组合表示一个用户 低 可用性好,不需要另外的技术和信息 不能保证用户的唯一性,一个IP多个用户代理的情况无法处理 嵌入会话ID 利用动态网页将ID插入每个链接 用户注册 用户显示的登录网站 软件代理 当程序调入浏览器后可以发回使用数据 中/高 可以跟踪重复访问 Cookie 在用户端保存一个唯一的用户标识 隐私程度 优点 低中 简单可行,独立于IP地址 没有重复的访问概念,需要完全动态网页 中 可以精确的跟踪每一个注册用户 无法跟踪大量的非注册用户 中 可以精确跟踪用户访问一个站点的信息 用户可以中止使用cookie,可用性不高 缺点 用户可以禁止该软件 3.4.3 会话识别

一个会话就是指用户在一次访问过程中所访问的 Web 页面的序列。会话识别的目的是将每个用户的访问信息划分成若干个独立的会话进程,最简单的方法是采用超时估计的办法,即当对页面之间的请求时间间隔超出所给定值时,即可以认为用户已经开始了一次新的会话。JPitkow 的实验证明:比较合理的时间长度应该是 25.5 分钟,通常使用30 分钟作为一个用户点击流会话的时间长度。会话识别的流程图如图3-5所示。

Y 判断url是否超时 N 读出表中一个用户放的日志记录 开始


FL15111702+WEB日志挖掘技术的研究及应用(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学有机实验讲义

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: