郭 磊 李秋菊 劉方愛 王新華
1(山東師范大學商學院 濟南 250358) 2(山東師范大學信息科學與工程學院 濟南 250358) (leiguo.cs@gmail.com)
用戶行為序列是指按照用戶行為所發生的時間進行排序而得到的行為記錄,它是很多互聯網應用對用戶行為進行組織和管理的一種重要方式.比如用戶在電子商城點擊或購買商品的序列信息,以及用戶在視頻網站對視頻的觀看序列等.由于序列信息通常蘊含了豐富的用戶行為規律和興趣偏好信息,如何對序列信息進行建模,并以此預測用戶下一次可能會點擊或購買的項目,成為近年來研究者關注的熱點問題.序列推薦[1-3]同時也是很多網絡應用推廣產品、進行精準營銷的重要方法.目前,序列推薦已經在電商、視頻和音樂等領域得到了廣泛的應用.
與傳統的序列推薦任務相比,共享賬戶跨域序列推薦(shared-account cross-domain sequential re-commendation, SCSR)是指在特定背景下進行的序列推薦任務,即:為使用共享賬戶的多個不同用戶進行跨領域的序列推薦.其中,共享賬戶是指多個用戶共同使用一個賬戶(如家庭電視賬戶);跨域推薦[4-6]是指借助用戶在其他領域中的信息來豐富目標域中的用戶信息或用戶特征,以提高目標域的推薦質量.在共享賬戶跨域序列推薦任務中:1)本文考慮了共享賬戶的情景.因為在很多應用中使用共享賬戶已成為一種普遍現象.例如,一個家庭的成員往往會使用同一個賬戶觀看電影、電視節目,甚至有的家庭會使用同一個賬戶進行網上購物.在這些情景中,共享賬戶中的多個用戶的行為是混合在一起的,很難直接將它們區分開來,使得推薦任務變得更具有挑戰性.2)本文考慮了跨域推薦的情景.主要是因為:一方面,用戶的興趣往往是多樣的.例如,用戶可能會在同一視頻平臺上同時觀看不同類型、不同題材的視頻.比如,她/他既可能會觀看一些技能或教育類的產品,也可能會同時觀看一些娛樂性的節目(如電視劇、電影等).另一方面,雖然用戶在每一個域上使用的產品和服務不一樣,但卻可以反映出用戶的一些共同興趣和特征.例如,用戶對某個作者的喜好可以同時反映到電影和讀書領域.捕獲用戶在這些不同領域中的行為可以幫助我們更進一步了解用戶偏好,以實現在目標域進行更加準確地推薦.
目前已有的序列推薦算法大都使用遞歸神經網絡(RNN)和卷積神經網絡(convolutional neural network, CNN)[7]對序列信息進行建模,但是RNN和CNN不僅難以并行訓練,需要較長模型訓練和預測時間,而且RNN和CNN在建模用戶的序列行為時都不能夠較好地捕捉用戶行為之間的長期依賴關系,而長期依賴關系在序列推薦任務中有時會起著比較重要的作用.例如,給定1個購物序列S1={手機,鞋,口紅,T恤,巧克力,手機殼},可以看到,手機和手機殼之間存在比較強的依賴關系,但是手機和手機殼的距離又比較遠.而這種情況在我們日常生活中是非常常見的,建模用戶行為之間的長期依賴關系有利于進一步提高序列推薦的精準度.另外,已有的工作大多數都是針對單個域中的用戶行為進行推薦,很少有同時考慮多個用戶共享一個賬戶和跨域這2種情況.例如,雖然π-Net[8]將共享賬戶跨域序列推薦任務看作一種并行的序列推薦問題,并且提出一個并行的信息共享網絡框架來兼顧共享賬戶和跨域這2種情況,但是該方法仍存在2方面不足:1)π-Net使用多個RNN進行用戶行為序列信息建模以及領域信息的捕獲,導致方法難以并行訓練,具有較高的計算復雜度和需要較長的運行時間.2)由于RNN存在的固有缺陷,使得該方法無法同時建模用戶交互序列行為之間的長期依賴關系,只能得到次優的推薦結果.
基于對以上問題的觀察,本文將共享賬戶跨域序列推薦任務作為目標,針對現有方法存在的缺陷,創新性地提出了一種基于自注意力網絡的序列推薦算法,并試圖同時解決多個用戶共享一個賬戶和跨領域推薦2個問題.具體展開來看,針對共享賬戶的問題和現有方法不能捕獲用戶行為之間的長期依賴關系的問題,本文創新性地引入了一種自注意力網絡[9]來對用戶行為序列進行建模.與現有的使用遞歸網絡或卷積網絡的其他模型相比,本文所使用的自注意力網絡只使用了注意力機制來對序列信息進行建模,并采用了并行加速的運行方式,使其運行速度比基于RNN和CNN的方法快1個數量級.另外,由于自注意力網絡需要計算行為序列中任意2個行為之間的注意力,使得它能夠在全局范圍內很好地捕捉用戶交互行為之間的長期依賴關系.為了能模擬多個用戶共享1個賬戶的混合行為,本文進一步引入了自注意力網絡中的多頭(multi-head)機制來建模共享賬戶中的多個用戶,即:使用1個頭(head)來表示1個用戶.針對跨域問題中每個用戶會在多個領域上(本文以2個域為例)產生不同行為的現象,本文提出一種帶有交叉映射的多層感知網絡來解決不同域之間的信息傳輸問題.并進一步使用能同時考慮2個域信息的混合推薦解碼器來進行推薦.最后,采取以端到端的方式在2個域上進行聯合訓練,并在真實數據集上對提出的算法進行了驗證.
本文的主要貢獻概括為4個方面:
1) 針對共享賬戶跨域序列推薦SCSR問題提出了一種基于自注意力的跨域推薦模型(self-attention-based cross-domain recommendation model, SCRM),該模型同時考慮了共享賬戶和跨域2個特性,并且在2個域中分別進行了推薦.
2) 采用多頭自注意力網絡建模共享賬戶中多個用戶的偏好,不僅具有并行運行的良好特性,而且能夠很好地捕捉用戶行為間的長期依賴關系和建模共享同一賬戶中多個用戶的混合行為.
3) 提出一種帶有交叉映射的多層感知網絡來實現不同域之間的信息傳遞.在深度遷移學習方法中,探討了建模用戶序列行為之間交互關系的方法.
4) 在真實數據集上進行了實驗,實驗結果表明,本文提出的方法更加有效地對共享賬戶的行為進行建模,并且在共享賬戶跨域序列推薦任務上取得了更好的結果.
本節將從跨域推薦、共享賬戶推薦和基于注意力網絡的推薦3個方面來介紹相關工作.
由于跨域推薦[10-11]主要是考慮了來自多個域的信息,所以它有助于解決推薦系統中經常面臨的冷啟動[12]問題和數據稀疏[13-14]問題.在現有的跨域推薦研究中,主要有2種方法來解決跨域問題.
一種方法是將不同域之間的信息直接聚合起來.例如,文獻[15]采用了一種基于語義網絡的描述框架.它們整合了多個相關輔助領域的信息,將輔助域的有用信息與目標域的信息進行整合,實現跨域的項目推薦.文獻[16]介紹了一種跨域主題學習(cross-domain topic learning, CTL)模型,它采用了通過主題層的方式(而不是作者層)來加強跨域協作.文獻[17]描述了一種跨域三元分解(cross domain triadic factorization, CDTF)方法,該方法將用戶域和項目域結合,可以更有效地挖掘用戶與項目之間存在的交互關系.文獻[18]采用星型結構的混合圖對社會網絡進行建模,實現了項目之間的連接.該方法的主要優點是能夠確定影響項目進行跨域傳輸的因素.
另一種方法是將輔助域中的信息傳輸到目標域中.基于深度學習的方法[19]非常適合遷移學習,因為深度學習方法可以學習到不同域的高級抽象表示.例如,文獻[20]在LDA(latent Dirichlet allocation)模型上采用貝葉斯方法,將用戶的偏好在域之間進行傳輸,使用一個公共空間來模擬多個域的用戶偏好和項目受歡迎程度.文獻[21]提出了一個新的框架,該框架充分利用了個體和群體的信息,同時實現了多領域的訓練.文獻[6]將捕獲到的用戶與項目之間交互的關系與帶有用戶社交關系的拉普拉斯圖的優勢結合起來,其核心思想就是向來自社交關系圖域的用戶推薦來自信息域的項目.
但是,上述提及到方法大部分只適用于靜態評分數據,而不能直接應用到序列推薦任務中.
共享賬戶推薦是對多個用戶在同一個賬戶內產生的混合交互行為進行建模,然后向賬戶里的每一個用戶進行推薦,這通常被認為是2個獨立的過程,即首先識別用戶,然后再進行推薦[22-23].例如,文獻[24]將由多個用戶交互行為組成的共享賬戶看作線性子空間的并集,這使得線性子空間聚類算法在共享賬戶推薦問題中得到了很好地應用.文獻[25]以一個新的研究視角研究用戶識別,它利用用戶偏好和消費時間來表示用戶身份.以不同用戶在不同時間段進行消費和消費行為具有一定周期性為理論基礎,提出了不同的用戶偏好可以在不同時間段內體現出來.文獻[26]在鑒定共享賬戶里的不同用戶時同樣利用了時間因素,按照分析的用戶偏好對時間進行劃分以生成一個自適應的時間模型.文獻[23]提出一種無監督框架來鑒定同一賬戶內的用戶,然后學習每一個用戶的偏好.在他們的方法中,利用一個異構圖來學習項目和元數據之間的關系.在每個賬戶中利用投影的無監督方法判斷用戶的偏好,然后提供個性化推薦[27].文獻[8]認為可以通過端到端的方式解決共享賬戶的問題,并且同時考慮了跨域信息以提高每個域的推薦質量.但是該模型由于是以RNN為基礎建立的,所以其訓練時間比較長,并且無法很好地捕捉用戶行為間的長期依賴關系.
注意力網絡[28-29]目前已經被廣泛應用于圖像處理、機器翻譯、自然語言處理等領域.例如,文獻[30]提出一個模型,該模型通過平滑用戶的歷史行為來改進注意力網絡,通過發現項目之間存在的連接性探索項目之間更多的相似性.該模型主要是利用了用戶偏好具有不同優先性的特點.文獻[31]介紹了一種優先考慮用戶最近交互行為的機制.即該模型在優先考慮了用戶最近交互行為生成的當前偏好的基礎上,又結合了用戶在該域中由所有行為分析生成的長期偏好,其實現過程采取了一種新的注意力網絡.為了克服RNN固有的一些問題,文獻[9]提出了一種新的僅基于自注意力機制(self-attention,SA)的網絡結構,完全不需要借助循環機制或卷積機制.最近的相關研究[32-34]表明,自注意力網絡在多種推薦任務上可以取得更好的推薦結果.例如,文獻[32]提出了一種基于自注意力和度量嵌入的方法,該方法在解決序列推薦問題時同時考慮了用戶的短期偏好和長期偏好.文獻[35]將用戶行為分為異構行為和其他行為.它們將不同的異構行為投射到不同的潛在空間中,這些行為在一個公共空間中可以相互作用.在考慮其他影響因素的情況下,采用自注意力網絡對所有用戶行為進行建模.
但是,目前的研究大都是針對傳統的序列推薦任務,而對于更為復雜的SCSR任務探討較少.特別是如何解決SCSR任務中用戶行為的長期依賴關系,所以共享賬戶問題還存在很多研究空白.
本節首先給出了SCSR任務的定義和所提出的SCRM方法的總體架構,然后分別詳細描述了SCRM的組成模塊,最后給出了相應的目標函數.表1列出了本文后續內容會使用到的符號定義:

