余 鵬,劉星雨,程 顥,楊佳琦,陳國華,賀超波
華南師范大學 計算機學院,廣州510631
在線課程是指依據特定的教學目標,按一定的教學策略組織教學內容[1],通過移動互聯網技術為學習者構建的網絡課程。常見的MOOC、微課、SPOC[2]及線上開放課程等都屬于在線課程。
在線課程不受時空限制,可以在有限的環境條件下完成學習,便于開展相關教學活動。根據中國互聯網絡信息中心(CNNIC)發布的第50 次《中國互聯網絡發展狀況統計報告》,截至2022年6月,各大在線課程學習平臺的學習者規模已達3.77 億[3]。此外,國家大力支持教育信息化,在《教育信息化2.0 行動計劃》文件中提出構建一體化的“互聯網+教育”平臺、整合各級各類教育資源公共服務平臺和支持系統、建成國家數字教育資源公共服務體系[4]的要求。在《“十四五”國家信息化規劃》文件中提出加快建設中國教育專用網絡和“互聯網+教育”大平臺,推動優質教育資源開放共享[5]。還有在《教育部辦公廳關于實施一流本科專業建設“雙萬計劃”的通知》中指出要引領帶動高校優化專業結構,促進專業建設質量提升,推動形成高水平人才培養體系[6]。上述文件的提出推動了在線課程學習平臺的快速發展。目前國內有學堂在線、中國大學MOOC和網易云課堂等平臺,國外則有Coursera 等平臺,這些平臺提供了數萬門課程,為上千萬國內外學習者提供在線學習服務。
在線課程平臺處在高速發展中,但仍然存在一些問題需要解決,其中最突出的是“課程過載”。一方面,課程信息的爆炸式增長使得學習者被大量無關的課程信息所困擾,導致他們難以找到適合自己的課程;另一方面,平臺很難為所有學習者提供個性化學習資源服務,導致學習者學習興趣減弱以及平臺用戶流失。為解決上述問題,研究人員將推薦系統引入在線課程平臺,提出在線課程推薦。在線課程推薦是指通過研究學習者的學習興趣和歷史選課行為以及課程屬性等信息,向學習者推薦其可能感興趣的課程,從而有效緩解“課程過載”問題,提升學習者的學習體驗[7]。
在線課程推薦系統的核心部分是高效的推薦方法,因此已有研究的重點都集中于推薦方法。經典推薦算法如協同過濾[8]等在實際應用中存在著冷啟動和灰群體等問題。隨著近年來智能信息處理技術的快速發展,在線課程推薦方法的研究迎來了新機遇,隨之提出基于智能信息處理的方法。如基于圖神經網絡的推薦方法[9]利用上下文信息更好地理解學習者的行為背景和偏好,從而提供更準確的推薦結果;基于知識圖譜的推薦方法[10]融合了大量的領域知識,使得推薦系統能夠更好地了解學習者需求并提供更精準的推薦結果;基于異質信息網絡的推薦方法[11]能夠整合多個不同類型的數據源,更全面地描述學習者和課程的特征和關系用于推薦。這些方法能夠更好地獲取學習者和課程的相關信息,進而完成推薦。
盡管目前已有在線課程推薦系統的相關綜述,如文獻[12-13],但它們只涉及傳統理論和方法,對于最新的理論和方法并未進行深入總結分析,也沒有整理和提供相關數據集。因此仍有必要對在線課程推薦系統的相關工作進行系統梳理和總結,為研究人員提供有價值的參考和指引。本文從推薦方法的角度對當前最新的在線課程推薦進行歸納總結,主要內容包括:(1)給出系統通用框架,歸納在線課程推薦系統的基本定義;(2)按不同原理對相關推薦方法進行分類;(3)介紹在線課程推薦系統的評價指標,整理相關數據集;(4)根據當前方法存在的問題,對未來在線課程推薦發展趨勢進行展望和總結。
本文提出一個通用的在線課程推薦框架,如圖1所示。在線課程推薦系統主要由學習者、課程和推薦方法三部分組成。學習者部分和課程部分主要包括學習者和課程的相關信息以及特征。推薦方法通過分析學習者特征與課程特征,從而向目標學習者推薦需要的課程。相關概念的詳細介紹如下:

圖1 在線課程推薦系統基本框架Fig.1 Basic framework of online course recommendation system
(1)學習者:即課程推薦系統的目標用戶,可以進行瀏覽、搜索和學習課程等操作。學習者是課程推薦系統的使用者,也是重要的數據來源,為后續優化推薦方法提供反饋信息。
(2)學習者特征:是學習者的屬性和相關特征信息,主要包括學習目標和需求、歷史學習信息、學習風格、學習進度等。這些特征用于課程推薦,是推薦方法的重要特征來源。
(3)課程庫:在線課程系統中所有網絡課程以及相關資源,主要包括課程視頻、電子教材、教學課件、作業等。課程庫中的課程是在線課程推薦系統的推薦對象。
(4)課程特征:是課程庫中課程的屬性和相關描述信息,主要包括課程的內容、主題領域和開課學期等。提取的課程特征可以通過推薦方法來實現滿足學習者需求的課程推薦。
(5)推薦方法:通過學習課程特征和學習者特征,對相關特征進行匹配,推薦給學習者可能感興趣的課程。
形式上,在線課程推薦系統可以定義為:設所有學習者的集合為S,所有課程的集合為C,函數f表示學習者s對課程c的感興趣程度,最符合學習者s偏好的推薦課程集合為C′,即f:S×C→R,其中R表示非負實數的有限序列,將使函數f取得最大值的課程推薦給學習者,如下所示:
隨著推薦方法的不斷發展,被應用于在線課程的推薦方法也趨于多樣化。本文基于不同的推薦方法,將在線課程推薦方法分為基于關聯規則挖掘的方法、基于矩陣分解的方法、基于概率模型的方法、基于深度學習的方法、基于智能優化的方法、基于語義計算的方法以及基于聯合建模的方法。主要方法介紹如圖2所示[14-70]。

