《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > Web日志挖掘中一種改進(jìn)的會(huì)話(huà)識(shí)別方法
Web日志挖掘中一種改進(jìn)的會(huì)話(huà)識(shí)別方法
來(lái)源:微型機(jī)與應(yīng)用2010年第15期
周愛(ài)武,,程 博
(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,,安徽 合肥 230039)
摘要: 提出了一種改進(jìn)的會(huì)話(huà)識(shí)別方法。該方法基于訪(fǎng)問(wèn)站點(diǎn)的首頁(yè)和導(dǎo)航頁(yè),以首頁(yè)或?qū)Ш巾?yè)作為新會(huì)話(huà)開(kāi)始的標(biāo)識(shí),。選取真實(shí)的Web日志,,用PL/SQL編程實(shí)現(xiàn)改進(jìn)的會(huì)話(huà)識(shí)別方法,,并與現(xiàn)有方法進(jìn)行比較,。實(shí)驗(yàn)結(jié)果證明,改進(jìn)的會(huì)話(huà)識(shí)別方法比現(xiàn)有方法識(shí)別會(huì)話(huà)更有效,。
Abstract:
Key words :

摘  要: 提出了一種改進(jìn)的會(huì)話(huà)識(shí)別方法,。該方法基于訪(fǎng)問(wèn)站點(diǎn)的首頁(yè)和導(dǎo)航頁(yè),以首頁(yè)或?qū)Ш巾?yè)作為新會(huì)話(huà)開(kāi)始的標(biāo)識(shí),。選取真實(shí)的Web日志,,用PL/SQL編程實(shí)現(xiàn)改進(jìn)的會(huì)話(huà)識(shí)別方法,并與現(xiàn)有方法進(jìn)行比較,。實(shí)驗(yàn)結(jié)果證明,,改進(jìn)的會(huì)話(huà)識(shí)別方法比現(xiàn)有方法識(shí)別會(huì)話(huà)更有效。
關(guān)鍵詞: 數(shù)據(jù)預(yù)處理,;Web日志,;會(huì)話(huà)識(shí)別,;站點(diǎn)首頁(yè),;導(dǎo)航頁(yè)

    Web日志挖掘現(xiàn)已成為Web挖掘研究的重點(diǎn)。其主要分為數(shù)據(jù)預(yù)處理,、模式發(fā)現(xiàn),、模式分析3個(gè)階段[1]。數(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)用,,過(guò)濾掉在模式發(fā)現(xiàn)階段沒(méi)有用的規(guī)則或模式,,并把有用的規(guī)則和模式轉(zhuǎn)換為知識(shí)。
    本文主要研究數(shù)據(jù)預(yù)處理階段的會(huì)話(huà)識(shí)別,。在分析現(xiàn)有的會(huì)話(huà)識(shí)別方法基礎(chǔ)上,,提出一種基于訪(fǎng)問(wèn)站點(diǎn)首頁(yè)和導(dǎo)航頁(yè)的改進(jìn)會(huì)話(huà)識(shí)別方法,最后通過(guò)實(shí)驗(yàn)驗(yàn)證了改進(jìn)的會(huì)話(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ù)處理過(guò)程在整個(gè)Web日志挖掘過(guò)程中占據(jù)著非常重要的地位,,是挖掘質(zhì)量的保證。
    數(shù)據(jù)預(yù)處理包括數(shù)據(jù)清理,、用戶(hù)識(shí)別,、會(huì)話(huà)識(shí)別、路徑補(bǔ)充和事務(wù)識(shí)別5個(gè)階段[2],。(1)數(shù)據(jù)清理是指刪除Web日志中與挖掘算法無(wú)關(guān)的數(shù)據(jù),;(2)用戶(hù)識(shí)別是識(shí)別出訪(fǎng)問(wèn)網(wǎng)站的每個(gè)用戶(hù);(3)會(huì)話(huà)識(shí)別是在用戶(hù)識(shí)別之后,,把每個(gè)用戶(hù)在一段時(shí)間內(nèi)的訪(fǎng)問(wèn)序列進(jìn)行分解,,從而得到相應(yīng)的會(huì)話(huà)。會(huì)話(huà)是指同一用戶(hù)在一次瀏覽過(guò)程中連續(xù)請(qǐng)求的頁(yè)面序列,,它代表了用戶(hù)對(duì)服務(wù)器的一次有效訪(fǎng)問(wèn),;(4)路徑補(bǔ)充是對(duì)識(shí)別出的用戶(hù)會(huì)話(huà)進(jìn)行優(yōu)化的步驟,以使得其更加準(zhǔn)確地描述用戶(hù)的瀏覽請(qǐng)求,;(5)事務(wù)識(shí)別是將用戶(hù)會(huì)話(huà)進(jìn)行語(yǔ)義分組,,形成適合挖掘需要的事務(wù)。
