吳 彪,溫 雯,郝志峰,2,蔡瑞初
(1.廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510000; 2.佛山科學(xué)技術(shù)大學(xué) 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,廣東 佛山 528225)
現(xiàn)有的推薦算法主要基于用戶的歷史行為,卻沒(méi)有充分解決兩個(gè)關(guān)鍵性的問(wèn)題:①用戶直接行為的稀疏性以及用戶對(duì)于不同項(xiàng)目的喜好之間的差異性;②在模型中融合各方面的信息,拓展用戶的行為模式。相比于用戶的信息而言,獲取項(xiàng)目的信息則顯得更加容易,如商品的屬性。對(duì)于用戶而言,喜歡的項(xiàng)目往往具有聯(lián)系。因此,利用項(xiàng)目的信息輔助推薦具有重要意義。不同的項(xiàng)目對(duì)于用戶的吸引力存在差異性,如何有效刻畫(huà)項(xiàng)目之間的關(guān)系以及用戶對(duì)其的喜好程度,是一項(xiàng)具有挑戰(zhàn)性的工作。
本文利用用戶-項(xiàng)目的交互記錄和項(xiàng)目的屬性信息,從用戶的相對(duì)喜好的角度出發(fā),設(shè)計(jì)了一個(gè)融合多種復(fù)雜共現(xiàn)信息的框架,將傳統(tǒng)的推薦問(wèn)題轉(zhuǎn)化為異構(gòu)網(wǎng)絡(luò)的節(jié)點(diǎn)嵌入問(wèn)題,同時(shí)將項(xiàng)目的多種信息轉(zhuǎn)化為子圖,從子圖內(nèi)部找出真正具有相近意義的節(jié)點(diǎn),進(jìn)而將稀疏的特性替換成連續(xù)的向量表達(dá)。根據(jù)子圖節(jié)點(diǎn)的不同組合,關(guān)注用戶的多種行為模式,而不局限于關(guān)注用戶的點(diǎn)擊行為。對(duì)于圖而言,通過(guò)不同的節(jié)點(diǎn)跳轉(zhuǎn),引入用戶的間接行為,同時(shí)刻畫(huà)節(jié)點(diǎn)之間相似度的差異,并利用Bayesian personal ranking(BPR)[1]優(yōu)化準(zhǔn)則和隨機(jī)梯度下降算法進(jìn)行模型求解。最后,在多個(gè)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,本文提出的方法具有更好的推薦效果。
推薦算法主要包括以下幾個(gè)方面的技術(shù):
(1)傳統(tǒng)的基于矩陣分解的方法:早期的推薦系統(tǒng)工作主要是基于直接的用戶-物品交互記錄進(jìn)行推薦,但由于交互記錄的高度稀疏性,使得推薦的性能受到一定限制。因此,各種不同的降維方法被用來(lái)解決這個(gè)問(wèn)題,如非負(fù)概率矩陣分解(NMF)[2]、概率矩陣分解(PMF)[3]等,這些方法有助于產(chǎn)生更好的推薦性能,但是它們必須經(jīng)過(guò)復(fù)雜的矩陣分解步驟。為增強(qiáng)項(xiàng)目的表示,Liang等[4]提出用項(xiàng)目共現(xiàn)對(duì)用戶-項(xiàng)目矩陣的分解進(jìn)行正則化,其原理相當(dāng)于在矩陣分解的聯(lián)合目標(biāo)下學(xué)習(xí)用戶和項(xiàng)目的向量化表示,雖然該模型利用了用戶-項(xiàng)目的交互信息和項(xiàng)目-項(xiàng)目之間的共現(xiàn)信息,但是其將所有具有共現(xiàn)的項(xiàng)目進(jìn)行等價(jià)對(duì)待,無(wú)法體現(xiàn)差異性。另一方面,用戶與項(xiàng)目之間的行為還包括間接但更復(fù)雜的形式(例如,“購(gòu)買(mǎi)產(chǎn)品”、“選擇項(xiàng)目標(biāo)簽”或“回答在線問(wèn)題”),這使得用戶的反饋具有多樣化、異構(gòu)性且未必顯而易見(jiàn)等特征。相對(duì)于稀疏的顯式行為而言,用戶的隱式行為則顯得更加稠密。而上述方法僅僅根據(jù)用戶的顯式行為進(jìn)行學(xué)習(xí),并沒(méi)有直接利用隱式行為優(yōu)化其排名。
(2)基于個(gè)性化排序的方法:基于個(gè)性化排序是推薦系統(tǒng)中的一類(lèi)重要技術(shù),其主要思想是將節(jié)點(diǎn)之間傳統(tǒng)的直接關(guān)系轉(zhuǎn)變?yōu)橄鄬?duì)關(guān)系。Rendle等[1]提出基于個(gè)性化排序的算法,用邏輯回歸算法,將個(gè)性化排序融入到推薦系統(tǒng)中,利用隱式反饋解決推薦問(wèn)題,但其局限于用戶的喜好,沒(méi)有利用項(xiàng)目的其它信息。WARP[5]采用權(quán)重近似化,對(duì)節(jié)點(diǎn)進(jìn)行排序。由于用戶的直接行為的高度稀疏性,Yang等[6]在圖上進(jìn)行隨機(jī)游走,為每個(gè)用戶獲取相鄰項(xiàng)之間的高階信息,引入用戶的間接行為,隨后將其轉(zhuǎn)化為用戶對(duì)項(xiàng)目的喜好程度的差異性,采用個(gè)性化排序算法學(xué)習(xí)其向量表示,但是其僅關(guān)注用戶間的行為,使得推薦局限于熱門(mén)的項(xiàng)目。于洪等[7]結(jié)合多種信息獲得個(gè)性化權(quán)重得分,提出一種解決新項(xiàng)目冷啟動(dòng)問(wèn)題的推薦算法。戴琳等[8]則利用多種信息,將個(gè)性化排序用于餐館推薦中,獲得更好的推薦效果。
(3)圖是一種天然的表示用戶-項(xiàng)目交互信息的結(jié)構(gòu),因此基于圖模型的推薦算法受到廣泛關(guān)注。基于圖的推薦方法的主要思想是通過(guò)用戶-項(xiàng)目的記錄建立圖的關(guān)聯(lián),然后應(yīng)用隨機(jī)游走技術(shù)捕獲潛在的信息和生成項(xiàng)目排序。Ming等[9]提出BiNE網(wǎng)絡(luò),將用戶-項(xiàng)目的交互行為視為二分圖,并在二分圖上進(jìn)行高階節(jié)點(diǎn)的映射。Cai等[10]在二分圖的基礎(chǔ)上融合用戶的信息,并用隨機(jī)游走技術(shù)生成用戶-項(xiàng)目對(duì),學(xué)習(xí)用戶、項(xiàng)目的向量表示。隨著Skip-gram[11]思想的發(fā)展,部分工作將一組項(xiàng)目視為單詞序列,并對(duì)用戶-項(xiàng)目交互記錄應(yīng)用skip-gram negative sampling(SGNS)來(lái)學(xué)習(xí)每個(gè)項(xiàng)目的嵌入向量[12,13]。王娜等[14]用SGNS模型分析用戶播放視頻行為,提取視頻的特征,并用聚類(lèi)算法建模用戶興趣分布矩陣。Vasile等[15]在此基礎(chǔ)上加入異構(gòu)信息,豐富該模型。其它類(lèi)似的在異構(gòu)圖上學(xué)習(xí)節(jié)點(diǎn)信息的工作還包括Cen等的研究[16-18]。
我們著重關(guān)注帶有項(xiàng)目信息的場(chǎng)景下,學(xué)習(xí)用戶/項(xiàng)目的潛在語(yǔ)義表示,從而進(jìn)行推薦。用戶-項(xiàng)目的直接交互行為能夠提供顯式的信息,而用戶/項(xiàng)目的間接交互行為等其它信息能夠提供隱式的信息。直覺(jué)上,相似的項(xiàng)目往往會(huì)被同一用戶所喜好,但是,用戶對(duì)相似的項(xiàng)目的喜好程度具有一定的差異性,具體體現(xiàn)為用戶是否與該項(xiàng)目具有交互記錄。本節(jié)中,首先給出問(wèn)題的形式化描述及相關(guān)符號(hào)約定(如表1所示),然后給出模型的細(xì)節(jié)和優(yōu)化算法。

