張旭,孫福振,方春
(山東理工大學 計算機科學與技術學院,山東 淄博 255049)
推薦系統的核心是推薦算法,根據算法的學習目的不同,主要分為評分預測推薦算法和排序預測推薦算法兩大類。文獻[1-2]研究指出,排序預測更符合TopN推薦的思想,排序預測比評分預測能更好地為用戶進行TopN推薦。隨著互聯網信息的爆炸式增長,帶來信息過載問題的同時,大量信息背后隱藏著用戶潛在行為因子,而傳統推薦算法包括業界運用成熟的協同過濾算法[3],并沒有考慮挖掘用戶的潛在行為過程。
文獻[4-5]運用邊緣化去噪自編碼的深度學習方法學習出一種高效潛在表征方法,沒有將用戶潛在行為用于深度學習建模中;文獻[6]將用戶的點擊行為與轉化率聯系在一起構建了動態集體矩陣分解模型,有效利用了用戶的顯性點擊行為而沒有關注用戶隱性行為;文獻[7]提出了一種基于本體論與時序模式挖掘的混合推薦算法以此來提高TopN推薦質量;文獻[8-9]采用概率矩陣分解技術,將用戶評分信息和社交網絡信息整合,挖掘出額外信息可以很好地解決預測精度低的問題,未考慮到用戶興趣因子情況;文獻[10]使用物品協變量和物品標簽等個性化物品潛在的主題,提出了隨機變分貝葉斯(SVB)框架和一種協變量為導向的多異性監督主題模型(CGHSTM);文獻[11]考慮到用戶對物品各個屬性面的偏好,利用LDA模型挖掘用戶K個屬性面提出了一種SACF算法;文獻[12]為了提高推薦多樣性,將用戶的主題模型和應用的主題模型與MF相結合的LDA_MF模型融合提出了一種混合推薦算法。上述幾個模型有效緩解了可擴展性問題,提高了推薦多樣性,而未考慮興趣因子以及高效用因子等用戶潛在行為因素。
綜上,為有效挖掘用戶興趣偏好,本文考慮到用戶的潛在行為過程,即用戶評分和物品選擇兩個階段。通過分析用戶歷史行為數據,采用用戶topic模型進行訓練,挖掘出用戶潛在高效用因子和物品被靶向概率因子,提出了一種加權用戶潛在高效用因子的兩階段混合推薦算法。
考慮到一個用戶不可能只對一種物品感興趣,一種物品通常有多重屬性,不僅歸屬于單一類型。一個用戶不一定對所有物品評高分,而被評高分的物品通常不僅源自單一用戶等情況。因此,本文選擇LDA主題模型對用戶歷史動作特征進行訓練,進而挖掘出用戶潛在高效用因子與物品被靶向概率因子,LDA描述文檔的生成概率為[13]

式中: P (w|d) 為 文檔 d 已 知的情況下詞 w 出現的條件概率; P ( z|d) 為 文檔 d 已 知的情況下主題 z 出現的條件概率; P (w|z) 表 示在主題 z 下 選擇詞w的條件概率。本文將LDA融入到Htp_Uf算法中主要考慮2種因子潛在高效用因子和物品被靶向概率因子,即 u s e r→interest→ i tem 和 user→utility→value,詳細流程如圖1所示。

圖 1 兩種因子流程圖Fig. 1 Flowchart of two factors
圖1中, u s er 表 示用戶, i n terest 表示用戶興趣主題,item 表示選擇的物品,utility表示效用,value表示用戶評分值。其中,圖1(a)表示物品被靶向概率因子,圖1(b)表示用戶潛在高效用因子。
本文認為用戶選擇物品后并決定對該物品評分之前還要有一個動作,即衡量評分后這個物品會給用戶自身帶來多少潛在效用。然后根據這個效用再結合該物品是否符合用戶興趣選擇物品給出具體評分值。
定義1 用戶潛在高效用因子。在推薦系統中,用戶在花銷時間成本的條件下對物品進行評分時,不僅會考慮物品是否符合自己的興趣,還會考慮評分給自身帶來的效用,即用戶滿意度。顯然效用直接決定用戶評分值。而本文將這種效用定義為用戶潛在效用因子(latent utility factor,LUF)。為避免抽取單個效用因子造成的偏置現象,本文抽取其中兩個高概率因子進行累加,累加的結果稱為用戶潛在高效用因子(latent high utility factor,LHUF)。綜上,可根據用戶的歷史評分行為來預測用戶的潛在高效用因子。用戶潛在高效用因子數學范式為

