1网络挖掘

Web挖掘是指利用数据挖掘技术从网页中发现和提取信息的过程。Web挖掘可以分为三种类型:Web使用挖掘、Web结构挖掘和Web内容挖掘。Web挖掘的数据源主要是Web日志文件和用户通过挖掘Web日志可以知道访问模式。基于用户的访问模式,可以相应修改网站的链接;了解用户兴趣,为用户定制个性化页面;对用户进行分类,针对不同的用户实施不同的推广策略,提高投资回报率;向用户推荐网页等。

2数据预处理

数据预处理是Web使用挖掘的第一步。预处理对象是Web日志文件。由于Web日志文件的格式是半结构化的,日志中的数据是不完整的,因此需要对Web日志文件进行预处理,将其转换成易于挖掘的格式良好的数据。数据预处理的结果将直接影响后续环节如事务识别、路径分析、关联规则挖掘和序列模式发现的效果。Web的挖掘过程如图1所示,包括预处理、模式挖掘、模式分析和可视化。本文将重点研究数据预处理模块。

数据预处理主要包括数据清洗、用户识别和会话识别等几个步骤。

2.1数据清理

数据清洗的任务是删除那些与挖掘目的无关的数据,避免无关数据对后续步骤的影响。因为有大量的图片(如GIF、JPEG、JPG等。)在网页中,当用户访问网页时,网页中的图片将全部作为单独的记录存在于日志文件中。对于大部分挖掘任务,可以忽略(但如果网站是专门提供图片的,就要单独考虑了)。删除这些记录可以减少后续步骤要处理的数据量,提高处理速度,也可以减少无效数据对挖掘过程的影响。

比如天津大学网站2003年3月1日至3月7日的日志文件,共105MB,数据清理前记录1 174 093条,按照上述方法清理后剩余记录为378 747条,可以充分说明数据清理的作用。

2.2用户识别

用户识别是从日志文件中识别哪些用户访问过网站,每个用户访问过哪些网页。用户的定义如下。

1定义用户

用户被定义为user=& ltuserid,user _ IP,user _ referer _ page,user _ agent & gt。UserID是被识别用户的标识,User_IP、User_Referer_Page、User_Agent分别代表用户用户使用的计算机的IP地址、访问的页面、操作系统和浏览器版本信息。通过上述项目可以唯一地识别用户。

注册用户很容易被识别。其实很多用户都是没有注册的,大量用户使用代理服务器上网,或者多个用户共用一台电脑。此外,防火墙的存在和一个用户使用不同的浏览器增加了用户识别的难度。当然,Cookies可以用来跟踪用户行为,但考虑到个人隐私问题,许多用户浏览器禁用Cookies,需要考虑其他方法解决这个问题。

对于使用同一台电脑或同一个代理上网的多个用户的区分,我们可以借助网站的拓扑图,检查本次访问的页面是否可以从上次访问的页面直接到达。如果不是,很可能是多个用户共享一台计算机或一个代理。但是这种方法主要涉及网页拓扑的问题,没有考虑单个用户使用多个代理或者多台计算机的情况。此外,可以通过基于导航模式的用户会话自动生成技术来识别用户。这种方法侧重于网页的分类和网页之间的链接。因此,上述两种方法只是考虑了用户识别过程中的个别影响因素,只能部分解决用户不确定性的问题,没有充分考虑所有可能的情况。本文提出了一种新的用户和会话识别算法(USIA)。该算法综合考虑用户IP(User_IP)、网站拓扑图、推荐人和代理人来识别单个用户。在考虑算法准确性和效率的前提下,尽可能多的利用影响因素来识别用户,具有良好的准确性和可扩展性。

2.3会话识别

会话是指用户在一次访问中访问的网页序列。会话的定义如下。

2定义一个会话

会话被定义为session=& ltsi,userid,times,timee,[(url1,time1),(url2,time 2)……(urlk,timek)]& gt;是会话标识符,UserID是在用户识别过程中识别的用户的标识符,Times是会话的初始时间,Timee是会话的结束时间,urlk是该会话访问的页面URL,timek是urlk被访问的时间。

日志文件的时间跨度是不确定的,用户可能会多次访问同一个站点。会话识别的目的是划分每个用户的访问页面划分为不同的会话,这样以会话为基本单位将有助于模式挖掘和分析。

区分用户的两个不同会话的最常见方法是指定超时值(通常为30分钟)。如果对两个页面的请求之间的时间间隔超过该预设阈值,则可以看出用户已经开始了新的会话。由于超时值预设为30分钟,并且经过大量的实际应用证明这种方法简单易行,所以本文采用了这种方法。

