





摘要:傳統的矩陣分解算法只能簡單提取低階信息,而且特征組合單一,無法挖掘更多隱含信息。為了解決 MOOC 平臺課程推薦系統數據稀疏性的問題,提出一種基于顯隱式反饋相結合的擴展矩陣分解方法,同時為了避免冷啟動等問題,采用圖卷積神經網絡捕獲課程異構信息網絡中的上下文信息,可以很大程度避免了冷啟動問題,提升課程推薦的質量。實驗結果表明:該推薦算法具有較好的準確率,能有效地緩解了數據稀疏和冷啟動問題。
關鍵詞:推薦系統;異構圖;圖卷積神經網絡;顯隱式反饋;矩陣分解
一、前言
隨著互聯網的發展,越來越多的學習資源呈現在網絡上,學習者面對過載的學習資源的時候容易產生知識迷航等問題,導致難以找到自己感興趣的、合適自己的學習資源。因此,在線學習資源的推薦領域的研究越來越得到人們的關注,如何更有效地傳播知識,讓學習者更高效地學習到接下來的知識,更好得將知識應用到實際當中,是一個值得探討的重要研究。
傳統的推薦算法通常包含基于協同過濾算法和基于內容的推薦算法。協同過濾(CF)根據用戶的交互數據,得到具有相似興趣的用戶的潛在偏好后進行推薦,在傳統的推薦領域取得了較好的效果。然而,基于CF的方法在面對數據稀疏場景的時候存在冷啟動問題。而通過圖卷積神經網絡提取課程異構信息網路中的上下文信息,對比傳統的推薦算法的推薦性能更好。
二、相關工作
基于圖網絡的推薦方法的基本思想是利用不同路徑的用戶和項目之間的語義相關性獲取用戶和項目的特征表示,并將這些預訓練的特征表示向量作為特征合并到擴展的矩陣分解框架中去。 Gong等人[1]以異構視角在MOOC平臺上推薦知識概念,作者將訪問次數視為評分,將推薦問題視為評分預測問題,通過矩陣分解得到用戶和項目的潛在特征向量,同時利用豐富的異構上下文信息來輔助知識概念的推薦。Son N T等[2]將每個用戶的交互定義為隱式反饋,并從矩陣分解的角度探討了不同的注意力機制。
顯式反饋和隱式反饋相結合,挖掘用戶隱藏的偏好同時保留顯式數據反映對用戶偏好程度的能力,進而有效地提升推薦性能。Chen等[3]提出了一種基于概率MF的顯式和隱式反饋的潛在因素模型,將隱式和顯式反饋矩陣同時分解為在同一個共享子空間,然后,利用梯度下降算法聯合優化潛在因子向量。陳碧毅等[4]通過將顯隱式用戶與物品向量結合,訓練得出用戶對物品的預測偏好程度,提出了融合顯隱式反饋的協同過濾推薦算法。
三、本文網絡結構
本文采用一種基于元路徑的圖卷積網絡(GCN)來學習不同實體的表示。使用元路徑,通過GCN捕獲MOOC平臺異構信息網絡中的上下文內容特征信息。首先對傳統的三層圖卷積神經網絡進行改造,將原來單一串行的圖卷積層分層傳播結構改變為密集連接的結構,考慮到鄰居節點的交互情況,通過級聯各個圖卷積層,獲得不同階的鄰居特征表示聚集后成為用戶向量和項目向量,用于擴展傳統的矩陣分解模型。
(一)元路徑
傳統的圖卷積神經網絡無法捕獲異構關系之間豐富的信息,只是獲取同構網絡中的語義信息。為了解決這個問題,將平臺數據建模成為異構信息網絡并使用元路徑作為指導,使得圖卷積神經網絡得以捕捉異構網絡中的信息特征。MOOC平臺包括用戶、課程、視頻、教師等異構信息。元路徑提供了通過這些路徑派生實體和實體關系的能力。MOOC平臺數據中提取出特征,構建一個結構化實體關聯圖(異構信息網絡)。來對不同類型實體之間的關系進行建模,如圖1所示,然后從關聯圖中選擇不同的元路徑來描述用戶和用戶,課程與課程之間的關系。從異構信息網絡中可以挖掘出不同的關系。不同的元路徑包含著不同的語義信息,可以增強用戶和項目之間的相關性。如:學生和課程間存在學習關系、視頻之間存在先后關系、課程和教師存在教授關系,學生和視頻存在觀看關系等。采用元路徑挖掘出課程信息網絡中的潛在關系,比如,課程-教師-課程,表示兩個課程都是同一個教師所教授的,課程之間可能沒有直接的關系,但是可以通過元路徑挖掘出其中潛在的含義。
(二)圖卷積神經網絡
傳統的卷積方法主要應用在排列整齊、邊界清晰等歐幾里得結構的數據上,這是因為卷積方法需要保證數據的平移不變性。而圖結構不具備這種特征,圖結構的每個節點的鄰接節點數量不固定,而卷積運行需要用到一個同樣尺寸大小的卷積核。通過譜圖理論,可以將傳統的卷積方法轉換為一種適合圖結構的計算方法。
圖卷積神經網絡(GCN) 實質上是匯聚了節點之間的鄰近節點的特征信息,通過對圖上各個節點進行不斷地迭代訓練進而在特征向量空間中將具有相似性的節點聚合在一起。將卷積神經網絡的局部特征融入到整體結構中的這種傳播規則使得了GCN具有豐富的特征信息,因為隨著GCN層數的增加,其中每一個節點匯聚的特征信息也將變得越來越豐富。為了學習用戶和課程在MOOC異構信息網絡中的表示,本文采用了多層圖卷積神經網絡,其分層傳播規則如下公式(1)。
表示實體的新表示形式。特別是是提取的初始特征,其中是相對應的元路徑的鄰接矩陣,是的度矩陣。是l層的可訓練的權重矩陣。
最后聚合不同元路徑的特征表示,得到聯合全局特征表示。
(三)顯隱式反饋
在推薦系統中,用戶對項目的歷史行為數據分為兩種,一種是隱式反饋數據,這種數據通常用于比較用戶對兩個項目之間的偏好程度而無法準確得用于衡量用戶的偏好程度。另一種是顯式反饋數據,這種數據通常是用戶對項目的評分或者評價,可以用來準確衡量用戶的喜好程度,但是因為用戶很少主動地去對某個課程給出評分或者評價[5],所以顯式反饋數據很難收集到,而且數據存在很大的稀疏性。用戶對課程的點擊,觀看的數據在推薦系統領域都算是一種隱式反饋的數據,這類數據包含了用戶大量隨機產生的行為數據,通常這種隱式數據可以真實地反映用戶的偏好。但是如果將這些數據的頻次視為用戶對該課程的一種評分,可以更加細化這種偏好的程度。使用不同的推薦算法,將顯式反饋和隱式反饋結合起來,可以相互彌補它們之間的缺點,同時發揮彼此的優勢,提高推薦的效果。
1.第一階段。采用負樣本采用算法對用戶的隱式反饋數據進行采用,這里采用的是通過計算課程之間的相關性,選取與學習過的課程相似度程度較低的課程,同時,選擇課程熱門程度較高的課程作為負樣本,因為課程如果一個課程沒有被選擇,可能的原因是因為學習者對該課程沒有興趣,或者說因為該課程太過冷門導致學習者沒有發現該門課程。為此,以課程之間的相似度和課程的熱門程度作為依據,采用冪函數作為非線性變換函數對兩類特征進行轉換得到采樣概率值,再對其進行相加得到最終的采樣概率分布。采樣到負樣本后,選擇使用貝葉斯個性化排名(BPR)進行排序學習。貝葉斯個性化排序算法是實現最大化后驗概率優化排序的算法,它的損失函數如公式(2)。
其中,表示正樣本與未知樣本之間的偏好差異,訓練集可以通過負樣本采樣到的未知課程與用戶訓練集中的一個已交互的課程進行隨機配對來構建。選用Adam進行訓練,并設置批尺寸(batch size)為256,訓練迭代次數(epoch)設置為20。
2.第二階段。采用將用戶點擊課程的次數視為評分,得到用戶對課程的評分矩陣R,采用傳統的評分矩陣分解進行訓練進而得到顯式特征向量。通過最小化所有項目對的誤差平方和。在得到用戶和項目的上下文內容特征向量后,將其用于擴展傳統的矩陣分解。傳統的矩陣分解將用戶對課程的評分表示為y,用戶對某一個課程的評分定義如公式(3)。
表示用戶的隱因子向量,表示課程的隱因子向量,通過將GCN應用于基于元路徑的異構信息圖來學習用戶和課程的項目表示來擴展矩陣分解模塊[6]。如公式(4)所示。
使用圖卷積神經網絡可以根據相鄰節點來學習圖的節點表示,采用分層傳播規則學習用戶和項目表示,在不同元路徑的引導下,融合學習到的上下文內容特征表示,生成全局特征表示。結合擴展矩陣分解得到用戶對課程的偏好得分。
(四)混合推薦算法
通過成對學習排序中的貝葉斯個性化排序得到用戶對課程的相對喜好排序后,再通過顯式反饋的評分預測去重新排序用戶的相對喜好排序列表的前K項得到最終的推薦列表。
四、實驗結果
(一)實驗數據集
1.MOOCCube數據集。 MOOCCube數據集是清華大學在2020年發布的MOOC數據集,在數據集中抽取6000名用戶和400門課程作為實驗數據集。將用戶學習過的課程作為用戶的積極樣本(即正樣本),采用前面提到的算法進行負樣本采樣,將采樣到的課程作為用戶的消極樣本(即負樣本),如果將所有課程都作為候選推薦課程會大大增加評估的時間復雜度,因此選取99門用戶未學過的課程放在測試集中,作為預測的干擾項。
2.IMOOC數據集。爬取慕課網的數據作為實驗數據集,包括2032438位用戶、2349 門課程。為了去除數據集中的噪聲課程和方便模型讀取,首先對原始數據集進行歸一化處理,從所有用戶中篩選出學習課程數大于15 門的用戶;在這些用戶中隨機抽取400位用戶和60 門課程作為實驗數據集。
(二)評價指標
本文采用了排序列表的性能由命中率(HR)來衡量推薦系統的性能。命中率 HR@K是基于召回的度量,測量了推薦的準確性,能直觀地衡量測試課程是否存在于列表的前K項中,本文對HR指標的截斷K值均設置為10。HR的公式(5)所示。
(三)基線模型
為了客觀地評估本文提出的模型的有效性和可行性,本文考慮了一些傳統的推薦算法和基于深度學習的推薦算法,將它們進行比較,從而驗證模型的有效性。
ItemKNN:ItemKNN是基于項目的協同過濾推薦算法在關于用戶感興趣項目推薦上的應用。
BPR-MF:是一種具有代表性的基于成對學習的 MF 模型,損失函數關注的是成對排序損失,即最大化正樣本與負樣本之間的排序,而不是減少預測值與真實值之間的誤差,其中其正負采樣率控制為 1:1。
NeuMF:神經網絡矩陣由廣義矩陣分解模型和多層感知機模型兩部分組合而成,使其同時具有線性和非線性建模的能力。
FISM:FISM模型中以內積形式來線性建模物品和物品之間的低階交互關系。
(四)實驗結果分析
模型HR@10(%)性能指標比較,如表1所示。
五、結語
本文采用了圖卷積神經網絡提取MOOC平臺中異構信息網絡的初始特征,并作為擴展矩陣分解的一部分,同時使用隱式反饋和顯式反饋相結合的方法,提高了課程推薦的性能。并通過兩個不同的數據集進行實驗,驗證了本文提出的方法的有效性。
參考文獻
[1]GONG J, WANG S, WANG J, et al. recommend convolutional networks for knowledge concept recommendation in moocs in a heterogeneous view[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2020: 79-88.
[2]Son N T ," Jaafar J ," Aziz I A , et al. Meta-Heuristic Algorithms for Learning Path Recommender at MOOC[J]. IEEE Access, 2021, PP(99):1-1.
[3]Shulong Chen,Yuxing Peng. Matrix factorization for recommendation with explicit and implicit feedback[J]. Knowledge-Based Systems,2018,158:
[4]陳碧毅,黃玲,王昌棟,等.融合顯式反饋與隱式反饋的協同過濾推薦算法[J].軟件學報,2020,31(03):794-805.
[5]F Prathama,F Senjaya-W,N Yahya-B. Personalized Recommendation by Matrix Co-Factorization with Multiple Implicit Feedback on Pairwise Comparison[J]. Computers amp; Industrial Engineering, 2020(152): 107033.
[6]Zhao Changwei,Sun Suhuan,Han Linqian, et al. HYBRID MATRIX FACTORIZATION FOR RECOMMENDER SYSTEMS IN SOCIAL NETWORKS[J]. Crossref(6): 559-569.
(作者單位:廣東工業大學自動化學院)