[摘要] Web數(shù)據(jù)挖掘是從Web文檔和Web活動(dòng)中發(fā)現(xiàn)并抽取感興趣的、潛在的有用模式和隱藏的信息?;赪eb數(shù)據(jù)挖掘的電子商務(wù)推薦系統(tǒng)可以滿(mǎn)足電子商務(wù)未來(lái)發(fā)展趨勢(shì)的需要。在本文中依據(jù)效率和準(zhǔn)確性,建立了一個(gè)推薦系統(tǒng)模型,并對(duì)系統(tǒng)中各個(gè)模塊功能及它們之間相互協(xié)調(diào)工作做了詳細(xì)的描述;深入研究了電子商務(wù)推薦系統(tǒng)所使用的推薦算法,重點(diǎn)討論了目前使用最為廣泛的協(xié)同過(guò)濾推薦算法;在上述研究的基礎(chǔ)上設(shè)計(jì)了基于聚類(lèi)的協(xié)同過(guò)濾推薦系統(tǒng),并對(duì)k-means聚類(lèi)算法進(jìn)行了改進(jìn);給出了系統(tǒng)試驗(yàn)結(jié)果,并對(duì)結(jié)果做出解釋和評(píng)價(jià)。
[關(guān)鍵詞] Web日志 數(shù)據(jù)挖掘 電子商務(wù) 關(guān)聯(lián)規(guī)則 聚類(lèi)算法
Web數(shù)據(jù)挖掘是數(shù)據(jù)挖掘的一個(gè)重要分支,是隨著數(shù)據(jù)庫(kù)技術(shù)、人工智能技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展而提出的。尤其是隨著電子商務(wù)的不斷運(yùn)作,信息總量不斷增加,更迫切需要有效的信息分析工具。
當(dāng)今,電子商務(wù)正以其成本低廉、快捷、不受時(shí)空限制等優(yōu)點(diǎn)而逐步全球流行。在這種新型的商務(wù)模式下,卻遇到了網(wǎng)絡(luò)信息量和基于Web的應(yīng)用的一些阻礙。一方面,沒(méi)有針對(duì)性地提供信息,訪(fǎng)問(wèn)者不能快捷地獲得所需;另一方面,不能快捷地在站點(diǎn)上尋找到感興趣的商品,用戶(hù)容易轉(zhuǎn)向訪(fǎng)問(wèn)其他站點(diǎn),造成客戶(hù)流失,這些對(duì)站點(diǎn)企業(yè)來(lái)說(shuō)都是致命的。
基于上述原因,商務(wù)站點(diǎn)“個(gè)性化”營(yíng)銷(xiāo)孕育而生。而個(gè)性化所涵蓋的內(nèi)容中,針對(duì)用戶(hù)的推薦服務(wù)是最為重要的,因?yàn)樗軌蚋淖冞@種“大眾化”的方式,向用戶(hù)提供個(gè)性化的信息。推薦系統(tǒng)模擬商店銷(xiāo)售人員向用戶(hù)提供商品推薦,幫助用戶(hù)找到所需商品,從而順利完成購(gòu)買(mǎi)過(guò)程,因此可以有效保留用戶(hù),提高電子商務(wù)系統(tǒng)的銷(xiāo)售;商家也可以通過(guò)推薦系統(tǒng)保持與客戶(hù)的聯(lián)系,重建客戶(hù)關(guān)系。
本文將對(duì)電子商務(wù)推薦系統(tǒng)中的若干關(guān)鍵技術(shù)進(jìn)行有益的探索和研究。
一、電子商務(wù)推薦算法及改進(jìn)
電子商務(wù)推薦算法是整個(gè)推薦系統(tǒng)的核心,其推薦精度和推薦效率直接影響推薦系統(tǒng)的整體性能。目前典型的推薦算法有基于關(guān)聯(lián)規(guī)則的推薦算法和基于用戶(hù)的協(xié)同過(guò)濾推薦算法。
1.基于關(guān)聯(lián)規(guī)則的推薦算法
基于關(guān)聯(lián)規(guī)則的推薦算法可以分為離線(xiàn)的關(guān)聯(lián)規(guī)則推薦模型建立階段和在線(xiàn)的關(guān)聯(lián)規(guī)則推薦模型應(yīng)用階段。離線(xiàn)階段使用各種關(guān)聯(lián)規(guī)則挖掘算法建立關(guān)聯(lián)規(guī)則推薦模型,這一步比較費(fèi)時(shí),但可以離線(xiàn)周期進(jìn)行;在線(xiàn)階段根據(jù)建立的關(guān)聯(lián)規(guī)則推薦模型和用戶(hù)的購(gòu)買(mǎi)行為向用戶(hù)提供實(shí)時(shí)的推薦服務(wù)。
2.協(xié)同過(guò)濾推薦算法
協(xié)同過(guò)濾推薦是目前最成功的電子商務(wù)推薦技術(shù),被應(yīng)用到很多領(lǐng)域中。協(xié)同過(guò)濾根據(jù)用戶(hù)的行為(如用戶(hù)注冊(cè)信息、用戶(hù)評(píng)分?jǐn)?shù)據(jù)、用戶(hù)購(gòu)買(mǎi)行為等)建立用戶(hù)的行為模型,然后利用建立的行為模型向用戶(hù)推薦有價(jià)值的商品。用戶(hù)數(shù)據(jù)的收集在協(xié)同過(guò)濾推薦算法中占有重要地位,如何有效收集高質(zhì)量的用戶(hù)數(shù)據(jù)直接關(guān)系到推薦算法的推薦效果。
3.基于聚類(lèi)的協(xié)同過(guò)濾算法概述
隨著電子商務(wù)系統(tǒng)的進(jìn)一步擴(kuò)大,協(xié)同過(guò)濾推薦算法的實(shí)時(shí)性要求遇到了巨大挑戰(zhàn)。在一個(gè)用戶(hù)和商品均數(shù)以萬(wàn)計(jì)的系統(tǒng)中,同時(shí)為數(shù)以萬(wàn)計(jì)的用戶(hù)提供實(shí)時(shí)的推薦服務(wù)越來(lái)越困難。
為了解決推薦系統(tǒng)中存在的上述問(wèn)題,進(jìn)行實(shí)時(shí)推薦,那么就需要提高推薦的速度。因此,提出了基于聚類(lèi)的協(xié)同過(guò)濾推薦算法。將整個(gè)用戶(hù)空間根據(jù)用戶(hù)的購(gòu)買(mǎi)習(xí)慣和評(píng)分特點(diǎn)劃分為若干個(gè)不同的聚類(lèi),從而使得聚類(lèi)內(nèi)部用戶(hù)對(duì)項(xiàng)的評(píng)分盡可能相似,而不同聚類(lèi)間用戶(hù)對(duì)商品的評(píng)分盡可能不同。根據(jù)每個(gè)聚類(lèi)中用戶(hù)對(duì)商品的評(píng)分信息生成一個(gè)虛擬用戶(hù),虛擬用戶(hù)代表了該聚類(lèi)中用戶(hù)對(duì)商品的典型評(píng)分,將所有虛擬用戶(hù)對(duì)商品的評(píng)分作為新的搜索空間,查詢(xún)當(dāng)前用戶(hù)在虛擬用戶(hù)空間中的最近鄰居,產(chǎn)生對(duì)應(yīng)的推薦結(jié)果。
4.改進(jìn)的k-means聚類(lèi)算法
(1)k-means聚類(lèi)算法。k-means聚類(lèi)算法是最簡(jiǎn)單同時(shí)也是非常有效的聚類(lèi)算法。采用k-means聚類(lèi)算法對(duì)整個(gè)用戶(hù)空間進(jìn)行聚類(lèi)的主要步驟如下:
①隨機(jī)選擇k個(gè)用戶(hù)作為初始的簇中心,將k個(gè)用戶(hù)對(duì)項(xiàng)的評(píng)分?jǐn)?shù)據(jù)作為初始的聚類(lèi)中心。
②對(duì)剩余的用戶(hù)集合,計(jì)算每個(gè)用戶(hù)與k個(gè)聚類(lèi)中心的相似性,將每個(gè)用戶(hù)分配到相似性最高的聚類(lèi)中。
③對(duì)新生成的聚類(lèi),計(jì)算聚類(lèi)中所有用戶(hù)對(duì)項(xiàng)的平均評(píng)分,生成新的聚類(lèi)中心。
④重復(fù)以上2到3步,直到聚類(lèi)不再發(fā)生改變?yōu)橹埂?/p>
(2)改進(jìn)的k-means聚類(lèi)算法。在k-means算法中,k個(gè)中心的選取一般為隨機(jī)選取或依賴(lài)于領(lǐng)域知識(shí)。為了更好地選取k個(gè)中心以提高聚類(lèi)的質(zhì)量,需要對(duì)k-means算法進(jìn)行改進(jìn)。算法2-1給出了改進(jìn)后的算法描述。
算法2-1改進(jìn)k-means算法。定義:(推薦池T)設(shè)站點(diǎn)共有m個(gè)頁(yè)面,共有n次用戶(hù)的訪(fǎng)問(wèn),由于采用協(xié)作推薦方法,那么推薦池T就是內(nèi)存中的一個(gè)n×(m+l)的矩陣。其中每一行代表一個(gè)用戶(hù)訪(fǎng)問(wèn)的頁(yè)面集;在前m列中,每一列表示用戶(hù)對(duì)該頁(yè)面的訪(fǎng)問(wèn)時(shí)間長(zhǎng)度;每一個(gè)矩陣項(xiàng)表示個(gè)用戶(hù)在一個(gè)頁(yè)面上的訪(fǎng)問(wèn)時(shí)間,即該用戶(hù)對(duì)該頁(yè)面的訪(fǎng)問(wèn)興趣度大小。第m+l列表征該行被加入到推薦池中的時(shí)間,這是為了對(duì)該推薦池保持一個(gè)按時(shí)間新舊程度運(yùn)行的替換策略。
輸入:初始簇K,推薦池T
輸出:推薦池的中心集合CenterSet
①k=[K/2];//起始時(shí)取「K/2」值作為k-means算法的初始k值。
②將評(píng)分項(xiàng)為0的各項(xiàng)以某一均值(或者設(shè)定的值)θ代替;//避免出現(xiàn)大規(guī)模稀疏矩陣影響推薦質(zhì)量。
③initialize(T,CenterSet,k);//隨機(jī)選取k個(gè)初始的中心。
④WHILE k<=K DO BEGIN
⑤CenterSet=k-means(T,k,CenterSet);//進(jìn)行聚類(lèi)操作得到k個(gè)中心//找到一個(gè)新中心
⑥max=0;newcenter=1
⑦FOR each c∈T DO BEGIN
⑧d=0;
⑨FOR each c∈CenterSet DO BEGIN
⑩d=d+distance(T,t,c);
END
IF d>max THEN BEGIN
max=d;
Newcenter=t;
END
END
CenterSet=CenterSet∪{newcenter}
k=k+1;
END
RETURN CenterSet;
5.對(duì)改進(jìn)的k-means算法進(jìn)行分析
在每一遍k-means算法執(zhí)行后,選取一個(gè)距離各中心距離和最大的元素作為新的中心。該算法的改進(jìn)之處有三點(diǎn):
(1)改變了傳統(tǒng)的k-means算法要求用戶(hù)必須事先給出k(要生成的聚類(lèi)數(shù)目)值,以及對(duì)于設(shè)定的不同k值導(dǎo)致不同聚類(lèi)結(jié)果的缺點(diǎn)。
(2)避免了某些頁(yè)面因?yàn)闆](méi)有被訪(fǎng)問(wèn)得到評(píng)分為0而形成的大規(guī)模稀疏矩陣問(wèn)題。
(3)改進(jìn)的k-means算法由于在每一次算法執(zhí)行后是選取一個(gè)距離各中心距離和最大的元素作為新的中心,這個(gè)元素來(lái)自原來(lái)的樣本數(shù)據(jù)庫(kù),原來(lái)的距離矩陣數(shù)據(jù)仍然可以重用,因此不需要重新計(jì)算每一個(gè)對(duì)象與新的平均值點(diǎn)間的距離。
該算法的缺點(diǎn)是:只有當(dāng)聚類(lèi)數(shù)目遠(yuǎn)小于項(xiàng)數(shù)目時(shí),計(jì)算目標(biāo)項(xiàng)與聚類(lèi)中心相似性的時(shí)間代價(jià)相對(duì)于最近鄰查詢(xún)才可以忽略不計(jì),當(dāng)聚類(lèi)數(shù)目很大的時(shí)候,計(jì)算目標(biāo)項(xiàng)與聚類(lèi)中心相似性的代價(jià)并不能忽略不計(jì)。
二、電子商務(wù)推薦系統(tǒng)的實(shí)現(xiàn)
我們將系統(tǒng)分為三個(gè)模塊:數(shù)據(jù)預(yù)處理模塊、模式挖掘模塊和模式分析及應(yīng)用模塊。
1.實(shí)現(xiàn)模型
由此,基于Web日志挖掘的電子商務(wù)推薦系統(tǒng)的結(jié)構(gòu)分成在線(xiàn)和離線(xiàn)兩個(gè)部分,三個(gè)模塊。如圖1所示:
圖1電子商務(wù)推薦系統(tǒng)結(jié)構(gòu)圖
2.離線(xiàn)模塊
一般情況下,推薦系統(tǒng)的離線(xiàn)部分主要針對(duì)的是注冊(cè)用戶(hù),根據(jù)用戶(hù)提供的關(guān)鍵信息對(duì)推薦集合進(jìn)行凈化,從而在推薦頁(yè)面集合上體現(xiàn)精確的用戶(hù)感興趣的信息,如筆者參與設(shè)計(jì)的某搜飯網(wǎng),對(duì)于注冊(cè)用戶(hù)“饞嘴鴨”,在注冊(cè)過(guò)程中,提交的用戶(hù)所在地關(guān)鍵字是“市南區(qū)”,那么一旦該用戶(hù)登錄系統(tǒng),則直接將跟市南區(qū)有關(guān)的推薦頁(yè)面展示在用戶(hù)窗口,如圖2所示:
圖2 地區(qū)來(lái)源是市南區(qū)的注冊(cè)用戶(hù)推薦頁(yè)面
3.在線(xiàn)模塊
在線(xiàn)模式下又分成兩種情況,一是注冊(cè)用戶(hù)登錄,二是隨機(jī)非注冊(cè)用戶(hù)。對(duì)于注冊(cè)用戶(hù)來(lái)講,可以任意變更興趣項(xiàng),而推薦系統(tǒng)會(huì)根據(jù)用戶(hù)的選擇,形成推薦集合并展示精確的推薦頁(yè)面,如果變更的興趣項(xiàng)不包含注冊(cè)用戶(hù)的關(guān)鍵信息,則推薦集合在原推薦集中產(chǎn)生,這樣用戶(hù)得到的推薦頁(yè)面更加精確。
對(duì)于隨機(jī)用戶(hù),推薦頁(yè)面與用戶(hù)興趣關(guān)系密切,同時(shí)其精確程度很大程度上依賴(lài)用戶(hù)的興趣項(xiàng)的選取。即用戶(hù)的興趣項(xiàng)約束越多則推薦頁(yè)面越精確,這種情況是以犧牲用戶(hù)時(shí)間為代價(jià)的。經(jīng)過(guò)用戶(hù)的一系列選擇后,推薦系統(tǒng)最后生成推薦頁(yè)面,如某隨機(jī)用戶(hù)對(duì)菜品類(lèi)別(咖啡)、地區(qū)(市南)進(jìn)行選擇后生成的推薦頁(yè)面。如圖3所示。
圖3 隨機(jī)用戶(hù)選擇后的推薦頁(yè)面
三、結(jié)論
目前Web數(shù)據(jù)挖掘己逐步成為網(wǎng)絡(luò)研究、數(shù)據(jù)挖掘、知識(shí)發(fā)現(xiàn)、軟件代理等領(lǐng)域的熱點(diǎn)問(wèn)題。研究日志挖掘,對(duì)于優(yōu)化Web站點(diǎn)、電子商務(wù)、遠(yuǎn)程教育、信息檢索等領(lǐng)域,都有著十分重要的意義。然而,如何將這些技術(shù)深入、完善,并盡快運(yùn)用到Internet各種應(yīng)用中,是擺在我們面前的新課題。
參考文獻(xiàn):
[1]鄒顯春等:電子商務(wù)與Web數(shù)據(jù)挖掘[J].計(jì)算機(jī)應(yīng)用,2000.4
[2]P.Buono,M.F.Costabile,S.Guida,A.Piccinno,G.Tesoro,Integrating UserData and Collaborative Filter in a Web Recommendation System,UM2001-Proc.Third Workshop on Adaptive Hypertext HypermediaSonthofen,Germany,July 2001,129-140
[3]Fayyad U,Piatetsky-Shapiro G,and Smyth P.Knowledge discovery anddata mining:Towards a unifying framework
[4]Grdon S.Linoff,Michael J.A.Berry著,沈均毅等譯.Web數(shù)據(jù)挖掘:將客戶(hù)數(shù)據(jù)轉(zhuǎn)化為客戶(hù)價(jià)值[M].電子工業(yè)出版社,2004.3
[5]趙艷霞梁昌勇:基于關(guān)聯(lián)規(guī)則的推薦系統(tǒng)在電子商務(wù)中的應(yīng)用[J].價(jià)值工程,2006年第5期
[6]林瑞娟侯德文:Web挖掘及其在電子商務(wù)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(8):178-191