Mining Frequent Patterns Without Candidate Generation

Download Report

Transcript Mining Frequent Patterns Without Candidate Generation

第7章
文本挖掘、 序列分析、Web挖掘
目录

7.1 文本挖掘

7.2序列分析

7.3 Web挖掘
文本挖掘概述

文本挖掘的基本概念

文本特征的表示

文本特征的提取
文本挖掘的基本概念


文本挖掘一词出现于1998年第十届欧洲机
器学习会议上。
Kodratoff认为文本挖掘的目的是从文本
集合中,试图在一定的理解水平上尽可能
多地提取知识。
概念


文本挖掘是一个从大量文本数据中提取
以前未知的、有用的、可理解的、可操
作的知识的过程。
文本数据包括:技术报告、文本集、新
闻、电子邮件、网页、用户手册等。
主要任务
(1)短语提取
提取文本集中所有相关的短语 。
(2)概念提取(聚类)
对这些短语之间的关系,建立一个该文本
集中的主要概念 。
(3)可视化显示和导航
从多个视角出发进行分析.
文本挖掘与数据挖掘
数据挖掘
文本挖掘
研究对象
用数字表示的、结构化的数
据
无结构或者半结构化的文本
对象结构
关系数据库
自由开放的文本
目标
获取知识,预测以后的状态
提取概念和知识
方法
归纳学习、决策树、神经网
络、
粗糙集、遗传算法等
提取短语、形成概念、关联分
析、
聚类、分类
成熟度
从1994年开始得到广泛应
用
从2000年开始得到广泛应用
文本特征的表示

文本特征指的是关于文本的元数据:
(1)描述性特征,例如文本的名称、日期、
大小、类型等;
(2)语义性特征,例如文本的作者、机构、
标题、内容等。
文本特征的表示

矢量空间模型(VSM)是效果较好的表示文本特
征的方法。每个文本d表示为其中的一个规范化
特征矢量:
V(d)=(t1,w1(d);…;ti,wi(d);…;tn,wn(d))
d中出现的所有单词作为ti,或所有短语。wi(d)
一般被定义为ti在d中出现频率tfi(d)的函数。
函数wi(d)=Ψ(tfi(d)) ,常用的Ψ有:
(1)平方根函数
  tf i ( d )
(2)对数函数
  log(tf i ( d )  1 )
文本特征的提取



特征提取主要是识别文本中代表
其特征的词项。
文本特征分为一般特征和数字特征,其中
一般特征主要包括动词和名词短语,如人
名、组织名等;
数字特征主要包括日期、时间、货币以及
单纯数字信息。
特征项抽取的判断算法
(1)该特征项集合包含所有该类中出现的词。
(2)对于每个词,计算词Wi和类别Cj的互信息量
I(W,C)
(3) 对于该类中所有的词,依据上面计算的互信
息量排序。
(4)抽取互信息量大的词作为特征项。
(5)根据抽取的特征项进行向量压缩,精简向量
表示。
文本挖掘

文本挖掘功能层次

关联分析

文本聚类

文本分类
文本挖掘功能层次
关键词
相似检索
词语关联分析
文本聚类
文本分类
自然语言处理
文本挖掘功能层次
(1)关键词检索
关键词建立倒排文件索引,与传统的
信息检索使用的技术类似。
(2)相似检索
找到相似内容的文本。
(3)词语关联分析
聚焦在词语(包括关键词)之间的关
联信息分析上。
(4)文本聚类和文本分类
实现文本的聚类和分类。
(5)自然语言处理
揭示自然语言处理技术的语义,进
行文本语义挖掘。
关联分析
在文本数据库中,每一文本被视为一个事务,文
本中的关键词组可视为事务中的一组事务项。即文本数
据库可表示为:
{文本编号, 关键词集}
文本数据库中关键词关联挖掘的问题就变成事务
数据库中事务项的关联挖掘。
关联分析挖掘可以用于找出词或关键词间的
关联。
文本聚类
1.层次聚类法
对于给定的文本集合D={d1,…,di,…,dn}:
(1)将D中的每个文本di看作是一个具有单成员的类
ci={di},这些类构成了D的一个聚类:
C={c1,…,ci,…,cn};
(2)计算C中每对类(ci,cj)之间的相似度sim(ci,cj);
(3)选取具有最大相似度的类对,并将ci和cj合并为一个
新的类ck=ci∪cj,从而构成了D的一个新的聚类C={c1,…,
cn-1};
(4)重复上述步骤,直至C中剩下一个类为止。
该过程构造出一棵生成树,其中包含了类的层次信息,以
及所有类内和类间的相似度。
文本分类
首先,把一组预先聚类过的文本作为训练集。
然后对训练集进行分析以便得出各类的分类模式。
对文本分类的有效方法是基于关联的分类:
(1)提出关键词和词组。
(2)生成关键词和词组的概念层次,或类层
次结构。
(3)词关联挖掘方法用于发现关联词,它可
以最大化区分一类文本与另一类文本。这导致了
对每一类文本,有一组关联规则。
7.2 时间序列及其应用



时间序列(Time Series)挖掘是数据挖掘中的一个重
要研究分支,有着广泛的应用价值 。
近年来,时间序列挖掘在宏观的经济预测、市场营销、
客流量分析、太阳黑子数、月降水量、河流流量、股
票价格变动等众多领域得到应用。事实上,社会、科
学、经济、技术等领域中广泛存在着大量的时间序列
数据有待进一步的分析和处理。
时间序列数据挖掘通过研究信息的时间特性,深入洞
悉事物进化的机制,是获得知识的有效途径。
时间序列有关概念



从统计意义上来讲,所谓时间序列就是将某一指标在
不同时间上的不同数值,按照时间先后顺序排列而成
的数列。
时间序列挖掘通过对过去历史行为的客观记录分析,
揭示其内在规律,进而完成预测未来行为等决策性工
作。
简言之,时间序列数据挖掘就是要从大量的时间序列
数据中提取人们事先不知道的、但又是潜在有用的与
时间属性相关的信息和知识,并用于短期、中期或长
期预测,指导人们的社会、经济、军事和生活等行为。
时间序列有关概念

