一种多粒度Web使用数据收集方法
赵洁1,2, 董振宁1, 张沙清1, 肖南峰2
1广东工业大学管理学院 广州 510520
2华南理工大学计算机科学与工程学院 广州 510641
摘要

提出一种多粒度的用户行为数据收集方法,该方法以可配置的插件形式嵌入服务器端收集数据。实验证明,该方法能提高Web使用挖掘的数据质量,简化Web使用挖掘预处理工作,并为后续挖掘工作提供多种粒度的信息,从而为分析Web用户的行为提供优质数据源。

关键词: Web使用挖掘; 数据收集; 多粒度
中图分类号:TP393
A Collection Method for Multi-granularity Web Usage Data
Zhao Jie1,2, Dong Zhenning1, Zhang Shaqing1, Xiao Nanfeng2
1School of Management, Guangdong University of Technology, Guangzhou 510520, China
2School of Computer Science & Engineering, South China University of Technology, Guangzhou 510641, China
Abstract

This paper proposes a new multi-granularity collection method for user behavior data which collects data through configurable server plug-in. The experiment results prove that the method can enhance quantity of Web usage mining data, simplify data cleaning and give multi-granularity information for the following mining,and provide high quality data for Web user behavior analysis.

Keyword: Web usage mining; Data collection; Multi-granularity
1 引 言

近年来,Web使用挖掘的研究已经取得很多进展,但是挑战仍然存在[ 1, 2, 3]。大部分研究关注模式分析、挖掘算法,也有不少学者认识到预处理的重要性,并对之进行了大量研究,从而提高后续分析的质量和正确性。但就目前研究情况看,任何方法和措施都无法还原真实的用户访问纪录,只能采用一些启发式的方法和手段来对访问数据进行分析,低成本、移植性好的数据收集方法较少[ 4, 5, 6]。Cooley等[ 3]认为源数据质量是一个重要的研究方向,包括数据收集的技术、数据集成和数据归类等。可以预见,如果能定制所收集的数据,则可从源头开始控制数据的质量,为后续的研究打好基础,大大提高模式分析的正确度和可信度。

相对Web使用挖掘其他方面,对数据收集方法的研究较少,尤其是国内研究很少,而那些众所周知的较优数据收集方法难度大、成本高,难以实施。通过对现有数据收集方法研究,本文提出一种新的多粒度用户行为数据收集方法,该方法以插件实现,能与现有网站无缝结合,移植性好,成本较低,对原系统的影响小,适用面广,所收集的数据对比Web服务器自动产生的日志,具有垃圾数据少、扩展性好、面向应用和可定制等特点。

2 Web使用数据收集方法研究概述
2.1 Web使用源数据分析

Web日志在Web使用挖掘中最为常见,其最大优点是成本低、方便,而缺点也非常明显。因此,在使用挖掘中如何使用除日志以外更多的数据源,是研究的热点之一。文献[3]提出使用Web日志、引用日志、注册文件、索引服务器日志、文档等的复合数据源进行Web使用挖掘。文献[7]提出综合使用访问日志、错误日志和引用日志。Tao等[ 8]提出记录所有网页上发生的事件,如“退后”、“回到主页”、“打印”、“关闭窗口”等,通过这些数据来统计用户最频繁的操作,然后把这些用户意向数据应用到电子商务中来验证其有效性[ 9]

2.2 源数据收集方法分析

常见的收集地点有浏览器、网络层(TCP/IP)、HTTP代理服务器、Web服务器和应用服务器,产生4类原始数据:应用交互数据、HTTP协议数据、TCP/IP协议数据和浏览器交互数据。不同的收集技术各有优缺点,如客户端收集具有众多优点,但局限很大[ 4, 10, 11]

2.3 综合数据源分析

Web日志无法很好地满足研究需要,很多学者把目标转向其他的数据源或者多种复合数据。

文献[12]提出通过Web使用日志和网页内容进行综合挖掘。网页的文字内容利用n元字符模型进行抽取,通过Web服务器日志和网页内容的结合来产生用户导航简档。基于此进行分类和预测。实验证明,这种复合数据比单使用Web日志的准确度要高出20%。文献[13]提出把Web日志和缓存结合起来挖掘。文献[14]使用三种不同类型的数据源综合挖掘,对三种数据进行统一描述,包括服务器中的访问日志、超文本和超文本结构/超链接图。文献[15]通过Web结构挖掘和使用挖掘,提出一种方法来收集含义更丰富的使用数据,从而对网站的超链接层次结构进行挖掘,来发现项-项的共现模式。

3 一种多粒度用户行为数据收集方法

上述文献提出各种各样的方法来收集含义更为丰富的使用数据,这说明在Web使用挖掘中引入更多的数据源,数据源中增加更多粒度的数据能对用户的行为、意图分析提供更多且有效的支持。

