翟鶴
摘要:該文提出一個(gè)改進(jìn)算法,將用戶之間的好友關(guān)系加入到隱語義模型來提高推薦結(jié)果準(zhǔn)確性。該算法利用用戶和項(xiàng)目之間的隱類和及其可用的元數(shù)據(jù)等,從而把隱式反饋信息加入到推薦算法當(dāng)中,該算法首先通過用戶的歷史項(xiàng)目數(shù)據(jù)構(gòu)計(jì)算得到用戶之間的能有效表達(dá)用戶信任興趣關(guān)系的親密程度,將其加入到gSVD++模型中,形成新的FgSVD++模型,并產(chǎn)生推薦。該模型采用movielens數(shù)據(jù)集進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,該算法具有更好的推薦準(zhǔn)確率以及覆蓋率。
關(guān)鍵詞:用戶信任;隱語義模型;隱式反饋;元數(shù)據(jù)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)04-0104-03
Personalized Recommendation Based on Latent Factor Model and Trust of Users
ZHAI He
(College of Information Science and Engineering,Ningbo University,Ningbo 315211,China)
Abstract::This paper proposed an improved algorithm, which added friend relationship between user to latent factor model to improve the accuracy of the recommendation result. By using the implicit and available metadata between users and projects, the algorithm uses the implicit feedback information to the recommendation algorithm. Through the user's historical project data of users, the intimate degree of users can be calculated, which can effectively express the closeness of relationship of users. After that, the intimate degree of users was added to the gSVD++ model, and new FgSVD++ model was formed, and made a recommendation. The model using the movielens data set was verified. Experimental results show that the algorithm has a better recommendation accuracy and coverage.
Key words: trust of users; latent factors model; implicit feedback; metadata
1 概述
隨著互聯(lián)網(wǎng)和現(xiàn)代技術(shù)的發(fā)展,人們?nèi)绾螐暮A康臄?shù)據(jù)中提取到個(gè)人想要的數(shù)據(jù),已經(jīng)被越來越多的人所關(guān)注。而推薦系統(tǒng)是用戶能夠有效應(yīng)對快速增長的信息過載的非常重要的手段。在過去的二十年間,有大量的研究集中在如何有效的為用戶推薦商品。這些研究包含了各種各樣的研究方法和切入方向[1]。其中包括基于內(nèi)容的推薦算法,基于社交網(wǎng)絡(luò)和組的推薦算法,協(xié)同過濾算法等[2]。這些推薦算法,很多也在商務(wù)上得到了有效的驗(yàn)證和應(yīng)用。例如,亞馬遜利用用戶的歷史數(shù)據(jù)為用戶提供有效的商品推薦;NetFlix作為美國知名的電影租賃網(wǎng)站,工程師們利用其相似用戶的偏好為目標(biāo)用戶提供推薦。這些應(yīng)用都是協(xié)同過濾算法在電子商務(wù)中的有效應(yīng)用。
一個(gè)基本的推薦系統(tǒng)可以根據(jù)三種不同的策略設(shè)計(jì):基于內(nèi)容的推薦算法,協(xié)同過濾算法,融合這兩個(gè)算法。自Netflix大賽以來,產(chǎn)生了很多很優(yōu)秀的協(xié)同過濾算法,主要集中在兩類:基于鄰域的推薦算法和隱語義模型[4][5]?;卩徲虻耐扑]算法通過刻畫用戶和項(xiàng)目之間的相似度構(gòu)建用戶或者項(xiàng)目的鄰居模型,通過最近鄰產(chǎn)生推薦;而隱語義模型,如SVD等,通過將高維向量空間模型映射到低維的潛在語義空間模型中,從而挖掘用戶和項(xiàng)目之間的潛在關(guān)系。NetFlix大賽后,Bell和Koren對協(xié)同過濾算法進(jìn)行了廣泛且深入的研究。他們認(rèn)為隱語義模型可以有效的構(gòu)建用戶或者項(xiàng)目的全局性結(jié)構(gòu),但是在具有緊密聯(lián)系的項(xiàng)目集中,卻不能有效的挖掘出項(xiàng)目之間的強(qiáng)關(guān)聯(lián)關(guān)系。因此提出將項(xiàng)目的可用的元數(shù)據(jù)加入到鄰域模型算法中,可以更加有效的構(gòu)建用戶項(xiàng)目之間的領(lǐng)域模型[4]。
但是無論是哪種方法,都存在冷啟動(dòng)、數(shù)據(jù)稀疏性等問題。因此,如何把不同推薦算法的優(yōu)勢融合入一個(gè)統(tǒng)一的模型,是推薦系統(tǒng)的熱點(diǎn)和難點(diǎn)[3]。近年來大部分的有關(guān)隱語義模型和隱式反饋的研究中,很少有考慮到用戶或者項(xiàng)目的元數(shù)據(jù),更別說社交網(wǎng)絡(luò)等對用戶的行為具有重要的影響的因素,這些都可以有效影響推薦系統(tǒng)的效率和結(jié)果。隨著國內(nèi)國外社交網(wǎng)絡(luò)和用戶社區(qū)的飛速發(fā)展,如何利用社交網(wǎng)絡(luò)中用戶之間的興趣相似性和信任可靠性來進(jìn)行推薦,已經(jīng)被越來越多的人所關(guān)注。
因此,本文在gSVD++的基礎(chǔ)上進(jìn)行擴(kuò)展,提出一種融合算法,該算法通過用戶或者項(xiàng)目的特征隱語義空間和有效的項(xiàng)目的元數(shù)據(jù)來得到用戶的隱語義反饋,最終將用戶好友關(guān)系改進(jìn)隱語義模型,得到最終的推薦算法。
2 模型構(gòu)建
在模型的構(gòu)建過程中,首先要考慮考慮用戶和項(xiàng)目的相對偏差。這是由于用戶或者項(xiàng)目本身自帶的屬性會(huì)對項(xiàng)目獲得評分產(chǎn)生影響。因此,采用基準(zhǔn)估算用戶克服這些差異性[8][9];其次,由于項(xiàng)目評分?jǐn)?shù)據(jù)稀疏性,如何利用用戶的隱式反饋信息來獲取更多的用戶行為,從而產(chǎn)生更有效的推薦,也是推薦系統(tǒng)研究的重點(diǎn);然后,在社交網(wǎng)絡(luò)中,好友之間的興趣往往是相似的,共享的,并且用戶之間具有信任關(guān)系,而如何利用社交網(wǎng)絡(luò)中用戶之間興趣信任的關(guān)系,產(chǎn)生更好的推薦結(jié)果,也是本文考慮的重點(diǎn)。最后,利用隱式反饋,社交網(wǎng)絡(luò)和隱語義模型,得到本文最終的推薦算法。
2.1 基準(zhǔn)估算
在現(xiàn)實(shí)社會(huì),用戶的對項(xiàng)目的評分往往具有很多與項(xiàng)目無關(guān)的因素。用戶有一些屬性和項(xiàng)目無關(guān),項(xiàng)目也有一些屬性和用戶無關(guān)。因此,后來在NetFlix大賽,Paterek提出一種將偏置項(xiàng)加入到SVD中的Bias-SVD算法,并將這些偏置項(xiàng)稱之為基準(zhǔn)估算[15]。
對于一個(gè)項(xiàng)目評分rui的基準(zhǔn)估算用bui表示,其公式如下所示:
[bui=μ+bu+bi] (1)
其中,[μ]
2.2 模型基礎(chǔ)
對于每一個(gè)用戶u來說,他的一個(gè)用戶特征向量用pu表示,其中,[pu∈?f]
[rui=bui+pTuqi] (2)
加入隱式反饋信息進(jìn)行擴(kuò)展,使用一個(gè)額外的語義變量[yi]
[rui=bui+qTipu+Nu-12j∈Nuyi] (3)
其中,pu通過給定的顯式信息學(xué)習(xí)得到,同時(shí)通過隱式反饋信息yi進(jìn)行補(bǔ)充。同樣的,參數(shù)可以通過最小化損失函數(shù)獲得。
進(jìn)一步加入了元數(shù)據(jù)進(jìn)行擴(kuò)展,形成了gSVD++模型。采用G(i)表示項(xiàng)目i的一些可用的描述,例如電影的種類,演員等因素。采用元數(shù)據(jù)因子向量xg用來表示每個(gè)可能的描述因子,其中[xg∈?f],則
[rui=bui+qi+G(i)-αg∈GixgT pu+N(u)-12j∈Nuyi] (4)
2.3 融合用戶好友關(guān)系的改進(jìn)模型
采用F(u)表示用戶u的所有好友集合。Suv表示用戶u和用戶v的親密程度,pv表示其好友對隱類的偏好矩陣。利用好友間的親密程度,將其好友v對隱類的偏好加入到好友u當(dāng)中,對用戶u的隱類傾向進(jìn)行擴(kuò)展,得到模型計(jì)算公式如下所示:
[rui=bui+qi+G(i)-αg∈GixgT pu+N(u)-12j∈Nuyi+v∈F(u)(rvi-bvi)fuv] (9)
當(dāng)用戶沒有直接好友時(shí),模型等價(jià)于gSVD++模型。
公式(9)的所有參數(shù)同樣的可以通過最小化損失函數(shù)獲得。最小化損失函數(shù)如公式(10)所示。現(xiàn)在,模型不僅僅考慮了用戶和項(xiàng)目隱式反饋信息,同時(shí)考慮了社交網(wǎng)絡(luò)中用戶之間的親密程度。本文在Manzato的基礎(chǔ)上,加入了社交網(wǎng)絡(luò)的親密程度的信息,并利用隨機(jī)梯度下降算法,來得到該模型參數(shù)。
[minp*,q*,b*,x*,y*(u,i)∈Krui-μ-bi-bu-qi+G(i)-αg∈GixgTpu+N(u)-12j∈NuyiT+λub2u+ib2i+pu2+qi2+i∈N(u)y2i+g∈G(i)x2g+v∈F(u)f2uv]
3 實(shí)驗(yàn)結(jié)果及分析
本文采用知名數(shù)據(jù)集movielens數(shù)據(jù)集進(jìn)行驗(yàn)證,實(shí)驗(yàn)對比數(shù)據(jù)來源于兩個(gè)模型。第一個(gè)是Koren提出的SVD++模型;第二個(gè)是Manzato提出的gSVD++模型。同時(shí)采用MAE和RMSE來進(jìn)行方法驗(yàn)證。該算法在計(jì)算過程中所用的常量定義如表1所示,實(shí)驗(yàn)結(jié)果如圖1所示。
實(shí)驗(yàn)結(jié)果呈現(xiàn)了在不同的影響因子的個(gè)數(shù)下的不同結(jié)果。其中,當(dāng)因子個(gè)數(shù)大于等于2時(shí),可以明顯看出本文提出的方法優(yōu)于其他三個(gè)方法。當(dāng)因子個(gè)數(shù)達(dá)到100時(shí),SVD++,gSVD++和FgSVD++方法的RMSE達(dá)到最優(yōu)。其中,SVD++算法分別為0.90561;gSVD++的RMSE為0.90222.而本文提出的方法的RMSE達(dá)到了0.89973。
在本文的提出的算法中,由于在估算過程中,還要構(gòu)建目標(biāo)用戶的虛擬社交網(wǎng)絡(luò)以及在構(gòu)建的社交網(wǎng)絡(luò)中好友對隱類的傾向矩陣,所以時(shí)間復(fù)雜度略有增加。與此同時(shí),由于本文提出的方法加入了社交網(wǎng)絡(luò)中好友的信息,利用了好友的歷史評分?jǐn)?shù)據(jù),因此在推薦結(jié)果的覆蓋率上也大大增加,增加了用戶的活躍度。
4 結(jié)束語
本文提出了改進(jìn)的隱語義模型的推薦算法,該算法將用戶好友關(guān)系加入到推薦算法當(dāng)中,并通過實(shí)驗(yàn)證明了本文提出的算法提供的推薦結(jié)果更加準(zhǔn)確,同時(shí)覆蓋率更廣。該算法的優(yōu)勢在于,利用好友之間的興趣相似性及信任可靠性對推薦評分進(jìn)行調(diào)整。本文在Movielens數(shù)據(jù)集上進(jìn)行算法驗(yàn)證,并且和其他兩個(gè)方法進(jìn)行比對,實(shí)驗(yàn)結(jié)果表明了該算法的有效性。
參考文獻(xiàn):
[1] 朱揚(yáng)勇,孫婧.推薦系統(tǒng)研究進(jìn)展[J].計(jì)算機(jī)科學(xué)與探索,2015(5):513-525.
[2] Ricci F, Rokach L,Shapira B, et al.Recommender Systems Handbook.Springer,2011.
[3] Adomavicius G, Tuzhilin A.Toward the Next Generation of Recommender Systems:A Survey of the State-of-the-Art and Possible Extensions[J]. IEEE Transactions on Knowledge and Data Engineering, 2005,17(6):734-749.
[4] Koren Y.Factorization meets the neighborhood: a multifaceted collaborative filtering model. In Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD,2008(8):426-434.
[5] Koren Y. Factor in the neighbors: Scalable and accurate collaborative filtering[J]. ACM Trans. Knowl. Discov. Data, 2010,4(1):1:1-1:24.
[6] Manzato M G. gSVD++: supporting implicit feedback on recommender systems with metadata awareness[C]// Proceedings of the 28th Annual ACM Symposium on Applied Computing.ACM,2013:908-913.
[7] Hu Y, Koren Y,Volinsky C. Collaborative filtering for implicit feedback datasets. In Proceedings of the 2008 Eighth IEEE International Conference on Data Mining, ICDM 2008(8):263-272.
[8] Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]. Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD, 2008(8):426-434.
[9] Koren Y. Factor in the neighbors: Scalable and accurate collaborative filtering[J]. ACM Trans. Knowl. Discov. Data, 2010,4(1):1:1-1:24.
[10] Yang D, Chen T, Zhang W,et al. Local implicit feedback mining for music recommendation[C]. Proceedings of the 6th ACM Conference on Recommender Systems, RecSys , 2012(12):91-98.
[11] Manzato M G.Discovering Latent Factors from Movies Genres for Enhanced Recommendation[C]. Proceedings of the 6th ACM Conferece on Recommender Systems, RecSys ,2012(12):249-252.
[12] Ricci F, Rokach L, Shapira B, et al. Recommender Systems Handbook[M]. Springer,2011.
[13] Shen Y, Jin R. Learning personal + social latent factor model for social recommendation[C]// Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM,2012:1303-1311.
[14] Paterek A. Improving regularized singular value decomposition for collaborative filtering[C]. Proceedings of Kdd Cup & Workshop, 2007.