?

采用局部子圖嵌入的MOOCs知識概念推薦模型

2024-01-11 13:15居程程
計算機與生活 2024年1期
關鍵詞:子圖異構實體

居程程,祝 義,3+

1.江蘇師范大學 計算機科學與技術學院,江蘇 徐州 221116

2.江蘇省教育信息化工程技術研究中心,江蘇 徐州 221116

3.高安全系統的軟件開發與驗證技術工業和信息化部重點實驗室(南京航空航天大學),南京 211106

近年來,伴隨著現代信息技術的迅猛發展,以人工智能為代表的新興技術在教育領域得到了廣泛應用,引發了學習理念和方式的深刻變革。在這種大背景下,MOOCs(massive online open courses)超越了時空的限制,得到了蓬勃發展,為學習者“隨時隨地”學習提供了更多的可能性[1-2]。

然而,隨著課程資源共享平臺的不斷增加,網絡共享資源的數量逐年穩步增長,在線課程的整體完成率卻通常低于7%[3-5]。其中導致輟學率居高不下的主要原因是在線學習平臺忽視了“以學習者為中心”的現代教學理念,不能根據用戶的個性化需求準確提供學習資源[6]。為此,相關研究大多集中在了解輟學或拖延行為[1,7-10],或推薦用戶可能感興趣的課程和學習路徑等內容[11-16]。

但課程涵蓋了一系列視頻,其中每個視頻都與一些知識概念相關聯,課程或視頻推薦忽略了用戶對特定知識概念的興趣。不同教師的課程在微觀上可能會有很大差異,可能會從不同的角度教授這些知識概念,用戶可能會對不同教師的各種視頻片段或學習材料產生不同的興趣。因此,從更細粒度的角度了解用戶的學習需求并預測用戶可能感興趣的知識概念對課程資源推薦任務來說非常重要[17-19]。

目前較為流行的有基于協同過濾的推薦方法,根據用戶的相似度或者課程內容的相似度進行資源推薦[11-13,20-22]。其優勢在于不需要太多特定領域知識,易于實現,但無法解決數據稀疏問題,過度偏向推薦熱門資源。另一種較為流行的是基于矩陣分解的方法[13,23-26],在協同過濾的基礎上加入了隱向量,一定程度上增強了模型處理稀疏矩陣的能力,但不易添加用戶、課程資源之間的上下文關系信息。

為能夠利用更多有效信息,相關研究引入了異構圖。在課程資源推薦任務中,用戶、課程資源等實體及其關系被建模為異構圖,上下文信息得到有效利用,課程資源推薦效果得到顯著提升[17-19]。然而,基于圖卷積算法需要在訓練期間對全圖拉普拉斯算子進行操作,即假設預測與訓練節點(用戶和知識概念類型實體)在一個圖中,要求在訓練過程中圖上所有節點都已被考慮進去[27]。需要大量的計算成本和內存,將其應用到大圖是不可行的。此外,由于它們在一個固定的圖上直接生成最終的節點嵌入,圖的結構稍微有所變化,就需要重新訓練[28]。

基于上述問題,本文提出了一個端到端模型Mooc-Sage(massive online open course sampler and aggregate),用于MOOCs 課程資源推薦中的知識概念推薦。通過構建異構圖引入實體間豐富的上下文關系信息,緩解數據稀疏問題。為充分挖掘不同類型實體間豐富的語義關系,將異構圖分解為用戶/知識概念相關的多個基于元路徑的子圖,每個子圖關聯特定的語義和結構信息。采用隨機游走算法在子圖上采樣富有影響力的局部鄰域,并在局部鄰域上進行圖卷積平滑各節點表示,實現高可擴展性。不同的子圖對用戶/知識概念來說可能有不同的重要性,使用注意力機制自適應地融合不同子圖下用戶/知識概念的圖嵌入表示[29]。最后,通過擴展矩陣分解優化模型參數,獲得推薦列表[30]。在公開的MoocCube 數據集[31]上進行了綜合實驗,用以評估MoocSage 的性能。與目前最先進的基線方法相比,MoocSage 的有效性得到了全面的證明,可以高效地為用戶推薦感興趣的課程資源。

本文的主要貢獻可概括如下:

(1)提出了一種端到端的基于圖采樣聚合的歸納式推薦算法,有效利用豐富異構上下文信息輔助知識概念推薦的同時大幅減少現有方法過多的計算資源需求。

(2)構建了一個與推薦任務相關的異構信息網絡,可有效捕獲MOOCs 平臺中不同類型實體之間的復雜交互信息。

(3)擴展了基于隨機游走的采樣方法,在多個元路徑的引導下以注意力的方式傳播用戶的偏好并發現用戶的潛在興趣。

(4)使用公開的MoocCube 數據集進行大量實驗,全面評估了所提出模型的性能,與一系列強基線相比,綜合證明了所提出模型的有效性。

