1Web日志挖掘技术及应用分析

中图法分类号:F724.6文献标识码:A

1Web日志挖掘技术及应用分析

Internet是信息社会的重要标志,它的爆炸式的发展已经超出人们预期的想象,为了更好的分析Web的使用和Web的结构,Web日志挖掘作为数据挖掘[1]的一个重要分支,随着Web的发展而出现。1997年R.Cooley首先提出Web使用挖掘这个概念,它通过挖掘Web站点的访问日志,分析Web日志中存在的规律,掌握用户访问站点的模式;从而帮助网站管理者识别潜在的客户、更好地开展电子商务、改善Internet的信息服务质量和提高Web服务器的系统性能。

Web 日志挖掘[2]作为数据挖掘的一个重要分支,已经成为国际上一个新兴的重要研究领域。其中最有代表性的是 WEBKDD 会议,从 1999 年到现在,WEBKDD已经涌现了丰硕的成果。比较有代表性的研究成果有:Simon Fraser 大学的Weblog Miner系统,它将 Web 日志数据组织为数据立方体,然后在其上进行联机分析处理和数据挖掘[3],用于发现用户的访问模式。Minnesota 大学的 WEBMINER 系统提出一种通用的 Web 日志挖掘的体系结构,该系统能自动从 Web 日志中发现关联规则和序列模式等。

Web 日志挖掘的研究主要应用于网站优化的以下几个领域。

1.1频繁访问模式挖掘,指的是从 Web 日志中找到频繁被访问的网页序列,对被频繁访问的网页路径进行挖掘可以改进 Web 站点的结构设计,也可以为网站经营者提供决策参考。

1.2用户聚类,指的是从 Web 日志中找到访问模式相似的网站用户群,发现这些网站用户的共同特点。

1.3用户访问预测的研究,指的是根据用户当前的访问路径预测用户将来的访问页面。

1.4优化客户访问体验和提高网站收益:通过对客户的访问模式进行挖掘,可以发现潜在客户,对于一个电子商务网站来说,尽可能从众多的访问者中发现潜在客户群体,就意味着交易可能性的大大增加;同时通过Web日志数据挖掘,增加网站对客户的粘性,延长客户在自己网站上的驻留时间,就更容易掌握客户的浏览行为,改进站点的设计,提高电子商务的效益。

要在网站优化中具体应用Web日志挖掘技术,有两个重点问题要解决,一个是建立Web日志挖掘应用系统模型,一个是采用适当的算法对海量数据进行精确分析。本文将对这两方面的问题做一个阐述。

2面向电子商务的Web日志挖掘应用系统模型

面向电子商务的 Web日志挖掘系统模型主要有三个部分:数据库、数据挖掘集成工具和图形用户界面(GUI)模块。整个系统的结构如图1所示。

在该模型下,用相关的关系型数据源创建数据库,并通过图形用户界面进行管理和维护,在此基础之上支持各种数据挖掘任务、为数据挖掘提供数据平台。数据挖掘集成工具是一个挖掘驱动引擎,它是一个规则集合,能够集成多种数据挖掘算法,到Web数据挖掘算法库中选择最有效的挖掘算法处理数据挖掘和决策推理工作,完整的挖掘数据预处理过程包含:数据净化、用户识别、会话识别、路径补充、事务识别等几个步骤。图形用户界面(GUI)用于用户与系统的交互,用户通过 GUI 建立和执行任务,完成各项数据挖掘任务,一般执行数据挖掘任务得到的结果往往是一些抽象的模型或者数据,一般用户较难理解,GUI可以帮助用户直观明了地理解挖掘结果,管理人员可以通过浏览器方式实现系统管理,对数据挖掘发现的模式进行解释和评价,过滤出有用的知识,利用可视化技术将有意义的模式以图形或逻辑可视化的形式表示。

在该模型下进一步拓展,可以建立相关的专家方法驱动系统。其主要功能是利用挖掘出来的高价值信息去进行相应的应用。其中,页面访问情况可以用来指导网页的重构,分析出的客户消费行为模式可以作为反馈信息,以客户关系管理的方式对客户进行直接的点到点促销;根据客户的访问模式,还可以给出客户的定制化页面,针对不同的消费需求制定不同的促销模式等。

3应用于电子商务网站优化的频繁路径挖掘算法

