操鳳萍, 張銳汀, 竇萬峰
(1.東南大學成賢學院計算機系, 南京 210088; 2.江蘇遠程測控技術省重點實驗室, 南京 210096;3.華泰證券股份有限公司, 南京 210019; 4.南京師范大學計算機科學與技術學院, 南京 210023)
跨域推薦能夠利用信息量充足的源域對信息量不足的目標領域進行補充,緩解目標領域數(shù)據(jù)稀疏問題.跨域推薦一般需要滿足如下條件:兩個或多個領域間存在內容層級的相關性;或存在用戶層級的相關性,有用戶上的重疊關系;或存在項目層級的相關性,有項目上的重疊關系[1].目前跨域推薦方法大多屬于如下三類[2].
第一類,基于協(xié)同過濾的跨域推薦.主要利用具有相似偏好的用戶之間相關性,為目標用戶推薦相關產品或項目[3-4].Berkovsky 等[5-6]將源域的共現(xiàn)矩陣Rs與目標域的共現(xiàn)矩陣Rt拼接成一個完整的共現(xiàn)矩陣R,并使用單域方法對用戶進行項目推薦.Ajit等[7]利用聯(lián)合矩陣分解進行協(xié)同過濾,構造加權損失函數(shù)并使之最小化,從而得到目標矩陣并依此對用戶進行項目分配.這些方法通常計算速度快、時間復雜度低,但推薦效果往往不夠理想.
第二類,基于語義關系的跨域推薦.該類方法常常需要利用圖模型進行建模,在構建好的模型上基于圖表示學習的方法進行數(shù)據(jù)處理得到特征表示,并依此進行跨域推薦.Jiang 等[8]通過構建圖模型將不同領域數(shù)據(jù)串聯(lián)起來,利用隨機游走方法進行用戶與項目間的匹配度預測.Zhu 等[9]首先基于圖嵌入方法得到數(shù)據(jù)的特征表示,然后利用注意力機制將源域的數(shù)據(jù)信息遷移至目標域,最后利用經過知識遷移的目標域模型進行個性化推薦.圖模型將多個領域串聯(lián)起來,以解決不同領域數(shù)據(jù)的異構問題.然而對于大規(guī)模的互聯(lián)網數(shù)據(jù),圖模型處理起來難度較大,計算速度較慢.
第三類,基于深度學習的跨域推薦.該類方法一般包括特征提取、特征映射、個性化推薦等幾個步驟.Man 等[10]提出一個深度學習跨域推薦框架,利用隱語義模型獲取用戶和項目的隱語義特征,并利用線性映射或多層感知機的方法將源域特征映射至目標域中,最后利用特征映射后隱語義進行跨域的個性化推薦.Zhu 等[11]利用深度網絡對特征進行跨域映射,并將源域目標域的數(shù)據(jù)稀疏度作為模型訓練中的重要參數(shù),從而提升數(shù)據(jù)的使用效率.Gao等[12]將注意力機制和隱語義模型進行結合,利用注意力機制來調整帶有輔助信息的隱語義特征的相關系數(shù),從而提升跨域推薦的效果.隨著深度神經網絡和圖學習技術的發(fā)展,跨領域推薦引起越來越多人的研究和關注[1].
近幾年,學者們從融合鄰域輔助信息的角度,對深度學習跨域推薦方法進行了研究.但在跨域推薦中,或多或少仍存在輔助信息利用不足、源域特征遷移不充分、負遷移等問題[13-16].本文提出了基于雙塔隱語義與自注意力的跨域推薦模型(DLDASA),框架如圖1所示.其包括基于雙塔隱語義模型的隱語義特征提取、引入域適應的隱語義特征遷移、借助自注意力機制緩解負遷移問題并跨域推薦這三個部分.本文主要貢獻如下.
1) 在隱語義模型的基礎上引入雙塔結構,充分獲取高質量隱語義以提升后續(xù)跨域推薦的效果.
2) 在傳統(tǒng)的多層感知機遷移方法中引入域適應過程,有效對齊源域與目標域的特征分布,將源域信息更充分地遷移至目標域.
3) 利用自注意力機制緩解負遷移問題,遷移時對差異信息進行篩選與融合,補足目標域信息,提升跨域推薦效果.
4) 設計多組對比實驗驗證了DLDASA模型的有效性,驗證了模塊作用.
矩陣分解(matrix factorization)和神經矩陣分解(neural matrix factorization)作為跨域推薦算法中特征提取的主要方法,利用了用戶與項目間的交互信息,但并未考慮用戶與項目的額外信息.隱語義模型與 Item2Vec[18]神經方法相結合,能夠將用戶項目信息進行向量化處理,然后利用網絡提取數(shù)據(jù)的嵌入表示,同時還可以引入雙塔模型進行拓展.本文基于Item2Vec方法提出了雙塔隱語義模型.
領域自適應 (domain adaptation),也稱域適應,屬于基于特征的遷移方法.它研究如何將從源域學習到的知識更好的遷移至目標域.特征自適應目的是學習一個域間不變的特征表達.
推薦的場景下,源域與目標域的數(shù)據(jù)均無標簽屬性,在“是否存在標簽”這一條件上與傳統(tǒng)遷移學習是不相符的.但在“縮小域間分布差異”這一問題上,推薦場景與經典的遷移學習場景是一致的,本文利用域適應方法縮小源域數(shù)據(jù)分布與目標域數(shù)據(jù)分布之間的差異.
特征遷移可能使不合適的源域項目隱語義遷移至目標域的某一項目之上,存在著負遷移.單純注意力機制無法聚焦于編碼器端輸入中值得被關注的部分,自注意力機制(self-attention mechanism)由 Ashish 等[19]提出,其結構如圖1所示,其自下而上分為輸入層、注意力全連接層、輸出層.自注意力機制的核心是通過Q和K計算得到注意力權重;然后再作用于V得到整個權重和輸出.輸入的w1、w2、w3通過式(1)可以計算出查詢鍵(query,Q) 、推導鍵(key,K)和輸出值(value,V).
圖1 自注意力機制結構Fig.1 Self-attention mechanism structure
k=Wkw;
q=Wqw;
v=Wvw,
(1)
得到各查詢鍵Q={q1,q2,…,qn}、推導鍵K={k1,k2,…,kn} 和輸出值V={v1,v2,…,vn}后,各個特征wi關于其余特征 {wj∣j=1,2,…,n}的相關性α可以通過式 (2) 得到:
(2)
(3)
綜合式(1)、(2)、(3)即可得到自注意力公式(4):
(4)
(5)
MultiHead(w)=Conca(head1,head2,…,headh)Wh,
(6)
利用多頭策略,將多個輸出進行拼接得到最終輸出.
本文由于利用自注意力機制對輸入的源域特征信息進行篩選和匯聚,使目標域的項目按相關程度來獲取源域信息,從而更好地進行特征遷移,以提高跨域推薦的性能.
圖2 DLDASA模型框架Fig.2 DLDASA model framework
模型具體包括如下三個過程.
1) 隱語義預訓練:利用雙塔隱語義模型獲取各隱語義特征表示,經多層神經網絡訓練后,可得到輸出.預訓練后V,U=DLLFM(R,info),其中,DLLFM(·)為雙塔隱語義模型,R為共現(xiàn)矩陣,info為用戶類別偏好信息和項目類別信息等.
2) 特征遷移:將源域與目標域的項目隱語義,進行基于一階統(tǒng)計量和二階統(tǒng)計量對齊的領域自適應遷移方法,對源域特征進行特征遷移,如式(7)所示.
(7)
3) 跨域推薦:域適應方法特征遷移后,為減輕特征遷移時所產生的負遷移影響,使用自注意力機制進行調整,如式(8)所示.
(8)
(9)
(10)
(11)
雙塔隱語義模型在特征提取過程中融入用戶類別偏好信息和任務類別信息.它利用廣義Item2Vec 方法將用戶、用戶類別偏好信息、項目、項目類別信息分別進行向量化處理和整合,輸入項目塔與用戶塔之中.雙塔隱語義模型如圖3所示.
圖3 雙塔隱語義模型Fig.3 Two-tower latent semantic model
1) 輸入層(input layer):輸入層包括四個部分,用戶 ID(user ID)、用戶類別偏好信息(user type)、項目ID(item ID)和項目類別信息(item type).首先對用戶隱語義矩陣Wu∈m×k、 項目隱語義矩陣Wv∈n×k、類別隱語義矩陣Wt∈d×k進行隨機初始化,然后利用式(12)計算出用戶隱語義(user embedding)、用戶類別偏好隱語義(user type)、項目隱語義(item embedding)、項目類別隱語義(item type)的嵌入表示.
ui=xu,iWu;uti=∑xut,iWt;vj=xv,jWv;vtj=∑xvt,jWt,
(12)
其中,xu,i、xut,i、xv,j、xvt,j為用戶、用戶類別偏好、項目、項目類別的One-hot編碼,用戶類別偏好與項目類別均經過歸一化.通過One-hot編碼,得到用戶隱語義矩陣、項目隱語義矩陣、類別隱語義矩陣中存放著的用戶隱語義ui、用戶類別偏好隱語義uti、項目隱語義vj、項目類別隱語義vtj.
2)融合層(fusion layer):對于雙塔模型,項目塔的融合層與用戶塔融合層類似,在得到項目隱語義vj和項目類別隱語義vtj后,對兩個特征進行融合,利用項目類別信息對項目隱語義進行信息補充,如式(13)、(14)所示.
(13)
(14)
其中,θu和bu為用戶融合函數(shù)的參數(shù),θv和bv為項目融合函數(shù)的參數(shù),ui,uti,vj,vtj∈k.最終得到的中既包含用戶與項目的交互信息,也包含用戶自己的類別偏好信息和項目的類別信息.
(15)
而后通過最小化損失函數(shù)(均方誤差)對模型進行訓練,如式(16)所示.
(16)
域適應方法通過對齊一階統(tǒng)計量(均值)和二階統(tǒng)計量(方差)統(tǒng)計特征的方法,將數(shù)據(jù)的統(tǒng)計特征進行變換對齊,不需要利用標簽屬性,也避免將數(shù)據(jù)映射到高維空間.
設源域項目隱語義DS={x1,x2,…,xs},xi∈k,目標域項目隱語義Dt={y1,y2,…,yt},yj∈k.假設μs,μt是源域與目標域項目隱語義的均值(一階統(tǒng)計量),CS,CT是源域與目標域項目隱語義的協(xié)方差矩陣(二階統(tǒng)計量).將隱語義特征進行標準化,如式(17)、(18)所示,
(17)
(18)
(19)
由Sun等[22]的工作知,設Σ+為矩陣Σ的廣義逆矩陣,rCS,rCT為矩陣CS,CT的秩.那么,式(20)為目標函數(shù)式(19)的最優(yōu)解,
(20)
算法1基于領域自適應的特征遷移方法
Input:源域特征,目標域特征
1:一階統(tǒng)計量對齊:
2:二階統(tǒng)計量對齊:
3:完成遷移:
基于自注意力機制的跨域信息整合流程如圖4所示.
圖4 自注意力跨域信息整合示意圖Fig.4 Self-attention cross-domain information integration
zij=Similarity(vt,Vs),
(21)
其中,Similarity(·,·) 表示相似度計算函數(shù),用內積作為相似度的度量方式.之后對其歸一化處理如式(22)所示,αij=softmax(zij),
(22)
其中,αij為注意力系數(shù),表示目標域項目i與源域項目j的相關度.之后, 計算得到源域項目隱語義的加權平均結果αiVs,利用該結果計算得到融合系數(shù)
c=sigoid(Dense(αiUs),
(23)
(24)
1) 一品威客(YPWK)和豬八戒網(ZBJW)
一品威客(YPWK)和豬八戒網(ZBJW)是國內知名眾包領域平臺,包含軟件測試的15類項目和7個類別標簽.稀疏度為44.53%的一品威客網數(shù)據(jù)視為源域,稀疏度為84.56%的豬八戒網數(shù)據(jù)視為目標域,數(shù)據(jù)集如表2所示.
表2 YPWK&ZBJW數(shù)據(jù)集
2) Movielens和Netflix
隨機選取5 000個用戶和2 500個電影的數(shù)據(jù)集,該數(shù)據(jù)集帶有20個類別標簽.稀疏度為97.90%的Movielens數(shù)據(jù)為源域,稀疏度為99.32%的Netflix數(shù)據(jù)為目標域.數(shù)據(jù)集如表3所示.
表3 Movielens&Netfl數(shù)據(jù)集
實驗評價指標:均方根誤差(root mean squard error,RMSE)和平均絕對誤差(mean absolute error,MAE),這兩種方法均通過計算預測結果與實際值的誤差大小來進行評價.
(26)
(27)
其中,m表示測試數(shù)據(jù)的數(shù)量,yi表示測試數(shù)據(jù)真實的評分,f(xi)表示模型計算后的預測評分.
為了驗證DLDASA模型的有效性,設置單域推薦和跨域推薦兩類對比實驗.單域推薦模型包括:
1) CF-user[3-4]:基于用戶的協(xié)同過濾推薦.
2) CF-item[3-4]:基于項目的協(xié)同過濾推薦.
3) MF[5]:矩陣分解.將共現(xiàn)矩陣進行神經矩陣分解,得到用戶特征矩陣與項目特征矩陣,并基于兩個矩陣進行推薦.
跨域推薦模型包括:
1) Cross-domain CF/item[6]:將源域f的共現(xiàn)矩陣Rs和目標域的共現(xiàn)矩陣Rt合并為一個共現(xiàn)矩陣,并以單域推薦中的CF-item進行推薦.
2) CMF[7]:將源域矩陣分解損失函數(shù)與目標域矩陣分解損失函數(shù)按照一定的權重進行加和,得到新的損失函數(shù),將其最小化可以得到該模型的特征矩陣,從而進行推薦.
3) EMCDR[10]:利用隱語義模型獲得源域與目標域的隱語義特征,而后利用線性映射或多層感知機的特征映射方法進行特征遷移,并以此進行推薦.EMCDR/LM表示跨域推薦過程中使用線性映射(LM),EMCDR/MLP表示跨域推薦過程中使用多層感知機映射(MLP).
DLDASA模型首先利用雙塔隱語義模型(DLLFM)獲取隱語義特征,這部分實驗選用參數(shù)如表4所示.其次利用基于統(tǒng)計特征對齊的領域自適應(DA/MLP)方法對源域項目隱語義進行特征遷移,這部分實驗無額外參數(shù).最后,基于自注意力機制的跨域推薦,所需其他參數(shù)如表5所示.
表4 DLLFM模塊參數(shù)設置
表5 Self-Attention模塊參數(shù)設置
采用Xavier[23]方法對用戶隱語義矩陣、用戶類別偏好隱語義矩陣、項目隱語義矩陣、項目類別隱語義矩陣及各項參數(shù)作隨機初始化處理.模型中的偏置項均設置為0,參數(shù)的數(shù)值及含義如表4所示.用神經元節(jié)點隨機缺失Dropout方法和L2正則化的方法防止過擬合.使用Adam優(yōu)化器訓練,設置β1=0.9,β2=0.99,多組實驗調參后學習率定為0.05.
在Win10下進行實驗,使用Tensorflow 1.14.0作為深度學習框架.CPU為Intel(R) Core(TM) i5-8300H CPU@2.30GHz,GPU為NVDIA GeForce GTX 1050Ti 4G,內存為 8G.
表6顯示DLLFM-DA/SelfAtten(DLDASA模型)在2個數(shù)據(jù)集上,RMSE指標和MAE指標均優(yōu)于對比模型,且均為最優(yōu)結果.DLDASA模型在“YPWK-ZBJW”數(shù)據(jù)集上的RMSE值和MAE值分別為0.267 2和0.138 0,比效果最好的EMCDR/MLP模型分別提高了34.3%和55.4%.在“Movielens-Netflix”數(shù)據(jù)集上的RMSE值和MAE值分別為0.547 2和0.403 5,對比效果最好的EMCDR/MLP模型分別提高了42.9%和45.1%.
表6 跨域推薦模型推薦結果
1) 特征提取模塊有效性分析
為驗證雙塔隱語義模型特征提取的有效性,設置了單領域推薦對比實驗.如表7所示,在影視單域推薦場景下,基于用戶的協(xié)同過濾(CF-user)與基于項目的協(xié)同過濾(CF-item)在數(shù)據(jù)稀疏的場景下,效果最差;矩陣分解(MF)此處為神經矩陣分解,能夠通過歷史的共現(xiàn)矩陣獲取用戶特征和項目特征,效果相較 CF-user 和 CF-item 有較大提升;雙塔隱語義模型(DLLFM)相較于MF 方法來說,由于獲取用戶隱語義和項目隱語義,還利用了額外的用戶類別偏好信息和項目類別信息,得到了更優(yōu)的推薦效果.
表7 Movielens&Netflix單域推薦
如表8所示,基于項目的跨域協(xié)同過濾(cross-domain CF/item)與協(xié)同矩陣分解(CMF)的效果較差,EMCDR/LM 與 EMCDR/MLP 的效果相對較好,DLLFM/MLP效果最好.基于項目的跨域協(xié)同過濾(cross-domain CF/item),對原始共現(xiàn)矩陣的稀疏性問題更為敏感,跨域推薦的效果一般.協(xié)同矩陣分解(CMF)通過共享隱語義特征來進行矩陣分解以獲取特征,受到源域與目標域數(shù)據(jù)差異的影響,在該場景下的跨域推薦效果也比較差.EMCDR 推薦效果較好,但其神經矩陣分解過程未充分利用各類額外的輔助信息.同時,EMCDR 跨域推薦過程中使用多層感知機映射(MLF),相比線性映射(LM)能夠得到更優(yōu)的遷移特征.
表8 Movielens&Netflix跨域推薦
2) 特征遷移模塊有效性分析
表9顯示了在兩對數(shù)據(jù)集上DLLFM/MLP(雙塔隱語義訓練+多層感知)、DLLFM-DA/MLP(雙塔隱語義訓練+域適應+多層感知)、DLLFM-DA/SelfAtten(DLDASA模型)模型的平均RMSE
表9 基于自注意力機制的跨域推薦
和MAE,其中每個數(shù)據(jù)集的最優(yōu)值以粗體突出顯示.DLLFM-DA/SelfAtten在所有算法中推薦效果最優(yōu).相比DLLFM-DA/MLP模型,推薦效果進一步提升,說明自注意力機制能夠有效降低特征遷移時的負遷移影響,顯著提升推薦效果.
針對跨域推薦方法的特征提取、特征映射、個性化推薦等過程中的一系列問題,從高質量的特征提取、更充分的特征遷移、更全面的差異捕捉等角度出發(fā)對共享項目跨域推薦算法進行了研究,提出了基于雙塔隱語義模型的跨域推薦模型.在隱語義模型的基礎上引入雙塔結構,充分利用用戶的類別偏好信息和項目的類別信息,獲取高質量隱語義以提升后續(xù)跨域推薦的質量;在傳統(tǒng)的多層感知機遷移方法中引入域適應過程,通過拉近源域特征與目標域特征的一階矩、二階矩等特征分布,有效對齊源域與目標域的特征分布,將源域信息更充分地遷移至目標域;利用自注意力機制來捕捉兩個域之間的差異性與相關性,使模型在知識遷移時能夠對不同域的差異信息進行篩選與融合,從而對目標域的信息進行補足,以提升最終的跨域推薦效果.最后實驗驗證了該模型及其各個模塊的有效性.