1 相關研究

1.1 基于矩陣分解的推薦

從直觀上看,矩陣分解就是將評分矩陣近似分解為兩個低維矩陣的乘積,分別表示用戶與物品的隱語義,其假設實際的交互數據是在一系列隱變量的影響下產生的。文獻[13]提出將非負矩陣分解應用于主題建模來尋找用戶之間的相似性以進行基于內容的過濾,向用戶推薦感興趣的課程資源。文獻[23]考慮到成績容易受到學術特征的影響,將學生和課程按照特征劃分為多個組,結合基于鄰域的用戶協同過濾、矩陣分解和基于流行度的排名方法設計成績預測和Top-k課程資源推薦模型,幫助學生選擇合適的課程。文獻[25]提出了一種新的基于概率的鄰域方法,作為標準的K 近鄰方法的進一步改進,緩解了協同過濾推薦系統的一些最常見的問題,分析研究用戶對在線課程的滿意度與學生保留率的關系。文獻[26]基于矩陣分解模型,結合協作過濾算法,利用外部資源的信息(用戶、課程特征)預測用戶對課程的偏好,并根據偏好程度進行評分預測。文獻[24]針對學生難以在日益擁擠的課程論壇中尋找有用主題這一挑戰,基于自適應特征的矩陣分解框架,提出線程推薦用以解決線程過載問題,向學生推薦他們可能感興趣的主題。這些方法在一定程度上能夠增強模型處理稀疏矩陣的能力,但不易添加用戶、課程資源和上下文關系信息。

1.2 基于異構圖推薦

異構圖多用于表征推薦任務中復雜、異構的數據,使得豐富的上下文信息得到有效利用,進一步緩解數據稀疏問題。文獻[30]提出了一種基于異構圖嵌入的推薦方法(heterogeneous network embedding based recommendation approach,HERec)。HERec 在元路徑的基礎上使用隨機游走策略生成節點序列,將所生成的節點序列作為語料輸入到Skip-gram[32]模型進行用戶和項目的嵌入表示??紤]到不同元路徑下的嵌入表示存在不同的語義信息,HERec 將不同元路徑的嵌入表示進行加權融合,將融合后的實體的嵌入表示饋送到擴展矩陣做預測評分任務。HERec 整合異構信息網絡(heterogeneous information network,HIN)中的各種嵌入信息,增強推薦性能,但受限于Skip-gram模型,僅能聚合有限的鄰域信息。文獻[17]提出一種基于圖卷積注意力異構圖深度知識概念推薦模型(attentional heterogeneous graph convolutional deep knowledge recommender,Ackrec),用于MOOCs中的知識概念推薦,Ackrec 將推薦問題視為評分預測任務,其中用戶對知識概念的評分為用戶和概念之間的交互次數。Ackrec 通過圖卷積網絡學習實體的表示,在元路徑的指導下傳播用戶偏好,使用擴展矩陣分解進行課程資源評分推薦。Moocir(Mooc interest recommender)[19]在Ackrec 的基礎上進行了改進,提出并研究了不同的注意力機制與目標函數,將評分預測改為點擊預測,提升了推薦效果。Ackrec與Moocir 在一定程度上緩解了數據稀疏問題,實體內容信息與實體間的上下文信息得到了有效利用,但受限于圖卷積算法,需要極高的計算成本,將其應用于大圖是不可行的。

1.3 大規模推薦

針對傳統的圖卷積算法無法擴展到大規模推薦這一問題,PinSage(pinterest sample and aggregate)[33]使用單個節點多次短隨機游走的方法進行節點采樣,根據L1-范數選取目標節點的重要鄰居節點,動態構建計算圖進行局部的圖卷積,實現Pinterests 上大規模item2item 推薦,具有高度可擴展性,能夠適配數十億節點和數百億邊的網絡。PinnerSage(pinner sample and aggregate)[34]利用從PinSage 中得到的物品表示,將用戶較長時間內交互過的物品表示聚成若干類,檢索每一類表示的最近鄰表示,融合作為用戶的表示,實現Pinterests 上大規模user2item 推薦。Pinterest 包含豐富的圖像和文本信息,各實體間關系隱式地包含在實體的內容特征中,僅使用user-item的交互信息就能得到很好的推薦效果。但其他傳統推薦數據集,通常只有各實體名稱信息、類別信息,僅考慮user-item 的交互容易受到數據稀疏性問題的影響,無法進行有效推薦。

針對以上問題,本研究通過構建異構圖引入用戶、課程資源之間的上下文關系信息,將異構圖分解為多個子圖,擴展隨機游走算法并結合圖采樣聚合方法捕獲豐富的異構鄰域信息,以注意力的方式適應性融合不同子圖下的嵌入表示,緩解數據稀疏問題的同時具有較強的可擴展性。

2 問題陳述與模型架構

2.1 問題陳述

