姚 建 馬世軍 喬 文
[摘要]Web日志挖掘技術是Web數據挖掘中最重要的應用。通過對挖掘服務器日志文件的分析和研究,可以對網站的組織結構及其性能進行改進,增加個性化服務,發現潛在的讀者群體。數據預處理關系到Web日志挖掘的質量。數據預處理包括數據清理、用戶識別、會話識別、路徑補充、格式化數據。
[關鍵詞]數據挖掘Web日志挖掘數據預處理
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0710035-01
一、引言
目前,基于Web日志的數據挖掘研究大致分為3類:以分析系統性能為目標,以改進系統設計為目標,以理解用戶意圖為目標。Web日志挖掘主要分為3個步驟:
1.數據預處理。根據挖掘的目的,對原始Web日志文件中的數據進行提取,分解,合并,最后轉換為適合進行數據挖掘的數據格式,并保存到關系型數據庫表或數據倉庫中,等待進一步處理。
2.模式識別。運用各種算法對處理后的數據進行挖掘,生成模式。
3.模式分析。進行用戶訪問模式的分析,從而將有價值的模式提取出來。數據預處理這個環節是整個過程的基礎和實施有效挖掘算法的前提,在Web日志挖掘中起著非常重要的作用。他是從大量的數據屬性中提取出對目標有重要影響的屬性來降低原始數據的維數,或者是處理一些不好的數據,從而改善實例數據的質量和提高數據挖掘的速度。
二、Web日志文件
Web日志文件是Web服務器上用以記錄用戶訪問頁面情況的文件。日志記錄最主要的記錄了什么人在什么時候瀏覽了哪些內容、網站的流量和訪問者信息等。不同Web服務器產品的日志記錄格式不同,但通常日志文件都包括訪問者IP或者域名、瀏覽器類型、操作系統訪問時間、訪問方式(GET/POST)、訪問頁面協議、錯誤代碼以及傳輸的字節數等信息。
表2.1訪問日志、引用日志、代理日志的例子
訪問日志一般包括:IP地址、請求時間、方法(如GET,POST)、被請求文件的URL、HTTP版本號、返回碼、傳輸字節數。表2.1的訪問日志表示從IP地址為202.117.1.2來的用戶請求傳輸文件resource.html,使用的傳輸協議是HTTP1.1。用戶也許并沒有登錄在IP地址為202.117.1.2的機器上,可能只是把這臺機器當作代理服務器或網關。本次請求成功傳輸782字節,200為返回碼。
引用日志記錄了用戶發出當前請求時所在頁面的URL,表2.1的引用日志表示用戶當前請求頁面“resource.html”,用戶發出這個請求是通過點擊http://cjc.lytu.edu.cn/flink/left.htm頁面上的某個超鏈接或者瀏覽器自動下載這個頁面所包含的附屬文件。
代理日志記錄用戶使用的操作系統以及瀏覽器類型引用日志。表2.1的代理日志表示客戶端的操作系統為WindowsNT,瀏覽器為微軟的IE5.01。
三、Web日志數據預處理過程
由于日志記錄和HTTP協議的自身原因,日志數據是雜亂的,Web日志預處理是在Web日志挖掘前,對Web日志所記錄的數據進行清理、過濾以及重新組合的過程。Web日志預處理的目的是剔除日志中對挖掘過程無用的屬性及數據,并將Web日志數據轉換為挖掘算法可識別的保存形式。
1.數據清理。數據預處理的首要任務就是數據清理。數據清理就是去掉Web日志中一些不能反映用戶行為的記錄,Web日志挖掘的目的是獲得用戶的行為模式,并不關心那些用戶沒有直接請求的文件。只有當服務器日志表示的數據能夠準確的反映用戶訪問Web站點的情況時,經過挖掘得到的模式規則才是真正有用的。

2.用戶識別。接下來,唯一的用戶必須被標識出來,也就是說要識別出來具體的用戶。這一任務因為本地緩存、公司防火墻和代理服務器的存在變得復雜。依賴用戶的合作是最好的解決方法,但是由于涉及到隱私,這種解決辦法往往難以進行。一般最常被Web日志挖掘工具使用的技術就是基于日志/站點的方法,并輔助一些啟發式規則幫助識別用戶。
3.會話識別。對于上一步標識出的用戶所有的訪問序列,它們可能超越了很長的時間段,因此可能用戶在這個時間段內不止一次訪問了該網站。會話識別的目的就是將用戶的所有訪問序列分成多個單獨的用戶一次訪問序列。為了獲得這個劃分,一個最簡單的方法就是定義一個時間段,如果用戶請求的相鄰的任意兩個頁面之間的訪問時間間隔超過了這個時間段,則認為用戶又開始了一個新的會話,許多商業數據挖掘軟件將缺省超時值確定為30分鐘,超時的界限可以根據站點的使用統計反饋的結果進行調節,直到可以更準確地識別會話。
4.路徑補充。檢查引用日志確定當前請求來自哪一頁,如果在用戶的歷史記錄上有多個頁面都包含與當前請求頁的鏈接,則將請求時間最接近當前請求頁的頁面作為當前請求的來源。若引用日志不完整,可以使用站點的拓撲結構代替。通過這種方法將遺漏的頁面請求添加到用戶的會話文件中。
5.事務識別。事務識別是對用戶會話進行語義分組分割后事務的具體意義是:用戶為獲得一項有意義的信息所點擊的頁面序列。
6.格式化數據。一旦得到一組事務集后,我們需要處理結果表示城市和挖掘需要的形式。例如,時間屬性對于關聯規則挖掘是沒有什么作用的,我們可以忽略元組中的時間屬性,而把它格式化成適合于關聯規則發現的形式。上面已經詳細介紹了Web日志數據預處理的過程及采用的技術,在實際的應用中,可以根據挖掘任務的需要,對數據預處理過程進行簡化或者細化。
四、結束語
數據的預處理工作是至關重要的一步。他既要保證信息無失真的轉換,又要保證過濾刪除掉某些對以后挖掘無影響的數據。針對一般的Web日志挖掘,提出了一種通用的Web日志挖掘的數據預處理模型,他可以針對不同類型的Web日志挖掘,實現數據的預處理工作。
參考文獻:
[1]Mark Sweiger,Mark R Madsen.Clickst ream Data Warehousing[M].北京:電子工業出版社,2004:36-39.
[2]段曉峰、熊忠陽,網站日志的數據挖掘[D].重慶:重慶大學,2003.