3.Web
使用挖掘
如图1所示,web使用分析或web使用挖掘主要包括三个任务。本节概括描述了web使用挖掘的这三个任务及每个任务需要完成的工作。
3.1
预处理
预处理包括将使用记录,内容,结构转化为模式分析所需要的有用的数据。
3.1.1
使用预处理
因为可用数据的不完整性使得使用预处理成为使用挖掘过程中最困难得恶任务。除非客户端的跟踪机制被充分使用,当IP地址,代理,服务器段的点击流都可以准确地标志用户和服务器session。下面列出了一些可能遇到的典型问题:
单个IP地址/多服务器session问题。ISP通常会提供一个代理服务器的池。单个代理服务器可能含有几个用户信息,这些用户在同一时间段内访问了同一个站点。
多个IP地址/单服务器session问题:某些ISP或者私人工具会随机将几个IP地址分配给统一个用户使用。在这里案例中,单个服务器session就会含有多个IP地址。
多IP地址/但用户问题:一个用户可能从拥有不同IP的不同机器上访问同一个站点。这使得跟踪同一个用户的访问比较困难。
多代理/单用户问题:一个用户可能会用不止一个浏览器,即使在同一个机器上,也会被视为多个用户。
假设现在每个用户都被唯一的标识(通过cookies,登录,或者IP/代理/路径分析),每个用户的点击流被分割为不同的sessions。从其他服务器上的页面请求不具有典型性,所以很难知道某用户什么时候推出一个web站点。切断一个点击流默认的方法是设一个30分钟的超时退出。30分超时算法来源于[23]。如果一个session的标志嵌入在URI里面,则服务器可以确定每个session。
当每个用户行为在服务器日志里作为一个字段能够提供确切的信息,有必要访问内容服务器。内容服务器能为每个活动的session维护一个状态变量,所以一个用户请求的内容在URI不能总是被获取到。预处理过程中最后一个问题是推断出被缓存的页面引用。就像在2.2所讨论的那样,唯一可以证实的跟踪缓存中浏览页的方法是监控客户端的使用数据。每个请求的引用字段可以用来监测用户看到的缓存中的页面实例。
图2给出了上面讨论的几个问题的例子(第一列不是实际服务器日志,只是为了描述的目的)。地址123.456.78.9对应三个服务器sessions,209.456.78.2和209.45.78.3对于四个sessions。用referer和agent这两个字段,第1行道第11行可悲分为三个sessions,分别为A-B-F-O-G,L-R,和A-B-C-J。路径补足后的第一个session变为A-B-F-O-F-B-G,第三个为A-B-A-C-J。如果不用Cookies,除了一种嵌入式的Session号或者客户端的数据收集方法外不能确定12和13条记录实际上是一个单个的服务器session。
3.1.2
内容预处理
内容预处理包括以下任务,转换文本,图像,脚本和其他多媒体数据转换成对web使用挖掘有用的格式。通常,包括对内容进行分类和聚类。然而对web站点内容的数据挖掘时一个非常有意思的研究领域。在web使用挖掘的上下文中,站点内容能用来过滤模型发现的输入和输出。例如,一个分类算法的结果能对特定主题和产品的浏览页分类。除了根据主题对浏览页进行分类或聚类,还可以对根绝用户的使用意图进行分类。浏览页也可以传递信息(通过文本,图形和其他多媒体信息),收集来自用户的信息,允许导航(通过超链接列表),或者对用户分组。浏览页的使用意图也可以在模型发现之前和之后对session进行过滤。为了运行内容挖掘,浏览页的信息必须首先进行量化。这一阶段任务的典型方法是向量空间模型法。文本可以分割为单词的向量。图形或多媒体信息可以用文本和关键字替代。静态浏览页的预处理比较简单,通过解析HTML和重新对信息格式化或运行其他的需求算法就可以实现。动态浏览页比较难处理。内容服务器使用个性化的技术手段比如使用关系数据局来构建浏览页的方法可以获取更多可以被预处理的数据。一个给定的服务器sessions可以访问一个大的动态站点一些浏览页。这里内容可以有规则的进行改变。每个浏览页的内容必须是“汇编的”。不论是从基于HTTP的爬虫程序,或者一组模版,脚本或数据库数据获取的。如果只是浏览页的一部分能被预处理,那分类和聚类可能不准确。
3.1.3
结构预处理
站点的结构通过页面之间的超级链接建立的。站点的结构预处理的方法与内容预处理基本相同。动态内容比静态内容导致更多问题。不同的站点结构可能必须针对每个服务器session进行构建。
3.2
模型发现
模型发现相关的算法有很多包括统计学,数据挖掘,机器学习和模式识别。本文目的不是描述所有算法和技术。有兴趣的读者可以参考[33;24]。这部分描述的是可以应用到web领域的各种挖掘方法。其他领域的方法可以用来对数据抽象和web挖掘服务。比如关联规则,给予市场分析的事物标记法虽然在前面并未被考虑,那时因为识别一个session是非常困难的,需要了解一些其他的知识(比如前面所说的设置超时限制)。
3.2.1
统计分析
统计学是提取知识的最通用的方法。分析session文件时,各种分析法(频率,平均数,中值等)可对浏览页的各种变量进行统计,比如浏览页的浏览时间和浏览路径等。许多web流浪分析工具体能对统计信息诸如频率最大的访问页,一个页面的平均访问时间和一个站点的平均访问长度等给出周期性的报表,但这个报表可能包含最低级的错误,因为他包含一些非法访问和无效的URI。除了知识的深度,统计学在提高系统效率,加强系统安全性,方便网站修改和提供市场决策支持等方面还是很有用的。
3.2.2
关联规则
关联规则可以生成在一个服务器session中最有可能被引用的页面。在web用途挖掘环境中,关联规则可以提供一个浏览页的集合,只要这些浏览页的支持值超过一个给定的阈值。这些页面可能并没有通过超链接与用户浏览页面直接连接在一起。例如用Apriori算法的关联规则发现可以揭示访问电子产品的用户和访问运动设备的用户之间的内在关联。除了应用于商务和市场营销,也可以帮助web设计者对站点进行修改。而且可以当从远程主机加载一个页面时,作为降低用户感知期的一个指导性文件。
3.2.3
聚类
聚类是一种将具有相似特性的项集分组的技术。在web使用领域。有两种有趣的聚类:用户聚类和页聚类。用户聚类是对具有相似浏览模式的用户进行分类。它在某些方面是很有用的,比如通过对用户行为进行推断和统计在电子商务应用中可以有效的对市场进行划分,或者给用户提供个性化的web内容。而页的聚类可以发现有相关内容的页面,可以用在互联网搜索引擎和web关联提供领域。在这两种应用里,都可以根据用户的查询和历史信息,创建静态或动态的页面,为用户提供一些相关超链接的建议。
3.2.4
分类
分类是将一个数据项映射到一个或几个预先定义好的类中。在web领域,可以开发应用到特定用户群体的一个代理服务器。这需要提取最能描述用户类别特性的数据。分类可以通过有导师学习例如决策树分类,普通的Bayesian分类算法, k近邻法,向量支持机等。对服务器日志的分类可以发现某些兴趣规则,比如30%的经常浏览产品、音乐的用户在18-25之间而且住在西海岸。
3.2.5
序列化模式
序列化模型技术试图发现项集的内部关系。比如在一个时间有序的session或episode中一个项集是跟在另一个项集之后的。通过这种方法,web市场人员能预测将来的访问模式,这对特定用户群有目的的放置一些广告是有用的。对序列化模型一些临时性的方法是有效的,比如意图分析,改变点检测或者相似性分析(trend analysis, change point detection, similarity analysis.)。
3.2.6
依赖模式
依赖模式是另一个有益的模式发现的工作。目标是开发一个模型,这个模型可以表示大量web领域的变量之间的的依赖关系。举个例子,可以构建一个模型,它能表示用户再往上商店购买行为的不同阶段(即从一个偶然的访问到潜在的购买行为)。对用户浏览行为进行建模的方式包括Hidden MarkovModels和Bayesian Belief Networks.对web使用模型的建模不仅能提供一个分析用户行为的理论框架,而且可以预测将来的web资源消费。这些信息可以提高web网站的销售额或者为用户提供更便利的导航系统。
3.3
模型分析
模型分析是web挖掘处理过程的最后一步。模型分析的动机是从模型发现阶段发现的规则或模型过滤掉其中不感兴趣的部分。准确的方法学取决于具体的web挖掘的应用。最通用的模型分析应该包括类似SQL的制式查询机制。也有的方法为了能够执行OLAP操作而把使用逐句加载到数据立方体中。可视化技术也是一种方法,比如模型图形化或者为了在所有数据中强调所有的模型而给不同的值设置成不同的颜色。内容和结构信息也可以用来对包含特定使用类型、内容类型或者匹配特定超级链接结构的页面的模型进行过滤。