本發(fā)明涉及頁面挖掘領(lǐng)域,具體涉及一種基于用戶訪問的關(guān)聯(lián)頁面挖掘方法及系統(tǒng)。
背景技術(shù):
以辯證的觀點來看,事物間是存在著普遍聯(lián)系的。對于Web網(wǎng)站來說,網(wǎng)站管理員通過添加鏈接使得整個網(wǎng)站的頁面聯(lián)系起來,這是一種顯式的網(wǎng)頁間的聯(lián)系。然而,隱藏在Web日志中的網(wǎng)頁間的隱式的鏈接關(guān)系卻更能夠真實的反應(yīng)網(wǎng)頁間的用戶興趣相關(guān)性。就如同著名的“啤酒與尿布”的案例一樣,大量的隱性頁面關(guān)聯(lián)就隱藏在Web日志之中的點擊流序列之中。當(dāng)前所有的頁面關(guān)聯(lián)都是通過HTTP顯式標(biāo)記的,并沒有一種方法能夠通過用戶的瀏覽路徑發(fā)現(xiàn)用戶的興趣頁面組。
所有的網(wǎng)頁都被互聯(lián)網(wǎng)管理人員以超文本鏈接的形式互相連接了起來。這樣的聯(lián)系只能夠反映出網(wǎng)站的邏輯結(jié)構(gòu)或者互聯(lián)網(wǎng)管理人員的一種建站思路,并不能夠反映出用戶的興趣。
用戶通過訪問站點,在Web日志中留下了訪問足跡,留下了非常好的分析用戶興趣的數(shù)據(jù)資源。通過分析這些數(shù)據(jù),就可以發(fā)現(xiàn)哪些頁面具有關(guān)聯(lián)性。比如,70%的用戶在訪問了頁面A之后會再次訪問頁面B。這樣的頁面組,就稱之為隱式關(guān)聯(lián)頁面。通過隱式關(guān)聯(lián)頁面,網(wǎng)站管理員就可以有針對性的調(diào)整頁面結(jié)構(gòu),來獲取更多的訪問流量。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)存在的不足,本發(fā)明公開了一種基于用戶訪問的關(guān)聯(lián)頁面挖掘方法及系統(tǒng),通過對每個單獨頁面出現(xiàn)頻率、置信度、支持度的計算,確定用戶感興趣的頁面組,從而挖掘用戶興趣,并可據(jù)此提高網(wǎng)站的設(shè)計。
為實現(xiàn)上述目的,本發(fā)明的具體方案如下:
一種基于用戶訪問的關(guān)聯(lián)頁面挖掘方法,包括:
用戶目標(biāo)頁面確定的步驟:Web日志中記錄有所有頁面訪問記錄,將干擾頁面清洗掉或進行刪除,最終從所有頁面訪問記錄中識別出用戶目標(biāo)頁面并形成會話序列集合;
根據(jù)用戶目標(biāo)頁面進行隱式關(guān)聯(lián)頁面的挖掘步驟:計算會話序列集合中頁面的支持度,支持度大于設(shè)定閾值的頁面構(gòu)成集合,對該集合進一步的組合并刪除組合后的集合中的不是用戶目標(biāo)頁面的元素,通過遞歸計算直至支持度大于設(shè)定閾值的頁面構(gòu)成集合的第k個集合Lk為空集,用戶訪問的關(guān)聯(lián)頁面即為所有集合Lk的并集,k>2。
進一步的,在用戶目標(biāo)頁面確定的步驟中,將一部分干擾頁面在數(shù)據(jù)提取、轉(zhuǎn)換和加載過程中清洗掉,將另一部分干擾頁面通過相應(yīng)的算法刪除。
進一步的,在數(shù)據(jù)提取、轉(zhuǎn)換和加載過程中清洗掉的頁面為該頁面所屬系統(tǒng)產(chǎn)生的干擾頁面。
進一步的,將另一部分干擾頁面通過相應(yīng)的算法刪除時,將對頁面的平均閱讀時間大于設(shè)定閾值的頁面標(biāo)記用戶目標(biāo)頁面。
進一步的,會話序列集合為S,S={S1,S2,…,Sn},其中,Si={x1,x2,…,xj},xj為會話Si中第j個訪問頁面,在Si中,訪問序列是有順序性的,除了x1外,每個訪問頁面都有且只有一個前驅(qū)頁面;除了xj外,每個訪問頁面都有且只有一個后繼頁面;對于xi來說其前驅(qū)頁面是xi-1,后繼頁面是xi+1。
進一步的,通過模式匹配算法在日志記錄中找出用戶目標(biāo)頁面對應(yīng)的序列出現(xiàn)的次數(shù)。
進一步的,根據(jù)用戶目標(biāo)頁面進行隱式關(guān)聯(lián)頁面的挖掘步驟具體包括:
1)計算會話序列集合中所有頁面的支持度,將所有大于第一設(shè)定閾值的頁面形成L1;
2)在L1的基礎(chǔ)上,將L1的所有頁面兩兩組合,形成C2′,掃描會話,刪除C2′中不存在于會話中的元素,形成C2,計算C2元素的支持度和置信度,支持度大于第一設(shè)定閾值且置信度大于第二設(shè)定閾值的元素形成L2;
3)從L2開始,對于所有的在Lk-1中的元素,設(shè)任意兩個頁組序列Pi(x1,x2,…,xk-1),Pj(y1,y2,…,yk-1),如果(x2=y(tǒng)1and x3=y(tǒng)2…and xk-1=y(tǒng)k-2),那么就形成新的頁面{x1,…,xk-1,yk-1},并加入到Ck′,掃描會話,刪除Ck′中不存在于會話中的元素,形成Ck,計算Ck元素的支持度和置信度,支持度大于第一設(shè)定閾值且置信度大于第二設(shè)定閾值的元素形成Lk,如此遞歸的計算,直到Lk為空集為止。
一種基于用戶訪問的關(guān)聯(lián)頁面挖掘系統(tǒng),包括:
用戶目標(biāo)頁面確定單元:Web日志中記錄有所有頁面訪問記錄,將干擾頁面清洗掉或進行刪除,最終從所有頁面訪問記錄中設(shè)別出用戶目標(biāo)頁面并形成會話序列集合;
隱式關(guān)聯(lián)頁面的挖掘單元:計算會話序列集合中頁面的支持度,支持度大于設(shè)定閾值的頁面構(gòu)成集合,對該集合進一步的組合并刪除組后的集合中的不是用戶目標(biāo)頁面的元素,通過遞歸計算直至支持度大于設(shè)定閾值的頁面構(gòu)成集合的第k個集合Lk為空集,用戶訪問的關(guān)聯(lián)頁面即為所有集合Lk的并集,k>2。
進一步的,在用戶目標(biāo)頁面確定單元中,將一部分干擾頁面在數(shù)據(jù)提取、轉(zhuǎn)換和加載過程中清洗掉,將另一部分干擾頁面通過相應(yīng)的算法刪除。
進一步的,在用戶目標(biāo)頁面確定單元中,在數(shù)據(jù)提取、轉(zhuǎn)換和加載過程中清洗掉的頁面為該頁面所屬系統(tǒng)產(chǎn)生的干擾頁面。
進一步的,在用戶目標(biāo)頁面確定單元中,將另一部分干擾頁面通過相應(yīng)的算法刪除時,將對頁面的平均閱讀時間大于設(shè)定閾值的頁面標(biāo)記用戶目標(biāo)頁面。
進一步的,會話序列集合表示單元:會話序列集合為S,S={S1,S2,…,Sn},其中,Si={x1,x2,…,xj},xj為會話Si中第j個訪問頁面,在Si中,訪問序列是有順序性的,除了x1外,每個訪問頁面都有且只有一個前驅(qū)頁面;除了xj外,每個訪問頁面都有且只有一個后繼頁面;對于xi來說其前驅(qū)頁面是xi-1,后繼頁面是xi+1。
本發(fā)明的有益效果:
1.基于對過去目標(biāo)頁面確定文獻的改進,通過目標(biāo)頁面的定義公式可以有效地識別用戶的興趣頁面,從而為進一步的關(guān)聯(lián)頁面發(fā)現(xiàn)打下基礎(chǔ)。無關(guān)頁面的存在會大大降低發(fā)現(xiàn)有用模式的概率。
2.通過對每個單獨頁面出現(xiàn)頻率、置信度、支持度的計算,確定用戶感興趣的頁面組,從而挖掘用戶興趣,并可據(jù)此提高網(wǎng)站的設(shè)計,留住用戶。
附圖說明
圖1本發(fā)明的算法流程圖。
具體實施方式:
下面結(jié)合附圖對本發(fā)明進行詳細說明:
本發(fā)明是一種基于用戶訪問的關(guān)聯(lián)頁面挖掘方法,具體包括用戶目標(biāo)頁面確定步驟、隱式關(guān)聯(lián)頁面的挖掘步驟。
概念定義與算法描述如下:
1.用戶目標(biāo)頁面的確定
用戶在訪問網(wǎng)站的時候,所有的頁面訪問記錄都會被記錄到Web日志當(dāng)中。但是,并非所有的記錄都是有意義的可挖掘頁面。例如,用戶在瀏覽網(wǎng)頁時隨著網(wǎng)頁而下載的文件(如用戶訪問網(wǎng)站時,隨著頁面一起下載網(wǎng)站LOGO圖片等),還有用戶無意間打開的網(wǎng)頁但是隨后又接著關(guān)掉了。我們將用戶訪問網(wǎng)站時,本意要瀏覽的頁面成為用戶目標(biāo)頁面。有效的識別出用戶目標(biāo)頁面,不僅可以大大減少不相干頁面的干擾導(dǎo)致的分析結(jié)果差異,還可以使算法的處理過程更有效率。
對于因為系統(tǒng)或者設(shè)計而產(chǎn)生的干擾頁面(比如隨頁面一起下載的LOGO圖片),可以在ETL的過程中將其清洗掉。干擾頁面可定義為非用戶瀏覽行為所產(chǎn)生的瀏覽頁面。干擾頁面的存在會降低準(zhǔn)確識別用戶行為的能力,因此在預(yù)處理過程中要將其過濾。對于其他的情況,就需要通過一定的算法來找出用戶目標(biāo)頁面。
ETL,是英文Extract-Transform-Load的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程。
網(wǎng)站中的頁面,從用戶的角度來看,可以分為兩類:一類是用戶真正感興趣的頁面,另一類是導(dǎo)航頁面,負責(zé)導(dǎo)引用戶到達其所感興趣的頁面。在Web日志中,用戶的訪問都被記錄,如果能夠有效的識別出用戶的目標(biāo)頁面,將會對后續(xù)的算法節(jié)省大量的時間和空間成本。褚紅丹等提出了一種用戶興趣度的訪問模式挖掘算法,其中定義了用戶頁面興趣度的計算方法。葉彧在其碩士論文中,對用戶的頁面興趣度提出了若干量化指標(biāo)。Kimball等在其著作《Web數(shù)據(jù)倉庫構(gòu)建指南》中認為一般用戶可以忍受的頁面響應(yīng)延遲為30秒。據(jù)此可以認為,超過30秒的訪問頁面可以在很大程度上認為是用戶的興趣頁面,綜合上述觀點方法,本申請給出目標(biāo)頁面的定義、計算方法以及相關(guān)概念的定義。
定義平均訪問時間
其中,tij代表頁面i第j次訪問時間,n代表頁面i的總訪問次數(shù)。
定義平均閱讀量
其中,P(i).size代表頁面i的大小。
定義平均閱讀量閾值
其中,∑TAVG(i)代表所有頁面平均訪問時間之和,∑P(i).size代表所有頁面大小之和。
定義用戶目標(biāo)頁面
參數(shù)Pi為所有滿足平均閱讀量大于平均閱讀量閾值的頁面。PInternet為Pi頁面的集合。
通過上述的形式化定義,將平均閱讀量大于設(shè)定閾值的頁面標(biāo)記用戶目標(biāo)頁面(定義4所屬頁面)。目標(biāo)頁面標(biāo)記過后,就可以得到一個更為精簡的會話序列集合,為下面的算法實現(xiàn)打好基礎(chǔ)。
2.隱式關(guān)聯(lián)頁面及其挖掘算法
確定了用戶目標(biāo)頁面以后,就可以開始發(fā)掘隱式關(guān)聯(lián)頁面。下面給出隱式關(guān)聯(lián)頁面的概念及其挖掘算法。
定義隱式關(guān)聯(lián)頁面。本申請將不能被顯式發(fā)現(xiàn)的,只能通過數(shù)據(jù)挖掘方法得到的,與用戶訪問興趣相關(guān)的一組頁面稱為隱式關(guān)聯(lián)頁面。
普通網(wǎng)站的頁面之間是由網(wǎng)頁設(shè)計人員人工添加鏈接而聯(lián)系起來的,可以稱之為顯式的關(guān)聯(lián)頁面。與之相對的,隱式關(guān)聯(lián)頁面隱藏于用戶的訪問興趣之中,只能通過一定的方法挖掘出來。
在描述算法之前,需要對一些基礎(chǔ)的概念進行定義。設(shè)會話序列集合為S,S={S1,S2,…,Sn}。其中,Si={x1,x2,…,xj},xj為會話Si中第j個訪問頁面。在Si中,訪問序列是有順序性的,除了x1外,每個訪問頁面都有且只有一個前驅(qū)頁面;除了xj外,每個訪問頁面都有且只有一個后繼頁面;對于xi來說其前驅(qū)頁面是xi-1,后繼頁面是xi+1。下面給出模式匹配算法count(Si,T)。(算法1)該算法返回一個整型值,表示T在Sj中出現(xiàn)的次數(shù),其中設(shè)Si={a1,a2,…,am},T={b1,b2,…,bn}。(S,T均為會話序列集合,S表示全部訪問的集合,T表示所確定的用戶訪問頁面的集合)
模式匹配算法:
模式匹配算法用于在日志記錄中找出用戶目標(biāo)頁面序列出現(xiàn)的次數(shù)。(用戶序列集合是用戶訪問頁面的集合,它隱匿于會話序列集合中)
定義支持度
其中,i為會話集S中的會話元素個數(shù)。count函數(shù)為算法模式匹配算法中所定義函數(shù)。支持度用于過濾掉出現(xiàn)頻率不頻繁的噪聲,幫助最終算法發(fā)現(xiàn)有效的關(guān)聯(lián)頁面。
定義置信度
support函數(shù)為支持度所定義函數(shù)。置信度用于選擇出在序列(x1,x2,......,xj-1)出現(xiàn)時,(x1,x2,......,xj-1,xj)也出現(xiàn)的強關(guān)聯(lián)頁面序列,屏蔽掉弱關(guān)聯(lián)頁面序列。一般來說支持度設(shè)為0.1,置信度設(shè)為0.9.
有了上述定義,下面可以給出算法描述。
算法:隱式關(guān)聯(lián)頁面挖掘算法
關(guān)聯(lián)頁面
其中,join函數(shù)將xs,xt結(jié)合形成xsxt和xtxs兩個元素。
如圖1所示,該算法首先計算所有頁面的支持度,將所有大于minsup(最小支持度閾值)的頁面形成L1。在L1的基礎(chǔ)上,將L1的所有頁面兩兩組合(在L1中任意選取兩個頁面組合在一起,假設(shè)L1有n個頁面,則共有種組合),形成C2′。重新掃描會話序列集合,刪除C2′中不存在于會話中的元素,形成C2。計算C2元素的支持度和置信度,支持度大于minsup且置信度大于minconf(最小置信度閾值)的元素形成L2。從L2開始,對于所有的在Lk-1中的元素,設(shè)任意兩個頁組序列Pi(x1,x2,…,xk-1),Pj(y1,y2,…,yk-1)。如果(x2=y(tǒng)1and x3=y(tǒng)2…and xk-1=y(tǒng)k-2),那么就形成新的頁面{x1,…,xk-1,yk-1},并加入到Ck′。掃描會話,刪除Ck′中不存在于會話中的元素,形成Ck,計算Ck元素的支持度和置信度,支持度大于minsup且置信度大于minconf的元素形成Lk。如此遞歸的計算,直到Lk為空集為止。最終結(jié)果是所有集合Lk(k>2)的并集。
本發(fā)明還公開了一種基于用戶訪問的關(guān)聯(lián)頁面挖掘系統(tǒng),包括:
用戶目標(biāo)頁面確定單元:Web日志中記錄有所有頁面訪問記錄,將干擾頁面清洗掉或進行刪除,最終從所有頁面訪問記錄中設(shè)別出用戶目標(biāo)頁面并形成會話序列集合;
隱式關(guān)聯(lián)頁面的挖掘單元:計算會話序列集合中頁面的支持度,支持度大于設(shè)定閾值的頁面構(gòu)成集合,對該集合進一步的組合并刪除組后的集合中的不是用戶目標(biāo)頁面的元素,通過遞歸計算直至支持度大于設(shè)定閾值的頁面構(gòu)成集合的第k個集合Lk為空集,用戶訪問的關(guān)聯(lián)頁面即為所有集合Lk的并集,k>2。
上述雖然結(jié)合附圖對本發(fā)明的具體實施方式進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。