2 會(huì)話(huà)識(shí)別分析
    用戶(hù)會(huì)話(huà)[3]是指用戶(hù)從進(jìn)入站點(diǎn)到離開(kāi)站點(diǎn)期間所訪(fǎng)問(wèn)的一系列頁(yè)面序列集合,??杀硎緸椋?br />   
    其中SessionID是會(huì)話(huà)標(biāo)識(shí),{(Pid1,,t1)…(Pidk,,tk)…(Pidn,tn)}是此次用戶(hù)會(huì)話(huà)的頁(yè)面訪(fǎng)問(wèn)序列,,Pid是訪(fǎng)問(wèn)頁(yè)面的標(biāo)識(shí),,t是訪(fǎng)問(wèn)該頁(yè)面的時(shí)間。(Pid1,,t1)表示用戶(hù)此次會(huì)話(huà)訪(fǎng)問(wèn)的第一個(gè)頁(yè)面和時(shí)間,,(Pidn,tn)表示用戶(hù)此次會(huì)話(huà)訪(fǎng)問(wèn)的最后一個(gè)頁(yè)面和時(shí)間,。
2.1 常用會(huì)話(huà)識(shí)別方法
    目前常用會(huì)話(huà)識(shí)別方法主要有兩大類(lèi):一類(lèi)是基于時(shí)間閾值,,另一類(lèi)是基于用戶(hù)訪(fǎng)問(wèn)頁(yè)面時(shí)的參引頁(yè)面?;跁r(shí)間閾值的會(huì)話(huà)識(shí)別方法又可細(xì)分為以下3類(lèi):
    (1)設(shè)定會(huì)話(huà)的持續(xù)時(shí)間閾值θ,。即一個(gè)會(huì)話(huà)總的持續(xù)時(shí)間不超過(guò)θ。國(guó)外學(xué)者Catledge和Pitkow由實(shí)驗(yàn)得出θ設(shè)為25.5 min較好[4],許多商業(yè)產(chǎn)品都采用30 min作為缺省值,。
    (2)設(shè)定頁(yè)面的訪(fǎng)問(wèn)時(shí)間閾值η[5],。假設(shè)(Pidi,ti),、(Pidi+1,,ti+1)為一個(gè)用戶(hù)訪(fǎng)問(wèn)序列中的兩條相鄰訪(fǎng)問(wèn)記錄。只有當(dāng)ti+1-ti≤η時(shí),,才認(rèn)為這兩條記錄屬于同一個(gè)會(huì)話(huà),。當(dāng)ti+1-ti>η時(shí),(Pidi,,ti)是上一次會(huì)話(huà)的最后一條訪(fǎng)問(wèn)記錄,,而(Pidi+1,ti+1)是新會(huì)話(huà)的第一條訪(fǎng)問(wèn)記錄,。一般η取10 min,。
    (3)上述方法(2)是對(duì)所有頁(yè)面設(shè)定同一個(gè)頁(yè)面訪(fǎng)問(wèn)時(shí)間閾值,并沒(méi)有因頁(yè)面的不同而不同,。參考文獻(xiàn)[6]中,,根據(jù)統(tǒng)計(jì)的頁(yè)面的訪(fǎng)問(wèn)時(shí)間,在正態(tài)分布的假設(shè)下為每個(gè)頁(yè)面設(shè)定一個(gè)訪(fǎng)問(wèn)時(shí)間作為切分會(huì)話(huà)閾值,,并結(jié)合頁(yè)面內(nèi)容及站點(diǎn)結(jié)構(gòu)來(lái)確定頁(yè)面重要程度,,對(duì)該閾值進(jìn)行調(diào)整。這是一種個(gè)性化的時(shí)間閾值設(shè)置方法,。
   
