朱愛(ài)云,任曉軍
(濰坊科技學(xué)院計(jì)算機(jī)軟件學(xué)院,壽光 262700)
隨著網(wǎng)絡(luò)和電子商務(wù)的快速增長(zhǎng),推薦系統(tǒng)椐據(jù)用戶購(gòu)買或歷史評(píng)分信息,能夠快速自動(dòng)地為用戶提供有用的信息,傳統(tǒng)上推薦系統(tǒng)已經(jīng)解決了系統(tǒng)對(duì)物品評(píng)分預(yù)測(cè)問(wèn)題。但是,傳統(tǒng)的推薦技術(shù)僅僅使用用戶-項(xiàng)目評(píng)分信息,為了實(shí)現(xiàn)用戶更個(gè)性化的推薦結(jié)果,開(kāi)發(fā)更智能化的推薦系統(tǒng),隨著社交網(wǎng)絡(luò)的增長(zhǎng),整合社會(huì)網(wǎng)絡(luò)信息到推薦系統(tǒng)中已引起許多學(xué)者的廣泛關(guān)注。
傳統(tǒng)的推薦系統(tǒng)[1,2]總是忽視用戶間的社會(huì)關(guān)系,在現(xiàn)實(shí)世界中,人們的社會(huì)關(guān)系在很大程度上決定了他們的偏好,事實(shí)上,當(dāng)人們面臨多種選擇時(shí),他們可能會(huì)通過(guò)最好的朋友提供建議,因此為了提供更準(zhǔn)確、更個(gè)性化的推薦結(jié)果,整合用戶間的社會(huì)關(guān)系到推薦系統(tǒng)中是合理的,基于以上觀點(diǎn),多種基于信任的推薦系統(tǒng)開(kāi)始提出,并由此提出了多種信任推薦方法[3-6],這些方法都是利用單邊信任信息來(lái)進(jìn)一步提高推薦系統(tǒng)的性能,這些方法中顯而易見(jiàn)的弱點(diǎn)是單方面的“信任關(guān)系”問(wèn)題。它不同于那種用戶之間相互合作的“社會(huì)關(guān)系”。另外,其他弱點(diǎn)也有不可行的假設(shè)和弱泛化能力,顯然,基于信任的推薦系統(tǒng)也不太合適。此外,社會(huì)網(wǎng)絡(luò)的整合從理論上是可以提高傳統(tǒng)推薦系統(tǒng)的性能。因?yàn)榫皖A(yù)測(cè)的準(zhǔn)確性而言,朋友關(guān)系能夠提高對(duì)用戶評(píng)分的理解,并且朋友關(guān)系也表明在某些方面有共同之處,因此,能夠緩解冷啟動(dòng)問(wèn)題[3]。
為了解決以上問(wèn)題,本文主要關(guān)注基于朋友的社會(huì)推薦,類似于文獻(xiàn)[8]提出的方法,在矩陣分解中增加用戶、物品偏置信息以及用戶的社會(huì)關(guān)系,構(gòu)成正則化推薦模型.通過(guò)實(shí)驗(yàn)驗(yàn)證了增加用戶、項(xiàng)目的評(píng)分偏置和用戶的社會(huì)關(guān)系能提高推薦的準(zhǔn)確度,并且也能應(yīng)用于現(xiàn)實(shí)生活中的大規(guī)模數(shù)據(jù)集中。因?yàn)樵诂F(xiàn)實(shí)生活中,人們經(jīng)常在購(gòu)買一種產(chǎn)品或消費(fèi)一種服務(wù)前,借助于他們?cè)谏缃痪W(wǎng)絡(luò)中的朋友的建議。從社會(huì)學(xué)和心理學(xué)研究發(fā)現(xiàn)也表明,人們傾向于結(jié)交跟自己的興趣相似的人,由于穩(wěn)定和持久的社會(huì)綁定,人們更愿意與他們的朋友分享他們的個(gè)人觀點(diǎn),因此通常在陌生人、供應(yīng)商和朋友中首先會(huì)選擇他們朋友的推薦。
傳統(tǒng)推薦方法主要有三類:協(xié)同過(guò)濾[2,9,10]、內(nèi)容過(guò)濾以及混合過(guò)濾[1]。其中協(xié)同過(guò)濾是最普遍和最成功的方法。
通常,協(xié)同過(guò)濾推薦方法分為基于模型[9]方法和基于內(nèi)存[2]方法,基于內(nèi)存的方法從評(píng)分矩陣中查找與當(dāng)前用戶偏好最相似的用戶,是一種啟發(fā)式的評(píng)分預(yù)測(cè)?;谀P偷姆椒ㄊ褂迷u(píng)分集合來(lái)學(xué)習(xí),然后用來(lái)進(jìn)行評(píng)級(jí)預(yù)測(cè)。
傳統(tǒng)的推薦方法已發(fā)展的很成熟,但是它們都是假設(shè)用戶是獨(dú)立的,沒(méi)有考慮用戶間的朋友關(guān)系,基于以上考慮,許多研究者提出了許多信任推薦方法[4-7,11,14]并廣泛應(yīng)用在學(xué)術(shù)和工業(yè)領(lǐng)域。但是推薦進(jìn)程仍與真實(shí)世界的推薦過(guò)程不一致,因此,他們提出了另一種集成方法,在同一時(shí)間,通過(guò)考慮用戶的喜好和受信任的用戶的喜好來(lái)計(jì)算用戶的評(píng)分。實(shí)驗(yàn)表明,該方法是可行的,能夠開(kāi)發(fā)更好的推薦模型?;谛湃蔚耐扑]系統(tǒng)已被證明是有效的,并取得了巨大的進(jìn)步。然而,通過(guò)分析,它們也有幾個(gè)固有的局限性和弱點(diǎn)需要解決。
近年來(lái),在工業(yè)界和學(xué)術(shù)界如何利用社會(huì)網(wǎng)絡(luò)信息已成為一個(gè)研究熱點(diǎn)。通過(guò)結(jié)合社會(huì)網(wǎng)絡(luò)信息能夠影響個(gè)人在網(wǎng)上的行為,如用戶間的互動(dòng)、標(biāo)簽信息等能提高推薦系統(tǒng)的性能。文獻(xiàn)[12]提出了一個(gè)融合社會(huì)朋友信息的個(gè)性化推薦概率模型,并在真實(shí)數(shù)據(jù)集上驗(yàn)證了用戶與他的朋友在許多方面有相似的偏好。文獻(xiàn)[8]提出了一種基于概率矩陣分解的社會(huì)正則化和因子分解法,該方法通過(guò)利用網(wǎng)絡(luò)信息提高了數(shù)據(jù)稀疏性問(wèn)題和冷啟動(dòng)問(wèn)題。文獻(xiàn)[8,13]整合朋友關(guān)系來(lái)提高推薦系統(tǒng)的性能。并且很多社會(huì)推薦技術(shù)都是基于矩陣分解來(lái)解決評(píng)分預(yù)測(cè)問(wèn)題[8,13,16],矩陣分解方法是是目前比較成功的推薦方法,它將評(píng)分/購(gòu)買矩陣分解成低維的用戶矩陣和項(xiàng)目矩陣,用戶和項(xiàng)目特征向量的點(diǎn)積說(shuō)明了給定用戶對(duì)項(xiàng)目的偏好程度。假定用戶u對(duì)物品i的評(píng)分用ru,i表示,用戶u對(duì)物品i的預(yù)測(cè)評(píng)分用r^u,i表示,其中r^u,i是由用戶特征向量 pu和項(xiàng)目特征向量qi的內(nèi)積得到。
即:
但是,在實(shí)際的推薦系統(tǒng)中,有的用戶往往熱衷于給用戶打分高,有的項(xiàng)目也給予了很高的評(píng)分,因此預(yù)測(cè)評(píng)分[15]為:
其中,bu為用戶u的偏置評(píng)分,bi為項(xiàng)目i的偏置評(píng)分,e為數(shù)據(jù)集中所有評(píng)分的平均評(píng)分。
因此,目標(biāo)函數(shù)為:
隨著社交媒體的日益普及,使得越來(lái)越多的在線用戶參與在線活動(dòng),從而產(chǎn)生了更為豐富的社會(huì)關(guān)系。在社會(huì)推薦系統(tǒng)中,除了用戶的評(píng)分信息外,還有用戶之間的社會(huì)關(guān)系,社會(huì)關(guān)系的有效性為推薦系統(tǒng)提供了一個(gè)獨(dú)立的資源,也為獨(dú)特的社會(huì)推薦的屬性帶來(lái)了新的機(jī)遇。本文將結(jié)合用戶的社會(huì)網(wǎng)絡(luò)關(guān)系來(lái)提高推薦系統(tǒng)性能,假設(shè)用戶有不同類型的社會(huì)關(guān)系(家人、朋友、同事、同學(xué)等),如果兩個(gè)人建立一種社會(huì)關(guān)系,那么就說(shuō)他們存在一種社會(huì)關(guān)系。一種社會(huì)關(guān)系可能對(duì)稱也可能不對(duì)稱。需要從以下方面定義這種關(guān)系。因此,在這一部分描述了本文提出的方法。
定義1假定U={u1,u2,u3,…,un}是一個(gè)用戶集,I={i1,i2,i3,…,im}是一個(gè)項(xiàng)目集,則社會(huì)評(píng)分網(wǎng)絡(luò)SRN=<U,I,?,φ> 是 一 個(gè) 四 元 組,其 中 φ∶U×I→R+∪{"*"}是一個(gè)評(píng)分函數(shù),用一個(gè)真實(shí)的值關(guān)聯(lián)著一個(gè)用戶ux∈U和一個(gè)項(xiàng)目in∈I,即用戶u對(duì)項(xiàng)目i的評(píng)分為ru,i,否則用“*”表示。
φ∶U×U→{0,1}是一個(gè)社會(huì)函數(shù),即一對(duì)用戶ux,uy∈U存在一種社會(huì)關(guān)系,則函數(shù)值為1,否則為0。這種社會(huì)關(guān)系對(duì)一些用戶對(duì)(ux,uy)通常是不對(duì)稱的,也就是 φ(ux,uy)≠φ(uy,ux)。
定義2 假定SRN=<U,I,?,φ>是一個(gè)社會(huì)評(píng)分網(wǎng)絡(luò),且用戶ux∈U,用戶ux與他的鄰居Nx存在一種社會(huì)關(guān)系Nx={uy∈U∶φ(ux,uy)=1}。
在現(xiàn)實(shí)生活中,我們通常咨詢我們熟悉的朋友,因?yàn)樗麄兪煜の覀兊钠肺叮詠?lái)自社會(huì)信息的熟悉度和相似度證據(jù)表明包含評(píng)分信息的社會(huì)信息能夠潛在的提高推薦性能,因此,本文中在文獻(xiàn)[9,14]方法基礎(chǔ)上增加了用戶的直接朋友關(guān)系作為正則化條件構(gòu)建模型。猜想如果兩個(gè)用戶u,w是直接朋友關(guān)系,那么他們應(yīng)該在特征空間中會(huì)映射成一個(gè)非常接近的點(diǎn),換言之假設(shè)有三個(gè)用戶u,w,x,分別映射到特征空間中的點(diǎn)為 pu,pw,px,但如果只有u,w是朋友,那么 pu,pw之間的距離可能要小于點(diǎn) puk到點(diǎn)u的距離,事實(shí)上,如果一個(gè)用戶pu在潛在特征空間中很接近于他的直接朋友 pw,那么用戶 pu的觀點(diǎn)與他的朋友 pw的觀點(diǎn)將會(huì)是相似的,為此從數(shù)學(xué)的觀點(diǎn)考慮在潛在的特征空間中用戶u,w之間的距離為||pu-pw||,其中||·||是歐幾里德距離的范式,用N(u)表示用戶u的直接朋友的最近
鄰居,我們的目的是使盡可能的最小,因此公式(6)增加懲罰因子改為如下公式:
本文稱之為融合社會(huì)關(guān)系和評(píng)分偏置信息的正則化方法(簡(jiǎn)稱 Social B-SVD)。其中,( β,λ1,λ2,λ3均為>0的常數(shù))用于調(diào)整過(guò)擬合,sim(u,w)表示用戶u與他的直接朋友w的相似度,我們用皮爾遜相關(guān)系數(shù)(PCC)即可求出相似度:
其中,相似度sim(u,w)值越大,表明特征向量pu,pw之間的距離越小,也就表明他們之間有更加相似的偏好,反之,相似度越小,表明特征向量之間的距離越大。其中rˉu是用戶u的平均評(píng)分,從這個(gè)相似度公式中得到 sim(u,w)∈[-1,1],為了約束它的范圍[0,1],采用一個(gè)映射函數(shù) f(x)=(x+1)/2。
為了解決這個(gè)最優(yōu)化問(wèn)題,首先需要對(duì)目標(biāo)函數(shù)中的參數(shù)puk,qik,bu,bi分別求偏導(dǎo)。
然后利用隨機(jī)梯度下降法,沿最速下降方向遞推得到如下公式:
其中,α為學(xué)習(xí)速率,并按每次迭代縮減為0.9倍的速度遞減。
下面是具體的算法:
算法:融合社會(huì)關(guān)系的矩陣分解(SocialB-SVD),用戶對(duì)項(xiàng)目的分rui,需要分解的特征維數(shù) k
輸入:用戶數(shù)m,項(xiàng)目數(shù)n,迭代次數(shù)為T(mén)。
輸出:潛在用戶特征矩陣 U和潛在項(xiàng)目特征矩陣V。
開(kāi)始
隨機(jī)初始化:用戶特征矩陣 U,項(xiàng)目特征矩陣 V,每個(gè)用戶u的朋友特征矩陣 pw,每個(gè)用戶的偏置向量bu和每個(gè)項(xiàng)目i的偏置向量bi。
在本文中,我們采用Flixster數(shù)據(jù)集作為此實(shí)驗(yàn)數(shù)據(jù)集,此數(shù)據(jù)集包含了用戶間的社會(huì)網(wǎng)絡(luò)和用戶評(píng)分,用戶間的社會(huì)網(wǎng)絡(luò)是無(wú)向的,評(píng)分值介于[0.5,5.0]之間,且步長(zhǎng)為0.5。
在實(shí)驗(yàn)中,我們從數(shù)據(jù)集中隨機(jī)抽取了80%的評(píng)分?jǐn)?shù)據(jù)作為訓(xùn)練集,剩余20%作為測(cè)試集,并且從社交網(wǎng)絡(luò)關(guān)系數(shù)據(jù)中抽取了20000個(gè)朋友作為訓(xùn)練集,學(xué)習(xí)速率參數(shù)α與正則化參數(shù)λ1,λ2,λ3,β通過(guò)交叉驗(yàn)證決定。本文采用α=0.0002,λ1=0.003,λ2=0.002,λ3=0.004,β=0.2進(jìn)行實(shí)驗(yàn)。并且采用均方根誤差(RMSE)和平均絕對(duì)誤差(MAE)來(lái)評(píng)價(jià)預(yù)測(cè)準(zhǔn)確度。
取特征維數(shù)為k=10,和k=30,迭代次數(shù)為30時(shí)對(duì)比了以下這5種算法的預(yù)測(cè)準(zhǔn)確度。
(1)ItemMean:此方法使用每個(gè)項(xiàng)目的平均值來(lái)預(yù)測(cè)缺失值。
(2)SVD:是最傳統(tǒng)的矩陣分解推薦算法,已廣泛應(yīng)用于推薦系統(tǒng)中,但它忽視了用戶間的社會(huì)關(guān)系。
(3)Bias_SVD:是 Koren[16]提出的一種推薦方法,該方法使用戶的偏置信息、項(xiàng)目的偏置信息整合到推薦系統(tǒng)中,提高了推薦性能。
(4)Social_SVD:是Ma[8]提出的一種信任感知推薦方法,利用矩陣分解融合用戶和她朋友的品味構(gòu)建正則化模型。
(5)SVD++:這種方法是 Koren[15]提出的,他考慮了用戶和項(xiàng)目的偏見(jiàn)值對(duì)評(píng)分的影響,也融合了用戶評(píng)分的顯式和隱式影響。
本實(shí)驗(yàn)中,特征維數(shù)設(shè)置為k=10和30,針對(duì)所有用戶做了實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示,不論k=10,30,與表中其他的方法相比較,我們所提出的Social BSVD方法的性能是最好的(MAE或RMSE值最?。?,雖然相對(duì)提高的比例很小,但是也表明融合社會(huì)網(wǎng)絡(luò)信息的Social B-SVD方法會(huì)大大提高推薦系統(tǒng)的性能。
圖1 參數(shù)β的影響(k=10)
圖2 參數(shù)β的影響(k=10)
在本文中參數(shù)β對(duì)預(yù)測(cè)準(zhǔn)確度起著重要的作用,它表示到底應(yīng)該結(jié)合多少社交網(wǎng)絡(luò)信息才能達(dá)到最佳狀態(tài)。在極端的情況下,如果我們用一個(gè)很小的β值,它表明僅僅使用用戶自己的品味來(lái)做出推薦,相反,我們?nèi)绻靡粋€(gè)很大的β值,那么社會(huì)網(wǎng)絡(luò)信息在學(xué)習(xí)過(guò)程中就占支配地位。但在許多情況下,我們都不想設(shè)置這些極端值,從圖1,圖2中我們看到不管用哪種數(shù)據(jù)集,隨著β值的增加MAE/RMSE值開(kāi)始在減少,但當(dāng)達(dá)到某一個(gè)閾值(0.001在Flixster數(shù)據(jù)集上)時(shí),隨著β值的繼續(xù)增加MAE/RMSE又開(kāi)始增加,這個(gè)拐點(diǎn)的存在說(shuō)明融合社交網(wǎng)絡(luò)信息到矩陣分解中進(jìn)行推薦遠(yuǎn)遠(yuǎn)好于單純使用用戶項(xiàng)目評(píng)分或單純使用社交網(wǎng)絡(luò)信息。
表1 Flixster數(shù)據(jù)集中預(yù)測(cè)準(zhǔn)確度的比較
圖3 特征維數(shù)k對(duì)RMSE的影響
圖4 特征維數(shù)k對(duì)MAE的影響
在本文中通過(guò)實(shí)驗(yàn)驗(yàn)證特征維數(shù)k對(duì)預(yù)測(cè)準(zhǔn)確度影響較大,我們選擇k=10,20,30,40,50,60,100進(jìn)行模型訓(xùn)練。從圖3、圖4可以看到,在我們提出的方法中,隨著特征維數(shù)k值的增加,MAE/RMSE值開(kāi)始下降很快,但是隨著k值的增加MAE/RMSE下降速度變慢(由圖 3、圖 4得到 k值從 60到100,MAE值從 0.8451下降到0.7906,RMSE值從0.9842下降到0.9439),也從側(cè)面驗(yàn)證了算法每次計(jì)算出的都是最顯著的特征向量。
本文在傳統(tǒng)的奇異值(SVD)矩陣分解模型中融合了社交網(wǎng)絡(luò)中的直接朋友關(guān)系和用戶評(píng)分偏置信息作為輔助信息,設(shè)計(jì)了基于社交網(wǎng)絡(luò)信息的矩陣分解算法。實(shí)驗(yàn)表明,本文提出的算法具有較好的預(yù)測(cè)效果,其性能明顯優(yōu)于相比較的相關(guān)算法。
[1]Adomavicius,G.,Tuzhilin,A..Toward the Next Generation of Recommender Systems:a Survey of the State-of-the-Art and Possible Extensions.IEEE Trans.Knowl.Data Eng,2005,17(6):734-749
[2]Bellogin,A.,Castells,P.,Cantador,I..Improving Memory-Based Collaborative Filtering by Neighbour Selection Based on User Preference Overlap.In:Proceedings of the 10th Conference on Open Research Areas in Information Retrieval,Lisbon,Portugal,2013,May 15-17:145-148.
[3]Jamali,M.,Ester,M..A Matrix Factorization Technique with Trust Propagation for Recommendation in Social Networks.In:Proceedings of the 4th ACM Conference on Recommender Systems,Barcelona,Spain,2010,September 26-30:135-142.
[4]Ozsoy,M.G.,Polat,F..Trust Based Recommendation Systems.In:Proceedings of the 2013 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining(ASONAM'13),Niagara,ON,Canada,2013,August 25-29:1267-1274.
[5]Massa,P.,Avesani,P..Trust metrics in recommender systems.Comput.Soc.Trust,2009:259-285.
[6]Nazemian,A.,Gholami,H.,Taghiyareh,F..An Improved Model of Trustaware Recommender Systems Using Distrust Metric.In:Proceedings of the IEEE/ACM International Conference on Advances in Social,2012.
[7]Ma,H.,Yang,H.,Lyu,M.R.,King,I..SoRec:Social Recommendation Using Probabilistic Matrix Factorization.In:Proceedings of the 17th ACM Conference on Information and Knowledge Management,Napa Valley,California,USA,2008,October 26-30:931-940.
[8]Ma H,Zhou D Y,Liu C.Recommender Systems Withsocial Regularization[C].In Proceedings of the 4th ACM International Conference on Web Search and Data Mining,2011,287-296.
[9]Bergner,Y.,Droschler,S.,Kortemeyer,G.,et al..Model-based Collaborative Filtering Analysis of Student Response Data:Machine-Learning Item Response In:Proceedings of the 5th International Conference on Educational Data Mining,Chania,Greece,,2012,June 19-21:95-102.
[10]Gunes,I.,Bilge,A.,Polat,H..Shilling Attacks Against Memory-based Privacy-Preserving Recommendation Algorithms.Internet Inf.Syst,2013,7(5):1272-1290.
[11]Nazemian,A.,Gholami,H.,Taghiyareh,F..An Improved Model of Trustaware Recommender Systems Using Distrust Metric.In:Proceedings of the 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining,Istanbul,Turkey,2012,August 26-29:1079-1084.
[12]He,J.,Chu,W.,PhD Dissertation.A Social Network-Based Recommender System(SNRS).University of California at Los Angeles,CA,USA,2010.
[13]Wang,X.,Huang,W..Research on Social Regularization-Based Recommender Algorithm.Comput.Mod.,2014,1:77-80.
[14]王瑞琴,蔣云良,李一嘯.一種基于多元社交信任的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)研究與發(fā)展,2016,53(6):1389-1399
[15]Koren Y,R BeII,C Volinsky.Matrix Factorization Techniques for Recommender Systems[J].Compute Socety,2009,42(8):30-37.
[16]Koren Y.Factor in the neighbors Scalable and Accurate Collaborative Filtering[J].ACM Transactions on Knowledge Discovery from Data(TKDD),2010,1(4):1-11.