从数学意义上来讲,如果我们对某一过程中的某一变量
进行X(t)观察测量,在一系列时刻t1,t2,…,tn(t为自
变量,且t1<t2<…,<tn)得到的离散有序数集合Xt1,
Xt2,…,Xtn称为离散数字时间序列。设X(t)是一个随机
过程,Xti (i=1,2,…,n)称为一次样本实现,也就是一
个时间序列。
时间序列有关概念
时间序列的多样性必须结合序列特点,找到合适的建模方法。
 一元时间序列:如某种商品的销售量数列等,可以通过单
变量随机过程的观察获得规律性信息。
 多元时间序列。如包含气温、气压、雨量等在内的天气数
据,通过多个变量描述变化规律。时间序列挖掘需要揭示
各变量间相互依存关系的动态规律性。
 离散型时间序列:如果某一序列中的每一个序列值所对应
的时间参数为间断点,则该序列就是一个离散时间序列。
时间序列有关概念


连续型时间序列:如果某一序列中的每
个序列值所对应的时间参数为连续函数,
则该序列就是一个连续时间序列。
序列的分布规律:序列的统计特征可以
表现平稳或者有规律的震荡,这样的序
列是分析的基础点。此外如果序列按某
类规律(如高斯型)的分布,那么序列
的分析就有了理论根据。
时间序列预测的常用方法
时间序列分析的一个重要应用是预测,即根据已
知时 间序列中数据的变化特征和趋势,预测未来
属性值。
序列预测的主要方法:
 确定性时间序列预测方法
 随机时间序列预测方法
 其他方法
时间序列预测的常用方法(续)

确定性时间序列预测方法
对于平稳变化特征的时间序列来说,假设
未来行为与现在的行为有关,利用属性现在
的值预测将来的值是可行的。例如,要预测
下周某种商品的销售额,可以用最近一段时
间的实际销售量来建立预测模型。

时间序列预测的常用方法(续)

一种更科学的评价时间序列变动的方法是
将变化在多维上加以综合考虑,把数据的变
动看成是长期趋势、季节变动和随机型变动
共同作用的结果。



长期趋势:随时间变化的、按照某种规则稳步增
长、下降或保持在某一水平上的规律。
季节变动:在一定时间内(如一年)的周期性变
化规律(如冬季羽绒服销售增加)。
随机型变动:不可控的偶然因素等。
时间序列预测的常用方法(续)

设Tt表示长期趋势,St 表示季节变动趋势项,
Ct 表示循环变动趋势项,Rt表示随机干扰项,
yt 是观测目标的观测记录。则常见的确定性
时间序列模型有以下几种类型:



加法模型:yt = Tt + St + Ct + Rt。
乘法模型:yt = Tt·St·Ct·Rt。
混合模型:yt = Tt·St + Rt 或yt = St +
Tt·Ct·Rt。
时间序列预测的常用方法(续)

随机时间序列预测方法


通过建立随机模型,对随机时间序列进行
分析,可以预测未来值。
若时间序列是平稳的,可以用自回归(Auto
Regressive,简称AR)模型、移动回归模型
(Moving Average,简称MA)或自回归移动平
均(Auto Regressive Moving Average,简称
ARMA)模型进行分析预测。
时间序列预测的常用方法(续)

其他方法

可用于时间序列预测的方法很多,其中
比较成功的是神经网络。由于大量的时间序
列是非平稳的,因此特征参数和数据分布随
着时间的推移而变化。假如通过对某段历史
数据的训练,通过数学统计模型估计神经网
络的各层权重参数初值,就可能建立神经网
络预测模型,用于时间序列的预测。
序列挖掘



序列挖掘或称序列模式挖掘,是指从序列数据库中发现蕴
涵的序列模式。时间序列分析和序列模式挖掘有许多相似
之处,在应用范畴、技术方法等方面也有很大的重合度。
但是,序列挖掘一般是指相对时间或者其他顺序出现的序
列的高频率子序列的发现,典型的应用还是限于离散型的
序列。
序列模式挖掘最早是由Agrawal等人提出的,它的最初动机
是针对带有交易时间属性的交易数据库中发现频繁项目序
列以发现某一时间段内客户的购买活动规律。
近年来序列模式挖掘已经成为数据挖掘的一个重要方面,
其应用范围也不局限于交易数据库,在DNA分析等尖端科
学研究领域、Web访问等新型应用数据源等众多方面得到
针对性研究。
7.3 Web挖掘

Web挖掘的意义

Web挖掘的分类

Web挖掘的含义

Web挖掘的数据来源

Web内容挖掘方法

Web访问信息挖掘方法

Web结构挖掘方法
Web挖掘的价值


从大量的信息中发现用户感兴趣的信息 :因特网上蕴
藏着大量的信息,通过简单的浏览或关键词匹配的搜
索引擎得到的是孤立而凌乱的“表面信息” ,Web挖
掘可以发现潜在的、丰富的关联信息。
将Web上的丰富信息转变成有用的知识:Web挖掘是
面向Web数据进行分析和知识提取的。因特网中页面
内部、页面间、页面链接、页面访问等都包含大量对
用户可用的信息,而这些信息的深层次含义是很难被
用户直接使用的,必须经过浓缩和提炼。
Web挖掘的价值

对用户进行信息个性化:网站信息的个性化是
将来的发展趋势。通过Web挖掘,可以达到对
用户访问行为、频度、内容等的分析,可以得
到关于群体用户访问行为和方式的普遍知识,
用以改进Web服务方的设计,提供个性化的服
务。
Web挖掘的类型

Web挖掘依靠它所挖掘的信息来源可以分为:
 Web内容挖掘(Web Content Mining):对站点的Web页面
的各类信息进行集成、概化、分类等,挖掘某类信息所蕴含
的知识模式。
 Web访问信息挖掘(Web Usage Mining):Web访问信息挖