圖2 在線課程推薦系統主要方法Fig.2 Main methods of online course recommendation system
關聯規則挖掘起源于購物籃分析,其中使用最普遍的方法是Apriori。Apriori 方法在課程推薦中重點關注課程和學習者之間的關聯。Tang[14]考慮每個學習者的興趣,根據其他學習者的學習情況,自動找到相似的學習者后對課程應用Apriori方法來創建課程關聯規則完成推薦。對于包含選課記錄和就業情況的數據,Liu 等人[15]提出將Apriori方法應用于選修課推薦,將學習者的選課記錄和就業情況作為一個事務處理,利用Apriori方法給出選課與就業之間的強關聯規則來處理相關數據,最終推薦對學習者就業有利的課程。Fauzan等人[16]提出將Apriori 方法與聚類方法結合,對每個學習者進行聚類操作,應用Apriori生成相關課程關聯規則示例,通過該規則進行評分并推薦。為了處理海量數據,Zhang 等人[17]提出基于Apriori 方法的分布式關聯規則挖掘方法,利用Hadoop和Spark等大數據處理技術將學習者的行為日志歸納為學習者的行為數據,通過Apriori關聯規則在相關數據中發現學習者與課程間的關系,最終實現推薦。
總體來說,上述基于Apriori 關聯規則挖掘的推薦方法不僅有效提高了課程推薦的效率,而且具有較高的可解釋性。然而,現存的方法大多僅利用一種Apriori關聯規則來進行課程推薦,忽略了部分數據之間的關系。因此,在未來的研究中可以結合多種關聯規則算法和多樣化關聯規則度量指標來完成課程推薦。
矩陣分解(matrix factorization,MF)在課程推薦方面首先構建學習者-課程評分矩陣,隨后將評分矩陣分解為兩個低秩矩陣,最終預測學習者對相關課程的評分從而完成課程推薦。目前MF 在課程推薦方面的主流方法有SVD++、廣義矩陣分解和概率矩陣分解等。
SVD++在奇異值分解方法(singular value decomposition,SVD)的基礎上融入學習者對課程的隱式行為,提高推薦準確性。Malhotra 等人[18]使用SVD++得到學習者尚未選擇的課程列表和已經選擇課程的學習者列表,通過預測學習者在這些課程中的分數來完成推薦。為引入學習者未來工作所需的技能信息,Symeonidis等人[19]利用SVD++獲取學習者信息,將學習者對課程的偏好信息、課程的內容特征與技能信息結合,設置學習者-課程矩陣、課程-技能矩陣以及學習者-技能矩陣,提高推薦性能。其中SVD++方法預測學習者對課程評分為:
其中,N(u)表示一個課程集合,yki表示學習者已經顯示出對N(u)中課程i的隱式偏好,μ是所有評分的平均值,bui和bvj表示觀察到的學習者u和課程v的平均值的偏差。
廣義矩陣分解(generalized matrix factorization,GMF)在矩陣分解的基礎上對輸出結果進行規范化,將最終輸出值限制在0~1 范圍內。對于處理具有時間序列的數據,Guo 等人[20]將GMF 與長短時記憶模型結合,利用GMF 表示課程數據特性,采用長短時記憶模型來處理時間序列的真實學習數據,提高推薦準確性。此外概率矩陣分解(probabilistic matrix factorization,PMF)結合概率模型與矩陣分解算法,通過考慮評分的分布特性,達到更好的推薦性能。Li 等人[21]結合PMF 與云模型,PMF假設數據的潛在分布,解決過擬合問題,通過云模型計算兩個學習者之間的相似度,實現課程推薦。
基于矩陣分解的方法可以學習到學習者和課程之間的隱式關系,不僅解決了數據稀疏性,同時具有較高的可解釋性。但是現存的方法也存在諸如冷啟動和計算復雜度高等問題。上述方法中SVD++可以結合局部信息和整體信息,但解決冷啟動問題的能力有限;而GMF 對于冷啟動問題的解決優于SVD++,并且具有較高的可擴展性,但因為結合了神經網絡的相關方法,使得可解釋性相對較弱;PMF則是通過概率建模來處理課程與學習者之間的關系,但可擴展性較差。在未來的研究中可以結合其他先進的方法對矩陣分解進行改良,使得課程推薦模型具有更高的效率和準確性,并有效緩解冷啟動困境。
概率模型(probabilistic models,PM)是利用概率理論建立的統計模型,在課程推薦方面對學習者或課程進行概率建模,利用概率值進行課程推薦。對于處理具有時間屬性的信息,Lan 等人[22]通過對學習者的學習時間以及歷史評論信息等屬性進行概率建模,利用課程主題下新帖子引發興趣隨時間衰減的速度進行課程建模,匹配相關屬性信息進行推薦。Morise 等人[23]使用貝葉斯模型,提取評價過大量課程的學習者數據和被學習者評價過的課程數據,計算已知學習者和其余學習者間的相似度來生成推薦課程序列。Alaoui 等人[24]使用主題建模和LDA(latent Dirichlet allocation)來進行課程推薦,主題建模用于分析課程數據,發現課程之間存在的交叉主題詞以及這些主題詞之間如何相互關聯,最后使用LDA進行主題分類來提高推薦效果。
綜上,基于概率建模的課程推薦方法具有良好的特征選擇能力,可以自動選擇對預測任務最相關的特征。與矩陣分解方法相比,概率建模的泛化能力更強。然而,相關方法對數據的分布和假設有很高的要求,直接影響著方法的性能。因此未來可以在數據處理方面進行研究并用于概率建模推薦。
深度學習是近年來計算機科學領域最重要的發展領域,基于深度學習的在線課程推薦方法不斷被提出,主要分為基于卷積神經網絡的方法、基于圖神經網絡的方法、基于遞歸神經網絡的方法、基于自動編碼器的方法。
2.4.1 基于卷積神經網絡的方法
卷積神經網絡(convolutional neural network,CNN)是由卷積層、池化層、全連接層等組成的深度學習模型。在課程推薦系統中,CNN 用于學習學習者和課程的表示向量。Ma[25]利用CNN 構建學習者偏好模型,通過分析課程之間以及學習者之間的關系分別獲得相關特征,處理學習者和課程特征之間的關系完成推薦。對于處理考慮情感等因素,Chanaa[26]組合多個CNN 構建圖預測器(式(3)),包括查詢CNN 和關鍵CNN,獲取課程特征之間的交互,通過學習者對課程的態度、困惑程度以及難度等因素對課程進行建模,完成學習者模型之間的交互并實現推薦。對于處理課程文本信息,Yuhana等人[27]提出結合CNN與Word2Vec的方法,利用Word2Vec將課程文本信息轉換為矩陣,將結果輸入CNN 產生分類輸出,通過自適應學習完成推薦。Ezaldeen 等人[28]則提出了一個增強型電子學習混合推薦系統ELHRS,將基于CNN的細粒度情感分析模型視作課程推薦的一部分,并預測關于某個特定學習資源的文本評論的評分,最終提供給學習者其領域和偏好相關的最高預測評級的電子學習資源和課程。為利用隱含特征,Sheng 等人[29]將CNN 與元路徑結合,通過設計一系列不同的元路徑來獲取學習者與課程間的隱含特征,利用CNN 來處理序列并給定元路徑,提高推薦效率。
為獲取更為準確的學習者或課程的特征信息,研究者結合了CNN 與注意力機制進行特征提取。Wang 等人[30]使用基于注意力的CNN,獲取學習者在一門課程中的偏好和學習者在在線學習中的長期偏好,然后利用注意力機制,根據估計得分與實際得分之間的差異進行改進并用于推薦。盡管上述方法在課程推薦方面有一定效果,但仍然存在特征提取不完整的問題。基于上述問題,Zhu[31]提出了結合CNN 與雙層注意力機制,第一層與CNN結合構建子網絡,使CNN能夠學習課程的關鍵屬性;另一層以學習者和網絡課程特征向量為輸入數據,利用注意力機制為學習者的歷史交互課程分配個性化權重。結合了雙層注意力機制的方法在相關指標上優于只使用單層注意力機制的方法。
上述基于CNN的方法均可以自動學習數據中學習者和課程的局部特征,繼而從這些抽象的局部特征中學習到更多的特征,提高模型的性能。然而現存的使用CNN的課程推薦方法在訓練過程中涉及大量矩陣乘法和卷積運算,具有較高的計算復雜度;此外基于CNN的方法可解釋性較差。因此將來可以結合可解釋性較強的方法來進行推薦。
2.4.2 基于圖神經網絡的方法
圖神經網絡(graph neural network,GNN)是一種將相關數據建模成圖結構并利用神經網絡進行處理的深度學習模型。在課程推薦方面,構建學習者-課程圖,表示學習者和課程的關系,通過引入卷積操作構成圖卷積網絡(graph convolutional network,GCN)學習節點表示。Li[32]提出適用于英語課程推薦的模型,設計包含不同數量和不同大小卷積核的多尺度GCN層,通過GCN層進行課程和學習者節點特征提取,將學習者交互內容與節點表示相結合進行推薦。Huang 等人[33]提出基于GCN 的學生選課推薦模型,首先將學習者和課程之間的交互建模為學習者-課程圖,然后利用多模態知識圖譜來描述課程的輔助信息,最后利用GCN 傳播節點鄰居的嵌入信息,聚合學生和課程的表示,輸出預測推薦分值。為解決此前GCN模型中存在的過度平滑和解崩潰等問題,Zhou等人[34]提出層次細化的GCN模型,圖中的X表示節點嵌入,將可學習的權重放在層嵌入上進行節點更新,按照程度敏感概率修剪一定比例的學習者-課程交互圖的邊,使其稀疏化,提升推薦性能。
由于注意力機制可以將模型注意力集中在輸入數據的特定部分,更好地捕捉關鍵信息,研究人員將注意力機制與GNN結合用于課程推薦。Wang等人[35]將GNN與Top-N個性化推薦結合,應用注意力機制來生成嵌入表示,通過GNN獲取學習者特征,將學習者特征和課程特征進行處理,利用Top-N方法得到得分較高的前N個課程進行推薦。為得到更多的學習者和課程特征用于推薦,Wang等人[36]提出基于超圖的推薦方法HGNN,將學習者表征的學習任務轉化為超邊的嵌入,通過改進的注意力機制學習課程的表示(式(4)),利用GNN對課程信息進行傳播和聚合,最終實現推薦。為處理學習者和課程之間的隱藏關系,Wang等人[9]設計多個包含語義關系的元路徑來引導學習者偏好在GNN 中的傳播,使用注意力機制強化影響學習者偏好的因素。通過設計元路徑,尋找學習者與課程之間的隱含關系并進行處理,利用矩陣分解預測評分來完成課程推薦。考慮到學習者的課程學習之間存在先修關系,Chen等人[37]提出基于GCN的推薦方法GADN,利用GCN抽取學習者-課程的交互與課程序列信息,考慮學習者或課程及其鄰居節點作為抽取建模的重點。運用注意力機制模擬學習者的學習過程,計算課程間相似度來完成推薦任務。
其中,attention(·)是用來計算節點之間相關性的映射;表示課程的嵌入;wio表示權重。
GNN在課程推薦方面的優勢在于能夠在學習過程中融合全局和局部的圖結構信息,從而學習到更為準確的特征。并且該方法的泛化能力和可擴展性強,有利于處理新任務。但該方法也存在一定的缺陷,如當圖結構發生變化時,GNN需要重新學習模型參數,無法直接應用于新的圖結構。
2.4.3 基于遞歸神經網絡的方法
遞歸神經網絡(recurrent neural network,RNN)是將當前輸入與上一時刻的隱藏狀態合并作為輸入,不斷傳遞隱藏狀態進行計算,處理序列數據,在課程推薦中RNN用于處理具有時間屬性的數據[38]。Zhang等人[39]使用RNN進行推薦,考慮課程之間存在先修關系,首先利用RNN學習計劃中的課程序列(式(5)),然后基于內容的推薦方法從歷史注冊信息中挖掘課程之間的關系并生成課程建議。
其中,W表示參數矩陣,b表示參數向量,g(·)是激活函數,x<t>代表學生在時間t注冊的課程,a表示課程向量。
為對時間信息進行更多操作,研究人員在RNN 基礎上提出門控循環單元(gated recurrent unit,GRU)和長短期記憶(long short-term memory,LSTM)模型,在課程推薦中用于學習者建?;驅W習者與課程之間的關系建模。Li等人[40]提出結合CNN和GRU的課程推薦模型,CNN用于學習風格的檢測,GRU用于對學習風格的預測。模型首先通過一系列問題來確定每個學習者學習風格特點,然后根據學習者的特點找到滿足學習者學習需求的課程并進行推薦。Saito等人[41]提出基于LSTM的學習路徑推薦,首先由包括學習者的試錯過程的歷史記錄構成學習路徑,其次通過比較目標學習者的學習路徑,找出與目標學習者相似的學習者,最后將LSTM 網絡用于前一個過程中得到的學習路徑,預測并推薦下一個學習路徑,通過輸出的概率值來進行推薦。
課程推薦中使用RNN主要是為了處理具有時序關系的數據和變長序列數據,并逐步生成具有結構和連續性的序列數據用于推薦。然而RNN的每個時間步都需要依次進行計算,無法并行化處理,存在計算效率低下等問題。
2.4.4 基于自動編碼器的方法
自動編碼器(autoencoder,AE)是一種無監督學習的神經網絡模型,目的是將輸入數據編碼為低維度表示,同時盡可能地保留輸入數據的信息。在課程推薦中AE 用于提取和降維學習者和課程特征,提高推薦準確性和效率。Zhao 等人[42]提出基于AE 的推薦方法,首先利用AE 的降維優勢獲取所需的學習者和課程特征向量,然后獲取學習者與課程之間的深層信息并得到對應的特征向量矩陣,最終基于學習者對課程的興趣程度預測分數并進行推薦。Gomede等人[43]提出基于協同過濾和深度AE 的推薦方法,根據每個學習者歷史交互信息提供偏好信息,利用深度AE 來預測課程評分稀疏矩陣的缺失值,提高推薦效果。對于含有技能信息的學習者數據,Wang等人[44]提出基于主題建模的變分AE推薦方法,從學習者的技能概要中提取學習者能力的潛在表示,從需求識別機制了解學習者對職業發展的需求,通過變分AE獲得具有可解釋性的推薦。對于處理含有學習者風格的數據,Mawane等人[45-46]提出基于AE與Kohone網絡的推薦模型,利用Kohonen網絡映射識別學習風格的相似性,挖掘學習者特征和課程內容屬性特征,通過AE對同一組中學習效果最好的學習者的課程列表進行相關預測并推薦。
為了處理具有時序信息的課程數據,文獻[47-48]將AE 與LSTM 相結合來提高推薦效率。不同之處在于,文獻[47]重點關注通過考慮課程相關性來學習學生的興趣偏好,文獻[48]則利用LSTM 代替了AE 中的前饋神經網絡來提取課程數據的時間特性并通過AE處理課程評分數據。從各項評價指標來看,文獻[48]提出的方法優于文獻[47]的方法。
在課程推薦方面,AE 的優點是可以從高維輸入中提取出最相關和有用的特征,從而獲取學習者和課程數據的低維特征表示。但存在如學習低維表示時,可能會有信息丟失的問題。
智能優化方法又稱現代啟發式方法,是一種具有全局優化性能且通用性強的方法。近年來屬于智能優化的模擬退火算法和遺傳算法受到研究人員的廣泛關注,并且被應用于課程推薦。
模擬退火方法(simulated annealing,SA)是一種全局組合優化問題的概率局部搜索方法,在課程推薦方面用于參數的優化。Lefranc等人[49]提出基于SA的課程推薦方法,首先通過目標函數獲取學習者的偏好,然后通過SA 在復雜搜索空間中逼近全局最優,最終獲得一個推薦的課程列表以及一個計劃策略。對于學習者想要高GPA 的需求,Gunawan 等人[50]提出基于SA 的課程推薦方法,首先考慮課程的先修關系以及將GPA作為學習者的一個重要屬性,然后對已完成課程的成績進行評估并構建課程序列,最終通過自適應的SA 方法來進行優化并推薦相關課程。
遺傳算法(genetic algorithm,GA)是一種啟發式算法,通過模擬進化過程來搜索最優解。GA 在課程推薦方面的作用是對課程信息進行處理,從而提升推薦效果,具體操作為:定義基于學習者興趣的適應度函數;將每個個體表示為一組基因,其中每個基因表示一個課程;根據先前的學習記錄生成初始種群;根據適應度函數選擇最適合的個體;交叉操作將兩個個體的基因組合在一起生成新的個體;變異操作將某些基因隨機改變以生成新的個體;重復選擇、交叉、變異操作,生成新的種群,直到達到預定的停止條件;生成的個體解碼為課程推薦結果。Hssina等人[51]提出將自適應學習與GA相結合,通過上述GA 的相關操作進化出一組解決推薦方案,找到最佳推薦結果并將結果中的課程自動推薦給學習者。Al-Twijri等人[52]提出基于GA的序列模式挖掘模型,通過GA 的交叉操作和變異操作,檢查學習者的鄰居個體來開發當前學習者個體,最終得到推薦的課程。
綜上,SA 和GA 具有以下優點:能避免局部最優解的限制,具有較強全局搜索能力;都有較強的自適應性,可以逐步調整搜索策略,優化推薦結果。此外,SA的可解釋性較強,GA的魯棒性較強,但它們存在著參數設置困難和計算復雜度高等問題。
近年來人工智能技術不斷發展,屬于人工智能技術的語義計算也被廣泛應用于課程推薦,主要包括基于本體的方法、基于知識圖譜的方法、基于異質信息網絡的方法。
2.6.1 基于本體的方法
本體(ontology)是一種形式化的知識表示方式,用來描述特定領域中的概念、實體、屬性以及它們之間的關系,在課程推薦中被用于對課程或學習者進行建模。Cheng 等人[53]提出基于本體的推薦方法,根據教學大綱構建知識本體,將相關知識信息進行鏈接,建立知識本體和視頻本體之間的關系,最終利用學習者本體和知識本體進行推薦。為了處理具有學習風格的數據,El Aissaoui 等人[54]提出基于本體的課程推薦方法,建立學習者本體和課程本體,通過基于FSLSM 的學習風格選擇模型對學習風格進行匹配并確定學習者的學習風格,最后通過計算本體間的相似度得到滿足學習者需求的課程。為進一步提升推薦效果,研究人員提出將本體與語義處理方法結合來進行推薦。Diao 等人[55]提出基于課程本體和學習者認知能力的推薦方法,構建基于課程本體的語義推理規則,利用最大似然估計和聯合概率對學習者的認知能力進行動態估計并完成課程推薦。
基于本體的課程推薦方法利用本體來建模領域的結構和語義信息,從而更好地理解學習者需求和課程特性,提高推薦的準確性。但本體的構建和使用缺乏統一的標準和規范,導致不同的課程推薦系統可能采用不同的本體結構和語義表示方式。
2.6.2 基于知識圖譜的方法
知識圖譜(knowledge graph,KG)的本質是語義網絡,通常用(主語,謂語,賓語)這樣的三元組來表達事物屬性以及事物之間的語義關系[56],在課程推薦方面的主要作用是完成學習者實體與課程實體間的關系描述。考慮課程之間存在時序性,Zhou等人[57]提出結合時間感知轉換器和KG 的方法(圖3),時間感知器模塊考慮課程之間的注冊時間間隔,KG 表明課程之間潛在的聯系并捕捉其語義關聯,利用深度神經網絡處理相關信息得到預測候選課程的推薦概率。Zhang 等人[10]提出將KG與異構圖結合的方法KGAN,將學習者的行為和課程通過KG投射到一個統一的空間中,緩解課程推薦中交互脆弱、課程相關性獲取困難等問題。KGAN通過注意力機制更新候選課程的表示,通過預測模塊輸出學習者選擇候選課程的概率。Wu等人[58]提出KG和Node2vec結合的推薦方法,首先建立一個課程-學習者KG,并用Node2vec得出KG中包含的學習者興趣,其次計算學習者與課程間的相似度,最后利用得出的相似度得到課程推薦列表。Yang 等人[59]和Xu 等人[60]提出將KG 作為協同過濾的輔助信息源,首先構造基于課程的KG,應用基于KG 的傳播和聚合技術來捕捉課程的潛在特征并進行建模,然后計算課程之間的語義相似度,最后將該語義信息融合到協同過濾推薦方法中提高推薦性能。