Table 1 Definition and Description of Common Symbols
在本文中,使用SA={A1,A2,…,Ai,…,A|SA|}和SB={B1,B2,…,Bj,…,B|SB|}分別表示域A和域B的共享賬戶中用戶交互行為序列.其中,Ai∈(1≤i≤n)表示在域A中消費項目的索引,表示域A中所有項目的集合;Bj∈(1≤j≤m)表示在域B中消費項目的索引,表示域B中所有項目的集合.SCSR任務的目標是在給定序列SA和序列SB的情況下,給共享賬戶中的某個用戶推薦即將消費的下一個項目.域A和域B中所有候選項目會被推薦的概率分別被定義為P(Ai+1|SA,SB)和P(Bj+1|SB,SA),分別表示在域A和域B中,給定序列SA和SB情況下,推薦項目Ai+1和項目Bj+1的概率.
SCRM的主要任務是:1)對共享賬戶中多個用戶的行為信息進行建模;2)將用戶在不同域上的興趣信息進行跨域傳輸;3)將跨域傳輸得到的輔助域信息與目標域的原始信息進行整合以提高在目標域的推薦結果.

Fig.1 System architecture of SCRM圖1 SCRM的系統架構
SCRM的系統架構如圖1所示.SCRM主要由4部分組成,即嵌入層(embedding)、自注意力模塊(self-attention block, SAB)、跨域傳輸網絡(cross-domain transfer network, CTN)和混合推薦解碼器(hybrid recommendation decoder).其中,嵌入層的功能是將原始的輸入序列進行預處理.具體操作是依據輸入序列對目標域中所有項目的嵌入矩陣進行檢索,以得到輸入序列中每個項目的初始嵌入表示(即輸入序列的初始表示).自注意力模塊主要是在不同域中建模用戶的序列信息,以及模擬共享同一個賬戶的多個用戶特征.在這一模塊中,引入自注意力模型的多頭(multi-head)機制,使用每一個頭(head)表示共享賬戶里的每一個用戶,從而達到從多個維度建模用戶興趣的目的.跨域傳輸網絡的任務是將從輔助域中提取到的用戶興趣信息傳輸到目標域中,以提高目標域的推薦質量.在本模塊中,通過采用多層交叉映射感知網絡來實現知識的跨域傳輸.每一個跨域傳輸模塊由2層隱藏層構成,其中第1層與第2層之間通過共享傳輸矩陣的方式,實現輔助域與目標域的信息共享.混合推薦解碼器的主要任務則是進一步混合了跨域信息和目標域中原有的序列信息,以進一步提高目標域的推薦結果.通過使用拼接操作,將目標域內自注意力網絡模塊的輸出與跨域傳輸模塊最后的輸出進行拼接,從而達到綜合考慮2個域信息的目的.
本文提出的嵌入層主要包括初始項目表示和位置嵌入表示2部分.初始項目表示是將目標域中的所有項目映射為低維空間中的實數向量,構成目標域的嵌入矩陣,實現目標域中每個項目的向量化表示;然后模型的輸入序列(即SA,SB)根據嵌入矩陣中的索引得到輸入序列的向量化表示.在本文中,將輸入序列的長度n固定為30.令M∈|I|×d表示域A或域B中所有項目的嵌入矩陣,其中I表示域A或域B中的所有項目集合(I=A或I=B),d是項目表示的潛在維度.輸入序列中的每一個項目都對矩陣M進行檢索可以得到輸入序列SA(以域A為例)的初始嵌入EA∈n×d,其中n表示輸入序列的最大長度,d表示序列中每個項目的潛在維度.
由于自注意力網絡(如2.4節所示)并不包括任何的循環機制或卷積機制,所以使用自注意力網絡直接對序列信息進行建模得到的編碼并不包括序列的順序信息.為了使模型能夠捕獲到用戶行為序列間的時序關系,在初始嵌入E的基礎上增加了一個位置編碼P∈n×d[36]:

