宋玉龍,馬文明,劉彤彤
(煙臺大學(xué)計(jì)算機(jī)與控制工程學(xué)院,山東煙臺 264005)
互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和媒體渠道日趨多樣化使人們能夠更便捷地獲取信息,但同時(shí)也面臨信息過載的問題,用戶難以從海量數(shù)據(jù)中篩選出自己真正感興趣的部分[1]。推薦系統(tǒng)能夠?qū)崿F(xiàn)對海量信息的處理與分析[2],得到最契合需求的信息,為用戶提供個(gè)性化的推薦結(jié)果[3-4]。傳統(tǒng)推薦系統(tǒng)的受眾往往是單個(gè)用戶,而目前以多個(gè)用戶組成的群體為單位的個(gè)性化推薦需求越來越多(如為一個(gè)旅游團(tuán)的人推薦旅游景區(qū)或者給公司團(tuán)隊(duì)建設(shè)的員工推薦娛樂場地[5]),因此,需要將傳統(tǒng)推薦系統(tǒng)從針對單個(gè)用戶拓展為適用于群組用戶[6],即實(shí)現(xiàn)群組推薦。
群組推薦基于對單個(gè)用戶偏好的擬合以及群組融合策略。概率矩陣分解(Probability Matrix Factorization,PMF)算法用于擬合單個(gè)用戶偏好,其在矩陣分解的基礎(chǔ)上加入了用戶和項(xiàng)目特征向量的先驗(yàn)信息[7],但只考慮用戶與項(xiàng)目的評分?jǐn)?shù)據(jù)[8],忽略了用戶之間的交互性,而用戶之間的交互關(guān)系往往會對用戶的偏好產(chǎn)生較大影響。在完成單個(gè)用戶的偏好擬合后,群組推薦中的另一個(gè)問題是群組成員的偏好融合,這要求群組推薦系統(tǒng)將群組內(nèi)的單個(gè)成員偏好融合為可以表現(xiàn)所有組內(nèi)成員的整個(gè)群組的偏好[9]。進(jìn)行群組推薦時(shí)往往需要考慮公平性和用戶滿意度等問題,既要盡量滿足組內(nèi)成員個(gè)人的偏好,又要體現(xiàn)群組的整體偏好,使推薦結(jié)果滿足整個(gè)群組的需求[10],然而現(xiàn)有群組融合策略也較少考慮組內(nèi)成員間的交互關(guān)系。
為使融合結(jié)果更具群組特性,提高推薦結(jié)果的可靠性和可解釋性,本文提出一種融合用戶信任度的群組推薦算法,考慮群組內(nèi)用戶交互關(guān)系進(jìn)行群組融合。在獲取用戶信任度數(shù)據(jù)后,訓(xùn)練得到組內(nèi)每個(gè)成員的信任向量和被信任向量,并以被信任向量均值為基準(zhǔn)向量,將每個(gè)成員的信任向量與其做點(diǎn)積運(yùn)算得到對應(yīng)權(quán)重,通過歸一化后的權(quán)重評分求和得到群組評分,以此生成推薦列表。
群組融合方法通??煞譃槠萌诤吓c推薦結(jié)果融合兩類,如圖1 所示。偏好融合是指在獲取組內(nèi)所有成員偏好模型后,將成員偏好融合為群組偏好,利用群組偏好進(jìn)行群組推薦[11]。推薦結(jié)果融合是指獲得組內(nèi)所有成員的推薦結(jié)果或評分后,采用融合策略將所有推薦結(jié)果或評分合并為群組結(jié)果或者評分[12]進(jìn)行群組推薦。
圖1 群組融合策略Fig.1 Group fusion strategy
推薦結(jié)果融合又可分為列表融合與評分融合。列表融合是指將每個(gè)用戶的推薦列表合并成一個(gè)群組推薦列表,評分融合則是指將組內(nèi)用戶的評分融合成群組評分。在現(xiàn)有的融合策略中,均值策略與最小痛苦策略應(yīng)用最為廣泛。
均值策略將群組內(nèi)所有成員對某個(gè)項(xiàng)目的評分取平均值作為該群組對該項(xiàng)目的評分,如式(1)所示:
最小痛苦策略可規(guī)避組內(nèi)有成員對某個(gè)項(xiàng)目特別厭惡,但該項(xiàng)目的平均分卻很高而進(jìn)入推薦列表的情況。該策略取組內(nèi)用戶對項(xiàng)目的評分的最小值作為該群組對項(xiàng)目的評分,如式(2)所示:
此外,研究者還提出了最受尊敬者策略、最大愉悅策略等融合策略,這些策略在不同的情境下會產(chǎn)生不同的效果。
在推薦系統(tǒng)中,協(xié)同過濾(Collaborative Filtering,CF)是一種被普遍使用的推薦技術(shù),其利用興趣相投、喜好相似的群體的偏好來推薦用戶感興趣的項(xiàng)目與信息,通過個(gè)人所給予信息的反饋記錄實(shí)現(xiàn)過濾,從而幫助其他人篩選信息[13-15]??梢愿鶕?jù)是否采用機(jī)器學(xué)習(xí)的建模思想將協(xié)同過濾技術(shù)劃分為基于內(nèi)容和基于模型兩類。在基于模型的協(xié)同過濾技術(shù)中,矩陣分解算法以高準(zhǔn)確率和良好可伸縮性受到廣泛關(guān)注[16]。
基于矩陣分解的協(xié)同過濾將用戶和項(xiàng)目的特征轉(zhuǎn)化為潛在向量,通過計(jì)算用戶或項(xiàng)目之間潛在向量的相關(guān)性進(jìn)行推薦[17]。在使用矩陣分解算法[18]進(jìn)行評分預(yù)測時(shí),通常將用戶與項(xiàng)目表示為M×N的矩陣(其中M和N分別表示用戶和項(xiàng)目的數(shù)量),矩陣中的元素對應(yīng)用戶對項(xiàng)目的評分。該矩陣通常很稀疏,故需要補(bǔ)全其中缺失的評分。矩陣分解算法將矩陣RM×N分解為2 個(gè)維度更低的矩陣的乘積(其中K表示潛在向量的維度),通過不斷學(xué)習(xí)迭代使逼近評分矩陣RM×N,同時(shí)得到未評分項(xiàng)目的預(yù)測評分。
SALAKHUTDINOV 于2007 年提出概率矩陣分解算法,其假設(shè)用戶潛在向量、項(xiàng)目潛在向量及兩者的內(nèi)積均服從高斯分布,通過極大化它們的后驗(yàn)概率來獲得更為準(zhǔn)確的潛在向量。然而,PMF 算法忽略了用戶之間的交互性,而用戶之間的信任度等交互關(guān)系往往會對用戶的偏好產(chǎn)生較大影響。例如,用戶U 特別喜歡電影A,通常也會對其好友介紹電影A 并鼓勵(lì)他們觀看,而朋友也更愿意接受所信任的人的推薦[19]。由于傳統(tǒng)的推薦算法沒有考慮這樣的情況,因此不能充分利用大量社交信息。
本文提出的群組推薦模型框架如圖2 所示,具體流程如下:
圖2 群組推薦模型框架Fig.2 Framework of group recommendation model
1)獲取用戶信任度數(shù)據(jù),使用經(jīng)典概率矩陣分解算法補(bǔ)全信任度矩陣T,獲得用戶信任度特征向量L和R。
2)對信任度矩陣每一行使用SoftMax 進(jìn)行歸一化,得到相似度矩陣F。
3)獲取用戶-項(xiàng)目評分?jǐn)?shù)據(jù),使用聯(lián)合相似度的概率矩陣分解算法進(jìn)行補(bǔ)全,得到用戶對未評分項(xiàng)目的預(yù)測評分。
4)使用融合信任度的權(quán)重策略合并群組內(nèi)所有成員的評分,獲取整個(gè)群組對項(xiàng)目的評分,并根據(jù)評分生成推薦列表。
本文使用Epinions 數(shù)據(jù)集,其中包含若干用戶間的信任關(guān)系與用戶對項(xiàng)目的評分。構(gòu)建用戶相似度矩陣需要所有兩兩用戶間的信任關(guān)系。因此,首先使用概率矩陣分解算法對用戶信任度矩陣進(jìn)行補(bǔ)全。
假設(shè)有M個(gè)用戶,以Tl,r表示用戶l對用戶r的信任度,構(gòu)成一個(gè)M×M的信任度矩陣。將目標(biāo)信任度矩陣分解為2 個(gè)維度更低的矩陣的乘積,其中K為潛在向量維度,L、R表示用戶信任度隱特征向量。
假設(shè)用戶信任度Tl,r由用戶l的潛在向量和用戶r的潛在向量的內(nèi)積來決定,且該信任度服從高斯分布,即:
則觀察到的信任度矩陣的條件概率為:
其中:Il,r為指示函數(shù),如果用戶l對用戶r存在信任數(shù)據(jù),則為1,否則為0。
再假設(shè)用戶潛在特征向量都服從均值為0的高斯先驗(yàn)分布,即:
其中:I表示一個(gè)對角陣。則L和R的后驗(yàn)概率為:
兩邊取對數(shù)得到:
其中:C為無關(guān)常數(shù)。
通過最小化以下目標(biāo)函數(shù)來最大化后驗(yàn)概率:
然后使用隨機(jī)梯度下降更新Ll和Rr,直到收斂或達(dá)到最大迭代次數(shù)。
訓(xùn)練完成后可獲得每個(gè)用戶的2 個(gè)特征向量L和R,將任意用戶l的左向量Ll與另一個(gè)用戶r的右向量Rr點(diǎn)乘可獲得l對r的信任度,即:
首先計(jì)算每對用戶之間的信任度矩陣T,Tl,r表示用戶l對用戶r的信任度。矩陣的第l行數(shù)據(jù)表示第l個(gè)用戶對其他用戶信任度。此時(shí)對每行數(shù)據(jù)進(jìn)行SoftMax 操作,將每行信任度總和歸一,獲得相似度矩陣F:
其中,F(xiàn)l,r表示用戶l與用戶r的相似度。
假設(shè)有M個(gè)用戶和N個(gè)項(xiàng)目,將每個(gè)用戶與項(xiàng)目的評分作為一個(gè)M×N矩陣RM×N,Ri,j表示用戶i對項(xiàng)目j的評分。再假設(shè)R服從于均值為,方差為的高斯分布,其概率分布為:
由相似度矩陣可知,用戶的特征向量與相似度矩陣F中其他用戶特征向量乘以權(quán)重求和后應(yīng)相等,即:
其中:Fi,t表示用戶i與用戶t的相似度。則用戶特征矩陣U的高斯先驗(yàn)分布如下:
再假設(shè)項(xiàng)目特征向量V也服從高斯分布,即:
則可得U和V的后驗(yàn)概率分布為:
兩邊取對數(shù)可得:
通過最小化以下目標(biāo)函數(shù)來最大化后驗(yàn)概率:
使用梯度下降方式對Ui和Vj進(jìn)行更新,直到收斂或達(dá)到最大迭代次數(shù)。
在群組融合方面,本文提出一種新的基于用戶交互的融合策略,這將再次利用之前獲得的用戶信任網(wǎng)絡(luò),具體流程如下:
獲取所有用戶的信任度隱特征向量R,求得R的平均值Rmean,即:
將每個(gè)用戶的左向量L與Rmean點(diǎn)乘,獲得該用戶的權(quán)重,即:
在群組推薦時(shí),將該群組中用戶的權(quán)重使用SoftMax 函數(shù)進(jìn)行歸一化,即:
使用權(quán)重策略將組內(nèi)用戶評分合并成群組評分:
其中:R(G,j)表示群組G對項(xiàng)目j的評分。
Epinions 數(shù)據(jù)集是從一個(gè)在線商品網(wǎng)站收集的多圖數(shù)據(jù)集,其中包含了多種關(guān)系,如評論者對另一個(gè)評論者的態(tài)度(信任/不信任),以及評論者對商品的評分,共包含664 824 條評分?jǐn)?shù)據(jù)和487 183 條信任度數(shù)據(jù)。隨機(jī)將評分?jǐn)?shù)據(jù)中的80%作為訓(xùn)練集,其余的20%作為測試集。
本文同時(shí)還在FilmTrust 數(shù)據(jù)集上進(jìn)行了驗(yàn)證。FilmTrust 為2011 年從網(wǎng)站FilmTrust 完整抓取下來的數(shù)據(jù)集。該數(shù)據(jù)集由兩部分組成:用戶-物品評分和用戶間信任度關(guān)系,其中評分包含35 497 條數(shù)據(jù),信任關(guān)系包含1 853 條數(shù)據(jù)。
由于數(shù)據(jù)集中沒有確切的群組及群組對項(xiàng)目的實(shí)際評分,本文實(shí)驗(yàn)將對同一項(xiàng)目具有相同評分且不小于5 個(gè)用戶的單位作為一個(gè)群組,則該相同評分可看作群組對項(xiàng)目的實(shí)際評分,這將得到N個(gè)群組及每個(gè)群組對一個(gè)項(xiàng)目的確切評分。實(shí)驗(yàn)使用以下2 種評估指標(biāo):
第1 個(gè)評估指標(biāo)是均方根誤差(RMSE),計(jì)算公式如下:
在第2 個(gè)評估指標(biāo)計(jì)算方式中,將群組評分為5 分的項(xiàng)目作為該群組的應(yīng)推薦項(xiàng)目,隨機(jī)選取M-1 個(gè)項(xiàng)目與該項(xiàng)目一起預(yù)測群組評分并根據(jù)評分高低進(jìn)行排序,計(jì)算應(yīng)推薦項(xiàng)目在前K個(gè)項(xiàng)目中出現(xiàn)的頻率并作為命中率(HR@K)。
其中:Ranki表示項(xiàng)目i在該K個(gè)項(xiàng)目中的排序名次。
本次實(shí)驗(yàn)選擇的M值為20。
3.3.1λU和λV的選擇
式(20)中的λU和λV也可以起到正則化系數(shù)的作用,相較于λF取值較小,通常在0.000 1 到0.1 之間。
圖3 展示了在其他參數(shù)不變的情況下,參數(shù)λU和λV取0.000 1 至0.01 時(shí) 對RMSE 和HR@5 的影響??梢钥闯?,當(dāng)λU和λV都取值在0.001 左右時(shí),RMSE最小且HR@5 最大,即此時(shí)的實(shí)驗(yàn)效果最好。因此,在后續(xù)實(shí)驗(yàn)中將采用0.001 作 為λU和λV的取值。
圖3 參數(shù)λU和λV對推薦性能的影響Fig.3 Influence of parameters λU and λV to recommended performance
3.3.2λF的選擇
本文算法相較于經(jīng)典PMF 算法改進(jìn)之處在于后驗(yàn)推導(dǎo)公式中加入了部分,當(dāng)λF取0 時(shí),將退化為普通PMF 算法。
圖4 展示了當(dāng)λF取值在0.1 至20 之間時(shí)推薦結(jié)果的RMSE 和HR@5 變化情況。從中可以看出,隨著λF的增大,RMSE 和HR@5 均呈現(xiàn)一定的變化。RMSE 逐漸減小后慢慢開始回升,而HR@5 在逐漸提高后開始回落。在此后的對比實(shí)驗(yàn)中,將采用10作為λF的取值。
圖4 不同λF取值下的RMSE 和HR@5Fig.4 RMSE and HR@5 with different λF
3.3.3 對比算法
在本文實(shí)驗(yàn)中,選擇使用以下對比算法:
1)經(jīng)典矩陣分解(Matrix Factorization,MF)算法。以下算法在協(xié)同過濾方法中“共現(xiàn)矩陣”的基礎(chǔ)上,加入了隱向量的概念,加強(qiáng)了模型處理稀疏矩陣的能力,具有更好的擴(kuò)展性與靈活性。但是與協(xié)同過濾一樣,不方便加入用戶、項(xiàng)目和上下文相關(guān)特征,使得矩陣分解喪失了利用很多有效信息的機(jī)會。
2)經(jīng)典PMF 算法。相比矩陣分解,PMF 算法可以更好地應(yīng)對數(shù)據(jù)稀疏問題。
3)多層感知機(jī)(Multi-Layer Perceptron,MLP)算法。通過多層神經(jīng)元擬合用戶對項(xiàng)目的評分。
4)NeuMF(Neural Matrix Factorization)算 法。該算法結(jié)合了廣義矩陣分解和多層感知機(jī),可以同時(shí)提取低維和高維特征[20],但由于該模型也是基于協(xié)同過濾的思想構(gòu)造的,因此并沒有引入更多其他類型的特征。
5)RippleNet 算法。該算法將知識圖譜作為推薦系統(tǒng)的輔助信息來源,利用實(shí)體關(guān)系三元組分析用戶的偏好傾向并推理出哪些新的實(shí)體項(xiàng)可能是該用戶可能喜歡的。其中知識圖譜指的是由類似(阿甘正傳,電影-導(dǎo)演,羅伯特·澤米吉斯)的事實(shí)三元組構(gòu)成。模型輸入為:用戶u和用戶的歷史紀(jì)錄V{u},以及項(xiàng)目v;模型輸出:用戶點(diǎn)擊/選擇/喜歡該項(xiàng)目的概率,由于該算法旨在輸出用戶喜歡項(xiàng)目的概率,在本次實(shí)驗(yàn)中改為回歸方法以計(jì)算評分[21]。
6)SIGR(Social Influence-based Group Recommender)算法。該算法將注意力機(jī)制和一種二分圖嵌入模型BGEM 作為基本塊。采用了注意力機(jī)制來學(xué)習(xí)每個(gè)用戶的社交影響,并將其應(yīng)用于不同的群組中。為準(zhǔn)確捕捉用戶社交影響,SIGR 設(shè)計(jì)了一種新的深度社交影響學(xué)習(xí)框架,來利用并整合用戶的全局/局部社交網(wǎng)絡(luò)結(jié)構(gòu)信息[22]。
為控制各方法的數(shù)據(jù)集與輸出類型相同,將MLP、NeuMF 的輸出由原本的分類改為回歸并計(jì)算評分,每層神經(jīng)元個(gè)數(shù)分別為64,32,16,8。
3.3.4 實(shí)驗(yàn)結(jié)果及分析
圖5 展示了隨著迭代次數(shù)的增加,F(xiàn)PMF 方法與各對比算法使用均值融合策略時(shí)的RMSE 收斂情況。
圖5 各算法訓(xùn)練時(shí)的RMSE 收斂情況Fig.5 RMSE convergence of each algorithm when training
在圖6 中,其他對比方法分別使用了均值策略和最小痛苦策略作為群組融合方法。以下為各方法的超參數(shù)調(diào)整達(dá)到最優(yōu)后的RMSE 效果。
圖6 各算法超參數(shù)調(diào)整達(dá)到最優(yōu)的RMSEFig.6 RMSE of each algorithm when the super parameters are optimal
表1 和表2 分別展示了Epinions 和FilmTrust 數(shù)據(jù)集下各方法的HR@K??梢钥闯?,原本在RMSE效果明顯占優(yōu)的MLP 方法和NeuMF 方法使用回歸方法計(jì)算評分后進(jìn)行排序的HR@K不再具有優(yōu)勢,而FPMF 方法在該指標(biāo)下的性能高于其他方法。
表1 Epinions 數(shù)據(jù)集上不同K 值下的命中率Table 1 Hit rate with different K on Epinions dataset %
同時(shí)由表2 可以看出,F(xiàn)PMF 算法在FilmTrust 數(shù)據(jù)集上的表現(xiàn)略遜于在Epinions 上的表現(xiàn),較為合理的解釋是FilmTrust 數(shù)據(jù)集中的用戶信任度關(guān)系相比于Epinions 較為稀疏,F(xiàn)PMF 算法精度較為依賴信任度數(shù)據(jù),失去信任度數(shù)據(jù)后的算法性能開始向基礎(chǔ)PMF 靠攏。
表2 FilmTrust 數(shù)據(jù)集上不同K 值下的命中率Table 2 Hit rate with different K on FilmTrust dataset %
3.3.5 模型可解釋性
在Epinions 數(shù)據(jù)集的測試結(jié)果中,小組成員393 號受組內(nèi)其他成員的信任。表3 所示數(shù)據(jù)為該組對不同項(xiàng)目的群組評分以及組內(nèi)成員的個(gè)體評分,由于393號成員的被信任程度較高,因此令其在群組偏好融合過程中具有較高的權(quán)重,從表中也可以看出,群組評分結(jié)果與393 號成員個(gè)體評分具有較高的相關(guān)度,這進(jìn)一步說明了模型的可解釋性。
表3 群組評分及單個(gè)組員評分案例Table 3 Example of ratings of group and individual member
針對當(dāng)前群組推薦算法較少考慮成員交互關(guān)系的問題,本文提出融合用戶信任度的概率矩陣分解群組推薦算法。對概率矩陣分解算法進(jìn)行改進(jìn),在后驗(yàn)概率計(jì)算部分引入用戶間的信任度,充分挖掘單用戶的歷史偏好。同時(shí),在群組融合部分引入用戶的信任度隱特征向量來計(jì)算評分權(quán)重,充分利用群組的社交關(guān)系特性。實(shí)驗(yàn)結(jié)果表明,本文方法能夠有效提升群組推薦性能。下一步將在概率矩陣分解中融合信任度數(shù)據(jù)本身的置信程度以及用戶的評分習(xí)慣等因素,進(jìn)一步提升本文算法的推薦性能。