楊玉梅
(川北醫(yī)學(xué)院 圖書館,四川 南充 637000)
Web挖掘是數(shù)據(jù)挖掘在Web上的應(yīng)用,它利用數(shù)據(jù)挖掘技術(shù)從與WWW相關(guān)的資源和行為中抽取感興趣的、有用的模式和隱含信息,涉及Web技術(shù)、數(shù)據(jù)挖掘、計算機(jī)語言學(xué)、信息學(xué)等多個領(lǐng)域,是一項綜合技術(shù)。Web使用挖掘能提供網(wǎng)站設(shè)計的支持,提供個性化服務(wù)和其他的商業(yè)決策等。根據(jù)挖掘?qū)ο蟛煌笾掠腥齻€知識發(fā)現(xiàn)領(lǐng)域涉及到Web挖掘:Web內(nèi)容挖掘、Web結(jié)構(gòu)挖掘和Web使用挖掘,如圖1所示。
Web內(nèi)容挖掘是指對文本、圖形、圖像、視頻、音頻、多媒體和其他各種類型的頁面數(shù)據(jù)進(jìn)行的挖掘。這些數(shù)據(jù)的結(jié)構(gòu)形式變化多樣,可能是數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù),也可能是網(wǎng)頁的半結(jié)構(gòu)化數(shù)據(jù),或者是無結(jié)構(gòu)的文本文件。
Web結(jié)構(gòu)挖掘就是對在單個頁面內(nèi)部、特定頁面集,或整個Internet的PIW(Publicly index-able Web)等多個尺度上對結(jié)構(gòu)數(shù)據(jù)進(jìn)行挖掘以獲取增值信息。它的指導(dǎo)思想就是通過圖論的方法對Web的拓?fù)浣Y(jié)構(gòu)進(jìn)行研究,以獲取有用的相關(guān)知識。
Web使用挖掘就是通過挖掘Web日志中的用戶訪問記錄來發(fā)現(xiàn)Web用戶的行為模式。Web使用挖掘中的數(shù)據(jù)源并不是用戶的第一手?jǐn)?shù)據(jù),而是在用戶與服務(wù)器交互的過程中形成的第二手?jǐn)?shù)據(jù),但是這些數(shù)據(jù)基本包含了用戶訪問網(wǎng)絡(luò)的所有信息。
圖1 挖掘分類
Web使用挖掘就是通過挖掘Web日志中的用戶訪問記錄來發(fā)現(xiàn)Web用戶的行為模式。Web使用挖掘中的數(shù)據(jù)源并不是用戶的第一手?jǐn)?shù)據(jù),而是在用戶與服務(wù)器交互的過程中形成的第二手?jǐn)?shù)據(jù),如登記數(shù)據(jù)、用戶會話、cookies、用戶查詢、鼠標(biāo)點(diǎn)擊等交互結(jié)果,但是這些數(shù)據(jù)基本包含了用戶訪問網(wǎng)絡(luò)的所有信息。Web使用挖掘可以分為個性模式的挖掘和共性模式的挖掘,前者通過統(tǒng)計關(guān)聯(lián)分析等挖掘算法找出特定用戶與特定頁面、特定時間、特定地域等要素之間的內(nèi)在聯(lián)系,為用戶提供個性化的服務(wù);后者通過挖掘用戶群體的 Web日志獲取用戶訪問的共性規(guī)律,對站點(diǎn)的性能和組織結(jié)構(gòu)進(jìn)行改善,從而將Web用戶查找信息的效率和質(zhì)量提高。Web日志挖掘的主要研究內(nèi)容包括:日志數(shù)據(jù)預(yù)處理、序列模式挖掘、用戶興趣挖掘等。Web使用挖掘分析用戶在一組相關(guān)網(wǎng)站與一個Web服務(wù)器交互的結(jié)果,如Web日志、點(diǎn)擊流和數(shù)據(jù)庫事務(wù)。Web使用挖掘也被稱為Web日志挖掘,可以被視為一個三相過程,如圖2所示。
圖2 Web使用挖掘過程
(1)數(shù)據(jù)收集和預(yù)處理:數(shù)據(jù)采集是Web日志挖掘中的一個非常重要的環(huán)節(jié),不僅是數(shù)據(jù)預(yù)處理的前提,更是模式發(fā)現(xiàn)和分析的基礎(chǔ),其所獲取到的數(shù)據(jù)源質(zhì)量將會直接影響挖掘的效果。如果采集到的數(shù)據(jù)源是不完整的,則無論進(jìn)行什么樣的挖掘都是沒有意義的,只有對全面的、完整的、能反映用戶真實興趣的數(shù)據(jù)進(jìn)行的挖掘才是有意義的。數(shù)據(jù)預(yù)處理是Web日志挖掘的重點(diǎn),其結(jié)果對挖掘算法產(chǎn)生的規(guī)則與模式有很大的影響,是保證Web日志挖掘質(zhì)量的關(guān)鍵。進(jìn)行數(shù)據(jù)預(yù)處理時應(yīng)根據(jù)不同的應(yīng)用需求,對冗余數(shù)據(jù)、干擾數(shù)據(jù)等進(jìn)行相關(guān)處理,從海量的原始數(shù)據(jù)中抽取出挖掘算法需要的精確數(shù)據(jù)。通常根據(jù)應(yīng)用需求包括數(shù)據(jù)清理、用戶識別、會話事務(wù)識別等幾個方面。
(2)模式發(fā)現(xiàn):對數(shù)據(jù)預(yù)處理所形成的文件,利用數(shù)據(jù)挖掘的一些有效算法來發(fā)現(xiàn)隱藏的模式和關(guān)聯(lián)規(guī)則。
(3)模式分析∶主要是對挖掘出來得模式、規(guī)則進(jìn)行分析,找出用戶感興趣的模式,提供可視化的結(jié)果輸出。
Web使用數(shù)據(jù)包括從Web服務(wù)器的日志數(shù)據(jù)、代理服務(wù)器的日志、瀏覽日志和用戶配置文件。使用數(shù)據(jù)可以分為3種不同的采集基礎(chǔ):服務(wù)器端、客戶端和代理端。Web服務(wù)器日志文件是純文本,獨(dú)立于服務(wù)器平臺。目前有三種可以用于記錄的日志文件格式:w3c擴(kuò)展日志文件格式、微軟IIS日志文件格式和NCSA公用日志文件格式,他們都是ASCII文本格式。Web服務(wù)器日志文件包含了服務(wù)器的請求、按時間順序的記錄。最大眾化的日志文件格式是普通日志格式(CLF)和擴(kuò)展普通日志格式。一個普通的日志格式文件是由Web服務(wù)器創(chuàng)建跟蹤發(fā)生在網(wǎng)站上的請求。一個標(biāo)準(zhǔn)的日志文件的格式如下:
數(shù)據(jù)預(yù)處理是對Web日志進(jìn)行挖掘的首要前提,它關(guān)系到接下來挖掘算法的選取,是最終能否得到有較高效率模式的前提。Web日志文件中存儲的是用戶訪問站點(diǎn)信息的原始記錄,這些數(shù)據(jù)是不完整的(有些感興趣的屬性缺少屬性值,或僅包含聚集數(shù)據(jù)),含噪聲的(包含錯誤或存在偏離期望的孤立點(diǎn)值),并且是不一致的,因此直接在這些數(shù)據(jù)上進(jìn)行挖掘是比較困難的。在使用算法或工具對其分析之前,進(jìn)行預(yù)處理,不僅有利于隨后的挖掘算法分析,而且對于最終形成準(zhǔn)確可靠的用戶瀏覽模式是極為重要的。
Web日志挖掘的數(shù)據(jù)預(yù)處理主要包括數(shù)據(jù)清洗、用戶識別、會話識別、路徑補(bǔ)充和事務(wù)識別等一系列工作,如圖3。對日志進(jìn)行預(yù)處理的結(jié)果直接影響到挖掘結(jié)果。
圖3 數(shù)據(jù)預(yù)處理過程
數(shù)據(jù)清洗是清除錯誤和不一致數(shù)據(jù)的過程,當(dāng)然數(shù)據(jù)清洗不是簡單的更新數(shù)據(jù)記錄,在數(shù)據(jù)挖掘過程中,數(shù)據(jù)清洗是第一步,即對數(shù)據(jù)進(jìn)行預(yù)處理的過程。數(shù)據(jù)清洗的任務(wù)是過濾或者修改那些不符合要求的數(shù)據(jù)。不符合要求的數(shù)據(jù)主要有不必要得數(shù)據(jù)、不完整的數(shù)據(jù)、錯誤的數(shù)據(jù)和充分的數(shù)據(jù)等。比如圖形、視頻等后綴名為GIF、JPEG、CSS的數(shù)據(jù)。對于失敗的HTTP狀態(tài)碼的紀(jì)錄,通過在Web訪問日志檢查每個記錄的狀態(tài)字段,記錄狀態(tài)碼超過299或低于200被刪除。
用戶識別的任務(wù)是從原來的Web訪問日志找出不同的用戶會話。用戶的識別是識別誰訪問的網(wǎng)站和哪個頁面被訪問。一個會話是一系列網(wǎng)頁用戶的單一訪問瀏覽,但要完成這一步是比較困難的,由于代理服務(wù)器和防火墻的使用令用戶識別匾額復(fù)雜。例如,不同的用戶在日志可能有相同的IP地址,同一個用戶也可以通過不同的IP進(jìn)行訪問。用戶識別主要工作需要解決這些問題,目前一般都用啟發(fā)式規(guī)則來識別用戶:
不同的IP地址區(qū)別不同的用戶;如果IP地址是相同的,不同的瀏覽器和操作系統(tǒng)代表不同的用戶。通過這些規(guī)則,即可以對用戶進(jìn)行識別。
會話是理解為當(dāng)用戶通過一個給定的站點(diǎn)導(dǎo)航的時候的一系列由用戶執(zhí)行的活動。從原始數(shù)據(jù)中識別會話是一個復(fù)雜的步驟,因為服務(wù)器日志不一定包含所需要的信息。有服務(wù)器的日志不包含足夠的信息來重建用戶會話,在這種情況下啟發(fā)式可以作為描述。如果所有IP地址、瀏覽器和操作系統(tǒng)相同,推薦信息應(yīng)該納入考慮。最簡單的方法是面向時間,是基于總會話時間和基于單頁面停留時間的另一種方法。頁面設(shè)置在特定的時間的特定用戶被稱為網(wǎng)頁瀏覽時間。它的變化范圍從25.5分鐘到24小時,30分鐘時默認(rèn)超時。第二種方法取決于兩個時間戳之間的差異計算的頁面停留時間。如果超過10分鐘,那么第二項假設(shè)為一個新的會話?;跁r間的方法是不可靠的,因為用戶可能會涉及一些其它的打開網(wǎng)頁的活動,或其他因素比如繁忙的通信線路、頁面中組件加載時間、頁面內(nèi)容大小沒被考慮等。第三種方法基于Web拓?fù)浣Y(jié)構(gòu)圖。
在不同的時間相同的用戶,會話識別可能包含以上的訪問,時間向?qū)l(fā)式是用來將不同的訪問分組為不同的用戶會話。用戶會話記錄在網(wǎng)絡(luò)日志,路經(jīng)補(bǔ)全算法應(yīng)用于獲取完整的用戶訪問路徑。
用戶識別是指識別誰訪問網(wǎng)站和那些網(wǎng)頁被訪問。如果用戶的登陸信息易于識別。事實上,有很多用戶不注冊信息。更重要的是,有大量的用戶通過代理,多數(shù)用戶使用同一臺計算機(jī),或有防火墻存在,一個用戶使用不同的瀏覽器等訪問網(wǎng)站。所有問題使得識別每一個獨(dú)立的用戶變得非常復(fù)雜和困難。我們可能使用cookies來跟蹤用戶的行文。但是考慮個人隱私,許多用戶不使用cookie,因此有必要找到解決這個問題的前提方法。當(dāng)用戶使用同一臺計算機(jī)或使用相同的代理時怎么識別他們?
提出方法不同的用戶識別
針對這種現(xiàn)狀,我們提出了一種新的算法稱為獨(dú)特用戶識別(distinct user considering,DUI)。分析了諸多因素,如用戶的IP地址、網(wǎng)站的拓?fù)浣Y(jié)構(gòu)、瀏覽器版本、操作系統(tǒng)和推薦頁面。該算法有更好的精度和可擴(kuò)展性。它不僅可以識別用戶還可以識別會話。會話識別將在下一節(jié)討論。提出的方法不僅顯示基于用戶IP,某處相同的用戶IP可以產(chǎn)生不同的Web用戶,基于任何用戶選擇的路徑和鏈接頁面的訪問時間,我們找出不同的Web用戶。給出一個清潔、過濾Web日志文件和記錄集Web日志文件。記錄R={r1,r2,r3…rn},這里n>0
Step 1:輸入N個記錄到日志數(shù)據(jù)庫RUser
Step 2:不同的用戶識別數(shù)據(jù)庫
Step 3:RUSer=
Step 4:while(i Step 5:讀取日志數(shù)據(jù)庫RUser Step 6:檢查如果r(i)用戶IP不屬于不同的用戶識別數(shù)據(jù)庫,那么它將作為新用戶復(fù)制用戶IP到不同的用戶識別數(shù)據(jù)庫。 Step 8:end if Step9:i=i+1 Step10:end loop Step11:end 為了驗證該方法,及它的有效性和效率,我們對本校圖書館Web服務(wù)器IIS日志文件進(jìn)行實驗。我們的實驗的初始數(shù)據(jù)源是從2011年1月1日到2013年6月30日,它的大小是1.03GB。我們實驗在Intel(R)Core(TM)i3-2120 CUP@3.30GHz,2G內(nèi)存,Windows 2003 professional,SQL Server 2005上執(zhí)行。下圖是我們的實驗內(nèi)容和結(jié)果。經(jīng)過數(shù)據(jù)清洗,請求的數(shù)量從252167降到35685. 圖4 日志文件部分內(nèi)容 圖5 清理后數(shù)據(jù) 表1 實驗結(jié)果 在本研究中我們提出了不同的用戶識別技術(shù),其增強(qiáng)預(yù)處理在數(shù)據(jù)挖掘中的Web日志使用數(shù)據(jù)的步驟。這里介紹了一個先進(jìn)的預(yù)處理不同的用戶識別算法,該算法相對其他識別技術(shù)是非常有效的。在此基礎(chǔ)上,我們可以針對具體情況,設(shè)計個性化網(wǎng)站,提高網(wǎng)站利用率。 [1]龐英智.Web數(shù)據(jù)挖掘技術(shù)在電子商務(wù)中的應(yīng)用[J].情報科學(xué),2011,29(2)∶235-240. [2]劉樹超,李永臣,武洪萍.Web數(shù)據(jù)挖掘研究與探討[J].制造業(yè)自動化,2010(9)∶163-166. [3]譚春輝,王俊.基于Web數(shù)據(jù)挖掘技術(shù)的企業(yè)網(wǎng)站客戶忠誠度提升模型研究[J].圖書情報工作,2009,53(14)∶138-142. [4]陳立建.基于Web數(shù)據(jù)挖掘技術(shù)的遠(yuǎn)程教育系統(tǒng)構(gòu)建[J].中國成人教育,2010(6)∶116-118. [5]侯楓.Web日志數(shù)據(jù)預(yù)處理[J].河南工程學(xué)院學(xué)報:自然科學(xué)版,2008,20(3)∶54-57. [6]陳寶樹,黨齊民.Web數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理[J].計算機(jī)工程,2002,28(7)∶125-127.5 實驗結(jié)果和分析
6 結(jié)論