掘是对用户访问Web时在服务器方留下的访问记录进行挖掘。
通过分析日志记录中的规律,可以识别用户的忠实度、喜好、
满意度,可以发现潜在用户,增强站点的服务竞争力。
 Web结构挖掘(Web Structure Mining):Web结构挖掘是
对Web页面之间的链接结构进行挖掘。在整个Web空间里,
有用的知识不仅包含在Web页面的内容之中,而且也包含在
页面的链接结构之中。对于给定的Web页面集合,通过结构
挖掘可以发现页面之间的关联信息,页面之间的包含、引用
或者从属关系等。
Web挖掘的含义

WeB挖掘是一个看宽泛的概念,可以简
单地描述为:

针对包括Web页面内容、页面之间的结构、
用户访问信息、电子商务信息等在内的各种
Web数据,应用数据挖掘方法以帮助人们从
因特网中提取知识,为访问者、站点经营者
以及包括电子商务在内的基于因特网的商务
活动提供决策支持。
Web挖掘与信息检索


两种截然不同的观点:
 Web上的信息检索是Web挖掘的一个方面:Web
挖掘旨在解决信息检索、知识抽取以及更宽泛的商
业问题,是Web上IR技术的延伸。这种观点大多来
自于数据挖掘研究领域。
 Web挖掘是智能化的信息检索:对于IR领域的研究
人员来说, Web挖掘是IR研究向着智能化的方向发
展的结果。
信息检索可能经常被说成是Web挖掘的初级阶段,是
为了强调Web挖掘不是简单的信息索引或关键词匹配
技术,而是实现信息浓缩成知识的过程,它可以支持
更高级的商业决策和分析。
Web挖掘与信息抽取


Web上的IE的研究目的是希望从众多的Web文挡中抽
取可供分析的信息,与Web挖掘的关系也有不同的观
点:
 IE是Web挖掘整个过程的一部分:这是因为Web上
的数据一般是半结构化或无结构的,因此需要进行
规格化的信息抽取这样的预处理。
 Web挖掘是IE的一个特殊技术:既然IE是希望把
Web蕴藏的信息抽取出来,那么Web挖掘或者文本
挖掘只不过是达到这个目的的特殊技术手段。
信息抽取经常被说成是Web挖掘的一个预处理阶段,
那是因为在数据挖掘领域,Web挖掘的更广义的理解
应该是一个知识提取的完整过程。
Web挖掘的主要数据源


Web挖掘的数据来源是宽泛的:凡是在
Web站点中对用户有价值的数据都可以
成为它挖掘的数据源。
由于这些对象的数据形式及含义的差异,
其挖掘技术会不同。一些比较有代表性
的数据源有:

服务器日志数据:Web访问信息挖掘的主要
数据源。
服务器日志数据

对Web服务器的访问,服务器方将会产生3种类型的日
志文件:
 Server logs:记录用户的访问时间、IP地址以及请
求等信息。
 Error logs:存取请求失败的数据,例如丢失连接、
授权失败或超时等
 Çookie logs:Cookie是由web服务器产生的记号并
由客户端持有,用于识别用户和用户的会话。
Server
logs的一个
格式示意
服务器日志数据

Server logs
的一个格式
示意
Field
Description
Date
Date, time, and timezone of reque
Client IPRemote host IP and / or DNS entry
User name
Remote log name of the user
Bytes Bytes transferred (sent and received)
Server Server name, IP address and port
Request URI query and stem
Status http status code returned to the client
Service name
Requested service name
Time taken
Time taken for transaction to complete
Protocol version Version of used transfer protocol
User agent
Service provider
Cookie Cookie ID
Referrer Previous page
…
…
在线市场数据



在线市场数据是指和市场活动相关的信息。例如一个
电子商务站点,存储相关的电子商务信息。
从内容上说,不同目的商务网站有不同的商务信息。
但是,这类数据通常是用传统的关系数据库结构来存
储数据。
在线市场数据是业务数据,是进行业务相关分析的主
体。用户的挖掘目标只有结合在线市场数据分析才能
达到目的。
Web页面



Web页面是网站信息的主体,但是它们的主要信息不
可能像关系型数据库那样规整,因此Web页面的内容
组织形式的分析是研究Web挖掘的具体方法的基础。
目前的Web页面大多满足HTML标准,现有的Web挖
掘方法大多是针对Web页面开展的。
1998年WWW社团提出了XML语言标准(eXtensible
Markup Language)。该标准通过把一些描述页面内
容的标记(tag)添加到HTML页面中,用于对HTML
页面内容进行自描述。基于XML规范的挖掘研究也是
一个重要的研究分支。
Web内容挖掘的主要方法

一种Web内容挖掘的分类方法:代理人方法和数据库方法。
 代理人方法使用软件系统(代理)来完成内容挖掘。如:
 智能检索代理超越了简单的检索机制使用通过关键词
之外的技术来完成检索,可以利用用户模版或其关心
的知识领域等来实现信息的抽取。
 信息过滤利用信息检索技术、连接结构的知识和其他
方法来分析和分类文档。
 个性化Web代理使用有关用户的喜好的信息来指导它们
的检索。
 数据库方法将所有的Web数据描述为一个数据库系统。意
味着Web是一个多级的异构的数据库系统,可以通过多种
查询语言来获得Web的信息来完成信息的抽取。
文本挖掘是Web内容挖掘的基
础
Keyword

文本挖掘(TD)的方式和目标是多
种多样的,基本层次有:
 关键词检索:最简单的方式,它
和传统的搜索技术类似。
 挖掘项目关联:聚焦在页面的信
息(包括关键词)之间的关联信
息挖掘上。
 信息分类和聚类:利用数据挖掘
的分类和聚类技术实现页面的分
类,将页面在一个更到层次上进
行抽象和整理。
 自然语言处理:揭示自然语言处
理技术中的语义,实现Web内容
的更精确处理。
Term association
Classification
Clustering
ion
Natural language
processing
图7-1文本挖掘体系示意
搜索引擎与Web内容挖掘


