劉旭東,葛俊杰,葉長(zhǎng)國(guó)
(1.煙臺(tái)職業(yè)學(xué)院信息工程系,山東煙臺(tái) 264670;2.泰山學(xué)院信息科學(xué)技術(shù)學(xué)院,山東泰安 271021)
一種混合推薦系統(tǒng)的設(shè)計(jì)與應(yīng)用
劉旭東1,葛俊杰1,葉長(zhǎng)國(guó)2
(1.煙臺(tái)職業(yè)學(xué)院信息工程系,山東煙臺(tái) 264670;2.泰山學(xué)院信息科學(xué)技術(shù)學(xué)院,山東泰安 271021)
針對(duì)B2C網(wǎng)上購物的實(shí)際背景和要求,設(shè)計(jì)了一個(gè)運(yùn)用多種技術(shù)相結(jié)合的個(gè)性化推薦系統(tǒng)模型,這種推薦模型既能有效解決單獨(dú)關(guān)聯(lián)規(guī)則推薦不適合同類產(chǎn)品推薦問題,又能有效解決協(xié)同過濾算法不適合異類產(chǎn)品推薦問題;既能有效處理電子商務(wù)中產(chǎn)品種類和類別層次繁多的產(chǎn)品推薦問題,又能加快推薦速度,在電子商務(wù)系統(tǒng)中具有良好的推薦效果和應(yīng)用價(jià)值.
個(gè)性化推薦系統(tǒng);協(xié)同過濾;關(guān)聯(lián)規(guī)則;電子商務(wù)
隨著電子商務(wù)的興起與發(fā)展,人們的商務(wù)理念也發(fā)生改變,經(jīng)銷商和客戶之間通過互聯(lián)網(wǎng)進(jìn)行交易,節(jié)省了大量的費(fèi)用和時(shí)間.目前電子商務(wù)在線購物的成功很大程度上取決于用戶與計(jì)算機(jī)的交互[1],取決于用戶的購物經(jīng)驗(yàn).而利用網(wǎng)頁推薦技術(shù)可以有效地幫助企業(yè)分析從網(wǎng)上獲取的大量數(shù)據(jù),發(fā)現(xiàn)隱藏在其后的規(guī)律性,提取出有效的信息,進(jìn)而指導(dǎo)企業(yè)調(diào)整營(yíng)銷策略,給客戶提供動(dòng)態(tài)的個(gè)性化的高效率服務(wù).目前,網(wǎng)頁推薦技術(shù)已經(jīng)被廣泛地應(yīng)用在國(guó)內(nèi)外的各大電子商務(wù)網(wǎng)站之中,如Am azon、EBay、CDNOW、MovieFinder以及Joyo、BOL等,都不同程度地應(yīng)用了各種形式的推薦系統(tǒng)[2].推薦系統(tǒng)是建立在客戶以前的在線購物行為和個(gè)人興趣資料基礎(chǔ)上的,是一種用來個(gè)性化網(wǎng)站的有效方法,其本質(zhì)就是個(gè)性化推薦方法的設(shè)計(jì).電子商務(wù)購物網(wǎng)站中推薦方法的選擇與設(shè)計(jì)需要考慮以下兩方面的因素:第一,推薦算法的運(yùn)行速度問題,尤其對(duì)在線推薦這一點(diǎn)非常重要;第二,推薦結(jié)果既要考慮到不同類/子類商品的推薦,又要考慮同類商品的推薦問題.
針對(duì)上面兩個(gè)要求,結(jié)合B 2C網(wǎng)上購物的實(shí)際背景,本文設(shè)計(jì)了一種能切實(shí)提高電子商務(wù)網(wǎng)站產(chǎn)品實(shí)際購買量的推薦系統(tǒng)模型,克服了目前各種推薦系統(tǒng)所應(yīng)用算法的不足,在電子商務(wù)系統(tǒng)中取得了良好的推薦效果.
本文提出的電子商務(wù)推薦系統(tǒng)架構(gòu)如圖1所示,該推薦系統(tǒng)是一個(gè)B/W/S(瀏覽器/W eb服務(wù)器/數(shù)據(jù)庫服務(wù)器)三層結(jié)構(gòu),W eb服務(wù)器包括WWW服務(wù)器和應(yīng)用服務(wù)器.它包括以下4個(gè)部分:
(1)前端用戶
系統(tǒng)前端是基于瀏覽器的用戶端,用戶可在家或辦公室等任何時(shí)候通過輸入用戶名和密碼后便可登錄企業(yè)的電子商務(wù)網(wǎng)站,瀏覽網(wǎng)頁,或是購買商品,所有信息都可經(jīng)WWW服務(wù)器收集并保存在后臺(tái)數(shù)據(jù)庫服務(wù)器中.
圖1 電子商務(wù)推薦系統(tǒng)架構(gòu)
(2)WWW服務(wù)器
WWW服務(wù)器的作用主要有兩個(gè),一是負(fù)責(zé)收集前端用戶的個(gè)人信息資料,并存儲(chǔ)于數(shù)據(jù)庫服務(wù)器中,同時(shí)也負(fù)責(zé)把應(yīng)用服務(wù)器端產(chǎn)生的推薦結(jié)果生成動(dòng)態(tài)網(wǎng)頁呈現(xiàn)給用戶.
(3)數(shù)據(jù)庫服務(wù)器
數(shù)據(jù)庫服務(wù)器主要包括用戶交易數(shù)據(jù)庫和用戶資料數(shù)據(jù)庫,其中交易數(shù)據(jù)庫存儲(chǔ)用戶每次的購買詳細(xì)記錄;用戶資料數(shù)據(jù)庫存儲(chǔ)了用戶的個(gè)人資料,如姓名、年齡、職業(yè)等,還有通過網(wǎng)絡(luò)數(shù)據(jù)挖掘方法等獲得的用戶興趣信息等.在實(shí)際中,還可根據(jù)推薦方法或推薦系統(tǒng)的需要,增加其它數(shù)據(jù)庫,如用戶評(píng)價(jià)數(shù)據(jù)庫等.
(4)應(yīng)用服務(wù)器
應(yīng)用服務(wù)器是電子商務(wù)推薦系統(tǒng)最核心的部分,其中最重要的功能模塊就是購物個(gè)性化推薦模塊.前端與WWW服務(wù)器相連,后端與數(shù)據(jù)庫服務(wù)器相連,其作用是提取數(shù)據(jù)庫服務(wù)器中的用戶資料庫和交易數(shù)據(jù)庫中的數(shù)據(jù),經(jīng)數(shù)據(jù)預(yù)處理后,為用戶做出個(gè)性化推薦,包括商品子類層次上的關(guān)聯(lián)規(guī)則推薦和子類所屬產(chǎn)品范圍內(nèi)的協(xié)同過濾推薦,前一部分工作可以離線進(jìn)行,后一部分工作要求在線適時(shí)進(jìn)行,總體可以為用戶作出適時(shí)的個(gè)性化推薦.
相對(duì)其它的推薦方法,該組合推薦方法有以下幾個(gè)優(yōu)點(diǎn):①關(guān)聯(lián)規(guī)則在商品子類層次進(jìn)行,提高了關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)速度,也加快了商品子類的推薦速度,使推薦算法對(duì)于在線推薦變得更為可能;②協(xié)同過濾在一個(gè)子類范圍內(nèi)進(jìn)行,候選推薦項(xiàng)目的內(nèi)容屬性上相對(duì)更為集中,更適合協(xié)同過濾推薦的應(yīng)用場(chǎng)合,使協(xié)同過濾推薦更為準(zhǔn)確;③由于只在一個(gè)子類或部分子類所屬范圍內(nèi)進(jìn)行,加快了協(xié)同過濾推薦的速度,使協(xié)同過濾在線適時(shí)推薦變得更為可能.
本系統(tǒng)主要運(yùn)用兩類推薦算法相結(jié)合:基于關(guān)聯(lián)規(guī)則的推薦算法和協(xié)同過濾推薦算法.
2.1 基于關(guān)聯(lián)規(guī)則的推薦算法
關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘中的一種主要挖掘技術(shù),它是從大量的數(shù)據(jù)中挖掘出有價(jià)值描述數(shù)據(jù)項(xiàng)之間相互聯(lián)系的有關(guān)知識(shí),其挖掘算法的基本問題是:給定一個(gè)交易數(shù)據(jù)庫D,產(chǎn)生支持度和可信度分別不小于用戶給定的最小支持度(m in_sup)和最小可信度(m in_conf)的強(qiáng)關(guān)聯(lián)規(guī)則.該問題可以分解為兩個(gè)子問題:(1)求出D中滿足最小支持度的所有頻繁項(xiàng)集;(2)利用產(chǎn)生的頻繁項(xiàng)集,生成滿足最小可信度的強(qiáng)關(guān)聯(lián)規(guī)則.
基于關(guān)聯(lián)規(guī)則的推薦算法可以分為離線的關(guān)聯(lián)規(guī)則推薦模型建立階段和在線的關(guān)聯(lián)規(guī)則推薦模型應(yīng)用階段[3].離線階段使用各種關(guān)聯(lián)規(guī)則挖掘算法建立關(guān)聯(lián)規(guī)則推薦模型,這一步比較費(fèi)時(shí),但可以離線周期進(jìn)行;在線階段根據(jù)建立的關(guān)聯(lián)規(guī)則推薦模型和用戶的購買行為向用戶提供實(shí)時(shí)的推薦服務(wù),使用關(guān)聯(lián)規(guī)則推薦算法產(chǎn)生top-N推薦的算法步驟如下:
(1)使用關(guān)聯(lián)規(guī)則挖掘算法(本文采用典型的Ap riori算法[4])對(duì)交易事務(wù)數(shù)據(jù)庫D′(將用戶購買商品組成的事務(wù)交易數(shù)據(jù)庫D經(jīng)數(shù)據(jù)預(yù)處理,轉(zhuǎn)化為商品所屬子類層次上的事務(wù)數(shù)據(jù)庫D′)進(jìn)行關(guān)聯(lián)規(guī)則挖掘,得到滿足最小支持度閾值m in_sup和最小可信度閾值m in_conf的所有關(guān)聯(lián)規(guī)則,記為關(guān)聯(lián)規(guī)則集合R;
(2)搜索關(guān)聯(lián)規(guī)則集合R,找出該用戶u支持的所有關(guān)聯(lián)規(guī)則集合Ru,產(chǎn)生候選推薦集Su;
(3)從候選推薦集Su中刪除用戶u已經(jīng)購買過的商品子類,并選擇可信度最高的前N個(gè)項(xiàng)(記為Si,i=1,2,…,N)作為推薦結(jié)果返回給當(dāng)前用戶u.
2.2 協(xié)同過濾推薦算法
協(xié)同過濾作為目前最成功的推薦算法被廣泛地應(yīng)用,其目標(biāo)是根據(jù)具有相似偏好的用戶的觀點(diǎn)向目標(biāo)用戶推薦新的商品[5].它首先找出和目標(biāo)用戶最相似的用戶即最近鄰居,然后根據(jù)最近鄰居對(duì)項(xiàng)目的評(píng)分預(yù)測(cè)目標(biāo)用戶對(duì)項(xiàng)目的評(píng)分,產(chǎn)生相應(yīng)的推薦列表.
主要分為三個(gè)步驟:矩陣表示、鄰居形成和產(chǎn)生推薦.
(1)矩陣表示
用戶評(píng)分?jǐn)?shù)據(jù)可以用一個(gè)m*n階矩陣A(m,n)表示,m行代表m個(gè)用戶,n列代表n個(gè)項(xiàng)目,第a行第j列的元素Raj代表用戶a對(duì)項(xiàng)目j的評(píng)分.
(2)鄰居形成
用戶相似性數(shù)據(jù)可以用一個(gè)m*m階矩陣w(m,m)表示.首先得到用戶a和用戶i評(píng)分過的所有項(xiàng)目,然后計(jì)算出用戶a和用戶i之間的相似性,度量用戶間相似性的方法有許多種,主要包括如下三種方法:余弦相似性、相關(guān)相似性以及修正的余弦相似性.這里采用修正的余弦相似性來進(jìn)行度量,記為
其中,Ia,i表示用戶a和i共同評(píng)分過的項(xiàng)目集合,Ia和Ii分別表示用戶a和用戶i評(píng)分過的項(xiàng)目集合,ra,c和ri,c分別表示用戶a和用戶i對(duì)項(xiàng)目c的評(píng)分,分別表示用戶a和用戶i對(duì)項(xiàng)目的評(píng)分.根據(jù)相似性計(jì)算的結(jié)果,直接找出與用戶相似性最高的前N個(gè)用戶作為最近鄰居.
(3)產(chǎn)生推薦
“最近鄰居”集產(chǎn)生后,可計(jì)算用戶對(duì)任意項(xiàng)的興趣度和Top-N推薦集.設(shè)用戶a和相應(yīng)的已選項(xiàng)集Ia,對(duì)任意項(xiàng)j(j Ia)的興趣度按下式計(jì)算:
在經(jīng)關(guān)聯(lián)規(guī)則推薦得到的前N個(gè)用戶最感興趣的商品子類后,就可以在這N個(gè)商品子類所屬的產(chǎn)品范圍內(nèi)利用協(xié)同過濾給出具體的產(chǎn)品推薦,具體做法有兩種:
(1)在所有推薦子類所屬的產(chǎn)品范圍內(nèi)采用協(xié)同過濾方法進(jìn)行推薦,也就是在Si(i=1,2,…,N)范圍內(nèi)一次性采用協(xié)同過濾方法進(jìn)行推薦.(2)在每個(gè)子類所屬的產(chǎn)品范圍內(nèi)用協(xié)同過濾推薦.
假設(shè)對(duì)每個(gè)子類Si(i=1,2,…,N),得到Q個(gè)產(chǎn)品推薦,記得到的推薦集合為Ii=﹛Ii1,Ii2,…, IiQ﹜,同時(shí)記每個(gè)產(chǎn)品的預(yù)測(cè)分分別為P(Ii1),P(Ii2),…,P(IiQ).
再根據(jù)下列策略得到最后推薦:
(1)子類平均推薦:對(duì)所有P(Ii,j)(i=1,2,…,N;j=1,2,…,Q)從高到低排列,選擇其中最高的作為推薦.
(2)子類加權(quán)推薦:由于用戶對(duì)經(jīng)關(guān)聯(lián)規(guī)則得到推薦子類具有不同的偏好,所以對(duì)每個(gè)P(Ii,j)(i= 1,2,…,N;j=1,2,…,Q)加權(quán)用戶子類Si的偏好程度.假設(shè)用戶對(duì)子類Si偏好權(quán)重為w(Si)(權(quán)重可以是經(jīng)關(guān)聯(lián)規(guī)則推薦時(shí)計(jì)算所得到的可信度,也可通過用戶在子類Si上的歷史購買情況來刻劃),計(jì)算Fij=w(Si)P(Ii,j),并依據(jù)Fij(i=1,2,…,N;j=1,2,…,Q)的高低選擇最高的前N個(gè)商品作為推薦.
近幾年來,隨著電子商務(wù)的蓬勃發(fā)展,商家競(jìng)爭(zhēng)日趨激烈,為了盡可能將網(wǎng)站的瀏覽者轉(zhuǎn)變?yōu)樯唐返馁徺I者,同時(shí)提高電子商務(wù)系統(tǒng)的交叉銷售能力,對(duì)顧客提供個(gè)性化的服務(wù)成為必然需要,電子商務(wù)推薦系統(tǒng)應(yīng)運(yùn)而生.同時(shí),關(guān)聯(lián)規(guī)則作為數(shù)據(jù)挖掘的主要方法之一,也引起了人們?cè)絹碓蕉嗟年P(guān)注.文中在對(duì)關(guān)聯(lián)規(guī)則和協(xié)同過濾進(jìn)行研究的基礎(chǔ)上,提出和設(shè)計(jì)了一種基于產(chǎn)品子類層次上的關(guān)聯(lián)規(guī)則和子產(chǎn)品范圍內(nèi)的協(xié)同過濾推薦組合模型,該模型大大提高了系統(tǒng)的運(yùn)行效率和質(zhì)量,在實(shí)際應(yīng)用中取得了較好的推薦效果.
[1]余力.電子商務(wù)個(gè)性化推薦若干問題研究[D].北京:北京航空航天大學(xué),2004.
[2]鄧愛林,朱揚(yáng)勇,施伯樂.基于項(xiàng)目評(píng)分預(yù)測(cè)的協(xié)同過濾推薦算法[J].軟件學(xué)報(bào),2003,14(9).
[3]劉曉波.基于關(guān)聯(lián)規(guī)則的電子商務(wù)商品推薦系統(tǒng)研究[J].中國(guó)市場(chǎng),2008,17(52).
[4]曹月芹,林楓,陳國(guó)浪.基于Ap rio ri分類事務(wù)庫關(guān)聯(lián)規(guī)則算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,18(4).
[5]J.L.Herlocker,J.A.Konstan,L.G.Terveen,etal.Evaluating co llabo rative filtering recomm ender system s[J].ACM Trans.Information System s,2004,22(1).
Design and App lication of Recomm endation System Based on Hybr id Technology
L IU Xu-dong1,GE Jun-jie1,YE Chang-guo2
(1.Departm entof Info rm ation Engineering,YantaiVocationalCo llege,Yantai,264670; 2.Schoo lof Information Science and Technology,Taishan University,Tai’an,271021,China)
A ccording to the background and requestof the B 2C on line shopp ing,one kind of personalized recomm endation system is designed.This k ind of recomm endationm odel,no ton ly so lves the sam e c lass p roduct recomm endation to which association ru le is not suit and different class p roduct recomm endation to w hich co llaborative filtering is not suit,but also imp roves recomm ending speed which is very key for on line recomm endation.Therefore,it greatly achievesgood recomm ending resu ltsand app lication value in E-Comm erce.
personalized recomm endation system s;co llabo rative filtering;association ru le;E-Comm erce
TP311
A
1672-2590(2010)03-0030-04
2010-03-18
山東省教育科學(xué)“十一五”規(guī)劃課題(2008GG068)
劉旭東(1976-),男,山東龍口人,煙臺(tái)職業(yè)學(xué)院信息工程系講師.