湯吳建
摘要 user-based協(xié)同過濾算法在B2C電子商務(wù)中是一種重要的推薦方法,但是用戶共同評價(jià)項(xiàng)目的稀缺性導(dǎo)致了協(xié)同過濾算法質(zhì)量的下降。鑒于此,在考慮用戶評分?jǐn)?shù)據(jù)的基礎(chǔ)上,對用戶評分記錄進(jìn)行聚類平滑??紤]用戶購買記錄作為數(shù)據(jù)源之一,并用曼哈頓距離相似度計(jì)算方法計(jì)算用戶購買記錄,將兩者線性組合得到混合相似度,使用混合相似度進(jìn)行推薦,通過實(shí)驗(yàn)計(jì)算兩者線性組合的最佳權(quán)重系數(shù),比傳統(tǒng)的利用用戶評分記錄和用戶購買記錄的精確度高。實(shí)驗(yàn)結(jié)果表明,基于混合相似度的協(xié)同過濾推薦能有效提高由于數(shù)據(jù)稀缺性造成的推薦準(zhǔn)確度。
關(guān)鍵詞 協(xié)同過濾;數(shù)據(jù)稀疏性;混合相似度
DOI DOI: 10.11907/rjdk.162496
中圖分類號: TP301
文獻(xiàn)標(biāo)識碼: A 文章編號 文章編號: 16727800(2017)002003204
0 引言
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,信息過載現(xiàn)象越來越突出,個(gè)性化推薦系統(tǒng)應(yīng)運(yùn)而生,并不斷地改進(jìn)。協(xié)同過濾作為目前推薦系統(tǒng)成功應(yīng)用,其基本思想是相似用戶具有相似的興趣愛好,尋找目標(biāo)用戶興趣最緊鄰的用戶,根據(jù)最近鄰用戶的評分來預(yù)測目標(biāo)用戶對商品項(xiàng)的評分值,選擇預(yù)測評分最高的前N項(xiàng)商品推薦給目標(biāo)用戶[1]。然而,用戶評分?jǐn)?shù)據(jù)存在著數(shù)據(jù)稀疏性和推薦實(shí)時(shí)性,從而使推薦結(jié)果存在偏差。
為解決此問題有學(xué)者從信息源出發(fā),把用戶的數(shù)據(jù)分為兩大類[2]:顯式數(shù)據(jù)和隱式數(shù)據(jù)。顯式數(shù)據(jù)為用戶的評分?jǐn)?shù)據(jù),而隱式數(shù)據(jù)是運(yùn)用信息技術(shù)獲取用戶頁面訪問情況。董全德[3]提出了基于雙信息源的協(xié)同過濾算法,判斷活動(dòng)用戶對目標(biāo)項(xiàng)目的興趣程度,建立相似用戶推薦組和專家推薦組,把兩個(gè)推薦組的建議結(jié)合起來,形成一個(gè)可靠的信息源,然后分析各自影響活動(dòng)用戶對目標(biāo)項(xiàng)目的權(quán)重,計(jì)算活動(dòng)用戶的最終興趣度,實(shí)現(xiàn)系統(tǒng)推薦。賀桂[4]利用用戶偏好挖掘技術(shù)進(jìn)行用戶顯性偏好知識和隱性偏好知識挖掘分析,實(shí)現(xiàn)基于用戶偏好知識的最近鄰居社區(qū)構(gòu)建和智能推薦。有學(xué)者為解決稀缺性問題將研究方向放在改進(jìn)相似度方法方面。杜茂康等[5]運(yùn)用改進(jìn)的Slope One算法,該算法使用鄰近項(xiàng)目進(jìn)行計(jì)算,降低了數(shù)據(jù)的稀疏性,同時(shí)也減少了計(jì)算量;任看看和錢雪忠[6]采用結(jié)合修正公式改進(jìn)的Jaccard相似性系統(tǒng)計(jì)算用戶之間的相似度,在計(jì)算過程中考慮用戶之間的共同評分項(xiàng)和所有評分項(xiàng)的關(guān)系,以及用戶在共同評價(jià)項(xiàng)目上的評分差異對用戶相似度的影響,從而獲取更加精確的用戶相似度矩陣。有學(xué)者通過聚類的方式來解決數(shù)據(jù)稀疏性問題。劉劍濤[7]針對傳統(tǒng)協(xié)同過濾算法依賴單一用戶需求形態(tài)影響推薦效果的問題,提出了一種基于用戶多態(tài)聚類的個(gè)性化推薦,通過改進(jìn)的海明距離計(jì)算候補(bǔ)鄰居集,結(jié)合多態(tài)相似度進(jìn)行二次聚類。吳泓辰[8]將協(xié)同過濾技術(shù)和劃分聚類技術(shù)相結(jié)合,參照矩陣來推薦信息,完善矩陣賦值范圍,在此基礎(chǔ)上提出劃分聚類的改進(jìn)推薦算法,提高算法的準(zhǔn)確性和實(shí)時(shí)性。
針對數(shù)據(jù)稀缺性導(dǎo)致推薦質(zhì)量差的原因,本文使用用戶評分矩陣進(jìn)行相似度計(jì)算,使用用戶購買記錄即用戶對商品的購買數(shù)量進(jìn)行相似度計(jì)算。一方面購買記錄客觀地反映了用戶的偏好習(xí)慣,而且購買記錄往往多于用戶的評分矩陣;另一方面,沒有忽視用戶評分矩陣的作用。同時(shí)改進(jìn)了用戶相似度計(jì)算方法,保證了推薦的質(zhì)量和精確度。
1 相似度計(jì)算方法改進(jìn)
1.1 用戶購買記錄相似度
根據(jù)協(xié)同過濾算法的原理,需要先計(jì)算目標(biāo)用戶與推薦系統(tǒng)中其他用戶的相似度sim(i,j)。目前,傳統(tǒng)的相似度計(jì)算方法中最流行的有皮爾遜相關(guān)性、余弦相似性以及修正的余弦相似性。但是這些傳統(tǒng)相似度計(jì)算方法對用戶購買記錄的計(jì)算存在一定問題。具體如下:
1.1.1 皮爾遜相關(guān)性
皮爾遜相關(guān)性是一種度量兩個(gè)變量間線性相關(guān)程度的方法[9],設(shè)用戶i和用戶j共同購買集合為Ii,j,則皮爾遜相關(guān)性所得到的兩個(gè)用戶間的相似度sim (i,j 為:
1.1.2 余弦相關(guān)性
余弦相似性通過測量兩個(gè)向量之間角的余弦值來度量它們之間的相似性。設(shè)用戶i和用戶j的購買數(shù)量分別為I和J,其中未購買的設(shè)置為0。則用戶i和用戶j的余弦相似性可用式(1)來表示:
1.1.3 修正的余弦相關(guān)性
為了解決沒有考慮不同用戶的購買數(shù)量尺度問題,引入了修正的余弦相關(guān)性,通過考慮用戶購買數(shù)量的平均數(shù)來消除評分尺度的差異,其公式為:Sim(i,j)= ∑nc=1(R
這3種相似度計(jì)算方法不適用于用戶購買記錄,首先沒有考慮不同用戶的購買數(shù)量尺度問題[10],其次由于未購買的設(shè)置為0,如果購買數(shù)量矩陣出現(xiàn)稀疏性嚴(yán)重的情況下,矩陣中出現(xiàn)很多0值,但實(shí)際上用戶沒有購買不代表用戶的偏好為0,將導(dǎo)致計(jì)算出來的相似性結(jié)果存在偏差,不利于預(yù)測目標(biāo)用戶的購買數(shù)量[11]。
1.1.4 適合用戶購買記錄的相似度
為了找到一種適合用戶購買記錄的相似度計(jì)算方法,本文引進(jìn)了曼哈頓距離。
曼哈頓距離也叫City Block相似度,是由十九世紀(jì)的Hermann Minkowski所創(chuàng)詞匯,是一種度量空間距離的幾何學(xué)概念,用來表明標(biāo)準(zhǔn)坐標(biāo)系上兩個(gè)點(diǎn)的絕對軸距總和。公式如下:
其中,Ri,a,Rj,a為用戶i和用戶j購買a產(chǎn)品的數(shù)量。
用上述曼哈頓距離相關(guān)性有效解決了由于購買數(shù)量稀缺性極大時(shí)分母可能為0的狀態(tài),從而提高了用戶之間相似度計(jì)算的質(zhì)量,保證了推薦算法的精確度。
1.2 用戶評分記錄相似度
為了緩解用戶評分記錄的稀缺性,可以對評分矩陣進(jìn)行填充,本文采用文獻(xiàn)[12]提出的一種有效用戶聚類平滑原始矩陣方法。首先對評分矩陣進(jìn)行Kmeans聚類,利用同類中的平均偏移來近似預(yù)測評分矩陣的未知評分,定義如下:
Ru(t)= Ru(t) 有評分Ru ∧ (t) 未知評分
其中,Ru ∧ 是用戶u對未知項(xiàng)目t預(yù)填充的平滑值。預(yù)填充是基于Kmeans用戶聚類結(jié)果,假設(shè)聚類結(jié)果為Cu∈ C1u,C2u,…,Cku ,Ru ∧ 的計(jì)算公式為:
1.3 改進(jìn)的混合評分相似度
本文結(jié)合用戶的購買記錄相似度與用戶評分記錄相似度產(chǎn)生混合相似度評分,這樣不但可以彌補(bǔ)數(shù)據(jù)在稀缺性下造成推薦準(zhǔn)確性降低的缺點(diǎn),而且購買記錄本來直觀反映了用戶偏好。這里需要引入一個(gè)權(quán)重變量來權(quán)衡購買記錄相似度與用戶評分記錄相似度,最后的相似度計(jì)算如下:
2 基于混合相似度的協(xié)同過濾推薦過程
用戶興趣矩陣的稀缺性影響了最后推薦的準(zhǔn)確性,單單考慮用戶評分記錄不能很好地緩解用戶興趣矩陣的稀缺性,在此基礎(chǔ)上將用戶購買記錄作為興趣矩陣的一部分,具體推薦過程如下:
(1)獲取興趣矩陣,即用戶的評分矩陣和用戶購買記錄矩陣。
(2)針對用戶購買記錄矩陣的特殊性采用曼哈頓距離公式(4)、(5)求得用戶購買記錄矩陣的相似度。
(3)針對用戶評分矩陣采用式(6)、式(7)聚類平滑原始矩陣,增加其共同評分項(xiàng)目,再采用公式(8)求得用戶評分矩陣的相似度。圖1為原始矩陣的平滑過程。
(4)利用權(quán)重系數(shù)將用戶購買記錄相似度與用戶評分記錄相似度整合在一起獲得混合相似度。
(5)根據(jù)聚類中心判斷到達(dá)用戶,以便縮小最近鄰的搜索范圍,可以使用K-NN最近鄰,通過式(11)找到當(dāng)前用戶的K個(gè)最近鄰,并選擇其中TOP-N推薦給當(dāng)前用戶為。
3 實(shí)驗(yàn)驗(yàn)證
3.1 實(shí)驗(yàn)數(shù)據(jù)
采用某電子商務(wù)網(wǎng)站上的評分?jǐn)?shù)據(jù)集以及交易記錄數(shù)據(jù)集對該算法進(jìn)行驗(yàn)證,該數(shù)據(jù)集共有1 321個(gè)用戶以及1 045個(gè)商品,其中包括82 826個(gè)評價(jià)記錄以及231 640個(gè)交易記錄。評價(jià)記錄需要使用數(shù)字量化,范圍是1~5,其中,5表示最喜歡;1表示最不喜歡,而購買記錄用購買數(shù)量來表示。為了提高推薦質(zhì)量不妨選取用戶對超過20種商品作過評價(jià)的進(jìn)行推薦??梢杂?jì)算出該數(shù)據(jù)的稀缺性為:1- max{82826,231640} 1321×1045 =83.22%。如果只考慮用戶的評價(jià)記錄,稀缺性為:1- 82826 1321×1045 =94%,經(jīng)過兩種方法對比,既考慮用戶評分記錄和用戶購買記錄要比只考慮用戶評分記錄更能解決數(shù)據(jù)稀缺性,而且用戶購買記錄更能真實(shí)客觀反映用戶的偏好,從而提高了協(xié)同過濾算法的效率。將評分?jǐn)?shù)據(jù)集分為訓(xùn)練集和測試集兩部分進(jìn)行實(shí)驗(yàn)驗(yàn)證。
3.2 評估標(biāo)準(zhǔn)
推薦系統(tǒng)中最常用的度量指標(biāo)有兩種,一種是平均絕對誤差(Mean Absolute Error,MAE),該方法直觀且容易實(shí)現(xiàn);另一種是根均方誤差(Root Mean Squared Error,RMSE),該方法也有不錯(cuò)的度量效果。本文實(shí)驗(yàn)運(yùn)用平均絕對誤差指標(biāo)衡量推薦效果,平均絕對誤差定義如下:
其中,ri為真實(shí)評分,pi為預(yù)測評分,N表示測試集中項(xiàng)目的數(shù)量。MAE值越小說明真實(shí)值與測試值越接近,即推薦系統(tǒng)的推薦能力越強(qiáng)。
3.3 實(shí)驗(yàn)結(jié)果及討論
首先測試Given5條件下,混合相似度權(quán)重系數(shù)α。從0~1以0.1平均遞增,當(dāng)α為0時(shí),相似度為評分記錄相似度;當(dāng)α為1時(shí),相似度為購買記錄相似度,如表1所示。
Given15條件下基于用戶購買記錄相似度計(jì)算MAE值為0.566,基于用戶評分記錄相似度計(jì)算MAE值為0.607,當(dāng)α為0.6時(shí)取得最佳權(quán)重值MAE值最小。
根據(jù)圖2所示基于改進(jìn)的混合相似度的協(xié)同過濾方法在權(quán)重系數(shù)分別取0.6、0.5、0.6時(shí)MAE取值最小,并且都小于在同等近鄰數(shù)量下基于用戶購買記錄相似度方法與基于用戶評分記錄相似度的協(xié)同過濾方法,可知基于改進(jìn)的混合相似度的協(xié)同過濾方法在一定程度上能消除數(shù)據(jù)稀缺性帶來的推薦質(zhì)量下降問題。
4 結(jié)語
針對個(gè)性化推薦系統(tǒng)中數(shù)據(jù)稀疏性問題,本文引入將用戶購買記錄和用戶評分記錄相結(jié)合的思想,對計(jì)算相似度的方法進(jìn)行改進(jìn),為驗(yàn)證本文算法的有效性,將最近鄰數(shù)在5、10、15下權(quán)變系數(shù)從0~0.1的MAE值進(jìn)行測定。在權(quán)變系數(shù)為0時(shí),即為基于用戶評分記錄的協(xié)同過濾算法;在權(quán)變系數(shù)為1時(shí),即為基于用戶購買記錄的協(xié)同過濾算法,實(shí)驗(yàn)結(jié)果表示權(quán)變系數(shù)在0.4~0.6之間MAE值最小,表明本文方法在一定程度上能解決數(shù)據(jù)稀疏性的問題。本文沒有考慮冷啟動(dòng)和用戶興趣轉(zhuǎn)移等問題,下一步將研究冷啟動(dòng)和用戶興趣轉(zhuǎn)移下的混合相似度的協(xié)同過濾方法,更好地提高算法效率和推薦質(zhì)量。
參考文獻(xiàn):
[1] 張莉,秦桃,滕丕強(qiáng).一種改進(jìn)的基于用戶聚類的協(xié)同過濾算法[J].情報(bào)科學(xué),2014,10:2427,32.
[2] SCHAFERJB,KONSTANJA,RIEDL J.Ecommerce recommendation applications[J].DataMining and Knowledge Discovery,2000,5(1):115152.
[3] 董全德.基于雙信息源的協(xié)同過濾算法研究[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2010(7):984987,996.
[4] 賀桂和.基于用戶偏好挖掘的電子商務(wù)協(xié)同過濾推薦算法研究[J].情報(bào)科學(xué),2013,12:3842.
[5] 杜茂康,劉苗,李韶華,等.基于鄰近項(xiàng)目的Slope One協(xié)同過濾算法[J].重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2014,03:421426.
[6] 任看看,錢雪忠.協(xié)同過濾算法中的用戶相似性度量方法研究[J].計(jì)算機(jī)工程,2015(8):1822,31.
[7] 劉劍濤.個(gè)性化推薦系統(tǒng)中用戶多態(tài)聚類研究[J].現(xiàn)代圖書情報(bào)技術(shù),2012(2):1822.
[8] 吳泓辰,王新軍,成勇,彭朝暉.基于協(xié)同過濾與劃分聚類的改進(jìn)推薦算法[J].計(jì)算機(jī)研究與發(fā)展,2011(S3):205212.
[9] 夏陪勇.個(gè)性化推薦技術(shù)中的協(xié)同過濾算法研究[D].青島:中國海洋大學(xué),2011.
[10] HJAHN.A new similarity measure for collaborative filtering to alleviate the new user coldstarting Problem[J].Information Sciences,2008,178(1):3751.
[11] 何有世,宋翠莉.基于用戶購買記錄的改進(jìn)協(xié)同過濾推薦[J].計(jì)算機(jī)工程與設(shè)計(jì),2014(9):30913094.
[12] XUE G,LIN C,YANG Q,et al.Scalable collaborative filtering using clusterbased smoothing[R].In Proceedings of the 28thannual international ACM SIGIR conference on Reserarch and development in information retrieval,Brazil:ACM Press,2005.
(責(zé)任編輯:陳福時(shí))