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