何 慧
(江西師范大學 商學院,南昌 330022)
智能推薦系統中,推薦算法的設計往往基于用戶行為建立用戶與物品之間的網絡關系,如用戶-用戶、用戶-物品、物品-物品,進而建立用戶潛在商品偏好預測算法,如經典的協同過濾算法、標簽推薦算法、關聯推薦算法等。這些推薦算法得到了學術屆一致認同,也在產業界得到了廣泛應用。但是,商品信息的增長速度遠遠超過人類行為足跡,從而導致建立的用戶與物品的網絡關系極為稀疏,進而導致推薦算法的準確度的降低。為了解決數據稀疏性問題,國內外學者提出了多種改進算法,如缺失值填充法,基于降維的推薦算法,基于影響集和云模型的協同過濾推薦算法等。這些算法仍是基于用戶對物品的歷史行為關系而設計,雖然在一定程度上提高推薦的精度,但并未完全解決用戶行為稀疏導致的推薦精度的衰減問題。事實上,用戶的購買行為除了受到歷史購買習慣和偏好的影響外,還與商品的種類密切相關,用戶商品的關注存在時效性,即特定的時間段關注并購買某幾種商品。為此,本文考慮用戶關注商品類型分布特征,建立了基于高斯模型和概率矩陣分解的混合推薦算法。首先利用高斯模型建立用戶關注商品種類偏好分布,然后基于用戶對商品的評分矩陣,利用概率分解模型生成潛因子實現對商品的預測,最后基于商品類型偏好分布和概率潛因子商品預測模型建立混合商品推薦預測算法。
推薦算法的核心是基于用戶對物品的多元行為關系建立商品偏好預測模型,如基于用戶或物品鄰域的推薦算法,基于用戶社交關系的推薦算法,基于物品特征的推薦算法等。用戶在一定時間內購買或瀏覽商品數量是有限的,基于用戶與物品行為建立的關系網絡面臨數據稀疏性問題。為了解決稀疏性問題,國內外研究者提出了多種推薦算法,如基于用戶評分矩陣建立的多值概率矩陣分解推薦算法,基于主成分分析的協同過濾推薦算法、基于項目評分預測的推薦推薦算法、基于影響集的協作過濾推薦算法、基于k-均值層級聚類的推薦等。這些算法均是基于用戶對商品的評價建立評分矩陣,進而建立相應的推薦算法。這些算法雖然在一定程度上提高了推薦的精度,但忽略商品的內容及評價因素對用戶購買偏好的影響。考慮到商品的內容以及商品集之間的內在關系,Cohn建立了基于概率矩陣分解的聯合概率分布模型。商品除了固有屬性特征外,大部分電商平臺允許用戶對商品進行標簽評價,標簽是用戶偏好的映射,為此,Symeonidis等通過建立用戶-商品-標簽三維張量模型,利用HOSVD算法降維,實現不同實體之間潛在的語義關聯分析,通過潛在語義關聯關系提高商品推薦準確率;Zhang提出了一個基于用戶-物品-標簽散布圖的完整推薦算法。
當前的推薦算法大都把推薦的物品當做黑盒子來對待,過度集中于對用戶行為數據提取的關聯性及聯合統計值,缺乏多物品的深層次理解及對物品間關系挖掘。用戶在進行商品選擇時,除了受到他的歷史購買、瀏覽等行為影響外,還受其所關注的商品類型影響,用戶往往具有在特定時間關注特定類型商品的特性。為此,本文利用商品種類屬性特征,建立用戶-商品類型高斯分布模型,然后基于用戶對商品的評分矩陣,利用概率分解模型生成潛因子,最后基于商品類型偏好分布和概率潛因子預測模型建立混合推薦預測算法。
用戶的商品購買行為除了服從冪律分布外,還具有偏向性特征。用戶通常會在其所關注的商品類型中進行瀏覽、購買所需的商品。也就是說,用戶在其潛在商品類別中的購買行為滿足一定的概率分布特征。為此,本文利用高斯分布模型,基于用戶的歷史商品購買/瀏覽行為構建商品類型偏好模型。給定用戶潛在的購買/瀏覽偏好類別Cu,用戶u購買/瀏覽商品I的概率表示為:

