分享

WEB日志数据预处理算法研究与实现 - 论文 - 小柯论文网

 风自向前 2010-08-03
WEB日志数据预处理算法研究与实现是小柯论文网通过网络搜集,并由本站工作人员整理后发布的,WEB日志数据预处理算法研究与实现是篇质量较高的学术论文,供本站访问者学习和学术交流参考之用,不可用于其他商业目的,WEB日志数据预处理算法研究与实现的论文版权归原作者所有,因网络整理,有些文章作者不详,敬请谅解,如需转摘,请注明出处小柯论文网,如果此论文无法满足您的论文要求,您可以申请本站帮您代写论文,以下是正文。
  [摘 要] Web日志挖掘是Web数据挖掘研究领域中一个最重要的应用方面。而数据预处理在Web日志挖掘过程中起着至关重要的作用。文中深入探讨了数据预处理各环节的主要任务,提出了一种数据预处理算法,并实现。实验结果表明,本算法能很好的分割服务器日志为单独的用户和用户会话模式。
  [关键词] Web日志挖掘 数据预处理 算法
  
  一、引言
  在Web数据挖掘中,最重要的应用是Web日志挖掘,即通过挖掘服务器的日志文件,得出用户的访问模式,从而可以进一步分析和研究日志记录的规律,来改进网站的组织结构及其性能,构造自适应网站;还可以通过统计和关联分析,增加个性化服务,发现潜在的用户群体,这在电子商务等领域是很有市场的。
  Web日志挖掘主要分为三个步骤:
  1.数据预处理
  根据挖掘的目的,对原始Web日志文件中的数据进行提取、分解、合并,最后转化为适合进行数据挖掘的数据格式,并保存。
  2.模式识别
  运用各种算法对处理后的数据进行挖掘,生成模式。
  3.模式分析
  进行用户访问模式的分析,从而将有价值的模式提取出来的过程。
  其中,数据预处理这个环节是整个过程的基础和实施有效挖掘算法的前提。本文深入探讨了数据预处理各环节的主要任务,并提出了新的数据预处理算法,实现之。
  二、Web日志预处理过程
  Web服务器日志中的内容非常丰富,而且用户访问和服务器资源不是一对一的关系,比如,服务器端日志可能记载了一个用户可以在多个客户端提交请求,多个用户也可以在一个客户端提交请求。因此,在实施数据挖掘之前,首先必须对Web log 文件进行数据清洗、用户识别、会话识别、页面过滤、路径补充等一系列的工作。
  1.数据清洗
  是指删除Web日志中与数据挖掘不相关的冗余项,同时将有用的Web日志记录信息转换为适当的数据格式。
  2.用户识别
  是指从日志中的每一条记录中识别出相应的用户。
  3.会话识别
  就是将用户的访问记录划分成单个的会话,不同用户访问的页面属于不同的会话。
  4.路径补充
  根据引用日志和网络拓扑结构提供的信息对用户访问路径进行完善,推断出用户从访问缓存中访问的页面信息。
  三、数据预处理算法实现
  1.概念定义
  进行操作的数据源是服务器端的日志文件。现将服务器日志中的每一个记录用一组数学符号来表示如下:
  定义1:服务器日志中的一个页面视图L可用如下的符号定义:
  L=[A∶V]
  V=
  A={a1,a2,…,ak}
  每一个页面视图包括一个页面的定义vi(通常为这个页面Url),参考页面文件ri(通常为这个页面的Referer),访问时间ti(通常为这个页面的Data或叫Time),至于{d1,d2,……,dm}则为客户端向服务器通过表单发送的数据项及值对。
  定义2:日志中的记录经过预处理过以后,所形成的单个用户对单个站点的一次访问的数据定义如下:
  设L是服务器日志文件中记录的集合,其中的每一个记录L均适合上面定义的记录的格式,这里L∈L。每一个L包括客户端IP地址L.IP,客户端浏览器L.agent,客户端访问的页面的Url为L.url,访问页面时间L.time 等。则用户的一次会话或叫事务t为下式:
  t=
  这里满足:1≤k≤m,ltk∈L,ltk.ip=ipt,ltk.agent=agentt
  2.具体的算法实现
  (1)数据清理,简单的就是检查每一个日志记录L的Url的扩展名,消除扩展名为gif,jpg,jpeg的日志记录就可以了。
  (2)首先将原日志文件划分成相同的IP和Agent的用户访问的序列集的形式,集合中的每一个序列形如Hi={f1,f2,…,fn},每一个Hi执行算法(3)。
  (3)将相同的IP和Agent的用户访问序列划分成用户的一次访问序列。
  ①主程序
  输入:经过清洗过的日志记录L。
  输出:用户会话文件
  对于每一个Hi={f1,fn,……fn}是一个时间序列的日志记录集,其中lj,fj,rj,tj分别定义日志记录的页面视图,Url,Referer,访问时间Time。
  定义T为一个时间戳:
  for each unique IP/Agent Pair do
  for each lj do
  if((tj-tj-1)>T)∨rj∈Hthen
  f Timeout()then
  i++;
  Add lj to Hi
  else
  assign=Distance(H,rj)
  add rj to Hassign // Hassign是包含rj页面视图的序列集中,rj距离最短的那个序列集
  end.
  ②Timeout()函数
  此函数完成的主要功能是测试包含lj的请求页的rj页,在Hi中是否已经过时了,也就是是否已经大于T。如果大于T返回真,否则返回假。
  value=true;
  For each Hi∈H do
  If lj∈H
  If(tj-tj-1)∈T
  value=false
  end
  return value
  ③Distance(H,rj)函数
  Distance(H,rj)函数主要是计算页面的距离函数,当一个日志记录视图的参考页面rj为不同的Hi所包含时,确定该页面文件是属于那一个序列集。
  对于每一个Hi={f1,f2,…,fn}是一个时间序列的日志纪录集,设f是一个日志记录文件:
  set min=∞ // 设置页面距离;
  for each Hi H do
  if rj Hi
  di=Hi.size()-Hi.index(),//计算页面距离;Hi.size()序列集的总页数Hi.index()该请求页在序列集中的位置;
  ti=hi.tn-Hi.tj
  if(di  assign=i
  min=di
  else
  if(di=min)
  if(ti=tassign)
  assign=i
  tin=tj
  return assign
  end
  四、实验结果
  本文引用南京工业大学网络中心的2005年5月24日的日志文件542条日志记录作为实验数据,其实验结果如下:
  1.日志数据
  #Fields:date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent)sc-status sc-substatus sc-win32-status
  2005~05~24 00:19:13 202.119.248.87 GET/styles/default.css-80-218.13.136.59 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+Poco+0.31;+TencentTraveler+) 200 0 0
  ……….
  2005~05~24 23:54:12 202.119.248.87 GET/images/weather/0.gif-80-218.58.78.114 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Maxthon) 200 0 0
  2.运行结果
  经过数据预处理,共有77个不同的IP用户,共包括111段会话。实验证明,此算法效果良好。
  3.运行界面剪切如下:
  五、结论
  由于日志文件不同于传统的数据库文件,所以其预处理方法也有明显的差别。本文深入讨论了对Web日志文件进行数据清洗、用户识别、用户会话识别、路径补充等预处理方法,并实现。实验结果表明,本算法能很好的分割服务器日志为单独的用户和用户会话模式。
  
  参考文献:
  [1]KamdafT JoshiA:On Creating Adaptive Web Servers Using Weblog Mining [EB/OL].http//:/citeseer.nj./kamdar00creating.html.2002
  [2]Bucbber AG,Anandss,MulvennaMD,et al.Discovering Internet Marketing Intelligence Through Weblog Mining [EB/OL].http://citeseer.nj./244461.html,1998
  [3]张健沛 刘建东 杨 静:基于Web的日志挖掘数据预处理方法的研究[J].计算机工程与应用,2003(10):191~193

该文章转自《小柯论文网》网址:www.
原文地址:http://www./lunwen23/10292.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多