(1)

為了克服基于RNN方法不能很好地捕獲序列行為間長期依賴關系的固有缺陷,本文采用了自注意力網絡(SA)作為基礎序列編碼器.與傳統的注意力網絡相比,SA不僅能夠建模序列中用戶行為的上下文信息,而且還通過計算序列中任意2個行為之間的相關程度捕獲行為的長期依賴關系和序列的全局信息.
在本文中,使用的SA方法是采用點積運算的方式計算行為之間的注意力:

(2)



(3)
其中,WQ,WK,WV∈d×d是3個不同的投影矩陣,使用3個不同的投影矩陣與采用相同的投影矩陣相比,不同的投影矩陣會使得模型靈活性更好一些.S是自注意力網絡的輸出,1個S表示共享賬戶里1個用戶的項目特征表示.因為自注意力網絡計算的是序列中任意2個元素之間的相似度,所以不管元素之間距離有多遠,都可以捕獲到元素之間的關系.因此,自注意力網絡的輸出S不僅學習了序列的上下文關系,也學習了項目的長期依賴關系.
2) 多頭自注意力網絡(multi-head self-attention, MSA).由于共享賬戶通常是由多個用戶共同使用,所以假設賬戶里的交互行為僅是由1個虛擬賬戶生成是不合理的.為了從多用戶視角對共享賬戶中的混合交互行為進行建模(假設每一個賬戶里有H個用戶),進一步在SA里引入了多頭機制,用1個頭(head)表示共享賬戶中的1個用戶.
為了達到從多個維度(即多用戶視角)進行建模的目的,MSA通過H個不同的權重值WQ,WK,WV對嵌入值進行H次變換,進而得到H組并行的Q,K,V,1組Q,K,V看作共享賬戶中1個用戶的初始輸入.然后,這H組數據以并行的方式通過自注意力網絡進行投影,得到H個d維的輸出S.最后,將這H個S進行拼接處理,并將其投影到d維空間上,得到MSA的最終輸出,如圖2所示.與以往方法相比,我們創新地提出了使用MSA網絡聯合建模共享賬戶里多個用戶的信息.每個域中的多頭機制可以表示為
D=MultiHead(Q,K,V)=
Concat(head1,head2,…,headH)WO=
Concat(S1,S2,…,SH)WO,
(4)