表1 符號(hào)及其定義
給定用戶的點(diǎn)擊信息及項(xiàng)目的屬性信息,如圖1所示,我們的目標(biāo)是為用戶推薦其可能感興趣的項(xiàng)目。由于項(xiàng)目-項(xiàng)目之間的連接存在多種形式,如通過(guò)類(lèi)別標(biāo)簽進(jìn)行連接,或者通過(guò)用戶進(jìn)行連接。由圖1我們可以觀察到:
(1)兩個(gè)項(xiàng)目之間具有邊,代表它們具有一定的相似度。如圖1所示,項(xiàng)目1和項(xiàng)目2都具有health這個(gè)標(biāo)簽,即項(xiàng)目1和項(xiàng)目2之間有邊存在,代表它們屬于同種類(lèi)別。
(2)相關(guān)聯(lián)的項(xiàng)目之間,其相似性具有一定的差異性,該差異性在推薦系統(tǒng)中體現(xiàn)為用戶對(duì)于不同的項(xiàng)目的喜好程度。如圖1所示,項(xiàng)目1、項(xiàng)目2、項(xiàng)目3都具有共同標(biāo)簽health,但是通過(guò)用戶-項(xiàng)目子圖可以發(fā)現(xiàn),項(xiàng)目2和項(xiàng)目3被更多的用戶所同時(shí)喜愛(ài),因此,相對(duì)于項(xiàng)目1、項(xiàng)目2和項(xiàng)目3之間的相似度更好。
(3)在帶項(xiàng)目屬性的行為數(shù)據(jù)中,通過(guò)節(jié)點(diǎn)之間的跳轉(zhuǎn),用戶可以找到其喜愛(ài)的商品的類(lèi)似商品或者具有相似行為的用戶所喜愛(ài)的商品。如圖1所示,僅僅通過(guò)用戶-項(xiàng)目的交互記錄(即圖中的實(shí)線邊),由于用戶2沒(méi)有和其它用戶具有相似行為,很難對(duì)其進(jìn)行精準(zhǔn)推薦,但可以通過(guò)“項(xiàng)目-標(biāo)簽-項(xiàng)目”的連接,能夠找到相似的項(xiàng)目,從而定位用戶2的興趣。
(4)用戶-項(xiàng)目的直接交互行為很稀疏,但是間接的用戶-項(xiàng)目的行為則稠密很多。如圖1所示,用戶-項(xiàng)目之間的二分圖的邊的稀疏性表明了直接交互行為很少。另外一方面,直接相連的用戶-項(xiàng)目之間相近程度明顯高于非直接相連的用戶-項(xiàng)目,而間接相連的用戶-項(xiàng)目的相似度明顯大于完全不相連的用戶-項(xiàng)目之間的相似度。對(duì)于用戶3而言,其明顯更加喜愛(ài)項(xiàng)目2,而非項(xiàng)目1。