本文基于這樣一種假設:興趣偏好相同的用戶或存在相連關系的知識概念彼此間有著相似的表示,在嵌入空間的位置更為鄰近。理論上,各實體根據自身特征(用戶信息/知識概念信息)進行嵌入表示后,結合實體間上下文關系信息進行平滑處理,可使得存在相連關系的實體存在相似表示。具體如圖1所示。

圖1 問題陳述Fig.1 Problem statement

擬解決的問題:給定各用戶在MOOCs 上的歷史交互記錄及MOOCs 中各實體間的關系信息,計算用戶對各知識概念的偏好分數,為用戶推薦可能感興趣的知識概念,保持高推薦性能的同時降低計算資源需求。具體來說,根據用戶(User,u)的歷史交互記錄(例如,u302750:“地址解析”“數據傳輸”)及所涉及到的相關實體間的上下文關系信息(例如,網絡技術與應用),訓練預測函數f用于為u進行Top-k知識概念推薦(例如,“Ip 地址”“單播”),f:u→{ki|ki∈K}。

2.2 模型架構

本研究提出的知識概念推薦模型MoocSage 的架構如圖2所示。由以下子模塊組成:

圖2 MoocSage模型架構Fig.2 MoocSage model architecture

(1)構建異構圖:提取實體特征,通過實體及各實體間關系構建異構圖,根據所構建的異構圖選擇有效元路徑用以描述實體之間的上下文關系,基于元路徑將異構圖分解為多個子圖。

(2)逐層游走聚合特征:在各子圖中操作局部圖卷積進行多層鄰域信息聚合,平滑鄰接節點表示。

(3)組合子圖特征:每個子圖關聯特定的語義和結構信息,基于不同子圖可得出目標實體的各種表示。不同的子圖對用戶/知識概念類型實體來說可能有不同的重要性,使用注意力機制自適應地融合來自不同子圖的實體表示。

(4)預測評分:在生成用戶/知識概念類型實體的低維表示后,通過擴展矩陣分解優化模型參數,獲得推薦列表。

3 主要方法

3.1 構建異構圖

本節將詳細介紹如何提取實體內容特征、選擇上下文信息,如何學習知識概念和用戶類型實體表示,以及如何基于學習到的實體表示進行知識概念推薦。

3.1.1 實體內容特征

在課程資源推薦任務中,用戶類型實體屬性存在一定的缺失。針對這個問題,本研究使用Metapath2vec[35]模型進行各實體的預訓練嵌入,最大化不同實體表示的差距,將對比學習結果作為實體的內容特征,如圖3所示。

圖3 預訓練實體內容特征Fig.3 Pre-training entity content features

3.1.2 實體間上下文關系

除了實體自身內容特征外,實體間還存在著豐富的異構信息,為了有效利用這些不同實體類型間的上下文信息,緩解數據稀疏問題,在用戶學習活動中考慮以下關系:

Mu-c:用戶-學習-課程(course,c)鄰接表,用于描述用戶和課程類型實體之間的關系,鄰接表中每個交互對[ui,ck]表示用戶i學習過課程k。

Mu-v:用戶-觀看-視頻(video,v)鄰接表,用于描述用戶和視頻類型實體之間的關系,鄰接表中每個交互對[ui,vk]表示用戶i觀看過視頻k。

Mc-kc:課程-包含-知識概念(knowledge concept,kc)鄰接表,用于描述課程與知識概念類型實體之間的關系,鄰接表中每個交互對[ci,kck]表示課程i包含知識概念k。

此外,為了使上下文關系更為緊密,縮減隨機游走采樣時間,在原有關系的基礎上,添加了多跳上下文關系,例如用戶與知識概念類型實體間的多跳關系由用戶與視頻類型實體之間、視頻與知識概念類型實體之間的關系組合而成。

Mu-kc:用戶-學習-知識概念鄰接表,用于描述用戶和知識概念類型實體之間的關系,鄰接表中每個交互對[ui,kck]表示用戶i在學習過程中點擊了知識概念k這一活動。

Mu-t:用戶-學習-課程-教師(teacher,t)鄰接表,用于描述用戶和教師類型實體之間的關系,鄰接表中每個交互對[ui,tk]表示用戶i學習過k老師教授的課程。

基于以上關系構建MOOCs 網絡模式[36],如圖4所示。

圖4 MOOCs網絡模式Fig.4 MOOCs network model

3.1.3 元路徑選擇

定義1(異構信息網絡)異構信息網絡也被稱為異構圖,是一種特殊的圖[30]。如G=(V,E),其中V和E分別表示節點與邊的集合。此外,異構信息網絡存在節點類型映射函數φ:V→A與鏈接類型映射函數φ:E→R,A和R表示異構圖中節點與鏈接類型集合,且|A|+|R| >2。示例見圖5。

圖5 MOOCs異構信息網絡Fig.5 Example of MOOCs heterogeneous information network