圖3 基于知識圖譜的在線課程推薦模型Fig.3 Knowledge graph based online course recommendation model
相比基于本體的方法,KG 在課程推薦方面的優勢在于其中的實體和關系可以形成多層次、包含豐富的語義信息的關聯網絡。KG利用這些關聯進行深度的推薦分析,發現學習者和課程之間的隱藏關系和相似性,提供更精準的推薦結果。然而,KG 的構建和維護需要大量的人力和時間,并且需要不斷地進行更新和校對,因此該方法的成本較高。盡管存在上述缺點,但KG仍然是目前研究的熱門方向,受到眾多研究人員的關注。
2.6.3 基于異質信息網絡的方法
異質信息網絡(heterogeneous information network,HIN)是指實體類型數大于1 或關系類型數大于1 的信息網絡[61]。在課程推薦中HIN 利用學習者和課程之間的復雜關系,提高推薦的準確性和個性化程度。Wang等人[62]提出基于HIN的課程推薦方法,結合課程內容和學習者相關行為等異構信息構造HIN,用于挖掘課程和學習者之間的有效結構信息和融合相關異構信息,以學習不同類型實體的表示,進而用于課程推薦。Gong 等人[11]提出基于HIN 的增強概念推薦模型AGMKRec,將課程中的概念問題作為強化學習問題加以闡明,為學習者提供個性化、動態的概念標簽列表。AGMKRec通過構建一個基于學習者、課程、概念的HIN 來得到更多相關信息,使用基于元路徑的方法自動識別有用的元路徑,然后學習HIN 上有效的信息表示用于推薦。Wang等人[63]提出基于課程預訓練的異構子圖推薦模型,首先從HIN 中提取有用信息來組成包含特定信息的異構子圖,然后利用異構子圖轉換器捕獲子圖中的語義信息來建模學習者-課程交互關系,最終根據學習者的歷史記錄生成感興趣課程的排序列表。Bruun 等人[64]提出將HIN 與遺傳算法結合,利用學習者、課程以及兩者之間的異構交互構建HIN,通過隨機游走獲取學習者和課程信息,利用遺傳算法來防止局部最優得到最佳收斂,從而獲取課程推薦列表。
由于基于深度學習的推薦方法可解釋性較差,不容易解釋推薦中的規律和特征。為了加強推薦方法的可解釋性,研究者提出將HIN與矩陣分解結合。文獻[65-66]都結合了HIN與擴展矩陣分解方法,前者通過融合節點級注意力和元路徑級注意力處理學習者和課程信息,而后者則結合多層HIN 來連接相關概念和多個實體。通過比較相關指標可以發現文獻[66]提出的方法取得效果更好。
對于基于HIN的推薦方法,由于HIN中不同類型節點和邊之間存在著豐富的關聯關系,通過分析不同類型節點之間的關聯,可以發現隱藏的關聯規律和相似性,從而提高推薦準確性。但該方法存在數據稀疏和計算復雜度高等問題。
在傳統的課程推薦方法中,通常學習學習者的行為數據或課程的內容特征來進行推薦。然而,這種單一視角容易忽略兩者之間的復雜關系和相互作用。因此在實際中,基于聯合建模的方法被廣泛應用。例如Sheng等人[67]將GMF 與HIN 相結合,通過HIN 整合顯性和隱性的關系以及整合學習者和課程的嵌入,對融合嵌入使用GMF 得到相關評分推薦,最終給學習者推薦可能會選擇的課程。班啟敏等人[68]則提出了基于知識追蹤和LSTM的課程推薦模型KPM,利用知識追蹤作為輔助任務,獲取學習者的知識狀態,通過LSTM 建模時序交互行為,最后利用因式分解機得到預測分值進行課程推薦。Esteban 等人[69]通過將協同過濾(CF)、基于內容的過濾(CBF)以及GA結合提出混合推薦模型,利用CF和CBF分別處理學生信息和課程信息,利用GA優化推薦方法的相關參數,從而提升推薦準確度。Gong 等人[70]提出了基于HIN和強化學習的課程推薦方法,通過網絡模式和元路徑來表示一對實體間的語義路徑,利用隨機游走對給定學習者在HIN上的元路徑進行采樣,使用基于強化學習的方法向學習者推薦課程。
基于聯合建模的方法通過學習不同信息之間的相互作用和關聯關系,挖掘出更深層次的學習者興趣和課程特征,從而形成更加綜合全面的推薦結果。但聯合建模方法中的參數較多,參數優化需要消耗大量計算成本,因此該方法的計算復雜度較高。
前文介紹了目前在課程推薦方面具有代表性的方法。表1列出了部分代表方法的時間復雜度,并對相關內容進行了分析總結;表2 列出了各類代表方法的特點、優點及缺點。

