孫 偉,申建芳,陳平華
(廣4東工業(yè)大學 計算機學院,廣州 510006) E-mail:3240033507@qq.com
在緩解信息過載,尤其是用戶意圖不確定時,傳統(tǒng)推薦在處理一般推薦問題時,把用戶-項目交互記錄放置在二維評分矩陣中,通過填充該矩陣的空缺來實現(xiàn)預測[1].與一般推薦不同,基于會話的推薦通過會話中的數(shù)據(jù)反映用戶行為模式和當前偏好,將用戶的歷史紀錄視為項目序列而不是項目集,準確預測與之交互的下一個項目[2].為了得到精確的推薦,基于會話的模型使用某種算法來利用會話中的順序信息.近年來,遞歸神經(jīng)網(wǎng)絡(Recurrent neural network,RNN)以不同的方式用于學習用戶的動態(tài)和時序偏好[3,4],其表現(xiàn)優(yōu)于傳統(tǒng)方法,盡管現(xiàn)有的基于深層會話的模型已被證明有效,但仍存在以下問題.
第1個問題是缺乏利用用戶微行為的方法.以往基于會話的推薦模型僅從宏觀角度進行建模[5],即將會話視為一系列項目,不考慮用戶對項目的不同操作.即使用戶在會話中與同一項目進行交互,對該項目執(zhí)行不同的操作也反映用戶在此會話中的不同意圖以及對該項目的不同偏好.在本文中,將考慮用戶對某個項目的特定操作作為微行為,具有比項目級別的宏觀行為(即用戶與項目互動)更精細的粒度,并且對用戶提供更深入的理解[6].
第2個問題是項目知識對用戶-項目交互的稀疏性問題利用不足.由于大多數(shù)先前基于會話的推薦僅僅基于會話中交互項的順序對會話建模[7],因此當歷史用戶與項目的交互稀疏時,尤其是對于冷啟動項,它們無法充分學習會話表示.將物品屬性作為輔助信息導入,從知識圖譜中提取出來,可以緩解數(shù)據(jù)稀疏性問題[8].但是,現(xiàn)有的基于知識圖譜(Knowledge Graph,KG)的推薦方法在很大程度上忽略了多模式信息,例如項目的圖像和文字描述.這些視覺或文字功能可能會在推薦系統(tǒng)中扮演重要角色[9].例如圖1所示,在觀看電影之前,用戶傾向于觀看預告片或閱讀一些相關的電影評論.當去餐廳吃飯時,用戶通常先在一些在線平臺上瀏覽菜肴圖片或餐廳點評.因此,有必要將這些多模式信息引入知識圖.多模態(tài)知識圖將視覺或文本信息引入到知識圖中,并將圖像或文本視為實體或實體的屬性,這是獲取外部多模式知識的一種更通用的方法,而無需給出視覺或文本信息的專家定義.
圖1 多模態(tài)知識圖的一個例子Fig.1 Example of a multi-modal knowledge graph
現(xiàn)有基于會話的推薦方法都基于理想主義的假設,即通過使用用戶的歷史行為(即用戶偏好的最終表示與候選項目之間的交互作用)捕獲用戶意圖[10],通常是在算法的最后一步執(zhí)行,在此之前,候選項的信息不會用于偏好學習,實際上,用戶的意圖可能不確定,尤其是當參與長期的習慣行為(例如,購買)序列時,而不是短暫的活動(例如,聽音樂)會話.判斷新項目是否可以吸引用戶的正確方法是考慮它如何引起用戶興趣的不同部分(即短期和長期)[11].基于以上分析,本文提出一種基于自注意力網(wǎng)絡的項目相似性模型,平衡用戶對每個候選項的短期和長期興趣.具體來說,即模型通過門控模塊,以此來平衡全局和局部表示.
綜上所述,本文提出基于多模態(tài)知識圖的用戶微行為會話推薦,由于操作和項目的不同特點,采用不同的學習機制,將操作序列和會話序列分別輸入門控循環(huán)單元(Gated Recurrent Unit,GRU)[12]和門控圖神經(jīng)網(wǎng)絡(Gated Graph Neural Network,GGNN)[13,14].在此過程中,引入外部知識圖譜的同時,采用一種改進的圖注意力神經(jīng)網(wǎng)絡方法,對相鄰實體進行聚合,完成實體信息的聚合,然后使用一個翻譯模型來模擬實體之間的推理關系,該方法不要求知識圖譜的每個實體都具有多模態(tài)信息,意味著對知識圖譜沒有特別高的數(shù)據(jù)要求,此外,該方法不獨立處理每個知識圖譜的三元組,而是將知識圖譜的鄰域信息進行實體聚合,從而可以更好地學習融合其他模態(tài)信息的實體嵌入.并進一步通過考慮候選項目的信息來平衡局部和全局表示模塊,設計多層感知器(Muti-Layer Perception,MLP)的選通網(wǎng)絡,該網(wǎng)絡使用MLP層對候選項目最近交互的項目以及每個用戶的全局和局部偏好之間的關系進行建模來計算權重.
總之,在這篇論文中所提出的貢獻如下:
為了提高會話推薦的性能,將用戶微行為納入會話建模中,以細粒度的方式獲得會話中連續(xù)項之間的關系,并進一步研究不同算法對微行為建模的影響.
提出一種新的多模態(tài)圖注意網(wǎng)絡模型,該模型在多模態(tài)知識圖上采用信息傳播,以此獲得更好的實體嵌入進行后續(xù)的推薦.
設計一個基于多層感知器的門控模塊,該模塊通過考慮候選項目的信息來平衡局部和全局表示,從而處理用戶意圖的不確定性.
最近,受深度神經(jīng)網(wǎng)絡(Deep neural network,DNN)在NLP中建模序列的強大功能啟發(fā),研究出一些基于DNN的解決方案,并顯示基于會話推薦的最新性能.特別是,基于RNN的模型(包括LSTM和GRU)被廣泛用于通過將歷史交互編碼為隱藏狀態(tài)(向量)來捕獲用戶的全局興趣和當前興趣.作為在基于會話推薦中使用RNN的先驅,Hidasi等人[3]提出一種深度基于會話的推薦模型,該模型將項目編碼為一個獨熱嵌入,然后將其傳送到GRU中以實現(xiàn)推薦.Jing等人[15]通過添加額外的機制來解決RNN固有的短存儲問題,進一步改進基于RNN的解決方案.此外,文獻[5]中的模型利用注意力網(wǎng)絡分別對用戶的一般狀態(tài)和當前狀態(tài)進行建模,此模型明確考慮用戶當前操作對其下一步動作的影響.最近,文獻[14]中的作者采用GGNN來捕獲會話中項目之間的復雜轉換模式,而不是單向轉換模式.盡管這些模型在基于會話推薦任務中顯示出令人鼓舞的性能,但仍有改進的空間,因為它們在會話中都忽略了用戶的微行為.文獻[16,17,18]是考慮微行為的常見模型,[18]僅對單調行為鏈建模,其中用戶行為應該遵循相同的鏈,而忽略了多種類型的行為.為了解決這個問題,文獻[16]和文獻[17]都采用LSTM對微行為進行建模.但是,他們忽略了項目和操作之間的不同過渡模式.在本文中,我們同時采用RNN和圖神經(jīng)網(wǎng)絡(graph neural network,GNN)對微行為進行建模,該微行為不僅考慮項和操作的差異,而且還保持文獻[16,18]中提到的操作順序邏輯.
多模態(tài)知識圖譜(Multi-modal Knowledge Graphs,MKG)通過將其他模態(tài)信息引入傳統(tǒng)KG來豐富知識類型.實體圖像或實體描述可以為知識表示學習提供重要的視覺或文本信息.大多數(shù)傳統(tǒng)方法僅從結構化三元組中學習知識表示,而忽略了知識庫中經(jīng)常使用的各種數(shù)據(jù)類型(例如文本和圖像).近年來,對多模態(tài)知識圖表示學習的研究證明,多模態(tài)知識圖在知識圖的完成和三元組分類中起著重要的作用[19,20,21].從知識圖構造的角度來看,多模態(tài)知識圖表示學習工作可以分為兩種類型:基于特征的方法和基于實體的方法.
基于特征的方法.文獻[20,21]將多模態(tài)信息視為實體的輔助特征,這些方法通過考慮視覺表示來擴展TransE[22],可以從與知識邊緣圖實體關聯(lián)的圖像中提取視覺表示.在這些方法中,根據(jù)知識圖的結構以及實體的視覺表示來定義三元組的得分(例如TransE中三元組的評分函數(shù)),這意味著每個實體必須包含圖像屬性.在真實場景中,某些實體不包含多模式信息.因此,該方法不能被廣泛使用.
基于實體的方法.文獻[23]將不同的模態(tài)信息(例如文本和圖像)視為結構化知識的關系三元組,而不是預定特征.在這些工作中,多模態(tài)信息被認為是知識邊緣圖的一等公民,然后基于實體的方法使用基于CNN的KGE方法來訓練知識圖嵌入.然而,現(xiàn)有的基于實體的方法忽略了多模式信息融合而獨立地處理每個三元組,并不能達到很好的效果.
在本節(jié)中,將會詳細介紹本文所提出模型的信息,包括模型中涉及的相關算法.首先將本文解決的問題形式化,然后總結本模型的流程,詳細介紹每個步驟.
本文中將會關注用戶的微行為,而不是本文會話中已完成的項目,因此使用{m1,m2,…,mL}來表示會話s中的微行為序列,其中L是序列的長度.具體而言,mt(1≤t≤L)是第t個微行為,實際上它代表著該項及其相應操作的組合.
定義1.(知識圖譜).為了提高推薦性能,考慮知識邊緣圖中項目的邊信息,通常,此類輔助數(shù)據(jù)由現(xiàn)實世界中的實體及其之間的關系組成,以對項目進行概要分析.KG是一個直接圖,定義為G=(V,E),其中V表示節(jié)點集,而E表示邊集.節(jié)點是實體,邊是主體屬性對象的事實,每個邊都屬于一個關系類型r∈R,其中R是一組關系類型.(頭實體,關系,尾部實體)表示為(h,r,t),其中h,t∈V,r∈R形式表示每個邊r從頭實體h到尾部實體t的關系.
定義2.(多模態(tài)知識圖).MKG是一類知識圖,它引入了多模態(tài)實體(如文本和圖像)作為知識圖的一級公民.
定義3.(協(xié)作知識圖).協(xié)作式知識圖(Collaborative knowledge graph,CKG)將用戶行為和項目知識編碼為統(tǒng)一的關系圖.一個CKG首先定義一個用戶項目二部圖,其表示為{(eu,yui,ei)|eu∈U,ei∈I)},其中eu是用戶實體,yui表示用戶u與項目i之間的鏈接.ei表示項目實體,U和I分別表示用戶和項目集.當eu與ei之間存在相互作用時,yui=1;否則,yui=0.然后,CKG將用戶項目二分圖合并到知識圖中,其中每個用戶的行為表示為三元組(eu,Interact,ei).Interact=1表示eu和ei之間存在一個附加的相互作用關系.基于項目-實體對齊集,用戶-項目圖可以與知識圖作為一個統(tǒng)一圖無縫集成.
圖2 模型框架圖Fig.2 Model frame diagram
如前所述,項目知識圖譜有助于揭示會話中項目之間的語義相關性,知識邊緣圖嵌入模塊以協(xié)作知識圖作為輸入,利用多模態(tài)知識邊緣圖實體編碼器和多模態(tài)知識圖注意層為每個實體學習新的實體表示,新實體表示將匯總其鄰居的信息,同時保留有關其自身的信息,然后使用新的實體表示來學習知識圖嵌入,以表示知識推理關系.
對于最后的模型計算,通過設計不同損失函數(shù)的加權和,將知識學習作為輔助任務添加到多任務范式中.具體來說,通過引入TransE[22]損失函數(shù)作為知識學習的損失,由于這是一個知識嵌入模型,可以有效地建模多對多或多對一的關系,此外,采用交替訓練策略[25]對最終模型進行訓練.
在本小節(jié)中,將會介紹如何獲取給定會話的表示形式,這對于模型計算最終得分至關重要.基于會話推薦[15]的基本原理,獲取會話表示的前提是學習每個對象在會話中嵌入,在本文的設置中,會話序列中的對象是微行為,根據(jù)對微行為的定義,微行為是項目和對該項目執(zhí)行的操作組合.在該模型中,首先分別學習項目嵌入和操作嵌入,然后將項目嵌入和操作嵌入串聯(lián)作為微行為的嵌入.
3.3.1 嵌入式學習
項目序列和操作序列對會話建模有不同的影響,并且表現(xiàn)出不同的轉換模式,對于項目中的會話項目序列,其轉換模式實際上比以前的基于RNN的順序模型[4]捕獲連續(xù)項目之間的單向模式更為復雜.后續(xù)項與序列中的先前項相關,并且先前項也與后續(xù)項相關,這也是用戶經(jīng)常與他/她以前交互過的項目交互的原因.當前轉換模式依賴于雙向上下文(前項和后項)而不是單向上下文,后者可以通過基于圖形的模型而不是諸如GRU的單向順序模型來建模.LSTM、BERT也具有雙向特點,但在處理非歐式空間數(shù)據(jù),即對于處理圖輸入這種非順序的特征表示時,圖中節(jié)點排序沒有規(guī)律,通過這兩者來處理圖數(shù)據(jù),只能遍歷圖中節(jié)點所有可能出現(xiàn)順序作為模型輸入,對模型的計算能力難以承受.為了解決這個問題,通過引入圖神經(jīng)網(wǎng)絡分別在每個節(jié)點上傳播,忽略節(jié)點之間輸入的順序,依賴周圍狀態(tài)來更新節(jié)點狀態(tài).因此,受到文獻[26]靈感,采用GGNN對項目序列進行建模,以此獲得該模型中項目的嵌入.
盡管用戶在會話中執(zhí)行的操作也可以組合一個序列,但是它們的轉換模式與項目序列中的不同.因此,GGNN不適合對操作序列進行建模.首先,大多數(shù)平臺中獨特的操作類型非常有限,如果將一個操作序列轉換為一個有向圖,則一個操作可能會以大概率出現(xiàn)在序列中,從而導致大多數(shù)節(jié)點(操作)具有相似的鄰居組.因此,通過在此類圖上應用GGNN所學習的大多數(shù)操作嵌入都非常相似,無法很好地表征用戶偏好的多樣性.另一方面,兩個連續(xù)操作之間的轉換通常表現(xiàn)出一定的順序模式.例如,用戶經(jīng)常在他/她閱讀評論后將其添加到購物車,或在他/她將其添加到購物車后購買該產(chǎn)品.因此,我們采用GRU而不是GGNN來學習操作嵌入.接下來,將依次介紹學習項目嵌入和操作嵌入的細節(jié).
3.3.2 學習項目嵌入
為了學習GGNN的項目嵌入,首先將項目序列轉換為有向圖.對于給定的微行為項目序列Si={it1,it2,…,itL},其中每個對象都是微行為中的項目,對應的有向圖為G=(V,E).在圖G中每一個節(jié)點表示序列Si中不同的項目,并且每一個有向邊(itk-1,itk)∈E(2≤k≤L)連接序列Si中兩個連續(xù)的項目.注意,一個項目經(jīng)常在會話中重復出現(xiàn),例如,會話s1的項目序列是{i1,i1,i1,i2,i2},項目數(shù)|V|≤L并且如果itk-m=itk,(1≤m≤k-1)則在G中體現(xiàn)是此G存在自環(huán)現(xiàn)象,進一步將G構造為加權有向圖來解決項目嵌入表示相同的問題,邊緣的歸一化權重(itk-m,itk)計算為Si中{itk-1,itk}的出現(xiàn)頻率除以itk-1作為Si中前一項出現(xiàn)的頻率.
(1)
(2)
3.3.3 多模態(tài)知識圖嵌入
a)多模態(tài)知識圖實體編碼器
對于上文得到的項目嵌入向量,為了將多模態(tài)實體納入模型,通過學習不同模式數(shù)據(jù)的嵌入.利用深度學習中的最新技術為這些實體構造編碼器以表示它們,本質上為所有實體提供嵌入.如圖3所示,用于描述多模式數(shù)據(jù)的編碼器,使用不同的編碼器來嵌入每種特定的數(shù)據(jù)類型.
圖3 多模態(tài)知識圖編碼器Fig.3 Multi-modal knowledge graph encoder
結構知識圖譜:考慮(h,r,t)形式的三元組信息,為了將頭實體h,尾部實體t和關系r表示為獨立的嵌入向量,將它們的實體id或關系id通過嵌入層以生成密集向量.
圖像:已經(jīng)開發(fā)出各種模型來緊湊地表示圖像中的語義信息,并且已經(jīng)成功地將其應用于諸如圖像分類和問答之類的任務.為了嵌入圖像以使編碼表示這樣的語義信息,使用ResNet50的最后一個隱藏層[28],該層由Imagenet[29]預訓練.
文本:文字信息與內容高度相關,可以捕獲用戶的偏好.對于文本實體,使用Word2Vec[30]訓練單詞向量,然后應用平滑逆頻率(SIF)模型[31]獲得句子的單詞向量的加權平均值,將其用作句子向量來表示文本特征.為了提高模型的效率,使用句子向量技術而不是使用LSTM對句子進行編碼. 與簡單地使用字向量的平均值相比,SIF將具有更好的性能.
最后,使用密集層將實體的所有模態(tài)統(tǒng)一為同一維,以便可以在模型上對其進行訓練.
b)多模態(tài)知識圖注意層
多模態(tài)圖注意層沿著高階連通性遞歸嵌入傳播[32],并通過利用圖注意力網(wǎng)絡(Graph attention network,GAT)的思想[33],生成級聯(lián)傳播的注意權重,以揭示這種注意網(wǎng)絡連通性的重要性.盡管GAT取得了成功,但由于它們忽略了KG的關系,因此不適合KG.為此考慮到KG關系的嵌入來修改GAT,注意機制的引入可以減少噪聲的影響并使模型集中于有用的信息上.
在這里,從描述一個單層開始,該層由兩個部分組成:傳播層和聚合層,然后討論如何將其歸納為多層.
傳播層.給定候選項目實體h,學習其知識圖嵌入時必須考慮兩個方面.首先,通過transE模型學習知識圖的結構化表示,即h+r≈t.其次,對于項目實體h的多模態(tài)鄰居實體,希望將這些信息聚合到項目實體h,以豐富項目h的表示.按照[34]中的方法,使用Nh表示直接連接到項目h的三元組的集合.eagg是一個表示向量,它集合了相鄰實體的信息,它是每個三重表示形式的線性組合,可以通過公式(3)進行計算.
(3)
其中e(h,r,t)是每個三元組(h,r,t)的嵌入,而π(h,r,t)是每個三元組e(h,r,t)的注意力得分.π(h,r,t)控制從三元組e(h,r,t)傳播多少信息.
由于關系在知識圖中重要性,因此將關系嵌入在e(h,r,t)和π(h,r,t)中,并且它們中的參數(shù)都是可學習的.對于三元組e(h,r,t),通過對頭部實體,尾部實體和關系的嵌入的串聯(lián)執(zhí)行線性變換來學習此嵌入,其表達如公式(4)所示:
(4)
其中eh和et是實體的嵌入,而er是關系的嵌入,通過關系注意力機制實現(xiàn)π(h,r,t),可以通過以下方式計算:
π(h,r,t)=LeakyReLU(W2e(h,r,t))
(5)
按照文獻[34]中的方法選擇LeakyReLU[35]作為非線性激活函數(shù),通過采用softmax函數(shù)對所有與h連接的三元組的系數(shù)進行歸一化:
(6)
聚合層.此階段將聚合實體表示eh和對應的eagg作為項目h的新表示,以免不丟失初始eh信息,在這項工作中,通過以下兩種方法實現(xiàn)聚合函數(shù)f(eh,eagg).
1)加法聚合方法考慮了eh和eagg之間的逐元素加法特征相互作用,這可以通過公式(7)獲得.
(7)
在這里對初始eh進行線性變換并將其添加到eagg,W3是一個權重矩陣,用于將當前表示轉移到公共空間中,該公共空間表示可訓練的模型參數(shù),此操作類似于殘差網(wǎng)絡中的操作.
2)級聯(lián)聚合方法使用線性變換將eh和eagg級聯(lián):
(8)
其中‖是串聯(lián)操作,W4是可訓練模型參數(shù).
高階傳播.通過堆疊更多的傳播和聚合層,探索協(xié)作知識圖中固有的高階連通性,通常,對于n層模型,傳入信息是在n跳鄰域上累積的結果.
3.3.4 學習操作嵌入
由于上述原因,采用帶有操作序列的GRU來學習操作嵌入.GRU是標準RNN的改進版本,用于對動態(tài)時間行為進行建模,旨在解決梯度消失問題.為了解決不同操作對項目的影響,提出一種基于GRU模塊的偏置隨機游走方法,
偏置隨機游走過程用于提取目標實體h的操作序列,為了實現(xiàn)更廣泛的深度優(yōu)先搜索,從h重復偏向隨機游走,以獲得長度固定為L的M條路徑,該遍歷以概率p迭代到當前實體的鄰居,定義如下:
(9)
其中tk是路徑的第k個實體,t0表示根實體h.為了進行更廣泛的搜索,據(jù)經(jīng)驗設置0 <γ<0.5.在通過步行獲得M條路徑和M×L個實體后,按照步行的頻率將它們按降序排序,并有序地選擇一組排名靠前的實體.這些實體定義為操作對項目的不同影響程度,并用Oλ表示.實際上,一個實體出現(xiàn)在隨機游走中頻率越高,它對目標實體的重要性就越高.
(10)
(11)
(12)
其中⊕是串聯(lián)運算,基于這樣的微行為嵌入,兩個具有相同項目序列但實體操作序列不同的會話仍具有不同的表示形式,可以捕獲用戶的細粒度意圖.
為了將局部表示和整體表示結合起來,早期的嘗試會想到級聯(lián)或求和,結果表明,求和總是比級聯(lián)更好.在文獻[36]中,作者提出了加權求和,通過考慮項目列表的一致性來平衡這兩種表示. 但是,這些組合方法仍僅基于歷史信息,可能會造成理想化的結果.
圖4 門控機制Fig.4 Gating mechanism
為了解決順序推薦中用戶意圖不確定性的問題,受神經(jīng)注意項目相似度(NAIS)的啟發(fā)[11],提出了一個項目相似度門控模塊,如圖4所示.該模塊通過以下方式計算局部表示和全局表示的權重:對候選項目i∈I與最近交互的項目sl之間的項目相似性以及候選項目i與歷史項目i′∈Su的集合之間的項目相似性進行建模.為了簡化模型:1)將門函數(shù)g的輸出值確定為局部表示的權重,并將其限制為0 為了表示會話中的全局偏好,對會話中每個微行為的嵌入分配適當?shù)臋嘀?不同的微行為具有不同的優(yōu)先級,具體來說,給定微行為mt(1≤t≤L),其注意力權重計算為: αt=βTσ(W1mL+W2mt+bα) (13) 其中bα,β∈R2d,W1,W2∈R2d×2d,全局會話表示為: (14) 具體來說,候選項目i∈I和最近項目sl處的交互項的表示分別取自原始項嵌入矩陣M(即mi和msl),全局偏好表示為歷史項目i′∈Su的聚合表示,這正是學習到的全局表示sg,然后,將單個級別的門控輸入入MLP,如下所示: g=σ(ISG(msl,sg,mi))=σ([msl,sg,mi]WG+bG) (15) 其中ISG(·,·,·)是項相似性選通函數(shù),[·,·,·]表示為三元級聯(lián)運算,WG∈R3d×1和bG∈R分別是要學習的權重和偏差,使用sigmoid函數(shù)σ(ξ)=1/(1+e-ξ)作為激活函數(shù),因此g的取值范圍限制為(0,1). 類似于文獻[37],嘗試將兩個元素的乘積(代表兩對項目的相似性)作為“[msl?mi,sg?mi]”引入MLP的輸入,這對預測性能沒有影響,理論上可能會造成一些信息損失. 通過相應的局部表示msl和全局表示sg的加權總和,可以得出第l步序列的最終表示,如下所示: zl=msl?g+sg?(1-g) (16) 最后,預測項目i的優(yōu)先級為序列中的第(l+1)個項目,如下所示: rl+1,i=zl(mi)T (17) 通常,如果兩個學習任務相互關聯(lián),則將兩個學習任務合并到多任務中比分別實現(xiàn)各自的目標更有效.在多任務中,一項任務的學習結果可以指導另一項任務更好的學習,學習多模態(tài)知識的嵌入可以看作是輔助任務,以預測用于基于會話推薦任務的特征(項目嵌入).因此,在基于多模態(tài)知識圖的用戶微行為序列推薦模型中,將多模態(tài)知識嵌入學習作為輔助任務導入多任務學習中,以輔助基于會話的推薦任務. 3.5.1 訓練集的選取 多任務學習的目標是在給定知識三元組K和基于會話推薦的訓練集Y的情況下,最大化模型參數(shù)Φ的后驗概率. 3.5.2 損失函數(shù) 根據(jù)貝葉斯規(guī)則,該目標是: (18) 其中p(Φ)是Φ的先驗概率,其遵循0均值和0.1標準偏差的高斯分布.p(K|Φ)是在給定Φ的情況下觀測K的可能性,而p(Y|Φ,K)是在給定K和Φ的情況下觀測Y的可能性,其定義為伯努利分布的乘積.多任務學習的目標綜合損失函數(shù)是: (19) 3.5.3 優(yōu)化策略 為了訓練基于會話的推薦任務,首先收集足夠的訓練樣本,并表示為 (20) 其中S和I是訓練樣本中的會話集和項目集. 通過多模態(tài)知識圖實體編碼器和多模態(tài)知識圖注意層后,將為每個實體學習一個新的實體表示,然后,將這些新的實體表示形式輸入到知識圖嵌入中,將實體和關系參數(shù)化為向量表示,同時保留了知識圖結構中的關系推理.具體來說,采用知識圖嵌入中廣泛使用的平移評分函數(shù)來訓練知識圖嵌入,當一個三元組(h,r,t)有效時,它通過優(yōu)化翻譯原則來學習每個實體和關系的嵌入eh+er≈et,其中eh和et是來自多模態(tài)知識圖注意層的新實體嵌入,er是關系的嵌入.公式(21)描述了三元組的得分(h,r,t). (21) 知識圖嵌入的訓練考慮了有效三元組和殘缺三元組之間的順序關系,并通過成對的等級損失來描述: (22) 其中Ω={(h,r,t,t′)|(h,r,t)∈G,(h,r,t′)?G},并且(h,r,t′)是通過隨機替換有效三元組中的一個實體而構成的殘缺三元組.該層對三元組的粒度進行實體和關系建模,充當正則化函數(shù)并將直接連接注入表示中,可以提高模型的表示能力. 4.1.1 數(shù)據(jù)集 KKBOX(1)https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data:這個數(shù)據(jù)集由著名的音樂服務公司KKBOX提供,包含許多用戶在某一特定時期聽音樂的歷史記錄.將“源系統(tǒng)標簽”作為用戶操作,例如“標簽我的書架”(對本地存儲的操作)和“標簽搜索”.實驗中使用的音樂屬性包括藝術家(歌手)、流派、語言和發(fā)行年份.為了構造KKBOX知識圖的圖像實體,對相應的音樂片段進行抓取,使用FFmpeg提取每個預告片的關鍵幀,并使用預先訓練好的ResNet50模型從關鍵幀中提取視覺特征;為了構造KKBOX知識圖的文本實體,從TMDB中抓取相應的音樂描述. JDATA(2)https://jdata.jd.com/html/detail.html?id=8:來自著名的電子商務網(wǎng)站京東.包含兩個月內用戶在京東上的一系列操作,操作類型包括點擊、訂購、評論、添加到購物車和收藏夾.實驗中使用的產(chǎn)品屬性包括品牌、商店、類別和上市年份.類似于KKBOX數(shù)據(jù)集,使用預先訓練的ResNet50模型來提取興趣點.推薦電子商品圖片中的視覺特征.為了構造電子商務知識圖的文本實體,對每個商品的興趣點使用用戶評論. 對于這兩個數(shù)據(jù)集,將4項屬性(關系)視為知識,并將其納入本文所提模型中.如文獻[3,14]所述,將JDATA中會話的持續(xù)時間閾值設置為1小時,將KKBOX中會話的索引間隔設置為2000(根據(jù)統(tǒng)計分析),以劃分不同的會話.過濾掉長度為1的會話以及在數(shù)據(jù)集中出現(xiàn)次數(shù)少于3次的項目.對于這兩個數(shù)據(jù)集,將較早的90%用戶行為作為訓練集,并將隨后(最近)10%的用戶行為作為測試集.在模型預測中,給定一個測試會話,模型首先計算所有項目的匹配分數(shù),然后根據(jù)分數(shù)生成前k個列表. 4.1.2 對比方法 為了強調本模型在性能方面的優(yōu)越性,將其與以下基于會話推薦模型進行比較: 表1 數(shù)據(jù)集Table 1 Dataset statistics FPMC[38]:一種基于隱馬爾可夫鏈的序列預測方法,常用作基于會話推薦的基線. GRU4REC+BPR/CE[7]:GRU4REC的改進版本,是最新的基于會話的推薦模型.GRU4REC+BPR使用貝葉斯個性排名作為損失函數(shù),而GRU4REC+CE使用交叉熵作為損失函數(shù). NARM[15]:這是一個基于GRU的會話推薦模型,考慮用戶偏好的長期依賴性. STAMP[5]:這個基于會話的推薦模型同時考慮了用戶的當前興趣和一般興趣.特別是,STAMP使用一個額外的神經(jīng)網(wǎng)絡來對當前興趣進行建模 SR-GNN[14]:利用GGNN捕獲會話中各個項目之間的復雜轉換模式,沒有包含微觀行為和知識. MKS:刪除所有與操作相關的模塊,其余組件與MMKS相同,驗證合并用戶微行為的重要性. MS:去除學習知識嵌入的輔助任務,即公式(22)中LKG,其余組件與MMKS相同.以下所有變體都消除了學習知識嵌入的任務,它們之間的區(qū)別在于對會話建模的操作. MS(GRU/GGNN):與MMKS不同,這兩個變體直接學習微行為嵌入,唯一區(qū)別是MS(GRU)將微行為序列饋送至GRU,而MS(GGNN)將微行為序列饋送至GGNN. 4.1.3 評估方法 使用以下指標來評估所有模型的性能,這些指標在以前的基于會話的推薦評估中被廣泛使用: Hit@k:這是命中樣本在前k個排名列表中具有正確的下一個交互項的所有樣本中所占比例. MRR @ k:在前k個排名列表中,正確的下一個交互項的平均倒數(shù)排名.如果正確的項目排在top-k之后,則倒數(shù)排名設置為零. 4.1.4 參數(shù)設置 為了公平比較,本模型和所有基線采用相同的操作維度和項目嵌入.由于篇幅限制,只顯示100維嵌入的結果.根據(jù)其他尺寸嵌入的實驗結果得出一致的結論.并且所有嵌入均采用高斯分布進行初始化,該分布的平均值為0,標準差為0.1. 將GGNN的步數(shù)H設置為1,本模型是通過交替訓練而不是聯(lián)合訓練來學習的,其原因將在以下實驗中得到驗證.另外,使用Adam優(yōu)化器,其學習速率為0.001,批處理大小為128.對于基線,在其論文中使用了默認的超參數(shù)設置(嵌入尺寸除外).關于控制參數(shù),在公式(19)中通過優(yōu)化實驗設置λ1取值為0.0001在每個數(shù)據(jù)集中.對于L2懲罰項λ2,將其設置為10-5作為以前的基于會話的推薦模型. 通過表2比較了所有模型在不同數(shù)據(jù)集上的基于會話推薦性能,實驗結果表明,本文所提出模型對于性能的提升起到了非常大的幫助,優(yōu)于所有數(shù)據(jù)集中的所有基線.如表1所示,KKBOX比JDATA具有更多獨特的操作,有助于更好地捕獲細粒度級別的用戶偏好.微行為操作和多模態(tài)知識圖譜結合使用,能夠改善基于會話推薦的性能.通過引入多模態(tài)實體的情況下,在結構化知識的基礎上,增加了文本和視覺,對于改善推薦的性能有極大的幫助并且比其他一些方法對于多模態(tài)信息更加友好.通過單獨學習項目嵌入和學習操作嵌入對會話進行建模比直接學習微行為嵌入更有效,如前所述,項目序列的轉換模式和操作序列的轉換模式不同,因此將項目與微行為操作結合在一起,對于性能的提升有一定程度的幫助,通過以上實驗結果證明采用微觀行為操作的效果具有顯著的優(yōu)勢. 表2 不同算法的推薦性能Table 2 Recommended performance of different algorithms 4.2.1 模型深度的影響 為了評估層堆疊的有效性,對不同數(shù)量的層進行實驗,層數(shù)視為模型的深度.對于本模型知識圖嵌入部分,將多模態(tài)知識圖注意層數(shù)固定為2,對于知識圖嵌入中不同模型深度(不同數(shù)量的多模態(tài)知識圖注意層)的影響可總結如下:在KKBOX數(shù)據(jù)集中,隨著多模態(tài)知識圖注意層數(shù)的增加,評估指標也隨之增加,證明領域信息融合在知識圖嵌入中的有效性;在KDATA數(shù)據(jù)集中,隨著多模態(tài)知識圖注意層數(shù)的增加,評估指標先增大然后減小,這可能是由于KDATA數(shù)據(jù)的多跳信息相對稀疏造成的,結合表3的結果,與那些獨立考慮知識圖實體三元組的方法相比,本文所提方法(在進行知識圖嵌入時考慮相鄰實體的信息)可以提供更高質量的實體嵌入以供推薦.對于推薦部分,隨著模型層數(shù)的增加,評估指標在兩個數(shù)據(jù)集中首先增長,這驗證了不同躍點的知識圖嵌入對推薦系統(tǒng)有幫助.但是,當兩個數(shù)據(jù)集中的層數(shù)大于 2 時,評估指標會下降.換句話說,當層數(shù)增加到一定程度時,評估指標下降,這可能是由于數(shù)據(jù)稀疏導致的過度擬合造成的. 表3 模型深度的影響Table 3 Effect of model depth 4.2.2 訓練策略 如前所述,多任務學習損失方程式有兩種訓練策略,即交替訓練和聯(lián)合訓練,分別用兩種策略訓練MMKS,并比較它們的學習曲線,此外,再添加一個預訓練變量進行比較,在該方法中,首先通過TransE對項目嵌入進行預訓練,然后將其輸入到KM-SR中,僅通過公式(20)中的函數(shù)損失進行調整.將知識學習納入3種不同策略的學習曲線表明,知識學習納入交替訓練的多任務學習是實現(xiàn)會話推薦任務的最佳策略. 圖5 結合知識學習的3種不同策略學習曲線Fig.5 Learning curves of three different strategies to combined with knowledge learning 在圖5中,曲線表明,雖然預訓練模型有比較好的學習起點,但在收斂階段已被其他兩個競爭對手超越,結果證明多任務學習優(yōu)于基于知識的預訓練,訓練集中經(jīng)常出現(xiàn)的項目將在聯(lián)合訓練的每個時期中通過損失LK進行調整,這樣會使得學習的嵌入內容偏向輔助任務LK,從而縮小主要任務LS的學習效果,因此在本模型的基于會話推薦場景中,交替訓練比聯(lián)合訓練要好. 4.2.3 門控的輸入和輸出 在圖6中,對項目相似性門控的MLP層進行一些更改:1)刪除全局偏好或最近交互的項目從MLP層的輸入;2)通過設置W和b,將上述單個級別的門控切換到特征級別,以獲得輸出矢量,為不同維度提供不同的權重.從圖6中可以看到,在門控函數(shù)中引入單一類型的歷史表示形式(即全局偏好和最近交互作用)通常足以實現(xiàn)出色的結果,從圖6中還可以看到,盡管希望對不同維度的權重進行細化,但特征級門控對實驗數(shù)據(jù)集帶來的結果卻是更糟.實際上,在實驗中發(fā)現(xiàn)特征級選通使模型更加不穩(wěn)定,從而傾向于陷入局部最優(yōu)狀態(tài). 圖6 對門控MLP更改的推薦性能Fig.6 Recommendation performance for gating MLP changes 在本文中,提出一種新穎的基于會話的推薦模型,該模型同時融合多模態(tài)知識圖和用戶微行為,并根據(jù)項目相似門以及圖自注意網(wǎng)絡,用于推薦.具體而言,采用不同的機制來學習用于生成細粒度會話表示的項目嵌入和操作嵌入,該模型將多模態(tài)知識圖譜引入,通過學習實體之間的推理關系并將每個實體的鄰居實體信息聚合到自身;還設計一個選通網(wǎng)絡,該網(wǎng)絡考慮候選項目之間的關系,最近的交互作用以及每個用戶的整體偏好,以應對用戶意圖的不確定性.在兩個真實數(shù)據(jù)集上的大量實驗證明所提出模型的合理性和有效性,對于傳統(tǒng)的基于會話推薦改善有很大的意義,通過一些消融和定量研究證明設計門控模塊的合理性.3.5 模型訓練
,如果項目j是會話s之后用戶的下一個交互項目,則ysj=1,否則ysj=0.然后采用Adam優(yōu)化器通過最小化二元交叉熵損失來訓練基于會話推薦任務,損失函數(shù)如下:4 實 驗
4.1 實驗設置
4.2 實驗結果
5 結 論