传统的搜索引擎(Searching Engine)效率低下。由于
是基于Web中超文本结构分解的:它从一个网页开始
的,通过查阅和记录这个网页的所有连接并把它们排
列起来,然后再从找到的新页面继续开始重复工作。
利用数据挖掘技术来改进搜索引擎是有价值的。这种
价值体现在许多方面。例如,
 通过对搜索结果进行关联分析或聚类等,对结果进
行清洗和浓缩。
 面向主题进行搜索,即只检索与某一主题有关的页
面。
 聚焦用户感兴趣的页面,在有限的资源下使有效内
容挖掘力度提高。
搜索引擎与Web内容挖掘

基于搜索引擎的挖掘工作有下面一些重要方面:
 利用超文本链接结构进行页面内容分类,使
搜索引擎检索的页面符合用户的兴趣。
 有些页面包含很多链接,而这些链接的页面
是用户感兴趣的,因此它们需要被检索。
 采用合理而高效的方法对被选择的页面进行
内容分析和挖掘。
虚拟的Web视图



一个有效的解决在Web中大量无结构数据的方法是在
这些数据之上建立一个MLDB(Multiple Layered
Database)。这个数据库是多层次的, 每层索引都
比它下一层要小。对于最底层来说,需要了解Web文
档结构,而最高层则有着完善的结构并可以通过类似
SQL的查询语言进行访问或挖掘。
MLDB提供一个被称为VMV(Virtual Web View)的视
图机制,Web中的感兴趣的结构被浓缩在这个视图中。
等级概念(近意词组、词汇和语义联系等)将帮助归
纳过程来架构更高层的MLDB。
个性化与Web内容挖掘

通过个性化,网页的内容和组织将更加适合用户的需
要。个性化服务是Web挖掘技术的重要目标之一。

通过个性化,基于用户所关心内容的广告会被发
送到潜在的用户。当一个特别的用户访问一个站
点时,会有一个特别为它定制的广告出现,这对
那些可能购买的用户来说是一个极大的诱惑。

Web内容挖掘的目的之一是基于页面内容相似度
进行用户分类或聚类的,个性化的建立是通过用
户过去的检索内容分析而建立起来的。自动的个
性化技术可以通过过去的需要和相似用户的需要
来预知特定用户将来的需要。
Web页面内文本信息挖掘


挖掘的目标是对页面进行摘要和分类。
 页面摘要:对每一个页面应用传统的文本摘要方法
可以得到相应的摘要信息。
 页面分类:分类器输入的是一个Web页面集(训练
集),再根据页面文本信息内容进行监督学习,然
后就可以把学成的分类器用于分类每一个新输入的
页面。
在文本学习中常用的方法是TFIDF向量表示法,它是一
种文档的词集(Bag-of-Words)表示法,所有的词从
文档中抽取出来,而不考虑词间的次序和文本的结构。
这种构造二维表的方法是:
TFIDF向量表示法



每一列为一个词,列集(特征集)为辞典中的所有有区分价
值的词,所以整个列集可能有几十万列之多。
每一行存储一个页面内词的信息,这时,该页面中的所有词
对应到列集(特征集)上。列集中的每一个列(词),如果
在该页面中不出现,则其值为0;如果出现k次,那么其值就
为k;页面中的词如果不出现在列集上,可以被放弃。这种方
法可以表征出页面中词的频度。
对中文页面来说,还需先分词然后再进行以上两步处理。
 这样构造的二维表表示的是Web页面集合的词的统计信息,
最终就可以采用Naive Bayesian方法或k-Nearest Neighbor
等方法进行分类挖掘。
 在挖掘之前,一般要先进行特征子集的选取,以降低维数。
Web页面内多媒体信息挖掘

多媒体挖掘是一个大研究分支,总的挖掘过程是先要
应用多媒体信息特征提取工具,形成特征2维表,然
后就可以采用传统的数据挖掘方法进行挖掘。

在特征提取阶段,利用多媒体信息提取工具进行
特征提取。一般地,信息提取工具能够抽取出
image和video的文件名、URL、父URL、类型、键
值表、颜色向量等。对这些特征可以进行如下挖
掘操作:

关联规则发现:例如,如果图像是“大”的而且
与关键词“天空”有关,那么它是蓝色的概率为
68%。

分类:根据提供的某种类标,针对特征集,利用
Web访问信息挖掘的特点

Web访问数据容量大、分布广、内涵丰富和形态多样





一个中等大小的网站每天可以记载几兆的用户访问信息。
广泛分布于世界各处。
访问信息形态多样。
访问信息具有丰富的内涵。
Web访问数据包含决策可用的信息





每个用户的访问特点可以被用来识别该用户和网站访问的特
性。
同一类用户的访问,代表同一类用户的个性。
一段时期的访问数据代表了群体用户的行为和群体用户的共
性。
Web访问信息数据是网站的设计者和访问者进行沟通的桥梁。
Web访问信息数据是开展数据挖掘研究的良好的对象。
Web访问信息挖掘的特点

Web访问信息挖掘对象的特点




访问事务的元素是Web页面,事务元素之间存在着
丰富的结构信息。
访问事务的元素代表的是每个访问者的顺序关系,
事务元素之间存在着丰富的顺序信息。
每个页面的内容可以被抽象出不同的概念,访问顺
序和访问量部分决定概念。
用户对页面存在不同的访问时长,访问长代表了用
户的访问兴趣。
Web访问信息挖掘的意义

通过分析日志文件,可以发现用户访问页面的特征、
页面被用户访问的规律、用户频繁访问的页组等,以
便其合理、有效地优化站点的结构,最终为用户提供
一个方便快捷信息获取环境。有三方面的应用具有代
表性:
 Web服务方主要根据自己的领域知识设计Web页面
的结构,而群体用户根据各自的访问兴趣访问这些
页面,那么服务方的结构设计是否合理?怎样的设
计以便利于群体用户的访问,更加吸引访问者?这
些问题的解决是Web访问信息挖掘的主要目的。
Web访问信息挖掘的意义