(5)
其中,WO∈Hd×d是投影矩陣;headi=Si∈n×d表示一個自注意力網絡的輸出;D∈n×d是某個域(A或B)中MSA的最終輸出,它表示在考慮共享賬戶里H個用戶混合行為信息后所學習出的共享賬戶的項目表示;H是MSA網絡中自注意力頭(或用戶)的數量.

Fig.2 Architecture of the multi-head self-attention network in SCRM圖2 SCRM模型中多頭自注意力網絡的體系結構
3) 點式前饋神經網絡(point-wise feed-forward network, PFFN).在本文中,點式前饋神經網絡指的是作用于每一個位置的2層全連接網絡.PFFN將MSA的輸出D作為輸入,其計算方式可形式化為
N=PFFN(D)=
ReLU(DW(1)+b(1))W(2)+b(2),
(6)
其中,矩陣W(1),W(2)∈d×d,b(1)和b(2)都是神經網絡的參數.本文使用ReLU作為激活函數.
4) 層規范化(layer norm).為了使模型穩定,并且能夠加速神經網絡訓練,本文采用層規范化對點式前饋神經網絡輸出的序列特征進行規范化處理.層規范化不同于批規范化的是,我們在計算均值和方差統計數據時,同一批內的樣本數據是獨立的.其定義為

(7)
其中,x表示MSA或PFFN的輸出,因為本文在MSA網絡和PFFN網絡中都使用了層規范化.μ表示由數據計算而來的均值組成的向量,σ2表示方差,α和β是可學習到的參數.⊙表示向量元素積運算.
到目前為止,得到了共享賬戶中所有用戶序列中每一個項目的表示.為了學習整個共享賬戶中用戶序列的表示,進一步將序列中n個物品的表示通過聚合函數將其進行聚合,并將其作為自注意力模塊SAB的最后輸出.其中,聚合函數可以使用求和函數、均值函數、最大值函數和最小值函數等方法來完成.本文采用了最小值聚合函數的計算方法,并在實驗中對這4種方法的有效性進行了對比(具體實驗參見表6).基于最小值的聚合函數可以表示為