2.2 常用會(huì)話(huà)識(shí)別方法評(píng)估
    第(1),、(2)兩種方法使用單一時(shí)間閾值來(lái)識(shí)別用戶(hù)會(huì)話(huà)顯然是不合理的。方法(1)不能識(shí)別出訪(fǎng)問(wèn)時(shí)間大于30 min的會(huì)話(huà),,且識(shí)別不出兩個(gè)連續(xù)較短的會(huì)話(huà),;方法(2)的不足在于,若一個(gè)用戶(hù)在訪(fǎng)問(wèn)站點(diǎn)期間暫時(shí)離開(kāi)電腦,,但并沒(méi)有退出站點(diǎn),,過(guò)10 min后回來(lái)繼續(xù)瀏覽該站點(diǎn),這實(shí)際上屬于同一個(gè)會(huì)話(huà),,而方法(2)則會(huì)錯(cuò)誤地認(rèn)為用戶(hù)開(kāi)始了一個(gè)新的會(huì)話(huà);方法(3)使用的統(tǒng)計(jì)學(xué)方法雖然大大減小了上限閾值,,但仍然無(wú)法準(zhǔn)確描述對(duì)頁(yè)面感興趣的用戶(hù)閱讀網(wǎng)頁(yè)的平均時(shí)間,,無(wú)法區(qū)分超短時(shí)間用戶(hù)訪(fǎng)問(wèn)記錄。
    基于參引頁(yè)面的會(huì)話(huà)識(shí)別方法引入了時(shí)間限制?駐,,主要是考慮到下面這種情況:訪(fǎng)問(wèn)頁(yè)面的引用頁(yè)面為空,,用戶(hù)可能是通過(guò)點(diǎn)擊瀏覽器上的”BACK”按鈕,回溯到之前某個(gè)曾經(jīng)瀏覽過(guò)的頁(yè)面,進(jìn)而訪(fǎng)問(wèn)到該頁(yè),。這顯然也是不合理的,,用戶(hù)從p頁(yè)面回退到上級(jí)頁(yè)面后,用戶(hù)要在此頁(yè)面搜尋到感興趣的p頁(yè)面,,并點(diǎn)擊鏈接進(jìn)入該頁(yè)面,,所需時(shí)間一般不止10 s,且用戶(hù)可能是回退多次后再點(diǎn)擊鏈接進(jìn)入p頁(yè)面,。因此,,此處設(shè)置這個(gè)時(shí)間閾值并不合理。
3 改進(jìn)的會(huì)話(huà)識(shí)別方法
3.1 會(huì)話(huà)劃分思考

    要準(zhǔn)確地識(shí)別出用戶(hù)會(huì)話(huà),,關(guān)鍵在于識(shí)別出兩次相鄰會(huì)話(huà)的分割點(diǎn),。即上一次會(huì)話(huà)結(jié)束時(shí)訪(fǎng)問(wèn)的頁(yè)面及下一次會(huì)話(huà)開(kāi)始時(shí)訪(fǎng)問(wèn)的頁(yè)面。而找出新會(huì)話(huà)開(kāi)始時(shí)訪(fǎng)問(wèn)的頁(yè)面,,也就意味著上一會(huì)話(huà)的結(jié)束,。因此,研究重點(diǎn)放在尋找標(biāo)記新會(huì)話(huà)開(kāi)始的訪(fǎng)問(wèn)頁(yè)面,。
    用戶(hù)開(kāi)始訪(fǎng)問(wèn)某一站點(diǎn),,一般是通過(guò)在瀏覽器的地址欄中輸入站點(diǎn)的URL或是通過(guò)點(diǎn)擊收藏欄中的收藏,通過(guò)站點(diǎn)的首頁(yè)進(jìn)入此站點(diǎn)的,,此時(shí)用戶(hù)也就開(kāi)始了自己的一次會(huì)話(huà),。在Web服務(wù)器日志中,可以查看用戶(hù)訪(fǎng)問(wèn)的URL是否是首頁(yè)來(lái)判斷用戶(hù)的這種行為,。當(dāng)用戶(hù)瀏覽完畢退出該站點(diǎn),,此時(shí)會(huì)話(huà)結(jié)束,而在Web服務(wù)器端日志中,,無(wú)法判斷這種用戶(hù)行為,。但當(dāng)該用戶(hù)下一次通過(guò)首頁(yè)來(lái)訪(fǎng)問(wèn)站點(diǎn)時(shí),在Web日志中發(fā)現(xiàn)用戶(hù)又鍵入了首頁(yè)URL,,則很顯然上一次會(huì)話(huà)在本條記錄之前結(jié)束,,本條記錄標(biāo)志用戶(hù)開(kāi)始了一個(gè)新的會(huì)話(huà)。
