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