定義2(元路徑)元路徑(meta-path,mp)代表異構圖中各節點間的復合關系[37],定義為(簡寫為A1A2…Al)形式的對象序列,表示節點類型A1與節點類型Al之間的關系組合。在本研究中,A1與Al代表同一類型?;谠窂綐嫿ㄗ訄D,即從異構圖分離出包含特定語義的子圖,其上所有實體類型、實體間關系與元路徑描述一致。如圖6給出的示例。

圖6 基于元路徑的子圖Fig.6 Subgraph based on meta-paths

具體來說,描述不同用戶觀看同一視頻關系的元路徑可以定義為,在該路徑的指導下從包含多個類型節點的異構圖5 中分割出擁有特定語義的子圖。比如u1與u2在該子圖上存在鏈接關系,可以表示為,子圖的語義表述為u1與u2觀看過同一個視頻v6,代表u1與u2在圖結構上存在著相似性。原異構圖中包含用戶、課程、知識概念等多種類型實體,而分離出的子圖僅包含用戶類型實體,圖上實體間連接關系為觀看過同一視頻。

基于元路徑構建子圖旨在通過構建子圖減少運算規模,降低圖卷積所需計算資源。此外,將原有異構圖分解為多個包含特定語義的同構圖,能得到更有意義的實體嵌入[38]。

圖7 子圖采樣聚合Fig.7 Subgraph sampling aggregation

3.2 子圖游走采樣聚合

本研究在PinSage 的基礎上進行了改進,采用元路徑的指導的方式對各目標節點進行多次短隨機游走,根據L1-范數選取目標節點的重要鄰居,構建相關子圖。具體流程如算法1所示。

算法1SubgraphSample

使用局部卷積模塊為子圖中節點生成嵌入方式進行目標節點的鄰域信息聚合。節點表示取決于節點的輸入特征與該節點周圍的圖結構信息,使用圖卷積平滑各節點表示,緩解數據稀疏問題。具體流程如算法2所示。

算法2SubgraphAgg

圖神經網絡最初是為圖分類任務而設計的,特征轉換、非線性激活等神經網絡操作可能對推薦任務貢獻較小[39]?;诖?,本研究在PinSage 提出的局部卷積算法的基礎上進行了改進,去除了非線性激活函數,但考慮到輸入節點包含豐富的內容特征,保留了矩陣特征變化,用于特征提取。

對每個目標節點v,首先使用聚合函數AGGREGATE聚合鄰域節點信息,具體來說,聚合函數AGGREGATE根據相鄰節點權重α進行鄰域特征集合的加權求和,結果表示為節點v的鄰域表示hN(v)。其次將hN(v)與目標節點v的特征hv進行拼接,并通過矩陣變化進行特征提取,最后進行歸一化操作,即生成包含了節點v自身以及節點v局部圖鄰域的嵌入表示zv。

每應用一次鄰域卷積聚合操作(算法2),會得到新的節點表示,堆疊多個卷積,可獲得關于目標節點v的多階局部鄰域信息。如卷積層數k=2 時每個節點可以最多根據其2 階鄰接點的內容信息學習更新自身的嵌入表示。子圖局部卷積過程見圖7。

3.3 聚合子圖特征

不同子圖生成不同的節點表示,使用注意力機制自適應地融合來自不同子圖的實體表示。聚合子圖過程可見圖7。不同的子圖對于每個用戶/知識概念可能具有不同的權重,在聚合來自不同元路徑的用戶/知識概念表示時,對每個用戶/知識概念區分不同元路徑的重要性進行加權合并是非常有必要的。在本研究中,將使用如下的注意力計算機制計算用戶/知識概念對不同子圖的注意力得分:

3.4 預測評分

在使用注意力機制學習到知識概念與用戶的最終表示Zkc與Zu后,使用擴展矩陣分解的方法計算偏好分數為用戶進行知識概念推薦。預測評分過程可見圖7。

用戶u關于知識概念kc的偏好分數可以通過如下的擴展矩陣分解框架計算:

本研究使用BPR(Bayesian personalized ranking)進行模型的優化,基于假設:相比較于用戶未與之交互的知識概念列表中的隨機知識概念,用戶已經學習過的知識概念應該得到更高的分數。BPR 的損失函數表述如下:

其中,(u,i,j)為一個三元組,包括用戶u、正樣本i(已交互知識概念)和負樣本j(隨機選取的知識概念)。通過計算用戶在正樣本和負樣本之間的偏好差異,σ表示sigmoid 函數,λ是L2 范數的正則化參數,Θ表示要學習的參數集。

算法3mini-batch訓練方法

4 實驗

4.1 數據集