表1 在線課程推薦方法復雜度分析Table 1 Complexity analysis of online course recommendation methods

表2 在線課程推薦方法對比分析Table 2 Comparative analysis of online course recommendation methods
從表1中可以看出,目前大多數方法的時間復雜度為O(nlogn)和O(n2),其中n是指學習者數量。一般來說,復雜度和性能之間存在一種權衡關系。較為復雜的推薦方法可能具有更高的準確性和個性化程度,但其計算和處理的復雜度也會相應增加,如基于聯合建模的方法在相關指標上優于基于PM的方法,但基于聯合建模的方法時間復雜度更高。此外還需要考慮相關方法的使用場景,對于不同要求,需要研究人員選擇不同的方法。
在推薦準確性方面,基于關聯規則、矩陣分解和概率模型的方法,如文獻[14,18,22]等,大多數相關方法推薦準確率都在70%~80%之間,而如文獻[9,27,44]等基于深度學習的方法、文獻[52]等基于智能優化的方法、文獻[10,66]等基于語義計算的方法以及文獻[70]等基于聯合建模的方法推薦準確率大多在80%~90%之間。綜上可以得出結論:通常情況下,基于深度學習、智能優化、語義計算和聯合建模的方法的推薦準確率更高。
在線課程推薦系統的評價可以分為在線評價和離線評價兩方面。在線評價主要是通過在線實驗如問卷等方式收集結果后對系統進行評價;離線評價主要是根據需要評價的課程推薦系統在給定實驗數據集上的表現,再根據相關性能評價指標來評測該系統的質量。由于在線課程評價過程成本高昂,目前大部分實驗方法采用離線評價。本節主要介紹離線評價指標中的評分預測指標、集合推薦指標和排名推薦指標。
3.1.1 評分預測指標
評分預測指標衡量推薦方法預測的評分與學習者的實際評分的符合程度,其思想是課程推薦系統根據學習者對課程的評分進行推薦。評分預測指標主要包括平均值絕對誤差(mean absolute error,MAE)、平均平方誤差(mean squared error,MSE)、均方根誤差(root mean squared error,RMSE)和標準平均絕對誤差(normalized mean absolute error,NMAE)[71],公式如下:
其中,rsc表示學習者s對課程c的真實評分,表示學習者s對課程c的預測評分,EP表示測試集,rmax和rmin分別表示學習者評分區間的最大值和最小值。上述四個指標越接近0,表示推薦課程性能越好。
3.1.2 集合推薦指標
集合推薦指標是指推薦方法能否正確預測學習者選擇或未選擇課程的能力,主要思想是推薦系統最后得到的是推薦課程的集合(例如Top-N推薦任務)。目前最常用的集合推薦指標有準確率(Precision)、召回率(Recall)、F1指標、AUC和命中率(hit ratio,HR)。
如表3 所示,一個沒有被學習者選擇的課程,可能的結果有四種:系統推薦給學習者且學習者接受,系統推薦給學習者但學習者不接受,學習者接受但系統未推薦,系統未推薦且學習者不接受。