(8)

MSA的輸出仍然只對用戶在域A(或域B)中的序列行為進行了建模.為了能夠利用用戶在其他相關域的信息,實現跨域推薦,還需要將在域A(或域B)中學習到的用戶興趣傳輸到域B(或域A),然后將其與用戶在目標域B(或域A)的興趣信息相結合,以提高在目標域B(或域A)的推薦結果.在本節中,提出了一種基于多層交叉映射感知網絡的跨域傳輸網絡來實現域跟域之間的信息傳輸[5].它的主要任務是在2個域之間通過在同一層網絡中共享同一個矩陣來實現域和域之間的雙向信息傳遞,從而達到使用輔助域來提升目標域推薦效果的目的.
CTN的架構如圖1所示,從圖1中可以看CTN是一個多層交叉映射感知網絡,它以來自2個域的基本的序列表示作為輸入(SAB的輸出),對于其中的任意2層(q層和q+1層):


(9)

(10)
其中,WA和WB分別表示域A和域B的權重矩陣,矩陣P的作用是控制域A與域B之間的信息流的傳輸.跨域傳輸的信息會同時從域A中傳向域B和從域B中傳向域A中.所以,CTN可以實現知識的雙向傳輸,以保證模型在每個域都可以接收到用戶在其他輔助域的相關信息.當域A中數據較為稀疏時,SCRM在學習域A中用戶興趣的基礎之上,也可以通過跨域傳輸網絡學習到域B中的用戶偏好表示,反之亦然.因此,SCRM在域A中對用戶偏好有一個更好的學習,并且解決了數據稀疏的問題.
通過使用矩陣P而不是標量來控制域跟域之間的信息傳輸,主要是基于2個原因:1)矩陣P是從數據集中學習得到的,所以組成矩陣P的每一行數值都不是相同的,這也意味著其可以建模跨域傳輸信息不同位置的不同重要性即賦予用戶序列不同項目不同權重.2)由于多層神經網絡一般都會采取塔型的結構,低層網絡的神經元數量要多一些,高層次網絡的神經元數量要少一些.通過改變矩陣P的維度,可以實現不同維度的隱藏層之間的連接.
第q+1層.跨域傳輸模塊通過一個多層交叉映射感知網絡(以2層為例)來實現域和域之間的信息傳輸.域A和域B通過交叉連接進行耦合:

(11)

(12)



(13)
其中,⊕表示拼接運算,W和b是神經網絡的參數,softmax表示進行歸一化的操作.
本文使用負對數似然損失函數作為目標函數,對各個域的SCRM進行訓練:
LA(θ)=

(14)
LB(θ)=

(15)
其中,θ表示SCRM模型中的所有參數,表示域A和域B的訓練序列(SA和SB).
為了能夠進一步充分利用用戶在不同域中的共同興趣,將2個域中預測函數同時進行訓練,將LA和LB線性聯合起來,模型的損失函數進行一步轉化為
L(θ)=LA(θ)+LB(θ).
(16)
注意,SCRM中所有的參數都是以端到端的方式進行學習的.
本文實驗圍繞5個研究問題展開:
1) 基于平均排序倒數(MRR)和召回率(Recall)這2種評價指標而言,本文提出的SCRM在不同域中的表現如何;SCRM是否同時提高了在2個域的推薦性能;SCRM方法與其他最新方法相比表現如何.
2) SCRM中的2個模塊MSA和CTN在推薦中分別起到的作用是什么.
3) 超參數H如何影響SCRM模型的性能.
4) MSA中的聚合函數的選擇對于實驗效果的影響.
5) SCRM的訓練效率如何.
本文使用真實數據集HVIDEO[8]作為實驗的數據源.由于沒有其他公開可用的數據集,所以,這里我們只采用了1個數據集來評估本文提出的方法.HVIDEO是一個智能電視數據集,包含2016-10-12—2017-06-30期間26萬個家庭的觀看日志.這些觀看日志是從知名智能電視服務提供商的2個平臺(域V和域E)收集的.域V包括電視連續劇、電影、動畫片、才藝表演和其他節目的視頻.域E包括基于教科書的在線教育視頻以及體育、食品、醫療等方面的教學視頻.HVIDEO數據集的統計如表2所示:

Table 2 Statistics of HVIDEO Dataset表2 HVIDEO數據集的統計數據
實驗中,隨機選擇75%的序列作為訓練數據,15%的數據作為驗證集,其余10%作為測試集.對于實驗評估,本文使用每個序列中最后1個觀察到的項目作為真實值.本文采用常用度量標準MRR@5,Recall@5,MRR@10,Recall@10,MRR@20,Recall@20來衡量不同推薦算法的性能表現.關于MRR和Recall的定義如下.
1)MRR.MRR是根據用戶實際觀看的某個視頻所在的排名位置,進行取倒數并做均值運算得到的.本文之所以選擇MRR作為評價指標之一,主要原因是本文使用的模型在每次推薦時只有1個真實值.如果視頻的排名位置過低,則對我們的推薦系統起不到具體的實際作用.所以本文使用MRR@5,MRR@10,MRR@20作為評價指標.
2)Recall.Recall的功能是衡量檢索到的相關項目數與文檔中所有相關項目數的比例,也就是衡量檢索系統的召回情況.
在實驗中,本文與4種類型的9種基準方法進行了對比.
1) 傳統推薦方法
① pop[37].此方法根據項目的流行程度進行推薦,并始終推薦最流行的項目.
② item-KNN[38].該方法用于計算項目之間的相似性,這是通過2個項目之間的共現次數實現的.
③ BPR-MF[39].該方法是一種常用的基于矩陣分解的推薦方法.本文通過使用到目前為止,出現在這個序列中的所有項目的平均潛在因素來表示一個新句子的方式將BPR-MF應用到序列推薦任務中.
2) 共享賬戶推薦方法
此類中只有1種基準方法——VUI[25].該方法假設共享賬戶里的不同用戶會有不同的偏好,并且會在不同的時間段進行消費.所以將賬戶的日志記錄按照在不同時間段的不同偏好對共享賬戶里的用戶進行分解.該算法將1天劃分為不同的時間段,共享賬戶里的日志都劃分到相應的時間段內,并且假設每個時間段內的日志記錄是由一個虛擬用戶生成的,使用一個3維向量來表示這個虛擬用戶,借助余弦相似度來計算這些虛擬用戶之間的相似性,相似度高的會進行合并.VUI使用user-KNN的方法為這些生成的潛在用戶進行推薦.
3) 跨域推薦方法
① NCF-MLP++[37].該方法使用基于深度學習網絡,利用多層感知機(MLP)計算傳統協同過濾方法中的內積.
② Conet[5].該模型將十字繡網絡的思想應用于跨域推薦,利用神經協同過濾模型在不同域之間共享信息.
4) 序列推薦方法
① GRU4REC[39].它使用GRU層編碼用戶的序列行為,并通過基于排名的損失函數學習模型.
② HGRU4REC[40].該方法通過考慮用戶信息改進了GRU4REC,提出了一種層次遞歸神經網絡(RNN).
③π-Net[8].這是通過并行信息共享網絡研究SCSR問題的最新方法.但是,由于該方法是基于RNN的,因此非常耗時,而且無法捕獲共享賬戶內交互行為的長期依賴關系.
在本文中,SCRM是在TensorFlow框架上實現的,并通過NVidia RTX 2080 Ti GPU進行加速.本文使用Xavier方法[41]隨機初始化模型參數,將Adam作為優化算法.模型的參數配置為:dropout值為0.4,超參數學習率為0.000 1,嵌入尺寸為80,迭代次數為50,批量大小為128.所有這些參數都在驗證集上進行了調整.
為了驗證本文提出SCRM方法的有效性,本節將SCRM與現有的9種方法做了對比實驗,表3具體顯示了SCRM與其他對比方法的比較結果.從表3中可以觀察到:
1) 從表3中可以看出,與其他方法相比,本文提出的SCRM模型在域V的各個評價指標均優于其他方法;在域E上也取得了較好的結果,在絕大多數評價指標上的表現也優于其他方法.這說明本文針對SCSR問題提出的SCRM方法是有效的.與同為解決SCSR問題的基于RNN的π-Net方法相比較,在MRR指標上最高提升了4.15%,在Recall指標上最高提升了4.52%.與序列推薦方法GRU4REC相比,SCRM在MRR指標上最高提升了6.68%,在指標Recall上SCRM最高提升了9.94%.明顯的提升幅度不僅說明了考慮共享賬戶和跨域的特性對于序列推薦是有幫助的,而且可以看出基于自注意力的SCRM模型要比基于RNN的模型更具有一定的優勢.