式中: U 表示用戶集合;I 為物品集合; Ru,i為用戶u 對 物品 i 的 具體評分值; P ( rv) 為 編號 u 的用戶對每個評分值預測可能評價的概率值; V 為評分區間最大值。由式(2)可知,核心是 P ( rv) 數值的預測,下面將通過LDA模型對 P ( rv) 值進行預測。
受啟發于LDA模型在文本挖掘中加入主題維度,在推薦系統用戶-評分值二分關聯關系中加入效用維度,則變為用戶、效用、評分值三分關聯關系。相應的用戶打分值概率為

式中: P (benef its|user) 表示用戶user選擇效用為benefits的概率; P (value|benef its) 表示在效用為benefits的情況下用戶user評分為value的概率。
在上述過程中,一個觀測數據 ( v a lue|user) 的生成過程解釋為用戶user根據效用評價具體分數為value的過程。
該過程為由已知隱含變量參數,生成觀測數據的過程,為了充分挖掘這些信息,本文采用LDA模型訓練數據。在LDA模型中的訓練方法有變分法(varialtional inference)和Gibbs抽樣法(gibbs sampling)[14]等,本文采用Gibbs抽樣法。Gibbs用戶效用抽樣算法詳細描述如下。
1)隨機初始化:為所有用戶評分行為中的具體評分值隨機分配一個初始的效用。
2)重新掃描觀測數據,對其中的每個評分過程進行記錄,基于式(4)利用觀測數據中的其他行為信息,估計其條件概率,重新采樣該評分值的效用。同時更新模型參數。

式中: σuξ為 用戶 u 給 出的評分值為 ξ 所對應的效用; S Vuσ為 用戶 u 所給出的所有評分值被抽樣為效用 σ 的 數量; S Wσj為 評分值 j 被 抽樣為效用σ的次數; ? < u ,ξ> 為 不考慮用戶 u 對具體評分值為 ξ 時的動作。
3)重復執行上述采樣過程直到Gibbs抽樣收斂。
4)統計Gibbs抽樣收斂后的效用-分共存概率矩陣,利用式(5)和式(6)計算LDA模型的參數。

式中: δ 和 η 分 別為 λ 和 ω 的超參數。

根據用戶的歷史行為預測用戶對每個物品感興趣的概率。
定義2 物品被靶向概率因子。每個用戶不可能對所有物品都有過評分行為,為挖掘用戶潛在興趣,根據用戶歷史數據預測用戶對每個物品進行評價的概率,本文將此概率定義為物品被靶向概率因子。
物品被靶向概率因子數學范式為

式中: U 表示用戶集合;I 表示物品集合; Pu,i表示預測用戶 u 對 物品 i 進行評價的概率。借鑒于上節潛在高效用因子抽取,推導 Pu,i的計算范式,如式 ( 10)~(12):

式中:n 是物品的總數量; zui表 示用戶 u 對 物品i的評分記錄對應的興趣因子; P Tuz是 用戶 u 的評分記錄產品被抽樣為興趣因子 z 的 個數; P Fzj表示產品 j 被抽樣為興趣因子 z 的 次數; ? <u,i> 表示不考慮用戶 u 對 產品 i 的 評分行為;μ 和 ψ 分別為 ? 和 τ 的超參數。綜上,通過模型訓練可以計算物品被靶向概率因子,即