Web服务器日志详细地记录每次通信的信息,而这种廉价的数据不完全可靠,需要繁琐的数据预处理工作[ 4, 5]。同时,日志中的信息粒度是页面级别,而页面上更细粒度的信息,如点击按钮和下拉框、搜索等相关行为没有被记录,而这些粒度更细的数据描述了用户内在的行为,能给模式挖掘提供更细致的信息。本研究将探索一种新方法来收集上述多粒度的用户行为数据,从而提高数据质量,简化预处理工作,并提供多种粒度的信息。

3.1 多粒度用户行为数据的分析

(1)定义及分析

文献[8]提出一种“Intentional Browsing Data”Web用户综合数据源,但并未给出与电子商务平台集成的可行实现方法。参考文献[8],本文给出多粒度用户行为数据(Multi-granularity User Behavior Data, MUBD)是用户进行Web浏览行为时所产生的多种数据,涵义比Web日志更为丰富,这些数据具有多种粒度,数据的粒度与网站结构和内容有关。用户行为是有目的的或者是潜意识的,如B2B电子商务中,用户带有明确购买目的的商品搜索;或者在特色产品、重要广告、热销商品等页面的信息中进行查询、浏览等行为,这些数据是有粒度的,不同粒度的数据在不同程度上反映了用户行为的目的和潜在意向。收集这些信息加上Web日志的分析,对于网站和营销策略的改进有重要作用。

MUBD与日志文件数据有所不同:

①Web服务器日志文件格式是预先设定好的,很多研究对此进行了详细分析,此处不再重复。而MUBD包含许多日志所不具有的信息,如“退出”、“修改”、“查找”、“统计”等行为信息。这些信息的收集,通常是越多越好。因为初期分析目的可能不确定,而越多的数据可以满足后续越多方向的分析。如果具有明确目的,则可以对信息进行定制。

②MUBD具有多种粒度。在Web服务器日志中,数据仅有基于页面一种粒度,只能通过页面名来分析相关的内容、操作。而MUBD中具有多种粒度的数据,包括基于内容划分的模块、页面、控件级别的行为等。

③MUBD具有上下文。文献[8]提出记录“复制”、“打印”等用户意向行为。但是脱离了上下文,这些行为的记录就会变成简单的计数器,实际意义不大。上下文是指通过模块、页面等其他信息,获取相关行为的内容语意,如“搜索螺母”等。

④Web服务器日志中没有用户标志,只能通过启发规则识别。而MUBD可以明确区分登录用户与匿名用户。

(2)分类

面向电子商务网站,MUBD可以根据内容进行分类,如图1所示:

①用户行为基础信息,通常是网站要求用户输入的注册信息及用户简档。但是出于隐私等多种原因,用户输入的信息不精确、不完备,在相关信息变化时,用户也可能不会主动更新简档。

②用户的商业行为信息,主要是用户的历史购买记录、用户的购物车信息、商品收藏信息等。

③用户的意向行为数据(User Intentional Behavoior Data, UIBD)[ 8],体现用户行为的显式或隐含模式。显式指如用户具有明确的购买目标,在网站中进行的收集信息、查看、搜索等行为,相关日志信息加上商业行为数据,将可以分析用户的商业行为;隐式是指不像前一类用户那样具有明确目的,对这类用户的数据分析,可以挖掘其潜在意图,发展其成为真正的客户。

3.2 数据收集机制分析

通过对源数据收集方法分析和综合考虑,本文在服务器端收集MUDB,如图 2所示。

图2 MUBD收集机制[ 9]

图2中,(a)是默认的服务器日志部分,此处不做改动。(b)是对Web服务器的扩展,该部分对传统的Web服务器日志进行扩展,属性可以根据用户需要进行定制,该部分是(c)的基础。(c)面向具体的应用,对Web服务器进行扩展,收集各种用户行为数据,后续可以进行面向具体应用的用户行为分析。(d) MUBD指通过上述机制收集到的多种用户行为数据。其中Web Log 和UIBD Log既有相似之处,也有区别。MUBD中的很多数据与商业相关,为了与传统日志进行对比,下面主要针对UIBD进行分析,对一些关键问题进行讨论[ 8]

(1)数据粒度

传统Web日志中的粒度是页面级别,UIBD具有多种粒度。粒度越大,实现越容易,对用户行为的描述越粗;粒度越小,实现难度越大,但对用户行为的描述越细。对于不同的Web服务器扩展功能,所需要的数据粒度也不相同。基于可移植性、实现复杂度的考虑,最大粒度为网站内容相关的“模块”级,最小粒度为页面内的“控件”级。

(2)数据收集方式