圖1 融合項(xiàng)目屬性信息的u-i圖實(shí)例
結(jié)合上述觀察,為融合不同的方式,我們通過(guò)構(gòu)建圖網(wǎng)絡(luò)來(lái)進(jìn)行描述。對(duì)于具有用戶的點(diǎn)擊信息及項(xiàng)目的屬性信息的推薦任務(wù),可以轉(zhuǎn)化為如下形式化的圖網(wǎng)絡(luò)上的節(jié)點(diǎn)嵌入問(wèn)題。
定義項(xiàng)目子圖GI=,其中I={I1,…,IN}表示項(xiàng)目的節(jié)點(diǎn),EI表示為項(xiàng)目-項(xiàng)目之間的關(guān)聯(lián)邊,具體可體現(xiàn)為具有相同的標(biāo)簽或與同一用戶具有共同交互記錄。
定義用戶-項(xiàng)目子圖GUI=
如圖2所示,對(duì)于給定的推薦場(chǎng)景,其包括項(xiàng)目子圖GI以及用戶-項(xiàng)目的子圖GUI,我們的目標(biāo)是在其共同組成的圖網(wǎng)絡(luò)中學(xué)習(xí)用戶和項(xiàng)目在同一向量空間中的低維向量表示,從而找到用戶的興趣,對(duì)用戶推薦其感興趣的項(xiàng)目。

