張旭,孫福振,方春
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
推薦系統(tǒng)的核心是推薦算法,根據(jù)算法的學(xué)習(xí)目的不同,主要分為評分預(yù)測推薦算法和排序預(yù)測推薦算法兩大類。文獻(xiàn)[1-2]研究指出,排序預(yù)測更符合TopN推薦的思想,排序預(yù)測比評分預(yù)測能更好地為用戶進(jìn)行TopN推薦。隨著互聯(lián)網(wǎng)信息的爆炸式增長,帶來信息過載問題的同時(shí),大量信息背后隱藏著用戶潛在行為因子,而傳統(tǒng)推薦算法包括業(yè)界運(yùn)用成熟的協(xié)同過濾算法[3],并沒有考慮挖掘用戶的潛在行為過程。
文獻(xiàn)[4-5]運(yùn)用邊緣化去噪自編碼的深度學(xué)習(xí)方法學(xué)習(xí)出一種高效潛在表征方法,沒有將用戶潛在行為用于深度學(xué)習(xí)建模中;文獻(xiàn)[6]將用戶的點(diǎn)擊行為與轉(zhuǎn)化率聯(lián)系在一起構(gòu)建了動(dòng)態(tài)集體矩陣分解模型,有效利用了用戶的顯性點(diǎn)擊行為而沒有關(guān)注用戶隱性行為;文獻(xiàn)[7]提出了一種基于本體論與時(shí)序模式挖掘的混合推薦算法以此來提高TopN推薦質(zhì)量;文獻(xiàn)[8-9]采用概率矩陣分解技術(shù),將用戶評分信息和社交網(wǎng)絡(luò)信息整合,挖掘出額外信息可以很好地解決預(yù)測精度低的問題,未考慮到用戶興趣因子情況;文獻(xiàn)[10]使用物品協(xié)變量和物品標(biāo)簽等個(gè)性化物品潛在的主題,提出了隨機(jī)變分貝葉斯(SVB)框架和一種協(xié)變量為導(dǎo)向的多異性監(jiān)督主題模型(CGHSTM);文獻(xiàn)[11]考慮到用戶對物品各個(gè)屬性面的偏好,利用LDA模型挖掘用戶K個(gè)屬性面提出了一種SACF算法;文獻(xiàn)[12]為了提高推薦多樣性,將用戶的主題模型和應(yīng)用的主題模型與MF相結(jié)合的LDA_MF模型融合提出了一種混合推薦算法。上述幾個(gè)模型有效緩解了可擴(kuò)展性問題,提高了推薦多樣性,而未考慮興趣因子以及高效用因子等用戶潛在行為因素。
綜上,為有效挖掘用戶興趣偏好,本文考慮到用戶的潛在行為過程,即用戶評分和物品選擇兩個(gè)階段。通過分析用戶歷史行為數(shù)據(jù),采用用戶topic模型進(jìn)行訓(xùn)練,挖掘出用戶潛在高效用因子和物品被靶向概率因子,提出了一種加權(quán)用戶潛在高效用因子的兩階段混合推薦算法。
考慮到一個(gè)用戶不可能只對一種物品感興趣,一種物品通常有多重屬性,不僅歸屬于單一類型。一個(gè)用戶不一定對所有物品評高分,而被評高分的物品通常不僅源自單一用戶等情況。因此,本文選擇LDA主題模型對用戶歷史動(dòng)作特征進(jìn)行訓(xùn)練,進(jìn)而挖掘出用戶潛在高效用因子與物品被靶向概率因子,LDA描述文檔的生成概率為[13]
式中: P (w|d) 為 文檔 d 已 知的情況下詞 w 出現(xiàn)的條件概率; P ( z|d) 為 文檔 d 已 知的情況下主題 z 出現(xiàn)的條件概率; P (w|z) 表 示在主題 z 下 選擇詞w的條件概率。本文將LDA融入到Htp_Uf算法中主要考慮2種因子潛在高效用因子和物品被靶向概率因子,即 u s e r→interest→ i tem 和 user→utility→value,詳細(xì)流程如圖1所示。
圖 1 兩種因子流程圖Fig. 1 Flowchart of two factors
圖1中, u s er 表 示用戶, i n terest 表示用戶興趣主題,item 表示選擇的物品,utility表示效用,value表示用戶評分值。其中,圖1(a)表示物品被靶向概率因子,圖1(b)表示用戶潛在高效用因子。
本文認(rèn)為用戶選擇物品后并決定對該物品評分之前還要有一個(gè)動(dòng)作,即衡量評分后這個(gè)物品會給用戶自身帶來多少潛在效用。然后根據(jù)這個(gè)效用再結(jié)合該物品是否符合用戶興趣選擇物品給出具體評分值。
定義1 用戶潛在高效用因子。在推薦系統(tǒng)中,用戶在花銷時(shí)間成本的條件下對物品進(jìn)行評分時(shí),不僅會考慮物品是否符合自己的興趣,還會考慮評分給自身帶來的效用,即用戶滿意度。顯然效用直接決定用戶評分值。而本文將這種效用定義為用戶潛在效用因子(latent utility factor,LUF)。為避免抽取單個(gè)效用因子造成的偏置現(xiàn)象,本文抽取其中兩個(gè)高概率因子進(jìn)行累加,累加的結(jié)果稱為用戶潛在高效用因子(latent high utility factor,LHUF)。綜上,可根據(jù)用戶的歷史評分行為來預(yù)測用戶的潛在高效用因子。用戶潛在高效用因子數(shù)學(xué)范式為
式中: U 表示用戶集合;I 為物品集合; Ru,i為用戶u 對 物品 i 的 具體評分值; P ( rv) 為 編號 u 的用戶對每個(gè)評分值預(yù)測可能評價(jià)的概率值; V 為評分區(qū)間最大值。由式(2)可知,核心是 P ( rv) 數(shù)值的預(yù)測,下面將通過LDA模型對 P ( rv) 值進(jìn)行預(yù)測。
受啟發(fā)于LDA模型在文本挖掘中加入主題維度,在推薦系統(tǒng)用戶-評分值二分關(guān)聯(lián)關(guān)系中加入效用維度,則變?yōu)橛脩簟⑿в?、評分值三分關(guān)聯(lián)關(guān)系。相應(yīng)的用戶打分值概率為
式中: P (benef its|user) 表示用戶user選擇效用為benefits的概率; P (value|benef its) 表示在效用為benefits的情況下用戶user評分為value的概率。
在上述過程中,一個(gè)觀測數(shù)據(jù) ( v a lue|user) 的生成過程解釋為用戶user根據(jù)效用評價(jià)具體分?jǐn)?shù)為value的過程。
該過程為由已知隱含變量參數(shù),生成觀測數(shù)據(jù)的過程,為了充分挖掘這些信息,本文采用LDA模型訓(xùn)練數(shù)據(jù)。在LDA模型中的訓(xùn)練方法有變分法(varialtional inference)和Gibbs抽樣法(gibbs sampling)[14]等,本文采用Gibbs抽樣法。Gibbs用戶效用抽樣算法詳細(xì)描述如下。
1)隨機(jī)初始化:為所有用戶評分行為中的具體評分值隨機(jī)分配一個(gè)初始的效用。
2)重新掃描觀測數(shù)據(jù),對其中的每個(gè)評分過程進(jìn)行記錄,基于式(4)利用觀測數(shù)據(jù)中的其他行為信息,估計(jì)其條件概率,重新采樣該評分值的效用。同時(shí)更新模型參數(shù)。
式中: σuξ為 用戶 u 給 出的評分值為 ξ 所對應(yīng)的效用; S Vuσ為 用戶 u 所給出的所有評分值被抽樣為效用 σ 的 數(shù)量; S Wσj為 評分值 j 被 抽樣為效用σ的次數(shù); ? < u ,ξ> 為 不考慮用戶 u 對具體評分值為 ξ 時(shí)的動(dòng)作。
3)重復(fù)執(zhí)行上述采樣過程直到Gibbs抽樣收斂。
4)統(tǒng)計(jì)Gibbs抽樣收斂后的效用-分共存概率矩陣,利用式(5)和式(6)計(jì)算LDA模型的參數(shù)。
式中: δ 和 η 分 別為 λ 和 ω 的超參數(shù)。
根據(jù)用戶的歷史行為預(yù)測用戶對每個(gè)物品感興趣的概率。
定義2 物品被靶向概率因子。每個(gè)用戶不可能對所有物品都有過評分行為,為挖掘用戶潛在興趣,根據(jù)用戶歷史數(shù)據(jù)預(yù)測用戶對每個(gè)物品進(jìn)行評價(jià)的概率,本文將此概率定義為物品被靶向概率因子。
物品被靶向概率因子數(shù)學(xué)范式為
式中: U 表示用戶集合;I 表示物品集合; Pu,i表示預(yù)測用戶 u 對 物品 i 進(jìn)行評價(jià)的概率。借鑒于上節(jié)潛在高效用因子抽取,推導(dǎo) Pu,i的計(jì)算范式,如式 ( 10)~(12):
式中:n 是物品的總數(shù)量; zui表 示用戶 u 對 物品i的評分記錄對應(yīng)的興趣因子; P Tuz是 用戶 u 的評分記錄產(chǎn)品被抽樣為興趣因子 z 的 個(gè)數(shù); P Fzj表示產(chǎn)品 j 被抽樣為興趣因子 z 的 次數(shù); ? <u,i> 表示不考慮用戶 u 對 產(chǎn)品 i 的 評分行為;μ 和 ψ 分別為 ? 和 τ 的超參數(shù)。綜上,通過模型訓(xùn)練可以計(jì)算物品被靶向概率因子,即
根據(jù)定義1、2分別計(jì)算出用戶潛在高效用因子與物品被靶向概率因子。用戶是否評高分不僅取決于被推薦物品與興趣吻合度,更取決于被推薦物品給用戶帶來滿足程度,即用戶潛在高效用。因此,本文認(rèn)為用戶根據(jù)興趣選擇高概率物品進(jìn)行評分且具有高效用因子的情況下預(yù)測物品評分,推薦效果會更好。
本文將兩種因子進(jìn)行線性加權(quán)融合記為HRe_FP,作為兩階段推薦中的第一階段。
式中參數(shù) α = 0.5、β=0.5 時(shí)取得最優(yōu)實(shí)驗(yàn)結(jié)果。
推薦系統(tǒng)的核心問題是給用戶推薦他最感興趣的幾個(gè)物品,而不僅僅是預(yù)測用戶對物品的評分,將評分高的物品推薦給用戶。為了更好地挖掘出用戶興趣,重視評分過程,本文將用戶評分過程分為用戶評分和物品選擇兩個(gè)階段,將興趣度排序值作為用戶推薦的依據(jù)更符合推薦算法設(shè)計(jì)的初衷。同時(shí)為不顯著增加算法的時(shí)間復(fù)雜度,本文將兩階段線性融合。
式中:μ 表示所有物品的平均評分; bu表 示第 u 個(gè)用戶偏離平均分的程度; bi表 示第 i 個(gè)物品偏離平均分的程度; pu表示第 u 個(gè)用戶的主題偏好度; qi表 示第 i 個(gè)物品的主題屬向度。 HRe_FP 表示2.4小節(jié)中第一階段值。
本文實(shí)驗(yàn)所用的數(shù)據(jù)集是Minnesota大學(xué)GroupLens小組開發(fā)的MovieLens數(shù)據(jù)集。實(shí)驗(yàn)所采用的數(shù)據(jù)集規(guī)模為943個(gè)用戶對1 682部電影的10萬條評分?jǐn)?shù)據(jù)和6 040個(gè)用戶對3 900部電影的100萬條評分?jǐn)?shù)據(jù)。
推薦算法的評價(jià)標(biāo)準(zhǔn)總體上來說一般有兩種:一種是與順序無關(guān)的評價(jià)標(biāo)準(zhǔn),例如均方根誤差、平均絕對誤差、K-Call[15]等;另一種是與順序相關(guān)的評價(jià)標(biāo)準(zhǔn),例如歸一化累計(jì)折損增益(normalized discounted cumulative gain,NDCG[16])。本文分別采用1-call(K=1時(shí))和NDCG作為實(shí)驗(yàn)評價(jià)標(biāo)準(zhǔn)。具體描述為:K-Call表示TopN推薦結(jié)果中至少含有K個(gè)相關(guān)產(chǎn)品的用戶所占有的比例。K-Call的公式為
式中: f ( ·) 表示布爾函數(shù),變量為真時(shí)函數(shù)取值為1,為假時(shí)取值為0。在實(shí)際應(yīng)用K-Call中,通常選擇K=1作為評價(jià)標(biāo)準(zhǔn),即1-Call表示評價(jià)推薦算法在TopN推薦中包含至少一個(gè)相關(guān)產(chǎn)品的能力。NDCG評價(jià)標(biāo)準(zhǔn)見式(18)~(20):
式中: R (u,i) 是 用戶 u 對 推薦列表中第 i 個(gè)產(chǎn)品的評 分; I D CG@N(u) 是 D C G@N(u) 的 最 大值;U是測試集中所有用戶集合; N 表示推薦列表的長度。
本小節(jié)主要是將本文提出的Htp_Uf算法與4種基線算法在兩種評價(jià)標(biāo)準(zhǔn)下的對比,以及各個(gè)參數(shù)選取對Htp_Uf算法的影響。4種基線算法分別為:基于用戶的協(xié)同過濾推薦(User_Based),基于物品的協(xié)同過濾推薦(Item_Based)[17]、SVD推薦算法[18]、主題模型和矩陣分解模型的混合推薦算法(HTMMF)[19]。
2.3.1 Htp_Uf算法與4種基線算法在NDCG評價(jià)標(biāo)準(zhǔn)下的對比
圖2主要是將本文提出的Htp_Uf算法與基于用戶的協(xié)同過濾算法(User_Based,近鄰數(shù)為50),基于物品的協(xié)同過濾算法(Item_Based),奇異值分解(SVD),以及主題模型和矩陣分解模型的混合算法(HTMMF)在NDCG評價(jià)標(biāo)準(zhǔn)下進(jìn)行的比較。
圖 2 Htp_Uf與4種基線算法NDCG對比Fig. 2 Diagram comparing performances of Htp_Uf and four baseline algorithms by NDCG
圖2中,N表示推薦列表長度。對比發(fā)現(xiàn)Htp_Uf算法相比其他4種算法效果更好,特別是與User_Based和Item_Based相比,提升效果呈級數(shù)增長。其主要原因?yàn)椋篐tp_Uf算法將用戶潛在高效用因子與物品被靶向因子用于推薦算法第一階段,不僅預(yù)測用戶對物品評分的概率,還考慮到用戶潛在高效用情況,更適合進(jìn)行TopN推薦,從而提升推薦算法性能。而HTMMF算法次之,原因是:HTMMF算法在第一階段中考慮到用戶對物品評分的概率,而沒有考慮到用戶潛在高效用因子情況。
由表1中數(shù)據(jù)知,Htp_Uf算法比Item_Based、User_Based、SVD、HTMMF這4種算法均有不同幅度的提高, HTMMF算法僅次于Htp_Uf算法,而對比Item_Based算法,Htp_Uf算法提升效果呈指數(shù)增長,驗(yàn)證了該算法的有效性。從側(cè)面說明了Item_Based算法不適合TopN推薦,其主要原因是:Item_Based算法為了給用戶推薦與該用戶歷史偏好物品相似的物品,而不一定是用戶最感興趣的物品。
表 1 Htp_Uf與4種基線算法NDCG提升率比較Table 1 Comparison of increasing rates by Htp_Uf and four baseline algorithms by NDCG %
2.3.2 Htp_Uf算法與4種基線算法在1-Call評價(jià)標(biāo)準(zhǔn)下對比
由圖3對比可知,Htp_Uf算法在1-Call評價(jià)標(biāo)準(zhǔn)下,相比SVD算法至少提高33.12%,相比HTMMF算法提高5.8%,相比User_Based與Item_Based呈指數(shù)級地提升。綜上,Htp_Uf算法在至少推薦一個(gè)相關(guān)物品的能力上性能更好,也驗(yàn)證了該算法的有效性。
圖 3 Htp_Uf與4種基線算法1-call對比圖Fig. 3 Diagram comparing Htp_Uf and four baseline algorithms by 1-Call
圖4為在MovieLens 1M數(shù)據(jù)集上,Htp_Uf算法與其他4種算法在NDCG評價(jià)標(biāo)準(zhǔn)下效果對比圖。該數(shù)據(jù)集包含6 040個(gè)用戶對3 900個(gè)物品100萬條評分記錄,由圖4知,Htp_Uf算法在NDCG評價(jià)標(biāo)準(zhǔn)下相比其他4種算法有顯著提高。
圖 4 Htp_Uf與4種基線算法NDCG對比圖Fig. 4 Diagram comparing Htp_Uf and four baseline algorithms by NDCG
由表2知,Htp_Uf算法在不同的推薦列表長度下,采用1-Call評價(jià)標(biāo)準(zhǔn),相比其他4種基線算法均有不同程度的提高。由表1和表2聯(lián)合說明,Htp_Uf算法在與順序有關(guān)的評價(jià)標(biāo)準(zhǔn)下的提升率要明顯高于順序無關(guān)下的提升率,符合該算法的設(shè)計(jì)初衷。
表 2 Htp_Uf與4種基線算法1-Call提升率比較Table 2 Comparison of increasing rates for Htp_Uf and four baseline algorithms by 1-Call %
2.3.3 參數(shù) ψ 對 H tp_Uf算法的影響
固定參數(shù) μ=0.2,δ=0.2,η= 0 .1 時(shí),檢驗(yàn)參數(shù)ψ的變化對Htp_Uf算法的影響。
由圖5知,參數(shù) ψ 從0.1開始,以步長為0.1遞增至0.9??v向分析,隨著推薦列表長度的增加,NDCG值遞減,反之亦然,即NDCG值的大小與列表長度成反比。橫向分析,當(dāng)推薦列表長度為1, ψ 為0.1時(shí),NDCG值最高, ψ 為 0.6時(shí)次之。當(dāng)推薦列表長度為3、5、10, ψ 從0.1增加到0.5時(shí),NDCG值呈遞減趨勢,即NDCG值的大小與參數(shù) ψ 大小成反比。因此,不論推薦列表長度為多少,參數(shù) ψ 取值為0.1最好。
圖 5 參數(shù) ψ 在NDCG標(biāo)準(zhǔn)下對Htp_Uf的影響Fig. 5 Influence of ψ par ameter variation to model ofHtp_Uf by NDCG
2.3.4 參數(shù) μ 對 H tp_Uf算法的影響
固定參數(shù) ψ=0.2,δ=0.2,η = 0.1時(shí),檢驗(yàn)參數(shù)μ的變化對Htp_Uf算法的影響。
由圖6知,當(dāng)推薦列表長度為1時(shí),為使NDCG值最高,μ=0.1為最佳選擇。當(dāng)推薦列表長度分別為3、5、10時(shí),NDCG值呈先增后減的趨勢;當(dāng)推薦列表長度為3、5時(shí),μ=0.2最優(yōu);當(dāng)推薦列表長度為10時(shí),μ=0.3最佳。
圖 6 參數(shù) μ 在NDCG標(biāo)準(zhǔn)下對Htp_Uf的影響Fig. 6 Influence of μ p ar ameter var iation on NDCG's model of Htp_Uf
受經(jīng)濟(jì)學(xué)領(lǐng)域中效用函數(shù)的啟發(fā),同時(shí)考慮到用戶對物品感興趣但不一定評高分的情況,本文將用戶評分過程分為用戶評分和選擇產(chǎn)品兩個(gè)階段。將用戶評分行為中抽象出用戶潛在高效用因子和物品被靶向概率因子,并且將這兩種因子加權(quán)作為兩階段推薦的第一階段,采用奇異值分解因子模型來預(yù)測具體評分值作為第二階段,將兩階段融合形成一種加權(quán)高效用因子的兩階段混合推薦算法,實(shí)驗(yàn)結(jié)果表明該算法提高了Top N推薦質(zhì)量。
本文提出的兩階段混合推薦算法在挖掘高效用因子和靶向物品概率因子計(jì)算方面,都不同程度地受到用戶歷史評分矩陣數(shù)據(jù)缺失的影響,也存在用戶冷啟動(dòng),物品冷啟動(dòng),數(shù)據(jù)稀疏性等問題,這些問題將是我們未來研究工作的重點(diǎn)。