目前,有些系统也可在网站系统运行过程中形成用户行为日志,具体作法是在页面的各种控件中加入记录这些行为的代码,当用户行为触发相关代码,从而形成数据库中的记录。这种方法的优点是实现简单、成本较低。但是缺点也很明显,该方法是一种分散的收集机制,代码散布在整个网站,难以统一管理,无法移植,扩展性很差。本文提出的数据收集机制是一种集中式的机制,以插件的形式嵌入Web服务器,形成控制中心,对用户的各种请求进行收集,然后分发到各种处理器中。

(3)与现有系统的融合

数据收集形成一个相对独立的模块,需要建立一个结合点来与现有网站融合。UIBD是对传统Web使用数据的扩展,并非简单的机械记录,而是与网站业务相关。在传统日志中,仅记录用户的IP,其他身份识别信息几乎没有。在UIBD中,增加了用户的分身识别信息,对登录用户赋予唯一的标志,该标志由网站用户拥有。通过这个结合点,数据收集模块就与网站实际业务绑定起来。

(4)数据冗余

网站本身拥有面向业务功能的数据库,对服务器功能的扩展,其中可涉及对业务数据分类、统计等,作为扩展功能的基础数据,由于数据量巨大,所需计算时间较长。在收集机制的数据库设计中,允许部分数据冗余,以提高性能。

(5)数据收集机制设计与实现

数据收集方法的重点在于如何建立集中式的收集机制。以IIS服务器为实验平台,将在服务器内对用户请求进行拦截。通过深入分析ASP.NET处理用户请求的流程,将在HttpModule对象的AcquireRequestState事件触发时进行捕捉,如图3所示:

图3 ASP.NET处理用户请求的流程

UIBD Log的数据库模式部分属性,如表1所示:

表1 UIBD Log的数据库模式部分属性

表1中,UserUnid是用户表的主键,在此作为外键,建立多个表间关系,全面跟踪登录用户的行为。匿名用户将统一标志为00000000-0000-0000-0000-000000000000。实际使用中,许多用户使用网站时不登录,此时他们的行为都作为匿名用户记录下来。而当用户发生购买或者因其他原因登录网站时,将使用唯一标志。由于是商业用户,该标志长期不改变。电子商务中,购买可以认为是用户最重要的行为,在UIBD中,购买行为都以“实名”被记录下来,这些数据将为后续分析提供基础。

RawUrl、FilePath、ItemName 记录用户访问的精确信息。这些信息记录用户使用了哪些模块,粒度可细化至页面按钮级,为各种分析和统计提供全面信息。

3.3 UIBD日志特点

(1)对W3C日志的良好补充和扩展

MUBD中的UIBD Log遵循W3C的Web日志格式,是对W3C日志的良好补充和扩展,这些数据容易为分析传统日志的系统所利用。该日志可扩展、可定制,具有很高的实用价值。

(2)大大简化数据预处理工作

传统日志中,记录了大量的图片、多媒体文件信息,而这些信息绝大部分并非用户主动访问,在UIBD Log中,这些信息将不被记录。同时,UIBD与原业务数据相关联。借助原有的用户信息,可以明确区分登录用户与匿名用户,大大提高用户识别的准确度。可见,UIBD实际是已经过初步过滤的数据,而非事无巨细的机械记录,数据的粗糙性、模糊性大大降低,相比传统日志,预处理工作大大简化。

(3)具有很强的应用价值

该数据收集方法灵活性大,可移植性强,只需要增加部分基础信息,就可以插件形式与现有系统无缝结合,对原有系统影响很小。方法的可扩展性好,在基础功能上,能根据实际需要进行各种功能扩展,具有很强的应用价值。

4 实验及分析

本文提出的数据收集方法已在.NET 2005和SQL Server 2005上实现,并嵌入到广东省某年产值高达10亿的大型金属公司的B2B电子商务网站中,运作良好,已经基于该方法,实现了用户的行为权限管理模块和信任管理模块[ 16, 17],并在不断完善、扩展和优化。本文使用的两种数据源:UIBD和传统的Web日志,均来自该B2B电子商务网站。Web日志是2009年1月至6月的数据,由于隐私和商业秘密,UIBD目前只获得2009年3月至5月的部分数据。如果能结合图2中的用户其他行为数据进行分析,能带来更好的分析效果。而现实中,由于商业隐私等问题,这些数据很可能只能在机构内部才能获取和使用。

实验采用5天同期的UIBD和传统的Web日志(均来自该大型金属公司的电子商务网站)与处理后的数据对比,如表2所示:

表2 不同日志数据对比

可见,UIBD日志中的数据仅为Web日志的15.53%,而经过清洗之后的数据量相当。说明UIBD日志已经过滤了大部分的无用信息。清洗后减少的记录,估计是Web Robot留下的信息。可见UIBD的清洗工作已经大大简化。两种数据中记录的页面均为37个,用户数基本一致。UIBD日志中有49个精确识别出来的用户,占总数的9.8%,可见用户识别的准确度比Web日志要高。最大浏览时间和最小浏览时间基本一致。

