Professional Documents
Culture Documents
摘要
自适应(Adaptive)网站与可适应网站的最大不同在于自适应网站会主动学习用户的
偏好,自动的改进 Web 站点信息的组织或显示、改进服务效率、实现有针对的个性化服务、主
动将用户感兴趣的信息“推”向用户,整个过程并不需要用户的任何额外配置工作,甚至
第一次访问该网站的用户也能从中受益。站点用户既是网站内容的消费者(浏览者),也是
网站内容的制造者。
市场营销中有一个经典的原理:“消费者过去的消费行为是今后消费倾向的最好说明
”,这个道理同样也可以应用在 Web 领域。由于 Web 服务器日志中存储了大量的用户访问信
息,对其进行挖掘可以从中提取出感兴趣的模式。从而帮助理解用户的行为,改进站点结构,
或为用户提供个性化的服务。另外站点自身的拓扑结构也是自适应网站研究的重要内容,网
页结点自身所处的深度、联通程度等信息往往体现着该结点在网站地图中的性质,研究这部
分内容对于把握用户的访问偏好、方便用户的访问都有重大的帮助。
针对当前自适应网站实现领域研究的不足,尤其是缺乏对网站自身拓扑结构的分析,
本文首先全面介绍自适应网站的概念用途和发展历程,站在用户的角度出发,结合 Web 日
志挖掘和站点拓扑分析提出一种有建设意义的自适应网站的实现架构。
关键词 自适应网站 个性化 Web 日志挖掘 站点拓扑结构 智能推荐 缓冲预取
第一 章 绪 论
1.1 研究背景
目前,Internet 己发展成为一个巨大的、蕴涵着具有潜在价值知识的分布式信息空间。
但是随之出现的网络信息泛滥,又给用户带来了许多困扰,如何从纷乱复杂的网站中快速
找到自己需要的数据和信息,如何去掉网站不必要的信息干扰成了许多用户迫切想解决的
问题。
当今,随着 Internet 的复杂性提高,各个 Web 站点的信息量及其复杂度也在迅速上升,
包含成千上万个网页与超链接是很平常的。由于以下的因素,数据密集型 Web 站点的设计与
管理工作变得越来越困难。首先,不同的用户、同一个用户在不同时间有着不同的访问目的。
其次,Web 站点随着时间的推移不断发展,内容逐渐增加,难于管理,Web 站点实际提供的
信息服务往往超出了当初设计的范围,甚至完全改变了定位。对网站经营者来说,如何充分
考虑用户的访问需求和 Web 站点自身的内容和结构,从而设计一个合适、易用、可扩展性强
的 Web 站点?
1.2 研究意义
随着 WWW 的普及程度与复杂度的提高,自适应的 Web 站点的研究显得越来越重要。我们
相信,创建自适应 Web 站点这个任务将给计算机科学诸多领域的发展带来深远的影响。很明
显自适应网站不同于传统的网站,它充分体现了以客户为中心、为主导的经营理念。从目前
来看,研究自适应网站,特别是自适应网站的实现技术至少会给用户和网站经营者带来如
下好处。
1) 为用户提供个性化服务。对大多数的 Web 站点来说,让用户感到整个网站是完全为
他(她)自己定制的是 Web 网站充满生机的秘诀。因此可以针对不同的用户,按照其
个人的兴趣和爱好,向用户动态地推荐其感兴趣的内容。
2) 提高系统效率。通过日志挖掘,可以发现用户的需要和兴趣,对需求强烈的网页内
容提供优化,或者从用户的访问行为模式中预测下一个访问行为并且预先做好本
地缓存,从而有助于平衡服务器的负载,优化传输,减少阻塞,最终缩短用户等
待时间,提高系统效率和服务质量。
3) 提高网站结构设计。实现自适应网站通常需要考虑用户的历史访问情况,通过挖掘
用户使用网站情况的海量信息,可以帮助网站设计者对网站的修改更加有目的、有
依据,从而以用户为中心,稳步的提高用户的满意程度。
1.3 自适应网站目前的研究进展
自适应网站系统构建技术是当前的一个研究热点。国外的研究主要关注在具体流程和方
法的改进上,主要有:
3) Nasraol 等人采用聚类用户访问模式方法,预测用户未来的访问行为。
国内自适应网站研究己成为计算机科学工作者所关注的热点问题,主要集中在算法的
改进和应用系统框架的设计。国内互联网上现在也有了专门讨论数据挖据的网站,己经开始
个性化信息方面的研究。但是我国在这方面的理论研究和应用研究还是十分薄弱的,目前国
内几乎没有关于自适应网站的实际应用。
总之,无论是国际还是国内,对自适应网站的研究还处在刚起步阶段,还没有形成比
较成熟的理论和统一的体系,特别是自适应网站的实现技术方面的研究比较欠缺。
1.4 本文的工作
自适应网站有一个指导理念:“以用户为中心,用户既是网站内容的消费者,也是网
站内容的制造者”。因此考虑自适应网站的实现方式就一定要考虑用户的历史访问信息,用
户在访问某个 Web 站点时其访问的时间,页面 URL 及很多信息被记录进相应服务器的日志,
这些日志为创建自适应的 Web 站点提供了原始数据。因为日志文件往往庞大而不直观,所以
本文对它进行自动的分析以发现其中蕴涵的知识,即进行 Web 日志挖掘。
另外站点自身的拓扑结构也是自适应网站研究的重要内容,网页结点自身所处的深度、
联通程度等信息往往体现着该结点在网站地图中的性质,研究这部分内容对于把握用户的
访问偏好、方便用户的访问都有重大的帮助。很遗憾,国内外关于网站拓扑的研究却很少提
及。针对当前自适应网站实现领域研究的不足,尤其是缺乏对网站自身拓扑结构的分析,
本文首先全面介绍自适应网站的概念用途和发展历程,站在用户的角度出发,结合 Web 日
志挖掘和站点拓扑分析提出一种有建设意义的自适应网站的实现架构。
图 1.4-1 是本文将研究的自适应网站总体实现架构。同时也涵盖本文的研究内容,
图 1.4-1 自适应网站总体架构
第二 章 自 适应网 站概述
国内自适应网站研究己成为计算机科学工作者所关注的热点问题,主要集中在算法的
改进和应用系统框架的设计。国内互联网上现在也有了专门讨论数据挖据的网站,己经开始
个性化信息方面的研究。但是我国在这方面的理论研究和应用研究还是十分薄弱的,目前还
没有关于国内数据挖掘产品的报道。
第三 章 基 于自适 应网站 研究的 Web 日志挖 掘技术
3.1 Web 挖掘概述
传统的数据挖掘 (Data Mining)技术是对数据库采取半自动的方式,寻找特定的模式
关联规则、变化规律、异常信息等具有统计意义的结构和事件。简单的说,就是从海量数据库
中挖掘有用的信息的技术。数据挖掘的前身即数据库知识发现 (Knowledge Discovery in
Databases) ,它源自于人工智能的机器学习领域,其实质的内涵是在一个己知状态的数据
集(Data Set)上,通过设定一定的学习算法,从数据集中获取知识。与此同时,数据库技术
也已经发展到一定的阶段,并得到了广泛的应用,各个企业都已经积累了丰富的数据资源 ,
迫切需要有一种技术能够帮助他们从数据中发掘出其内在的规律,数据挖掘技术正好能满
足这一需求。
Web 挖掘是数据挖掘的一个子领域,所以它符合一般数据挖掘的原理和研究方法,但
是由于 Internet 提供了一个海量的信息源,Web 包含大量的文本信息,动态的链接信息以
及使 Web 页面的信息,Internet 数据有无序、结构化、非结构化并存和数据冗余量大的特点,
传统的基于关系数据库的数据挖掘方法不再适用 Web 挖掘,需要应用新的数据模型应用于
研究。Web 数据挖掘就是利用数据挖捆技术,自动的从 Web 文档以及服务中发现和抽取信息
的过程。Web 挖掘能够为网站运行提供深入的、准确的、详细的分析数据和有价值的、易理解
的分析知识。通过提供这些数据和信息,可以帮助设计者优化网站运行的效率、提高用户对
网站的满意程度。
一般地,可以将 Web 挖掘分为如下几个步骤,图 3.1-1 向我们展示了这四个步骤
Web 挖掘
域 描述
日期 date 请求页面的日期、时间、时区
客户端 IP(client IP) 远程主机的 IP 或 DNS 入口
用户名(user name) 远程登录的用户名
字节(bytes) 传送的字节(发送的或接受的)
服务器(server) 服务器的 IP 地址和端口
请求(request) URL 查询
状态(status) 返回给 http 状态标识
服务名(service name) 用户请求的服务名称
协议版本(version) 传送的 Http 协议版本
用户代理(user-agent) 服务提供者
参照(reference) 请求本网页的源网页(前一页)
表 3.3-1 ECLF 日志格式
图 3.3-2 是一段真实的 Web 服务器日志文件下的一段内容。
客户 端 IP 日期 时间 端 口 请求 方法 页面 协议 版本 状 态码 字 节
3.4.2 用户访问模式挖掘阶段
针对不同的自适应站点实现方式,有着不同的用户访问模式挖掘方法。 [10]例如:聚类
分析把相似用户或相似内容的页面聚在一起;频繁访问模式算法找出被用户经常同时访问
的页面。而这些算法并不能预测用户的访问路径。[11]这些算法曾经广泛的用在数据挖掘或者
工农业中,然而针对成亿上万的用户访问记录来说,我们希望在设计或者改善算法时坚持
以下原则:[12]
1) 算法具有高效性。由于数据量比较大,而且作为日志信息,数据更新十分快,因此需要
设计能够分析如此之多数据量的算法。
2) 算法具有稳定性。由于用户访问网站时有很多不确定因素。即便预处理阶段的数据过滤
也不能够把不相关的页面全部排除在外,因此算法应考虑到这些不确定因素,并不让
他们影响最后结果。
3) 算法具有可适应性。例如:用户浏览网站页面时因为网站的结构的不同有着不同的浏览
顺序。因此,算法设计需要考虑到这些不同因素。
由于目前各种模式挖掘算法都处在理论研究阶段,很难加以量化,投入应用,故本文
只做简单介绍。[13]下文将继续事务识别后得到的访问事务数据库,进行自适应算法的
介绍。[14]
5.2 缓冲预取
缓冲预取将的到的可能访问结点预先放到缓存中。例如可以缓存用户下一个最有可能访
问的结点,从而当用户进行下一个访问动作时不是从 Web 服务器中请求网页, [21]而是直接
从缓存中取出,明显减少响应时间。
缓冲可分为单缓冲和多缓冲。单缓冲是指只缓存一个网页,或者是下一个可能访问的网
页或者是符合一定地标系数的内容网页。多缓冲是指同时缓存多个网页,多缓冲会明显提高
访问命中率,但是需要更多的资源开销。
这一章提到的多种实现策略各有优缺点,彼此之间也可能存在冲突 [22]。一般网站管理
员通常需要考虑资源和管理成本,建议根据实际情况,选取一到两个策略加以实现。
5. 3 简单算 例
5.3 .1 拓扑简图
图 5.3-1 是笔者发布的一个小型网站的拓扑结构,操作系统为 Windows 2003 Serve,服
务器端脚本语言为 ASP,Web 服务器为 IIS。为了便于理解,其中各个 Web 页面名字均用字母
代替,并且省略“.asp”的扩展名。
图 5.3-1 网站拓扑结构
5.3 .2 Web 服务器日志
由 于 本 网 站 部 署 的 操 作 系 统 为 Windows 2003 Serve , 日 志 文 件 一 般 会 记 录 在
C:\WINDOWS\system32\Logfiles 文件夹下。以下是一段时间内的 IIS Web 服务器的访问日
志(其中页面名称已经用字母代替):
#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2007-04-10
#Fields: time c-ip cs-method cs-uri-stem sc-status
01:57:55 192.168.1.4 GET A.asp 200
01:57:55 192.168.1.4 GET /imgs/noIndex.gif 200
01:57:56 192.168.1.4 GET /imgs/ismhd.gif 200
01:58:06 192.168.1.4 GET C.asp 200
01:58:06 192.168.1.4 GET /imgs/favicon.ico 404
01:58:15 192.168.1.4 GET H.asp 200
01:58:15 192.168.1.4 GET /imgs/favicon.ico 404
02:37:55 192.168.1.4 GET A.asp 200
02:37:55 192.168.1.4 GET /imgs/noIndex.gif 200
02:37:56 192.168.1.4 GET /imgs/ismhd.gif 200
02:38:06 192.168.1.4 GET C.asp 200
02:38:06 192.168.1.4 GET /imgs/favicon.ico 404
02:39:21 192.168.1.4 GET I.asp 200
02:39:21 192.168.1.4 GET /styles/coua.css 200
09:23:06 192.168.1.7 GET C.asp 200
09:23:06 192.168.1.7 GET /imgs/favicon.ico 404
09:23:21 192.168.1.7 GET I.asp 200
09:23:21 192.168.1.7 GET /styles/coua.css 200
11:15:15 192.168.1.7 GET A.asp 200
11:15:15 192.168.1.7 GET /imgs/noIndex.gif 200
11:15:17 192.168.1.7 GET /imgs/ismhd.gif 200
11:18:06 192.168.1.7 GET C.asp 200
11:18:06 192.168.1.7 GET /imgs/favicon.ico 404
11:18:15 192.168.1.7 GET H.asp 200
11:18:15 192.168.1.7 GET /imgs/favicon.ico 404
12:22:07 192.168.1.9 GET C.asp 200
12:22:07 192.168.1.9 GET /imgs/favicon.ico 404
12:22:27 192.168.1.9 GET H.asp 200
12:22:27 192.168.1.9 GET /imgs/favicon.ico 404
12:23:22 192.168.1.4 GET B.asp 200
12:23:23 192.168.1.4 GET A.asp 200
12:23:23 192.168.1.4 GET /imgs/noIndex.gif 200
12:23:23 192.168.1.4 GET /imgs/ismhd.gif 200
12:23:27 192.168.1.4 GET C.asp 200
12:23:27 192.168.1.4 GET /imgs/favicon.ico 404
12:23:30 192.168.1.4 GET H.asp 200
12:23:30 192.168.1.4 GET /imgs/favicon.ico 404
13:12:32 192.168.1.5 GET C.asp 200
13:12:32 192.168.1.5 GET /imgs/favicon.ico 404
13:12:34 192.168.1.5 GET A.asp 200
13:12:34 192.168.1.5 GET /imgs/noIndex.gif 200
13:12:34 192.168.1.5 GET /imgs/ismhd.gif 200
13:12:37 192.168.1.5 GET B.asp 200
13:12:41 192.168.1.5 GET A.asp 200
13:12:41 192.168.1.5 GET /imgs/noIndex.gif 200
13:12:41 192.168.1.5 GET /imgs/ismhd.gif 200
14:15:31 192.168.1.9 GET B.asp 200
14:15:33 192.168.1.9 GET G.asp 200
5.3 .3 数据清洗
我们看到,默认情况下 IIS 记录的 Web 服务器日志的字段相对还是比较少的,其中 c-
ip 代表客户端 IP 地址,cs-method 代表 HTTP 请求方法,cs-uri-stem 代表请求目标的
URL,sc-status 代表 HTTP 状态码。在以上的日志文件记录中我们首先去掉 HTTP 状态码为
404 的条目(Not Found),在去掉请求目标为 *.gif (代表图片)和 *.css(代表层叠样式表
文件)的条目。得到清洗后的日志文件为:
01:57:55 192.168.1.4 GET A.asp 200
01:58:06 192.168.1.4 GET C.asp 200
01:58:15 192.168.1.4 GET H.asp 200
02:37:55 192.168.1.4 GET A.asp 200
02:38:06 192.168.1.4 GET C.asp 200
02:39:21 192.168.1.4 GET I.asp 200
09:23:06 192.168.1.7 GET C.asp 200
09:23:21 192.168.1.7 GET I.asp 200
11:15:15 192.168.1.7 GET A.asp 200
11:18:06 192.168.1.7 GET C.asp 200
11:18:15 192.168.1.7 GET H.asp 200
12:22:07 192.168.1.9 GET C.asp 200
12:22:27 192.168.1.9 GET H.asp 200
12:23:22 192.168.1.4 GET B.asp 200
12:23:23 192.168.1.4 GET A.asp 200
12:23:27 192.168.1.4 GET C.asp 200
12:23:30 192.168.1.4 GET H.asp 200
13:12:32 192.168.1.5 GET C.asp 200
13:12:34 192.168.1.5 GET A.asp 200
13:12:37 192.168.1.5 GET B.asp 200
13:12:41 192.168.1.5 GET A.asp 200
14:15:31 192.168.1.9 GET B.asp 200
14:15:33 192.168.1.9 GET G.asp 200
5.3 .4 用户识别
我们从 IIS 的日志记录中可以得知,可能是出于对客户隐私的保护,IIS 并不记录客
户端的浏览器类型与操作系统版本,所以我们只能从客户端的 IP 地址变化区分不同的用户,
这段时间内共有四个用户访问网站,他们分别是:
192.168.1.4
192.168.1.7
192.168.1.9
192.168.1.5
按照用户我们重新组织清洗后的日志:
01:57:55 192.168.1.4 GET A.asp 200
01:58:06 192.168.1.4 GET C.asp 200
01:58:15 192.168.1.4 GET H.asp 200
02:37:55 192.168.1.4 GET A.asp 200
02:38:06 192.168.1.4 GET C.asp 200
02:39:21 192.168.1.4 GET I.asp 200
12:23:22 192.168.1.4 GET B.asp 200
12:23:23 192.168.1.4 GET A.asp 200
12:23:27 192.168.1.4 GET C.asp 200
12:23:30 192.168.1.4 GET H.asp 200
09:23:06 192.168.1.7 GET C.asp 200
09:23:21 192.168.1.7 GET I.asp 200
11:15:15 192.168.1.7 GET A.asp 200
11:18:06 192.168.1.7 GET C.asp 200
11:18:15 192.168.1.7 GET H.asp 200
12:22:07 192.168.1.9 GET C.asp 200
12:22:27 192.168.1.9 GET H.asp 200
14:15:31 192.168.1.9 GET B.asp 200
14:15:33 192.168.1.9 GET G.asp 200
13:12:32 192.168.1.5 GET C.asp 200
13:12:34 192.168.1.5 GET A.asp 200
13:12:37 192.168.1.5 GET B.asp 200
13:12:41 192.168.1.5 GET A.asp 200
5.3 .5 事务识别
简单地我们采用 Timeout 方法,取间隔时间为 20 分钟,得到的用户访问事务如下:
1) A-C-H
2) A-C-I
3) C-I
4) A-C-H
5) C-H
6) B-A-C-H
7) C-A-B-A
8) B-G
假设用户当前访问点为 C,含有 C 结点的事务共有 7 条,其中从 C 结点访问 H 结点的概
率为 4/7,访问 I 结点的概率为 2/7,访问 A 结点的概率为 1/7。那么相应地可以将从 C 结点到
H 结点的链接高亮显示。或缓存 H 结点以缩短系统响应时间。
5.3 .6 拓扑分析
根据地标指数公式:
Importance=Relative-Connectivity*wa + Relative-Depth*wb,其中 wa+wb=1。
这里取 wa=wb=0.5,得出各结点的地标指数为:
I(A)=0.5*2/16+0.5*1/1=0.5625
I(B)= 0.5*5/16+0.5*1/2=0.40625
I(C)= 0.5*3/16+0.5*1/2=0.34375
I(D)= 0.5*1/16+0.5*1/3=0.19792
I(E)= 0.5*1/16+0.5*1/3=0.19792
I(F)= 0.5*1/16+0.5*1/3=0.19792
I(G)= 0.5*1/16+0.5*1/3=0.19792
I(H)= 0.5*1/16+0.5*1/3=0.19792
I(I) = 0.5*1/16+0.5*1/3=0.19792
图 5.3.6-1 计算出地标系数后的网站拓扑结构
图 5.3.6-1 带地标系数的网站拓扑结构
第六 章 总 结和展 望
6.1 自适应网站研究的新方法
近几年以 XML 为基础的新一代 Web 环境正在得到长足的发展。XML 不仅可以直接面对 Web
数据,很好地兼容原有的 Web 应用,而且可以更好地实现 Web 中的信息共享的交换。XML 可
以看作是一种半结构化的数据模型,可以很容易地将 XML 文档的描述与关系型数据库中的
字段对应起来,实施精确的查询与模型抽取。
正式由于 XML 的诸多有点,使它能够在数据挖掘和自适应网站研究方面带来新的契机。
XML 有着以下几个明显的广泛应用:多个异质数据库之间通讯、将 Web 服务器负载转到客户
端、同样的数据提供给不同用户不同的视图、智能代理按需剪裁信息内容。显然这些应用与
Web 数据挖掘有密切的联系,XML 的出现必将使 Web 数据挖掘更加高效、准确。
6.2 需要进一步研究的内容
本文对于自适应网站的实现流程和建议方法进行了研究,[23]但仍然有许多工作亟待进一步
加深和加强。主要有以下几个方面:
参考文献
[1]陈新中,李岩,谢永红,杨炳儒,Web 挖掘研究, 计算机工程与应用,2002 年 第 13 期
[2]盛林叶,基于人工神经网络的自适应站点研究,华中科技大学硕士学位论文,2004,11
[4] Madria S K,et al. Research issue in web data mining. 99,
2003. 265~269
[10]Kobayashi M and Takeda k,Information retrieval on the Web, ACM Computing Surveys
(CSUR),June 2000。
[15]王实,高文,李锦涛,Web 数据挖掘,P28-31,计算机科学,2000,4。
年 第 11 期
年 第 11 期