基于web日志挖掘的用户兴趣度分析

基于web日志挖掘的用户兴趣度分析

摘  要:对用户访问兴趣的分析在当今信息时代越来越显重要,如何对分析用户访问兴趣度是web日志挖掘中的一个非常重要的研究课题。概述了web日志挖掘的过程和在日志挖掘各个阶段进行分析了解用户对访问页面的兴趣度。

关键词:web日志挖掘;用户行为;兴趣度

    一、引言

    随着互联网的快速发展,海量信息充斥在我们的周围,在这些信息中必然有很多对我们而言是没用的,作为人们获取信息的一个重要途径web服务器得到广泛应用,客户访问站点时可能是从不同的地方进行的,与用户直接交流了解其兴趣是不能的,所以就要求我们能够根据web服务器自动保存下来的用户访问的日志,挖掘发现用户访问的web界面浏览模式,从而进一步分析和研究这些日志中隐含的规律,以期改进web站点的性能和组织结构,给用户浏览提供更方便的服务,即从大量的web资源中发现隐含的、未知的、对决策有价值的知识和信息中搜寻出有价值的线索,揭示出用户对访问页面的兴趣度,从而改进系统和网站的结构,为用户提供个性化服务。

    通过对web日志挖掘,能充分探究到用户访问web行为,是因为web日志具有以下特点:1)web日志记录了大量的用户访问信息,并且随着时间和用户访问的增加,改数据库里的数据也在不断增多。2)web日志包含大量有用的信息,对于网站设计者抓住用户吸引更多用户有重要作用。3)web日志是一种数据化结构,比较便于处理。基于以上这些特点,我们对它进行挖掘可以发现用户访问站点行为的特点,揭示出用户对页面的兴趣度。

    2.Web日志挖掘的过程

    Web日志挖掘的过程大体分为数据预处理、模式发现和模式分析三个阶段。

    二、预处理阶段

    数据预处理是web日志挖掘中关键技术之一。数据预处理是在将原始web日志文件转化为合适进行数据挖掘的可靠的精确数据格式。预处理的结果是客户会话集合,包含了访问web的客户、请求页面序列、访问时间等信息。这个过程主要包括四个阶段:数据清洗、识别用户、识别用户会话和路径补充。数据预处理过程是保证web日志挖掘质量的关键。

    如曲奇日志,cookie是由web服务器产生的用于自动标记和跟踪站点的访问者的记号,cookie由客户端持有,服务器方可采用cookie方式跟踪单个客户。[1]

    (1)数据清理

    数据清理是指删除web日志中与挖掘对象不相关的数据,包括删除或合并某些记录,处理客户请求页面发生错误的记录等内容。按照不同的挖掘目的定义不同的规则库来帮助删除记录。通常web日志中与数据挖掘相关的一般有用户IP地址、用户ID、请求的URL、访问时间及日期等信息,与挖掘无关的可以忽略删除。我们的挖掘目的是找出用户感兴趣的方面并总结成用户感兴趣的访问模式,可以把日志文件中文件后缀为gif、jpg等与用户兴趣无关的记录删除,还有要删除一些脚本文件,但对于主要包含图形音频及视频的站点,这些可能是用户搜索改站点的目的网页承载着用户的需求应给予保留不能做简单的删除处理。[2]删除无关的信息,减少对无用信息的识别,可以提高在用户识别及后面的过程中对信息的提取的速度,提高前期数据挖掘速度和效率,减少不必要时间的开支。

    (2)用户识别

    用户是指通过浏览器访问一个或多个站点的个体。用户识别是从数据清理过程得到的数据中识别每一个用户。考虑本地缓存、服务器和防火墙的存在等因素,本文采用日志和站点结合的方法,简化用户的识别:(1)如果客户的IP地址不同,则认为是不同的客户;(2)如果IP地址相同但浏览器版本或操作系统不同,则认为是不同的客户;(3)如果客户所请求的页面和以前访问的所有页面不存在直接超链接关系,则认为具有相同的IP地址的客户是不同的客户。[3]

    (3)识别用户会话

    用户会话是指客户对服务器的一次有效访问,是客户在一段时间内访问的一组连续的页面访问的序列。一个会话就是用户从进入该站点到离开站点的一系列浏览请求,单个客户在web页面上浏览的点击流,通过点击流,可以获得该用户在网站中的访问行为,并可以通过分析这些行为得出用户访问兴趣。

    (4)事务识别

    事务识别就是对用户会话进行语义分组。在本文中把用户真正感兴趣的页面序列成为事务。这样做的原因,是因为如果单纯考虑页面是内容页还是索引页,仅仅依据网页的属性,并不能代表该页面就是用户感兴趣的页面。去掉了索引网页和用户不感兴趣的页面,排除了可能是误点击进入的可能性,有效的提高了准确性。通过对事务定义和事务识别去掉了这些对用户兴趣度分析没有意义的内容大大提高了web挖掘速度。

    (5)路径补充

    由于存在着客户端缓存,浏览器也有一个后退功能,用户在使用时可能会需要后退到之前浏览的界面就可能用到后退功能,因此需要根据用户访问路径的前后页面进行推理,将用户访问路径补充完整。通过这种方法将遗漏的页面请求添加到用户的会话文件中,使得用户的请求变得更加完整,这样更有利于对用户兴趣度进行更准确的分析。

    经过对web日志的预处理,形成相应的事务集,就可以对这些信息进行挖掘,找出内部的联系和前后顺序的特点。从而能够得到web用户的在过去浏览的规律和模式,以及用户对某些页面的兴趣度,并且能够延伸出用户接下来的可能浏览网页或站点。预处理这些过程为接下来的模式发现和模式分析提供了基础。

    2.2 模式发现

    运用各种算法对预处理后的数据进行数据挖掘,从web日志数据集中挖掘出有意义的、创新的、隐含的及用户可能感兴趣的信息和知识。通过web日志挖掘的模式发现,可以挖掘出用户访问页面的特征及规律等知识,即用户访问模式。它们反映了用户访问web站点的兴趣、行为。对web日志挖掘模式发现的研究主要是针对不同挖掘任务研究各种模式发现算法。如最大向前序列法,根据用户的折返特性,形成了若干浏览子序列;参考长度法,根据用户在网页的停留时间,形成若干个浏览子序列;序列模式挖掘算法来发现web日志的用户访问行为,得到有意义的用户访问行为等。#p#分页标题#e#

    用户的访问兴趣必定能够通过他的行为表现出来,通过分析用户的行为,就可以判断出用户的兴趣所在,推断出用户在某一段时间内的浏览兴趣。通过采用序列模式挖掘算法类Apriori算法[4]对用户访问进行分析,就是挖掘频繁遍历路径,获取用户行为中有意义的用户访问模式。其过程为:首先,把原始浏览路径序列转换成浏览子序列集合,每个子序列表示从用户访问起始点开始的最大向前引用,这个过程删除了由于访问失败或者未找到用户所需信息造成的向后引用;然后产生大引用序列,也就是在全部浏览过程中出现次数超过给定阈值的序列;最后,确定频繁遍历路径,即为不包含在其他任何最大引用序列中的大引用序列[5]。这个路径对应于web访问用户的一条频繁出现的浏览路径,得到有意义的用户访问模式。

    仅仅从用户的访问模式就对用户对页面的兴趣度进行判断还是不够的,有的页面可能是用户不小心误点击进入的,这些并不能体现出用户的兴趣,而且这种行为是经常发生的不容易从用户的行为和访问模式中分离出来,所以还应该结合用户在所进入页面的停留时间方面进行分析,全面研究用户的兴趣度分析。

    通过网站访问矩阵的浏览偏爱路径挖掘算法[6],可以获得有关用户在页面停留时间及兴趣度等信息。算法的基本思想是:利用访问频度矩阵和浏览时间矩阵,得到基于访问频度和浏览时间的矩阵V;对于最后得到的矩阵V,设置支持-偏爱度阈值;逐行扫描矩阵,选择支持-偏爱度大于等于阈值的记录,放到偏爱子路径的2项集中;合并偏爱子路径,得到浏览偏爱路径的集合。对于合并偏爱子路径采取逐步合并法,在相同长度的路径之间进行,每次合并路径长度增1,直到不能再合并为止。把一定长度的路径放在一个项集中,每个项集中不能合并的路径就是偏爱路径。