群体用户的访问存在哪些特点?如果掌握了
这些特点,那么就可以利用其开展进一步的
商务活动。
对于每一个新的Web站点的访问者,都会在
曾经访问的群体用户中找到一些最相似的相
同的访问者,那么那些访问者的访问就可以
给这个新的访问者提供推荐,以便利于该访
问者的进一步访问。
典型的商业价值

面向群体访问者,能够:






提供高效访问:减少有用信息的检索时间,提高在
大负载下的服务性能。
吸引访问者。
保持访问者:如果网站具有更好的结构设计,就能
留住用户。
避免访问者离开:找到离开原因,改进网站的结构
设计。
地区/行业/阶层的分析:根据交易者留下的信息,
可以知道访问者所在的地区、所属的行业或阶层。
防止访问者迷航:访问者不能找到相应的访问目标,
或者面对复杂的页面结构不知所措,那么遇到了迷
航的问题。改进页面的结构设计是必要的。
典型的商业价值



群体推荐:针对群体用户的访问偏好,推荐他们感
兴趣的东西。
针对性服务:如在合适路径上,就可以放置相应内
容的广告。
面向群体每一个访问者,能够:



个性化推荐。
用户建模:根据已有群体用户的访问,推断当前用
户的特征。
个性化推销(Direct Marketing):识别出对某种产
品或服务的可能购买者,对其推荐相应的产品或服
务。
Web访问信息挖掘的数据源

由于Web世界的分布性,用户访问行为被广泛地分布记录
在Web服务器、用户客户端,和代理服务器中。在各个分
布地点的不同的用户访问信息表征了不同类型的用户访问
行为。挖掘工作必须针对数据的特点来决定相应的挖掘任
务。用户访问信息的分布简单归结为:



服务器方:一般地,在一个Web服务器上,服务器日志记录了多
个用户对单个站点的用户访问行为。
客户方:一般地,在客户端计算机上,客户端的代理记录了单个
用户对单个站点或单个用户对多个站点的用户访问行为。客户端
的Cache记录了用户访问内容。客户端的BookMark也记录了单个
用户对单个站点的访问偏好。
客户端代理服务器:代理服务器记录了多个用户对多个站点的访
问行为,同时代理服务器内部的Cache记录了多个用户对多个站
点的访问内容。
服务器方访问信息


IP Address User ID
157.226.217.52
44851
157.226.217.52
7403
157.226.217.52
18481
203.141.87.99
12302
157.226.217.52
367
157.226.217.52
4370
157.226.217.52
12047
157.226.217.52
22574
一个Web服务器日志(Server log)反映出多个用户对
单个站点的访问行为。
一个从实际Web服务器上采集的Log文件片段:
Time
--
Method/URI/Protocol
10/Dec/1998:12:34:16 -0600
Stauts
Size
"GET /images/lchzhi.gif HTTP/1.1" 200
--
10/Dec/1998:12:34:32 -0600
"GET /graduate.htm HTTP/1.1"
--
10/Dec/1998:12:34:32 -0600
"GET /images/sxwys2.jpg HTTP/1.1" 200
--
10/Dec/1998:12:34:48 -0600
"GET /result.htm HTTP/1.0"
200
--
10/Dec/1998:12:34:58 –0600
"GET /structure.htm HTTP/1.1"
200
--
10/Dec/1998:12:34:58 –0600
"GET /struc-index.htm HTTP/1.1"
200
--
10/Dec/1998:12:34:58 –0600
"GET /struc-content.htm HTTP/1.1" 200
--
10/Dec/1998:12:34:58 –0600
"GET /images/znkfsys.jpg HTTP/1.1" 200
200
代理服务器端访问信息


代理服务器端的访问信息包括用户访问日志和在Cache
中被访问的页面信息。
一个代理服务器日志的例子(基于WindowsNT4.0的代
理服务器):
200.121.2.88, HEAD\SWANG, Mozilla/4.0 (compatible; MSIE 4.0; Windows 95), Y, 99-3-28, 15:57:44,
W3Proxy, NTPROXY, -, www.ict.ac.cn, 157.226.37.2, 80, 200, 582, 1376, http, tcp, GET,
http://www.ict.ac.cn/cjc/cjcw2.html, -, Inet, 304, 0
200.121.2.88, HEAD\SWANG, Mozilla/4.0 (compatible; MSIE 4.0; Windows 95), Y, 99-3-28, 15:57:44,
W3Proxy, NTPROXY, -, www.ict.ac.cn, 157.226.37.2, 80, 270, 2101, 1254, http, tcp, GET,
http://www.ict.ac.cn/cjc/introc.html, -, VCache, 304, 0
200.121.2.88, HEAD\SWANG Mozilla/4.0 (compatible; MSIE 4.0; Windows 95), Y, 99-3-28, 15:57:44,
W3Proxy, NTPROXY, -, www.ict.ac.cn, 157.226.37.2, 80, 171, 449, 1110, http, tcp, GET,
http://www.ict.ac.cn/cjc/star.gif, -, Inet, 304, 0
200.121.2.88, HEAD\SWANG, Mozilla/4.0 (compatible; MSIE 4.0; Windows 95), Y, 99-3-28, 15:57:44,
W3Proxy, NTPROXY, -, www.ict.ac.cn, 157.226.37.2, 80, 211, 455, 826, http, tcp, GET,
http://www.ict.ac.cn/cjc/INTROCG.JPG, -, Inet, 304, 0
Web访问信息挖掘的预处理


Web访问信息挖掘的基础和最烦琐的工作是数据的预
处理。预处理用户访问信息是整个数据准备的核心工
作,也是开展下一阶段Web访问信息挖掘的基础。预
处理阶段主要的工作是识别用户访问事务和访问片断。
Web Usage Mining在预处理阶段主要的工作有:
 数据清洗:由于数据表示、写入的对象差异以及用
户的兴趣和挖掘算法对数据要求的不同,对于Web
日志中的数据需要确定合理的数据清洗策略 。
 识别用户访问事务:在对Web日志数据进行数据挖
掘之前,需要把对Web页的访问序列组织成逻辑单
元以表征事务或用户会话。
数据清洗





