張岐山,翁麗娟
福州大學(xué) 經(jīng)濟(jì)與管理學(xué)院,福州350108
近年來,隨著信息技術(shù)的飛速發(fā)展,以論壇、QQ、微博、微信、博客、臉書等為代表的社交媒體受到了廣大網(wǎng)民的歡迎,同時得到了極其廣泛的應(yīng)用。社交媒體具有十分豐富的網(wǎng)絡(luò)信息資源,并且具有方便快捷、交互簡單、傳播迅速等優(yōu)點,然而也正是由于這些優(yōu)點,人們更加廣泛地使用社交媒體,推動了互聯(lián)網(wǎng)信息呈現(xiàn)出爆炸式增長,進(jìn)而導(dǎo)致目標(biāo)信息容易被淹沒在海量數(shù)據(jù)中。面對海量非結(jié)構(gòu)化信息過載問題,使用推薦系統(tǒng)可以為用戶有效地過濾冗余信息,提高服務(wù)質(zhì)量,因此推薦系統(tǒng)變得十分重要[1-5]。對于信息消費(fèi)者而言,推薦系統(tǒng)能幫助他們快速地從大量冗余信息中篩選出有用的信息;對于信息提供者而言,推薦系統(tǒng)不僅幫他們決定提供哪種信息給消費(fèi)者,同時消費(fèi)者也會因為服務(wù)質(zhì)量好而提高忠誠度[6]。
然而,推薦系統(tǒng)面臨著數(shù)據(jù)稀疏性、冷啟動和系統(tǒng)本身性能等方面的問題,這些問題對推薦系統(tǒng)造成了較大的影響,在很大程度上降低了推薦準(zhǔn)確性。為了解決這方面的問題,研究人員將用戶或項目的社會關(guān)系屬性信息(如標(biāo)簽信息、關(guān)注關(guān)系和信任關(guān)系等)作為重要的影響因素融入到傳統(tǒng)的推薦框架中[7-8],從而提出社會化推薦方法[9-10]。該方法經(jīng)過研究證明是有效的;一方面是因為信息獲取變得更容易,隨著社交媒體發(fā)展,用戶的社會關(guān)系屬性信息相對于以前更容易獲得;另一方面是因為旁人意見可以影響一個人的決定,現(xiàn)實生活中用戶經(jīng)常有向自己的熟人(如朋友、同學(xué)或同事等)征求意見、傳播信息的傾向[11-12],而熟人的意見往往能夠影響一個人的決定,這就意味著用戶的社交網(wǎng)絡(luò)關(guān)系可以幫助他們過濾信息。
當(dāng)前,社會化推薦系統(tǒng)在國內(nèi)外已經(jīng)成為一個熱門課題,并有眾多研究人員對此展開了研究,且獲得了相應(yīng)成果。特別是從2007 年起,基本每年都會舉辦ACM推薦系統(tǒng)年會,從2009年開始,有關(guān)社會化推薦系統(tǒng)的專題研討會都會擇期召開[13]。2011年的專題討論會,指出了社會化推薦系統(tǒng)的幾個重要主題和所面臨的研究熱點和難點[14],為社會化推薦系統(tǒng)研究提供了方向性指南;2013年的主題研討會,在之前的討論基礎(chǔ)之上又進(jìn)一步提出了社會化推薦系統(tǒng)的4 個研究方向[15],進(jìn)一步擴(kuò)寬了該領(lǐng)域的研究道路,為社會化推薦系統(tǒng)研究提供了更為有力的抓手,豐富了社會化推薦系統(tǒng)研究的理論體系。截止目前,社會化推薦系統(tǒng)仍處于蓬勃發(fā)展階段,有許多挑戰(zhàn)性問題需要進(jìn)一步探索。本文對社會化推薦系統(tǒng)研究進(jìn)行了回顧與總結(jié),并挖掘社會化推薦系統(tǒng)研究的熱點主題和未來發(fā)展趨勢,希望能從梳理中找出新的突破點,以期為該領(lǐng)域后續(xù)的相關(guān)學(xué)者提供一些有益的借鑒和參考。
傳統(tǒng)推薦系統(tǒng)關(guān)注面比較有限,通常只關(guān)注用戶和項目之間的二元關(guān)系[16],即用戶對項目是否關(guān)注或評分。通常用表示用戶,n 為用戶數(shù)量,用表示項目,m 為項目數(shù)量;用戶與項目之間的關(guān)系如圖1(a)所示。評分矩陣R 中的Rij表示用戶ui對項目vj進(jìn)行評分,R ∈Rn×m,用空值表示用戶沒有對該項目進(jìn)行評分,則用戶對項目的評分信息只能根據(jù)已經(jīng)獲取到的相關(guān)資料進(jìn)行綜合性預(yù)測,如圖1(b)所示。
圖1 用戶歷史行為信息
Resnick與Varian最早提出推薦系統(tǒng)的定義[12],在他們提出推薦系統(tǒng)定義之后隨即就出現(xiàn)各種相關(guān)的推薦方法,接下來對最主要的3種推薦方法進(jìn)行介紹。
基于內(nèi)容的推薦來源于對信息檢索[17]和信息過濾的研究[18],主要是推薦與用戶之前偏好信息相類似的項目。該方法主要是通過對項目信息內(nèi)容進(jìn)行挖掘以及提取,找出項目之間的關(guān)系并計算出相似度,從而依托相似度向用戶推薦相關(guān)的項目;項目內(nèi)容特征通常通過關(guān)鍵詞展現(xiàn)出來,而關(guān)鍵詞的信息量則是用TF-IDF 計算[19],TF 是指詞頻(Term Frequency),IDF 是逆文本頻率指數(shù)(Inverse Document Frequency)。
然而,基于內(nèi)容的推薦存在以下幾點不足[20-21]。
(1)有限的內(nèi)容分析:這些系統(tǒng)難以應(yīng)用于多媒體數(shù)據(jù)等本身具有自動特征提取的領(lǐng)域。
(2)過度特殊化:向用戶推薦的項目只限制在和用戶之前的偏好存在相似之處的項目。
(3)新用戶問題:基于內(nèi)容的推薦是在用戶有足夠多的評分項目前提下進(jìn)行的,然而當(dāng)用戶沒有評分項目時,該方法就無法進(jìn)行推薦,即冷啟動問題。
協(xié)同過濾是當(dāng)前應(yīng)用范圍最為廣泛的一種推薦方法[5,22-24],該方法通過提取出用戶-項目評分?jǐn)?shù)據(jù),并對數(shù)據(jù)進(jìn)行分析從而預(yù)測用戶的偏好,主要分為基于內(nèi)存的方法[25]和基于模型的方法[26-29]。
2.2.1 基于內(nèi)存的協(xié)同過濾推薦
基于內(nèi)存的方法主要依托用戶-項目評分矩陣或樣本進(jìn)行預(yù)測[23],其根據(jù)研究對象不同,可以進(jìn)一步分為基于用戶的方法[30-31]和基于項目的方法[5,32]。通過查找與目標(biāo)用戶評分相似的用戶,然后將這部分用戶所感興趣的項目推薦給目標(biāo)用戶,稱之為基于用戶的方法。通過計算項目在評分?jǐn)?shù)據(jù)上的相似程度,然后由相似項目的評分加權(quán)和來預(yù)測評分矩陣?yán)锶笔У脑u分,則稱之為基于項目的方法。通常會采用Jaccard 相似度、余弦相似度或皮爾遜相關(guān)系數(shù)等方法來計算用戶之間或項目之間的相似度。
2.2.2 基于模型的協(xié)同過濾推薦
基于模型的方法采用數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)算法對評分?jǐn)?shù)據(jù)樣本進(jìn)行訓(xùn)練學(xué)習(xí)并建立模型,通過模型來預(yù)測未知評分[33]。該方法主要利用矩陣分解、關(guān)聯(lián)算法、聚類算法、分類算法以及回歸算法等進(jìn)行研究。其中矩陣分解[22,34]因其較高的準(zhǔn)確性和可擴(kuò)展性在近幾年得到廣泛應(yīng)用[35-36]。
矩陣分解的基本思路是通過用戶-項目評分矩陣來學(xué)習(xí)用戶和項目在低維潛在空間上的矩陣表示U 和V[37],對應(yīng)的優(yōu)化模型如下:
協(xié)同過濾推薦能有效避免基于內(nèi)容推薦的一部分缺點,而且該方法不需要太多對應(yīng)數(shù)據(jù)領(lǐng)域的專業(yè)知識;然而,協(xié)同過濾仍然不能有效避免用戶冷啟動、數(shù)據(jù)稀疏性等問題[21,23]。文獻(xiàn)[38]在協(xié)同過濾推薦的基礎(chǔ)上融合TextRank 和word2vec 訓(xùn)練用戶行為序列,能夠解決過擬合問題,但依然在冷啟動上存在瓶頸。
為了克服基于內(nèi)容推薦和協(xié)同過濾推薦存在的缺點,提出了混合推薦方法,該方法把基于內(nèi)容推薦和協(xié)同過濾推薦兩種方法結(jié)合了起來。以下是目前采用的3種不同結(jié)合方法:
(1)在協(xié)同過濾推薦過程中融入基于內(nèi)容推薦的特征。將內(nèi)容中提取出的特征和部分項目評分?jǐn)?shù)據(jù)作為基本參數(shù),然后計算用戶與用戶之間的相似度,這種混合方法能在一定程度上解決數(shù)據(jù)稀疏性問題。
(2)在基于內(nèi)容推薦過程中融入?yún)f(xié)同過濾推薦的特征。該方法是通過對內(nèi)容的特征矩陣進(jìn)行分解,進(jìn)而降低特征矩陣的維度,過濾特征矩陣當(dāng)中不相關(guān)的維度。
(3)整體式混合方式。首先將基于內(nèi)容的推薦和協(xié)同過濾推薦兩種方法分別單獨實現(xiàn),接下來利用不同的機(jī)制,比如投票機(jī)制[39]或者評分的線性組合機(jī)制[37],將兩種方法單獨實現(xiàn)后的結(jié)果進(jìn)行組合,從而生成最后的推薦。
近年來,各種各樣的社交媒體的出現(xiàn)使得網(wǎng)民之間的交流互動變得更方便、更頻繁;社交媒體的普遍使用導(dǎo)致互聯(lián)網(wǎng)上的信息以前所未有的速度增長,這為社會化推薦系統(tǒng)創(chuàng)造了良好的發(fā)展環(huán)境,在很大程度上促進(jìn)了該領(lǐng)域的發(fā)展。
社會化推薦系統(tǒng)自1997 年被提出以來,吸引了許多研究機(jī)構(gòu)和學(xué)者的關(guān)注。文獻(xiàn)[40]將其劃分為狹義定義和廣義定義兩種,其中狹義的社會化推薦系統(tǒng)指的是一切融入了社交關(guān)系的推薦系統(tǒng),比如利用額外的社交信號來增強(qiáng)現(xiàn)有的推薦引擎,該定義假設(shè)當(dāng)用戶之間存在社交關(guān)系,則他們就互相關(guān)聯(lián)[1,41-42],他們的偏好就很有可能相似或相互影響。正是基于這種假設(shè),進(jìn)而推導(dǎo)出社會化推薦系統(tǒng)能通過社交關(guān)系提高推薦準(zhǔn)確度。廣義的社會化推薦系統(tǒng)指的是一切針對社交媒體領(lǐng)域的推薦系統(tǒng),該定義包括在社交媒體領(lǐng)域推薦任何對象的推薦系統(tǒng),這些對象可以是項目、標(biāo)簽以及社區(qū)等,利用的數(shù)據(jù)源也不僅是社交信息,還包括各種可利用的社交媒體數(shù)據(jù),比如社會化標(biāo)簽[43]、用戶與用戶之間存在的交互信息[44]以及用戶個人的點擊行為[45]等。
隨著社交媒體的日益普及,網(wǎng)民可以方便地參與到網(wǎng)絡(luò)活動中,由此也產(chǎn)生各種各樣的社交關(guān)系。在社會化推薦系統(tǒng)中,除了評分?jǐn)?shù)據(jù)這一數(shù)字化聯(lián)系外,用戶與用戶之間還存在著各種各樣的聯(lián)系。在社會化推薦系統(tǒng)中,用戶之間的社交關(guān)系通常用S 來表示,Sij=1是指用戶ui和用戶uj之間存在聯(lián)系,反之Sij=0。正是因為用戶之間有著各種各樣的聯(lián)系,使得社會化推薦系統(tǒng)與傳統(tǒng)推薦系統(tǒng)有所區(qū)別,兩者主要差異如表1所示。
表1 社會化推薦系統(tǒng)與傳統(tǒng)推薦系統(tǒng)的主要差異
(1)傳統(tǒng)推薦系統(tǒng)僅利用評分信息向目標(biāo)用戶推薦項目,其假設(shè)用戶與用戶之間不存在任何關(guān)聯(lián)關(guān)系,個體之間是相互獨立同分布的;然而在現(xiàn)實社會中,這是不存在的,用戶之間多多少少都會有社交關(guān)系,包括有向關(guān)系和無向關(guān)系。而社會化推薦系統(tǒng)則在傳統(tǒng)推薦系統(tǒng)的基礎(chǔ)之上融入了社交關(guān)系,假設(shè)存在社交關(guān)系的用戶擁有相似的偏好,并利用評分信息和社交關(guān)系向目標(biāo)用戶推薦項目,使得推薦系統(tǒng)與現(xiàn)實生活情景更加接近,如圖2所示,此處僅列舉有向關(guān)系。
圖2 用戶社交關(guān)系
(2)社會化推薦系統(tǒng)運(yùn)用了社會網(wǎng)絡(luò)分析方法[46],該方法被廣泛用來研究行動者之間的關(guān)系。行動者包含的對象可以有很多種,比如國家、組織、群體、社區(qū)、個人等,他們之間的關(guān)系模式反映出的現(xiàn)象或數(shù)據(jù)是網(wǎng)絡(luò)分析中的焦點。社會網(wǎng)絡(luò)分析是一種極為重要的研究思想,它在數(shù)據(jù)挖掘領(lǐng)域、數(shù)據(jù)可視化、知識管理、統(tǒng)計分析、小世界理論、信息傳播等方面均有所涉及。社會化推薦系統(tǒng)能夠有效利用社會網(wǎng)絡(luò)分析的研究成果(如異構(gòu)網(wǎng)絡(luò)、社區(qū)發(fā)現(xiàn)等)更為準(zhǔn)確地向用戶推薦項目。而傳統(tǒng)推薦系統(tǒng)因為沒有融入社交關(guān)系,因此并未采用社會網(wǎng)絡(luò)分析方法,導(dǎo)致其推薦準(zhǔn)確度相較于社會化推薦系統(tǒng)的準(zhǔn)確度低。
(3)由于互聯(lián)網(wǎng)信息量急劇增加,社交媒體環(huán)境下的推薦需要處理的數(shù)據(jù)量比傳統(tǒng)推薦需要處理的數(shù)據(jù)量更大,而且數(shù)據(jù)冗余和噪聲更多,因此,社會化推薦系統(tǒng)需要擁有更強(qiáng)的數(shù)據(jù)處理能力。相較于傳統(tǒng)推薦系統(tǒng)主要利用用戶評分?jǐn)?shù)據(jù),社會化推薦系統(tǒng)采集的數(shù)據(jù)主要是用戶隱式反饋數(shù)據(jù),它具備更低的采集成本、更豐富的數(shù)據(jù)量、對用戶的干擾程度更小等優(yōu)勢,因而社會化推薦系統(tǒng)能有效緩解數(shù)據(jù)稀疏性的問題。
社會化推薦系統(tǒng)是傳統(tǒng)推薦系統(tǒng)的延伸,由于社交媒體環(huán)境比傳統(tǒng)環(huán)境面臨更加復(fù)雜的信息提供環(huán)境和數(shù)據(jù)特征,只有在充分、準(zhǔn)確提取和預(yù)測用戶在社交媒體環(huán)境下產(chǎn)生的各種數(shù)據(jù)中蘊(yùn)含的用戶偏好后,才能有效生成準(zhǔn)確度更高的推薦。同時,社交媒體快速發(fā)展所產(chǎn)生的豐富的社會化網(wǎng)絡(luò)數(shù)據(jù),使得用戶對推薦系統(tǒng)的實時性和準(zhǔn)確性要求更高,而傳統(tǒng)推薦系統(tǒng)并不能滿足用戶需求,社會化推薦系統(tǒng)利用社交關(guān)系可以準(zhǔn)確地向用戶推薦項目,有效提高了推薦性能。
根據(jù)第2 章介紹的傳統(tǒng)推薦系統(tǒng)可以分成3 種,同樣地,社會化推薦系統(tǒng)也可以分成以下3 種:基于內(nèi)容的社會化推薦系統(tǒng)、基于協(xié)同過濾的社會化推薦系統(tǒng)和組合的社會化推薦系統(tǒng)。基于協(xié)同過濾的社會化推薦系統(tǒng)是目前應(yīng)用最普遍的推薦系統(tǒng)[40,47],其框架主要由兩部分組成:(1)基本的協(xié)同過濾模型;(2)社交信息模型。
由于協(xié)同過濾推薦有基于內(nèi)存和基于模型兩種方法,因此,基于協(xié)同過濾的社會化推薦系統(tǒng)也相應(yīng)地有基于內(nèi)存的社會化推薦系統(tǒng)和基于模型的社會化推薦系統(tǒng)之分。不同的社會化推薦系統(tǒng)會采用不同的方法進(jìn)行推薦,接下來將對這些方法進(jìn)行分類總結(jié)。
3.3.1 基于內(nèi)存的社會化推薦系統(tǒng)
基于內(nèi)存的社會化推薦系統(tǒng)的基本思想主要是通過查找和目標(biāo)用戶具有相關(guān)性的用戶,然后將相關(guān)性用戶所感興趣的項目推薦給目標(biāo)用戶,而這些與目標(biāo)用戶相關(guān)的用戶是通過評分信息與社交信息得到的。已有的基于內(nèi)存的社會化推薦方法有TidalTrust[48]、MoleTrust[1,49]等。
(1)TidalTrust
TidalTrust 假設(shè)用戶之間是通過信任關(guān)系進(jìn)行連接;并且非相鄰用戶之間的信任值是通過改進(jìn)的廣度優(yōu)先搜索算法查找從用戶ui到用戶uj的路徑推斷得出。路徑如果越短,那么信任值的推斷就越準(zhǔn)確。如果信任值大于給定閾值,那么就認(rèn)為這個用戶就是與目標(biāo)用戶具有相關(guān)性的用戶。該算法能夠?qū)⒃从脩舻侥繕?biāo)用戶之間路徑的長度和最小信任域值結(jié)合在一起,然而,該算法對于關(guān)系比較疏遠(yuǎn)的用戶,比如間接好友,其信任值推斷的準(zhǔn)確性也會明顯下降。
(2)MoleTrust
MoleTrust的基本思想與TidalTrust類似,但MoleTrust設(shè)置了最大路徑長度,并且只選取從源用戶到目標(biāo)用戶長度小于最大路徑長度的路徑進(jìn)行考慮。該算法首先構(gòu)造從源用戶到其他用戶之間的有向非循環(huán)圖,同時固定路徑長度;其次利用第一步得到的有向非循環(huán)圖來計算源用戶到目標(biāo)用戶之間的信任值;其計算方法是:依次在有向非循環(huán)圖中算出不同的路徑長度的信任值,最后算出所有鄰接于目標(biāo)用戶邊的信任值均值,并將該均值作為源用戶對目標(biāo)用戶的信任值。該算法將已對目標(biāo)項目進(jìn)行評分并且在最大路徑長度內(nèi)的用戶當(dāng)作是與目標(biāo)用戶相關(guān)的用戶。MoleTrust對信任值的計算與平常社交習(xí)慣非常類似,它是按照層次順序進(jìn)行的,且該算法具有省時、高效的優(yōu)點,但其仍然具有不足之處,主要體現(xiàn)在該算法沒有考慮信任值在傳播的過程中會逐漸降低。
3.3.2 基于模型的社會化推薦系統(tǒng)
基于模型的社會化推薦系統(tǒng)一般都是采用矩陣分解方法,因為矩陣分解方法具有推薦效果準(zhǔn)確、可擴(kuò)展性好、實現(xiàn)復(fù)雜度低的優(yōu)點?;诰仃嚪纸獾纳鐣扑]方法的基本思想是在矩陣的優(yōu)化分解的基礎(chǔ)上融入了用戶的各種社交關(guān)系信息,目的是挖掘出更好的潛在特征向量[44,50-51]。已有的基于矩陣分解的社會化推薦方法有SoRec[41]、TrustMF[52]、TrustPMF[53]、LOCABAL[54]、SoReg[3]、SocialMF[55]、RSTE[56]等。根據(jù)現(xiàn)有矩陣分解推薦模型的建立方式,上述基于矩陣分解的社會化推薦方法主要分成兩種[57]:基于用戶特征矩陣共享表示和基于用戶特征矩陣重表示。
(1)基于用戶特征矩陣共享表示
基于用戶特征矩陣共享表示是指通過共享用戶特征矩陣,然后將評分矩陣和社交關(guān)系矩陣進(jìn)行同步分解。SoRec就是其中的一種模型,它既作為第一個基于矩陣分解的社會化推薦模型,同時也是第一個基于用戶特征矩陣共享表示的社會化推薦模型,如圖3所示。
圖3 用戶特征矩陣共享表示—SoRec
該模型在用戶特征矩陣和項目特征矩陣兩個矩陣的基礎(chǔ)上融合了社交特征矩陣,使其能夠反映用戶的社交關(guān)系會影響用戶對項目的興趣判斷,同時用戶特征矩陣被評分矩陣和社交關(guān)系矩陣所共享。其對應(yīng)的目標(biāo)函數(shù)如下:
其中,Rij是用戶ui對項目vj的評分,Sik是用戶ui和用戶uk的社交關(guān)聯(lián)度,為社交特征矩陣,為Logistic函數(shù);g(UiTVj)表示利用待求解的用戶偏好向量Ui和項目特征向量Vj來擬合評分?jǐn)?shù)據(jù)的函數(shù),是利用待求解的用戶偏好向量Ui和社交特征向量Zk來擬合用戶社交關(guān)表示正則約束項。系的函數(shù);
SoRec 方法通過分解用戶間的社交關(guān)系矩陣從而對用戶存在的潛在特征進(jìn)行學(xué)習(xí),同時通過共享用戶特征矩陣進(jìn)而能夠達(dá)到使用朋友的偏好信息進(jìn)行推薦的目的,有效解決了數(shù)據(jù)稀疏性和預(yù)測精度差的問題,復(fù)雜性分析表明該方法可以適用于較大的數(shù)據(jù)集,特別是在用戶擁有較少或沒有評分的情況下;但該方法存在的不足之處就是它把社交關(guān)系矩陣分解成用戶特征矩陣與社交特征矩陣缺乏自然規(guī)律解釋,不能反映真實世界的推薦過程。
文獻(xiàn)[52]構(gòu)造了一種社會化推薦模型TrustMF,它融合了評分?jǐn)?shù)據(jù)和信任數(shù)據(jù)。該模型將每個用戶ui映射為信任者特征向量Bi與被信任者特征向量Wi,Bi與Wi是兩個不同的d 維潛在特征向量,它們分別指的是用戶ui的“信任他人”和“被他人信任”行為。
該方法分別對信任行為和被信任行為進(jìn)行建模,建立了Truster-MF模型和Trustee-MF模型,并假設(shè)信任者特征矩陣B(被信任者特征矩陣W)與用戶特征矩陣U 是互相等價的,提出了融合策略—TrustMF,對評分信息進(jìn)行預(yù)測,其公式如下:
TrustMF 模型通過對兩層稀疏信息、用戶的傳統(tǒng)評分?jǐn)?shù)據(jù)和用戶之間的社交信任網(wǎng)絡(luò)進(jìn)行整合來提高推薦性能,強(qiáng)調(diào)用戶在做決策的過程中會相互影響,該模型能夠較為準(zhǔn)確地反映現(xiàn)實世界中的推薦過程,但文獻(xiàn)[52]作者之后認(rèn)為信任者特征向量Bi(被信任者特征向量Wi)與用戶特征向量Ui不是完全等價的關(guān)系,兩者之間只能通過一定概率近似,于是又提出了TrustPMF模型。該模型假設(shè)用戶特征矩陣U 、項目特征矩陣V 、信任者特征矩陣B 以及被信任者特征矩陣W 都服從均值為0 的高斯分布,同時假設(shè)在信任者特征向量的條件下用戶特征向量的概率分布是,在被信任者特征向量上的條件分布是,其中,方差指的是用戶特征向量Ui與信任者特征向量Bi之間的近似程度,指的是用戶特征向量Ui與被信任者特征向量Wi之間的近似程度。
由貝葉斯推導(dǎo)可知,用戶特征向量、項目特征向量、信任者特征向量和被信任者特征向量的聯(lián)合后驗概率分布如下:
求解特征矩陣U 、V 、B、W 的后驗概率最大值相當(dāng)于計算公式(4)的負(fù)對數(shù)的最小值,因此可以得到以下目標(biāo)函數(shù):
其中,nui和nvj分別表示用戶ui和項目vj的評分個數(shù);mbi表示用戶ui信任的用戶個數(shù);mwk表示信任用戶uk的用戶個數(shù);為Logistic函數(shù)。由于TrustPMF是在TrustMF基礎(chǔ)上引入概率思想,因此該模型更為通用,并且能夠以更靈活的方式結(jié)合瀏覽和評分偏好來進(jìn)一步提高推薦精度,所以該方法更加符合現(xiàn)實世界的推薦過程;然而該方法只結(jié)合信任關(guān)系(正面關(guān)系),忽略了不信任關(guān)系(負(fù)面關(guān)系),其推薦準(zhǔn)確度還有待進(jìn)一步提高。
還有一種比較典型的基于用戶特征矩陣共享表示的推薦模型,即LOCABAL 模型,它以社交關(guān)系理論為基礎(chǔ),認(rèn)為兩個擁有社交關(guān)系的用戶ui與uk的偏好向量Ui與Uk可以通過相關(guān)矩陣H 進(jìn)行關(guān)聯(lián),H ∈RK×K是獲取用戶偏好相關(guān)性的矩陣,且該模型認(rèn)為擁有較強(qiáng)社交關(guān)系的用戶通常擁有相似的偏好。LOCABAL 算法的基本原理是首先通過查找每個用戶的最近鄰用戶,然后根據(jù)相鄰兩個用戶評分向量之間的相似度判斷出這兩個用戶之間的社交關(guān)聯(lián)度,該相似度是采用余弦相似度計算得到。對應(yīng)的目標(biāo)函數(shù)如下:
LOCABAL 模型根據(jù)社會相關(guān)理論捕捉局部社交關(guān)系,使用用戶聲譽(yù)評分獲得全局社交關(guān)系,該算法將不同視角的社交關(guān)系應(yīng)用到推薦系統(tǒng)中,能夠有效提升推薦性能。但是現(xiàn)實生活中用戶偏好和社交關(guān)系是不斷變化的,該方法沒有將時間信息融入到社會化推薦系統(tǒng)中。
(2)基于用戶特征矩陣重表示
用戶特征矩陣重表示指的是通過評分矩陣獲取用戶特征矩陣的時候,社交網(wǎng)絡(luò)中具有關(guān)聯(lián)關(guān)系的用戶信息會對該行為產(chǎn)生影響。SoReg就是其中的一種模型,它既是一種社交正則化推薦模型,又是一種基于用戶特征矩陣重表示的社會化推薦模型。該模型假設(shè)用戶的偏好與其好友的偏好具有相似性,通過利用社交關(guān)系信息對用戶特征向量進(jìn)行規(guī)則化處理,接下來通過好友的偏好信息來影響用戶ui對項目vj的最終預(yù)測評分,如圖4所示。
圖4 用戶特征矩陣重表示—SoReg
SoReg 模型認(rèn)為信任關(guān)系和好友關(guān)系在許多方面是不同的,信任生成過程是一個不需要用戶確認(rèn)關(guān)系的單方面行為,只需依靠用戶之間具有相似的偏好即可,而好友關(guān)系則是現(xiàn)實世界中的合作和相互關(guān)系,比如同學(xué)、同事等。針對不同類型的社交關(guān)系,SoReg 提出了基于平均值和基于個體的兩種正則化方法。由于基于平均值的正則化方法對那些好友有不同偏好的用戶不敏感,這會造成信息丟失,導(dǎo)致用戶特征向量建模不準(zhǔn)確,所以這里重點介紹基于個體的正則化方法。該方法認(rèn)為應(yīng)該對不同關(guān)系強(qiáng)度的好友加以區(qū)分,這樣可以有效限制用戶偏好與其不同好友偏好間的差異。其對應(yīng)的目標(biāo)函數(shù)如下:
SoReg模型具有通用性,并且能夠準(zhǔn)確地對用戶特征向量進(jìn)行建模,該模型利用用戶的所有社交關(guān)系,但在現(xiàn)實世界中,用戶通常在做決定前不會征詢所有朋友的意見;此外,該模型潛在假設(shè)項目之間是相互獨立的,忽略了項目之間普遍存在著關(guān)聯(lián)關(guān)系的事實。
文獻(xiàn)[55]則構(gòu)造了一種社會化推薦模型SocialMF,該模型在矩陣分解模型的基礎(chǔ)上融合了信任傳播。SocialMF 認(rèn)為目標(biāo)用戶的潛在特征向量會受到其所信任用戶的潛在特征向量的影響,也就是目標(biāo)用戶潛在特征向量是其所信任用戶潛在特征向量的加權(quán)平均;同時,該模型假設(shè)用戶特征矩陣U 、項目特征矩陣V 都滿足均值為0的高斯分布,從而有效避免了過擬合。用戶特征矩陣U 和項目特征矩陣V 的后驗概率分布可以表示為如下公式:
通過對式(8)的后驗概率分布公式取負(fù)對數(shù),可以獲得SocialMF模型的目標(biāo)函數(shù):
SocialMF模型通過對信任傳播進(jìn)行建模,就算用戶沒有評分?jǐn)?shù)據(jù),只要他擁有社交關(guān)系,就可以學(xué)習(xí)得到他的特征向量。因此,該模型能夠顯著提高冷啟動用戶的推薦準(zhǔn)確性,但現(xiàn)實世界中也存在冷啟動項目,該模型需要進(jìn)一步有效學(xué)習(xí)冷啟動項目的特征向量,從而提高推薦準(zhǔn)確度。
與上述兩個社交正則化推薦模型不一樣,RSTE 是一個加權(quán)社交信息的推薦模型,該模型假設(shè)目標(biāo)用戶對不同項目有著不同的偏好,并且他們很容易受到所信任用戶的影響,因此目標(biāo)用戶最終的決定是他自己的偏好和他所信任用戶的偏好之間的平衡。RSTE模型通過將目標(biāo)用戶ui對項目vj的預(yù)測評分與目標(biāo)用戶ui所信任用戶對項目vj的預(yù)測評分進(jìn)行加權(quán)平均計算,所得到的結(jié)果就是用戶ui對項目vj的預(yù)測評分。其對應(yīng)的目標(biāo)函數(shù)如下:
其中,α 用于平衡用戶偏好和所信任用戶偏好之間的權(quán)重關(guān)系。
RSTE模型在一定程度上利用了社交信息以提升推薦精度,該模型不僅適用于推薦系統(tǒng),而且也適用于社會搜索、信息檢索、數(shù)據(jù)挖掘等熱門研究課題。但是該算法僅僅考慮好友偏好對用戶最終預(yù)測評分的影響,而未考慮用戶間偏好信息的傳播,在評分矩陣和社交關(guān)系矩陣都非常稀疏的情況下,用戶間偏好信息的傳播是不可避免的。
各類基于協(xié)同過濾的社會化推薦系統(tǒng)的優(yōu)缺點歸納如表2所示。其中,基于內(nèi)存的社會化推薦系統(tǒng)能夠計算社交網(wǎng)絡(luò)中存在路徑相連的用戶之間的信任值,因此其適用于朋友、社團(tuán)、微博等社交網(wǎng)絡(luò)推薦;而基于模型的社會化推薦系統(tǒng)能夠?qū)υu分矩陣以及社交關(guān)系進(jìn)行建模,因此其適用于基于項目評分預(yù)測的推薦。
在這個社交網(wǎng)絡(luò)快速發(fā)展的時代,推薦系統(tǒng)能夠結(jié)合社交關(guān)系信息,為用戶提供更為準(zhǔn)確的個性化推薦,日益準(zhǔn)確的推薦將社會化推薦系統(tǒng)的發(fā)展帶進(jìn)一個良性循環(huán)的發(fā)展環(huán)境,這又在很大程度上促進(jìn)了社會化推薦系統(tǒng)的發(fā)展。但是社會化推薦系統(tǒng)仍然存在以下幾個方向值得深入研究:
表2 基于協(xié)同過濾的社會化推薦系統(tǒng)比較
(1)用戶隱私保護(hù)
社會化推薦系統(tǒng)不可避免地會使用涉及到用戶隱私的一些信息,這造成一些對隱私敏感的用戶不愿意使用推薦系統(tǒng)。2010 年,Netflix Prize 比賽就是因為涉及到用戶隱私而被取消。因此,用戶隱私保護(hù)至關(guān)重要,如何做到既能保護(hù)用戶隱私又能進(jìn)行社會化推薦是一個值得關(guān)注的重要研究方向。
(2)用戶興趣及社交關(guān)系的動態(tài)變化
用戶興趣和社交關(guān)系并不是一成不變的,它們會隨著時間而改變,這種動態(tài)信息對于推薦系統(tǒng)非常重要。與設(shè)計更復(fù)雜的學(xué)習(xí)算法相比,數(shù)據(jù)的動態(tài)變化對推薦準(zhǔn)確度的影響更為顯著[4]。Rana等人[58]最先定義了動態(tài)推薦系統(tǒng),認(rèn)為涉及到時間語境、新穎性、多樣性、動態(tài)環(huán)境和時間特征等參數(shù)中的任何一個都被稱為動態(tài)推薦系統(tǒng)。鄧明通等人[59]通過用戶歷史反饋數(shù)據(jù)分析用戶的多樣性偏好,并引入時間衰減函數(shù),動態(tài)調(diào)整用戶的歷史評分?jǐn)?shù)據(jù),有效緩解了用戶冷啟動問題,并提高了推薦結(jié)果的多樣性。趙海燕等人[60]充分考慮社會網(wǎng)絡(luò)中的朋友在推薦時產(chǎn)生的影響的不同和變化,還原了用戶更為真實的社會網(wǎng)絡(luò),從而學(xué)習(xí)得到更為準(zhǔn)確的用戶、項目特征矩陣,提高推薦精度。文獻(xiàn)[61]將用戶的動態(tài)觀點引入到社會化推薦模型中,有效改善了用戶冷啟動問題,同時降低了計算復(fù)雜度。然而目前大部分學(xué)者研究的社會化推薦都是基于靜態(tài)的用戶興趣以及社交關(guān)系,忽略了數(shù)據(jù)的動態(tài)變化對推薦結(jié)果的影響,導(dǎo)致推薦效果不夠準(zhǔn)確。因此,將數(shù)據(jù)的動態(tài)變化特征融入到社會化推薦系統(tǒng)將是未來的一個發(fā)展方向。
(3)負(fù)面關(guān)系在推薦系統(tǒng)上的應(yīng)用
目前,現(xiàn)有的社會化推薦系統(tǒng)大都是基于用戶與用戶之間的正面關(guān)系向用戶進(jìn)行推薦,如朋友關(guān)系和信任關(guān)系。然而,在真實社交網(wǎng)絡(luò)中,用戶之間除了正面關(guān)系,還有負(fù)面關(guān)系,比如不信任或不喜歡。在社會化推薦系統(tǒng)中,利用負(fù)面關(guān)系進(jìn)行推薦甚至比利用正面關(guān)系更為重要。文獻(xiàn)[62]構(gòu)建了一種新模型,這種模型在基于矩陣分解的社會化推薦模型的基礎(chǔ)上融合了信任關(guān)系和不信任關(guān)系,從而大大改善了推薦的質(zhì)量,能夠有效緩解數(shù)據(jù)稀疏和冷啟動用戶等問題。
(4)跨媒體數(shù)據(jù)的融合
用戶通常擁有多個社交媒體賬號,而目前社交媒體之間沒有進(jìn)行數(shù)據(jù)的共享,這就無法實現(xiàn)更精準(zhǔn)的推薦,甚至造成重復(fù)推薦。比如當(dāng)一個用戶成為京東的新用戶時,如果他是淘寶老用戶,那么可以將他在淘寶上的瀏覽記錄、購買記錄等融合到京東,這樣不僅可以在一定程度上解決冷啟動問題,而且還能實現(xiàn)更精確地為用戶推薦項目。同時,跨媒體數(shù)據(jù)的融合能夠降低推薦成本,比如用戶在京東上購買了某款產(chǎn)品,那么淘寶就不會重復(fù)給他推薦這款產(chǎn)品,這樣不僅可以防止推薦資源浪費(fèi),還可以防止對用戶造成干擾。
社會網(wǎng)絡(luò)以及社交媒體的出現(xiàn)給推薦系統(tǒng)帶來了全新的發(fā)展機(jī)遇,也因此產(chǎn)生了社會化推薦系統(tǒng)。在這個社交媒體高度發(fā)達(dá)、信息呈現(xiàn)爆炸式增長的當(dāng)代,作為推薦系統(tǒng)研究領(lǐng)域較為活躍的一個研究方向,越來越多的專家學(xué)者開始關(guān)注社會化推薦系統(tǒng)。本文對社會化推薦系統(tǒng)的概念進(jìn)行梳理,比較了社會化推薦系統(tǒng)與傳統(tǒng)推薦系統(tǒng)兩者之間的區(qū)別,回顧總結(jié)了社會化推薦系統(tǒng)的研究現(xiàn)狀,并對該領(lǐng)域的發(fā)展趨勢進(jìn)行展望,目的在于讓人們對社會化推薦系統(tǒng)能夠有更為全面和深入地了解,希望能為社會化推薦系統(tǒng)研究領(lǐng)域的學(xué)者提供有益的幫助。