Table 3 Comparison Results on HVIDEO Dataset表3 HVIDEO數據集的比較結果 %
另外,為了公平起見,本文對原有的GRU4REC與HGRU4REC做了一定的處理,使其與針對SCSR任務的模型具有相似的結構,并且使用了相同的TensorFlow框架來運行程序.
2) 從表3中還可以觀察到,就Recall值來講,SCRM在域V的表現要比在域E上好的多.由其他方法的數據對比也可看出,域V上的Recall值普遍要高于域E的對應值.這主要是因為用戶在域V上有更多的觀看視頻記錄,所以域V的數據集要更加密集.也正因為此,模型可以更好地學習到用戶在域V的偏好.另外,與同為研究SCSR問題的π-Net方法相比,本文提出的SCRM方法在域E上的提升幅度要比域V上的提升幅度多.在MRR@5指標上,域V提升幅度為4.15%,而在域E上的提升幅度為1.91%;在Recall@5指標上,在域V的提升幅度為1.89%,而在域E的提升幅度為4.52%.由此可以看出,基于自注意力的SCRM模型,對于稀疏數據集的學習具有更為積極的作用.
3) 從表3還可以看出,本文提出的基于自注意力網絡的SCRM方法在各個評價指標上均優于傳統的模型.與解決SR問題的GRU4REC方法比,基于自注意力的SCRM模型在域V的指標Recall@20上提升了5.44%,在MRR@20指標上提升了4.48%;在域E上Recall@10指標提升了9.94%,MRR@10指標提升了6.68%.與表現較好的HGRU4REC方法相比,本文提出的SCRM在域V指標MRR@20上提升了2.13%,在Recall@20指標上提升了4.05%;在域E指標MRR@5上提升幅度為4.31%,在Recall@5指標上提升幅度為5.14%.由較大的提升幅度可以看出本文提出的SCRM方法對于推薦系統的有效性.另外,在SCRM方法與π-Net方法比較過程中,發現2個域中的MRR@5和Recall@5提升幅度最大.對于個性化推薦系統來講,一般推薦項目所處位置越靠前越會吸引用戶的注意力,所以MRR@5和Recall@5效果的提升,對于推薦系統提升用戶體驗性具有重要意義.
4) 單獨觀察表3的Recall和MRR的增長情況可以得出,Recall增長得更快一些.Recall在域V上從Recall@5指標到Recall@20指標提升了3.37%,在域E上從Recall@5指標到Recall@20指標提升了17.04%;MRR在域V上從MRR@5指標到MRR@20指標僅增加了0.33%,在域E上從MRR@5指標到MRR@20指標增加了1.53%.這主要是因為Recall測量的是top-k列表中相關項目所占的比例;而MRR測量的是相關項目的排名.隨著列表中項目數量的增加,其相關項目自然而然會隨其增加,所以Recall的值就會增大.然而,MRR計算的是每個正向項目排名的倒數,所以隨著項目的增加對于MRR的影響有一定的限制.
本節主要是圍繞回答3.1節中的研究問題2~5進行展開.分別做了關于SCRM的分解實驗,設置超參數H的不同值來觀察H對于SCRM模型影響效果的實驗和不同聚合函數對SCRM的作用對比實驗,并進行了實驗分析.
3.6.1 SCRM的分解實驗(研究問題2)
為了證明SCRM的不同組成部分對其運行效果的影響,本文在HVIDEO數據集上對SCRM進行了分解研究.我們將SCRM分別與2種方法進行了對比:SCRM(無MSA)表示將自注意力網絡進行了移除,即將嵌入層得到的用戶序列編碼直接作為CTN模塊的輸入;SCRM(無CTN)表示將多層交叉映射感知網絡進行移除,即將自注意力網絡的輸出直接作為混合推薦解碼器模塊的輸入,根據單個域的信息進行推薦.
實驗結果如表4所示,由表4觀察可得:
1) SCRM在2個域上絕大多數指標表現都要優于SCRM(無 MSA),這主要是因為SCRM中包含的對用戶序列行為進行編碼的自注意力網絡有助于提高模型性能.也說明借助MSA網絡建模共享賬戶里多個潛在用戶的特征有助于提高2個域的推薦質量.在域E上,MRR指標最少提高了0.98%.在域V上,MRR指標最少提高了0.79%,指標Recall

