吳正洋,張廣濤,黃立,湯庸
(1.華南師范大學(xué)計(jì)算機(jī)學(xué)院,廣東 廣州 510631;2.琶洲實(shí)驗(yàn)室,廣東 廣州 510330)
教育信息技術(shù)和互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,滿足了跨地域遠(yuǎn)程教學(xué)活動(dòng)快速增長的需求。自2020年以來,大規(guī)模在線課程在全世界的教學(xué)活動(dòng)中發(fā)揮了重要作用。中國高校開展了世界上規(guī)模最大的在線教育。2020年春季學(xué)期,全國1 500多所大學(xué)數(shù)百萬名教職員工開設(shè)了超過萬門的在線課程,并提供了700多萬門課程,超過20億人次的學(xué)生加入了在線課程。但研究表明[1-3],長期以來大規(guī)模在線課程的使用率和完成度都偏低,使得在線課程中學(xué)習(xí)行為的相關(guān)研究(比如活躍度、互動(dòng)性、輟學(xué)率等)成為了教育領(lǐng)域?qū)W者們關(guān)注的焦點(diǎn)。
目前,學(xué)者們已經(jīng)提出了許多在線學(xué)習(xí)背景下的課程推薦方法[4-5]。早期基于內(nèi)容過濾的課程推薦主要根據(jù)課程的內(nèi)容特征為用戶推薦相似的課程。這種方法簡單直觀、容易實(shí)現(xiàn),但缺點(diǎn)也比較明顯,即只考慮了課程本身的特征,而沒有考慮用戶的歷史行為信息,容易導(dǎo)致推薦過于單一和缺乏個(gè)性化。為了解決內(nèi)容過濾方法的問題,基于行為序列的課程推薦被提出,這種方法利用用戶在特定時(shí)間范圍內(nèi)的行為序列(即會(huì)話序列)來進(jìn)行推薦,其核心思想是通過挖掘用戶在不同時(shí)間段的行為特征,推測用戶當(dāng)前的興趣,從而實(shí)現(xiàn)課程推薦。這類方法雖然取得了不錯(cuò)的效果,但未考慮其他相關(guān)因素且難以處理長期依賴的情況。為了解決這些問題,學(xué)者們采用混合推薦的算法思想,綜合考慮用戶的興趣和歷史行為以及課程的內(nèi)容特征,以獲取更準(zhǔn)確的推薦結(jié)果。
雖然這些方法具有一定的優(yōu)點(diǎn),但仍然存在不足:一方面,這些方法僅僅考慮到會(huì)話之間的有向關(guān)系,沒有充分利用會(huì)話序列圖中的結(jié)構(gòu)信息;另一方面,構(gòu)建課程特征時(shí)沒有考慮到異質(zhì)信息網(wǎng)絡(luò)中課程與課程之間的關(guān)系,緩解數(shù)據(jù)稀疏性問題的能力有限。通過將用戶行為序列轉(zhuǎn)換為圖結(jié)構(gòu),并且結(jié)合課程屬性信息和課程之間的結(jié)構(gòu)關(guān)系來構(gòu)建課程特征,能夠更好地學(xué)習(xí)用戶的行為信息,更深層次地捕獲適合用戶的課程。
為了解決上述問題,本文提出一種基于異質(zhì)圖嵌入和會(huì)話交互的在線課程推薦模型(SHRec)。首先基于課程學(xué)習(xí)數(shù)據(jù)集構(gòu)建“學(xué)生-課程-關(guān)鍵屬性”異質(zhì)圖,以模擬在線課程場景中的學(xué)生、課程及關(guān)鍵屬性的關(guān)系結(jié)構(gòu);其次根據(jù)元路徑構(gòu)建課程節(jié)點(diǎn)之間的聯(lián)系,采用圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)學(xué)習(xí)課程節(jié)點(diǎn)的嵌入;然后通過學(xué)生所學(xué)習(xí)的課程構(gòu)建課程學(xué)習(xí)的會(huì)話序列圖,并采用門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)對(duì)該會(huì)話序列圖建模,從而生成學(xué)生的課程學(xué)習(xí)狀態(tài)表征;最后基于注意力機(jī)制模擬課程嵌入與學(xué)生學(xué)習(xí)狀態(tài)表征的交互,以此預(yù)測學(xué)生在下一個(gè)時(shí)間步上對(duì)目標(biāo)課程的完成度,根據(jù)完成度的排名進(jìn)行課程推薦??傮w上,本文主要工作如下:
1)采用異質(zhì)圖對(duì)在線課程學(xué)習(xí)場景建模,形成課程的全局性嵌入,獲取更豐富精確的課程表征,解決數(shù)據(jù)稀疏性問題;同時(shí)對(duì)學(xué)生的課程學(xué)習(xí)會(huì)話圖建模,形成學(xué)生在課程學(xué)習(xí)過程中體現(xiàn)的學(xué)習(xí)狀態(tài)表征。
2)構(gòu)建基于交互機(jī)制的課程學(xué)習(xí)完成度預(yù)測模塊,將課程表征與學(xué)生的學(xué)習(xí)狀態(tài)表征進(jìn)行交互融合,通過注意力機(jī)制將選課交互中的關(guān)鍵信息用于課程學(xué)習(xí)完成度預(yù)測。
3)在3個(gè)數(shù)據(jù)集上與現(xiàn)在主流的6種基線方法進(jìn)行對(duì)比實(shí)驗(yàn),證明所提模型的有效性,并通過消融實(shí)驗(yàn)檢驗(yàn)?zāi)P椭心K和變量設(shè)置的效果。
隨著大規(guī)模在線課程教育形式的普及,課程推薦成為了個(gè)性化學(xué)習(xí)的研究熱點(diǎn)[6]?;趦?nèi)容過濾的課程推薦通常將用戶的偏好和課程的特征進(jìn)行匹配,推薦用戶感興趣的課程。此類方法將課程的關(guān)鍵詞、標(biāo)簽和描述等信息表示為一組特征向量,選取相似度最高的課程作為推薦結(jié)果。AHER等[7]將聚類和關(guān)聯(lián)規(guī)則挖掘相結(jié)合進(jìn)行課程推薦,先根據(jù)注冊課程的類別對(duì)學(xué)生聚類分組,再在每個(gè)組內(nèi)采用關(guān)聯(lián)規(guī)則挖掘獲得學(xué)生偏好的課程。然而,該方法由于只考慮了課程本身的內(nèi)容特征,沒有考慮用戶行為信息,因此推薦結(jié)果可能缺乏個(gè)性化,不能滿足用戶多樣化的需求。
近年來,深度學(xué)習(xí)的快速發(fā)展推動(dòng)了循環(huán)神經(jīng)網(wǎng)絡(luò)在許多研究領(lǐng)域建模序列數(shù)據(jù)?;谛袨樾蛄械恼n程推薦從用戶歷史行為中發(fā)現(xiàn)潛在的模式和規(guī)律,從而更好地理解用戶的興趣和需求。PANG等[8]將學(xué)生行為特征轉(zhuǎn)化為相同維度的向量,提出多層存儲(chǔ)的協(xié)同過濾大型開放式網(wǎng)絡(luò)課程(MOOC)推薦算法。HIDASI等[9]將時(shí)間序列中的課程送入門控循環(huán)單元(GRU),從歷史序列中獲取課程信息,然后將最后的嵌入向量視為用戶的興趣。LIN等[10]和WANG等[11]同樣認(rèn)識(shí)到了用戶興趣的動(dòng)態(tài)性,認(rèn)為用戶的興趣可能會(huì)隨著他們獲取的知識(shí)從一門課程轉(zhuǎn)移到另一門課程,嘗試基于用戶的學(xué)習(xí)行為序列進(jìn)行建模。然而,這類方法只考慮了用戶歷史行為信息,沒有考慮其他相關(guān)因素,如課程內(nèi)容等,另外隨著時(shí)間變化,歷史數(shù)據(jù)可能無法準(zhǔn)確地反映當(dāng)前用戶的興趣。
基于混合算法的課程推薦綜合考慮用戶的興趣和歷史行為以及課程的內(nèi)容特征,能夠獲取更準(zhǔn)確的推薦結(jié)果。具體而言,其將基于內(nèi)容過濾的推薦方法和基于行為序列的推薦方法結(jié)合起來,通過加權(quán)融合的方式得到最終的推薦結(jié)果。這種混合推薦方法可以綜合考慮多種信息,從而提高推薦的準(zhǔn)確性和個(gè)性化程度。ZHANG等[12]通過挖掘?qū)W生基本特征、課程內(nèi)容屬性特征以及學(xué)生的行為特征,形成“學(xué)生-課程”融合特征向量輸入深度學(xué)習(xí)模型中進(jìn)行選課預(yù)測。然而,這類方法只關(guān)注到當(dāng)前行為與前面行為之間的關(guān)系,沒有將行為序列構(gòu)建為圖結(jié)構(gòu)數(shù)據(jù)再進(jìn)行建模。因此,本文通過構(gòu)建會(huì)話圖結(jié)構(gòu)引入會(huì)話之間的無向關(guān)系,以更好地學(xué)習(xí)用戶的行為信息。
隨著圖神經(jīng)網(wǎng)絡(luò)的興起,基于圖模型的推薦方法引起了廣泛關(guān)注。在推薦系統(tǒng)中采用異質(zhì)信息網(wǎng)絡(luò)對(duì)復(fù)雜網(wǎng)絡(luò)環(huán)境建模,不僅能有效緩解數(shù)據(jù)稀疏和冷啟動(dòng)問題,而且還能捕獲網(wǎng)絡(luò)中實(shí)體之間的關(guān)系,獲取更精確的實(shí)體表征,提升推薦的效果[13]。
元路徑提供一種將異質(zhì)信息網(wǎng)絡(luò)中不同類型節(jié)點(diǎn)和邊聯(lián)系起來的方式,因此,元路徑是異質(zhì)圖或異質(zhì)信息網(wǎng)絡(luò)表征學(xué)習(xí)的主要對(duì)象之一。CAI等[14]提出了一個(gè)新型的歸納異質(zhì)圖神經(jīng)網(wǎng)絡(luò)算法,該算法首先將新用戶、物品和相關(guān)的多模態(tài)信息構(gòu)建為異質(zhì)圖,然后通過隨機(jī)游走策略采樣新用戶的關(guān)聯(lián)鄰居,最后利用多層注意力聚合模型賦予不同鄰居影響權(quán)重,從而為用戶冷啟動(dòng)推薦生成高質(zhì)量的表示,緩解用戶屬性的稀缺性。HU等[15]認(rèn)為基于用戶的歷史閱讀內(nèi)容存在數(shù)據(jù)稀疏性問題,因此,提出了一個(gè)具有長期和短期興趣建模的新型圖神經(jīng)網(wǎng)絡(luò)新聞推薦模型,以廣泛地利用新聞推薦系統(tǒng)中的高階結(jié)構(gòu)信息。YANG等[16]提出了結(jié)構(gòu)性深層網(wǎng)絡(luò)圖嵌入神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)和深度游走圖神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)2種不同的神經(jīng)網(wǎng)絡(luò)模型來改善興趣點(diǎn)(POI)推薦。GUO等[17]提出了一種基于異質(zhì)多關(guān)系圖融合的新型信任軟件推薦方法,該方法將用戶-用戶關(guān)系圖、物品-物品關(guān)系圖與用戶-物品交互圖融合在一起,以充分利用異質(zhì)圖中存在的高階聯(lián)系。SHI等[18]提出的模型先采用隨機(jī)游走策略生成元路徑的節(jié)點(diǎn)序列,再將序列中與起點(diǎn)類型不同的節(jié)點(diǎn)去掉,使整個(gè)序列中節(jié)點(diǎn)類型都和起點(diǎn)類型一致,形成同構(gòu)序列,同時(shí)提出3種融合方法將多個(gè)序列融合,形成對(duì)應(yīng)序列的節(jié)點(diǎn)表示,最后使用矩陣分解進(jìn)行預(yù)測。LIU等[19]提出了一個(gè)基于圖卷積神經(jīng)網(wǎng)絡(luò)的新框架進(jìn)行購物籃推薦,構(gòu)建用戶-商品-購物籃異質(zhì)圖后,采用不同的方式對(duì)用戶、購物籃和商品進(jìn)行聚合,為用戶推薦適合加入當(dāng)前購物籃的商品。LI等[20]提出了銷售代理商參與的商品推薦算法,首先基于多條元路徑采集每個(gè)節(jié)點(diǎn)的鄰居,然后對(duì)不同元路徑上的鄰居采用圖注意力機(jī)制聚合,最后對(duì)不同的元路徑再使用注意力機(jī)制加權(quán)融合?;诋愘|(zhì)圖嵌入的推薦模型可以有效地捕獲異質(zhì)圖數(shù)據(jù)中豐富的結(jié)構(gòu)和語義信息。因此,本文通過構(gòu)建課程學(xué)習(xí)異質(zhì)圖捕獲課程之間的關(guān)系,并利用圖卷積神經(jīng)網(wǎng)絡(luò)獲取更加豐富精確的課程表征,在一定程度上緩解數(shù)據(jù)稀疏性問題。
1)課程學(xué)習(xí)異質(zhì)圖。給定一個(gè)有向圖G=(V,E)表示多個(gè)學(xué)生對(duì)多門課程的學(xué)習(xí),同時(shí)多門課程包含多種關(guān)鍵屬性。V代表節(jié)點(diǎn)集合,E代表關(guān)系集合,存在映射關(guān)系V→O,E→R,其中:O表示節(jié)點(diǎn)的類型,包括學(xué)生、課程、關(guān)鍵屬性等對(duì)象;R表示關(guān)系的類型,如學(xué)生學(xué)習(xí)課程和課程包含的關(guān)鍵屬性。對(duì)于映射關(guān)系而言,每個(gè)節(jié)點(diǎn)v∈V都屬于一種對(duì)象類型,每個(gè)鏈接e∈E都屬于一種關(guān)系類型。當(dāng)對(duì)象類型數(shù)量|O|>1或關(guān)系類型數(shù)量|R|>1時(shí),該圖結(jié)構(gòu)就被稱為課程學(xué)習(xí)的異質(zhì)圖。
圖1 課程學(xué)習(xí)會(huì)話Fig.1 Session of the course learning
本文提出的SHRec模型主要由異質(zhì)圖嵌入、會(huì)話建模和交互預(yù)測3個(gè)模塊組成,總體框架如圖2所示。首先,在異質(zhì)圖嵌入模塊中,基于課程學(xué)習(xí)數(shù)據(jù)集構(gòu)建包含學(xué)生(S)、課程(C)、關(guān)鍵屬性(K)的在線課程異質(zhì)圖,采用GCN生成不同元路徑上的課程嵌入,并進(jìn)行語義聚合獲取最終的課程嵌入;然后,在會(huì)話建模模塊中,將學(xué)生的課程學(xué)習(xí)記錄構(gòu)成會(huì)話序列圖,采用GGNN對(duì)課程學(xué)習(xí)會(huì)話進(jìn)行建模,生成學(xué)生課程學(xué)習(xí)狀態(tài)的表示向量;最后,在交互預(yù)測模塊中,融合課程嵌入與學(xué)生課程學(xué)習(xí)狀態(tài),采用注意力機(jī)制處理交互,預(yù)測學(xué)生合格完成下一門課程的概率。
圖2 SHRec模型的總體框架Fig.2 The overall framework of SHRec model
2.2.1 課程學(xué)習(xí)異質(zhì)圖表征模塊
1)異質(zhì)圖構(gòu)建。本文將學(xué)生、課程和關(guān)鍵屬性抽象為圖結(jié)構(gòu)中3種不同類型的節(jié)點(diǎn),并根據(jù)學(xué)生的選課情況以及擁有相同關(guān)鍵屬性的課程,建立節(jié)點(diǎn)之間的關(guān)系。圖3展示了CNPC數(shù)據(jù)集的異質(zhì)圖示例。其中,可以將學(xué)科(Discipline)作為該數(shù)據(jù)集中課程實(shí)體所對(duì)應(yīng)的關(guān)鍵屬性。
圖3 CNPC數(shù)據(jù)集異質(zhì)圖示例Fig.3 Example of heterogeneous graph of CNPC dataset
2)課程關(guān)系矩陣構(gòu)建。為了通過異質(zhì)圖嵌入獲取課程節(jié)點(diǎn)表征,本文以課程為起止節(jié)點(diǎn)選取2類核心元路徑,即“課程-學(xué)生-課程”(CSC)和“課程-關(guān)鍵屬性(教師或者學(xué)科)-課程”(CKC)。不同的元路徑代表著不同的語義關(guān)系,其中,元路徑CSC的語義是同一個(gè)學(xué)生所學(xué)習(xí)的2門課程,元路徑CKC的語義是擁有相同關(guān)鍵屬性的2門課程。雖然元路徑上包含課程、學(xué)生、關(guān)鍵屬性節(jié)點(diǎn),但該模塊只關(guān)注課程的嵌入,“學(xué)生”和“關(guān)鍵屬性”只是起到鏈接不同課程的作用。因此,在GCN傳遞信息的過程中使用了“課程-課程”關(guān)系矩陣,即一門課程的鄰居節(jié)點(diǎn)是該學(xué)生所學(xué)習(xí)的其他課程節(jié)點(diǎn),或與該門課程有相同關(guān)鍵屬性的其他課程節(jié)點(diǎn)。
3)課程節(jié)點(diǎn)嵌入學(xué)習(xí)。本文采用GCN模型挖掘課程與課程之間更高階的信息。GCN中含有多層圖卷積層,可以對(duì)高階鄰居節(jié)點(diǎn)信息進(jìn)行編碼,每一層的節(jié)點(diǎn)都可以通過自身與鄰居節(jié)點(diǎn)的狀態(tài)進(jìn)行更新。設(shè)“課程-課程”關(guān)系矩陣為A∈|C|×|C|,|C|表示課程數(shù)量。為了讓GCN中的每個(gè)節(jié)點(diǎn)增加自連接關(guān)系,使得每個(gè)節(jié)點(diǎn)的更新與其鄰居節(jié)點(diǎn)的嵌入和該節(jié)點(diǎn)的上一層隱狀態(tài)有關(guān),在矩陣A的基礎(chǔ)上增加一個(gè)單位矩陣,得到一個(gè)新的鄰接關(guān)系矩陣如式(1)所示:
(1)
其中:IN是單位矩陣;λ賦值為1,表示課程節(jié)點(diǎn)本身的特征與其鄰居節(jié)點(diǎn)的特征一樣重要。根據(jù)鄰接關(guān)系矩陣進(jìn)一步獲取節(jié)點(diǎn)的度信息,獲取過程如式(2)所示:
(2)
(3)
然后將所有鄰居節(jié)點(diǎn)特征進(jìn)行融合,以更新每門課程節(jié)點(diǎn)的特征,從而獲得新的課程特征矩陣Xl+1:
(4)
其中:Xl∈|C|×d表示第l層的課程特征矩陣;是一個(gè)可訓(xùn)練的輸入權(quán)重矩陣;δ表示非線性激活函數(shù)ReLU。經(jīng)過GCN處理后可得到基于元路徑的課程節(jié)點(diǎn)嵌入。
2.2.2 會(huì)話建模模塊
會(huì)話建模模塊使用GGNN模型來處理學(xué)生的課程學(xué)習(xí)序列圖,以生成學(xué)生的課程學(xué)習(xí)狀態(tài)表征。
首先,根據(jù)學(xué)生的課程學(xué)習(xí)記錄構(gòu)建有序的會(huì)話序列圖,其中包含了全部所學(xué)課程及是否合格的標(biāo)識(shí)。在會(huì)話序列中,將學(xué)生學(xué)過的課程及其合格標(biāo)識(shí)融合為一個(gè)會(huì)話節(jié)點(diǎn)信息,如式(5)所示:
di=ci⊕ai
(5)
其中:ci表示會(huì)話中的第i門課程;ai表示會(huì)話中第i門課程相應(yīng)的合格情況;⊕表示向量對(duì)位相加。然后考慮序列中的前序課程和后繼課程對(duì)當(dāng)前課程的影響,并將它們作為當(dāng)前課程節(jié)點(diǎn)di的鄰居節(jié)點(diǎn)信息,其過程如式(6)所示:
(6)
其中:WI,Wo∈d×d是參數(shù)矩陣;bI,bo∈d是偏置向量;[d1,d2,…,dn]是處理過的序列上的課程及合格情況所組成的列表;是每個(gè)矩陣與di相對(duì)應(yīng)的第i行。
然后,融合t-1時(shí)刻會(huì)話節(jié)點(diǎn)上的鄰居節(jié)點(diǎn)信息和學(xué)生的課程學(xué)習(xí)狀態(tài)作為GRU單元在t時(shí)刻的輸入,其過程如式(7)所示:
(7)
最后,每個(gè)GRU單元的輸出是學(xué)生的課程學(xué)習(xí)狀態(tài),即[h1,h2,…,hn],該狀態(tài)的更新不僅依據(jù)當(dāng)前課程的節(jié)點(diǎn)狀態(tài),而且依據(jù)當(dāng)前課程的前序和后繼課程的節(jié)點(diǎn)狀態(tài)。hi更新過程如式(8)~式(12)所示:
(8)
(9)
(10)
(11)
(12)
其中:Uω,Ur,Uh∈2d×d,Vω,Vr,Vh∈d×d是可學(xué)習(xí)的參數(shù);σ表示非線性激活函數(shù)Sigmoid;⊕表示向量對(duì)位相加;?表示點(diǎn)乘。在式(8)中,是重置門,用于過濾信息。在式(9)中,決定了前一時(shí)刻的信息中哪一部分可以保留到當(dāng)前時(shí)刻的信息中。在式(10)中,是更新門,用來更新遺忘信息。在式(11)中,使用和來調(diào)整選修課程序列中的權(quán)重,的取值越大,則離當(dāng)前時(shí)間節(jié)點(diǎn)更近的課程影響權(quán)重越大,離當(dāng)前時(shí)間節(jié)點(diǎn)更遠(yuǎn)的課程影響權(quán)重越小。在式(12)中,g表示點(diǎn)乘,Wyh∈2d×d是參數(shù)矩陣,by∈d×d是偏置向量。
2.2.3 交互預(yù)測模塊
經(jīng)過以上步驟,可以得到課程嵌入和學(xué)生課程學(xué)習(xí)狀態(tài),兩者被輸入交互預(yù)測模塊用于預(yù)測學(xué)生下一門所學(xué)習(xí)課程合格的概率。
λi=Softmaxi,j(WTfi+b)
(13)
(14)
其中:W∈d×d是參數(shù)矩陣;b∈d是偏置向量;pt表示學(xué)生學(xué)習(xí)課程結(jié)果為合格的概率。利用梯度下降算法最小化課程學(xué)習(xí)結(jié)果的預(yù)測概率和真實(shí)標(biāo)簽之間的交叉熵?fù)p失,具體過程如式(15)所示:
(15)
其中:γt表示學(xué)生課程學(xué)習(xí)結(jié)果的真實(shí)標(biāo)簽。
本文在CNPC、HMXPC和Scholat 3個(gè)大規(guī)模在線課程數(shù)據(jù)集上開展了大量實(shí)驗(yàn)。
CNPC數(shù)據(jù)集是Canvas網(wǎng)絡(luò)開放課程的數(shù)據(jù)集,其時(shí)間范圍為2014年1月至2015年9月。首先清除了一些無效數(shù)據(jù),保留實(shí)驗(yàn)數(shù)據(jù)集中12 506條選課數(shù)據(jù)、2 506名學(xué)生、199門課程,課程屬性有10種,表示課程的學(xué)科領(lǐng)域。
HMXPC數(shù)據(jù)集的數(shù)據(jù)來自edX上哈佛大學(xué)和麻省理工的合作在線課程,該數(shù)據(jù)集包含了2所高校從2012年秋季至2013年夏季推出的課程。實(shí)驗(yàn)進(jìn)行了數(shù)據(jù)清洗和預(yù)處理,最終實(shí)驗(yàn)數(shù)據(jù)集包含31 222條選課數(shù)據(jù)、28 856名學(xué)生、16門課程,每門課程有5種屬性。
Scholat數(shù)據(jù)集來自于學(xué)者網(wǎng)課程平臺(tái),該平臺(tái)于2014年9月上線,截至目前共計(jì)開設(shè)了3 391門課程,創(chuàng)建了10 088個(gè)班級(jí),學(xué)生用戶數(shù)量達(dá)到310 163名。實(shí)驗(yàn)提取了學(xué)者網(wǎng)課程平臺(tái)在華南師范大學(xué)的課程數(shù)據(jù),共計(jì)10 137條課程學(xué)習(xí)記錄、86門課程、1 882名學(xué)生用戶、43種課程屬性。
由于數(shù)據(jù)集提供的課程屬性不統(tǒng)一,因此實(shí)驗(yàn)在課程學(xué)習(xí)異質(zhì)圖嵌入模塊中所取的“關(guān)鍵屬性”不相同。數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示。對(duì)于每個(gè)數(shù)據(jù)集,將預(yù)處理之后的數(shù)據(jù)集的80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測試集。
表1 課程推薦實(shí)驗(yàn)數(shù)據(jù)集詳細(xì)信息Table 1 Detailed information of the course recommendation experiment dataset
為了驗(yàn)證本文提出的模型在課程推薦方面的有效性,采用以下2種評(píng)估指標(biāo):
1)平均倒數(shù)排名(MRR)。該指標(biāo)是將預(yù)測的課程序列與實(shí)際的課程序列相匹配,若預(yù)測的課程序列中存在與實(shí)際課程序列相匹配的課程,則取其排序的倒數(shù)作為它的準(zhǔn)確度;若不存在,則為0。再對(duì)所有預(yù)測課程的準(zhǔn)確度求平均值,MRR@K的計(jì)算如式(16)所示:
(16)
其中:K表示課程推薦列表的長度;N表示課程數(shù)量;ri表示預(yù)測課程在實(shí)際課程排序中的位置,排序位置越靠前表示模型性能越好。
2)歸一化折損累計(jì)增益(NDCG)。對(duì)于為目標(biāo)用戶推薦的一個(gè)長度為K的項(xiàng)目排序列表,可以通過計(jì)算該列表與目標(biāo)用戶真實(shí)交互列表的差距評(píng)價(jià)推薦的性能,該指標(biāo)的計(jì)算過程如下:
(17)
(18)
(19)
其中:K表示課程推薦列表的長度;ri表示推薦課程列表中第i門課程與實(shí)際課程列表的相關(guān)度;DCG表示累計(jì)折扣增益,當(dāng)i越大時(shí),式(17)的分母部分就會(huì)越大,所以在推薦課程列表中,排名靠前的結(jié)果對(duì)DCG值的影響較大,排名靠后的結(jié)果對(duì)DCG值的影響較小;IDCG表示預(yù)期DCG的最好情況,其中|R|表示推薦結(jié)果按照相關(guān)性從大到小的排序序列;NDCG表示當(dāng)前DCG相對(duì)于IDCG的大小,是一個(gè)0到1之間的數(shù),NDCG越大表示推薦的效果越好。
Item-KNN[21]是基于協(xié)同過濾的推薦算法。該算法使用余弦相似度來度量目標(biāo)項(xiàng)目與歷史項(xiàng)目的相似性,并推薦出前k個(gè)最相似的項(xiàng)目,常被應(yīng)用于電子商務(wù)領(lǐng)域[22]。
BPR-MF[23]是基于矩陣分解的基礎(chǔ)推薦算法。該算法在貝葉斯個(gè)性化排序算法的基礎(chǔ)上進(jìn)行優(yōu)化,使用成對(duì)的排名損失來優(yōu)化矩陣分解的過程,在個(gè)性化排名的任務(wù)中具有良好的表現(xiàn)。
FPMC[24]引入了基于馬爾可夫鏈的個(gè)性化轉(zhuǎn)移矩陣,可以同時(shí)捕獲時(shí)間信息和長期的用戶喜好信息,此外,還引入了矩陣分解模型,從而克服了轉(zhuǎn)移矩陣的稀疏問題。
GRU4REC[9]通過使用GRU對(duì)用戶行為序列進(jìn)行建模,以捕捉序列中的時(shí)間依賴和用戶偏好,從而實(shí)現(xiàn)序列推薦。
SR-GNN[25]是基于會(huì)話和圖神經(jīng)網(wǎng)絡(luò)的推薦模型,其不依賴用戶特征,而是先通過圖神經(jīng)網(wǎng)絡(luò)生成每個(gè)會(huì)話中項(xiàng)目的潛在向量,再進(jìn)行基于會(huì)話的推薦。
LightGCN[26]簡化了GCN的設(shè)計(jì),只包括了GCN中用于協(xié)同過濾的鄰域聚合部分。該模型通過用戶-項(xiàng)目交互圖的先行傳播來學(xué)習(xí)用戶和項(xiàng)目的表征,并將所有層中學(xué)到的表征的加權(quán)和作為最終表征,具有簡潔、高效的特點(diǎn)。
在異質(zhì)圖嵌入模塊,所有的參數(shù)矩陣均隨機(jī)初始化,并在訓(xùn)練的過程中自行更新,其中課程和關(guān)鍵屬性的嵌入維度分別設(shè)置為100,GCN的聚合層為3層。在會(huì)話建模模塊,學(xué)生課程學(xué)習(xí)狀態(tài)的嵌入維度也設(shè)為100。為了防止過擬合,模型的學(xué)習(xí)率設(shè)置為0.000 25,遺忘率設(shè)置為0.8,將預(yù)測模塊中注意力網(wǎng)絡(luò)的屬性邊界值設(shè)置為0.7,來過濾不相關(guān)的嵌入信息。大量的實(shí)驗(yàn)證明將batch size設(shè)置為6最合適。
SHRec與對(duì)比模型在CNPC、HMXPC、Scholat數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表2所示(加粗表示最優(yōu)數(shù)據(jù),下同)。
表2 課程推薦對(duì)比實(shí)驗(yàn)結(jié)果Table 2 Results of the course recommendation comparison experiment
傳統(tǒng)的推薦任務(wù)一般應(yīng)用于電子商務(wù)平臺(tái)為用戶推薦商品,而商品有數(shù)量大、種類多等特點(diǎn),一個(gè)用戶的歷史購買記錄中可以有成百上千個(gè)商品,并且同個(gè)商品重復(fù)購買的現(xiàn)象十分常見。與傳統(tǒng)的推薦任務(wù)不同,課程推薦主要用于推薦課程,就一般情況而言,課程的數(shù)量和種類會(huì)遠(yuǎn)少于商品,學(xué)生的選課記錄基本上不會(huì)超過百位數(shù),大部分學(xué)生的選課記錄都是個(gè)位數(shù)和十位數(shù),并且大部分學(xué)生都不需要重修課程。因此在課程推薦中,用戶與課程之間的交互數(shù)據(jù)相對(duì)較少,存在數(shù)據(jù)稀疏性問題。
協(xié)同過濾推薦方法(例如Item-KNN、BPR-MF和LightGCN)普遍表現(xiàn)不好。由于存在數(shù)據(jù)稀疏性問題,該類方法難以準(zhǔn)確地找到相似課程。LightGCN為了追求效率而沒有考慮相鄰課程之間的特征傳播,而評(píng)估指標(biāo)NDCG會(huì)考慮排名的權(quán)重,缺少了特征傳播將會(huì)影響排名,所以LightGCN相對(duì)于Item-KNN和BPR-MF在3個(gè)數(shù)據(jù)集中評(píng)估指標(biāo)NDCG@5表現(xiàn)較差。
與協(xié)同過濾推薦方法相比,基于行為序列的推薦模型性能表現(xiàn)更好。因?yàn)樵擃惙椒軌蛲ㄟ^分析用戶的歷史行為捕捉到用戶興趣的演化趨勢,從而更好地理解用戶的興趣變化,并進(jìn)行準(zhǔn)確推薦。GRU4REC的性能表現(xiàn)比FPMC更佳,這體現(xiàn)了GRU捕捉序列中時(shí)序信息和長期依賴關(guān)系的優(yōu)越性。SR-GNN雖然對(duì)會(huì)話圖建模,但同樣由于數(shù)據(jù)稀疏性問題,在處理數(shù)據(jù)時(shí)因?yàn)閳D結(jié)構(gòu)中的鄰居信息有限,難以捕捉到用戶和課程之間的關(guān)系,表現(xiàn)均差于前兩者。
本文提出的推薦模型SHRec取得了優(yōu)于其他對(duì)比模型的結(jié)果,證明了其有效性。一方面,其利用GCN融合不同鄰居課程節(jié)點(diǎn)的信息,以獲取更豐富的課程潛在信息,從而在一定程度上彌補(bǔ)了數(shù)據(jù)稀疏性;另一方面,在數(shù)據(jù)稀疏的情況下,其使用GGNN對(duì)會(huì)話圖進(jìn)行建模,能夠更好地利用節(jié)點(diǎn)之間的關(guān)聯(lián)性,更準(zhǔn)確地捕捉節(jié)點(diǎn)的表示,從而更好地建模課程學(xué)習(xí)狀態(tài)。此外,本文模型還使用了交互機(jī)制進(jìn)行特征融合,所以表現(xiàn)更優(yōu)。
消融實(shí)驗(yàn)旨在驗(yàn)證異質(zhì)圖嵌入和會(huì)話建模2個(gè)模塊在SHRec中的有效性。消融實(shí)驗(yàn)結(jié)果如表3所示。其中:SHRec-B&L表示在SHRec的基礎(chǔ)上用二部圖替代復(fù)雜異質(zhì)圖,即關(guān)鍵屬性不作為課程與課程之間關(guān)聯(lián)的中介,同時(shí),用長短期記憶(LSTM)網(wǎng)絡(luò)處理無回路的課程學(xué)習(xí)序列;SHRec-R&L表示在SHRec-B&L的基礎(chǔ)上將二部圖換成復(fù)雜異質(zhì)圖;SHRec-B&C表示將SHRec-B&L的LSTM更換為GGNN處理有回路的課程學(xué)習(xí)會(huì)話。
表3 課程推薦消融實(shí)驗(yàn)結(jié)果Table 3 Results of course recommendation ablation experiment
相對(duì)于SHRec-B&L,SHRec-R&L模型性能更優(yōu),這表明復(fù)雜異質(zhì)圖通過多條元路徑進(jìn)行節(jié)點(diǎn)嵌入能更全面地捕捉課程之間的關(guān)系,驗(yàn)證了復(fù)雜異質(zhì)圖嵌入更適用于課程推薦場景。與SHRec-B&L相比,SHRec-B&C采用GGNN處理學(xué)生選課序列構(gòu)成的會(huì)話圖,能夠更好地學(xué)習(xí)用戶的會(huì)話信息,而使用LSTM處理學(xué)生選課序列,一方面對(duì)學(xué)生的課程學(xué)習(xí)狀態(tài)建模會(huì)更加關(guān)注學(xué)生短期的學(xué)習(xí)狀態(tài)而忽略長期的學(xué)習(xí)過程,另一方面只關(guān)注當(dāng)前會(huì)話與前面會(huì)話之間的關(guān)系,因此,驗(yàn)證了使用會(huì)話圖建模適用于課程推薦場景。最后,SHRec的整體效果也比SHRec-B&C和SHRec-R&L好,說明復(fù)雜異質(zhì)圖嵌入模塊和會(huì)話圖建模模塊的融合能夠使課程推薦的效果更好。
本文模型SHRec以及對(duì)比模型SR-GNN和LightGCN均對(duì)學(xué)生課程學(xué)習(xí)狀態(tài)進(jìn)行了嵌入,為了觀察不同嵌入維度對(duì)模型性能的影響,本實(shí)驗(yàn)將3個(gè)模型中課程學(xué)習(xí)狀態(tài)的嵌入維度范圍設(shè)置為從5到100的變化區(qū)間進(jìn)行多次實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖4和圖5所示??梢钥闯?3個(gè)模型的預(yù)測結(jié)果都隨著嵌入維度的增大而有不同幅度的提升,在嵌入維度的變化區(qū)間內(nèi),SHRec比SR-GNN和LightGCN的性能更優(yōu)。實(shí)驗(yàn)結(jié)果表明:對(duì)CNPC數(shù)據(jù)集而言,當(dāng)嵌入維度為50左右時(shí),SHRec模型的性能便達(dá)到了比較穩(wěn)定的效果;對(duì)HMXPC和Scholat數(shù)據(jù)集而言,嵌入維度需要達(dá)到100左右時(shí),SHRec模型的性能才達(dá)到比較穩(wěn)定的效果。
圖4 NDCG@5隨嵌入維度的變化Fig.4 The variation of NDCG@5 with embedding size
圖5 MRR@5隨嵌入維度的變化Fig.5 The variation of MRR@5 with embedding size
本文提出基于異質(zhì)圖嵌入和會(huì)話交互的課程推薦模型SHRec。首先將學(xué)生的選課序列構(gòu)成會(huì)話圖,用于對(duì)學(xué)生的課程學(xué)習(xí)狀態(tài)建模,以更好地學(xué)習(xí)會(huì)話之間的關(guān)系;然后將學(xué)生、課程和關(guān)鍵屬性構(gòu)成異質(zhì)關(guān)系圖,結(jié)合課程的屬性信息和異質(zhì)網(wǎng)絡(luò)中的關(guān)系信息,挖掘更豐富精確的課程表征,彌補(bǔ)數(shù)據(jù)稀疏性問題;最后通過交互機(jī)制將學(xué)生課程學(xué)習(xí)狀態(tài)表征和課程表征進(jìn)行融合,用于預(yù)測學(xué)生下一門選課情況,完成課程推薦任務(wù)。在3個(gè)不同大小的真實(shí)數(shù)據(jù)集上,通過模型整體性能的對(duì)比實(shí)驗(yàn),證明了SHRec在課程推薦方面表現(xiàn)良好;通過消融實(shí)驗(yàn),證明了異質(zhì)圖嵌入模塊和會(huì)話建模模塊在課程推薦任務(wù)中的有效性;此外,通過關(guān)鍵參數(shù)實(shí)驗(yàn),證明了嵌入維度對(duì)SHRec進(jìn)行課程推薦具有影響。
未來的研究將主要從3個(gè)方面繼續(xù)深入工作:1)研究模型在冷啟動(dòng)方面、學(xué)生課程學(xué)習(xí)狀態(tài)穩(wěn)定性方面的表現(xiàn);2)探索元路徑的選擇、數(shù)量對(duì)模型效果的影響;3)嘗試采用其他異質(zhì)圖嵌入方法,充分利用異質(zhì)圖的豐富信息以提高模型性能。