Web挖掘是針對(duì)包括Web頁(yè)面內(nèi)容,頁(yè)面之間的結(jié)構(gòu),用戶訪問信息等在內(nèi)的各種Web數(shù)據(jù)源。在一定基礎(chǔ)上應(yīng)用數(shù)據(jù)挖掘的方法以發(fā)現(xiàn)有用的隱含的知識(shí)的過程。Web挖掘與傳統(tǒng)的數(shù)據(jù)挖掘相比有其自身的特點(diǎn)。Web本身是半結(jié)構(gòu)化或無(wú)結(jié)構(gòu)的數(shù)據(jù),缺乏機(jī)器可理解的語(yǔ)義,Web挖掘的對(duì)象是大量,異質(zhì),分布的Web文檔,對(duì)Web服務(wù)器上的日志、用戶信息等數(shù)據(jù)所開展的挖掘工作也屬于Web數(shù)據(jù)挖掘的范疇。Web信息的多樣性決定了挖掘任務(wù)的多樣性。按照Web處理對(duì)象的不同,一般將Web挖掘分為3類: Web內(nèi)容挖掘,Web結(jié)構(gòu)挖掘和Web使用記錄挖掘(如圖1所示),針對(duì)這3種不同的處理對(duì)象,能夠挖掘出許多有用的信息。
Web日志挖掘現(xiàn)已成為Web挖掘研究的重點(diǎn)。其主要分為數(shù)據(jù)預(yù)處理、模式發(fā)現(xiàn)、模式分析3個(gè)階段[。數(shù)據(jù)預(yù)處理階段是要把從各種數(shù)據(jù)源得到的使用信息、內(nèi)容信息和結(jié)構(gòu)信息轉(zhuǎn)換成模式發(fā)現(xiàn)階段需要的數(shù)據(jù)抽象;模式發(fā)現(xiàn)階段旨在使用各種數(shù)據(jù)挖掘技術(shù)發(fā)掘隱藏在數(shù)據(jù)背后的規(guī)律和模式;模式分析階段旨在根據(jù)具體的實(shí)際應(yīng)用,過濾掉在模式發(fā)現(xiàn)階段沒有用的規(guī)則或模式,并把有用的規(guī)則和模式轉(zhuǎn)換為知識(shí)。
本文主要研究數(shù)據(jù)預(yù)處理階段的會(huì)話識(shí)別。在分析現(xiàn)有的會(huì)話識(shí)別方法基礎(chǔ)上,提出一種基于訪問站點(diǎn)首頁(yè)和導(dǎo)航頁(yè)的改進(jìn)會(huì)話識(shí)別方法,最后通過實(shí)驗(yàn)驗(yàn)證了改進(jìn)的會(huì)話識(shí)別方法比現(xiàn)有方法更有效。
1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理是Web日志中最基礎(chǔ)、最頻繁的工作,是整個(gè)數(shù)據(jù)準(zhǔn)備的核心工作。數(shù)據(jù)預(yù)處理的結(jié)果將直接影響到挖掘算法產(chǎn)生的規(guī)則和模式,因此預(yù)處理過程在整個(gè)Web日志挖掘過程中占據(jù)著非常重要的地位,是挖掘質(zhì)量的保證。
數(shù)據(jù)預(yù)處理包括數(shù)據(jù)清理、用戶識(shí)別、會(huì)話識(shí)別、路徑補(bǔ)充和事務(wù)識(shí)別5個(gè)階段。(1)數(shù)據(jù)清理是指刪除Web日志中與挖掘算法無(wú)關(guān)的數(shù)據(jù);(2)用戶識(shí)別是識(shí)別出訪問網(wǎng)站的每個(gè)用戶;(3)會(huì)話識(shí)別是在用戶識(shí)別之后,把每個(gè)用戶在一段時(shí)間內(nèi)的訪問序列進(jìn)行分解,從而得到相應(yīng)的會(huì)話。會(huì)話是指同一用戶在一次瀏覽過程中連續(xù)請(qǐng)求的頁(yè)面序列,它代表了用戶對(duì)服務(wù)器的一次有效訪問;(4)路徑補(bǔ)充是對(duì)識(shí)別出的用戶會(huì)話進(jìn)行優(yōu)化的步驟,以使得其更加準(zhǔn)確地描述用戶的瀏覽請(qǐng)求;(5)事務(wù)識(shí)別是將用戶會(huì)話進(jìn)行語(yǔ)義分組,形成適合挖掘需要的事務(wù)。
2 會(huì)話識(shí)別分析
用戶會(huì)話[3]是指用戶從進(jìn)入站點(diǎn)到離開站點(diǎn)期間所訪問的一系列頁(yè)面序列集合??杀硎緸椋?/p>
其中SessionID是會(huì)話標(biāo)識(shí),{(Pid1,t1)…(Pidk,tk)…(Pidn,tn)}是此次用戶會(huì)話的頁(yè)面訪問序列,Pid是訪問頁(yè)面的標(biāo)識(shí),t是訪問該頁(yè)面的時(shí)間。(Pid1,t1)表示用戶此次會(huì)話訪問的第一個(gè)頁(yè)面和時(shí)間,(Pidn,tn)表示用戶此次會(huì)話訪問的最后一個(gè)頁(yè)面和時(shí)間。
2.1 常用會(huì)話識(shí)別方法
目前常用會(huì)話識(shí)別方法主要有兩大類:一類是基于時(shí)間閾值,另一類是基于用戶訪問頁(yè)面時(shí)的參引頁(yè)面?;跁r(shí)間閾值的會(huì)話識(shí)別方法又可細(xì)分為以下3類:
(1)設(shè)定會(huì)話的持續(xù)時(shí)間閾值θ。即一個(gè)會(huì)話總的持續(xù)時(shí)間不超過θ。國(guó)外學(xué)者Catledge和Pitkow由實(shí)驗(yàn)得出θ設(shè)為25.5 min較好[4],許多商業(yè)產(chǎn)品都采用30 min作為缺省值。
(2)設(shè)定頁(yè)面的訪問時(shí)間閾值η[5]。假設(shè)(Pidi,ti)、(Pidi+1,ti+1)為一個(gè)用戶訪問序列中的兩條相鄰訪問記錄。只有當(dāng)ti+1-ti≤η時(shí),才認(rèn)為這兩條記錄屬于同一個(gè)會(huì)話。當(dāng)ti+1-ti>η時(shí),(Pidi,ti)是上一次會(huì)話的最后一條訪問記錄,而(Pidi+1,ti+1)是新會(huì)話的第一條訪問記錄。一般η取10 min。
(3)上述方法(2)是對(duì)所有頁(yè)面設(shè)定同一個(gè)頁(yè)面訪問時(shí)間閾值,并沒有因頁(yè)面的不同而不同。參考文獻(xiàn)[6]中,根據(jù)統(tǒng)計(jì)的頁(yè)面的訪問時(shí)間,在正態(tài)分布的假設(shè)下為每個(gè)頁(yè)面設(shè)定一個(gè)訪問時(shí)間作為切分會(huì)話閾值,并結(jié)合頁(yè)面內(nèi)容及站點(diǎn)結(jié)構(gòu)來(lái)確定頁(yè)面重要程度,對(duì)該閾值進(jìn)行調(diào)整。這是一種個(gè)性化的時(shí)間閾值設(shè)置方法。
2.2 常用會(huì)話識(shí)別方法評(píng)估
第(1)、(2)兩種方法使用單一時(shí)間閾值來(lái)識(shí)別用戶會(huì)話顯然是不合理的。方法(1)不能識(shí)別出訪問時(shí)間大于30 min的會(huì)話,且識(shí)別不出兩個(gè)連續(xù)較短的會(huì)話;方法(2)的不足在于,若一個(gè)用戶在訪問站點(diǎn)期間暫時(shí)離開電腦,但并沒有退出站點(diǎn),過10 min后回來(lái)繼續(xù)瀏覽該站點(diǎn),這實(shí)際上屬于同一個(gè)會(huì)話,而方法(2)則會(huì)錯(cuò)誤地認(rèn)為用戶開始了一個(gè)新的會(huì)話;方法(3)使用的統(tǒng)計(jì)學(xué)方法雖然大大減小了上限閾值,但仍然無(wú)法準(zhǔn)確描述對(duì)頁(yè)面感興趣的用戶閱讀網(wǎng)頁(yè)的平均時(shí)間,無(wú)法區(qū)分超短時(shí)間用戶訪問記錄。
基于參引頁(yè)面的會(huì)話識(shí)別方法引入了時(shí)間限制?駐,主要是考慮到下面這種情況:訪問頁(yè)面的引用頁(yè)面為空,用戶可能是通過點(diǎn)擊瀏覽器上的”BACK”按鈕,回溯到之前某個(gè)曾經(jīng)瀏覽過的頁(yè)面,進(jìn)而訪問到該頁(yè)。這顯然也是不合理的,用戶從p頁(yè)面回退到上級(jí)頁(yè)面后,用戶要在此頁(yè)面搜尋到感興趣的p頁(yè)面,并點(diǎn)擊鏈接進(jìn)入該頁(yè)面,所需時(shí)間一般不止10 s,且用戶可能是回退多次后再點(diǎn)擊鏈接進(jìn)入p頁(yè)面。因此,此處設(shè)置這個(gè)時(shí)間閾值并不合理。
3 改進(jìn)的會(huì)話識(shí)別方法
3.1 會(huì)話劃分思考
要準(zhǔn)確地識(shí)別出用戶會(huì)話,關(guān)鍵在于識(shí)別出兩次相鄰會(huì)話的分割點(diǎn)。即上一次會(huì)話結(jié)束時(shí)訪問的頁(yè)面及下一次會(huì)話開始時(shí)訪問的頁(yè)面。而找出新會(huì)話開始時(shí)訪問的頁(yè)面,也就意味著上一會(huì)話的結(jié)束。因此,研究重點(diǎn)放在尋找標(biāo)記新會(huì)話開始的訪問頁(yè)面。
用戶開始訪問某一站點(diǎn),一般是通過在瀏覽器的地址欄中輸入站點(diǎn)的URL或是通過點(diǎn)擊收藏欄中的收藏,通過站點(diǎn)的首頁(yè)進(jìn)入此站點(diǎn)的,此時(shí)用戶也就開始了自己的一次會(huì)話。在Web服務(wù)器日志中,可以查看用戶訪問的URL是否是首頁(yè)來(lái)判斷用戶的這種行為。當(dāng)用戶瀏覽完畢退出該站點(diǎn),此時(shí)會(huì)話結(jié)束,而在Web服務(wù)器端日志中,無(wú)法判斷這種用戶行為。但當(dāng)該用戶下一次通過首頁(yè)來(lái)訪問站點(diǎn)時(shí),在Web日志中發(fā)現(xiàn)用戶又鍵入了首頁(yè)URL,則很顯然上一次會(huì)話在本條記錄之前結(jié)束,本條記錄標(biāo)志用戶開始了一個(gè)新的會(huì)話。
3.2 改進(jìn)的會(huì)話識(shí)別方法
上述思想以訪問站點(diǎn)的首頁(yè)作為新會(huì)話開始的標(biāo)記,基于這一前提用戶開始訪問站點(diǎn)時(shí)總是由站點(diǎn)首頁(yè)進(jìn)入站點(diǎn)。但真實(shí)的訪問情況并不是所有的用戶每次開始訪問站點(diǎn)時(shí)都由首頁(yè)進(jìn)入。一般的站點(diǎn)分若干版塊,而每一版塊都有自己的導(dǎo)航頁(yè)。如一門戶網(wǎng)站有新聞、體育、娛樂各版塊,有的用戶只對(duì)體育感興趣,那么他可能就會(huì)將體育版塊的導(dǎo)航頁(yè)做為收藏,每次訪問站點(diǎn)時(shí),點(diǎn)擊收藏,直接進(jìn)入體育導(dǎo)航頁(yè)開始訪問,而非先通過站點(diǎn)首頁(yè),再進(jìn)入體育版塊導(dǎo)航頁(yè)。因此,識(shí)別用戶會(huì)話,不能只以站點(diǎn)首頁(yè)作為開始標(biāo)記,還應(yīng)考慮各導(dǎo)航頁(yè),因?yàn)楹芏嘤脩羰侵苯油ㄟ^導(dǎo)航頁(yè)訪問自己感興趣的頁(yè)面而非站點(diǎn)首頁(yè)。
改進(jìn)的會(huì)話識(shí)別方法如圖1所示,以站點(diǎn)首頁(yè)或?qū)Ш巾?yè)作為新會(huì)話開始的標(biāo)識(shí)。
改進(jìn)的會(huì)話識(shí)別方法具體描述如下:
(1)首先用戶訪問序列中的第一條訪問記錄是第一個(gè)會(huì)話的開始序列,置入第一個(gè)會(huì)話中;
(2)讀取用戶訪問序列中的下一條訪問記錄,直至序列中所有記錄都處理完畢;
(3)判斷本次訪問的頁(yè)面是否是站點(diǎn)的首頁(yè),若是首頁(yè),則當(dāng)前會(huì)話結(jié)束,新會(huì)話開始,將該次訪問置入新會(huì)話的訪問序列中,然后轉(zhuǎn)步驟(2)處理下一條訪問記錄。否則,轉(zhuǎn)步驟(4);
(4)判斷本次訪問的頁(yè)面是否是站點(diǎn)的導(dǎo)航頁(yè)之一,若不是(即該頁(yè)面為內(nèi)容頁(yè)),則將本次訪問置入當(dāng)前會(huì)話的訪問序列中,然后轉(zhuǎn)步驟(2)繼續(xù)處理下一條訪問記錄。否則(即該頁(yè)面是導(dǎo)航頁(yè)之一),轉(zhuǎn)步驟(5)判斷它的上一條訪問記錄;
(5)判斷上一條訪問記錄,若上一條訪問記錄訪問的頁(yè)面是首頁(yè),則本次訪問記錄和上次訪問記錄同屬一個(gè)會(huì)話;若上一條訪問記錄訪問的頁(yè)面不是首頁(yè),則本次訪問就標(biāo)識(shí)了新會(huì)話的開始,將其置入新會(huì)話的訪問序列中。轉(zhuǎn)步驟(2),處理下一條訪問記錄。
4 實(shí)驗(yàn)與結(jié)果分析
4.1 實(shí)驗(yàn)過程
4.1.1 數(shù)據(jù)準(zhǔn)備
選用了安研星空站點(diǎn)http://www.ahusky.cn/從2009年2月17日至2009年3月5日的Web服務(wù)器日志,共計(jì)1 251 331條記錄,作為實(shí)驗(yàn)數(shù)據(jù),如圖2所示。
4.1.2 會(huì)話識(shí)別
將這些Web訪問日志通過SQL Loader載入Oracle數(shù)據(jù)庫(kù)中,經(jīng)過數(shù)據(jù)清理,共有有效訪問記錄35 273條,存放在表log中,如圖3所示。
此處,以Web訪問日志中的IP地址作為用戶標(biāo)識(shí),利用Oracle PL/SQL編程實(shí)現(xiàn)上述改進(jìn)的會(huì)話識(shí)別算法。為了與其他的會(huì)話識(shí)別方法進(jìn)行比較,分別用2.1節(jié)中的方法(1)和方法(2)對(duì)同樣的Web日志進(jìn)行會(huì)話識(shí)別,其中方法(1)取時(shí)間閾值30 min,方法(2)取時(shí)間閾值10 min。實(shí)驗(yàn)結(jié)果如表1所示。
4.2 實(shí)驗(yàn)分析
通過實(shí)驗(yàn)發(fā)現(xiàn),改進(jìn)的會(huì)話識(shí)別方法識(shí)別出的會(huì)話數(shù)(11 325條)要遠(yuǎn)多于方法(1)(5 073條)和方法(2)(5 226條)。另外,為了比較這三種會(huì)話識(shí)別方法識(shí)別會(huì)話的準(zhǔn)確率,將三種方法中識(shí)別出的關(guān)于用戶220.178.4.195的會(huì)話分別與原始的Web日志記錄比較,發(fā)現(xiàn)改進(jìn)的會(huì)話識(shí)別方法識(shí)別會(huì)話的準(zhǔn)確率(82.19%)也要高于方法(1)(62.47%)和方法(2)(64.85%)。由此可見,改進(jìn)的會(huì)話識(shí)別方法能夠識(shí)別出更多的會(huì)話,且識(shí)別會(huì)話的準(zhǔn)確率也更高。
數(shù)據(jù)預(yù)處理階段的會(huì)話識(shí)別為模式分析階段提供了挖掘數(shù)據(jù),即每一個(gè)有效的用戶會(huì)話,因此它直接影響到模式分析階段能否發(fā)現(xiàn)有效的模式。本文提出的基于站點(diǎn)首頁(yè)和導(dǎo)航頁(yè)的改進(jìn)會(huì)話識(shí)別方法能識(shí)別出更多的會(huì)話,識(shí)別會(huì)話的準(zhǔn)確率更高。
5 結(jié)束語(yǔ)
進(jìn)一步的工作我們可以將Web訪問日志的挖掘和其他的Web內(nèi)容和Web鏈接結(jié)構(gòu)挖掘結(jié)合起來(lái)用于Web頁(yè)面的等級(jí)劃分、Web文檔的分類和多層次Web信息庫(kù)的構(gòu)造等方面,總之對(duì)Web數(shù)據(jù)進(jìn)行進(jìn)一步的數(shù)據(jù)挖掘是非常有意義的。當(dāng)然,數(shù)據(jù)挖掘所帶來(lái)的好處,是與用戶的需求及數(shù)據(jù)挖掘技術(shù)本身的發(fā)展相關(guān)的。從而提供更好的服務(wù)。
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9231瀏覽量
85625 -
編程
+關(guān)注
關(guān)注
88文章
3627瀏覽量
93809 -
機(jī)器
+關(guān)注
關(guān)注
0文章
784瀏覽量
40757
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論