圖2 COIR模型
基于用戶-項(xiàng)目之間的交互信息,我們將這兩個(gè)子圖構(gòu)建為一個(gè)異構(gòu)信息網(wǎng)絡(luò),從而在融合各方面的共現(xiàn)信息框架下學(xué)習(xí)用戶/項(xiàng)目的語(yǔ)義表示,以下簡(jiǎn)稱(chēng)為COIR(co-occurrence information ranking algorithm)。
根據(jù)2.1節(jié)所述的觀察,我們的目標(biāo)是基于圖網(wǎng)絡(luò)的節(jié)點(diǎn)嵌入表達(dá)學(xué)習(xí),結(jié)合Skip-gram模型的思想和個(gè)性化排序,分別在兩個(gè)子圖上定義其相關(guān)的損失函數(shù),定義為L(zhǎng)I,LUI,這兩個(gè)損失函數(shù)通過(guò)共同的項(xiàng)目進(jìn)行連接,具體的損失函數(shù)如下
(1)
式中:α是體現(xiàn)每一項(xiàng)重要程度的參數(shù),θ和φ分別是用戶和項(xiàng)目的特征向量表示,λ為正則化系數(shù)。
對(duì)于項(xiàng)目子圖中的損失函數(shù)LI,基于2.1節(jié)觀察(1),觀察(2)可知:給定項(xiàng)目i,假設(shè)項(xiàng)目j是項(xiàng)目i的k階鄰居,則
(2)
式中:wij表示的是該項(xiàng)的置信度。
顯然,根據(jù)前面的觀察可得,項(xiàng)目i與項(xiàng)目j被越多的用戶共同喜歡,置信度越高,且置信度與節(jié)點(diǎn)j距離節(jié)點(diǎn)i的距離相關(guān)。因此,我們將其定義為
(3)
式中:Ieui是一個(gè)指示器,指示用戶u與項(xiàng)目i是否有交互記錄。
為了將節(jié)點(diǎn)網(wǎng)絡(luò)相似度結(jié)合到模型中,可以將LI中的條件概率設(shè)計(jì)為
(4)
顯然,計(jì)算p(j|i)是一項(xiàng)十分耗費(fèi)時(shí)間的工作,因此,采用負(fù)采樣技術(shù)計(jì)算上述公式,從而

(5)

對(duì)于損失函數(shù)LUI,基于個(gè)性化排序的思想以及前面所述的觀察,可得以下?lián)p失函數(shù)

(6)
用戶的間接行為數(shù)量眾多,計(jì)算所有的組合顯然是不現(xiàn)實(shí)的,因此,根據(jù)隨機(jī)游走和負(fù)采樣的技術(shù),生成一定比例的樣本組合Dui和Diu,結(jié)合上述等式,GUI上的損失函數(shù)為

