韓麗莎
(福州理工學院,福建 福州 350506)
在當今大數據時代,商品推薦系統(tǒng)已成為電子商務的重要研究內容.它能夠主動快速地挖掘出潛在顧客,并利用潛在顧客的興趣愛好和購買能力,為潛在顧客推薦感興趣的商品,既增加了網站的銷售量又增加了顧客對商品網站的信任度.
協同過濾商品推薦[1]又叫做社區(qū)過濾,是Goldberg等學者1992年首次提出的.傳統(tǒng)協同過濾商品推薦算法的關鍵是找出目標顧客的鄰居,據最相似鄰居的打分對目標顧客未購買的商品進行計算預測,并最終推薦給目標顧客.算法可劃分為3個過程:建立顧客模型;形成最相似鄰居;進行推薦.
(1)建立顧客模型.顧客打分數據用m×n維矩陣Rst表示,m是顧客數目,n是商品數目,rst是顧客s對商品t的評分.
(2)形成最相似鄰居.據打分矩陣Rst計算顧客間的相似度,形成目標顧客的最相似的鄰居集合.
(3)進行推薦.據最相似的鄰居已經購買或已經瀏覽或已經評價但目標顧客還沒有發(fā)現的商品形成候選商品集合,然后計算預測目標顧客對候選商品的打分,產生top-N商品,從而進行推薦.
隨著顧客數目和商品數據的劇增,顧客打分數據呈現出極端稀疏問題[3],這對商品推薦結果的準確性有著重大影響.對于稀疏問題,目前尚無徹底的解決辦法:Sarwar[4]等人利用單值分解方法處理稀疏的數據,結果發(fā)現這種方法雖然在一定程度上會提高商品的推薦質量,但會導致數據遺失,且計算復雜度高、可擴展性差;BP神經網絡填充方法[2]也被一些學者提出用來解決數據稀疏問題,但其計算復雜度高、可擴展性差、推薦速度慢.
鑒于數據稀疏性問題,本文給出了基于社區(qū)過濾[2]技術的估值填充商品推薦算法.文中先通過聚類形成目標顧客在各商品種類中的相似顧客群,并從中尋找top-N鄰居顧客;之后將鄰居顧客已經瀏覽或已經評價或已經購買但目標顧客還沒有發(fā)現的商品組成一個推薦候選商品集合;其次通過對候選商品集進行估值預測形成推薦;最后通過實驗驗證了該算法有著較好的推薦效果.
在傳統(tǒng)的協同過濾算法中,在尋找相似鄰居顧客時所關注的是目標顧客與其他顧客在所有商品上的興趣相似度,且是在所有感興趣的商品上向目標顧客進行推薦,所以當目標顧客想關注某方面的興趣愛好時,此推薦系統(tǒng)是無法滿足的.運用社區(qū)過濾技術可以有效地解決該問題,因為該技術考慮到了目標顧客當前感興趣的每一個類別,能夠針對任一類別向目標顧客進行推薦,可以全面反映目標顧客當前的興趣愛好.
社區(qū)是指在某方面具有相同興趣的顧客所組成的顧客群.因為顧客興趣的多樣性,一個顧客可以同時隸屬不同的社區(qū).社區(qū)過濾,也就是在某一社區(qū)內進行推薦.其基本思想是:首先通過聚類找出目標顧客在某一商品種類上的相似顧客群,也就是目標顧客在某一種類上的社區(qū);然后計算并預測目標顧客對同一社區(qū)中的其他顧客所感興趣的商品打分;最后據預測分數在該社區(qū)內向目標顧客進行推薦.
2.1.1 聚類技術
聚類分析[5]是一種重要的人為活動,并廣泛地用于許多領域,包括市場研究、模式識別、數據分析、圖像處理.比如,在商務中,聚類能夠幫助市場分析員根據購買模式從顧客庫中發(fā)現不同的顧客群,刻畫顧客群的特征.
聚類是將數據分類到不同的類或者簇的過程,使同一個簇中的對象之間具有很高的相似性,而不同簇中的對象高度相異.相異度根據描述對象的屬性值評估,通常使用距離度量.
2.1.2 改進顧客估值填充公式
根據社區(qū)過濾思想,論文對原有的評分估值技術進行了改進:利用聚類找到目標顧客在每個商品種類上的相似顧客群,繼而在每個商品種類的相似顧客群中計算“顧客評分尺度”和“商品受歡迎度”,從而完成更精準的估值預測,以提高商品的推薦質量.改進后的基于社區(qū)過濾技術的評分估值填充公式如下,
其中:
(1)U's示商品t所屬種類ct上的相似顧客群;
(2)將顧客s對商品t所屬種類ct的打分作為顧客打分尺度
該算法尋找目標顧客s在每個相似群中的最近鄰居:首先通過Pearson相關方法[2]得出顧客之間的相似度sim(ui,uj),然后將計算出的相似度進行排列(從高到低),形成目標顧客在每個相似群中的相似度集合 sim(us)={sim(us,n1);sim(us,n2),…sim(us,nm)};最后,以預定的相似度閾值或鄰居數確定top-N,進而確定目標顧客s在每個相似群中的鄰居集合N(us)={n1,n1,…nn|n≤m}.
其中,Iij是顧客ui和顧客uj都打過分的商品集合;RiCk或RjCk為顧客ui或uj對商品種類ck的評分.
在目標顧客的各個相似群中,鄰居集合N(us)={n1,n1,…nn|n≤m}形成以后,將鄰居顧客已經瀏覽或已經評價或已經購買但目標顧客s還沒有發(fā)現的商品組成候選商品集合CI(us),接著目標顧客s對候選集合CI(us)中的每個商品進行計算預測,然后將得出的分值按照從大到小的順序排列,最后選出top-N商品集合并進行最終推薦.
其中:
(1)i(nj)∈CI(us)表示鄰居顧客nj已瀏覽或已評價或已購買但目標顧客s還未發(fā)現的商品;
(2)RsCt表示目標顧客s對商品i(nj)所屬種類的打分;
(3)sim(us,nj)表示目標顧客s和其鄰居顧客j的相似度;
(4)rjt表示鄰居顧客j對商品i(nj)的打分;
(5)RjCt為鄰居顧客j對商品i(nj)所屬種類的打分;
論文利用商品推薦領域較權威的實驗數據,選用評分商品數為0-40時的顧客,并參考eBay網中的電影分類,將給出的基于社區(qū)過濾技術的估計填充推薦算法CF1與原估值填充推薦算法CF從準確性、全面性兩個方面進行比較分析.
(1)均值絕對誤差MAE衡量整個檢驗集合中的平均誤差.
CI(us)'?CI(us)是top-N=3時該算法推薦的商品集合;pst是預測的顧客s對商品it∈CI(us)'的打分;rst為顧客s對商品t的真實打分.
(2)查全率Recall驗證推薦的商品占顧客真正感興趣商品的比重.
TR(us)為顧客s的真正感興趣的商品集合,即在測試數據集中為評分>=4的商品集合;|CI(us)'|∩TR(us)為向顧客s推薦的商品與其真正感興趣的商品相重疊的部分.
實驗將給出的基于社區(qū)過濾技術的估計填充推薦算法CF1與原有的評估填充算法CF從推薦準確性、全面性兩個角度進行了對比.
(1)CF1與CF的均值絕對誤差MAE的對比結果如圖3.1.
圖3.1 算法CF1與CF的均值絕對誤差MAE對比結果
如圖3.1所示,隨著顧客評價的商品越來越多,算法CF1與CF的MAE曲線都呈現下降趨勢.這是因為顧客評價的商品越多,商品種類也就越多,顧客-商品評分矩陣需要填充得評分項也就越少,通過聚類尋找的鄰居也就越準確,MAE也就越低.因此,從圖3.1得出,本論文給出的基于社區(qū)過濾技術的估計填充推薦算法CF1的MAE比算法CF更低一些.
(2)算法CF1與算法CF的查全率Recall實驗結果如圖3.2所示.
圖3.2 算法CF1與CF的查全率對比結果
如圖3.2所示,隨著顧客評價的商品越來越多,算法CF1與CF的Recall曲線都呈現上升趨勢,這是因為顧客評價的商品越多,商品種類自然也就越多,算法的Recall也就越高.因此,從圖3.1得出,本論文給出的基于社區(qū)過濾技術的估計填充推薦算法CF1的查全率Recall相比算法CF更高一些.
在當今大數據時代,商品推薦算法的研究有著深刻的社會影響意義.對于數據稀疏問題,本論文給出了基于社區(qū)過濾技術的估值填充商品推薦算法,論文最后又驗證了該算法的可行性.然而本論文仍有很大改善空間,未來的研究工作主要有:
(1)本論文提出的算法的算法復雜度有待進一步降低.
(2)通過數據填充能夠在一定程度上緩解數據稀疏性問題,但不能解決高維矩陣的降維,即數據可擴展性問題仍待解決.