其中:p(I∈Cu)表示物品屬于用戶u所偏好類別的概率,用物品I與用戶潛在偏好類別Cu中物品的平均相似度衡量,表示為:

p(fcu)表示用戶潛在偏好類別cu對購買商品I的影響,表示為:


N(I/μcu,∑cu)表示高斯概率密度函數,μcu和 ∑cu分別代表均值和方差。Cu表示用戶u的潛在購買/瀏覽偏好物品類別。
由于每個用戶所偏好的商品類別不同,本文基于用戶對商品的購買/瀏覽行為、用戶評分,利用貪婪迭代算法尋找每個用戶的潛在商品類型偏好。
矩陣分解是推薦系統中較為流行的方法,給定一個矩陣 F∈RM×N,矩陣分解的目標是尋找兩個低階矩陣u∈RK×M和 L∈RK×N,使得 F≈uTL。用戶 u對物品 i的偏好概率定義為:

它假設觀察數據殘差噪聲服從高斯分布,并且潛隱子矩陣服從高斯先驗,則相應的概率矩陣分解目標函數定義為:

其中,g(x)=1/(1+exp(-x)),表示logistic函數,Iij表示指示函數,如果用戶i對商品 j進行了評分,則Iij=1,否則為0,λ1和λ2用于控制矩陣U 和F的貢獻度。‖·‖表示Frobenius norm范數。
針對式(6)的矩陣分解最小化問題,本文利用隨機梯度下降法錦進行求解。通過在梯度反方向上以γ控步長更新特征向量:

基于概率矩陣分解方法,可以推斷出用戶的商品偏好。但用戶是否會購買某個商品是受多個因素的影響,用戶傾向于在其所偏好的商品類別中篩選商品。因此,本文融合了用戶的商品類別偏好和商品偏好推斷用戶對特定商品的偏好程度。混合推薦模型定義為:

P(l|Cu)和 P(Ful)可以通過公式(1)和公式(5)得到。
實驗采用Book Crossing數據集,該數據集市由Cai-Nicolas Ziegler在2004年8月至9月用4周的時間從Book crossing社區采集到的,共包含278858個用戶,271379本圖書,1149780條評分記錄數據,數據集還包含用戶基本信息數據、圖書信息數據。由于數據集中并未包含圖書的類別信息,本文利用網絡爬蟲,根據圖書的ISBN號、標題、作者、出版時間和出版社,從Book Crossing社區中抓取對應的分類信息,將用戶對圖數的評分信息視為用戶的行為特征。通過對用戶的圖數評分進行統計分析,用戶的評分行為符合冪律分布,為了降低低頻行為數據對實驗影響,本實驗剔除掉評分圖數數量少于20本的圖數,共得到7369個用戶對291537本圖書的888884條評分記錄作為實驗數據集。為了驗證模型的效果,將數據集隨機抽取80%的數據作為訓練集,剩余的20%作為測試集。
在推薦算法的推薦質量評價指標中,最為常用的是平均絕對誤差MAE,他是通過計算預測的用戶對商品評分與用戶對該商品的真實評分之間的偏差來度量算法預測的準確性。MAE越小,預測的越精確,推薦精度也就越高。假設用我們的算法預測用戶對k個商品的評分為{p1,p2,……,pk} ,用戶真實評分為{r1,r2,……,rk},則平均絕對誤差表示為:

本文提出的模型受到熱門類別抑制因子α的影響,同時還受到商品推薦數量k的限制。為此,首先將λ1和λ2設為0.01,設k=10,調整抑制因子α的取值,觀察MAE隨熱門類別抑制因子調整的變化趨勢,尋找最佳的參數α。實驗結果如圖1所示。從圖中可以看出,隨著熱門類別因子α的增加,MAE呈現下降趨勢,在α=0.6時MAE取最小值,但α的增大反而使得MAE逐漸上升,模型效果變壞。說明,熱門商品類別需要控制在一定范圍內可以使得模型達到理想效果,不對熱門因子限制或完全限制都會降低模型的準確度。為此,本文將熱門類別抑制因子設為0.6。