表3 課程推薦的混淆矩陣Table 3 Confusion matrix of course recommendation
Precision(式(10))是指在所有課程中,推薦系統預測正確的課程數占總課程數的比例,取值范圍為[0,1],越接近1代表推薦準確率越高。
Recal(l式(11))表示一個學習者接受的課程被推薦的概率,即推薦列表中學習者接受的推薦課程與系統中學習者接受的所有課程的比率,取值范圍為[0,1],越接近1代表推薦性能率越好。
F1 值(式(12))是精確率和召回率的調和平均值,F1值認為精確率和召回率一樣重要,取值范圍是[0,1],越靠近1代表推薦效果越好。
AUC 表示ROC(receiver operator curve)曲線下的面積,它衡量的是一個課程推薦系統能夠在多大程度上將學習者接受的課程與不接受的課程進行區分。
HR@K(式(13))用于衡量模型召回的列表中前K個課程在目標列表中的命中率,該指標思想和召回率并無區別,但更能夠體現模型對于Top-K熱門課程的推薦性能。
3.1.3 排名推薦指標
基于在線課程推薦最終會得到一個推薦列表,人們認為該列表中排名靠前的課程重要性遠大于排名靠后的課程,因此出現了排名推薦指標來對推薦效果進行加權評估。常見的排名推薦指標有半衰期效用指標(half life utility index,HLU)、折現累積收益(discounted cumulative gain,DCG)、排序偏差準確率(rank-biased precision,RBP)等。
HLU(式(14))認為學習者與接受某課程的概率與其在推薦列表中的位置呈指數遞減相關,學習者選擇的課程在推薦列表中越靠前該值越大。
其中,rsc表示學習者s對課程c的實際打分,lsc表示課程c在學習者s的推薦列表中的排名,d表示默認評分,h為系統的半衰期。
DCG(式(15))的主要思想是推薦列表中排名越靠前的課程越應該被學習者選擇,它將排序結果中每個課程的相關性與其排名關系結合起來,以此來衡量推薦質量。一般來說該指標的值越高,說明推薦系統的性能越好。
其中,rel(i)表示在第i個位置上的相關性得分。
RBP(式(16))基于偏好模型,將推薦列表中每個課程的相關性與其排名結合來衡量推薦結果的質量。該評價指標的值越大,說明推薦系統的性能越好。
其中,p是一個偏好參數,ri表示推薦列表中第i位的課程是否是學習者選擇的。
目前公開可用的課程推薦數據集信息見表4,其中每個數據集都含有課程和學習者的基本信息,少部分數據集如MOOCCube數據集含有視頻信息,MOOPer數據集包含學習者論壇討論數據。大部分數據集都含有時間屬性,有利于理解和分析學習者的動態行為模式與提高推薦的準確性。數據集中含有的其他信息如學習者的年齡、課程的授課教師等其他屬性也有利于提取更為完整準確的學習者或課程特征,用于課程推薦并提升推薦效果。