合并数据:在给定挖掘时间段后,数据清洗需要合并Web服务器
上的多个日志文件,并且解析每个文件,将其转化到数据库或特
定格式的数据文件中。
剔除不相关的数据:在Web日志中一些存取记录可能对挖掘来说
是不必要的,例如图形文件,压缩文件等的存取可能对面向文本
挖掘的用户不需要考虑,所以应该被剔除。通过检查后缀gif、
jpeg、zip、ps等就可以实现。
代理访问的处理:由于搜索引擎或其他一些自动代理的存在,日
志中存在大量的由它们发出的请求。因此从日志中识别代理
(Agent)或网络爬虫(Crawler or Spider)对站点的访问是必须
的。
正规化URI(Uniform Resource Identifier) :由于各种默认情况
的存在,需要进一步正规化URI。
数据项解析:CGI数据项必须被解析在不同的域中,并被解析为<
名字,值>对的形式。
识别用户访问事务


在Web日志中,用户的访问事务并不是一个显然的结果,需要
专门的算法来进行识别和生成。找到相应的事务集,才能对这
个事务集进行关联规则和序列模式发现等挖掘工作。
时间窗C大小的界定是一个经验值(有人建议30分钟较为合
适)。
定义7-1 设L为用户访问日志,其中的一个项lL包括用户的IP地址l.ip,用户
的标识符l.uid,被存取页的URI地址l.url,长度为l.length以及存取访问的时间
l.time,存取访问的时长l.timelength,访问事务被定义为:
t  ipt , uidt ,{(l1t .ip, l1t .uid, l1t .url, l1t .tim e, l1t .tim elength, l1t .length)
,..., (l mt .ip, l mt .uid, l mt .url, l mt .tim e, l mt .tim elength, l mt .length)} 
where,
for 1  k  m, l kt  L, l kt .ip  ipt , l kt .uid  uidt ,
l kt .tim e  l kt 1 .tim e  C , l kt 1 .tim elength l kt .tim e  l kt 1 .tim e
这里C是一个固定的时间窗。
其他信息的预处理技术
1.导航内容片断




在一些电子商务网站中,需要知道用户到达一个内
容页之前是经历哪些导航页的。例如,一个用户访问
事务为:N1,N2,N3,C1, N4,N5,N6,C2,N7,
N8,C3,N9,N10,N11,N12,C4,其中N为导航
页,C为内容页。识别导航内容片断就是要从用户访
问事务中识别出:
片断1:N1,N2,N3,C1。
片断2:N4,N5,N6,C2。
片断3:N7,N8,C3。
片断4:N9,N10,N11,N12,C4。
其他信息的预处理技术
2.最大前向访问序列
所谓用户最大前向访问序列是指在用户访问
回退之前一直被访问的页面序列。每个最大前
向访问序列就构成一个访问片段。定义该片断
的优点是有利于发现用户感兴趣的事务。显然
在用户访问事务中寻找最大前向序列必须要依
据Web站点的拓扑结构。
在Web访问挖掘中的常用技术
1.路径分析
 路径分析最常用的应用是用于判定在一个Web站点中
最频繁访问的路径,这样的知识对于一个电子商务网
站或者信息安全评估是非常重要的。
2.关联规则发现
 使用关联规则发现方法可以从Web访问事务集中,找
到一般性的关联知识。
3.序列模式发现
 在时间戳有序的事务集中,序列模式的发现就是指找
到那些如“一些项跟随另一个项”这样的内部事务模
式。
在Web访问挖掘中的常用技术
4.分类
 发现分类规则可以给出识别一个特殊群体的公
共属性的描述。这种描述可以用于分类新的项。
5.聚类
 可以从Web Usage数据中聚集出具有相似特
性的那些客户。在Web事务日志中,聚类顾客
信息或数据项,就能够便于开发和执行未来的
市场战略。
Web访问信息挖掘的要素构成
1.数据来源
 数据的来源分为服务器,代理服务器,和客户端。
2.数据类型
 数据的类型主要分为结构,内容,访问信息,用户概貌文
件。
3.用户的数量
 用户的数量表现为:或者数据集只由一个用户的信息
构成,或者数据由多个用户的信息构成。
4.站点的数量
 在数据集中的Web站点的个数表现为:或者在数据集
中只记录单个站点的信息,或者记录多个站点的信息。
Web访问信息挖掘的要素构成
5.服务对象
 Web访问信息挖掘的结果由Web服务方进行应
用。应用的结果即服务对象可以是当个单个用
户,或群体用户。单个用户即意味着个性化。
6.挖掘手段
 Web访问信息挖掘所采用的各种数据挖掘方法,
例如关联规则发现,聚类,分类,统计等等。
利用Web访问信息挖掘实现用
户建模


由于Web网站的特性,对网站的经营者和设计者而言,
无法直接了解用户的特性。然而对访问者个人特性和
群体用户特性的了解对Web网站的服务方而言显得尤
为重要。幸运的是可以通过数据挖掘的方法得到用户
的特性。
“用户建模”(Modelling Users)是指根据访问者对
一个Web站点上Web页面的的访问情况,可以模型化
用户的自身特性。在识别出用户的特性后就可以开展
针对性的服务。用户建模主要有三种途径。
 推断匿名访问者的人口统计特性
 在不打扰用户的情况下,得到用户概貌文件
 根据用户的访问模式来聚类用户
利用Web访问信息挖掘发现导
航模式


发现导航模式(Discovering Navigation Patterns)
是Web访问信息挖掘的一个重要的研究领域。用户的
导航模式是指群体用户对Web站点内的页面的浏览顺
序模式。
用户导航模式的主要应用在改进站点设计和个性化推
销等方面。
 1.改进Web站点的结构设计
 2.个性化行销(Direct Marketing):
 3.利用关联规则发现算法发现导航模式
 4.利用模板发现导航模式
 5.利用超文本概率文法发现导航模式
