1 Web挖掘
Web挖掘是指運(yùn)用數(shù)據(jù)挖掘技術(shù)從Web頁面中發(fā)現(xiàn)和抽取信息的過程。Web挖掘又分為3種類型:Web使用挖掘、Web結(jié)構(gòu)挖掘和Web內(nèi)容挖掘。Web使用挖掘的數(shù)據(jù)源主要是Web日志文件,通過挖掘Web日志可以了解用戶的訪問模式?;谟脩舻脑L問模式,可以對網(wǎng)站的鏈接進(jìn)行相應(yīng)的修正;了解用戶興趣,為用戶定制個(gè)性化的頁面;進(jìn)行用戶分類,對不同的用戶實(shí)行不同的促銷策略,提高投資回報(bào)率;向用戶推薦Web頁面等。
2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理是Web使用挖掘的第一個(gè)環(huán)節(jié)。預(yù)處理的對象是Web 日志文件。由于Web 日志文件的格式是半結(jié)構(gòu)化的,且日志中的數(shù)據(jù)不夠完整,因此需要對Web日志文件進(jìn)行預(yù)處理,將其轉(zhuǎn)化為易于挖掘的、具有良好格式的數(shù)據(jù)。數(shù)據(jù)預(yù)處理結(jié)果的好壞將直接影響后面所進(jìn)行的事務(wù)識別、路徑分析、關(guān)聯(lián)規(guī)則挖掘和序列模式發(fā)現(xiàn)等環(huán)節(jié)的效果。Web使用的挖掘流程如圖1所示,包括預(yù)處理、模式挖掘、模式分析和可視化。本文將重點(diǎn)研究其中的數(shù)據(jù)預(yù)處理模塊。
數(shù)據(jù)預(yù)處理主要包括數(shù)據(jù)清理、用戶識別和會話識別等幾個(gè)步驟。
2.1 數(shù)據(jù)清理
數(shù)據(jù)清理的任務(wù)就是刪除那些和挖掘目的無關(guān)的數(shù)據(jù),避免無關(guān)數(shù)據(jù)對后續(xù)步驟的影響。由于網(wǎng)頁中存在大量的圖片(如GIF、JPEG、JPG等),當(dāng)用戶訪問網(wǎng)頁時(shí),其中的圖片都會作為單獨(dú)的記錄存在于日志文件中。對于大多數(shù)挖掘任務(wù)來說它們都是可以忽略的(但如果網(wǎng)站是專門提供圖片的則要另外考慮)。刪除這些記錄可以減少后續(xù)步驟所要處理的數(shù)據(jù)量,提高處理速度,同時(shí)還可以減少無效數(shù)據(jù)對挖掘過程的影響。
例如,取自天津大學(xué)網(wǎng)站003年3月1日至3月7日一周的日志文件,共105MB,進(jìn)行數(shù)據(jù)清理之前共有記錄1 174 093條,按照上述方法清理之后剩余記錄為378 747條,由此可以充分說明數(shù)據(jù)清理的作用。
2.2 用戶識別
用戶識別就是從日志文件中識別出有哪些用戶訪問了網(wǎng)站,以及每個(gè)用戶訪問了哪些網(wǎng)頁。下面給出關(guān)于用戶(User)的定義。
定義1 用戶
用戶的定義為User=〈UserID,User_IP,User_Referer_Page,User_Agent〉。UserID是識別出的用戶的標(biāo)識,User_IP、User_Referer_Page和User_Agent分別代表用戶的IP地址、訪問過的頁面以及用戶所用電腦的操作系統(tǒng)、瀏覽器版本信息。通過以上各項(xiàng)可以惟一確定用戶。
已經(jīng)注冊的用戶可以很容易被識別出來。而事實(shí)上,有許多用戶未經(jīng)注冊,還有大量用戶使用代理服務(wù)器上網(wǎng),或多個(gè)用戶共用一臺電腦。此外防火墻的存在以及一個(gè)用戶使用不同的瀏覽器等,都增加了用戶識別難度。當(dāng)然可以采用Cookies來追蹤用戶的行為,但是考慮到個(gè)人隱私問題,許多用戶的瀏覽器是禁用Cookies的,因此有必要考慮其他方法解決該問題。
對于使用同一臺電腦或者使用相同代理上網(wǎng)的多名用戶的區(qū)分,可以借助于網(wǎng)站的拓?fù)鋱D檢測是否此次訪問的頁面可以從上次訪問的頁面直接到達(dá),如果不能,則很有可能是多名用戶共用一臺電腦或者一個(gè)代理。但是該方法主要涉及的是網(wǎng)頁拓?fù)浣Y(jié)構(gòu)的問題,沒有考慮單個(gè)用戶使用多個(gè)代理或者多臺電腦的情況。此外,還可以通過基于導(dǎo)航模式(Navigation Patterns)的用戶會話自動生成技術(shù)來識別用戶。這種方法所側(cè)重的是網(wǎng)頁的分類和彼此之間的鏈接關(guān)系。所以上面二種方法在用戶識別的過程中只是考慮了個(gè)別的影響因素,只能部分解決用戶不確定的問題,沒有充分考慮所有可能出現(xiàn)的情況。本文給出了一種新的用戶及會話識別算法(User and Session IdentifICation Algorithm,USIA)。該算法綜合考慮用戶IP(User_IP)、網(wǎng)站的拓?fù)鋱D、參考網(wǎng)頁(Referer)和Agent來識別出單個(gè)用戶。在考慮算法的精度和效率的前提下盡可能用更多的影響因素來識別用戶,具有較好的準(zhǔn)確性和可擴(kuò)展性。
2.3 會話識別
一個(gè)會話就是指用戶在一次訪問過程中所訪問的Web頁面序列。下面給出了關(guān)于會話的定義。
定義2 會話
會話的定義為Session=〈Si,UserID,Times,Timee,[(url1,time1),(url2,time2)……(urlk,timek)]〉。Si是Session標(biāo)識,UserID是用戶識別過程所識別出的用戶的標(biāo)識,Times是會話的初始時(shí)間,Timee是會話的結(jié)束時(shí)間,urlk是此次會話所訪問的頁面urls,timek是頁面urlk被訪問的時(shí)間。
一個(gè)日志文件的時(shí)間跨度是不確定的,一名用戶可能多次訪問同一站點(diǎn)。會話識別的目的就是將用戶每次的訪問頁面劃分到不同的會話當(dāng)中,這樣以會話為基本單元將有助于模式的挖掘和分析。
區(qū)分一個(gè)用戶的2個(gè)不同會話的最常用的方法是:規(guī)定一個(gè)超時(shí)值(常用的是30分鐘),如果對2個(gè)頁面的請求時(shí)間間隔超過了這個(gè)預(yù)先設(shè)定的閾值,則可以看作用戶又開始了一次新的會話。由于將超時(shí)值預(yù)置為30分鐘,并且經(jīng)過了大量實(shí)際應(yīng)用的檢驗(yàn),證明該方法簡單易行,因此本文采用了該方法。
對于識別出的用戶和會話需要存儲起來,以備后續(xù)步驟進(jìn)行挖掘時(shí)使用。此處定義了Cube作為用戶和會話的數(shù)據(jù)存儲格式。
定義3 Cube
Cube是算法USIA識別出的用戶和會話的存儲方式,定義為Cube=〈Si,UserID,User_IP,[(url1,time1), (url2,time2)……(urlk,timek)]〉。其中Si和UserID的含義同定義2,User_IP是用戶的IP地址,urlk是此次會話所訪問的頁面Urls,timek是頁面urlk被訪問的時(shí)間。
2.4 USIA算法
2.4.1 USIA算法過程
2.4.2 USIA算法的優(yōu)點(diǎn)如下:
(1)準(zhǔn)確度高:克服了傳統(tǒng)方法中只采用IP地址區(qū)分訪問者所導(dǎo)致的識別精度不高的缺點(diǎn)。該算法綜合考慮用戶IP、網(wǎng)站的拓?fù)鋱D、參考網(wǎng)頁和Agent來識別單個(gè)用戶。在考慮算法的精度和效率的前提下盡可能用更多的影響因素來識別用戶,具有較好的準(zhǔn)確性和可擴(kuò)展性。
(2)效率高:在一個(gè)算法中實(shí)現(xiàn)了用戶識別和會話識別,克服了將用戶識別和會話識別分開單獨(dú)進(jìn)行所引起的效率低的缺點(diǎn)。
(3)良好的數(shù)據(jù)存儲格式:對于識別出的用戶和會話,算法USIA構(gòu)造出動態(tài)數(shù)據(jù)立方體存放用戶ID、用戶IP、用戶Url、用戶訪問時(shí)間,避免了大量存儲空間的浪費(fèi)。
用戶和會話的存儲方式示意圖如圖3所示,縱軸表示識別出的用戶和會話,其中n表示總的用戶數(shù),k表示某用戶的第k個(gè)會話,不同的用戶會話采用不同的UserID來表示,如1-1,2-1,3-1,……n-k.同一用戶可能有多個(gè)不同的會話,如圖中用戶3有2個(gè)會話3-1和3-2.
IPn表示第n個(gè)用戶的IP地址。橫軸表示在一次單獨(dú)的會話中用戶所訪問的頁面Url序列,該序列按時(shí)間先后順序排列,如圖中的字母A、B、C、D、E、F等表示頁面的Url.時(shí)間軸存放用戶訪問某個(gè)頁面時(shí)的時(shí)間,如用戶1訪問頁面A的時(shí)間為2003-03-01 10:21:36.這樣存放對于數(shù)據(jù)預(yù)處理之后的序列模式挖掘很有益。圖中的數(shù)字“12”表示用戶1在一次單獨(dú)的會話中總共訪問了12個(gè)頁面。這樣便于用動態(tài)數(shù)據(jù)立方體存儲用戶識別和會話識別的結(jié)果,為下一步提高模式挖掘的效率和準(zhǔn)確性奠定了基礎(chǔ)。
USIA算法存在的不足:在判定當(dāng)前用戶和已經(jīng)識別出的用戶是否為同一個(gè)訪問者的過程中,需要考慮的因素較多,導(dǎo)致算法的運(yùn)算速度降低。但是考慮到對于Web日志文件的挖掘分析并不是實(shí)時(shí)的,運(yùn)算速度并不是首要考慮的因素,因此權(quán)衡識別精度和運(yùn)算速度是值得的。
3 試驗(yàn)結(jié)果
以天津大學(xué)網(wǎng)站(http://www.tju.edu.cn/)2003-03-01至2003-03-07一周的Web日志文件作為試驗(yàn)的對象。該日志文件共105MB,經(jīng)數(shù)據(jù)清理后剩余有效記錄為378 747條。
為了對比不同的用戶識別方法對用戶識別精度的影響,針對數(shù)據(jù)清理后剩余的378 747條有效記錄分別進(jìn)行了4組試驗(yàn),每組試驗(yàn)采用不同的識別方法。其中方法4為算法USIA.
方法1:只根據(jù)IP地址識別用戶,識別出18 706名用戶。
方法2:根據(jù)IP地址和參考網(wǎng)頁識別出19 528名用戶。
方法3:根據(jù)IP地址、參考網(wǎng)頁和Agent識別用戶,識別出21 655名用戶。
方法4:根據(jù)IP地址、參考網(wǎng)頁、Agent和網(wǎng)站拓?fù)浣Y(jié)構(gòu)識別用戶,識別出22 173名用戶。
由實(shí)驗(yàn)結(jié)果可以看出,采用USIA算法共識別出用戶22 173名,如果僅用IP地址來識別用戶則只能識別出18 706名用戶,而會有22173-18706=3467名用戶被忽略,可見USIA算法擁有更高的用戶識別精度。從營銷以及客戶服務(wù)的角度看,如果這3 467名用戶被精確地識別出來,對每個(gè)用戶實(shí)行個(gè)性化定制,有可能使其中相當(dāng)比例的用戶轉(zhuǎn)化為網(wǎng)站的忠誠顧客,從而給公司帶來更多收益。
4 總結(jié)
本文討論了Web使用挖掘中的數(shù)據(jù)預(yù)處理模塊,側(cè)重于預(yù)處理的具體實(shí)現(xiàn),提出的USIA算法能夠很好地同步識別出用戶和會話,比一般的識別算法有更好的識別精度。目前國外針對Web使用挖掘的研究有很多,國內(nèi)也有一些院校及研究機(jī)構(gòu)在進(jìn)行這方面的研究工作,但是有影響的并不多??紤]到Web使用挖掘所具有的極大的商業(yè)價(jià)值和廣闊的應(yīng)用前景以及相關(guān)技術(shù)還具有很大的提升空間。
Web挖掘是一個(gè)有著巨大發(fā)展前景的研究領(lǐng)域。Web使用挖掘能夠從Web服務(wù)器日志中抽取用戶感興趣的潛在的有用模式和隱藏的信息,優(yōu)化站點(diǎn)結(jié)構(gòu),以使得教育資源合理配置,并能根據(jù)用戶的個(gè)性特征主動推送感興趣內(nèi)容,提高個(gè)性化水平。因此將會有更多的研究力量投入到這個(gè)領(lǐng)域,研究的重點(diǎn)將會在繼續(xù)關(guān)注模式發(fā)現(xiàn)的基礎(chǔ)上更多地趨向于模式分析、分析結(jié)果的可視化以及人機(jī)交互等方面。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6795瀏覽量
88730 -
Web
+關(guān)注
關(guān)注
2文章
1255瀏覽量
69287 -
電腦
+關(guān)注
關(guān)注
15文章
1676瀏覽量
68592
發(fā)布評論請先 登錄
相關(guān)推薦
評論