根據定義1、2分別計算出用戶潛在高效用因子與物品被靶向概率因子。用戶是否評高分不僅取決于被推薦物品與興趣吻合度,更取決于被推薦物品給用戶帶來滿足程度,即用戶潛在高效用。因此,本文認為用戶根據興趣選擇高概率物品進行評分且具有高效用因子的情況下預測物品評分,推薦效果會更好。
本文將兩種因子進行線性加權融合記為HRe_FP,作為兩階段推薦中的第一階段。

式中參數 α = 0.5、β=0.5 時取得最優實驗結果。
推薦系統的核心問題是給用戶推薦他最感興趣的幾個物品,而不僅僅是預測用戶對物品的評分,將評分高的物品推薦給用戶。為了更好地挖掘出用戶興趣,重視評分過程,本文將用戶評分過程分為用戶評分和物品選擇兩個階段,將興趣度排序值作為用戶推薦的依據更符合推薦算法設計的初衷。同時為不顯著增加算法的時間復雜度,本文將兩階段線性融合。

式中:μ 表示所有物品的平均評分; bu表 示第 u 個用戶偏離平均分的程度; bi表 示第 i 個物品偏離平均分的程度; pu表示第 u 個用戶的主題偏好度; qi表 示第 i 個物品的主題屬向度。 HRe_FP 表示2.4小節中第一階段值。
本文實驗所用的數據集是Minnesota大學GroupLens小組開發的MovieLens數據集。實驗所采用的數據集規模為943個用戶對1 682部電影的10萬條評分數據和6 040個用戶對3 900部電影的100萬條評分數據。
推薦算法的評價標準總體上來說一般有兩種:一種是與順序無關的評價標準,例如均方根誤差、平均絕對誤差、K-Call[15]等;另一種是與順序相關的評價標準,例如歸一化累計折損增益(normalized discounted cumulative gain,NDCG[16])。本文分別采用1-call(K=1時)和NDCG作為實驗評價標準。具體描述為:K-Call表示TopN推薦結果中至少含有K個相關產品的用戶所占有的比例。K-Call的公式為

式中: f ( ·) 表示布爾函數,變量為真時函數取值為1,為假時取值為0。在實際應用K-Call中,通常選擇K=1作為評價標準,即1-Call表示評價推薦算法在TopN推薦中包含至少一個相關產品的能力。NDCG評價標準見式(18)~(20):

式中: R (u,i) 是 用戶 u 對 推薦列表中第 i 個產品的評 分; I D CG@N(u) 是 D C G@N(u) 的 最 大值;U是測試集中所有用戶集合; N 表示推薦列表的長度。
本小節主要是將本文提出的Htp_Uf算法與4種基線算法在兩種評價標準下的對比,以及各個參數選取對Htp_Uf算法的影響。4種基線算法分別為:基于用戶的協同過濾推薦(User_Based),基于物品的協同過濾推薦(Item_Based)[17]、SVD推薦算法[18]、主題模型和矩陣分解模型的混合推薦算法(HTMMF)[19]。
2.3.1 Htp_Uf算法與4種基線算法在NDCG評價標準下的對比

圖2主要是將本文提出的Htp_Uf算法與基于用戶的協同過濾算法(User_Based,近鄰數為50),基于物品的協同過濾算法(Item_Based),奇異值分解(SVD),以及主題模型和矩陣分解模型的混合算法(HTMMF)在NDCG評價標準下進行的比較。

圖 2 Htp_Uf與4種基線算法NDCG對比Fig. 2 Diagram comparing performances of Htp_Uf and four baseline algorithms by NDCG
圖2中,N表示推薦列表長度。對比發現Htp_Uf算法相比其他4種算法效果更好,特別是與User_Based和Item_Based相比,提升效果呈級數增長。其主要原因為:Htp_Uf算法將用戶潛在高效用因子與物品被靶向因子用于推薦算法第一階段,不僅預測用戶對物品評分的概率,還考慮到用戶潛在高效用情況,更適合進行TopN推薦,從而提升推薦算法性能。而HTMMF算法次之,原因是:HTMMF算法在第一階段中考慮到用戶對物品評分的概率,而沒有考慮到用戶潛在高效用因子情況。
由表1中數據知,Htp_Uf算法比Item_Based、User_Based、SVD、HTMMF這4種算法均有不同幅度的提高, HTMMF算法僅次于Htp_Uf算法,而對比Item_Based算法,Htp_Uf算法提升效果呈指數增長,驗證了該算法的有效性。從側面說明了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評價標準下對比