本研究使用來自XuetangX平臺提供的MoocCube數據集[31]進行實驗。在這項工作中,使用文獻[19]所提供清洗后的MoocCube 小規模數據集(Mooc-Cube_small,MoocCube_s)進行推薦性能對比實驗。其次使用MoocCube 大規模數據集(MoocCube_big,MoocCube_b)進行補充實驗,進一步體現模型的泛化性能及其在資源利用率方面的優勢。其中2017-01-01 到2019-10-31 的用戶活動用于訓練,2019-11-01 到2019-12-31 的用戶活動用于測試。MoocCube_s 數據集總計2 005 個用戶、210 037 個知識概念、600 門課程、22 403 個視頻、138 位教師以及這些不同類型實體之間的關系。用戶和知識概念之間總共有930 553次交互,858 072次交互作為訓練集,剩余72 481次作為測試集。MoocCube_b 數據集總計17 877 個用戶、24 289 個知識概念、649 門課程、29 379 個視頻、1 599位教師以及這些不同類型實體之間的關系。用戶和知識概念之間總共有7 625 850 次交互,5 944 187 次交互作為訓練集,剩余1 681 663 次作為測試集。數據集的統計數據如表1所示。

表1 MoocCube數據集統計Table 1 Statistics of MoocCube dataset

4.2 評估指標

本研究使用如下常用的推薦系統評估指標評估模型性能。命中率(hit rate,HR),一個基于召回的指標,用于反映推薦序列中是否包含了用戶真正點擊的知識概念,強調預測的準確性。歸一化折損累計增益(normalized discounted cumulative gain,NDCG),一個用來衡量排序質量的指標,用于反映排序列表與用戶真實交互列表的差距。平均倒數排名(mean reciprocal rank,MRR),用于反映用戶真正點擊的知識概念是否在推薦列表更靠前的位置。ROC 曲線下面積(area under curve,AUC),用于反映模型的相對排序能力,即評估正樣本是否排在負樣本之前。具體來說,為測試集中每一組用戶-知識概念交互隨機抽樣分配99 個負實例,使用各個模型輸出各組100個實例的預測分數(1個正例外加99個反例),根據預測分數大小倒序生成推薦列表表示推薦列表中排名第i位的知識概念,k設置為10、20。

N是用于測試的集合總數,Tu表示正樣本,即用戶真實點擊的知識概念,I(x)是一個指示函數,如果Tu出現在推薦列表中I(x)=1,否則I(x)=0。

式中,Z為idcg(idea discounted cumulative gain)。

式中,ranki是指正樣本即已交互知識概念在推薦列表中的排名位置。

式中,m、n分別為正負樣本數。

4.3 模型參數分析

首先,研究鄰居節點數量的設置。實驗結果如圖8 所示。本研究設置了不同鄰居節點數量(50、100、150、200)進行實驗,發現當鄰居節點數量為100可獲得最佳性能。

圖8 不同鄰居節點數量下的性能表現Fig.8 Performance of different number of neighbor nodes

其次,研究采樣聚合層數如何影響模型的性能。如圖9 所示,所提出模型的性能隨著層數(即1、2、3、4)的不同而變化。實驗表明,采樣聚合層的最佳數量約為3。

圖9 不同卷積層數下的性能表現Fig.9 Performance of different number of convolutional layers

再次,研究節點采樣次數如何影響模型的性能。如圖10 所示,所提出模型的性能隨節點采樣次數(500、1 000、1 500、2 000)的不同而變化。實驗表明,采樣次數1 000即可取得較好效果。

圖10 不同采樣次數下的性能表現Fig.10 Performance of different number of walks

最后,研究dropout 如何影響模型的性能。如圖11 所示,所提出模型的性能隨dropout 大?。?.1~0.9)的不同而變化。實驗表明,dropout大小為0.5 時取得最佳效果。

圖11 不同dropout大小下的性能表現Fig.11 Performance of different dropout

4.4 模型變體

為更好地理解和研究MoocSage 中各模塊的貢獻,比較MoocSage 變體,以驗證所提出模型的主要組成部分的有效性。MoocSage 使用自適應矩估計(adaptive moment estimation,Adam)優化器。

MoocSage-a:MoocSage 的變體,移除attention層,以拼接的方式融合各節點在不同子圖下的表示。

MoocSage-b:MoocSage 的變體,使用Moocir 提出的注意力機制,即在計算注意力得分時考慮用戶、知識概念的潛在特征。

MoocSage-c:MoocSage的變體,在局部卷積模塊中保留非線性激活函數。

MoocSage-d:MoocSage 的變體,使用隨機梯度下降(stochastic gradient descent,SGD)優化器。

MoocSage-e:MoocSage的變體,采用手工處理方法解決用戶屬性缺失問題[17-19],將知識概念的名稱作為語料,使用Word2vector[32]進行知識概念類型節點的表示學習,用戶向量為用戶所點擊的知識概念向量的平均值。

MoocSage-f:MoocSage的變體,去除矩陣特征變化操作,使用拼接的方式融合目標節點自身與鄰域信息。