利用Web访问信息挖掘改进访
问效率
1.Web服务器推送技术
2.自适应网站
3.应用导航模式的结果改进Web站点的访问效率
4.改进Web服务器的性能
利用Web访问信息挖掘改进访问效率
表7-10
改进Web站点访问效率方法的比较
方法
特点
优点
缺点
相关的文档会被服务器
存在冗余推送问
提前推送到Proxy上。
题。
Web服务器推
送技术
Bin Lan
自适应网站
Perkowitz M.
通过增加索引页来帮助
用户进行访问,以
改进访问效率。
这些索引页难于
被用户理解。
应用导航模式
的结果改
进改进Web
站点的访
问效率
Myra Spiliopoulou
基于规则的动态Web站
点。
规则需要人工判
定。
改进Web服务
器的性能
Cohen E.
Almeida
Schechter
通过对页面的特性的挖
掘,改进服务器的
效率。
改进集中于页面
这一级,不涉及
更高级的逻辑结
构改进。
利用Web访问信息挖掘进行个性
化服务
在Web站点开展个性化(Personalization)服务的总的思路和
步骤是:
 模型化页面和用户;
 分类页面和用户;
 在页面和对象之间进行匹配;
 判断当前访问的类别以进行推荐。
而且,个性化系统一般分为两个部分:离线部分和在线部分。
利用Web访问信息挖掘进行个性
化服务
表7-11个性化方法的比较
方法
特点
缺点
离线聚类和动态链接结
合
可以实时个性化地为用户提供
推荐。
随着用户访问长度的增加,可供
推荐的元素会趋于零。
基于关键词学习
引入时间特性为用户提供推荐。 需要用户人工干预,无法做到自
动。
识别感兴趣的链接
建立代理服务器识别用户的访
问兴趣提供推荐。
用户兴趣的实效性考虑不够。
自动定制不同用户访问
界面
利用用户建模技术自动定制不
同的用户访问界面。
“推论”依赖于用户所在的领域,
适应性不好。
利用客户端代理进行个
性化
客户端的代理,完全为个人服
务。
冗余搜索过大。
聚类推荐
可以实时个性化地为用户提供
推荐。
聚类的个数是人为事先给定的,
不能随着每个用户的访问特性而
动态调整。
利用Web访问信息挖掘进行商业
智能发现
表7-12 商业智能方法的比较

方法
特点
Buchner
其贡献在于首次在Web访问信息挖掘的基础上提出了
商业智能的发现的框架;其不足在于发现的知识局限
于用户确实发生的购买行为,而对用户潜在的购买兴
趣无法发现。
Yun C.
优点是挖掘了迁移和购买行为之间的内在关系。缺点
是发现的知识局限于用户确实发生的购买行为,对用
户潜在购买兴趣无法发现。
SurfAid,Accrue,
NetGenesis,Aria,
Hitlist,WebTrends
优点是通过分析页面的点击率来为推断商业智能提供
Web流量分析。缺点是无法发现高级的商业职能。
利用Web访问信息挖掘进行用户
移动模式发现


在移动计算环境中,一个新的挖掘方法,即用户的移
动模式挖掘被提出。挖掘的结果可以用于开发数据的
分配模式以改变移动系统的总的性能。首先,对移动
环境中的一些日志数据进行挖掘,可以得到频繁用户
移动模式。然后,根据挖掘结果和数据的特性设定个
人数据分配模式。
根据不同层次的挖掘结果,有两种个人数据分配模式:
 利用集合层次的用户移动模式(DS模式);
 利用路径层次的用户移动模式(DP模式)。
利用Web访问信息挖掘进行用户
移动模式发现
7
1
2
10
A
4
8
9
C
Partition1
图7-2
3
H
5
6
B
D
G
Partition2
在一个移动计算系统中移动模式的例子
利用Web访问信息挖掘进行用户
移动模式发现



利用Web访问信息挖掘进行用户移动模式发现可以分
为如下三个主要步骤:
数据收集阶段:从各个服务器的日志集合中判断最大
的移动序列和移动对的出现次数。
挖掘阶段:从第一步的结果集中的每w个最大移动序列
中判断大项移动序列。考虑到新近的移动模式,设立w
为一个回顾因子,一个可调整的窗口。
产生模式阶段:根据第二步的得到的大项移动序列,
判断用户的移动模式。
利用协作推荐的方法实现实时个
性化推荐
基于协作筛方法的Web站点实时个性化系统的结构如图73所示。
当前用户带有时长的访问页面集
(s11,t11),(s12,t12),...,(s1k,t1k)
Web站点
用户访问
日志
(s21,t21),(s22,t22),...,(s2k,t2k)
...
数据准备
(sf1,tf1),(sf2,tf2),...,(sfk,tfk)
推荐页面集
协作筛
(s11,t11),...,(s1k,t1k),...,(s1m,t1m)
用户交互
推荐引擎
(s21,t21),...,(s2k,t2k),...,(s2m,t2m)
...
(sf1,tf1),...,(sfk,tfk),...,(sfm,tfm)
Web服务器
页面重要性的评价方法


在设计搜索引擎等服务时,对Web页面的链接结构进
行挖掘以得出有用的知识是提高检索效率的重要手段。
Web页面的链接类似学术上的引用,因此一个重要的
页面可能会有很多页面的链接指向它。
定义7-3 设u为一个Web页,Fu为所有u指向的页面的集
合,Bu为所有指向u的页面的集合。设Nu= |Fu|为从u发
出的链接的个数,c(<1)为一个归一化的因子(因此
所有页面的总的PageRank为一个常数),那么u页面
的PageRank被定义为:
R (v )
R(u )  c 
vBu N v


一个页面对应的PageRank值被分配到所
有它所指向的页面中;每一个页面求和
所有指向它的链接所带来的PageRank以
得到它的新的PageRank。在计算时可以
从任何一个页面开始,通过上面的公式
反复计算直到其收敛。
页面等级


