[摘要] web服務(wù)器日志中保存了大量的用戶訪問電子商務(wù)系統(tǒng)的記錄,我們從中提取所需的數(shù)據(jù),運(yùn)用數(shù)據(jù)挖掘技術(shù)對所提取的數(shù)據(jù)進(jìn)行處理和分析,從而得到用戶購物的興趣和習(xí)慣,使電子商務(wù)系統(tǒng)更能滿足用戶的需求。
[關(guān)鍵詞] 數(shù)據(jù)挖掘 電子商務(wù) 頻繁訪問路徑
在電子商務(wù)網(wǎng)站模式下,用戶購買商品的過程就是在電子商務(wù)網(wǎng)站頁面中跳轉(zhuǎn)的過程,用戶的每個(gè)活動其實(shí)也就是對網(wǎng)站上的一個(gè)頁面對象的點(diǎn)擊操作,而這些點(diǎn)擊操作都被記錄在網(wǎng)站的系統(tǒng)日志中,通過對日志文件的分析挖掘,可以找出用戶行為模式;在另一方面,電子商務(wù)網(wǎng)站的結(jié)構(gòu)組織是不是符合客戶購買商品的規(guī)律,通過對網(wǎng)站日志的分析也可以得到。所有這些都離不開數(shù)據(jù)挖掘技術(shù),本文就是通過對電子商務(wù)網(wǎng)站服務(wù)器日志文件進(jìn)行分析,從而進(jìn)一步指導(dǎo)電子商務(wù)網(wǎng)站建設(shè)。
在Web中使用數(shù)據(jù)挖掘,數(shù)據(jù)最直接的來源是Web服務(wù)器日志,它非常明確地記錄了訪問者的瀏覽行為,在Web使用記錄挖掘中有很重要的地位。每當(dāng)有獲取資源的請求到來時(shí),服務(wù)器方將會產(chǎn)生Server1095,Error1095和Cookie1095三種類型的日志文件,記錄用戶訪問和交互的基本信息Web日志文件是由一條條的記錄組成,記錄了用戶對Web頁面的一次訪問,盡管不同Web服務(wù)器的記錄格式不盡相同,但都包含用戶訪問的基本信息。Web服務(wù)器文件的記錄格式:
一、提取數(shù)據(jù)
客戶在瀏覽網(wǎng)站時(shí),是以點(diǎn)擊超鏈接方式訪問電子商務(wù)網(wǎng)站,客戶的所有的點(diǎn)擊行為可以抽象的點(diǎn)擊流來表示,客戶的操作軌跡都被記錄在服務(wù)器日志里,因此我們可以大量收集每個(gè)客戶的行為數(shù)據(jù)、深入研究,從這些看似“無意義”的數(shù)據(jù)中得到有價(jià)值的信息和知識。我們可以收集并分析客戶的瀏覽行為,使用數(shù)據(jù)挖掘方法發(fā)現(xiàn)客戶的使用模式,向客戶提供個(gè)性化頁面的推薦服務(wù)。
同時(shí)可以刪除web日志中與挖掘算法無關(guān)的記錄,本文中所需要的數(shù)據(jù)主要是用戶名、請求的頁面的時(shí)間和頁面的地址,其它的數(shù)據(jù)項(xiàng)不需要,因此都可以刪除。
二、用戶識別
用戶識別是點(diǎn)擊流數(shù)據(jù)預(yù)處理過程中一項(xiàng)比較困難的任務(wù),但目前已出現(xiàn)了不少來精確識別一個(gè)用戶的方法,其中最簡單但是誤差也最大的一種方法就是根據(jù)IP進(jìn)行識別,此外還有一些嵌入sessionID、讓用戶進(jìn)行注冊、在客戶端寫入Cookie標(biāo)識以及使用嵌入代理的方法每種方法都有其自身的優(yōu)缺點(diǎn)。在Web日志挖掘中,如果只根據(jù)服務(wù)器端日志確定用戶往往會有一定的誤差,確定用戶的誤差會導(dǎo)致對用戶訪問事務(wù)的劃分出現(xiàn)不準(zhǔn)確,從而使得數(shù)據(jù)挖掘的結(jié)果也出現(xiàn)偏差。可以根據(jù)結(jié)果所要的精確度,選擇不同的方法進(jìn)行識別,我們一般選擇在客戶端寫入Cookie的方法即可達(dá)到比較好效果。
三、會話事務(wù)識別
用戶會話的數(shù)學(xué)表示:用戶會話S是一個(gè)二元組
S=
服務(wù)器要并發(fā)處理多個(gè)用戶的請求,要從多個(gè)相互交織的用戶訪問事務(wù)中正確區(qū)分出所有用戶訪問事務(wù)比較困難。一般都是對用戶在客戶端瀏覽行為做不同的假設(shè),然后再在此基礎(chǔ)上確定用戶訪問事務(wù)。因此確定的用戶訪問事務(wù)并不能保證完全精確。根據(jù)對用戶訪問行為的不同假設(shè),有四種確定用戶訪問行為及訪問事務(wù)的模型:頁面類型模型(PageTyPeModel)、參引長度模型(ReferenceLengthModel)、最大向前參引模型(MaximalForward
RefereneeModel)、時(shí)間窗口模型(TimeWindowModel)。
我們采用時(shí)間窗口模型對用戶訪問事務(wù)進(jìn)行識別。時(shí)間窗口模型中,對用戶瀏覽行為假定的方法是認(rèn)為用戶一次訪問的時(shí)間都有一個(gè)最大的限制。我們采用時(shí)間間隔來區(qū)分用戶訪問事務(wù),即如果相鄰兩個(gè)頁面請求的間隔時(shí)間超過一定的界限,就認(rèn)為是開始了一次新的用戶會話。此時(shí),公式1要滿足式公式2:
timei-timet-1≤W,1<i≤k—公式2
在時(shí)間窗口模型中劃分用戶訪問事務(wù)。其中關(guān)鍵的一步是如何確定時(shí)間窗口大小即超時(shí)閥值。因?yàn)槌瑫r(shí)閥值的確定直接影響到點(diǎn)擊流數(shù)據(jù)預(yù)處理結(jié)果的輸出,不同的超時(shí)閥值會產(chǎn)生不同的用戶會話文件。對于超時(shí)閥值,我們采用對實(shí)際日志進(jìn)行實(shí)驗(yàn),觀察超時(shí)閥值與平均用戶會話長度及用戶會話個(gè)數(shù)之間的關(guān)系來確定。
實(shí)驗(yàn)證明,當(dāng)超時(shí)閥值到達(dá)60分鐘時(shí),會話長度增長于平穩(wěn),并且會話個(gè)數(shù)減少的趨勢也趨于平穩(wěn),因而在我們的系統(tǒng)中將超時(shí)閥設(shè)為60分鐘。目前,許多商業(yè)產(chǎn)品將缺省超時(shí)值確定為30分鐘,超時(shí)的界限以根據(jù)站點(diǎn)的使用統(tǒng)計(jì)反饋的結(jié)果進(jìn)行調(diào)節(jié),直到可以更準(zhǔn)確地識別會話。
四、頻繁路徑的挖掘
用戶頻繁訪問路徑是用戶在一定時(shí)期內(nèi)多次瀏覽的連續(xù)頁面序列,它最能反映在這個(gè)時(shí)期里用戶的瀏覽興趣。因此,用戶頻繁訪問路徑的挖掘?qū)τ诹私庥脩舢?dāng)前興趣,為用戶提供個(gè)性化的服務(wù)有著非常重要的意義。用戶頻繁訪問路徑挖掘算法輸入數(shù)據(jù)為事務(wù)識別的結(jié)果:用戶的MFP集合。輸出的是用戶的頻繁訪問路徑集合和相應(yīng)的支持度。據(jù)此結(jié)論,可以得到用戶的興趣模式。相關(guān)定義和概念。
定義1:給定路徑P={x1,x2,…xn},任意的p`={xi,xi+1,…xi+j}(i=1,i.+j=n)均為P的子路徑(Sub一path),且稱P包含p`。
定義2:如果一個(gè)Web訪問路徑P={x1,x2,…xn},滿足以下條件:
則稱路徑P為頻繁路徑。其中,Smin為預(yù)先定義的最小支持度。頻繁訪問路徑就是MFP中滿足一定支持度的連續(xù)頁面序列。
定義3:支持度指包含頻繁訪問路徑的用戶會話的數(shù)目。定義頻繁訪問路徑的長度為其包含的頁面數(shù)。設(shè)長度為k的頻繁遍歷路徑的集合為FPk,其中最頻繁的M個(gè)訪問路徑的集合為FPk_m={Pk_1,…Pk_m}。
定義4候選路徑:若兩個(gè)連續(xù)的k-1長的子路徑{xj,… xj+k-2}和{xj+1,…xj+k-1}都是FPK-1的元素,即它們的支持度都不小于Pk-1_.m。的支持度,那就稱{xj,…xj+k-1}為FKk的候選路徑。如會話S包含兩個(gè)MFP:{a,b,c,d,e}和{f,g},尋找FP3的候選路徑需要考慮3個(gè)子路徑{a,b,c}{b,c,d}{c,d,e},如果{a,b}{b,c}是即FP2中的頻繁訪問路徑,那么{a,b,c}就是一個(gè)FP3的候選路徑。
用戶頻繁訪問路徑挖掘算法,挖掘長度為k的用戶頻繁訪問路徑就是設(shè)法構(gòu)造FPk。算法的主要思想是基于候選路徑的概念,從MFP中找出長度為k的候選路徑{xj,…xj+k-1,},然后計(jì)算它在用戶所有會話中的支持度。支持度最大的M個(gè)路徑的集合就是FKk_m。
構(gòu)造FPk(k>1)的算法如下:
輸入:一個(gè)用戶的MFP的集合Fi。
輸出:一個(gè)用戶的頻繁遍歷路徑集合FPk(k>l)。
for每個(gè)Fi. {
for Fi中的每個(gè){x1, x2, ……, xm}{
if (k=m){
for (j =l;j< m-k+l;j++)}
if{ x j,… xj+k-1}己經(jīng)在FPk中
{xj,…xj+k-1}的支持度加1
else if{ x j,…xj+k-2}的支持度=Sk-1and{xj+l,…xj+k-1}的支持度=Sk-1
將{xj,… xj+k-1}插入FPk;
}
}
}
}
在調(diào)用發(fā)現(xiàn)頻繁遍歷路徑的算法之前,先要計(jì)算每一頁在用戶會話中的支持度,也就是路徑長度為1的情況,然后從2直到k循環(huán)調(diào)用發(fā)現(xiàn)頻繁遍歷路徑的算法,每一次循環(huán)都可以利用上一次循環(huán)結(jié)果中的支持度。
使用該算法分析每個(gè)用戶會話,得到每個(gè)用戶頻繁遍歷路徑表,用戶頻繁遍歷路徑表:
在電子商務(wù)系統(tǒng)的推薦模塊里。就可以根據(jù)用戶的ID號和及其相應(yīng)的頻繁訪問路徑向用戶提供最可能的訪問鏈接,從而達(dá)到向用戶推薦其最可能需要產(chǎn)品的目的。
五、小結(jié)
本文通過對web服務(wù)器的日志文件的數(shù)據(jù)進(jìn)行處理和分析,使用數(shù)據(jù)挖掘的方法,從中得到用戶的頻繁訪問路徑,來了解用戶的購物特性和習(xí)慣,從而達(dá)到向每個(gè)用戶推薦產(chǎn)品的目的。Web挖掘是一個(gè)十分復(fù)雜,但是有廣泛應(yīng)用前景的技術(shù),很多方面都值得我們?nèi)ヌ骄俊?/p>
參考文獻(xiàn):
[1]華廣穎張慧穎等:關(guān)聯(lián)規(guī)則挖掘在企業(yè)運(yùn)作策略調(diào)查問卷中的應(yīng)用[J].工業(yè)工程, 2004,(02)
[2]辛燕:基于點(diǎn)擊流分析的電子商務(wù)智能決策支持系統(tǒng)[D]. 江蘇大學(xué),2003
[3]周世東:web數(shù)據(jù)挖掘在電子商務(wù)中應(yīng)用與研究[D].北方交通大學(xué),2008
[4]朱明著:數(shù)據(jù)挖掘.中國科學(xué)技術(shù)大學(xué)出版社,2002.2