表4 課程推薦數據集統計信息Table 4 Statistics of course recommendation datasets
隨著在線教育平臺的蓬勃發展,在線課程推薦的相關研究取得了重大進展,相關數據不斷豐富,高新技術不斷涌現。為了順應科技發展潮流,做到與時俱進,在線課程推薦領域中仍有諸多的研究方向值得關注,其中包括:
(1)強可解釋性的推薦
課程推薦的目的是推薦學習者可接受的課程,因此學習者需要了解推薦課程的原理,使他能夠接受推薦結果[77]?,F有的課程推薦方法大多只提供了推薦課程預測的準確率,特別是基于深度學習的方法,通常使用“黑盒子”理論,鮮少解釋如何實現課程推薦等問題,不利于學習者理解和信任課程推薦結果。因此如何提高可解釋性是目前在線課程推薦方法需要解決的重大課題之一。
(2)融合多模態數據的推薦
多模態數據是指融合了不同模態(如文本、圖像、音頻、視頻等)的數據。相關方法主要分為兩個模塊,第一個模塊將多模態數據表示為低維向量,第二個模塊通過計算不同模態之間的相似度來融合不同模態的表示,使得融合表示能夠更加適用于推薦任務。在課程推薦中,利用多模態數據可以更全面地反映學習者偏好以及課程特征,提高推薦的準確率和個性化程度。然而,目前基于多模態數據的課程推薦研究尚未成熟,仍然面臨以下困境:首先是如何準確表示多模態數據;其次是如何有效融合多模態數據,以及如何計算不同模塊之間的相似度等。因此融合多模態數據的課程推薦是今后的重要發展方向之一。
(3)基于因果推理的推薦
因果推理[78]旨在觀察并推斷出事物之間的因果關系,廣泛應用于機器學習和數據挖掘領域,幫助解決因果關系的預測和干預問題。目前因果推理的常用框架有潛在結果框架和結構因果框架,應用于課程推薦,推斷學習者和課程之間的因果關系,分析學習者的歷史行為特征,推斷出學習者的偏好以及課程的內容和特點,從而生成更符合學習者需求的推薦課程。目前Wang等人[79]在根據用戶特征生成互動的過程中引入因果推理,并進行因果建模,從而達到更好的推薦效果。因此如何更好地將因果推理融入課程推薦是今后的一個重要研究方向。
(4)基于聯邦學習的推薦
聯邦學習[80]是一種基于機器學習的分布式計算方法,它允許多個參與方在不共享數據的前提下,通過局部訓練和參數交換,共同建立一個全局機器學習模型,在保護數據隱私的同時,獲得更好的數據安全性和更高的效率。而在線課程推薦所收集的數據涉及大量敏感的隱私信息,對數據保護提出了嚴格的要求,聯邦學習可以在保證數據安全性的前提下,允許多個參與方(例如學校、教育機構和學習者)進行聯合建模,提高課程推薦方法的多樣性、覆蓋率以及通用性。Jie等人[81]提出基于歷史參數聚類的聯邦學習推薦方法。首先,客戶端通過使用時間衰減因子將歷史學習參數與服務器發送的全局參數進行加權平均。然后,服務器對收到的參數進行參數聚合和聚類。最終,系統根據用戶的歷史學習參數進行迭代訓練來實現推薦。未來,能夠看到更多的結合聯邦學習和課程推薦的研究工作。
(5)基于新型機器學習范式的推薦
對于大部分基于機器學習的在線課程推薦研究,如何與時俱進地應用新型機器學習方法是研究人員面臨的巨大挑戰。新型機器學習方法主要包括以下幾種:首先是強化學習[82],其目標是通過與環境的交互來學習如何做出最佳決策。將強化學習應用于課程推薦,通過不斷試錯和優化來找到最適合學習者的課程。如Zhang等人[83]提出了一種分層強化學習的課程推薦方法,能夠在沒有明確注釋的情況下去除噪音課程,提高課程推薦的準確率。其次是生成學習[84],通過對已有數據進行分析,并從分析出來的知識中生成新的數據用于后續任務。生成學習在課程推薦中可以根據學習者歷史行為等信息來建模學習者的興趣分布,從而生成符合學習者興趣的課程,完成個性化推薦。最后是對比學習[85],其核心思想是通過比較不同樣本之間的差異性來學習特征表示。在課程推薦中對比學習旨在比較學習者的歷史行為或課程的特征,獲取學習者之間以及課程之間的相似性和差異性,從而為每個學習者進行個性化推薦。
作為在線教育領域的重點研究方向,在線課程推薦系統通過幫助學習者尋找到感興趣的課程,極大地提升了學習者的學習興趣和學習積極性,有助于教育行業的積極發展。近年來,該領域中出現了大量在線課程推薦系統的相關工作,可見在線課程推薦受到廣大研究人員關注。本文詳細討論了在線課程推薦系統的研究內容與特點,對目前的在線課程推薦方法進行了歸類和總結,并介紹了在線課程推薦的評價指標、相關數據集資源以及未來的可能研究方向。本文綜述有助于相關研究人員理解在線課程推薦的研究內容、研究難點與研究思路,從而激發研究人員對未來在線課程推薦相關研究的思考,啟發研究人員提出新的高效方法,并推動相關在線課程推薦技術的創新應用。