曹夏琳 周健勇



摘 ?要:隨著數據挖掘技術的不斷發展,個性化推薦系統在各個領域已被廣泛應用,電子商務平臺根據用戶的歷史數據,向其推薦感興趣的商品,但如今也存在著推薦商品精確度低,特征提取能力有限,標簽本身存在冗余問題等。文章通過基于物品的協同過濾算法,在用戶群中找到指定用戶的相似鄰居用戶,綜合這些鄰居用戶的行為數據,再引入物品售價權重這一隱氏特征,避免熱門物品對推薦結果的惡意干擾,改進傳統算法,從而推薦更合適的商品。實驗表明該算法對推薦預測有較好的效果。
關鍵詞:數據挖掘;推薦系統;協同過濾算法;售價權重
中圖分類號:F713.365.2 ? ?文獻標識碼:A
Abstract: With the continuous development of data mining technology, personalized recommendation system has been widely used in various fields. The E-commerce platform recommends products of interest according to the user's historical data, but now there are also problems of low accuracy in recommending commodities, the feature extraction capability is limited, and the tag itself has redundancy problems. Through the item-based collaborative filtering algorithm. This paper finds similar neighbor users of the specified users in the user group, integrates the behavior data of these neighbor users, and then introduces the hidden feature of the item price weight to avoid malicious interference of the popular items on the recommendation results. Improve traditional algorithms to recommend more suitable products. Experiment shows that the algorithm has a good effect on the recommended prediction.
Key words: data mining; recommendation system; collaborative filtering algorithm; price weight
0 ?引 ?言
隨著信息化技術的快速發展,網絡已經在人們學習、生活和工作中擔任著不可或缺的角色,而在信息過載的今天,如何在浩瀚的信息海洋中找到所需信息,已經越來越引起人們的關注。因此,許多學者致力于研究個性化推薦系統,好的個性化推薦系統能夠很好地提高用戶體驗,幫助減少馬太效應和長尾效應,擴大產品的盈利。
現代推薦系統中所使用的技術[1]主要有基于內容推薦、基于關聯規則推薦、基于知識推薦、基于上下文推薦和基于深度學習推薦、混合推薦以及協同過濾。協同過濾算法是如今應用最多、最廣泛的技術,其核心思想是:在預測用戶喜好時,不僅考慮該用戶的歷史信息,還要結合其他用戶對該商品的行動,計算給定用戶(物品)之間的相似性,尋找目標用戶(物品)的最近鄰居集合,利用最近鄰居集合中的評分情況來給目標用戶推薦相關內容。
1992年,Xerox PARC研究中心開發了實驗系統Tapestry[2],該系統首次利用協同過濾技術,幫助用戶過濾郵件,解決垃圾郵件問題,此后協同過濾技術開始被廣泛應用。
2001年,路海明、盧增祥等人[3]將協同過濾技術與內容相結合,通過網絡Bookmark服務,給出了該算法的一個實際應用系統,得到很好的反響。黃光球等人[4]結合了用戶興趣度和協同過濾技術對客戶的個人興趣進行評價,提出了客戶興趣度的商品推薦參考模型,并將此模型應用于電子商務網站的商品推薦,得到了很好的反響。周珊丹等人[5]利用基于用戶的協同過濾算法,為用戶推薦個性化文物,提高用戶在博物館中的游覽體驗。王冠楠等人[6]使用多維興趣向量刻畫用戶的興趣,利用協同過濾技術,提高了系統中新聞推薦的專業度。吳國芳[7]通過對用戶行為進行分析建立個性化Profile,在圖書館資源個性化推薦中得到了很好的應用。
本文基于協同過濾算法,分析“寧波地鐵go”用戶的歷史數據,挖掘出用戶物品間的相關度,再引入用戶購買權重這一隱氏特征,綜合分析以此預測出用戶的消費偏好,并向其推送相應的商品,此方法能夠很好地避免無關信息的干擾,解決用戶數據不足帶來的推薦不準確等問題。
1 ?協同過濾推薦算法
協同過濾推薦算法一般有兩類:基于用戶的協同過濾推薦和基于物品的協同過濾推薦。
1.1 ?基于用戶的協同過濾算法
基于用戶的協同過濾算法的基本思想是以用戶為主體,注重社會屬性,利用用戶對物品的偏好度計算用戶的鄰居用戶,然后把鄰居用戶的偏好物品推薦給當前用戶,算法步驟如下。
(1)計算目標用戶與其他用戶的相似度,可以使用反差表忽略一部分用戶;
(2)將相似度從高到低進行排列,找到K個與目標用戶最相似的鄰居用戶;
(3)在鄰居用戶的偏好物品集中,計算出每一件物品的推薦度;
(4)根據每一件物品推薦度的高低向目標用戶進行推薦。
這個算法實現起來比較簡單,但在實際應用中也存在一些問題,比如當前大多數人喜歡的物品對你來說卻毫無意義,或者一些實用性很強的物品,如新華字典、各種工具書等,在你想要買文學書的時候,可能沒有必要推薦給你,導致推薦物品的個性化較低。
1.2 ?基于物品的協同過濾算法
基于物品的協同過濾算法和基于用戶的協同過濾算法很相似,核心思想是給用戶推薦他們之前喜歡的物品的相似物品。從物品本身出發,基于用戶的歷史行為數據找到某一物品的相似物品,然后利用最近鄰居物品來預測當前用戶對鄰居物品的偏好程度,從而將偏好度高的物品推薦給目標用戶。算法流程如圖1所示。
這兩種算法各有優勢,實際情況下,對于“寧波地鐵go”公眾號用戶來說,目前用戶的歷史數據量有限,相似用戶的可參考性價值不高,與其向用戶推薦毫無意義的物品,以物品內在的聯系為原則的推薦更加適合現在的平臺情況。
2 ?算法實現
2.1 ?收集用戶歷史偏好
在“寧波地鐵go”平臺的用戶歷史商城數據包括用戶ID、物品名稱、購買數量、物品售價,本文將物品售價作為對某種物品偏好程度的衡量依據,根據用戶ID、物品名稱、購買數量這三種數據生成初始矩陣X,作為基于物品的協同過濾算法的初始輸入數據。建立好數據模型之后,對初始矩陣X進行矩陣相乘,用來對物品售價矩陣L賦權,得到最終矩陣M。在平臺所獲取的用戶數據來看,各種物品的售價差距不小,根據大多數用戶的消費心理,售價小又實用的物品往往很受大家歡迎,而這類物品會對推薦結果產生很大的干擾,從而造成推薦結果不準確,這時物品的售價會在一定程度上反映偏好程度,售價高的物品用戶仍然購買就說明對這一物品的喜愛程度很高,所以引入這一物品售價權重會使推薦結果更準確。圖2為算法的流程圖。
2.2 ?計算相似度
基于物品的協同過濾算法首先要計算物品之間的相似度,傳統的方法有余弦相似度計算、皮爾遜相關系數計算等。
(1)余弦相似度計算
3.4 ?結果分析
本文把傳統算法與引入售價權重后的改進算法進行對比,并使用MAE和APC評估其性能,首先售價權重對于整個系統的影響較大,因此需要事先確定一個最佳的售價權重以讓整個系統性能最佳,實驗結果如圖3所示。
從圖3可看出,當售價權重為0.4時的平均絕對誤差最小,因此以0.4為最佳售價權重,改進傳統的基于物品的協同過濾算法,得到的部分推薦結果如表4所示。
在其他參數相同的情況下,把售價權重為0.4時的改進算法與傳統算法進行比較,所得推薦結果與實際興趣物品集比較,并用MAE與APC兩個指標來衡量,結果如圖4、圖5所示。
由圖4可知,隨著鄰居數量的增加,傳統基于物品的協同過濾算法與引入售價權重后的改進算法的MAE都逐漸減小到最小值后逐漸增加,并趨于平穩,當鄰居數量為20時,兩種算法的MAE都達到最小值,此時推薦系統的準確度最高,并且改進后的算法的MAE總體上都要小于傳統算法。從圖5可看出,改進后算法的平均覆蓋率要高于傳統算法,說明引入售價權重能夠提高整個系統預測的覆蓋率,從如今的消費者購物心理來看,售價這一變量確實在很大程度上能反應某些物品的熱門度,單價低的物品銷量高說明其熱門度很高,但如果單價高的物品銷量仍然很高就更能說明用戶對其興趣度很高,若以此特性來對用戶進行精準營銷,一定能增強用戶的粘性,挖掘長尾物品,提高平臺的利潤。
4 ?結束語
本文在傳統基于物品的協同過濾算法上引入售價權重這一隱氏特征,減少了熱門物品對推薦結果的惡意干擾,實驗結果表明改進后的算法的平均絕對誤差和平均預測覆蓋率均優于傳統算法,在推薦精確度上有所提升。在實際應用中,對于供應商有很大意義,不僅對用戶的喜好有所了解,給用戶選擇購物商品時帶來方便,隨著積累的用戶數據量越來越大,可搭建類似DMP(Data Management Platform)數據管理平臺,把分散的多方數據進行整合納入統一的技術平臺,并對這些數據進行標準化和細分,結合用戶畫像,供應商可以制定精準的營銷方案,其經濟利益將尤為可觀。
參考文獻:
[1] 孫光浩,劉丹青,李夢云. 個性化推薦算法綜述[J]. 軟件,2017,38(7):70-78.
[2] ?GOLDBERG D, NICOLS D. Using collaborative filtering to weave an information tapestry[J]. Communications of the ACM, 1992,35(12):61-70.
[3] 路海明,盧增祥,李衍達. 基于多Agent混合智能實現個性化信息推薦[J]. 高技術通訊,2001(4):28-31.
[4] 黃光球,靳峰,彭緒友. 基于興趣度的協同過濾商品推薦系統模型[J]. 微電子學與計算機,2005,22(3):5-8.
[5] 周珊丹,周興社,王海鵬,等. 智能博物館環境下的個性化推薦算法[J]. 計算機工程與應用,2010(19):224-226.
[6] 王冠楠,陳端兵,傅彥. 新聞推薦的多維興趣模型與傳播分析[J]. 計算機科學,2013(11):126-130.
[7] 吳國芳. 數字圖書館個性化知識服務研究[J]. 計算機應用與軟件,2014,31(5):93-94,183.
[8] 孫多. 基于興趣度的聚類協同過濾推薦系統的設計[J]. 安徽大學學報(自然科學版),2007(5):19-22.