姜久雷 潘姿屹 李盛慶
(常熟理工學(xué)院計算機科學(xué)與工程學(xué)院 江蘇 蘇州 215500) 2(北方民族大學(xué)計算機科學(xué)與工程學(xué)院 寧夏 銀川 750021)
在這個信息激增的大數(shù)據(jù)時代,數(shù)以億計的用戶每時每刻都會面對指數(shù)級增長的數(shù)據(jù)信息。如何使用戶快速、有效地從冗余信息中獲取自己所需的相關(guān)信息,是推薦系統(tǒng)發(fā)展的重中之重。推薦系統(tǒng)的核心內(nèi)容是對推薦算法的不斷改進(jìn),最早的推薦算法是在20世紀(jì)90年代研發(fā)中心Xerox Plo Alto開發(fā)出的名為Tapestry[1]的軟件,目的是協(xié)助用戶從琳瑯滿目的郵件中快速找到自己最需要的郵件,協(xié)同過濾由此而生。推薦算法經(jīng)過20多年的積累與沉淀發(fā)展至今,已經(jīng)成為了擁有眾多研究成果與應(yīng)用的熱點領(lǐng)域。
應(yīng)用于社交網(wǎng)絡(luò)的推薦系統(tǒng)中,朋友之友(FOAF)是最熱門的項目之一,近期研究工作表明用戶更加傾向于選擇有社交信任關(guān)系的推薦系統(tǒng)[2],同時偏愛用戶個人所認(rèn)識和信任用戶的推薦,因此信任度高的用戶引導(dǎo)其他用戶訪問與其興趣相關(guān)的項目的可能性更大。就此,用戶-用戶之間的信任問題可以作為數(shù)據(jù)化社交信息的一個重要依據(jù)[3]。文獻(xiàn)[4]將用戶社交信任加入到構(gòu)建用戶特征模型中,利用概率矩陣分解來預(yù)測用戶-項目評分。文獻(xiàn)[5]在傳統(tǒng)用戶-項目矩陣分解中引入用戶信任特征矩陣,以便提高推薦精度。
在學(xué)科融合的推進(jìn)下,推薦算法與其他熱門學(xué)科交互發(fā)展,其中較前沿的方法是基于深度學(xué)習(xí)的推薦算法[6]。由于深度學(xué)習(xí)模型可以擬合非結(jié)構(gòu)化的數(shù)據(jù),從中學(xué)習(xí)隱式表示提取可辨識的特征,將深度學(xué)習(xí)模型應(yīng)用到推薦系統(tǒng)中,將推薦問題看作序列化的問題求解,通過學(xué)習(xí)用戶之間的歷史交互分布來預(yù)測推薦內(nèi)容。目前已有很多深度學(xué)習(xí)推薦方法將序列數(shù)據(jù)建模應(yīng)用于推薦算法中,例如基于RNN、CNN[7]等的深度神經(jīng)網(wǎng)絡(luò)模型,其中最具代表性的就是神經(jīng)網(wǎng)絡(luò)協(xié)同過濾方法,在深度學(xué)習(xí)推薦算法發(fā)展歷程中的一大里程碑事件是由He等[8]提出的利用形式化用戶協(xié)同過濾的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)提取隱式數(shù)據(jù)的NCF框架,通過將傳統(tǒng)內(nèi)積替換成神經(jīng)結(jié)構(gòu)優(yōu)化模型對用戶-項目數(shù)據(jù)表示的學(xué)習(xí)效率,從而改善推薦性能。此后,Bai等[9]首次將鄰域信息融合到NCF方法中,很大程度上提升了隱式信息的推薦性能。文獻(xiàn)[10]針對神經(jīng)網(wǎng)絡(luò)協(xié)同過濾中使用大量模型訓(xùn)練參數(shù)而導(dǎo)致模型過擬合問題提出了改進(jìn)的IFE-NCF框架,通過引入隱式反饋嵌入模型增加對項目-項目之間相關(guān)性的建模,以便對冷啟動用戶做合理的推薦。目前越來越多的研究者將深度學(xué)習(xí)與推薦算法相結(jié)合,雖然這種混合推薦算法對于提升推薦性能非常有效,但也存在一些弊端:1) 深度學(xué)習(xí)方法將所有用戶-項目特征一并訓(xùn)練,其中存在大量無相關(guān)參數(shù),導(dǎo)致引入噪聲降低推薦性能[11];2) 眾多基于神經(jīng)網(wǎng)絡(luò)的推薦算法只考慮用戶-項目的序列特征,而忽略了用戶-用戶之間的關(guān)聯(lián)表示,對用戶間的信任度考慮欠佳[12];3) 社交網(wǎng)絡(luò)的數(shù)據(jù)結(jié)構(gòu)多以節(jié)點或序列形式記錄,往往導(dǎo)致網(wǎng)絡(luò)泛化能力較差,所提取的特征映射復(fù)雜,難以進(jìn)行后續(xù)操作[13]。
針對上述問題,本文提出一種融合信任度與注意力機制的協(xié)同過濾算法T-NAMF(Trust degree based on Neural Attention and Matrix Factorization network model)。該算法引入信任關(guān)系,考慮推薦內(nèi)容的隱式相關(guān)表示;通過構(gòu)建融合廣義矩陣分解塊和全連接塊的信任模型,采用協(xié)同過濾方法訓(xùn)練用戶-項目、用戶-用戶的信任度;突出注意力模塊的預(yù)測權(quán)重,以提高用戶信任關(guān)系的動態(tài)學(xué)習(xí)效率;最后預(yù)測信任評分以提高推薦內(nèi)容的相關(guān)性。
在推薦系統(tǒng)中,依據(jù)不同的定義,信任被劃分為各種不同的類別。在本文中,依據(jù)不同的信任路徑,將信任劃分為直接信任和間接信任[14]。在一個社交網(wǎng)絡(luò)中用戶之間存在不同的信任關(guān)聯(lián),且信任具有非對稱性。如圖1所示,箭頭方向表示信任方向,例如:0→3表示用戶0信任用戶3。
圖1 社交網(wǎng)絡(luò)中信任路徑表示圖
定義1將用戶-用戶的信任度表示為Trust,簡寫為Tr,例如用戶u0對用戶u3的信任程度表示為Tr(u0,u3)。
定義2令DTr表示直接信任,如果在社交網(wǎng)絡(luò)中用戶A到目標(biāo)用戶B的信任路徑可直達(dá),中間沒有其他用戶的參與,那么用戶A對用戶B的信任就是直接信任。例如,用戶u4到用戶u0的信任路徑中沒有經(jīng)過其他用戶,用戶u4對用戶u0存在直接信任,記作DTr(u4,u0)。
定義3令I(lǐng)Tr表示間接信任,與直接信任相反,在社交網(wǎng)絡(luò)中用戶A到目標(biāo)用戶B的信任路徑之間有其他用戶的參與,那么用戶A對用戶B的信任就是間接信任。例如,用戶u0到用戶u4的信任路徑中有用戶u6的參與,即用戶u0對用戶u4存在間接信任,記作ITr(u0,u4)。
基于傳統(tǒng)公式的社交網(wǎng)絡(luò)節(jié)點信任度值計算方法雖然具有計算簡單、復(fù)雜度低等優(yōu)點,但是不能適應(yīng)不同結(jié)構(gòu)的社交網(wǎng)絡(luò),并且綜合考慮的影響因素也十分單一[15]。本文通過研究社交網(wǎng)絡(luò)的多種結(jié)構(gòu),探究影響用戶之間信任關(guān)系的關(guān)鍵影響因素并提出一種綜合多種權(quán)重影響因素的信任度值計算方法,細(xì)化了計算用戶信任度的量化標(biāo)準(zhǔn),主要有三部分量化因素:用戶特征相似度、好友圈吻合度、用戶交互緊密度。
定義4令FS表示用戶特征相似度(Feature Similarity),其中包括用戶基本屬性特征和用戶興趣特征。
定義5令BS表示用戶基本屬性特征(Basic Attributes),指的是兩個用戶之間的基本信息相似度,其中包括性別、年齡、民族、省份、職業(yè)等。
定義6令I(lǐng)C表示用戶興趣特征(Interest Characteristics),指的是用戶自身對于不同項目的喜好程度,例如用戶喜歡看什么類別的電影、做什么樣的運動、讀什么類型的書等。
定義7令FM表示用戶表示好友圈吻合度(The Degree of Friend Match),即共同好友的數(shù)量。
定義8令I(lǐng)N表示用戶交互緊密度(User Interaction Tightness),即兩個用戶之間的交互頻率。
1.2.1直接信任度值的計算
在真實社交網(wǎng)絡(luò)中,兩用戶之間的信任程度往往是不一致的,通常情況下假如用戶Ua信任用戶Ub,不能直接推斷用戶Ub也同等程度地信任用戶Ua,因此本文中引入改進(jìn)的計算直接信任度值DTr(ua,ub)的方法,結(jié)合影響信任的多個關(guān)鍵因素為其分配不同的權(quán)重。
(1) 用戶特征相似度的計算公式如下:
FS(ua,ub)=w·BS(ua,ub)+(1-w)·IC(ua,ub)
(1)
式中:w代表調(diào)參系數(shù),取值范圍在[0,1],w越大說明用戶基本屬性信息相似度的作用越明顯。用戶基本屬性相似度和用戶興趣特征相似度的計算分別如下:
(2)
(3)
式中:I-bs(ua)、I-bs(ub)分別代表用戶Ua和用戶Ub基本屬性信息的集合;|I-bs(ua)|、|I-bs(ua)∩I-bs(ub)|、|I-bs(ua)∪I-bs(ub)|分別代表用戶Ua基本屬性信息集合中數(shù)據(jù)的數(shù)量、用戶Ua和用戶Ub基本屬性信息集合中相同數(shù)據(jù)的數(shù)量、用戶Ua或者Ub基本屬性信息集合中數(shù)據(jù)的數(shù)量。同理式(3)中的關(guān)于用戶興趣屬性的相關(guān)表示含義,不再贅述。
(2) 好友圈吻合度的計算公式如下:
(4)
式中:Common-friend(ua,ub)表示用戶Ua和用戶Ub的共同好友集合,依據(jù)“150定律”,又叫作鄧巴數(shù)字,設(shè)置150位共同好友數(shù)量的最大值。
(3) 用戶交互緊密度的計算公式如下:
(5)
式中:分子表示用戶Ua和用戶Ub的交互次數(shù);分母表示用戶Ua和他所有朋友的交互次數(shù)。
綜合式(1)-式(5),得出兩個用戶之間的直接信任度值DTr(ua,ub)計算式為:
DTr(ua,ub)=M×FS(ua,ub)+O×FM(ua,ub)+
P×IN(ua,ub)
(6)
1.2.2間接信任度值的計算
由于信任具有可傳播性,在真實社交網(wǎng)絡(luò)中,用戶之間除了有直接信任關(guān)系還有間接信任關(guān)系。由圖1的信息可知,用戶u1和用戶u4之間不僅存在直接信任路徑,還存在兩條間接信任路徑,分別為:用戶u1信任用戶u0,用戶u0信任用戶u6,用戶u6信任用戶u4;用戶u1信任用戶u0,用戶u0信任用戶u4。這里設(shè)用戶u1到用戶u4的間接信任路徑為:L1064、L104,它們各自的間接信任值計算公式如下:
L1064=DTr(u1,u0)×DTr(u0,u6)×DTr(u6,u4)
(7)
L104=DTr(u1,u0)×DTr(u0,u4)
(8)
根據(jù)信任的可傳播性可知,一條信任路徑上的用戶越多,信任度增加的幅度越小,本節(jié)利用兩級信任路徑傳播,來計算用戶Ua到用戶Ub之間經(jīng)過所有信任傳播路徑的間接信任值,在這里引入物理學(xué)中等效電阻的相關(guān)理論[17]來作為信任距離度量方法,如圖2所示。
圖2 社交網(wǎng)絡(luò)中模擬電路圖的用戶之間的信任路徑
即R1等效為L1064,R2等效為L104,由并聯(lián)電阻計算方法式(9)可得,間接信任度值的計算方法為式(10)。
(9)
(10)
1.2.3綜合信任度值的計算
通過結(jié)合影響信任關(guān)系的幾個關(guān)鍵維度為其設(shè)置不同的權(quán)重,最終計算信任值公式如下:
sim-Tr(ua,ub)=
(11)
式中:sim-Tr(ua,ub)表示用戶Ua和用戶Ub之間的信任度值。當(dāng)DTr(ua,ub)≠0、ITr(ua,ub)≠0時,說明用戶Ua和用戶Ub之間同時存在直接信任和間接信任;當(dāng)ITr(ua,ub)=0時,代表用戶之間只存在直接信任;當(dāng)DTr(ua,ub)=0時,表示用戶之間只存在間接信任。
目前,比較火熱的結(jié)合神經(jīng)網(wǎng)絡(luò)的推薦算法——基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾(Neural network based Collaborative Filtering),通過將內(nèi)部特征替換為可以從數(shù)據(jù)中學(xué)習(xí)任意函數(shù)的神經(jīng)結(jié)構(gòu),它的優(yōu)點是可以將特征向量映射到向量空間進(jìn)行表示和學(xué)習(xí),也可以作為訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型所需要的特征向量[18]。在神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾算法的基礎(chǔ)上已經(jīng)有IFE-NCF改進(jìn)算法,經(jīng)典的基于項目上下文的IFE-NCF框架是將某一層的輸出作為下一層的輸入,它由輸入層、嵌入層、IFE-NCF層、輸出層四大部分組成。IFE-NCF的每一層都可以通過定制結(jié)構(gòu)來發(fā)現(xiàn)用戶-項目之間交互的潛在結(jié)構(gòu),目的是將潛在向量映射為預(yù)測評分傳輸?shù)捷敵鰧?這樣的設(shè)計比原來固定的內(nèi)部函數(shù)具有更完善的表達(dá)能力。它雖然采用多層結(jié)構(gòu)來對用戶-項目的交互信息進(jìn)行建模,在一定程度上可以直接預(yù)測用戶-項目評分矩陣中的缺失數(shù)據(jù),但是它僅憑用戶交互過的項目信息來進(jìn)行預(yù)測,忽略了用戶和用戶之間的相互有關(guān)聯(lián)的關(guān)系信息,同時考慮到社交網(wǎng)絡(luò)中大量冗余的信息,傳統(tǒng)的模型僅通過特征工程獲得用戶主觀意識的屬性作為研究主體,往往忽略豐富的客觀內(nèi)容。為此,本文通過融合上述信任度值計算方法所得到的關(guān)系矩陣,將用戶-用戶、用戶-項目的直接信任及間接信任矩陣嵌入到用戶、項目的序列特征中,以提高推薦相關(guān)性。
在深度神經(jīng)網(wǎng)絡(luò)模型中融合信任度,是充分考慮社交網(wǎng)絡(luò)中大量數(shù)據(jù)缺失的研究背景,綜合利用上述度量方法計算出的用戶之間的信任度對原始數(shù)據(jù)進(jìn)行最大能力的補全操作。在現(xiàn)實社交網(wǎng)絡(luò)中用戶興趣一定是與用戶評分行為有某種聯(lián)系,同時這種聯(lián)系還需要考慮用戶之間的信任關(guān)系。圖3和圖4為本文算法融合信任度值的具體過程。
圖3 融合信任度與用戶特征的矩陣補全模型
圖4 融合信任度與項目特征的矩陣補全模型
如圖3所示為用戶之間信任度與用戶自身特征的矩陣補全過程,輸入用戶自身特征向量和用戶-用戶信任度值向量,輸出補全缺失數(shù)據(jù)的用戶-項目評分矩陣。圖4中描述了用戶之間信任度與項目基本特征的矩陣補全過程,輸入項目基本特征向量和用戶-用戶信任度值向量,輸出補全缺失數(shù)據(jù)的用戶-項目評分矩陣。
然后,將以上兩個分別融合信任度進(jìn)行數(shù)據(jù)補全的矩陣?yán)霉_(dá)瑪積(Element-wise Produce)將其嵌入到用戶集(User)和項目集(Item)中構(gòu)建用戶信任矩陣和項目信任矩陣,利用embedding層對用戶集和項目集進(jìn)行向量轉(zhuǎn)換,從而獲得輸入序列向量。這種補全數(shù)據(jù)值的方法不同于傳統(tǒng)的推薦模型將矩陣中所有缺失數(shù)據(jù)進(jìn)行一次性補全的方式,本文方法更加注重社交網(wǎng)絡(luò)中用戶之間信任關(guān)系,也著重突出了后續(xù)神經(jīng)網(wǎng)絡(luò)模型中設(shè)計的注意力機制的作用,為融合信任度的特征矩陣分配更大的權(quán)重,突出信任關(guān)系對預(yù)測評分的影響比重。利用量化得出的信任度值將缺失數(shù)據(jù)盡可能地補全同時又防止后續(xù)使用數(shù)據(jù)集進(jìn)行實驗會出現(xiàn)過擬合現(xiàn)象。
本節(jié)提出一個融合信任度的神經(jīng)注意力機制矩陣分解網(wǎng)絡(luò)模型T-NAMF,將神經(jīng)網(wǎng)絡(luò)中的注意力機制與協(xié)同過濾矩陣分解相結(jié)合的推薦評分預(yù)測模型,模型框架如圖5所示。
圖5 T-NAMF算法模型
為了詳細(xì)地解釋該協(xié)同過濾模型的結(jié)構(gòu)層次,對各個步驟講解如下。
步驟1以融合信任度之后的u-Tr和i-Tr作為輸入映射到序列特征中。
步驟2用embedding分別從u-Tr和i-Tr中提取用于廣義矩陣分解塊和全連接塊的輸入向量MF_User_Vector、FC_User_Vector、MF_Item_Vector、FC_Item_Vector,以便獲得user和item的隱式反饋信息,利用哈達(dá)瑪積(Element-wise Produce)來進(jìn)行user和item向量的交互。
步驟3對MF_User_Vector和MF_Item_Vector采用Element-wise Produce操作融合用戶-項目向量矩陣,作為GMF的輸入特征,利用向量矩陣的稀疏性降低計算復(fù)雜度。
步驟4將步驟2中FC_User_Vector和FC_Item_Vector串聯(lián)起來,作為全連接塊的輸入向量,通過擬合user和item之間的非線性表示,提高語義特征的可識別性。
步驟5將通過GMF和FC層所得的特征送入Attention Module,通過對融合特征的系數(shù)矩陣進(jìn)行縮放,提高推薦內(nèi)容的相關(guān)度。
步驟6將信任矩陣內(nèi)部評分做等級化處理,分為0-5級,用戶-項目數(shù)據(jù)映射得到的信任值作為標(biāo)準(zhǔn),采用Log loss作為損失函數(shù),對預(yù)測信任評分進(jìn)行評估,從而優(yōu)化模型訓(xùn)練。
步驟7對訓(xùn)練的網(wǎng)絡(luò)模型中的參數(shù)微調(diào),進(jìn)一步提高預(yù)測模型的精確度。
輸入層中主要包括的數(shù)據(jù)信息有:用戶id、項目id、用戶-項目之間的交互信息,雖然在每個數(shù)據(jù)集中都包含有數(shù)百萬條的交互信息,但同時數(shù)據(jù)集的稀疏度也高達(dá)95%。本節(jié)利用第1節(jié)中提出的信任度值計算方法及現(xiàn)有數(shù)據(jù)信息計算用戶-用戶的信任度值,相當(dāng)于在數(shù)據(jù)集中添加一列信任數(shù)據(jù)。首先,在模型的輸入層中將信任度值數(shù)據(jù)分別映射到用戶和項目的特征矩陣中,再對用戶id、用戶特征和項目id、項目類別等數(shù)據(jù)進(jìn)行one-hot編碼預(yù)處理,目的是將非數(shù)值化的數(shù)據(jù)進(jìn)行數(shù)值化處理,并且這種預(yù)處理方法的處理效果明顯優(yōu)于其他神經(jīng)網(wǎng)絡(luò)類型的編碼方式,one-hot編碼可以對每一維的特征數(shù)據(jù)進(jìn)行歸一化處理,以起到有擴充特征數(shù)據(jù)的作用。在預(yù)處理編碼之后,分別輸入用戶-信任向量和項目-信任向量。
嵌入層中輸入的是輸入層中輸出的用戶-信任潛在向量和項目-信任潛在向量,并將它們描述成關(guān)于用戶和項目分別基于信任度的潛在向量,其中關(guān)于用戶的潛在向量輸入單元為8units,關(guān)于項目的潛在向量輸入單元為32units。本文用vu、vi、vTr分別表示用戶特征向量、項目特征向量和信任特征向量,將信任特征向量映射之后的用戶-信任向量和項目-信任特征向量表示為:
vut=vu·vTr;vit=vi·vTr
(12)
另外用Vu和Vi分別表示兩者的嵌入向量:
(13)
式中:用MFu∈Rm·k代表用戶特征的嵌入矩陣,MFi∈Rn·k代表項目特征的嵌入矩陣,k表示嵌入維度的大小,m表示用戶特征個數(shù),n表示項目特征個數(shù)。
NAMF層是本文算法改進(jìn)的核心部分,其中包括廣義矩陣GMF層、全連接FC層和注意力模塊。首先,GMF中的特征提取始于嵌入層中MF-User向量和MF-Item向量的嵌入,得到一個8×8的二維矩陣,經(jīng)過矩陣分解,輸出神經(jīng)元(units)數(shù)量為8的神經(jīng)元網(wǎng)絡(luò)。FC全連接層是提取社交網(wǎng)絡(luò)中的用戶、項目、信任信息作為特征向量,作為FC嵌入層中的輸入維度,接著合并FC和MF中的項目向量來升維空間向量,然后用幾個全連接層結(jié)合ReLU激活函數(shù)輸出該神經(jīng)網(wǎng)絡(luò)。
在GMF和FC層中,不同的嵌入層很有可能會限制融合模型的性能,由于兩種模型之間的結(jié)構(gòu)差異很大,所以本文設(shè)定GMF和FC使用相同的嵌入維度大小為數(shù)據(jù)集的最佳嵌入大小。為了給融合模型提供更多的靈活性,允許GMF和FC單獨學(xué)習(xí)嵌入層數(shù)據(jù)并進(jìn)行組合,最終連接這兩個模型的是它們的隱藏層,表示如下:
(14)
(15)
NAMF層中最關(guān)鍵的部分是本模型中設(shè)計的全局注意力模塊,通過FC全連接層的全局最大池化和GMF廣義矩陣分級的全局平均池化來提取特征向量和通道權(quán)重。在注意力模塊的輸入操作中,將GMF和FC的特征同時輸入進(jìn)行通道融合,通過一層卷積層將多維通道的特征壓縮成一維通道的特征,以便減少多維通道之間的特征信息對注意力機制的干擾。將前面操作中的最大池化層和平均池化層合并輸入到Sigmoid函數(shù)中,歸一化獲取權(quán)重信息,最后將特征信息和初始的輸入特征對應(yīng)單元進(jìn)行相乘。具體結(jié)構(gòu)如圖6所示。
圖6 注意力模塊內(nèi)部結(jié)構(gòu)
在Attention模塊中,本文借鑒文獻(xiàn)[19]中提出的局部推理方法實現(xiàn)對特征數(shù)據(jù)的融合處理,將GMF中的平均池化層和FC中的最大池化層進(jìn)行特征融合,表示如下:
(16)
式中:⊕表示使用合并的方式來提取特征,這種融合特征的方法相比于傳統(tǒng)的直接做點積,在構(gòu)建模型時更關(guān)注不同特征所占的權(quán)重不同,這樣學(xué)習(xí)出的神經(jīng)網(wǎng)絡(luò)模型會減少對于關(guān)鍵特征的損失。
(17)
在本文實驗中采用的數(shù)據(jù)集是推薦算法中常用的兩個公開數(shù)據(jù)集,其一是MovieLens-1m,其中包含了6 040個用戶對3 652部電影的1 000 209個評分;另一個數(shù)據(jù)集是Pinterest-20,它是一個基于圖像內(nèi)容隱式反饋來進(jìn)行推薦的數(shù)據(jù)集,產(chǎn)生一個包含55 187個用戶和1 500 809個交互的數(shù)據(jù)子集。原始數(shù)據(jù)中沒有信任相關(guān)的統(tǒng)計,需要先進(jìn)行數(shù)據(jù)預(yù)處理,將用戶評閱、點贊、收藏他人主頁等統(tǒng)計數(shù)據(jù)來作為統(tǒng)計信任關(guān)系數(shù)的依據(jù),考慮到隱式反饋的性質(zhì),0表示間接信任,1表示直接信任。在本實驗中對數(shù)據(jù)集以10∶1的比例進(jìn)行信任關(guān)系劃分,統(tǒng)計信息如表1所示。
表1 數(shù)據(jù)集的數(shù)據(jù)統(tǒng)計信息
利用改進(jìn)信任度值計算方法計算得出的具體信任度值融合到原有數(shù)據(jù)集中,即新添加信任度值一列,樣本示例如圖7所示。
圖7 MovieLens-1m中添加用戶-信任數(shù)據(jù)
圖7為截取MovieLens-1m數(shù)據(jù)集中添加用戶-信任數(shù)據(jù)的樣本示例,將信任度值依據(jù)TOP-N排序,以便后續(xù)實驗獲取源用戶信任的目標(biāo)用戶。圖8為截取同數(shù)據(jù)集中添加項目-信任數(shù)據(jù)的樣本示例,能夠在新的異構(gòu)網(wǎng)絡(luò)中挖掘用戶之間的信任度??梢?融合信任度的推薦算法可以很大程度上緩解社交推薦系統(tǒng)中用戶信任關(guān)系挖掘不充分的問題,提高推薦效果。
圖8 MovieLens-1m中添加項目-信任數(shù)據(jù)
另外,為了確定T-NAMF算法中設(shè)置的超參數(shù),本文隨機抽取了每個用戶的一個交互行為數(shù)據(jù)作為驗證數(shù)據(jù),并且調(diào)整優(yōu)化了其中的超參數(shù),整個實驗過程都是通過優(yōu)化算法Adam的對數(shù)損失來學(xué)習(xí)的,其中對每個正實例采樣四個負(fù)實例,對于從零開始訓(xùn)練的T-NAMF模型,利用高斯分布(均值為0,標(biāo)準(zhǔn)差為0.01),設(shè)置學(xué)習(xí)率α=0.001,隨機初始化模型參數(shù)測試數(shù)據(jù)集。另外設(shè)置影響因素取值為8、16、32、64,剛接受過訓(xùn)練的a值被設(shè)置為0.5,允許預(yù)先訓(xùn)練的GMF和MLP對T-NAMF的初始化貢獻(xiàn)相等。
本文使用命中率(HR)和歸一化折扣累計增益(NDCG)兩個指標(biāo)作為實驗的評價指標(biāo)。其中HR可以直觀地衡量是否測試項目在前十名列表中,從而評估推薦排名列表的性能,其定義如下:
(18)
式中:|GT|表示所有測試數(shù)據(jù)集合;分子表示的是推薦列表中屬于測試數(shù)據(jù)集合的數(shù)量。
NDCG是基于列表排名位置這所因子的體現(xiàn),其衡量標(biāo)準(zhǔn)是推薦內(nèi)容的位置在推薦列表中越靠前,它的相關(guān)度就越高,定義如下:
(19)
式中:求和公式是求1到N的和,N是推薦列表排名個數(shù),在本文的算法中取N=10,即取前10個排名進(jìn)行評估;Z取值0/1,0為隱式反饋,1為顯式反饋。
本文提出的融合信任度和注意力機制的T-NAMF是針對基于項目上下文的IFE-NCF的改進(jìn)模型。為了驗證T-NAMF在實驗評估指標(biāo)上的推薦表現(xiàn),選擇改進(jìn)的基礎(chǔ)模型IFE-NCF以及初始模型GMF和MLP作為本實驗的對比基準(zhǔn),以便較為全面地衡量本文算法的各項性能。
(1) 引入信任度值對實驗效果的分析。為了研究基于信任度的T-NAMF模型對用戶推薦項目的表現(xiàn),本文實驗分別將MovieLens-1m和Pinterest-20兩個數(shù)據(jù)集的用戶按照信任度值分為三組:用戶之間信任度值小于等于0.33的屬于低信任組,用戶之間信任度值大于0.33且小于等于0.66的屬于中信任組,其余的用戶屬于高信任組。
圖9顯示的是在相同的實驗背景下,使用兩個不同的數(shù)據(jù)集分別利用低信任組、中信任組和高信任組用戶觀察MLP、GMF、IFE-NCF、T-NAMF四個不同的模型關(guān)于HR@10和NDCG@10的表現(xiàn)狀況。T-NAMF模型的推薦效果明顯優(yōu)于其他三個模型,HR@10指標(biāo)在MovieLens-1m和Pinterest-20兩個數(shù)據(jù)集的低、中、高信任組中最高分別提升了6.05%、1.75%、2.30%和16.12%、5.40%、4.18%;NDCG@10指標(biāo)在兩個數(shù)據(jù)集的低、中、高信任組中最高分別提升了15.86%、13.98%、5.83%和8.20%、6.54%、7.79%。
(a) MovieLens-1M
另外,通過觀察可以發(fā)現(xiàn):T-NAMF模型越是在低信任組的用戶中越有更好的推薦效果,這是由于本改進(jìn)模型通過引入用戶之間的信任度值來度量用戶之間隱式關(guān)系,由此看來,T-NAMF模型可以填補缺失數(shù)據(jù),很大程度上能夠緩解用戶的冷啟動問題。
(2) 在Top-N方面的推薦表現(xiàn)效果。為了研究MLP、GMF、IFE-NCF、T-NAMF四個不同的模型關(guān)于不用長度推薦列表的實驗真實效果表現(xiàn),在實驗中為每個用戶設(shè)置影響因子factor為8,單次訓(xùn)練迭代次數(shù)為50,batch_size為512,變量設(shè)置長度K為1~10的推薦列表,獲取并記錄在兩個數(shù)據(jù)集上四個模型有關(guān)NDCG@10和HR@10評價指標(biāo)的真實反饋表現(xiàn),如圖10所示。
(a) MovieLens-HR@K
分析圖10可知:
1) 推薦列表的長度(橫坐標(biāo)表示的K值)在一定程度上影響推薦預(yù)測的準(zhǔn)確性,K值從1增加到10的過程中,四個模型的推薦效果都呈現(xiàn)逐漸提升的狀態(tài),但是每個模型的優(yōu)化程度不同。
2) 從四個模型在MovieLens-1m數(shù)據(jù)集的推薦表現(xiàn)來看,本節(jié)提出的T-NAMF模型在整個K值取值范圍內(nèi)比其他三個模型的推薦效果都要好,當(dāng)K取值較小時,對比IFE-NCF模型提升的幅度較大,在K=10時,HR指標(biāo)相比IFE-NCF模型只提升了0.89%;從圖10(b)中可以看出T-NAMF模型的推薦表現(xiàn)明顯優(yōu)于其他對比三個模型,在K=10時,NDCG指標(biāo)相比于IFE-NCF模型提升了5.40%。
3) 就數(shù)據(jù)集Pinteres-20來看,從圖10(c)中的推薦表現(xiàn)可以看出,當(dāng)K<5時,T-NAMF模型比IFE-NCF模型的推薦表現(xiàn)略好一點,之后隨著K值的不斷增大,前者的HR指標(biāo)比后者稍差一點,但是明顯優(yōu)于MLP、GMF兩個模型的推薦水平;圖10(d)的反饋信息跟圖10(c)類似,在K>7的取值范圍中,T-NAMF模型比IFE-NCF模型的NDCG指標(biāo)略差一點。
上述情況出現(xiàn)的原因是由于在數(shù)據(jù)集Pinterset-20中的數(shù)據(jù)都是基于圖片的內(nèi)容,數(shù)據(jù)本身就有描述不準(zhǔn)確性,T-NAMF模型在基于圖片的應(yīng)用場景下發(fā)揮的推薦效果還有待提升。另外,TOP-K并非越大越好,就實驗結(jié)果來看,K值取小于3的推薦效果最好,結(jié)合現(xiàn)實推薦系統(tǒng)的應(yīng)用目的是將預(yù)測評分最高的項目推薦給用戶,TOP-K中的K值選取應(yīng)盡量小且推薦指標(biāo)盡量高,因此K=3是最佳選擇。
本文充分考慮社交網(wǎng)絡(luò)中用戶與用戶之間的信任關(guān)系,將其量化計算并作為隱式推薦系統(tǒng)中的一個特征因素,同時將深度神經(jīng)網(wǎng)絡(luò)中添加注意力機制應(yīng)用到推薦算法中,在原有的基于項目上下文的NCF框架的基礎(chǔ)上提出一種新的T-NAMF框架。在現(xiàn)有的數(shù)據(jù)集信息類別有限且數(shù)據(jù)量稀疏的情況下,利用已有的顯式數(shù)據(jù)綜合多種權(quán)重影響因素,有效緩解了數(shù)據(jù)稀疏問題。在訓(xùn)練模型部分加入全局注意力機制模塊,以增強對于關(guān)鍵特征的學(xué)習(xí)。通過實驗結(jié)果可以證明,T-NAMF框架增大了權(quán)重特征的比重,在召回率和歸一化性能方面都有很好的優(yōu)化效果。但是,T-NAMF也存在一定不足,不能夠普適所有類型的應(yīng)用場景,在基于圖片內(nèi)容的場景中推薦表現(xiàn)欠佳;另外在沒有信任度值的數(shù)據(jù)集中需要先對數(shù)據(jù)集做預(yù)處理計算出用戶之間的信任度值,這部分工作量較大。