何 慧
(江西師范大學(xué) 商學(xué)院,南昌 330022)
智能推薦系統(tǒng)中,推薦算法的設(shè)計(jì)往往基于用戶行為建立用戶與物品之間的網(wǎng)絡(luò)關(guān)系,如用戶-用戶、用戶-物品、物品-物品,進(jìn)而建立用戶潛在商品偏好預(yù)測(cè)算法,如經(jīng)典的協(xié)同過(guò)濾算法、標(biāo)簽推薦算法、關(guān)聯(lián)推薦算法等。這些推薦算法得到了學(xué)術(shù)屆一致認(rèn)同,也在產(chǎn)業(yè)界得到了廣泛應(yīng)用。但是,商品信息的增長(zhǎng)速度遠(yuǎn)遠(yuǎn)超過(guò)人類行為足跡,從而導(dǎo)致建立的用戶與物品的網(wǎng)絡(luò)關(guān)系極為稀疏,進(jìn)而導(dǎo)致推薦算法的準(zhǔn)確度的降低。為了解決數(shù)據(jù)稀疏性問(wèn)題,國(guó)內(nèi)外學(xué)者提出了多種改進(jìn)算法,如缺失值填充法,基于降維的推薦算法,基于影響集和云模型的協(xié)同過(guò)濾推薦算法等。這些算法仍是基于用戶對(duì)物品的歷史行為關(guān)系而設(shè)計(jì),雖然在一定程度上提高推薦的精度,但并未完全解決用戶行為稀疏導(dǎo)致的推薦精度的衰減問(wèn)題。事實(shí)上,用戶的購(gòu)買行為除了受到歷史購(gòu)買習(xí)慣和偏好的影響外,還與商品的種類密切相關(guān),用戶商品的關(guān)注存在時(shí)效性,即特定的時(shí)間段關(guān)注并購(gòu)買某幾種商品。為此,本文考慮用戶關(guān)注商品類型分布特征,建立了基于高斯模型和概率矩陣分解的混合推薦算法。首先利用高斯模型建立用戶關(guān)注商品種類偏好分布,然后基于用戶對(duì)商品的評(píng)分矩陣,利用概率分解模型生成潛因子實(shí)現(xiàn)對(duì)商品的預(yù)測(cè),最后基于商品類型偏好分布和概率潛因子商品預(yù)測(cè)模型建立混合商品推薦預(yù)測(cè)算法。
推薦算法的核心是基于用戶對(duì)物品的多元行為關(guān)系建立商品偏好預(yù)測(cè)模型,如基于用戶或物品鄰域的推薦算法,基于用戶社交關(guān)系的推薦算法,基于物品特征的推薦算法等。用戶在一定時(shí)間內(nèi)購(gòu)買或?yàn)g覽商品數(shù)量是有限的,基于用戶與物品行為建立的關(guān)系網(wǎng)絡(luò)面臨數(shù)據(jù)稀疏性問(wèn)題。為了解決稀疏性問(wèn)題,國(guó)內(nèi)外研究者提出了多種推薦算法,如基于用戶評(píng)分矩陣建立的多值概率矩陣分解推薦算法,基于主成分分析的協(xié)同過(guò)濾推薦算法、基于項(xiàng)目評(píng)分預(yù)測(cè)的推薦推薦算法、基于影響集的協(xié)作過(guò)濾推薦算法、基于k-均值層級(jí)聚類的推薦等。這些算法均是基于用戶對(duì)商品的評(píng)價(jià)建立評(píng)分矩陣,進(jìn)而建立相應(yīng)的推薦算法。這些算法雖然在一定程度上提高了推薦的精度,但忽略商品的內(nèi)容及評(píng)價(jià)因素對(duì)用戶購(gòu)買偏好的影響??紤]到商品的內(nèi)容以及商品集之間的內(nèi)在關(guān)系,Cohn建立了基于概率矩陣分解的聯(lián)合概率分布模型。商品除了固有屬性特征外,大部分電商平臺(tái)允許用戶對(duì)商品進(jìn)行標(biāo)簽評(píng)價(jià),標(biāo)簽是用戶偏好的映射,為此,Symeonidis等通過(guò)建立用戶-商品-標(biāo)簽三維張量模型,利用HOSVD算法降維,實(shí)現(xiàn)不同實(shí)體之間潛在的語(yǔ)義關(guān)聯(lián)分析,通過(guò)潛在語(yǔ)義關(guān)聯(lián)關(guān)系提高商品推薦準(zhǔn)確率;Zhang提出了一個(gè)基于用戶-物品-標(biāo)簽散布圖的完整推薦算法。
當(dāng)前的推薦算法大都把推薦的物品當(dāng)做黑盒子來(lái)對(duì)待,過(guò)度集中于對(duì)用戶行為數(shù)據(jù)提取的關(guān)聯(lián)性及聯(lián)合統(tǒng)計(jì)值,缺乏多物品的深層次理解及對(duì)物品間關(guān)系挖掘。用戶在進(jìn)行商品選擇時(shí),除了受到他的歷史購(gòu)買、瀏覽等行為影響外,還受其所關(guān)注的商品類型影響,用戶往往具有在特定時(shí)間關(guān)注特定類型商品的特性。為此,本文利用商品種類屬性特征,建立用戶-商品類型高斯分布模型,然后基于用戶對(duì)商品的評(píng)分矩陣,利用概率分解模型生成潛因子,最后基于商品類型偏好分布和概率潛因子預(yù)測(cè)模型建立混合推薦預(yù)測(cè)算法。
用戶的商品購(gòu)買行為除了服從冪律分布外,還具有偏向性特征。用戶通常會(huì)在其所關(guān)注的商品類型中進(jìn)行瀏覽、購(gòu)買所需的商品。也就是說(shuō),用戶在其潛在商品類別中的購(gòu)買行為滿足一定的概率分布特征。為此,本文利用高斯分布模型,基于用戶的歷史商品購(gòu)買/瀏覽行為構(gòu)建商品類型偏好模型。給定用戶潛在的購(gòu)買/瀏覽偏好類別Cu,用戶u購(gòu)買/瀏覽商品I的概率表示為:
其中:p(I∈Cu)表示物品屬于用戶u所偏好類別的概率,用物品I與用戶潛在偏好類別Cu中物品的平均相似度衡量,表示為:
p(fcu)表示用戶潛在偏好類別cu對(duì)購(gòu)買商品I的影響,表示為:
N(I/μcu,∑cu)表示高斯概率密度函數(shù),μcu和 ∑cu分別代表均值和方差。Cu表示用戶u的潛在購(gòu)買/瀏覽偏好物品類別。
由于每個(gè)用戶所偏好的商品類別不同,本文基于用戶對(duì)商品的購(gòu)買/瀏覽行為、用戶評(píng)分,利用貪婪迭代算法尋找每個(gè)用戶的潛在商品類型偏好。
矩陣分解是推薦系統(tǒng)中較為流行的方法,給定一個(gè)矩陣 F∈RM×N,矩陣分解的目標(biāo)是尋找兩個(gè)低階矩陣u∈RK×M和 L∈RK×N,使得 F≈uTL。用戶 u對(duì)物品 i的偏好概率定義為:
它假設(shè)觀察數(shù)據(jù)殘差噪聲服從高斯分布,并且潛隱子矩陣服從高斯先驗(yàn),則相應(yīng)的概率矩陣分解目標(biāo)函數(shù)定義為:
其中,g(x)=1/(1+exp(-x)),表示logistic函數(shù),Iij表示指示函數(shù),如果用戶i對(duì)商品 j進(jìn)行了評(píng)分,則Iij=1,否則為0,λ1和λ2用于控制矩陣U 和F的貢獻(xiàn)度。‖·‖表示Frobenius norm范數(shù)。
針對(duì)式(6)的矩陣分解最小化問(wèn)題,本文利用隨機(jī)梯度下降法錦進(jìn)行求解。通過(guò)在梯度反方向上以γ控步長(zhǎng)更新特征向量:
基于概率矩陣分解方法,可以推斷出用戶的商品偏好。但用戶是否會(huì)購(gòu)買某個(gè)商品是受多個(gè)因素的影響,用戶傾向于在其所偏好的商品類別中篩選商品。因此,本文融合了用戶的商品類別偏好和商品偏好推斷用戶對(duì)特定商品的偏好程度?;旌贤扑]模型定義為:
P(l|Cu)和 P(Ful)可以通過(guò)公式(1)和公式(5)得到。
實(shí)驗(yàn)采用Book Crossing數(shù)據(jù)集,該數(shù)據(jù)集市由Cai-Nicolas Ziegler在2004年8月至9月用4周的時(shí)間從Book crossing社區(qū)采集到的,共包含278858個(gè)用戶,271379本圖書(shū),1149780條評(píng)分記錄數(shù)據(jù),數(shù)據(jù)集還包含用戶基本信息數(shù)據(jù)、圖書(shū)信息數(shù)據(jù)。由于數(shù)據(jù)集中并未包含圖書(shū)的類別信息,本文利用網(wǎng)絡(luò)爬蟲(chóng),根據(jù)圖書(shū)的ISBN號(hào)、標(biāo)題、作者、出版時(shí)間和出版社,從Book Crossing社區(qū)中抓取對(duì)應(yīng)的分類信息,將用戶對(duì)圖數(shù)的評(píng)分信息視為用戶的行為特征。通過(guò)對(duì)用戶的圖數(shù)評(píng)分進(jìn)行統(tǒng)計(jì)分析,用戶的評(píng)分行為符合冪律分布,為了降低低頻行為數(shù)據(jù)對(duì)實(shí)驗(yàn)影響,本實(shí)驗(yàn)剔除掉評(píng)分圖數(shù)數(shù)量少于20本的圖數(shù),共得到7369個(gè)用戶對(duì)291537本圖書(shū)的888884條評(píng)分記錄作為實(shí)驗(yàn)數(shù)據(jù)集。為了驗(yàn)證模型的效果,將數(shù)據(jù)集隨機(jī)抽取80%的數(shù)據(jù)作為訓(xùn)練集,剩余的20%作為測(cè)試集。
在推薦算法的推薦質(zhì)量評(píng)價(jià)指標(biāo)中,最為常用的是平均絕對(duì)誤差MAE,他是通過(guò)計(jì)算預(yù)測(cè)的用戶對(duì)商品評(píng)分與用戶對(duì)該商品的真實(shí)評(píng)分之間的偏差來(lái)度量算法預(yù)測(cè)的準(zhǔn)確性。MAE越小,預(yù)測(cè)的越精確,推薦精度也就越高。假設(shè)用我們的算法預(yù)測(cè)用戶對(duì)k個(gè)商品的評(píng)分為{p1,p2,……,pk} ,用戶真實(shí)評(píng)分為{r1,r2,……,rk},則平均絕對(duì)誤差表示為:
本文提出的模型受到熱門類別抑制因子α的影響,同時(shí)還受到商品推薦數(shù)量k的限制。為此,首先將λ1和λ2設(shè)為0.01,設(shè)k=10,調(diào)整抑制因子α的取值,觀察MAE隨熱門類別抑制因子調(diào)整的變化趨勢(shì),尋找最佳的參數(shù)α。實(shí)驗(yàn)結(jié)果如圖1所示。從圖中可以看出,隨著熱門類別因子α的增加,MAE呈現(xiàn)下降趨勢(shì),在α=0.6時(shí)MAE取最小值,但α的增大反而使得MAE逐漸上升,模型效果變壞。說(shuō)明,熱門商品類別需要控制在一定范圍內(nèi)可以使得模型達(dá)到理想效果,不對(duì)熱門因子限制或完全限制都會(huì)降低模型的準(zhǔn)確度。為此,本文將熱門類別抑制因子設(shè)為0.6。
圖1 熱門類別抑制因子對(duì)推薦結(jié)果影響
基于上述設(shè)置的最優(yōu)熱門類別抑制因子α,進(jìn)一步實(shí)驗(yàn)驗(yàn)證本文所提出的推薦算法性能。本文將與傳統(tǒng)的協(xié)同過(guò)濾推薦算法(CF)、基于標(biāo)簽的推薦算法(TF)、基于項(xiàng)目評(píng)分預(yù)測(cè)的推薦算法(IRCF)、基于旗易幟分解的推薦算法(SVDCF)四個(gè)算法進(jìn)行對(duì)比。由于商品推薦數(shù)量k是影響推薦準(zhǔn)確度的關(guān)鍵因素,因此,本文將k設(shè)在[2,4,8,10,12,14,16,18,20]內(nèi)變化,觀察隨著k值得增加MAE的變化趨勢(shì),從而確定最佳的k值。實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 推薦算法精度比較
從圖2中可以看出,隨著推薦商品個(gè)數(shù)的增加,無(wú)論是傳統(tǒng)的還是本文提出的推薦算法的平均絕對(duì)誤差(MAE)均具有不同程度的降低,推薦質(zhì)量逐漸提高。在相同的推薦商品個(gè)數(shù)情況下,基于高斯模型和概率矩陣分解的推薦算法(GMMD)的MAE明顯小于傳統(tǒng)的推薦算法,推薦精度顯著提高,說(shuō)明本文提出的算法優(yōu)于傳統(tǒng)的推薦算法。
本文提出了一種混合推薦算法,首先用戶的商品購(gòu)買/瀏覽行為,以及商品的種類屬性,利用高斯模型構(gòu)建用戶商品類型偏好分布模型,然后針對(duì)用戶對(duì)商品的評(píng)分,利用矩陣分解模型生成評(píng)分矩陣潛因子,最后融合商品類型分布和基于概率矩陣分解的商品偏好預(yù)測(cè)模型,共同構(gòu)建了一種混合的商品推薦算法。實(shí)驗(yàn)結(jié)果表明,本文提出的方法可以顯著的提高模型的推薦精度,說(shuō)明用戶的商品類型對(duì)用戶的購(gòu)買行為存在顯著影響作用。
本文的研究基于用戶的行為和商品的類別屬性進(jìn)行深度分析挖掘用戶的商品偏好,一方面可以推薦算法中面臨的數(shù)據(jù)稀疏性問(wèn)題,同時(shí)降低了推薦商品的目標(biāo)空間,提高了模型的計(jì)算效率。在后續(xù)的研究中,將繼續(xù)挖掘商品的內(nèi)在關(guān)系,加深對(duì)推薦商品的深層理解,建立基于商品關(guān)系結(jié)構(gòu)的推薦算法。
[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]萬(wàn)年紅.基于云模型的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(5).
[13]鄧愛(ài)林,朱揚(yáng)勇,施伯樂(lè).基于項(xiàng)目評(píng)分預(yù)測(cè)的協(xié)同過(guò)濾推薦算法[J].軟件學(xué)報(bào),2003,14(9).
[14]陳健,印鑒.基于影響集的協(xié)作過(guò)濾推薦算法[J].軟件學(xué)報(bào),2007,18(7).