基于网站日志数据挖掘的用户访问行为模式可视化研究
摘要:在进行互联网用户浏览行为的定量研究中,我们采用数据挖掘的方式对网站日志进行分析,用可视化技术展现日志的有效信息,开发了一个基于网站日志的可视化分析系统。这个分析系统通过用户产生的服务器日志数据自动还原出网站结构,按照页面流量阈值绘制站点地图,并将关键的页面流量数据及其他商业指标进行可视化处理,标注在这张特殊的网站地图上。这个分析系统能够让用户研究员更加实时直观地了解网站用户动态,获得网站重要页面及产品的直观图像甚至健康状态。
关键词:网站日志,数据挖掘,可视化,多维缩放,相关性分析
1. 引言
随着互联网的飞速发展,人们的工作和生活越来越依赖网络,尤其在金融、电子商务等领域里,传统的交易模式已经被快速便捷的网络交易模式所取代。网站用户数量及其访问率随之迅猛膨胀,如何更加快速实时了解用户访问行为模式,帮助改善企业网站的用户体验,成为越来越备受关注的课题。数据挖掘技术和网络信息的可视化为该课题提供了有效的解决途径。
2. 日志数据挖掘
2.1 概述
数据挖掘是从大量的数据中,抽取出潜在的、有价值的知识(模型或规则)的过程。用户在访问网站过程中,服务器会将用户的访问轨迹记录在网络日志中。对这些日志进行分析,研究者将会发现很多有价值的信息。
我们研究小组研究开发了基于网络日志的网站用户行为可视化系统G2G(the Guide to Galaxy)。在该系统中,我们采取的分析过程主要包含数据预处理,数据提取,数据可视化三个部分。本节我们将分别阐述分析过程以及实现原理。
2.2 数据预处理
数据预处理部分包括数据清理和数据补充。
对于访问量较多的大型网站,日志数据往往也会相对庞大。在提取有效信息之前,我们需要过滤掉无效信息,例如出错记录、图像文件请求记录以及公司内部员工由于工作需要产生的访问记录等干扰记录;另外,如果研究目的不是分析研究网络爬虫行为,我们也需要过滤掉这些非人为产生的记录。
对于用户访问的URL,很多研究者更倾向于从宏观角度研究,更关心这是属于哪一种类型的URL。因此,我们需要在每个URL上补充一个类别标记,以便于我们在可视化展示的过程中,研究者很容易看到各类URL的访问情况。
2.3数据提取
每条访问记录里包含如下信息:当前访问URL、来源Refer(用户访问当前页面的前一个来源页面,例:用户从A页面的某个连接进入B页面,则B页面的Refer是A页面;如用户直接在地址栏输入页面B的URL并转向B页面,或直接从收藏夹打开B页面,则B页面的Refer为空)、访问时间、IP地址、CookieID(用来标识用户)、浏览器信息等。这些正是我们需要提取的信息,经过程序处理,我们将把这些信息读取到数据结构里,图1描绘了数据提取在整个分析过程中的作用。
图1 数据提取过程
在图1中,左边柱状图为网站日志,我们截取某个时间段的日志,提取出以上信息,还原为各单独用户的访问序列,形成索引节点,最终在可视化界面上以多种维度显示有价值的信息。
2.4数据可视化
我们的系统分为三个页面,图2是时间步数序列图,图3是URL分布图,图4是行业用户群关系图。
图2 时间序列图
图2纵坐标为时间:0:00-24:00,横坐标为用户访问步长:1步-800步。每个像素代表用户在一分钟内有多少用户访问过,颜色越红表示访问用户越多。例如,当某个用户的访问步长是100步时,则在横坐标为100处,纵坐标为用户访问时间处标注颜色。如果用户在接连不断的访问网站,则在相应位置会出现一条纵线。
图3 URL分布图
图3上的每个圆圈代表网站的一个URL,圆圈大小代表访问量,越大代表访问量越高。颜色代表转换率,越蓝代表转换率越高。基本上,蓝色节点可以看做是起点,橘黄色节点可看做是终点。
URL的排列采取目录结构方式,内圈代表最简单的目录,越往外圈,目录越深。例如,某个URL名称为a/b/c.html,则a作为一个URL在最内圈,a/b在次外圈,a/b/c.html在第三圈。在很多情况中,a和a/b只是纯目录结构,并非实际页面,并没有用户会访问到它们。因此以正方形表示,以此为圆心的空心圆圈大小代表其子节点的总访问量。在上例中,a的空心圆圈的大小就是a/b,a/b/c.html,a/d,a/d.html等等形如“a/*”的页面的访问量之和。
图4 行业用户群关系图
图4展示了不同行业用户群之间的互相发送反馈行为的情况,可以作为行业相关性分析的一个重要参考。图中不同的圆代表不同的行业,圆越大代表该行业的用户群越活跃,圆的颜色越偏向红色说明该行业相对被关注得越多,越偏向蓝色则说明该行业相对被关注得越少。最有价值的信息是不同圆之间的距离,距离越近说明两者之间相关度越高。圆与圆之间的连线表示两个行业之间存在足够的联系。
2.5 实现方法及原理
由于涉及到海量日志信息的处理以及大量节点图形的表现,为了在可视化显示上尽可能地做到高效,我们采用Xlib来实现图形展示。
其中,在绘制URL分布图时,由于有些情况下需要快速绘制上万甚至十几万的节点及连线,此时使用Xlib自带的绘图函数已不能满足需求,于是我们采用了内存缓冲的方式,先用高效的算法在内存缓冲区中画出图形,再缓冲区输出到屏幕上图形显示区域。
另外,由于需要表现的信息维度较多,我们从多种角度表现信息,例如视觉角度的颜色、大小、位置关系等,而用户访问路径等信息则通过交互方式来展现。
行业相关性分析的数据来源于不同行业用户之间的发送反馈的记录,我们将一段时间内(比如24小时)所有反馈记录提取出来,得到任意两个用户群之间的联系方向与次数。
提取的反馈结果虽然包含了所有用户群之间的确切联系,但其所表现的关系是一种不直观的高维关系,我们采用了多维缩放方法,在尽可能保持节点(用户群)之间相对关系的情况下将表格转化成为平面二维图形。
3. 日志分析结果
3.1 交互方式
G2G系统除了可以显示网站结构,访问量,转化率等信息之外,还被加入了丰富的交互功能,允许用户研究员选中或者搜索某个页面(节点),查看当前页面的主要用户来源和流向,并打印出URL列表。
图5 URL分布图
图5中显示了样本时间内访问网站内博客用户的下一步去向,在图的最下方显示最主要的几个来源和去向。
同时它也支持按照session或者cookie对用户的群体行为进行多步回溯,从中发现用户浏览网站或者产品使用上的群体行为。
另外,研究员可以在图1中选中某个区域,点击搜索,在图2中将会只显示选中区域时间段内的日志信息,因此我们可以对某些时间段做针对性分析。
在行业相关性分析的界面,研究员可以点击选中某个节点,此时将显示由这个节点发出的指向其它节点的箭头,这些箭头代表当前选中节点所代表的用户群与其它节点用户群之间的主动联系关系。箭头的长短与相关性强度成反比,箭头越长说明相关性越弱。
现在这个系统可以在普通笔记本上在10分钟内处理1000万访问量级别的日志样本。假设再加上实时的日志数据,或许这个系统也将改变网站产品设计和内容运营的方式,让网站运营成为一个“Real Time Game”。
3.2 用户访问模式发现与分析
在利用G2G查看数据的过程中,我们会发现很多用户访问模式。
有些信息很明显,例如从图2上,我们很容易看出一天24时内,何时是访问高峰期或低谷期,因此可以选择合适的时间做一些更换服务器等维护工作。
我们也可以轻松查看到外站的搜索引擎会把用户引导到哪些页面,从而判断哪种搜索引擎更有效。
图6 用户访问步骤对比图
图6展示了不同搜索引擎所引导的用户在我们网站上的访问路径。研究中发现,左边搜索引擎引导的用户数量偏少,后续访问行为也不强劲,而右边搜索引擎效果相对较好,不仅用户数量多,而且这些用户黏性大,能够在网站上持续访问。
对于本站页面,如果用户没有按照我们引导的路径访问,则可能说明这些页面的用户体验存在问题,我们可以及时发现并做新的尝试。
另外,我们在研究中发现一个有趣的现象,在阿里巴巴十周年时,从淘宝访问阿里巴巴的用户,大部分被引导到阿里巴巴十周年栏目。
研究者如果对数据比较敏感,或者能够从多种角度查找信息,则会发现更多有价值的模式。
3.3 行业相关性分析
不同行业的用户之间互发反馈的行为,也让我们对行业之间的相关性有了量化认识。
来自不同行业的用户群之间存在着许多联系,大部分联系与我们的常识或猜想一致,比如“纺织、皮革”行业与服装行业显示出了高度的相关性。但有时也会发现一些在我们平时的思维中不是那么显而易见的相关性。
另外,除了相关性外,无相关性也是值得关注的信息。比如冶金矿产与家居用品在图中显示出了很弱的相关性,这和我们的常识一致。但有些意外的是,服装和服饰两个行业的相关性也表现得很弱。
通过对行业相关性的分析,我们可以了解不同用户群之间的相关度如何,是否与我们预期的一致,是否有一些我们没有想到的关联,并由此进一步判断用户群的分类是否存在优化的空间,这些信息对于产品陈列相关工作有较大的价值。
3.4 前景展望
在用户研究的过程中,定量研究与定性研究应该是相辅相成的。定性研究对于访谈用户的选择经常会遇到困难,定量研究可以通过数据挖掘,寻找每个行业的活跃用户,或者访问指定路径的用户,定性研究可以有针对性的对这些用户进行访谈分析。同时,定量研究也可以分析这些用户日常在网上的行为轨迹,从而验证访谈结果。
对于指定URL,研究需要了解的不仅仅是上一步下一步的路径,用户是通过哪些路径到达此处,又会转往何处,这一系列的路径更有研究意义,所以需要提取经过指定URL的最健壮的几条路径,从而达到给用户分类的目的。
在网站中,特定用户群体的行为也会备受关注。例如诚信通会员,使用特定浏览器的会员,是否有过网上交易行为的会员,他们的访问行为如何?是否按照我们预期的路径访问?定量研究可以通过在预处理时增加关联数据的方法,挖掘出这些会员的访问路径。
另外,从网站设计者的角度来看,对于设计者预想的流程,有多少用户会买账,在哪个节点被卡住,是非常重要的信息。我们可以通过选定多个URL,列举访问这些URL的用户人次的方法实现。
对于每次比较重要的分析结果,我们可以保存到数据库中,并以图表的形式呈现变化趋势。尤其是改版前后,重要数据的变化趋势可以告诉我们用户对新版本的接受程度。
4. 结束语
在改善用户体验领域,国内外在定量方面的研究还相对较少,而网站用户的行为轨迹对网站来说是一笔很巨大的财富,如果能够充分利用这些信息,将对网站的发展意义重大,我们期待更多研究者参与网站用户行为的可视化研究领域。
参考文献
[1] C. Shahabi,AM zarkesh,J. Adibi,V. Shah, Knowledge Discovery from Users Web―page NaVigation Proceedings of the 7th International Wbrkshop on Research Issues in Data Engineering (RIDE’97)High Performance Database Management fbr Large―Scale ApplicatiOns,pp.20,April 07. 08,1997.
[2] J. SriVastaVa, R. Cooley, M. Deshpande,P. N. T. an. Web Usage Mining: Discovery and Applications of Usage Patterns ffom Web Data. SIGKDD Exploration,January 2000,pp: 12―23.
[3] 毛国君. 数据挖掘原理与算法. 清华大学出版社
[4] Keim D.A. , Information virsualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics, 2002, 8(1),pp: 1―8
[5] Card S.K., Mackinlay J.D., Shneiderman B., Readings in Information Visualization: Using Vision to Think. New York: Academic Press/Morgan Kaufmann, 1999.
建议继续学习:
- server日志的路径分析 (阅读:10111)
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (阅读:8860)
- 利用脚本分析日志并利用snmp自定义OID,再通过cacti画图 (阅读:8686)
- tomcat catalina.out日志切割每天生成一个文件 (阅读:8087)
- 分布式日志系统scribe使用手记 (阅读:8043)
- AWStats是一个基于Perl的WEB日志分析工具。 (阅读:6109)
- 使用nginx记日志 (阅读:5078)
- 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (阅读:4873)
- 在 shell 脚本里打日志 (阅读:4784)
- Sentry: 错误日志集中管理 (阅读:4356)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:xuelian.wangxl 来源: 阿里巴巴UED
- 标签: 日志 行为
- 发布时间:2009-12-22 14:20:03
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [27] 视觉调整-设计师 vs. 逻辑