由圖3對比可知,Htp_Uf算法在1-Call評價標準下,相比SVD算法至少提高33.12%,相比HTMMF算法提高5.8%,相比User_Based與Item_Based呈指數級地提升。綜上,Htp_Uf算法在至少推薦一個相關物品的能力上性能更好,也驗證了該算法的有效性。

圖 3 Htp_Uf與4種基線算法1-call對比圖Fig. 3 Diagram comparing Htp_Uf and four baseline algorithms by 1-Call
圖4為在MovieLens 1M數據集上,Htp_Uf算法與其他4種算法在NDCG評價標準下效果對比圖。該數據集包含6 040個用戶對3 900個物品100萬條評分記錄,由圖4知,Htp_Uf算法在NDCG評價標準下相比其他4種算法有顯著提高。

圖 4 Htp_Uf與4種基線算法NDCG對比圖Fig. 4 Diagram comparing Htp_Uf and four baseline algorithms by NDCG
由表2知,Htp_Uf算法在不同的推薦列表長度下,采用1-Call評價標準,相比其他4種基線算法均有不同程度的提高。由表1和表2聯合說明,Htp_Uf算法在與順序有關的評價標準下的提升率要明顯高于順序無關下的提升率,符合該算法的設計初衷。

表 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 參數 ψ 對 H tp_Uf算法的影響
固定參數 μ=0.2,δ=0.2,η= 0 .1 時,檢驗參數ψ的變化對Htp_Uf算法的影響。
由圖5知,參數 ψ 從0.1開始,以步長為0.1遞增至0.9??v向分析,隨著推薦列表長度的增加,NDCG值遞減,反之亦然,即NDCG值的大小與列表長度成反比。橫向分析,當推薦列表長度為1, ψ 為0.1時,NDCG值最高, ψ 為 0.6時次之。當推薦列表長度為3、5、10, ψ 從0.1增加到0.5時,NDCG值呈遞減趨勢,即NDCG值的大小與參數 ψ 大小成反比。因此,不論推薦列表長度為多少,參數 ψ 取值為0.1最好。

圖 5 參數 ψ 在NDCG標準下對Htp_Uf的影響Fig. 5 Influence of ψ par ameter variation to model ofHtp_Uf by NDCG
2.3.4 參數 μ 對 H tp_Uf算法的影響
固定參數 ψ=0.2,δ=0.2,η = 0.1時,檢驗參數μ的變化對Htp_Uf算法的影響。
由圖6知,當推薦列表長度為1時,為使NDCG值最高,μ=0.1為最佳選擇。當推薦列表長度分別為3、5、10時,NDCG值呈先增后減的趨勢;當推薦列表長度為3、5時,μ=0.2最優;當推薦列表長度為10時,μ=0.3最佳。

圖 6 參數 μ 在NDCG標準下對Htp_Uf的影響Fig. 6 Influence of μ p ar ameter var iation on NDCG's model of Htp_Uf
受經濟學領域中效用函數的啟發,同時考慮到用戶對物品感興趣但不一定評高分的情況,本文將用戶評分過程分為用戶評分和選擇產品兩個階段。將用戶評分行為中抽象出用戶潛在高效用因子和物品被靶向概率因子,并且將這兩種因子加權作為兩階段推薦的第一階段,采用奇異值分解因子模型來預測具體評分值作為第二階段,將兩階段融合形成一種加權高效用因子的兩階段混合推薦算法,實驗結果表明該算法提高了Top N推薦質量。
本文提出的兩階段混合推薦算法在挖掘高效用因子和靶向物品概率因子計算方面,都不同程度地受到用戶歷史評分矩陣數據缺失的影響,也存在用戶冷啟動,物品冷啟動,數據稀疏性等問題,這些問題將是我們未來研究工作的重點。