(7)
式中:wuii′和wiuu′表示的是該項(xiàng)的置信度。根據(jù)前面的觀察可得,當(dāng)兩個(gè)節(jié)點(diǎn)越接近,其置信度越高,為此
(8)
式中:kui表示的是用戶u和項(xiàng)目i的距離。
考慮用戶-項(xiàng)目之間的交互節(jié)點(diǎn)網(wǎng)絡(luò)的相似度,對(duì)于概率的計(jì)算方式為
p(i >ui′|θ,φ)∝σ(θ(u)·φ(i)-θ(u)·φ(i′))
(9)
基于上一小節(jié)所述的模型,COIR模型的訓(xùn)練框架主要包含兩部分的信息,分別是構(gòu)建子圖,生成訓(xùn)練樣本和優(yōu)化損失函數(shù),更新向量,具體處理步驟如下:
步驟1 構(gòu)建項(xiàng)目子圖GI,用戶項(xiàng)目交互子圖GUI。根據(jù)子圖GI和GUI定義,分別構(gòu)建對(duì)應(yīng)的子圖。其中,對(duì)于項(xiàng)目子圖GI,其邊EI表示為具有相同的標(biāo)簽或與同一用戶具有共同交互記錄。
步驟2 生成訓(xùn)練樣本Di、Dui與Diu。訓(xùn)練樣本的生成算法如算法1所示,其中,Dui與Diu的生成過(guò)程與Di相類(lèi)似,其差異僅在于二者的概率轉(zhuǎn)移矩陣不同。概率轉(zhuǎn)移矩陣是根據(jù)對(duì)應(yīng)子圖的鄰接矩陣的行元素做歸一化后獲得的。
步驟3 隨機(jī)初始化用戶低維向量表示θ,項(xiàng)目的低維向量表示φ。
步驟4 根據(jù)式(1)計(jì)算損失函數(shù)L。
步驟5 使用隨機(jī)梯度下降算法優(yōu)化損失函數(shù),更新θ和φ。
對(duì)于訓(xùn)練樣本的生成算法如算法1所示,其主要思想是對(duì)于每個(gè)節(jié)點(diǎn),根據(jù)概率轉(zhuǎn)移矩陣隨機(jī)生成下一節(jié)點(diǎn),獲取K階鄰居,同時(shí)補(bǔ)充一定數(shù)量的負(fù)樣本(非鄰居節(jié)點(diǎn)),從而生成一定數(shù)量節(jié)點(diǎn)對(duì),并根據(jù)式(3)計(jì)算相應(yīng)節(jié)點(diǎn)對(duì)的權(quán)重。
算法1:生成訓(xùn)練樣本
輸入:項(xiàng)目子圖GI,項(xiàng)目概率轉(zhuǎn)移矩陣Ti,最大階數(shù)K,每個(gè)節(jié)點(diǎn)重復(fù)次數(shù)R,負(fù)樣本比例NS
輸出:樣本集Di
(1)初始化Di為空集
(2)for r ← 1 to R do //每個(gè)節(jié)點(diǎn)重復(fù)R次
(3) for i in GIdo
(4) Cnode = node
(5) for k ← 1 to K do