4.5 元路徑選擇

由異構信息網絡引出的潛在元路徑可能是無限的,但并不是每條元路徑都與特定任務相關。因此,本研究使用文獻[40]中所提方法進行元路徑的選擇,將路徑選擇問題表述為:給定一組預定義的候選元路徑集MP={mp1,mp2,…,mpl},選擇一個路徑子集MPselected?MP,使得任務的泛化性能最大化。通過分析異構信息網絡各實體間關系,本文選擇元路徑{UKU,UCU,UCTCU,UVU}來表征用戶對之間的相關性,選擇{KUK,KCK}表征知識概念對之間的相關性。具體來說,給定預定義的候選元路徑集MP={mp1,mp2,…,mpl},研究用戶相關元路徑及其組合的性能。如表2所示,各元路徑表現出不同的推薦性能。其中單條元路徑表現最佳的是元路徑{UCU},其次是 元路徑{UVU}、{UKU},最后是 元路徑{UCTCU}。多條元路徑組合方面,路徑子集{UKU,UCU,UCTCU,UVU} 綜合表現最佳。故本文選擇路徑子集{UKU,UCU,UCTCU,UVU}進行相關實驗。

表2 MoocSage在不同元路徑集上性能對比Table 2 Performance comparison of MoocSage on different meta-path sets

4.6 基線模型

本研究與以下基線進行比較,用以評估MoocSage的性能。

Node2vec[41]:綜合考慮深度優先搜索鄰域和廣度優先搜索鄰域的圖嵌入方法。采用有偏的隨機游走采樣頂點的近鄰序列,優化的目標是給定每個頂點條件下,最大化其近鄰頂點出現的概率。Node2vec最初是為嵌入同構圖而設計的,本研究忽略節點與邊的異構性,在整個異構圖上運行隨機游走采樣語料,用于訓練各節點嵌入。

Metapath2vec[35]:基于元路徑的表示學習方法,與Node2vec不同的是它利用基于元路徑的隨機游走來構建節點的異構鄰域,以此進行節點嵌入的學習。

Bpr[42]:矩陣分解方法,以貝葉斯方式優化推薦任務的成對排名損失。

Ackrec[17]:基于圖卷積的協同過濾算法。將MOOCs數據建模為異構圖,使用元路徑進行用戶(知識概念)的向量表示。

Moocir[19]:基于圖卷積的協同過濾算法。在Ackrec的基礎上提出并研究了不同的注意力機制與目標函數,構建隱式反饋模型。

PinSage[33]:基于圖采樣聚合的協同過濾算法,結合了隨機游走與圖采樣聚合生成節點的嵌入表示向量。同時考慮了圖結構和節點的特征信息。

Ngcf(neural graph collaborative filtering)[43]:基于圖卷積的協同過濾算法,顯式建模user-item 間高階連接性,旨在將user-item 的交互信息集成到Embedding中,完成二部圖上的高階連通性表達建模。

Lightgcn(light graph convolution network)[39]:基于圖卷積的推薦算法,在Ngcf 的基礎上移出非線性特征變換,保證預測精準度的同時加快了運行速度。

UltraGCN(ultra graph convolution network)[44]:基于圖神經網絡的推薦系統核心在于通過消息傳播機制收集信息,Lightgcn 這類多層卷積堆疊的方式可能會引入噪聲、有歧義的關系,易引發過度平滑效應。UltraGCN 在Lightgcn 的基礎上進一步簡化,跳過了無限的消息傳播層進而進行更高效的推薦。相比顯式的消息傳播,UltraGCN 通過設定收斂方式構建損失函數,從而避免了多層卷積堆疊帶來的問題。

Node2vec_mf(Node2vec_Matrix Factorization)、Metapath2vec_mf(Metapath2vec_Matrix Factorization):Node2vec、Metapath2vec 的變體。Node2vec、Metapath2vec等模型最初是為了節點分類任務設計,為充分發揮其性能以更公平地進行比較,參考文獻[30]中的方法,將Node2vec、Metapath2vec 學習到的節點嵌入表示集成到擴展矩陣分解模型中進行聯合優化,并引入可學習嵌入作為各實體的潛在表示。

Node2vec、Metapath2vec、PinSage、Ngcf 使用深度圖庫(deep graph library,DGL)[45]中的實現,Node-2vec、Metapath2vec各節點游走次數設置為500,游走長度設置為100。Bpr、Moocir、Lightgcn、Ackrec 參照文獻[17,19,39]所提供代碼實現,Node2vec_mf、Metapath2vec_mf 參考[30,33,41]等文獻所提供代碼實現。

4.7 實驗結果

4.7.1 模型變體實驗分析

表3 總結了MoocSage相關變體在不同指標下的性能??傻贸鲆韵陆Y論:

表3 MoocSage與變體模型的性能對比(MoocCube_s數據集)Table 3 Performance comparison of MoocSage and variant models(MoocCube_s dataset)

(1)注意力機制可有效融合各實體在不同子圖下的表示。

(2)計算注意力得分時,額外考慮用戶、知識概念的潛在特征,一定程度上提升模型在HR 指標上的性能表現,但模型復雜度隨之提升,性價比較低。

(3)非線性激活函數降低了模型的有效性,嚴重影響推薦性能。

(4)相較于Adam 優化器,SGD 優化器收斂速度慢,效果一般。

(5)相較于使用手工處理方法進行相關節點的表示,基于Metapath2vec這類的預訓練方法能更好地區分各節點的表示,從而大幅提升下游推薦任務的性能。

(6)矩陣特征變化有助于推薦性能的提升,主要原因在于輸入特征較為復雜,加入矩陣特征變化可進行有效的特征提取。

4.7.2 模型推薦性能對比分析

從表4、表5 可以觀察到,所提MoocSage 在MoocCube_s、MoocCube_b數據集上的表現均明顯優于對比方法。此外,由于MoocCube_b數據量過大,現有計算資源遠遠不能滿足Bpr、Ackrec、Moocir、Ngcf、Lightgcn 等模型的內存需求,也無法在有價值的時間內得到AUC指標。結合實驗結果分析各模型推薦性能,可得到如下結論:

表4 MoocSage與基線模型的性能對比(MoocCube_s數據集)Table 4 Performance comparison of MoocSage and baseline models(MoocCube_s dataset)

表5 MoocSage與基線模型的性能對比(MoocCube_b數據集)Table 5 Performance comparison of MoocSage and baseline models(MoocCube_b dataset)

(1)Bpr的表現顯著優于Node2vec與Metapath2vec,但遠弱于Node2vec_mf、Metapath2vec_mf。這表明,圖表示學習可挖掘出有效的用戶與知識概念間的豐富的上下文信息,結合擴展矩陣分解能進一步提升下游推薦任務的性能。相比較Bpr,Node2vec_mf、Metapath2vec_mf的提升來自于用戶與知識概念之間的上下文關系的有效利用。

(2)PinSage應用局部圖卷積算法,具有較強的可擴展性,但僅考慮用戶-知識概念間交互,容易受到數據稀疏問題的影響,推薦性能不如其他基于異構圖的模型。

(3)Moocir 相較Ackrec,顯著提高預測和推薦性能,隱式反饋方法在點擊預測任務上的表現更好。

(4)Ngcf 借助高階連通性將用戶和項目進行關聯,能夠有效提取協作信號,相較于其他對比方法,在AUC 指標上表現最好,擁有較強的正負樣本區分能力。

(5)Lightgcn在NDCG、MRR指標上優于Ngcf,表明去除非線性變換能在一定程度上提升排序質量。

4.7.3 模型捕獲交互信息的能力對比分析

根據所能捕獲實體間交互信息的復雜程度,將各模型分為兩大類,結合實驗結果對各模型捕獲交互信息的能力進行對比分析。

(1)具有捕獲user-item交互信息能力的模型

①Bpr 利用內積捕獲user-item 一階交互信息,但易受到數據稀疏問題的影響。

②Ngcf 通過多層堆疊捕獲user-item 多階交互信息,可有效緩解數據稀疏問題。但受限于計算資源,較難進行高階交互信息的捕獲。

③Lightgcn 在Ngcf 的基礎上進行改進,簡化模型,去除無關結構,進一步提升捕獲user-item 多階交互信息的能力。但受限于全圖卷積算法,高階交互信息捕獲成本仍不能得到有效降低。

④UltraGCN 根據節點的度計算系數,采樣鄰域節點,減少可訓練參數的同時將卷積層數壓縮為一層。高階交互信息捕獲成本得到有效降低。但受限于采樣方法和較多的超參數,訓練較為困難,最終結果一般。

⑤PinSage 基于隨機游走采樣方法捕獲user-item多階交互信息,具有高可擴展性。在有限計算資源下,仍能通過調整隨機游走策略捕獲高階交互信息。但對實體信息特征要求較高,在傳統推薦任務中效果表現一般。

(2)具有捕獲user-item 及其以外的其他類型實體間的交互信息能力的模型

①Node2vec 通過忽略各實體類型、實體間關系捕獲user-item 交互信息及其以外其他交互信息,實體嵌入混亂,推薦效果一般。

②Metapath2vec 在元路徑的指導下進行隨機游走采樣,構建具有特定語義信息的訓練語料,有效捕獲user-item 及其以外的其他類型實體間的交互信息,此外還可通過調整滑動窗口捕獲多階交互信息。但Metapath2vec 并未根據實體間關系區分交互信息類型,推薦效果一般。

