袁 偉,黃良劍
(江蘇省建筑工程質量檢測中心有限公司,南京 210028)
隨著信息時代的來臨,網絡迅速發展,互聯網漸漸成為人們獲取信息的重要渠道,Web站點遍及人生活中的各個領域,如:科技、教育、電子商務等等。Web站點給人們帶來了大量有價值的信息和非常大的便利,同時也留下很多訪問數據;與此同時,隨著Internet的廣泛被使用,人們對于Web站點的要求也是越來越高,如何從眾多的Web訪問數據中知曉用戶的瀏覽目的,以提升網站的性能,更好地為用戶提供個性化服務,成為了計算機網絡領域的一個重要課題。Web數據挖掘[1]就是為解決以上需求而生的數據處理技術。
Web數據挖掘是數據挖掘在Web上的應用。Web挖掘主要分為三類:Web內容挖掘、Web結構挖掘和Web日志挖掘。作為Web數據挖掘一個重要分支的Web日志挖掘[2]也是備受關注。Web日志挖掘從用戶大量的Web訪問記錄中,挖掘到用戶訪問頁面的情況、網站的頻繁使用情況等很多有益的信息,這不僅能幫助網站管理者從中獲取Web站點的用戶訪問情況和Web站點的使用情況,還能為Web站點的結構優化提供數據支持,以便更好地為用戶提供服務等。
對數據預處理是保證挖掘結果準確性的重要前提。預處理的目的就是要清除不一致的“臟”數據,留下正確、完整、干凈的數據。據統計,數據預處理[3]在挖掘過程中,所耗費的時間和成本達到60%至80%左右。數據預處理過程包括數據清理、用戶識別、會話識別等。
數據清理是指基于當前挖掘任務,清除Web日志文件中與挖掘任務不相干的數據。數據清理通常包括以下幾個方面:
(1)圖片,腳本和樣式:通常來說,以html結尾的日志瀏覽記錄才是用戶的訪問目的,所以刪除后綴為js、png、ico、css、jpg等日志記錄;
(2)HTTP請求方法:常見的有GET、POST、HEAD,用戶的主觀訪問行為以GET請求方法呈現,所以要刪除POST以及HEAD請求方法的日志記錄,保留GET方法的請求日志記錄;
(3)用戶訪問失敗:一般情況下,返回代碼為200代表用戶訪問網站成功,但也有訪問失敗的時候,這時返回的代碼一般為404(頁面丟失)、500(內部錯誤信息)等,只需保留正確的訪問記錄,刪除訪問失敗的記錄;
(4)彈出式廣告:用戶打開網頁時自動彈出,不能反映用戶主觀訪問意圖,所以應當刪除;
(5)Web Robots:一般叫網絡爬蟲,它會根據一定規則自動抓取頁面。由于網絡爬蟲沒有目的性,并不是用戶主動的訪問意圖,因此要刪除。
用戶識別是指從Web日志中分辨出每一條記錄相對應的用戶。由于本地緩存、防火墻等因素存在,使得精準的識別出用戶變得十分困難。通過識別注冊用戶、cookie等方法能提高識別的準確度,但涉及到用戶隱私,并且考慮獲取數據的難易度,大多數情況下運用啟發式規則識別用戶:
(1)不同IP地址代表不同用戶。
(2)如果IP地址相同,但用戶的瀏覽器或操作系統不同,可認為是不同用戶。
(3)如果IP地址、用戶瀏覽器和操作系統都相同,則根據引用頁判斷,若引用頁為空,代表不同用戶。
用戶在進入站點到離開的期間所產生的全部瀏覽請求視為一次會話。同一個用戶可能在相隔時間較長的Web服務器日志中多次訪問了同一個站點,會話識別的任務便是識別出同一個用戶所對應的同一次訪問請求。會話識別的常用方法有3種:
(1)超時(Timeout)方法。J.Pitkow研究表明,當同一用戶在同一頁面停留超過25.5分鐘,就可視為同一用戶的不同會話,目前一般選擇30分鐘作為判斷標準。
(2)序列長度法。該方法由Cooley等人提出,用來識別事務會話。經研究表明,用戶瀏覽頁面時通常經過過渡頁面進入內容頁面,且用戶停在內容頁面比過渡頁面的時間長。若已知內容頁面和過渡頁面的合集,順序讀取Web日志記錄時,一旦讀取到內容頁面,就意味著找到了會話的邊界。
本文介紹了Web數據挖掘的背景,Web日志挖掘的相關概念,以及Web日志數據的預處理,包括數據清理、用戶識別和會話識別。未來的研究針對預處理之后的Web日志數據進行挖掘,通過數據挖掘的算法,比如關聯規則算法中的Apriori算法,決策樹算法,神經元網絡算法等。