圖1 熱門類別抑制因子對推薦結果影響
基于上述設置的最優熱門類別抑制因子α,進一步實驗驗證本文所提出的推薦算法性能。本文將與傳統的協同過濾推薦算法(CF)、基于標簽的推薦算法(TF)、基于項目評分預測的推薦算法(IRCF)、基于旗易幟分解的推薦算法(SVDCF)四個算法進行對比。由于商品推薦數量k是影響推薦準確度的關鍵因素,因此,本文將k設在[2,4,8,10,12,14,16,18,20]內變化,觀察隨著k值得增加MAE的變化趨勢,從而確定最佳的k值。實驗結果如圖2所示。

圖2 推薦算法精度比較
從圖2中可以看出,隨著推薦商品個數的增加,無論是傳統的還是本文提出的推薦算法的平均絕對誤差(MAE)均具有不同程度的降低,推薦質量逐漸提高。在相同的推薦商品個數情況下,基于高斯模型和概率矩陣分解的推薦算法(GMMD)的MAE明顯小于傳統的推薦算法,推薦精度顯著提高,說明本文提出的算法優于傳統的推薦算法。
本文提出了一種混合推薦算法,首先用戶的商品購買/瀏覽行為,以及商品的種類屬性,利用高斯模型構建用戶商品類型偏好分布模型,然后針對用戶對商品的評分,利用矩陣分解模型生成評分矩陣潛因子,最后融合商品類型分布和基于概率矩陣分解的商品偏好預測模型,共同構建了一種混合的商品推薦算法。實驗結果表明,本文提出的方法可以顯著的提高模型的推薦精度,說明用戶的商品類型對用戶的購買行為存在顯著影響作用。
本文的研究基于用戶的行為和商品的類別屬性進行深度分析挖掘用戶的商品偏好,一方面可以推薦算法中面臨的數據稀疏性問題,同時降低了推薦商品的目標空間,提高了模型的計算效率。在后續的研究中,將繼續挖掘商品的內在關系,加深對推薦商品的深層理解,建立基于商品關系結構的推薦算法。
[1]Schaffer J,H?llerer T,O'Donovan J.Hypothetical Recommendation:A Study of Interactive Profile Manipulation Behavior for Recommend?er Systems[R].FLAIRS Conference,2015.
[2]Aggarwal C C.An Introduction to Recommender Systems[M].Heidel?berg:Springer,2016.
[3]Symeonidis P.Matrix and Tensor Decomposition in Recommender Systems[R].Proceedings of the 10th ACM Conference on Recommend?er Systems,2016.
[4]Hernando A,Bobadilla J,Ortega F.A Non Negative Matrix Factoriza?tion for Collaborative Filtering Recommender Systems Based on a Bayesian Probabilistic Model[J].Knowledge-Based Systems,2016,(97).
[5]Xin Y,Steck H.Multi-value Probabilistic Matrix Factorization for IP-TV Recommendations[R].Proceedings of the Fifth ACM Confer?ence on Recommender Systems,2011.
[6]Kim D,Yum B-J.Collaborative Filtering Based on Iterative Principal Component Analysis[J].Expert Systems With Applications,2005,28(4).
[7]Papamichail G P,Papamichail D P.The K-means Range Algorithm for Personalized Data Clustering in E-commerce[J].European Journal of Operational Research,2007,177(3).
[8]Cohn D,Hofmann T.The Missing Link-a Probabilistic Model of Docu?ment Content and Hypertext Connectivity[R].Advances in neural infor?mation Processing Systems,2001.
[9]Symeonidis P,Nanopoulos A,Manolopoulos Y.Tag Recommenda?tions Based on Tensor Dimensionality Reduction[R].Proceedings of the 2008 ACM Conference on Recommender Systems,2008.
[10]Leskovec J.New Directions in Recommender Systems.Proceedings of the Eighth ACM International Conference on Web Search and Da?ta Mining,2015.
[11]Cheng C,Yang H,King I,et al.Fused Matrix Factorization With Geo?graphical and Social Influence in Location-Based Social Networks[J].Aaai,2012.
[12]萬年紅.基于云模型的協同過濾推薦算法[J].計算機系統應用,2015,24(5).
[13]鄧愛林,朱揚勇,施伯樂.基于項目評分預測的協同過濾推薦算法[J].軟件學報,2003,14(9).
[14]陳健,印鑒.基于影響集的協作過濾推薦算法[J].軟件學報,2007,18(7).