③Ackrec、Moocir在元路徑的指導下基于全圖卷積算法進行相關實體間信息交互,通過層數堆疊的方式捕獲各實體間高階交互信息。但受限于全圖卷積算法,捕獲高階交互信息成本較高。

本文提出的MoocSage 在元路徑的指導下進行隨機游走采樣,可有效捕獲user-item 及其以外的其他類型實體間的高階交互信息。

4.7.4 模型資源利用率對比分析

圖12 總結了各模型在MoocCube_s 數據集上的內存消耗對比。將各模型分為4類,結合實驗結果對模型資源利用率進行對比分析。

圖12 MoocSage與對比模型在MoocCube數據集上的內存使用比較Fig.12 Comparison of memory usage between MoocSage and other models on MoocCube datasets

(1)基于矩陣分解的推薦模型

矩陣分解模型的主要思想是將user-item 交互矩陣分解為user和item特征矩陣,小數據集計算所需內存約為2.4 GB。但因涉及矩陣運算,隨著user-item交互矩陣的增加,所需計算資源呈倍數級上升,無法完成大規模推薦任務。算法復雜度為O(mnd2),其中m、n分別代表user、item數,d為user、item特征維度。

(2)基于表示學習的推薦模型

基于表示學習的推薦方法一般分為兩步:①構建語料;②使用skipgram 模型進行相關實體嵌入,最大化相鄰實體出現概率?;诒硎緦W習的推薦方法所需計算資源與語料、batch-size 相關。對于Mooc-Cube_s 數據集,Node2vec 效果到達最佳計算所需內存約為4.91 GB,Metapath2vec 根據實體間不同上下文關系構建語料,權重矩陣規模較Node2vec 有所擴大,效果到達最佳計算所需內存約為13.78 GB。對于MoocCube_b 數據集,調整至現有計算資源極限,Node2vec與Meta-path2vec推薦效果仍較差。算法復雜度為O(kv),k為中心詞的個數,v代表批處理大小。

(3)混合推薦模型

將由Node2vec、Metapath2vec 學習到的節點嵌入集成到擴展矩陣分解模型中進行聯合優化。Node-2vec_mf計算所需內存約為9.89 GB,因Metapath2vec學習到的節點嵌入更為復雜,Metapath2vec_mf 計算所需內存約為14.58 GB。因涉及矩陣運算,無法完成大規模推薦任務。算法復雜度與基于矩陣分解的推薦模型相同。

(4)基于圖神經網絡的推薦模型

①基于全圖卷積的推薦模型,需要在訓練期間對全圖拉普拉斯算子進行操作,如Ngcf、Lightgcn、Ackrec、Moocir,所需計算資源隨數據量、層數的增加曾指數級上升,無法完成大規模推薦任務。算法復雜度為,其中k代表卷積層數,Si為i層卷積操作涉及到的節點個數,約為1+N+N2+…+Nk。

②基于局部卷積的推薦模型,通過構建子圖的方式進行局部卷積操作,具有高可擴展性,所需計算資源與圖大小、batch-size 相關,可有效完成大規模推薦任務。UltraGCN、PinSage 僅考慮user-item 交互,計算所需內存分別為1.5 GB、1.7 GB。算法復雜度,其中b為batch-size。由于采樣M個節點而不是全部節點,故k層需要采樣的節點個數就變為1+M+M2+…+Mk,其中Mk?Nk。

本文所提MoocSage 通過構建異構圖引入用戶、課程資源之間的上下文關系信息,在保持高性能的同時有著極高的存儲效率,算法復雜度與Pinsage 相同,兩個數據集任務計算所需內存分別為2.3 GB、3.1 GB。特別是與Moocir 相比,MoocCube_s 數據集任務內存需求降低了近1 000%,性能提升近10%。相比Lightgcn,性能提升2%,內存需求降低了近500%。

5 結束語

針對傳統推薦方法無法有效擴展到大規模課程資源推薦這一問題,本文在PinSage 的基礎上進行了擴展,提出了一種可在異構圖上進行user2item 推薦的端到端的神經網絡模型MoocSage。為了驗證該方法的有效性,分析了多個模型變體,研究了模型的參數,并與現有研究進行了比較。從結果中可以得出結論,MoocSage 在保證高性能的同時大幅提升內存使用效率,可有效完成課程資源推薦任務,且具有高可擴展性。

隨機游走方法采樣出的樣本并不是均勻分布,節點被選中的概率和節點的度成正比關系,下一跳的選擇更傾向于高度節點,容易導致對高度節點偏差。接下來將嘗試尋找更加高效且準確的加權手段來修正這一問題。

猜你喜歡
子圖異構實體
試論同課異構之“同”與“異”
前海自貿區:金融服務實體
臨界完全圖Ramsey數
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
異構醇醚在超濃縮洗衣液中的應用探索
overlay SDN實現異構兼容的關鍵技術
基于頻繁子圖挖掘的數據服務Mashup推薦
LTE異構網技術與組網研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合