一般地说,页面的页面等级值是通过指向这个页面的数量
来计算的,即通过指向向后连接数来计算的。向后连接是
指向这个页面的连接减去它指向外面的连接。计算量不是
简单地向后连接的数量加合,而是要考虑向后连接的页面
的重要性。
给定一个页面p,我们使用Bp作为指向一系列指向P的页面,
并且用Fp作为一系列由外部指向P的连接,则
R(q)
qB p N q
R( p )  c 
这里的Nq=|Fq|。常量c是一个介于0,1之间的数,用于标准
化。
页面等级

这里有一个循环分级的问题。当计算一个页面的页面等级
时,如果发生循环则产生这个错误(页面A指向页面B,页
面B同时指向页面A),此时页面等级值随这些页面增加。
可以通过另一个公式解决:
R(q)
qB p N q
R( p )  c 
其中c是最大值,E(v)是一个矢量来增加一个人工连接。它是
模拟一个用户不随着连接访问其他页面,而是随机跳到一
个新的页面。E(v)增加一对结点中间可能的连接。
R( q )
 cE(v)
qB p N q
R ' ( p)  c 
权威页面和中心页面


所谓权威页面是指包含需求信息的最佳资源页面。所
谓中心页面是一个包含权威页面连接的页面。
HITS(Hyperlink-Induced Topic Search)是遵照寻找
权威页面和中心页面的典型方法。HITS技术由两部分
组成:
 基于一组给定的关键字,可以找到相关的页面。
 权威和中心页面与上述页面有关,返回具有最高权
重的页面。
权威页面和中心页面
算法7-3 HITS
输入: (把www 看作)一个引导图W;查询请求q;支持s。
输出:权威页面的集合A;中心页面的集合H。
(1)BEGIN
(2) R=SE(W, q);//利用q得到页面的根集合R
(3) B= R  {指向R的连接}{来自R的连接};
(4) G(B, L)= 由B导出的W的子图;
(5) G(B, L1)=删除G中相同站点的连接;
(6) xp=∑q Yq;// <q,p>∈L1,得到权威页面的权重;
(7) yp=∑q Xq;// < q,p >∈L1 ,得到中心页面的权重;
(8) A={p|p为具有最高xp值的页面};
(9) H={p|p为具有最高yp值的页面};
(10)END
Web访问信息的一些概念

W3C国际组织已经为Web访问信息定义了一些基本概念:
 定义7-4 用户(User):用户被定义为一个通过浏览器访问一个或
者多个Web服务器的访问者。一个用户可以通过几台PC机或者使用
多个浏览器来访问,因此识别用户是任务之一。
 定义7-5 页面文件(Page File):一个页面文件是通过HTTP请求发
给用户的文件。页面文件有静态的和动态的,动态页面文件由Web
服务器动态生成响应用户的请求。
 定义7-6 页面视图(Page View):一个页面视图由一个集合的页
面文件组成,页面视图通常与一个用户的行为相关(如一次鼠标点
击)。由框架(frame)、图片、和script等组成。
 定义7-7 客户端浏览器(Client Browser):是指具有一个独立IP地
址的,用户通过其访问Web服务器的浏览器软件。客户端包括代理
服务器软件。
 定义7-8 Web服务器(Web Server):是指运行在互联网服务提供
方主机上的WWW服务软件,目的是响应客户端发来的HTTP请求。
Web访问信息的一些概念





定义7-9 点击流(Click Stream):亦称连续HTTP请求序列。
定义7-10 一次访问用户(One User at a Time):是指某一
个通过一个客户端浏览器发出连续HTTP请求序列的对一个
Web服务器进行访问的访问者。如果一个真实的用户每隔一段
较长的时间对一个Web服务器发出一个连续HTTP请求序列,
那么对该Web服务器而言就有多个一次访问用户进行了访问。
定义7-11 用户访问会话(User Session):是指由一个用户
发出的对Web世界的一次连续HTTP请求序列。
定义7-12 服务器用户访问会话(Server Session):简称用
户访问事务(User Transaction)是指一次访问用户的对一个
Web服务器的一次访问。由该一次访问用户所请求的页面序列
顺序组成。
定义7-13 访问片断(Episode):任何有意义的用户访问会
话或用户访问事务的子集,被称为访问片断。
Web站点的结构的对象描述

一个Web站点的拓扑结构M :
M  P, LPageViewLink , LPageLink 

其中P为所有页面视图Page_View的集合:
P  {Page_ View1 , Page_ View2 ,, Page_ Viewn }

一个页面视图Page_View由一组框架Frame组成:
Page_ Viewi  {Framei1 , Framei 2 ,, Frameim }

每个框架由一个页面文件组成:
Framej  {Page_ Fileh }
Web站点的结构的对象描述

LpageLink为所有页面的链接的集合:
LPageLink  {PageLink1 , PageLink2 ,, PageLinkq }

LpageViewLink为全部页面视图之间超链关系的集合:
LPageViewLink  {PageViewLink1 , PageViewLink2 ,, PageViewLinkp }
Web站点结构的预处理


通过相应的搜索算法对Web网站进行遍历以找到
PageLink,PageViewSet,PageViewLink的集合。
算法7-4:生成PageViewSet和PageViewLink算法
Web站点结构的预处理
算法7-4 GPVS(Generating Page View Set)
输入: index.htm。
输出: PageViewSet, PageViewLinkSet。
(1)PageViewSet← GetFirstPageVeiw(/index.htm);
(2)PageViewLinkSet←NULL;
(3)FOR each pageview  PageViewSet DO BEIGIN
(4)
PageSet← GetAllPage(pageview);
(5)
FOR each p  PageSet DO BEIGIN//每个pageview由一些页面组成
(6)
LinkSet← GetAllHyperLink(p);
(7)
FOR each lLinkSet DO BEIGIN //l必须为站点内的地址
(8)
newpageview← Substitute(pageview, l);//根据超链得到一个新
的pageview
(9)
PageViewSet← PageViewSet  {newpageview};
(10)
PageViewLinkSet←PageViewLinkSet{<pageview,newpageview>};
(11)
END
(12)
END
(13)END. // PageViewSet 集合增量递增,每次从PageViewSet集合中变量pageview只
取新的值