本發(fā)明涉及商務類網(wǎng)站的智能推薦技術領域,具體涉及將關聯(lián)規(guī)則與貝葉斯網(wǎng)絡集成的推薦算法。
背景技術:
互聯(lián)網(wǎng)和信息技術快速發(fā)展使得商務網(wǎng)站交易越來越頻繁,大量的信息聚集起來形成海量信息。幫助用戶從海量信息中快速準確地尋找到自己感興趣的信息,建立一個有效的推薦系統(tǒng),可以使商務網(wǎng)站建立穩(wěn)定的企業(yè)忠實顧客群,提高用戶滿意度。
關聯(lián)規(guī)則由于形式很簡單,應用方便,得到快速的發(fā)展。關聯(lián)規(guī)則可用于發(fā)現(xiàn)商務網(wǎng)站交易數(shù)據(jù)庫中不同項目之間的聯(lián)系,這些規(guī)則反映了用戶的網(wǎng)站瀏覽模式。發(fā)現(xiàn)這些規(guī)則可以應用向用戶推薦感興趣的網(wǎng)址。自從關聯(lián)規(guī)則提出以來,已成為主流的推薦技術。但是關聯(lián)規(guī)則不能表達不同規(guī)則之間的聯(lián)系,這極大地限制了關聯(lián)規(guī)則在復雜情形下的應用。而貝葉斯網(wǎng)絡用圖形化的形式表示了如何將與一系列節(jié)點相關的條件概率函數(shù)組合成為一個整體的聯(lián)合概率分布函數(shù)。一個貝葉斯網(wǎng)絡包括了一個結構模型和與之相關的一組條件概率分布函數(shù)。結構模型是一個有向無環(huán)圖,其中的節(jié)點表示了隨機變量,它是對于過程、事件、狀態(tài)等實體的某特性的描述,邊則表示變量間的概率依賴關系。圖中的每個節(jié)點都有一個在給定其父節(jié)點情況下該節(jié)點的條件概率分布函數(shù)。
由于貝葉斯網(wǎng)是變量的聯(lián)合概率的表示,所以在對節(jié)點狀態(tài)進行推理的過程中,能夠綜合考慮各個因素(父節(jié)點)的影響,由于關聯(lián)規(guī)則和貝葉斯網(wǎng)絡都是以概率論為理論基礎的,可以考慮使用貝葉斯網(wǎng)絡修正關聯(lián)規(guī)則,并通過概率推論的方式預測當前用戶訪問對未曾瀏覽網(wǎng)址的概率,將得到的結果排序,推薦概率top-n的網(wǎng)址。
本發(fā)明根據(jù)用戶歷史瀏覽信息,發(fā)現(xiàn)商務網(wǎng)站交易數(shù)據(jù)庫中不同項目之間的聯(lián)系,將這些反映了用戶的網(wǎng)站瀏覽模式的規(guī)則用有向無環(huán)圖表達出來,基于貝葉斯網(wǎng)絡預測當前用戶訪問各網(wǎng)址的條件概率,找出條件概率最大的n個網(wǎng)址推薦給用戶。為用戶提供個性化的服務的同時建立網(wǎng)站與用戶之間的密切關系,讓用戶對推薦系統(tǒng)產(chǎn)生依賴,從而建立穩(wěn)定的企業(yè)忠實顧客群,實現(xiàn)客戶鏈式反應增值,提高消費者滿意度。通過提高服務效率幫助消費者節(jié)約交易成本等,制定有針對性的營銷戰(zhàn)略方針,促進企業(yè)長期穩(wěn)定高速發(fā)展。
技術實現(xiàn)要素:
本發(fā)明針對商務網(wǎng)站的智能推薦技術,在關聯(lián)規(guī)則的基礎上學習貝葉斯網(wǎng)絡結構,提出將關聯(lián)規(guī)則與貝葉斯網(wǎng)絡集成的推薦算法。
方法包括以下步驟:首先,對網(wǎng)址進行關聯(lián)分析,并將關聯(lián)規(guī)則按提升度排序。然后,依據(jù)關聯(lián)規(guī)則前后件的關系,將關聯(lián)規(guī)則轉(zhuǎn)化成初始貝葉斯網(wǎng)絡。再然后對初始貝葉斯網(wǎng)絡進行結構學習,尋找最優(yōu)貝葉斯網(wǎng)絡結構,并學習最優(yōu)貝葉斯網(wǎng)絡結構的參數(shù),此時的最優(yōu)貝葉斯網(wǎng)絡相當于對關聯(lián)規(guī)則的修正。最后使用貝葉斯方法預測當前用戶訪問未知網(wǎng)址的概率,將概率最大的n個網(wǎng)址推薦給用戶。
所述的將關聯(lián)規(guī)則與貝葉斯網(wǎng)絡集成,是對原始事務集使用apriori算法得到關聯(lián)規(guī)則,按提升度排序后,將其轉(zhuǎn)化成貝葉斯網(wǎng)絡結構。貝葉斯網(wǎng)的結構是一個有向無環(huán)圖,圖中的每一個節(jié)點唯一地對應一個隨機變量,節(jié)點的狀態(tài)對應于隨機變量的值。圖中的有向邊表示變量(節(jié)點)之間的條件(因果)依賴關系。關聯(lián)規(guī)則的前件和后件間也蘊含著一種依賴關系,轉(zhuǎn)化的思路就是將關聯(lián)規(guī)則中的這種依賴關系用貝葉斯網(wǎng)的結構表示出來。
所述的貝葉斯預測,將所有網(wǎng)址是否被訪問看成一組隨機向量變量,當前用戶的歷史訪問記錄就是一個樣本,結合這個樣本數(shù)據(jù)和參數(shù)先驗,預測某個網(wǎng)址被訪問的概率。變量包含貝葉斯網(wǎng)絡節(jié)點和非貝葉斯網(wǎng)絡節(jié)點兩部分,假設貝葉斯網(wǎng)絡節(jié)點條件獨立,非貝葉斯網(wǎng)絡節(jié)點相互獨立,貝葉斯網(wǎng)絡節(jié)點和非貝葉斯網(wǎng)絡節(jié)點相互獨立。
所述的關聯(lián)規(guī)則與貝葉斯網(wǎng)絡集成的推薦算法具體步驟如下:
1)數(shù)據(jù)預處理。在對原始數(shù)據(jù)的探索分析的基礎上,發(fā)現(xiàn)與分析目標無關或模型需要處理的數(shù)據(jù),針對此類數(shù)據(jù)進行處理。通過數(shù)據(jù)清洗、數(shù)據(jù)集成和數(shù)據(jù)變換,將原始數(shù)據(jù)處理成模型需要的輸入數(shù)據(jù)
2)關聯(lián)規(guī)則。首先將數(shù)據(jù)集d轉(zhuǎn)化成事務集dt,考慮到要與貝葉斯網(wǎng)絡對應,本發(fā)明只分析具有單個后件屬性狀態(tài)的關聯(lián)規(guī)則前件更新問題,因此apriori算法只需檢索出事務數(shù)據(jù)庫中的所有2項頻繁項集,利用頻繁項集構造出滿足用戶最小提升度的規(guī)則,并根據(jù)提升度將規(guī)則按從大到小的順序排列。
3)將關聯(lián)規(guī)則轉(zhuǎn)化成貝葉斯網(wǎng)絡。轉(zhuǎn)化的思路就是將關聯(lián)規(guī)則中的這種依賴關系用貝葉斯網(wǎng)的結構表示出來。關聯(lián)規(guī)則的前件網(wǎng)址
4)尋找最優(yōu)貝葉斯網(wǎng)絡,并估計參數(shù)。本發(fā)明采用mcmc方法學習貝葉斯網(wǎng)絡的結構,通過gibbs抽樣算法,將局部的邊增加、刪除和反向的均勻分布作為抽樣過程的建議分布,并利用抽樣過程收斂之后產(chǎn)生的來自目標平穩(wěn)分布的網(wǎng)絡結構樣本來估計貝葉斯網(wǎng)絡的結構特征,構建最優(yōu)貝葉斯網(wǎng)絡。參數(shù)的學習實在最優(yōu)貝葉斯網(wǎng)絡結構的基礎上進行的,本發(fā)明使用貝葉斯方法估計的參數(shù),節(jié)點的條件概率分布都是多項式分布,因此參數(shù)的共軛先驗及其后驗分布都是狄利克雷分布。從關聯(lián)規(guī)則的角度來看,貝葉斯網(wǎng)絡的學習過程實際上是關聯(lián)規(guī)則的優(yōu)化過程。
5)貝葉斯預測。目標網(wǎng)址
6)做出推薦。將個網(wǎng)址的預測值排序,從中選出預測值top-n的網(wǎng)址推薦給當前用戶。然后對模型從精度和時效兩方面進行評價。統(tǒng)計精度方法采用指標平均絕對誤差(mae)。決策支持精度指標采用精確率(precision)和召回率(recall)。時效用響應時間來衡量。
本發(fā)明創(chuàng)造性地將關聯(lián)規(guī)則和貝葉斯網(wǎng)絡兩種數(shù)據(jù)挖掘方法集成運用在網(wǎng)站智能推薦上。一方面,關聯(lián)規(guī)則由于形式很簡單,應用方便,但不能表達不同規(guī)則之間的聯(lián)系,復雜情形下的應用受到極大地限制。而貝葉斯網(wǎng)表示變量的聯(lián)合概率,能夠綜合考慮各個因素(父節(jié)點)的影響。另一方面,貝葉斯網(wǎng)絡節(jié)點數(shù)量大時,計算量大,結構復雜,學習時間長,關聯(lián)規(guī)則可以較快的得到節(jié)點之間的依賴關系,借助關聯(lián)規(guī)則的貝葉斯網(wǎng)絡可以快速學習達到最優(yōu)結構。這兩種方法結合互補,經(jīng)驗證(見后文算法算例)提高了模型的精確度和運算效率。本發(fā)明用貝葉斯預測當前用戶訪問未知網(wǎng)址的概率,貝葉斯方法能夠使先驗知識和數(shù)據(jù)有機的結合,在樣本數(shù)據(jù)稀疏時,能夠充分利用先驗知識得到可靠結果,一些過于冷門或熱門網(wǎng)址,作為分析的異常點,在貝葉斯網(wǎng)絡分析中也能充分利用,并得到穩(wěn)健結果。
附圖說明
圖1關聯(lián)規(guī)則和貝葉斯網(wǎng)絡集成推薦算法的流程圖;
圖2步驟1數(shù)據(jù)預處理的流程圖;
圖3步驟3關聯(lián)規(guī)則轉(zhuǎn)化成貝葉斯網(wǎng)絡的一般式例,對一個關聯(lián)規(guī)則
圖4本發(fā)明模型的平均絕對誤差與傳統(tǒng)關聯(lián)規(guī)則算法的比較圖;
圖5本發(fā)明模型的精確率和召回率與傳統(tǒng)關聯(lián)規(guī)則算法的比較圖;
圖6本發(fā)明模型的時間性能與傳統(tǒng)貝葉斯網(wǎng)絡算法的比較圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明的技術方案進行詳細的說明。
圖1給出了商務網(wǎng)站個性化推薦方法過程,具體步驟如下:
步驟1:數(shù)據(jù)預處理。在對原始數(shù)據(jù)的探索分析的基礎上,發(fā)現(xiàn)與分析目標無關或模型需要處理的數(shù)據(jù),針對此類數(shù)據(jù)進行處理。通過數(shù)據(jù)清洗、數(shù)據(jù)集成和數(shù)據(jù)變換,將原始數(shù)據(jù)處理成模型需要的輸入數(shù)據(jù)
步驟2:關聯(lián)規(guī)則。首先將數(shù)據(jù)集d轉(zhuǎn)化成事務集dt,考慮到與貝葉斯網(wǎng)絡對應,本發(fā)明只分析具有單個后件屬性狀態(tài)的關聯(lián)規(guī)則前件更新問題,因此apriori算法只需檢索出事務數(shù)據(jù)庫中的所有2項頻繁項集,利用頻繁項集構造出滿足用戶最小提升度的規(guī)則,并根據(jù)提升度將規(guī)則按從大到小的順序排列。
步驟3:將關聯(lián)規(guī)則轉(zhuǎn)化成貝葉斯網(wǎng)絡。轉(zhuǎn)化的思路就是將關聯(lián)
規(guī)則中的這種依賴關系用貝葉斯網(wǎng)的結構表示出來。關聯(lián)規(guī)則的前件網(wǎng)址
步驟4:尋找最優(yōu)貝葉斯網(wǎng)絡,并估計參數(shù)。本發(fā)明采用mcmc方法學習貝葉斯網(wǎng)絡的結構,通過gibbs抽樣算法,將局部的邊增加、刪除和反向的均勻分布作為抽樣過程的建議分布,并利用抽樣過程收斂之后產(chǎn)生的來自目標平穩(wěn)分布的網(wǎng)絡結構樣本來估計貝葉斯網(wǎng)絡的結構特征,構建最優(yōu)貝葉斯網(wǎng)絡。參數(shù)的學習實在最優(yōu)貝葉斯網(wǎng)絡結構的基礎上進行的,本發(fā)明使用貝葉斯方法估計的參數(shù),節(jié)點的條件概率分布都是多項式分布,因此參數(shù)的共軛先驗及其后驗分布都是狄利克雷分布。從關聯(lián)規(guī)則的角度來看,貝葉斯網(wǎng)絡的學習過程實際上是關聯(lián)規(guī)則的優(yōu)化過程。
步驟5:貝葉斯預測。目標網(wǎng)址
步驟6:做出推薦。將個網(wǎng)址的預測值排序,從中選出預測值top-n的網(wǎng)址推薦給當前用戶。然后對模型從精度和時效兩方面進行評價。統(tǒng)計精度方法采用指標平均絕對誤差(mae)。決策支持精度指標采用精確率(precision)和召回率(recall)。時效用響應時間來衡量。
所述的步驟1具體說明如下:
抽取某法律網(wǎng)站三個月內(nèi)(2015-02-01~2015-04-29)廣州地區(qū)用戶的訪問數(shù)據(jù)作為原始數(shù)據(jù)集。其數(shù)據(jù)量總共有837450條記錄,其中包括用戶號、訪問時間和訪問頁面。從原始數(shù)據(jù)中對重復數(shù)據(jù)、與分析目標無關的數(shù)據(jù)(律師登錄助手的頁面)和目錄網(wǎng)頁(無html后綴的網(wǎng)頁)進行清洗。翻頁的網(wǎng)址屬于同一類型的網(wǎng)頁,這些網(wǎng)頁需要還原其原始類別。預處理后抽取245515條記錄,一共108204個用戶,48573個網(wǎng)址,作為實驗數(shù)據(jù)集。記用戶集為
所述的步驟2具體說明如下:
首先將預處理后的數(shù)據(jù)轉(zhuǎn)化為事務數(shù)據(jù)庫dt,然后調(diào)用apriori算法利用迭代得到頻繁集集合,生成了二項頻繁集,根據(jù)支持度,提升度和置信度生成強關聯(lián)規(guī)則,并按提升度排序。關聯(lián)規(guī)則的生成算法具體如下:
輸入:事務數(shù)據(jù)
輸出:關聯(lián)規(guī)則
步驟:
1)計算1項集的支持度,找到1項頻繁集
2)根據(jù)apriori算法由
3)排列組合出候選集
篩選出2項頻繁集,
4)關聯(lián)規(guī)則初始化
5)對任一2項頻繁集的2項,如果
,則有
6)將關聯(lián)規(guī)則
所述的步驟3的具體說明如下:
記融合了關聯(lián)規(guī)則的貝葉斯網(wǎng)絡為
該貝葉斯網(wǎng)的成立還需滿足以下三條假設:
假設一:假設所有前件對后件的影響都是獨立的。
假設二:假設已經(jīng)列盡了所有的前件。
假設三:假設沒有出現(xiàn)的前件對后件沒有影響。
貝葉斯網(wǎng)絡結構
輸入:事務數(shù)據(jù)集
輸出:貝葉斯網(wǎng)絡結構
步驟:
1)初始化結構式
2)對于規(guī)則
3)構造指針
4)取出
5)如果
6)刪除
所述的步驟4包括以下子步驟:
s4.1:貝葉斯網(wǎng)絡結構學習:
根據(jù)關聯(lián)規(guī)則
本發(fā)明采用mcmc方法學習貝葉斯網(wǎng)絡的結構,通過gibbs抽樣算法,將局部的弧增加、刪除和反向的均勻分布作為抽樣過程的建議分布,并利用抽樣過程收斂之后產(chǎn)生的來自目標平穩(wěn)分布的網(wǎng)絡結構樣本來估計貝葉斯網(wǎng)絡的結構特征。
添加輔助變量
輔助變量的作用是描述貝葉斯網(wǎng)絡結構,記向量:
gibbs抽樣算法的抽樣過程如下:
1)將根據(jù)關聯(lián)規(guī)則構造的貝葉斯網(wǎng)絡
2)對
3)
4)…
5)
6)…
7)
8)…
9)
以上算法收斂后得到的
s4.2:貝葉斯網(wǎng)絡參數(shù)學習:
本發(fā)明采用mcmc方法學習貝葉斯網(wǎng)絡的參數(shù),假設各分布參數(shù)的估計是相互獨立的。根據(jù)參數(shù)獨立性假設,節(jié)點的條件概率
其中
從參數(shù)的后驗分布中應用gibbs抽樣算法,具體抽樣過程如下:
1)將根據(jù)關聯(lián)規(guī)則構造的貝葉斯網(wǎng)絡
2)對
3)
4)…
5)
6)…
7)
8)…
9)
其中
由于
其中超先驗參數(shù)
其中
所述的步驟5具體說明如下:
把當前用戶
1.當網(wǎng)址
2.當網(wǎng)址
這是一個高維積分,計算復雜,我們尋求另一種思路,考慮到
其中
則有
因此
網(wǎng)址
所述的步驟6具體說明如下:
平均絕對誤差
表1不同數(shù)據(jù)規(guī)模下的平均絕對誤差
表2不同推薦數(shù)目的精確率和召回率
表3不同數(shù)據(jù)規(guī)模下的時效
綜合以上分析,本發(fā)明將關聯(lián)規(guī)則和貝葉斯網(wǎng)絡兩種數(shù)據(jù)挖掘方法集成運用在網(wǎng)站智能推薦上,使兩種方法結合互補,提高了模型的精確度和運算效率。關聯(lián)規(guī)則可以較快的得到節(jié)點之間的依賴關系,借助關聯(lián)規(guī)則的貝葉斯網(wǎng)絡可以快速學習達到最優(yōu)結構。貝葉斯預測當前用戶訪問未知網(wǎng)址的概率,貝葉斯方法能夠使先驗知識和數(shù)據(jù)有機的結合,在樣本數(shù)據(jù)稀疏時,能夠充分利用先驗知識得到可靠結果,一些過于冷門或熱門網(wǎng)址,作為分析的異常點,在貝葉斯網(wǎng)絡分析中也能充分利用,并得到穩(wěn)健結果。