对Web站点的优化可从两个方面来考虑:一是通过对Web日志的挖掘,发现用户访问页面的相关性,从而在密切联系的页面之间增加链接,方便用户使用;二是通过对Web日志的挖掘,发现用户的期望位置,如果在期望位置的访问频率高于实际位置的访问频率,可考虑在期望位置和实际位置之间建立导航链接,从而实现对Web站点的优化。无论是出于哪方面的,都要通过Web日志挖掘,分析用户访问路径来获取用户的浏览模式,这部分工作主要依靠频繁路径的挖掘来完成。可以说,对网站频繁路径的挖掘是网站优化工作的基础。本文重点对网站频繁路径的挖掘算法做一分析。

挖掘频繁访问路径的主要步骤可以概括如下:

3.1从原始日志文件中获得 MFP

3.2从 MFP 中获得频繁引用序列

3.3从所有频繁引用序列中获得最大引用序列

其中MFP指的是最大前向路径。由于用户会话在遍历路径时存在两个移动方向,一个是前进,即请求页面是此前用户会话中从未访问过的页面,另一个是后退,即请求页面是用户会话中已经访问过的页面。最大前向路径是用户在会话的第一页到回退的前一页组成的路径。

我们首先要获得MFP,获得MFP 算法的主要思想是:

假设{x1,x2,…,xm}表示一个用户会话,{y1,y2,…,yj-1}表示一个潜在的 MFP,初始为空。Flag标识当前的访问方向是前进还是后退。每次检查用户会话中的xi,试图将其扩充到潜在MFP中。

若xi∈{y1,y2,…,yj-1},则xi将作为yj加入潜在MFP中,并且将flag标记为前进;

否则有xi=yk,其中1≤k

若在此之前,Flag 表明的移动方向是前进。则将{y1,y2,…,yj-1}作为一个MFP 加入到结果集合。然后从潜在 MFP 中删除页面{yk+1,…,yj-1}。并设Flag 为向后移动标志,进入下一轮循环。

若Flag 表明的移动方向是后退时,则此时的{y1,y2,…,yj-1}不是MFP,直接删除页面{yk+1,…,yj-1},进入下一轮循环。

3)如果循环到用户会话中的最后一页,Flag 标志仍表明向前,则此时{y1,y2,…,yj-1}是一个 MFP。

MFP算法的伪代码如下:

for 每个用户会话

{

y1=x1; j=2; i=2;

Flag = true;

while(i≤m)

{

Found = false;

for 1≤k

{

if(xi=yk)

{

if(Flag = true) 将{y1,y2,…,yj-1}作为MFP 输出;

j=k+1;

++i;

Flag=false;

Found=true;

}

}

if( !Found )

{

yj=xi;

++j;

++i;

Flag=true;

}

}

if(Flag=true) 将{y1,y2,…,yj-1}作为MFP输出;

}

接下来我们需要从MFP中找出所有频繁遍历路径,本文提供一种基于Apriori 算法的改进方案,具体描述如下:

#1C1={所有的包含一个页面的引用}

#2L1={c∈C1 |c.count≥min_sup}

#3for(i=2;Li-1≠Φ;++i){

#4Ci=Generate_C(Li-1,)

#5for each MFPt∈D{

#6 Ct=Generate_Subset(Ci, t)

#7 for each c∈Ct

#8 c.count++;

#10}

#11 Li={c∈Ci | c.count≥min_sup}

#12result=result∪Li

#13 }

其中: D表示事务数据库;min_sup表示给定的最小支持度;result 表示所有的频繁引用集;c.count表示引用c在事务数据库D中被包含的次数。第一行#1是产生所有只含一个页面的引用出现的次数,第二行#2通过C1和最小支持度min_sup产生频繁1引用集L1。#3-#13行通过一个大的循环完成频繁引用的生成,直到某个频繁引用集合为空。

该算法非常有效而且快速,整个过程只要遍历两次数据库。通过实际网站优化的案例来看,其分析的聚类结果是比较符合客观事实的。

4结束语

通过Web数据挖掘,我们可以从数以亿计的存储大量多种多样信息的Web页面中提取出我们需要的有用的知识,在对总的用户访问行为、频度、内容等的分析基础上,可以得到关于群体用户访问行为和方式的普遍知识,通过对这些用户特征的理解和分析, 可以有助于开展有针对性的电子商务活动, 给每个用户个性化的界面,提供个性化的电子商务服务。

本文提出了一种有效算法,该算法通过改进经典的关联规则中的 Apriori 算法,实现了最大频繁引用序列的挖掘过程。在挖掘最大频繁引用序列的基础上进行电子商务网站优化,不仅可以提高访问者的查询速度, 节省了不必要的网络开销,而且对于提高网站自身的质量和声誉也是大有裨益的。