3.2 改進(jìn)的會(huì)話(huà)識(shí)別方法
    上述思想以訪(fǎng)問(wèn)站點(diǎn)的首頁(yè)作為新會(huì)話(huà)開(kāi)始的標(biāo)記,,基于這一前提用戶(hù)開(kāi)始訪(fǎng)問(wèn)站點(diǎn)時(shí)總是由站點(diǎn)首頁(yè)進(jìn)入站點(diǎn),。但真實(shí)的訪(fǎng)問(wèn)情況并不是所有的用戶(hù)每次開(kāi)始訪(fǎng)問(wèn)站點(diǎn)時(shí)都由首頁(yè)進(jìn)入。一般的站點(diǎn)分若干版塊,,而每一版塊都有自己的導(dǎo)航頁(yè),。如一門(mén)戶(hù)網(wǎng)站有新聞、體育,、娛樂(lè)各版塊,,有的用戶(hù)只對(duì)體育感興趣,,那么他可能就會(huì)將體育版塊的導(dǎo)航頁(yè)做為收藏,每次訪(fǎng)問(wèn)站點(diǎn)時(shí),,點(diǎn)擊收藏,,直接進(jìn)入體育導(dǎo)航頁(yè)開(kāi)始訪(fǎng)問(wèn),而非先通過(guò)站點(diǎn)首頁(yè),,再進(jìn)入體育版塊導(dǎo)航頁(yè),。因此,識(shí)別用戶(hù)會(huì)話(huà),,不能只以站點(diǎn)首頁(yè)作為開(kāi)始標(biāo)記,,還應(yīng)考慮各導(dǎo)航頁(yè),因?yàn)楹芏嘤脩?hù)是直接通過(guò)導(dǎo)航頁(yè)訪(fǎng)問(wèn)自己感興趣的頁(yè)面而非站點(diǎn)首頁(yè),。
    改進(jìn)的會(huì)話(huà)識(shí)別方法如圖1所示,,以站點(diǎn)首頁(yè)或?qū)Ш巾?yè)作為新會(huì)話(huà)開(kāi)始的標(biāo)識(shí)。

    改進(jìn)的會(huì)話(huà)識(shí)別方法具體描述如下:
    (1)首先用戶(hù)訪(fǎng)問(wèn)序列中的第一條訪(fǎng)問(wèn)記錄是第一個(gè)會(huì)話(huà)的開(kāi)始序列,,置入第一個(gè)會(huì)話(huà)中,;
    (2)讀取用戶(hù)訪(fǎng)問(wèn)序列中的下一條訪(fǎng)問(wèn)記錄,直至序列中所有記錄都處理完畢,;
    (3)判斷本次訪(fǎng)問(wèn)的頁(yè)面是否是站點(diǎn)的首頁(yè),,若是首頁(yè),則當(dāng)前會(huì)話(huà)結(jié)束,,新會(huì)話(huà)開(kāi)始,,將該次訪(fǎng)問(wèn)置入新會(huì)話(huà)的訪(fǎng)問(wèn)序列中,然后轉(zhuǎn)步驟(2)處理下一條訪(fǎng)問(wèn)記錄,。否則,,轉(zhuǎn)步驟(4);
    (4)判斷本次訪(fǎng)問(wèn)的頁(yè)面是否是站點(diǎn)的導(dǎo)航頁(yè)之一,,若不是(即該頁(yè)面為內(nèi)容頁(yè)),,則將本次訪(fǎng)問(wèn)置入當(dāng)前會(huì)話(huà)的訪(fǎng)問(wèn)序列中,然后轉(zhuǎn)步驟(2)繼續(xù)處理下一條訪(fǎng)問(wèn)記錄,。否則(即該頁(yè)面是導(dǎo)航頁(yè)之一),,轉(zhuǎn)步驟(5)判斷它的上一條訪(fǎng)問(wèn)記錄;
    (5)判斷上一條訪(fǎng)問(wèn)記錄,,若上一條訪(fǎng)問(wèn)記錄訪(fǎng)問(wèn)的頁(yè)面是首頁(yè),,則本次訪(fǎng)問(wèn)記錄和上次訪(fǎng)問(wèn)記錄同屬一個(gè)會(huì)話(huà);若上一條訪(fǎng)問(wèn)記錄訪(fǎng)問(wèn)的頁(yè)面不是首頁(yè),,則本次訪(fǎng)問(wèn)就標(biāo)識(shí)了新會(huì)話(huà)的開(kāi)始,,將其置入新會(huì)話(huà)的訪(fǎng)問(wèn)序列中。轉(zhuǎn)步驟(2),,處理下一條訪(fǎng)問(wèn)記錄,。