5 结 论

本文提出一种多粒度的用户行为数据收集方法,在实际应用中,运作良好。该数据收集方法,可以得到经过扩展、初步过滤的数据,基本可免除数据清洗工作,对于登录用户可以进行100%的正确识别,用户识别的正确率得到大幅度提升。且该方法成本较低,安全性能良好,不泄露用户的隐私信息,可移植性强,能与现有的Web系统无缝结合,对原系统的影响几乎为零。同时具有良好的扩展性,可根据实际需要开发相应的功能模块,为后续的模式分析提供优质源数据,是Web使用挖掘研究的一个良好补充。

下一步工作将在UIBD中加入SessionID,理论上可以将会话识别的准确度大大提高,其真实效用需要进一步研究与实验。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] Srivastava J, Cooley R, Deshpand e M, et al. Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data[J]. SIGKDD Explorations, 2000, 1(2): 12-23. [本文引用:1]
[2] Barth M, Skubacz M, Stolz C. Web Performance Indicator by Implicit User Feedback - Application and Formal Approach[C]. In: Proceedings of the 6th International Conference on Web Information Systems Engineering, Web Information Systems Engineering - WISE 2005. Berlin: Springer, 2005: 689-700. [本文引用:1]
[3] Cooley R, Mobasher B, Srivastava J. Data Preparation for Mining World Wide Web Browsing Patterns[J]. Journal of Knowledge and Information Systems, 1999, 1(1): 5-32. [本文引用:2]
[4] 阮备军. Web使用挖掘中若干关键问题研究[D]. 上海: 复旦大学, 2004. [本文引用:3]
[5] 刘立军, 周军, 梅红岩. Web使用挖掘的数据预处理[J]. 计算机科学, 2007, 34(5): 200-201, 204. [本文引用:2]
[6] 邢东山, 沈钧毅. Web使用挖掘的数据采集[J]. 计算机工程, 2002, 28(1): 39-41. [本文引用:1]
[7] Araya S, Silva M, Weber R. A Methodology for Web Usage Mining and Its Application to Target Group Identification[J]. Fuzzy Sets and Systems, 2004, 148(1): 139-152. [本文引用:1] [JCR: 1.749]
[8] Tao Y H, Hong T P, Su Y M. Web Usage Mining with Intentional Browsing Data[J]. Expert Systems with Applications: An International Journal, 2008, 34(3): 1893-1904. [本文引用:3]
[9] Tao Y H, Hong T P, Lin W H. A Practical Extension of Web Usage Mining with Intentional Browsing Data Toward Usage[J]. Expert Systems with Applications: An International Journal, 2009, 36(2): 3937-3945. [本文引用:1]
[10] Kim H K, Lee R Y. Frameworks for Web Usage Mining[A]. //Studies in Computational Intelligence[M]. Berlin, Heidelberg: Springer, 2009: 121-134. [本文引用:1]
[11] 郭岩, 白硕, 于满泉. Web使用信息挖掘综述[J]. 计算机科学, 2005, 32(1): 1-7. [本文引用:1]
[12] Liu H B, Kešelj V. Combined Mining of Web Server Logs and Web Contents for Classifying User Navigation Patterns and Predicting Users’ Future Requests[J]. Data & Knowledge Engineering, 2007, 61(2): 304-330. [本文引用:1] [CJCR: 0.2193]
[13] Wang X, Li B W. Intelligent Knowledge Recommendation System Based on Web Log and Cache Data[J]. Lecture Notes in Computer Science, 2006, 4181: 48-56. [本文引用:1] [JCR: 0.402]
[14] Inuzuka N, Hayakawa J I. A Unified Approach to Web Usage Mining Based on Frequent Sequence Mining[C]. In: Proceedings of KES’07 Knowledge-Based Intelligent Information and Engineering Systems and the XVII Italian Workshop on Neural Networks. Heidelberg, Berlin: Springer-Verlag, 2007: 987-994. [本文引用:1]
[15] Perugini S, Ramakrishnan N. Mining Web Functional Dependencies for Flexible Information Access[J]. Journal of the American Society for Information Science and Technology, 2007, 58(12): 1805-1819. [本文引用:1] [JCR: 2.005]
[16] 赵洁, 肖南峰, 钟军锐. 基于贝叶斯网络和行为日志挖掘的行为信任控制[J]. 华南理工大学学报: 自然科学版, 2009, 37(5): 94-100. [本文引用:1]
[17] 赵洁, 肖南峰, 钟军锐. Web使用挖掘在信任管理中的应用[J]. 计算机工程, 2009, 35(24): 33-35, 38. [本文引用:1]