需要存储已识别的用户和会话,以便将来挖掘。多维数据集在这里被定义为用户和会话的数据存储格式。

定义3个立方体

是Cube算法USIA标识的用户和会话的存储模式,定义为CUBE=& ltsi,userid,user _ IP,[(url1,time1),(url2,time 2)……(urlk,timek)]& gt;Si和UserID的含义与定义2中的含义相同,User_IP是用户的IP地址,urlk是本次会话访问的页面URL,timek是urlk被访问的时间。

2.4 USIA算法

USIA算法流程

2 . 4 . 2 USIA算法的优点如下:

(1)准确率高:克服了传统方法中仅用IP地址区分访客导致的识别准确率低的缺点。该算法综合考虑用户IP、网站拓扑图、参考网页和代理来识别个人用户。在考虑算法准确性和效率的前提下,尽可能多的利用影响因素来识别用户,具有良好的准确性和可扩展性。

(2)效率高:用户识别和会话识别在一个算法中实现,克服了用户识别和会话识别分开带来的效率低的缺点。

(3)良好的数据存储格式:对于识别出的用户和会话,USIA算法构建了一个动态数据立方体来存储用户ID、用户IP、用户Url、用户访问时间,避免了大量存储空间的浪费。

用户会话存储模式的示意图如图3所示。纵轴代表识别的用户和会话,其中n代表用户总数,k代表用户的第k个会话。不同的用户会话由不同的UserID表示,例如1-1、2-1、3-1,同一个用户可能有多个不同的会话,如图所示,用户3有两个会话3-1和3-1。

IPn代表第n个用户的IP地址。横轴表示用户在单个会话中访问的页面的Url序列,按时间顺序排列。字母A、B、C、D、E、F等。图中的代表一个页面的Url。时间轴存储用户访问页面的时间,例如,用户1访问页面A的时间是2003-03-01-10: 21: 36。这样的存储有利于数据预处理后的序列模式挖掘。数字12 图中的指示用户1在单个会话中访问了12个页面。这样便于用动态数据立方体存储用户识别和会话识别的结果,为下一步提高模式挖掘的效率和准确性奠定了基础。

USIA算法的缺点:在判断当前用户和已识别用户是否为同一访问者的过程中,需要考虑的因素较多,导致算法运行速度较慢。但考虑到对Web日志文件的挖掘分析并不是实时的,计算速度也不是首要考虑的,所以在识别准确率和计算速度上进行权衡还是值得的。

3测试结果

以天津大学网站(http://www.tju.edu.cn/)2003年3月1日至2003年3月7日的Web日志文件为实验对象。日志文件总共105MB,经过数据清理,剩余的有效记录为378 747条。

为了比较不同用户识别方法对用户识别准确率的影响,对数据清洗后剩余的378 747条有效记录进行了四组实验,每组实验采用不同的识别方法。方法4是USIA算法。

方法:仅通过IP地址识别18 706个用户。

方法:根据IP地址和参考网页识别19 528个用户。

方法:根据IP地址、参考网页和代理识别21 655个用户。

方法:根据IP地址、参考网页、代理和网站拓扑结构识别22 173个用户。

从实验结果可以看出,USIA算法识别了22 173个用户,而IP地址只能识别18 706个用户,22173-18706=3467个用户会被忽略。可以看出,USIA算法具有更高的用户识别准确率。从营销和客服的角度来说,如果这3 467个用户被精准识别,并针对每个用户进行个性化服务,就有可能将其中相当比例的用户转化为网站的忠实客户,从而为公司带来更多的收益。

4摘要

本文讨论了Web使用挖掘中的数据预处理模块,重点讨论了预处理的具体实现。提出的USIA算法可以同时识别用户和会话,比一般的识别算法具有更高的识别精度。目前国外对Web使用挖掘的研究很多,国内也有一些高校和研究机构,但有影响力的不多。考虑到Web使用挖掘的巨大商业价值和广阔的应用前景,相关技术还有很大的改进空间。

Web挖掘是一个极具发展前景的研究领域。Web挖掘可以从Web服务器日志中提取用户感兴趣的潜在有用模式和隐藏信息,优化网站结构,使教育资源得到合理分配,并根据用户主动推送感兴趣的内容的个性特征,从而提高个性化水平。因此,将有更多的研究努力投入到这一领域,在继续关注模式发现的基础上,将研究的重点放在模式分析、分析结果可视化和人机交互上。