Table 4 Ablation Experiments of SCRM表4 SCRM的分解實驗 %
最多提升了0.45%.當然也可以看到,SCRM(無MSA)在指標Recall@20上是略高于SCRM,這說明本文將自注意力網絡應用于序列推薦時,根據用戶的所有序列信息并給予每一個項目一定的權重去判斷用戶即將點擊的下一個項目時,也會帶來一定的噪音信息.
2) SCRM在所有指標上,表現要均優于SCRM(無CTN),這主要是因為SCRM借助CTN的多層交叉映射感知網絡在每個域上進行推薦時綜合考慮了2個域的信息.在域V的推薦上,MRR提升幅度最小的是MRR@20指標為1.14%,Recall提升幅度最大的是Recall@5指標為0.85%.在域E上,MRR指標中提升幅度最大的是MRR@5為5.73%,Recall指標中提升幅度最大的是指標Recall@5為5.75%.由此可以看出,本文提出的通過多層交叉映射感知網絡實現跨域信息傳輸對于SCRM模型的有效性.
3) 在2個域中的各項評價指標上,SCRM與SCRM(無CTN)之間的提升幅度要比SCRM與SCRM(無MSA)之間的提升幅度大一些.這表明在SCRM中CTN模塊要比MSA模塊更加有效一些.除此之外,還有一部分數據集的原因.因為絕大多數成員都在域V上有觀看記錄,域E的用戶數量相對較少,因為域E上是教育類的視頻,所以受眾大部分都是兒童,這部分觀眾本身比較固定并且可能觀看的類型特別局限.所以大多數情況下,通過MSA模塊從域V里提取出來的用戶偏好,可能就對域E的用戶的幫助不大,進而難以提高域E的推薦質量.
4) SCRM(無CTN)是3種模型中表現最差的,但是SCRM(無CTN)要比表3中大多數比較方法的絕大多數指標表現都要好,這證明了本文提出的借助MSA網絡對多用戶建模的有效性.同時可以看到,SCRM(無MSA)要比所有比較方法的絕大多數指標表現都要好,這表明本文提出的CTN模塊的有效性.
3.6.2 超參數H的影響(研究問題3)
在HVIDEO數據集上,家庭成員共享一個賬戶.因此本文提出了多頭SA網絡來模擬多個用戶共享一個賬戶的情況,其中超參數H表示賬戶中用戶的數量也是MSA模型中頭的數量.為了探討建立共享賬戶模型的重要性,本文進一步進行了實驗,以表明超參數H對于SCRM的影響.本文根據現實生活中的真實情況,在{1,2,3,4,5}數值空間上對H的取值進行搜索.在調整過程中,模型中的其他參數保持不變.
實驗結果如表5所示,其中H=1表示1個賬戶只有1個虛擬用戶.通過結果可以看出當H=1時,SCRM模型取得了最差的結果;當H=3,4,5時,SCRM在MRR和Recall指標上的數值差距較小,取得了較好的結果,這也符合我們現實生活中家庭成員數量的實際情況,這表明了將共享賬戶建模為H個潛在用戶的重要性.
另外,由表5看出:SCRM在H=4時表現最好,并且與H=1的情況進行對比,在域V上,MRR提升幅度最大為8.52%,Recall提升幅度最大為6.29%;在域E上,指標MRR最多提升了7.85%,最少也提高了7.41%;指標Recall的提升幅度最小為3.28%,最大為7.64%.較大的數據提升幅度表明本文提出的使用多頭的MSA網絡建模共享賬戶里的多個用戶的有效性.

Table 5 Impact of the Hyperparameter H表5 超參數H的影響 %
3.6.3 聚合方法的影響(研究問題4)
在2.4節中,在得到一個序列中所有項目的表示后,需要使用聚合函數將所有項目進行聚合,以得到整個序列的表示.本節中,我們對常用的4種聚合函數——最小值函數min、最大值函數max、均值函數mean、求和函數sum——進行了實驗驗證.表6給出了使用不同聚合函數所得到的實驗結果.由表6可以觀察到,最小值函數在域V與域E中的各個評價指標上均優于其他3種聚合函數.這表明對于SCRM模型,使用最小值聚合函數,可以更多地獲得共享賬戶里的用戶信息.

Table 6 Effects of Different Aggregation Methods for SCRM表6 SCRM中不同聚合方法的對比效果 %
3.6.4 模型的訓練效率(研究問題5)
為了證明SCRM模型的訓練效率,本文在圖3中繪制了SCRM和π-Net的訓練時間.從圖3的折線圖中可以看出SCRM模型每一步的訓練時間都遠少于π-Net的訓練時間,這個結果表明SCRM具有更短的訓練時間和更高的訓練效率.與基于RNN的方法相比,由于SCRM可以在并行模式下進行訓練,所以總的訓練要遠快于基于RNN的方法.

Fig.3 Training time of π-Net and SCRM圖3 π-Net和SCRM的訓練時間
本文研究了共享賬戶跨域序列推薦SCSR問題,提出了一種新的基于自注意力的跨域推薦模型SCRM,以克服共享賬戶跨域序列推薦任務中的挑戰.具體來講,為了減少訓練時間和建立長期依賴關系,本文引入了自注意力網絡作為SCRM的基本序列編碼器.為了模擬共享賬戶的特征,假設共享賬戶由多個用戶組成,并進一步探索了多頭自注意力網絡MSA.為了將用戶信息從輔助域傳輸到目標域,提出了跨域傳輸模塊,借助多層交叉映射感知網絡實現域和域之間的信息傳輸.最后,將傳輸的信息與目標域中的原始信息相結合,得到一個混合推薦解碼器.為了評價SCRM的性能,在真實數據集HVIDEO上進行了大量的實驗.
本文提出的SCRM方法雖然取得了較好的結果,但仍具有一定的局限性.例如,SCRM在數據互補性高的數據集上,性能比較好,但如果域和域之間共享信息少,模型性能就會表現稍差.下一步我們將從2個方面入手:1)對于自注意力網絡應用于序列推薦問題上,在給序列中每一個項目分配權重信息時,可以考慮舍棄部分項目.2)對于共享賬戶里用戶數量的設置,本文設定為一個固定值,未來可以考慮用戶的數量采取具體賬戶具體分析的方式,根據共享賬戶已有的歷史信息自適應地選擇用戶數量.
作者貢獻聲明:郭磊負責模型總體設計及論文寫作與修改;李秋菊負責算法實現及論文寫作;劉方愛負責模型設計及論文修改;王新華負責模型設計及論文修改.