周璐鑫 李曼 蔣明陽 張雷



摘 要:針對現(xiàn)有社交化推薦算法忽視了評級數(shù)據(jù)與社交信息之間關(guān)聯(lián)的探索,提出了一種融合交互強(qiáng)度的優(yōu)化社交推薦算法。首先,利用社交信息和評級數(shù)據(jù)結(jié)合兩種相似度豐富社交矩陣;接著,定義用戶間交互強(qiáng)度代表用戶間復(fù)雜關(guān)系;最后,利用交互強(qiáng)度與社交關(guān)系之間的關(guān)聯(lián)以及用戶潛在特征與用戶群體參與特征的關(guān)聯(lián)構(gòu)建新的目標(biāo)函數(shù),學(xué)習(xí)用戶和項(xiàng)目的潛在特征,實(shí)現(xiàn)個(gè)性化推薦。在三個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),與基線模型相比,提出算法在推薦預(yù)測精度上有顯著提升,且在對不同評級數(shù)量的用戶進(jìn)行潛在特征學(xué)習(xí)時(shí),表現(xiàn)出良好的魯棒性。綜上,融合交互強(qiáng)度可以進(jìn)一步提升社交化推薦算法性能,增強(qiáng)用戶體驗(yàn)感。
關(guān)鍵詞:社交化推薦; 交互強(qiáng)度; 群體參與矩陣; 矩陣分解
中圖分類號:TP301.6?? 文獻(xiàn)標(biāo)志碼:A?? 文章編號:1001-3695(2024)01-010-0065-07
doi:10.19734/j.issn.1001-3695.2023.05.0280
Improving social recommendation algorithm via incorporating interaction strength
Abstract:Existing social recommendation algorithms ignore the investigation on the association between rating information and social information. To address this issue, this paper proposed a social recommendation algorithm which incorporated interaction strength. Firstly, it utilized social information and rating data to enrich the social matrix by combining two kinds of similarities. Secondly, it defined the interaction strength to represent complex relationship between users. Finally, it introduced a new objective function to learn features of users and items for personalized recommendation using two types of associations, namely the association between interaction strength and social relationships, and the association between features of users and participation features of group which users belonged to. Experimental results on three real-world datasets indicate that the proposed algorithm shows significant improvement in terms of recommendation prediction accuracy compared with existing baseline mo-dels. Furthermore, the proposed algorithm behaves good robustness in learning latent features for users with different number of ratings. Based on the above observations, it can infer that incorporating interaction strength is beneficial to enhancing social recommendation performance and improving users experience.
Key words:social recommendation; interaction strength; group participation matrix; matrix factorization
0 引言
隨著社交網(wǎng)絡(luò)的快速發(fā)展,人們面臨著信息的爆炸式增長。如今用戶在進(jìn)行挑選和決策時(shí)極大地受益于有效的信息獲取方式,推薦算法憑借其出色的信息過濾和數(shù)據(jù)挖掘能力在短時(shí)間內(nèi)有效地為用戶提供個(gè)性化推薦。
簡單推薦算法假設(shè)用戶獨(dú)立決策且不受他人決策的影響,然而在現(xiàn)實(shí)生活中,客戶在購買商品或服務(wù)時(shí)往往傾向于相信熟人。因此,與傳統(tǒng)推薦算法相比,融合社交信息的推薦算法能夠有效改善用戶冷啟動(dòng)問題[1,2],并顯著提高推薦的準(zhǔn)確性和可解釋性。在社交化推薦算法中,認(rèn)為用戶僅考慮直接社交朋友影響的推薦為基于直接社交的推薦算法,然而除了直接社交外,社交信息還包括其他復(fù)雜的關(guān)系,例如,兩社交信息接近的用戶可能處于相同的群體內(nèi),在電影品味上可能相似[3,4]。現(xiàn)有研究結(jié)果表明,考慮間接社交關(guān)系的推薦[5~9]效果往往優(yōu)于僅考慮直接社交關(guān)系的推薦效果。
近些年來,基于矩陣分解(matrix factorization,MF)的推薦方法[10]應(yīng)用廣泛,通過對用戶項(xiàng)目評級矩陣進(jìn)行分解得到潛在的用戶和項(xiàng)目特征,再將兩個(gè)特征矩陣相乘對不完全評級矩陣進(jìn)行補(bǔ)全。大多數(shù)基于矩陣分解利用社交信息的推薦算法將推薦過程分為挖掘間接的社交關(guān)系以及基于矩陣分解學(xué)習(xí)用戶和項(xiàng)目的潛在特征兩個(gè)階段。盡管兩階段法極大地改善了推薦效果,但仍然存在一些問題。在挖掘間接社交關(guān)系時(shí),現(xiàn)有算法通常僅考慮單一的用戶評級信息或社交信息,忽略了兩者對用戶間間接關(guān)系挖掘的不同貢獻(xiàn)。此外,大多數(shù)基于矩陣分解的推薦算法在用戶和項(xiàng)目潛在特征的學(xué)習(xí)上未能挖掘復(fù)雜的社交關(guān)系與用戶潛在特征之間的關(guān)聯(lián)。針對上述分析,本文在矩陣分解的基礎(chǔ)上提出一種融合交互強(qiáng)度的優(yōu)化社交推薦算法。主要工作如下:a)為綜合考慮用戶評級信息和社交信息對用戶間間接關(guān)系的影響,計(jì)算用戶間好友相似度和評級相似度,通過線性組合得到用戶的潛在好友,補(bǔ)充社交矩陣;b)為挖掘復(fù)雜社交關(guān)系與用戶潛在特征間的關(guān)聯(lián),本文定義用戶間交互強(qiáng)度來代表復(fù)雜社交關(guān)系,融合交互強(qiáng)度與用戶潛在特征之間的關(guān)聯(lián)提出一種新的目標(biāo)函數(shù)以學(xué)習(xí)用戶和項(xiàng)目的潛在特征。在三個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,本文算法可以有效提高推薦預(yù)測精度。
1 相關(guān)文獻(xiàn)
現(xiàn)階段利用社交信息改善推薦性能的方法有基于圖的推薦[11~13]、基于深度學(xué)習(xí)[14,15]的推薦和基于矩陣分解[6~8]的推薦。其中,矩陣分解由于具有簡單、推薦精度高和易擴(kuò)展等優(yōu)點(diǎn),成為研究者構(gòu)建推薦系統(tǒng)的首選模型之一。社交化推薦算法按照社交信息的使用情況可分為基于直接社交關(guān)系的推薦算法和基于間接社交信息的推薦算法。
1.1 基于直接社交關(guān)系的推薦算法
基于直接社交關(guān)系的推薦算法僅考慮直接相連的用戶社交關(guān)系,認(rèn)為有社交關(guān)系的用戶具有相似的偏好,利用其優(yōu)化推薦算法。社交化推薦算法有兩種實(shí)現(xiàn)形式:a)同時(shí)將評級矩陣和社會關(guān)系矩陣進(jìn)行分解以學(xué)習(xí)用戶和項(xiàng)目潛在特征。最經(jīng)典的是Ma等人[16]提出的將社交信息與評級信息共同分解的SoRec模型;隨后,有研究基于SoRec提出了改進(jìn)模型,如TrustMF[17]和TrustSVD[18]。b)利用社交關(guān)系來調(diào)整用戶的潛在特征,代表模型有Jamali等人[19]提出的SocialMF,它在STE [20]的基礎(chǔ)上將信任傳播機(jī)制引入矩陣分解模型;此外,Ma等人[21]將用戶的信任關(guān)系作為正則化約束條件,提出了基于社交信息正則化的矩陣分解框架SR2。然而在大多數(shù)推薦系統(tǒng)中,明確的社交信息并不總是可靠的,這限制了社交化推薦算法的發(fā)展。
1.2 基于間接社交關(guān)系的推薦算法
盡管直接社交關(guān)系在一定程度上改善了推薦系統(tǒng),但面對缺少社交關(guān)系的用戶,其缺乏解決用戶冷啟動(dòng)問題的能力;同時(shí)除了社交好友間的影響外,社交信息還包括其他的復(fù)雜關(guān)系。為了更充分地利用社交關(guān)系,有研究嘗試考慮相似用戶、用戶群體等概念來提取間接社交關(guān)系,提高推薦性能。
Ma[6]提出了內(nèi)隱社交推薦的實(shí)驗(yàn)研究,利用隱式社交信息改進(jìn)推薦算法,這項(xiàng)研究對社交化推薦技術(shù)提供了額外見解,也擴(kuò)大和傳播了社交化推薦算法的效用。Zhao等人[22]提出的SBPR模型根據(jù)社會關(guān)系將項(xiàng)目分為三類,并定義它們之間的評級關(guān)系來學(xué)習(xí)特征。Yu等人[23]按照相似度對所有用戶的潛在朋友進(jìn)行探索,根據(jù)異構(gòu)圖上給定的相似度關(guān)系將項(xiàng)目分為五類學(xué)習(xí)評級函數(shù)。Reafee等人[7]提出的EISR模型通過社交關(guān)系鏈接預(yù)測得到內(nèi)隱社會關(guān)系,同時(shí)考慮顯性和隱性社交關(guān)系建立了概率矩陣分解模型,然而在這一方法中,鏈接預(yù)測的閾值選取是一個(gè)難題。不同于EISR模型,Li等人[8]提出的ReTrustMF利用社會學(xué)六度理論拓寬社交關(guān)系鏈,尋找隱性社交朋友,避免了閾值設(shè)置不合理帶來的問題。此外,還有一些方法從其他角度利用社交信息進(jìn)行推薦。Tang等人[24]從社交網(wǎng)絡(luò)中提取異質(zhì)社會關(guān)系和弱依賴關(guān)系對評級矩陣分解過程中的潛在用戶特征進(jìn)行調(diào)整。Chen等人[25]將社交知識影響和社交消費(fèi)影響整合到了矩陣分解模型中。Ahmadian等人[26]提出的RTARS算法基于用戶間信任關(guān)系和評級信息建立了用戶聲譽(yù)模型來尋找用戶近鄰。Liu等人[27]提出的InSRMF算法使用社區(qū)成員資格來間接表示用戶間的社交關(guān)系,并將評級矩陣和社交矩陣同時(shí)進(jìn)行矩陣分解,學(xué)習(xí)用戶和項(xiàng)目的潛在特征。Al-Sabaawi等人[28]采用多步資源分配的方式識別社交中的隱藏關(guān)系,豐富用戶社交信息達(dá)到提升推薦的效果。Duan等人[29]提出ETBRec模型,通過用戶活躍程度與被信任程度選擇專家用戶,挖掘社交好友和專家用戶對用戶的影響構(gòu)建新的目標(biāo)函數(shù),學(xué)習(xí)用戶和項(xiàng)目的潛在特征。Weng等人[30]提出的SRGRA模型,基于灰色關(guān)聯(lián)分析計(jì)算用戶間的相似度,建立包括內(nèi)隱社交關(guān)系的矩陣分解模型。Ahmadian等人[9]提出的SORIR算法將隱式關(guān)系整合到推薦算法中,為顯式關(guān)系不足的用戶提供更加準(zhǔn)確的推薦。
需要指出的是,當(dāng)前的社交化推薦算法在不同程度上提高了推薦效果,但仍存在一些問題,如挖掘用戶間接關(guān)系時(shí)使用的信息單一、忽略用戶間社交關(guān)系的復(fù)雜性、未能挖掘用戶間復(fù)雜關(guān)系與用戶間潛在特征的關(guān)聯(lián)等。本文算法通過對用戶好友相似度和評級相似度進(jìn)行線性組合,可以避免信息使用單一的問題;進(jìn)一步,定義交互強(qiáng)度代表復(fù)雜的社交關(guān)系,同時(shí)構(gòu)建一種基于矩陣分解融合交互強(qiáng)度的目標(biāo)函數(shù),可以挖掘復(fù)雜的社交關(guān)系與用戶潛在特征之間的關(guān)聯(lián),學(xué)習(xí)用戶和項(xiàng)目的潛在特征,實(shí)現(xiàn)個(gè)性化推薦。
2 融合交互強(qiáng)度的優(yōu)化社交推薦算法
給定用戶-項(xiàng)目的評級矩陣和用戶間的社交矩陣,實(shí)現(xiàn)用戶對未知項(xiàng)目的評級預(yù)測。為充分挖掘給定的評級信息和社交信息,構(gòu)建恰當(dāng)?shù)哪繕?biāo)函數(shù)學(xué)習(xí)用戶和項(xiàng)目的潛在特征,實(shí)現(xiàn)用戶對項(xiàng)目評級的預(yù)測,本文提出一種融合交互強(qiáng)度的社交化推薦(social recommendation combined with interaction strength,ISSR)算法,算法具體框架如圖1所示。具體而言,ISSR算法首先利用社交矩陣S和用戶-項(xiàng)目評級矩陣R分別計(jì)算用戶間好友相似度和用戶間評級相似度,通過好友相似度對用戶的潛在好友進(jìn)行初篩,通過評級相似度進(jìn)行潛在好友再篩,利用top-K原則對社交矩陣進(jìn)行補(bǔ)充;其次對補(bǔ)充后的社交矩陣S′進(jìn)行矩陣分解,利用得到的用戶群體參與特征M求得用戶間的交互強(qiáng)度,用以代表用戶間復(fù)雜的社交關(guān)系;最后挖掘交互強(qiáng)度與社交關(guān)系之間的聯(lián)系,通過共享社交矩陣和評級矩陣中的用戶潛在信息構(gòu)建新的融合交互強(qiáng)度的社交化推薦算法,學(xué)習(xí)用戶和項(xiàng)目潛在特征,提升推薦預(yù)測精度。
2.1 社交矩陣補(bǔ)充
2.1.1 用戶的好友相似度
合理利用用戶社交關(guān)系可以幫助獲取更好的推薦,但是僅靠同樣稀疏的社交網(wǎng)絡(luò)關(guān)系難以挖掘用戶受到其他用戶的真實(shí)影響[6]。由于與用戶好友重合度高的人極有可能是用戶現(xiàn)實(shí)生活中相互熟悉但在社交網(wǎng)絡(luò)中卻沒有聯(lián)系的人,用戶的興趣品味極有可能受到其影響,根據(jù)好友相似度高的用戶間存在潛在關(guān)聯(lián)原則,尋找初步的用戶間潛在社交關(guān)系。
為挖掘用戶間的初步潛在社交關(guān)聯(lián),本文通過計(jì)算用戶間的好友相似度得到在現(xiàn)實(shí)中極有可能發(fā)生交互的潛在好友。如圖2所示,用戶集{3,6}是用戶i和k的共同好友集,兩者有可能通過共同好友的鏈接成為朋友。
然而由于用戶不盡相同的好友數(shù)量,兩用戶相互的好友相似度并不一定相等。若用戶i的好友數(shù)量為10,用戶k的好友數(shù)量為50,那么向用戶i推薦用戶k為好友的推薦程度會高于向用戶k推薦用戶i。本文考慮用戶的好友數(shù)量,將用戶k對用戶i的好友相似度定義為w(i,k),計(jì)算方式如式(1)所示。
其中:out(i)為用戶i的好友集,選取用戶i好友相似度大于閾值ε的用戶作為其初步潛在好友。其中ε的數(shù)值由實(shí)驗(yàn)得到。
2.1.2 用戶的評級相似度
雖然好友相似度高的兩個(gè)用戶有可能在現(xiàn)實(shí)中交流從而相互影響,但是這個(gè)事件對于不愿結(jié)識新朋友的用戶并非一定發(fā)生,即好友相似度高的用戶間有機(jī)會但并非一定會相互影響。為此,本文通過用戶間的評級相似度來佐證采用好友相似度得到的初步潛在社交關(guān)聯(lián)是否成立。當(dāng)兩個(gè)用戶的好友相似度高,同時(shí)評級相似度也高,那么認(rèn)為兩者在現(xiàn)實(shí)生活中認(rèn)識并且彼此之間能夠互相影響。
常用的相似度有杰卡德相似度、余弦相似度、皮爾森相似度[31]。其中,杰卡德相似度只使用了評級數(shù)量信息,忽略了對評級數(shù)值的使用;余弦和皮爾森相似度僅考慮了公共評級,沒有充分使用評級數(shù)據(jù)。因此,本文采用一種通過評級概率分布利用全局評級的海靈格距離(Hellinger distance,HD)來得到用戶之間的相似度。在統(tǒng)計(jì)學(xué)中,海靈格距離被用來衡量兩個(gè)概率分布之間的相似度,它可以充分利用用戶的所有評級信息。式(2)~(4)是根據(jù)海靈格距離得到的海靈格相似度shd(i,k)[32]的計(jì)算公式。
其中:|ir|是用戶i評級r的項(xiàng)目數(shù);|i|是用戶i的評級數(shù)。
用戶間共同評級的電影越多,用戶間的相似度也會越高;然而僅考慮共同電影是不夠的,若用戶i看過5部電影,用戶k看過50部電影,那么盡管兩者共同電影數(shù)相同,但是對彼此的影響是不同的。因此,引入式(5)計(jì)算差異因子diff(i,k)。
其中:R(i)是用戶i評級的項(xiàng)目集。
本文將海靈格相似度和差異因子進(jìn)行線性組合,得到用戶i和k間的評級相似度Su(i,k)計(jì)算公式為
Su(i,k)=θshd(i,k)+(1-θ)diff(i,k)(6)
其中:權(quán)重θ∈(0,1),數(shù)值在實(shí)驗(yàn)中確定。每個(gè)用戶按top-K原則,通過好友相似度初篩評級相似度佐證的方式,選取評級相似度高的前K個(gè)用戶補(bǔ)充社交矩陣S,得到用戶社交矩陣S′,緩解社交矩陣的稀疏性。
2.2 融合交互強(qiáng)度的推薦算法模型
本文的社交推薦算法試圖通過對評級矩陣和社交矩陣聯(lián)合分解的方式來捕獲用戶間復(fù)雜的社交關(guān)系和用戶對項(xiàng)目的偏好。其中用戶集是用戶項(xiàng)目評級矩陣與用戶社交矩陣的公共對象集,因此本文在進(jìn)行矩陣分解時(shí)參考SoRec的分解方式[16]來學(xué)習(xí)用戶和項(xiàng)目的潛在特征。
2.2.1 交互強(qiáng)度的定義
補(bǔ)充后的用戶社交矩陣S′較原社交關(guān)系矩陣更加豐富可靠。在這種情況下,社交矩陣是一個(gè)靜態(tài)的“0-1”矩陣,即任何一對用戶之間的社會關(guān)系只有S′ik=1或0兩種情況,而用戶間復(fù)雜的社交關(guān)系是難以通過有無代表的,因此本文定義用戶間交互強(qiáng)度來間接表示用戶間復(fù)雜的社交關(guān)系。
研究表明對用戶所處的群體信息進(jìn)行挖掘可獲取更好的推薦[4,33]。處在同一社會群體中的兩個(gè)用戶往往更容易產(chǎn)生交互,兩者更有可能存在相似的偏好。因此,本文通過用戶間的交互強(qiáng)度來間接獲得用戶間復(fù)雜的社交關(guān)系,讓算法體現(xiàn)用戶行為對社交關(guān)系的影響。一對用戶共同存在的群體數(shù)越多,兩者間產(chǎn)生社交互動(dòng)的可能性就越強(qiáng)。假設(shè)G={G1,G2,…,Gh}表示具有h個(gè)群體的群體集,在第f個(gè)群體里的第i個(gè)用戶由Mfi來表示,則每個(gè)用戶都可以用一個(gè)群體參與向量Mi=[M1i,M2i,…,Mhi]來表示。
在現(xiàn)實(shí)世界中,由于用戶愛好和參與社團(tuán)積極度不同,用戶參與群體的情況各不相同。用數(shù)值“0”和“1”來表達(dá)用戶i在群體f中的參與情況顯然是不合適的。一個(gè)用戶可能同時(shí)處在多個(gè)群體中,受用戶偏好和精力的影響,會導(dǎo)致用戶在群體中的參與度降低,其他成員與該用戶的交互強(qiáng)度將會減弱,兩者間的相互影響也會降低。由此可見,當(dāng)兩個(gè)用戶同處一個(gè)群體中時(shí),決定兩者關(guān)聯(lián)的一個(gè)主要因素就是兩者之間的交互強(qiáng)度,因此定義Mfik=MfiMfk表示用戶i和k在群體f中的交互強(qiáng)度。
為了得到交互強(qiáng)度值,本文引入一個(gè)非負(fù)整數(shù)變量Xfik來表示用戶i和k同時(shí)參加群體f的活動(dòng)次數(shù)[25],則用戶i和k在h個(gè)群體中的共同活動(dòng)次數(shù)向量為Xik=[X1ik,X2ik,…,Xhik]。假設(shè)用戶對于出席的群體活動(dòng)都積極參與,那么用戶間的交流就不可避免,因此共同參與活動(dòng)次數(shù)可以表征用戶間交互強(qiáng)度值。本文采用參數(shù)為Mfik的泊松分布來生成用戶i和k在群體f中的整數(shù)交互強(qiáng)度值Xfik,定義為
Xfik~Pois(Mfik)=Pois(MfiMfk)(7)
由此可得用戶間整數(shù)交互強(qiáng)度Xik與社會關(guān)系S′ik之間的關(guān)系:當(dāng)S′ik=1時(shí),用戶間的交互強(qiáng)度值Xik較大,參數(shù)MTiMk較大;當(dāng)S′ik=0時(shí),用戶間的交互強(qiáng)度值Xik較小,參數(shù)MTiMk較小。考慮式(6)得到的用戶間評級相似度,利用參數(shù)Mfi代表用戶間交互強(qiáng)度Xfik,構(gòu)造交互強(qiáng)度與社交關(guān)系的關(guān)系為
考慮到在S′ik=1時(shí),可能會發(fā)生MTiMk過大,導(dǎo)致推薦算法更注重用戶社交信息,而忽略了用戶項(xiàng)目評級信息,使得學(xué)習(xí)用戶和項(xiàng)目特征時(shí)產(chǎn)生偏差。為此,式(8)的S′ik=1部分進(jìn)行歸一化處理,得到式(9)。
2.2.2 融合交互強(qiáng)度的模型建立
矩陣分解模型[10]假設(shè)用戶對項(xiàng)目的評級只取決于用戶和項(xiàng)目之間的交互UTiVj,然而受用戶或項(xiàng)目個(gè)體的影響,不同用戶、不同項(xiàng)目評級之間存在很大的差異。因此,在ISSR模型中考慮平均評級和用戶/項(xiàng)目偏差,采用文獻(xiàn)[34]中的評級預(yù)測計(jì)算方式為
考慮到用戶潛在特征是受社交關(guān)系的影響從評級數(shù)據(jù)中提取得到,本文假設(shè)用戶i潛在特征Ui接近他的群體參與特征Mi;進(jìn)一步,為了建立用戶偏好與用戶間交互強(qiáng)度的關(guān)系,設(shè)置用戶潛在特征數(shù)等于用戶群體數(shù)。此外,參考TrustSVD[18]提及評價(jià)較少的項(xiàng)目在很大程度上會產(chǎn)生過擬合,為了緩解這一問題,本文通過評級數(shù)的倒數(shù)來增大對評級數(shù)目較少用戶的懲罰。同理,社交關(guān)系較少的用戶也將受到懲罰,建立用戶潛在特征和用戶群體參與特征近似關(guān)系為
其中:|R(i)|和|S′(i)|分別是用戶i評級的數(shù)量和用戶i社交關(guān)系的鏈數(shù)。
為了將交互強(qiáng)度與社交關(guān)系的關(guān)聯(lián)融入ISSR算法,將式(9)的S′ik=1部分控制在(0,1),得到式(13)。
融合交互強(qiáng)度的社交化推薦算法旨在學(xué)習(xí)用戶和項(xiàng)目特征,借助稀疏社交信息補(bǔ)全不完全評級矩陣。本文算法使用補(bǔ)充后的社交關(guān)系矩陣,利用交互強(qiáng)度與社會關(guān)系之間的關(guān)聯(lián)和用戶潛在特征與用戶群體參與特征的關(guān)聯(lián)建立新目標(biāo)函數(shù)為
其中:Iij是用戶i對j的示性值,當(dāng)用戶i對項(xiàng)目j評級,Iij=1,否則為0;|R(j)|是項(xiàng)目j受到評級的數(shù)量;α、β、λ1、λ2、λ3分別為正則化系數(shù),具體數(shù)值由實(shí)驗(yàn)得到。
本文采用梯度下降法對損失函數(shù)進(jìn)行求解。變量Ui、Vj、Mi、bui、bvj的一階求導(dǎo)公式如式(15)~(22)所示。
2.3 算法偽代碼
ISSR算法使用梯度下降法求解的偽代碼如下:
輸入:評級矩陣R;社交矩陣S;好友相似度閾值ε;社交關(guān)系數(shù)量K;評級相似度系數(shù)θ;潛在特征維數(shù)k;正則化系數(shù)α、β、λ1、λ2、λ3;學(xué)習(xí)率γ和最大迭代次數(shù)t_max。
輸出:用戶潛在特征矩陣U;項(xiàng)目潛在特征矩陣V;用戶群體參與特征矩陣M;用戶和項(xiàng)目的偏置bu和bv;預(yù)測評級矩陣R^。
初始化:初始化用戶潛在特征矩陣U,項(xiàng)目潛在特征矩陣V和用戶群體參與矩陣M。
利用式(1)計(jì)算用戶間好友相似度w(i,k),取好友相似度w(i,k)大于ε的用戶作為篩選條件得到初步潛在好友。
利用式(6)計(jì)算潛在好友間的用戶評級相似度Su,取前K個(gè)相似用戶補(bǔ)充社交矩陣S,得到補(bǔ)充后社交矩陣S′。
while 停止條件不滿足(函數(shù)值L下降相對小或step for each (i,j)∈Rij 根據(jù)式(15)~(22)更新目標(biāo)函數(shù)式(14)的變量: Mi=Mi+γL/Mi; Ui=Ui+γL/Ui; Vj=Vj+γL/Vj; bui=bui+γL/bui; bvj=bvj+γL/bvj; end for step=step+1 end while 利用式(10)預(yù)測評級矩陣中的未知評級。 返回U,V,M,bu,bv,R^。 算法的主要計(jì)算時(shí)間為評估目標(biāo)函數(shù)值L和更新Ui、Vj、Mi、bui、bvj。由于矩陣R和S的稀疏性,目標(biāo)函數(shù)L的計(jì)算復(fù)雜度為O(|R|+|m|+|S|+|n|),其中|R|和|S|分別為矩陣R和S中的非零項(xiàng)個(gè)數(shù)。Ui、Vj、Mi、bui和bvj的狀態(tài)更新計(jì)算復(fù)雜度分別為O(|R|)、O(|R|)、O(|S|)、O(|R|)和O(|R|)。一共迭代c次后滿足停止條件,算法整體計(jì)算復(fù)雜度為O(c(|R|+|S|+|m|+|n|))。由于算法的計(jì)算時(shí)間與評級和社交關(guān)系的數(shù)量之間是線性的,所以可以應(yīng)用于大規(guī)模數(shù)據(jù)集。 3 實(shí)驗(yàn)結(jié)果與分析 3.1 數(shù)據(jù)集 為驗(yàn)證融合交互強(qiáng)度的社交化推薦算法的有效性,本文選取Ciao、LastFM和Epinions數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。這三個(gè)數(shù)據(jù)集包含用戶間社交關(guān)系和用戶項(xiàng)目評級信息,詳細(xì)信息如表1所示。 對于每個(gè)數(shù)據(jù)集,本文將采用五折交叉驗(yàn)證的方法進(jìn)行訓(xùn)練和測試,并將平均測試性能記錄為最終實(shí)驗(yàn)結(jié)果。 3.2 評價(jià)指標(biāo) 為了驗(yàn)證算法的有效性,本文選用兩個(gè)具有代表性的精度指標(biāo)來評價(jià)預(yù)測效果,即平均絕對誤差(MAE)和均方根誤差(RMSE),計(jì)算方式如下: 其中:Rtest表示測試數(shù)據(jù)集合。MAE和RMSE值越小,表明推薦算法預(yù)測精度越高。 3.3 對比算法 對比實(shí)驗(yàn)選取的算法如下: a)SoRec[16]。在共享用戶特征向量的前提下,使用概率矩陣分解模型同時(shí)分解評級矩陣和信任矩陣。 b)SoReg[21]。認(rèn)為用戶與其信任人具有相似的特征向量,將用戶間相似度融入矩陣分解推薦算法。 c)TrustSVD[18]。在SVD++的基礎(chǔ)上,增加了用戶間顯式信任對評級預(yù)測的影響。 d)I-TCRec[35]。遵循同一受托人的委托人有相似品味的特點(diǎn),提出一種新的潛在特征學(xué)習(xí)算法。 e)RTARS[26]。根據(jù)用戶間信任關(guān)系和評級信息建立了用戶聲譽(yù)模型來求解用戶近鄰,預(yù)測用戶評級。 f)InSRMF[27]。認(rèn)為社區(qū)活動(dòng)對用戶有影響,在矩陣分解模型上提出一種基于間接社交關(guān)系的推薦算法。 g)ETBRec[29]。通過用戶活躍度和被信任度選擇專家用戶,將好友與專家用戶影響融合學(xué)習(xí)用戶特征。 3.4 實(shí)驗(yàn)結(jié)果與分析 3.4.1 推薦結(jié)果比較 通過實(shí)驗(yàn)對各數(shù)據(jù)集參數(shù)設(shè)置如表2所示。 表3展示了本文ISSR算法與其他對比算法在三個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。通過對比實(shí)驗(yàn)結(jié)果可得到以下結(jié)論: a)ISSR算法的推薦效果優(yōu)于使用直接社交關(guān)系的SoRec、SoReg、TrustSVD和I-TCRec,這是由于ISSR挖掘了用戶間的間接社交關(guān)系,提供了更加可靠的用戶間社交關(guān)系來提升推薦效果。需要強(qiáng)調(diào)的是ISSR雖然未對數(shù)據(jù)進(jìn)行降噪處理,但其效果優(yōu)于對社交信息進(jìn)行降噪的社交推薦算法I-TCRec。 b)雖然SoRec、InSRMF、ETBRec和ISSR算法在矩陣分解時(shí)采用相似的方式,但是ISSR的推薦效果優(yōu)于其他三個(gè)算法。其原因是ISSR中創(chuàng)建的目標(biāo)函數(shù)更有利于用戶和項(xiàng)目潛在特征的學(xué)習(xí),從而提高了推薦效果。具體而言,ISSR的推薦效果優(yōu)于使用間接社交關(guān)系的InSRMF,其原因是ISSR通過用戶項(xiàng)目評級數(shù)據(jù)和用戶社交關(guān)系數(shù)據(jù)補(bǔ)充了社交矩陣,挖掘了更多的潛在社交關(guān)系,有助于用戶和項(xiàng)目潛在特征的學(xué)習(xí)。 c)相比于所選取的對比算法,本文ISSR算法在推薦預(yù)測精度上顯著提升。相較于對比算法中的最優(yōu)結(jié)果,ISSR算法在Ciao、LastFM和Epinions上MAE降低了2.61%、4.27%和3.12%,RMSE降低了2.31%、2.60%和2.22%。一是因?yàn)镮SSR算法在兩階段都充分利用評級信息和社交信息,二是本文構(gòu)建的目標(biāo)函數(shù)能夠有效提升推薦效果。 3.4.2 不同評級數(shù)量實(shí)驗(yàn)結(jié)果比較 部分評級過少的用戶存在冷啟動(dòng)問題。為驗(yàn)證各算法在不同用戶評級數(shù)量下的魯棒性,本文將訓(xùn)練集中的用戶依據(jù)評級數(shù)量進(jìn)行劃分,表4展示了數(shù)據(jù)集Ciao在每組評級數(shù)量下的用戶占比,可以看到用戶評級數(shù)少于5、大于100的用戶占比較少,評級數(shù)量在6~10、11~20、21~40的用戶占總用戶的20%以上。 依據(jù)用戶的評級數(shù)量對訓(xùn)練集中的用戶進(jìn)行劃分后,分析7組用戶在數(shù)據(jù)集上的推薦精度表現(xiàn),Ciao在不同評級數(shù)量的結(jié)果如圖3所示。發(fā)現(xiàn)當(dāng)用戶評級數(shù)小于5,各個(gè)算法推薦結(jié)果顯著劣于用戶評級數(shù)大于5的情況,并且用戶評級數(shù)大于5的不同分組推薦精度差別不大。因此進(jìn)一步對用戶評級數(shù)量進(jìn)行劃分,劃分成三組,即0~5組、6~40組和over 40組。 剩余數(shù)據(jù)集的不同評級結(jié)果如表5所示。結(jié)合圖3,對比本文ISSR算法與對比算法在不同數(shù)量評級下的結(jié)果可以得到以下結(jié)論: a)當(dāng)用戶評級數(shù)量極少時(shí),ISSR算法與對比算法的推薦精度都較低,隨著評級數(shù)量增加,各算法推薦效果均有顯著提升。這一現(xiàn)象產(chǎn)生的原因是:評級數(shù)據(jù)過于稀疏,算法可利用信息過少導(dǎo)致算法缺乏可信度,難以學(xué)習(xí)合理的潛在特征。 b)ISSR算法的推薦精度在不同的用戶評級數(shù)量下始終高于其余算法。這是由于ISSR算法在推薦算法的兩階段都致力于挖掘更多的社交信息,從而得到更豐富可靠的社交關(guān)系,提升了解決冷啟動(dòng)問題的能力,提高了推薦精度,表明ISSR算法對不同評級數(shù)量的用戶具有較好的魯棒性。 3.4.3 復(fù)雜性比較 本節(jié)評估了ISSR算法的時(shí)間復(fù)雜度,通過算法運(yùn)行時(shí)間驗(yàn)證ISSR的運(yùn)行效率。實(shí)驗(yàn)運(yùn)行平臺如下:CPU為AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz,CPU核心數(shù)量為8、線程數(shù)量為16,內(nèi)存為16 GB,操作系統(tǒng)為Windows 11。 表6列出不同社交推薦算法在各數(shù)據(jù)集的運(yùn)行時(shí)間。由表6可知,ISSR算法在三個(gè)不同規(guī)模的數(shù)據(jù)集上的運(yùn)行時(shí)間明顯優(yōu)于I-TCRec和ETCRec算法。具體而言,相較于I-TCRec算法,在LastFM、Ciao和Epinions數(shù)據(jù)集的運(yùn)行時(shí)間分別縮短了約22倍、18倍和230倍;相較于ETCRec算法,在LastFM、Ciao和Epinions數(shù)據(jù)集的運(yùn)行時(shí)間分別縮短了約3倍、53倍和67倍。 值得一提的是,隨著數(shù)據(jù)集規(guī)模的擴(kuò)大,ISSR與InSRMF算法在運(yùn)行時(shí)間上相差不大。但是根據(jù)表3的實(shí)驗(yàn)結(jié)果,ISSR的推薦精度明顯優(yōu)于InSRMF的推薦精度。這一現(xiàn)象是因?yàn)镮SSR與InSRMF的計(jì)算時(shí)間與評級和社交關(guān)系的數(shù)量之間是線性的,因此運(yùn)行時(shí)間明顯少于時(shí)間復(fù)雜度非線性的I-TCRec和ETCRec,擴(kuò)大到大規(guī)模數(shù)據(jù)集上,運(yùn)行時(shí)間增長速度也明顯更緩慢。 3.5 參數(shù)敏感度分析 為了分析本文算法參數(shù)對預(yù)測精度的敏感度,本文以數(shù)據(jù)集Ciao為例進(jìn)行展示,其余數(shù)據(jù)集參數(shù)如表2時(shí)推薦效果最優(yōu)。 a)ε、K和θ。ε、K和θ控制著社交矩陣對ISSR算法的影響。圖4表明,隨著ε、K和θ的不斷增加,推薦算法預(yù)測精度均表現(xiàn)為先提升后下降。(a)用戶好友相似度的確可以挖掘潛在社交關(guān)系,但ε取值過小或過大都會導(dǎo)致其篩選初步好友的功能減弱;(b)合適的用戶潛在社交數(shù)量可以豐富社交信息,K取值過小或過大會導(dǎo)致改進(jìn)社交信息效果不佳,甚至干擾用戶特征向量的學(xué)習(xí);(c)用戶的海靈格相似度和差異因子需以一定比例結(jié)合才能提升推薦效果,否則會產(chǎn)生用戶評級相似度受全局噪聲影響或者過于依賴共同評級而導(dǎo)致推薦效果下降。通過實(shí)驗(yàn),參數(shù)設(shè)置如下:ε=0.1,K=15,θ=0.3。 b)α和β。ISSR算法中α控制著用戶潛在特征與用戶交互強(qiáng)度之間的近似程度,β控制著用戶社交信息對特征學(xué)習(xí)的貢獻(xiàn)。圖5表明,隨著α和β的不斷增加,推薦算法預(yù)測精度先提升后下降。(a)用戶潛在特征和用戶群體參與特征都是用戶行為存在近似關(guān)系,但當(dāng)U和M過于近似時(shí),它們將失去各自的特性,從而降低推薦效果;(b)社交信息對預(yù)測未知評級是有用的,但當(dāng)β過大時(shí),推薦算法過度重視社交信息而忽視評級信息,從而導(dǎo)致推薦效果不增反減。通過實(shí)驗(yàn),參數(shù)設(shè)置如下:α≈10,β≈0.01。 3.6 實(shí)例分析 將算法ISSR應(yīng)用到實(shí)際數(shù)據(jù)集Ciao進(jìn)行案例分析,以直觀地分析模型的有效性。具體而言,ISSR算法的應(yīng)用主要是通過收集的用戶數(shù)據(jù)(即用戶的電影評級數(shù)據(jù)和用戶的社交數(shù)據(jù))預(yù)測其對電影的評分,并向其提供未觀看過的預(yù)測評級較高的電影列表作為推薦。首先在Ciao的測試集中隨機(jī)抽取5個(gè)用戶,ID分別為[8,14,161,1260,2073],為他們提供電影推薦;然后選用評價(jià)指標(biāo)MAE和RMSE最優(yōu)情況下的參數(shù),得到上述5個(gè)用戶對各電影的預(yù)測評級,對預(yù)測評級進(jìn)行排序,生成這5個(gè)用戶的top-20電影列表,得到的結(jié)果如表7所示,其中加黑的項(xiàng)目id為用戶的實(shí)際選擇。由表7可知,用戶8、14和2073的推薦列表有兩部電影擊中,用戶161的推薦列表有13部電影擊中,用戶1260的推薦列表有8部電影擊中,5個(gè)用戶的推薦列表平均準(zhǔn)確率為0.27。由此可得,本文ISSR算法有較好的預(yù)測效果,可以為用戶提供個(gè)性化推薦,具有應(yīng)用性。 4 結(jié)束語 本文提出了一種融合交互強(qiáng)度的社交化推薦算法(ISSR)。首先,利用好友相似度融合用戶評級相似度來補(bǔ)充用戶社交矩陣,得到更加豐富可靠的社交關(guān)系;其次,定義服從泊松分布的用戶間交互強(qiáng)度來代表用戶間的復(fù)雜關(guān)系;然后,通過共享評級矩陣和社交矩陣構(gòu)建符合交互強(qiáng)度與社交關(guān)系關(guān)聯(lián),用戶特征與用戶群體參與特征關(guān)聯(lián)的目標(biāo)函數(shù),學(xué)習(xí)用戶和項(xiàng)目潛在特征;最后,通過實(shí)驗(yàn)驗(yàn)證了提出算法的有效性和魯棒性。在未來的工作中,將進(jìn)一步考慮項(xiàng)目潛在特征挖掘與數(shù)據(jù)去噪,進(jìn)一步提升推薦效果。 參考文獻(xiàn): [1]Zhang Yijia, Shi Zhenkun, Zuo Wanli, et al. Joint personalized Markov chains with social network embedding for cold-start recommendation[J].Neurocomputing,2020,386(4):208-220. [2]Liu Zhiwei, Fan Ziwei, Wang Yu, et al. Augmenting sequential re-commendation with pseudo-prior items via reversely pre-training transformer[C]//Proc of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM Press,2021:1608-1612. [3]Tang Lei, Liu Huan. Relational learning via latent social dimensions[C]//Proc of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2009:817-826. [4]宗傳玉,李箬竹,夏秀峰.基于位置社交網(wǎng)絡(luò)的用戶社區(qū)和屬性位置簇搜索[J].計(jì)算機(jī)應(yīng)用研究,2023,40(9):2657-2662.(Zong Chuanyu, Li Ruozhu, Xia Xiufeng. User community and attribute location cluster search in location-based social networks[J].Application Research of Computers,2023,40(9):2657-2662.) [5]Ma Hao, King I, Lyu M R. Learning to recommend with explicit and implicit social relations[J].ACM Trans on Intelligent Systems and Technology,2011,2(3):article No.29. [6]Ma Hao. An experimental study on implicit social recommendation[C]//Proc of the 36th International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM Press,2013:73-82. [7]Reafee W, Salim N, Khan A. The power of implicit social relation in rating prediction of social recommender systems[J].PLoS ONE,2016,11(5):e0154848. [8]Li Weimin, Zhou Xiaokang, Shimizu S, et al. Personalization recommendation algorithm based on trust correlation degree and matrix factorization[J].IEEE Access,2019,7:45451-45459. [9]Ahmadian S, Joorabloo N, Jalili M, et al. A social recommender system based on reliable implicit relationships[J].Knowledge-Based Systems,2020,192(3):105371. [10]Koren Y, Bell R, Volinsky C. Matrix factorization techniques for re-commender systems[J].Computer,2009,42(8):30-37. [11]Kong Yixiu, Hu Yizhong, Zhang Xinyu, et al. Structural centrality of networks can improve the diffusion-based recommendation algorithm[J/OL].Frontiers in Physics,2022,10.http://doi.org/10.3389/fphy.2022.1018781. [12]余文婷,吳云,林建.融合多模態(tài)自監(jiān)督圖學(xué)習(xí)的視頻推薦模型[J].計(jì)算機(jī)應(yīng)用研究,2023,40(6):1679-1685.(Yu Wenting, Wu Yun, Lin Jian. Self-supervised graph learning of fusing multi-modal for video recommendation model[J].Application Research of Computers,2023,40(6):1679-1685.) [13]Zhang Mengqi, Wu Shu, Gao Meng, et al. Personalized graph neural networks with attention mechanism for session-aware recommendation[J].IEEE Trans on Knowledge and Data Engineering,2022,34(8):3946-3957. [14]Liu Huiting, Guo Lingling, Li Peipei, et al. Collaborative filtering with a deep adversarial and attention network for cross-domain recommendation[J].Information Sciences,2021,565(7):370-389. [15]Pan Yiteng, He Fazhi, Yu Haiping. A correlative denoising autoencoder to model social influence for top-N recommender system[J].Frontiers of Computer Science,2020,14(3):article No.143301. [16]Ma Hao, Yang Haixuan, Lyu M R, et al. SoRec: social recommendation using probabilistic matrix factorization[C]//Proc of the 17th ACM Conference on Information and Knowledge Management.New York:ACM Press,2008:931-940. [17]Yang Bo, Lei Yu, Liu Jiming, et al. Social collaborative filtering by trust[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2017,39(8):1633-1647. [18]Guo Guibing, Zhang Jie, Yorke-Smith N. TrustSVD: collaborative filtering with both the explicit and implicit influence of user trust and of item ratings[C]//Proc of the 29th AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2015:123-129. [19]Jamali M, Ester M. A matrix factorization technique with trust propagation for recommendation in social networks[C]//Proc of the 4th ACM Conference on Recommender Systems.New York:ACM Press,2010:135-142. [20]Ma Hao, King I, Lyu M R. Learning to recommend with social trust ensemble[C]//Proc of the 32nd International ACM SIGIR Confe-rence on Research and Development in Information Retrieval.New York:ACM Press,2009:203-210. [21]Ma Hao, Zhou Dengyong, Liu Chao, et al. Recommender systems with social regularization[C]//Proc of the 4th ACM International Conference on Web Search and Data Mining.New York:ACM Press,2011:287-296. [22]Zhao Tong, Mcauley J, King I. Leveraging social connections to improve personalized ranking for collaborative filtering[C]//Proc of the 23rd ACM International Conference on Information and Knowledge Management.New York:ACM Press,2014:261-270. [23]Yu Junliang, Gao Min, Li Jundong, et al. Adaptive implicit friends identification over heterogeneous network for social recommendation[C]//Proc of the 27th ACM International Conference on Information and Knowledge Management.New York:ACM Press,2018:357-366. [24]Tang Jiliang, Wang Suhang, Hu Xia, et al. Recommendation with social dimensions[C]//Proc of the 30th AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2016:251-257. [25]Chen Jiawei, Feng Yan, Ester M, et al. Modeling users exposure with social knowledge influence and consumption influence for recommendation[C]//Proc of the 27th ACM International Conference on Information and Knowledge Management.New York:ACM Press,2018:953-962. [26]Ahmadian S, Afsharchi M, Meghdadi M. An effective social recommendation method based on user reputation model and rating profile enhancement[J].Journal of Information Science,2019,45(5):607-642. [27]Liu Huafeng, Jing Liping, Yu Jian, et al. Social recommendation with learning personal and social latent factors[J].IEEE Trans on Knowledge and Data Engineering,2019,33(7):2956-2970. [28]Al-Sabaawi A M A, Karacan H, Yenice Y E. Exploiting implicit social relationships via dimension reduction to improve recommendation system performance[J].PLoS ONE,2020,15(4):e0231457. [29]Duan Zhenchun, Xu Weihong, Chen Yuantao, et al. ETBRec: a novel recommendation algorithm combining the double influence of trust relationship and expert users[J].Applied Intelligence,2022,52(1):282-294. [30]Weng Lijuan, Zhang Qishan, Lin Zhibin, et al. Harnessing heterogeneous social networks for better recommendations:a grey relational analysis approach[J].Expert Systems with Applications,2021,174(7):114771. [31]Amer A A, Abdalla H I, Nguyen L. Enhancing recommendation systems performance using highly-effective similarity measures[J].Knowledge-Based Systems,2021,217(4):106842. [32]Guo Junpeng, Deng Jiangzhou, Ran Xun, et al. An efficient and accurate recommendation strategy using degree classification criteria for item-based collaborative filtering[J].Expert Systems with Applications,2021,164(2):113756. [33]Kim J, Guo Tao, Feng Kaiyu, et al. Densely connected user community and location cluster search in location-based social networks[C]//Proc of the 29th ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2020:2199-2209. [34]Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]//Proc of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2008:426-434. [35]Lee J, Noh G, Oh H, et al. Trustor clustering with an improved recommender system based on social relationships[J].Information Systems,2018,77(9):118-128.