(7) P(i) = unode ∪ P(i)
(8) Cnode = unode
(9) end for
(10) for n ← 1 to NS do //生成負(fù)樣本
(11) Nv ~ NegativeSample(Cnode)
(12) NP(i) = Nv ∪ NP(i)
(13) end for
(14) for nodes in P(i) do //生成節(jié)點(diǎn)對(duì)
(15) j ~ P(i)
(16) j’~ P(i)
(17) Calculate wijj’as formulate(3)//根
據(jù)式(3)計(jì)算權(quán)重
(18) Di ∪
(19) end for
(20) for nv in NP(i) do //生成節(jié)點(diǎn)對(duì)
(21) Di ∪
(22) end for
(23) end for
(24) end for
由框架流程可知,訓(xùn)練過(guò)程最主要的時(shí)間花費(fèi)包括兩部分:
(1)樣本生成過(guò)程
如算法1所述,對(duì)于GI中的每個(gè)節(jié)點(diǎn)i,生成R個(gè)序列,最大階數(shù)為K,假設(shè)每個(gè)節(jié)點(diǎn)的平均出度為|E|,N為項(xiàng)目的總節(jié)點(diǎn)數(shù),即總共生成的樣本數(shù)量為|K-1!|×R×N對(duì),而負(fù)樣本比例為NS,所以總共生成|NS×K×R×N|個(gè)樣本對(duì),在樣本Di生成過(guò)程中,花費(fèi)時(shí)間為O(|K-1!|×R×M)+O(|NS×K×R×N|),由于|E|< Dui、Diu的生成過(guò)程與Di生成過(guò)程類(lèi)似,差異僅在于節(jié)點(diǎn)之間的概率轉(zhuǎn)移矩陣Tui與Ti不同,意味著Dui、Diu具有更多的節(jié)點(diǎn)集合,因此,樣本Dui與Diu生成過(guò)程其時(shí)間復(fù)雜度為O(|NS×K×R×N×M|),其中,M為用戶節(jié)點(diǎn)數(shù)。 所以,樣本生成過(guò)程的總的時(shí)間復(fù)雜度為O(|NS×K×R×N2|)+O(|NS×K×R×N×M|)。 (2)訓(xùn)練優(yōu)化過(guò)程 在優(yōu)化的過(guò)程中,梯度計(jì)算和變量更新的傳播與生成的樣本數(shù)量、變量的維度d相關(guān)。因此,該過(guò)程的時(shí)間復(fù)雜度為O(d×NS×K×R×(N+M))。 綜上所述,本文的算法的總復(fù)雜度為O(|NS×K×R×N2|)+O(|NS×K×R×N×M|)+O(d×NS×K×R×(N+M)),由于維度d遠(yuǎn)遠(yuǎn)小于用戶和項(xiàng)目的節(jié)點(diǎn)數(shù)目,從而,總體時(shí)間復(fù)雜度為O(|NS×K×R×N2|)+ O(|NS×K×R×N×M|)。 一般而言,傳統(tǒng)的矩陣分解算法,其時(shí)間復(fù)雜度為O(|M×N|)。對(duì)于BPR算法,其時(shí)間復(fù)雜度與訓(xùn)練樣本數(shù)、節(jié)點(diǎn)數(shù)相關(guān),且其算法包括采樣部分,具體可概括為O(|NS×R×N×M|)。對(duì)于HopRec算法,同樣包括高階行為的樣本產(chǎn)生過(guò)程且該過(guò)程與本文類(lèi)似,即算法復(fù)雜度為O(|NS×K×R×N×M|)。由于N、K、R一般數(shù)值較小,因此以上幾類(lèi)算法時(shí)間復(fù)雜度差異較小,而上述幾類(lèi)算法被廣泛用于實(shí)際的推薦系統(tǒng)中,包括大規(guī)模數(shù)據(jù)集。因此,本文的算法與上述幾類(lèi)算法具有同樣的適用性。 本文使用了QAR數(shù)據(jù)集和Citation數(shù)據(jù)集,具體數(shù)據(jù)集的情況見(jiàn)表2,其基本特征如下: 表2 數(shù)據(jù)集情況 QAR(https://biendata.com/competition/bytecup2016):該數(shù)據(jù)集來(lái)自一個(gè)數(shù)據(jù)競(jìng)賽,其包括應(yīng)答者-問(wèn)題交互記錄、應(yīng)答者/問(wèn)題標(biāo)簽。該數(shù)據(jù)集中共有28 745個(gè)用戶,8090個(gè)問(wèn)題和33 981條回答記錄。此外,還有143個(gè)用戶標(biāo)簽和20個(gè)問(wèn)題標(biāo)簽。每個(gè)用戶平均有兩個(gè)回答記錄,每個(gè)問(wèn)題有一個(gè)問(wèn)題標(biāo)簽。 Citation(https://www.aminer.cn/citation):該數(shù)據(jù)集是一個(gè)廣泛使用的數(shù)據(jù)集,用于評(píng)估社交網(wǎng)絡(luò)上的各種數(shù)據(jù)挖掘任務(wù)。該數(shù)據(jù)集包括學(xué)術(shù)論文及其引用關(guān)系。通過(guò)刪除沒(méi)有任何標(biāo)記的作者/文章,選擇17 959名作者和8074篇文章進(jìn)行評(píng)估。引用關(guān)系被視為評(píng)價(jià)作者是否真的對(duì)某篇論文感興趣的依據(jù)。 CiteULike(http://www.wanghao.in/CDL.htm):該數(shù)據(jù)集來(lái)自CiteULike和谷歌Scholar,主要用于評(píng)估推薦任務(wù)。其包括7947個(gè)用戶,25 975個(gè)項(xiàng)目。 以上所有的數(shù)據(jù)集均采用隨機(jī)抽樣的方式,隨機(jī)抽取80%的用戶-項(xiàng)目交互記錄作為訓(xùn)練樣本,剩余的20%作為測(cè)試樣本。 對(duì)于每個(gè)待評(píng)測(cè)的用戶,選擇與其最接近的Top-K個(gè)項(xiàng)目作為候選列表,本文用HR(hit ratio)、NDCG(normalized discounted cumulative gain)和MAP(mean average precision)作為推薦質(zhì)量的評(píng)價(jià)指標(biāo)。這些指標(biāo)被廣泛用于信息檢索和推薦系統(tǒng)中。 以下幾類(lèi)算法被用于作為基礎(chǔ)模型進(jìn)行對(duì)比實(shí)驗(yàn),選擇這些算法的原因是:它們與本文的模型密切相關(guān),并且被廣泛用于各種推薦系統(tǒng)。 (1)PMF[3]:矩陣分解的模型,根據(jù)用戶-項(xiàng)目的交互行為進(jìn)行矩陣分解。 (2)WARP[5]:一種有效估計(jì)排序函數(shù)的近似方法,其主要思想是根據(jù)節(jié)點(diǎn)對(duì)在排名列表中的位置,衡量它們的差異性。 (3)BPR[1]:基于矩陣分解的模型,將推薦問(wèn)題轉(zhuǎn)化為排序問(wèn)題。根據(jù)可觀測(cè)到的正樣本,從未觀測(cè)到的數(shù)據(jù)中隨機(jī)抽取與其對(duì)應(yīng)的實(shí)例作為負(fù)樣本,最后用于隱式反饋推薦。 (4)HopRec[6]:基于用戶-項(xiàng)目的直接行為,同時(shí)考慮用戶-項(xiàng)目的間接行為,利用隨機(jī)游走技術(shù)生成一定比例的間接行為,最后轉(zhuǎn)化為矩陣分解進(jìn)行求解。 (5)Meta-Prod2vec[15]:基于用戶-項(xiàng)目交互信息,融入額外的項(xiàng)目信息構(gòu)成異構(gòu)圖,并在此異構(gòu)圖上采用Skip-Gram的思想進(jìn)行求解。 模型涉及了主要參數(shù)包括權(quán)重α,階數(shù)K。在本次實(shí)驗(yàn)中,α設(shè)置為1,階數(shù)K為2。隨機(jī)梯度下降算法使用的是ADAM[19]算法。在對(duì)比方法的設(shè)置中,采用了網(wǎng)格搜索的形式,展示其在較優(yōu)參數(shù)設(shè)置下的結(jié)果。 本文將從以下2個(gè)角度分析COIR模型:①將COIR模型與現(xiàn)有的基準(zhǔn)模型進(jìn)行對(duì)比,比較它們?cè)诓煌脑u(píng)價(jià)指標(biāo)下的效果;②討論參數(shù)敏感度對(duì)結(jié)果的影響。 3.5.1 總體實(shí)驗(yàn)結(jié)果 在3個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分別見(jiàn)表3~表5。顯然,我們的方法在各個(gè)數(shù)據(jù)集上有突出的作用,也驗(yàn)證了我們的設(shè)置是有效的。相較于傳統(tǒng)的矩陣分解方法PMF,BPR模型利用用戶的顯式行為和隱式行為之間的排名,效果相對(duì)突出。HopRec算法增加了用戶的間接行為,并對(duì)其進(jìn)行排序,其比直接的帶權(quán)排序算法WARP的效果有所提升,由此可見(jiàn)用戶的間接行為也是有效的。Meta-Prod2vec通過(guò)額外的項(xiàng)目信息,增加了項(xiàng)目之間的連接,其結(jié)果比只用用戶-項(xiàng)目交互行為的PMF模型更好,驗(yàn)證了項(xiàng)目-項(xiàng)目的共現(xiàn)信息是有用的。相比于Meta-Prod2vec模型,我們的模型增加了用戶間接行為的個(gè)性化排序信息,在3個(gè)數(shù)據(jù)集上各項(xiàng)指標(biāo)都有所提高,而且具有更加穩(wěn)定的效果,由此表明間接的行為的個(gè)性化排序是有效的。相比于個(gè)性化排序模型,我們的COIR模型融合了項(xiàng)目的信息,對(duì)比效果最好的個(gè)性化排序模型,在3個(gè)數(shù)據(jù)集上HR值分別提高了10%、12%和24%,NDCG值分別提高了15%、17%和30%,MAP值分別提高了18%、19%和16%,實(shí)驗(yàn)結(jié)果表明了前面所述的假設(shè)的正確性,即項(xiàng)目的信息對(duì)于推薦的效果的提高是有意義的。 表3 QAR數(shù)據(jù)集上Top10的實(shí)驗(yàn)結(jié)果 表4 Citation數(shù)據(jù)集上Top10的實(shí)驗(yàn)結(jié)果 表5 CiteULike數(shù)據(jù)集上Top10的實(shí)驗(yàn)結(jié)果 3.5.2 參數(shù)敏感度 該部分將重點(diǎn)討論包括本文方法在內(nèi)的幾種方法共有的參數(shù),即維度d對(duì)于實(shí)驗(yàn)效果的影響,并用MAP值(平均精度均值)展示實(shí)驗(yàn)的效果。設(shè)置維度d的范圍為{50,100,200,300,400,500},其效果如圖3所示。顯然,COIR模型的效果隨著維度的增加而上升,當(dāng)d≥300時(shí),效果趨向穩(wěn)定,由此可見(jiàn),COIR模型能夠有效融合多種復(fù)雜的信息。 圖3 維度對(duì)比 本文將傳統(tǒng)的推薦問(wèn)題轉(zhuǎn)化為圖的表示學(xué)習(xí)問(wèn)題,利用不同的信息構(gòu)建不同的子圖,通過(guò)子圖節(jié)點(diǎn)的跳轉(zhuǎn),刻畫(huà)用戶的不同行為喜好。同時(shí)為了解決數(shù)據(jù)稀疏性,引入了項(xiàng)目的信息和用戶的間接行為并對(duì)其進(jìn)行個(gè)性化排序,最終將多種復(fù)雜的信息融合在一個(gè)模型中進(jìn)行用戶、項(xiàng)目的向量化表示學(xué)習(xí)。實(shí)驗(yàn)結(jié)果表明,COIR方法是有效的。顯然,引入項(xiàng)目的信息和用戶的間接行為,一定程度上能夠處理數(shù)據(jù)稀疏性問(wèn)題,并通過(guò)用戶行為相似度的排序,進(jìn)行更精準(zhǔn)的推薦。然而,兩個(gè)組成部分的作用在適應(yīng)性上有一定的局限性,下一步將引入注意力機(jī)制,使得框架自己學(xué)習(xí)各個(gè)部分的權(quán)重,從而具有更好的可拓展性。另外,該模型僅僅是一個(gè)不考慮時(shí)效性的模型,下一步的研究工作將拓展到在線學(xué)習(xí)方面的工作,并應(yīng)用到具有時(shí)序信息的用戶行為。3 實(shí)驗(yàn)與結(jié)果分析
3.1 數(shù)據(jù)集

3.2 評(píng)價(jià)指標(biāo)
3.3 模型對(duì)比
3.4 參數(shù)設(shè)置
3.5 結(jié)果與分析




4 結(jié)束語(yǔ)