4 實(shí)驗(yàn)與結(jié)果分析
4.1 實(shí)驗(yàn)過(guò)程
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ì)話(huà)識(shí)別
    將這些Web訪(fǎng)問(wèn)日志通過(guò)SQL Loader載入Oracle數(shù)據(jù)庫(kù)中,,經(jīng)過(guò)數(shù)據(jù)清理,,共有有效訪(fǎng)問(wèn)記錄35 273條,存放在表log中,,如圖3所示,。

    此處,以Web訪(fǎng)問(wèn)日志中的IP地址作為用戶(hù)標(biāo)識(shí),,利用Oracle PL/SQL編程實(shí)現(xiàn)上述改進(jìn)的會(huì)話(huà)識(shí)別算法,。為了與其他的會(huì)話(huà)識(shí)別方法進(jìn)行比較,分別用2.1節(jié)中的方法(1)和方法(2)對(duì)同樣的Web日志進(jìn)行會(huì)話(huà)識(shí)別,,其中方法(1)取時(shí)間閾值30 min,,方法(2)取時(shí)間閾值10 min。實(shí)驗(yàn)結(jié)果如表1所示,。

4.2 實(shí)驗(yàn)分析
    通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),,改進(jìn)的會(huì)話(huà)識(shí)別方法識(shí)別出的會(huì)話(huà)數(shù)(11 325條)要遠(yuǎn)多于方法(1)(5 073條)和方法(2)(5 226條)。另外,,為了比較這三種會(huì)話(huà)識(shí)別方法識(shí)別會(huì)話(huà)的準(zhǔn)確率,,將三種方法中識(shí)別出的關(guān)于用戶(hù)220.178.4.195的會(huì)話(huà)分別與原始的Web日志記錄比較,發(fā)現(xiàn)改進(jìn)的會(huì)話(huà)識(shí)別方法識(shí)別會(huì)話(huà)的準(zhǔn)確率(82.19%)也要高于方法(1)(62.47%)和方法(2)(64.85%),。由此可見(jiàn),,改進(jìn)的會(huì)話(huà)識(shí)別方法能夠識(shí)別出更多的會(huì)話(huà),且識(shí)別會(huì)話(huà)的準(zhǔn)確率也更高,。
    數(shù)據(jù)預(yù)處理階段的會(huì)話(huà)識(shí)別為模式分析階段提供了挖掘數(shù)據(jù),,即每一個(gè)有效的用戶(hù)會(huì)話(huà),因此它直接影響到模式分析階段能否發(fā)現(xiàn)有效的模式,。本文提出的基于站點(diǎn)首頁(yè)和導(dǎo)航頁(yè)的改進(jìn)會(huì)話(huà)識(shí)別方法能識(shí)別出更多的會(huì)話(huà),,識(shí)別會(huì)話(huà)的準(zhǔn)確率更高。
參考文獻(xiàn)
[1] SRIVASTAVA J,, COOLEY R. Web usage mining: Discovery and applications of usage patterns from Web data[C]. SIGKDD Explorations,, 2000.
[2] COOLEY R, MOBASHER B,, SRIVASTAVA J. Data preparation for mining world wide web browsing patterns[J]. Knowledge and Information Systems,, 1999,1(1):5-32.
[3] FACCA F M,, LANZI P L. Mining interesting knowledge from Weblogs: a Survey[J]. Data and Knowledge Engineering,, 2005,,53(3):225-241.
[4] CATLEDGE L, PITKOW J. Characterizing browsing strategies in the world wide Web[J]. Computer Networks and ISDN Systems,, 1995,,27(6):1065-1073.
[5] SPILIOPOULOU M, MOBASHER B,, BERENDT B,, et al. A framework for the evaluation of session reconstruction heuristics in Web usage analysis[J]. Informs Journal of Computing, 2003,,15(2):171-179.
[6] 嚴(yán)奉華,,劉建平,楊凡丁.改進(jìn)的Web訪(fǎng)問(wèn)日志會(huì)話(huà)識(shí)別算法[J].計(jì)算機(jī)工程與設(shè)計(jì).2008,,29(22):5685-5687.
[7] 熊忠陽(yáng),,周亞峰.Web訪(fǎng)問(wèn)挖掘的預(yù)處理技術(shù)的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展2007,17(8):14-18.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。