本發(fā)明涉及學(xué)習(xí)資源推薦領(lǐng)域,特別涉及一種基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法。
背景技術(shù):
1、近年來(lái),大規(guī)模在線開(kāi)放課程(mooc)平臺(tái)在全球范圍內(nèi)迅速發(fā)展,極大地推動(dòng)了教育的普及,惠及了數(shù)百萬(wàn)用戶。然而,盡管這些平臺(tái)為用戶提供了豐富的學(xué)習(xí)資源,信息過(guò)載問(wèn)題仍然突出,用戶常常難以從海量學(xué)習(xí)資源中篩選出最符合自身需求的課程和學(xué)習(xí)材料。為應(yīng)對(duì)這一問(wèn)題,知識(shí)概念推薦逐漸成為研究熱點(diǎn)。知識(shí)概念作為從在線課程字幕文本中提取的術(shù)語(yǔ),與課程內(nèi)容密切相關(guān)。通過(guò)對(duì)知識(shí)概念進(jìn)行推薦,能夠幫助用戶更精準(zhǔn)地定位其感興趣的學(xué)習(xí)內(nèi)容,從而提升用戶的學(xué)習(xí)體驗(yàn)。
2、現(xiàn)有的知識(shí)概念推薦方法往往通過(guò)異構(gòu)信息網(wǎng)絡(luò)(hins)來(lái)建模mooc平臺(tái)上的多種實(shí)體及它們之間的關(guān)系,并著重于挖掘用戶與知識(shí)概念之間的有效信息從而進(jìn)行概念的推薦。然而,這些方法聚焦于用戶與知識(shí)概念之間的靜態(tài)交互,忽視了用戶學(xué)習(xí)偏好的時(shí)間動(dòng)態(tài)性,即用戶的學(xué)習(xí)偏好會(huì)隨著時(shí)間的推移、學(xué)習(xí)內(nèi)容的深入以及知識(shí)水平的提升而發(fā)生變化。正是由于缺乏對(duì)這種時(shí)間演變特性的有效考量,現(xiàn)有方法的特征嵌入能力受到限制,從而難以準(zhǔn)確捕捉用戶學(xué)習(xí)偏好的變化,進(jìn)而導(dǎo)致推薦的準(zhǔn)確率降低。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種算法高效、推薦準(zhǔn)確率高的基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法。
2、本發(fā)明解決上述問(wèn)題的技術(shù)方案是:一種基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,包括以下步驟:
3、1)定義異構(gòu)信息網(wǎng)絡(luò)中的節(jié)點(diǎn)類(lèi)型和關(guān)系類(lèi)型;
4、2)定義元路徑,獲取基于元路徑的同構(gòu)網(wǎng)絡(luò)與鄰接矩陣;
5、3)利用概念的名稱對(duì)概念進(jìn)行特征嵌入,利用用戶學(xué)習(xí)過(guò)程中的歷史行為對(duì)用戶進(jìn)行特征嵌入;
6、4)通過(guò)圖神經(jīng)網(wǎng)絡(luò)與自注意力機(jī)制,對(duì)步驟3)得到的概念嵌入與用戶嵌入進(jìn)行特征學(xué)習(xí),得到概念嵌入矩陣與用戶嵌入;
7、5)將步驟4)得到的概念嵌入矩陣與用戶嵌入送入到矩陣分解模型,得到預(yù)測(cè)的用戶對(duì)概念的評(píng)分矩陣,并將預(yù)測(cè)評(píng)分高的概念推薦給用戶;
8、上述基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,所述步驟1)具體包括以下步驟:
9、步驟1-1)針對(duì)大規(guī)模開(kāi)放式在線課程數(shù)據(jù)集mooccube,選擇一段時(shí)間內(nèi)的歷史記錄作為模型的數(shù)據(jù)集,并定義異構(gòu)信息網(wǎng)絡(luò)中的五種節(jié)點(diǎn)類(lèi)型與五種關(guān)系類(lèi)型。所述五種節(jié)點(diǎn)類(lèi)型包括:用戶,即在平臺(tái)上學(xué)習(xí)的個(gè)體;教師,即在平臺(tái)上教授課程的人;視頻,即涵蓋特定知識(shí)概念的教育資源;課程,由一系列視頻組成;知識(shí)概念,即組成課程內(nèi)容的基本單元。所述五種關(guān)系類(lèi)型包括:用戶→視頻,表示用戶觀看了特定的視頻;視頻→知識(shí)概念,表示視頻包含特定的知識(shí)概念;用戶→知識(shí)概念,表示用戶學(xué)習(xí)了特定的知識(shí)概念;視頻→課程,表示視頻是課程的一部分;課程→教師,表示課程由特定的教師講授。
10、上述基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,所述步驟2)具體包括以下步驟:
11、步驟2-1)定義元路徑,元路徑用來(lái)描述步驟1-1)所述異構(gòu)信息網(wǎng)絡(luò)中節(jié)點(diǎn)間的復(fù)合關(guān)系,設(shè)vi∈v、εi∈ε分別表示第i個(gè)節(jié)點(diǎn)類(lèi)型和第i個(gè)關(guān)系類(lèi)型,給定元路徑mp,它遵循定義:
12、
13、其中v1為起始節(jié)點(diǎn),vl為v1的基于元路徑mp的鄰居之一,元路徑mp描述了異構(gòu)信息網(wǎng)絡(luò)中節(jié)點(diǎn)v1和vl之間l-1階的復(fù)合鄰居關(guān)系ε:
14、ε=ε1∧ε2∧...∧εl-1?(2)
15、其中∧表示復(fù)合關(guān)系運(yùn)算,εl-1表示第l-1條邊的關(guān)系類(lèi)型。
16、步驟2-2)獲取基于元路徑的同構(gòu)網(wǎng)絡(luò)與鄰接矩陣,當(dāng)元路徑mp中的節(jié)點(diǎn)v1與vl同屬于一種節(jié)點(diǎn)類(lèi)型時(shí),沿著元路徑在異構(gòu)信息網(wǎng)絡(luò)中找到起始節(jié)點(diǎn)v1和節(jié)點(diǎn)vl之間的連接,并忽略中間的其他類(lèi)型節(jié)點(diǎn),只保留該類(lèi)型節(jié)點(diǎn)的關(guān)聯(lián)關(guān)系,從而將原本包含多種節(jié)點(diǎn)類(lèi)型的異構(gòu)信息網(wǎng)絡(luò)轉(zhuǎn)換為僅包含v1類(lèi)型節(jié)點(diǎn)的同構(gòu)信息網(wǎng)絡(luò),將該同構(gòu)網(wǎng)絡(luò)的關(guān)聯(lián)矩陣與其轉(zhuǎn)置矩陣相乘,即可得到基于元路徑mp的鄰接矩陣amp。
17、上述基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,所述步驟3)具體包括以下步驟:
18、步驟3-1)對(duì)概念進(jìn)行特征嵌入,將數(shù)據(jù)集中每個(gè)概念ci的名稱送入word2vec模型,得到概念ci的嵌入
19、步驟3-2)對(duì)用戶進(jìn)行特征嵌入,對(duì)于數(shù)據(jù)集中的每個(gè)用戶ui,給定用戶ui的有序歷史學(xué)習(xí)行為序列為用戶ui學(xué)習(xí)的第τ個(gè)概念,為用戶ui學(xué)習(xí)的最后一個(gè)概念,也稱為目標(biāo)概念,用戶ui特征嵌入的具體過(guò)程如下:
20、步驟3-2-1)調(diào)整概念和目標(biāo)概念之間的時(shí)間距離,d(t,τ)的計(jì)算過(guò)程如下:
21、
22、其中γt,t'∈[0,1]計(jì)算了概念與目標(biāo)概念的相似度,并對(duì)相似度值進(jìn)行了歸一化處理,為目標(biāo)概念對(duì)應(yīng)的嵌入映射得到的查詢向量,為對(duì)執(zhí)行轉(zhuǎn)置操作后的結(jié)果,dq為查詢向量的維度,為時(shí)間索引為t'的概念對(duì)應(yīng)的嵌入映射得到的鍵向量,為時(shí)間索引為τ'的概念對(duì)應(yīng)的嵌入映射得到的鍵向量,dk為鍵向量的維度,exp()是以自然數(shù)e為底的指數(shù)函數(shù),d(t,τ)計(jì)算了出現(xiàn)在概念之后的概念(即概念)與目標(biāo)概念的相似度,并據(jù)此調(diào)整了概念和目標(biāo)概念之間單純的時(shí)間距離|t-τ|,τ為概念的時(shí)間索引,t為目標(biāo)概念的時(shí)間索引(τ<t)。
23、步驟3-2-2)利用時(shí)間距離d(t,τ)為概念分配時(shí)間注意力系數(shù)st,τ,st,τ的計(jì)算公式如下:
24、
25、其中st,τ為綜合考慮概念與目標(biāo)概念之間的時(shí)間距離和上下文信息后為概念分配的時(shí)間注意力系數(shù),為目標(biāo)概念對(duì)應(yīng)的嵌入映射得到的查詢向量,為對(duì)執(zhí)行轉(zhuǎn)置操作后的結(jié)果,dq為查詢向量的維度,為概念對(duì)應(yīng)的嵌入映射得到的鍵向量,dk為鍵向量的維度,exp()是以自然數(shù)e為底的指數(shù)函數(shù)。系數(shù)st,τ的大小反映了在用戶學(xué)習(xí)過(guò)程中概念與目標(biāo)概念的相關(guān)程度,具體而言,如果出現(xiàn)在概念后續(xù)的概念與目標(biāo)概念的相關(guān)度更高,則賦予概念較小的系數(shù),反之則賦予其較大的系數(shù)。
26、步驟3-2-3)將用戶ui學(xué)習(xí)行為序列中的歷史行為與其對(duì)應(yīng)的注意力權(quán)重加權(quán)求和得到用戶ui的嵌入的計(jì)算過(guò)程如下:
27、
28、其中為將st,τ送入softmax函數(shù)進(jìn)行歸一化處理后得到的結(jié)果,exp()是以自然數(shù)e為底的指數(shù)函數(shù),為將用戶ui的歷史行為與其對(duì)應(yīng)的注意力權(quán)重加權(quán)求和得到的用戶嵌入,為概念對(duì)應(yīng)的嵌入映射得到的值向量,dv為值向量的維度。
29、上述基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,所述步驟4)具體包括以下步驟:
30、步驟4-1)將步驟3-1)得到的所有概念的嵌入送入到一個(gè)多層的gcn圖神經(jīng)網(wǎng)絡(luò)中對(duì)其進(jìn)行特征學(xué)習(xí),并通過(guò)自注意力機(jī)制融合不同元路徑下生成的嵌入,其特征學(xué)習(xí)的具體過(guò)程如下:
31、步驟4-1-1)在元路徑mpi下,將步驟3-1)得到的所有概念嵌入送入一個(gè)多層的gcn圖神經(jīng)網(wǎng)絡(luò)中對(duì)其進(jìn)行特征學(xué)習(xí),得到所有概念嵌入組成的嵌入矩陣的計(jì)算公式如下:
32、
33、其中為在元路徑mpi下學(xué)習(xí)得到的所有概念嵌入組成的嵌入矩陣,為經(jīng)過(guò)l層gcn圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)后的所有概念嵌入組成的嵌入矩陣,為步驟3-1)得到的所有概念嵌入組成的嵌入矩陣,d為學(xué)習(xí)得到的每個(gè)概念嵌入的維度,dv為步驟3-1)得到的每個(gè)概念嵌入的維度,n為概念的數(shù)量,l為指示器,指示gcn的層數(shù),為基于元路徑mpi的鄰接矩陣,i為單位矩陣,為的對(duì)角度矩陣,wl為第l層gcn圖神經(jīng)網(wǎng)絡(luò)中待訓(xùn)練的權(quán)重矩陣,σ在此處為relu非線性激活函數(shù)。
34、步驟4-1-2)通過(guò)自注意力機(jī)制融合在不同元路徑下學(xué)習(xí)得到的嵌入矩陣,得到最終的嵌入矩陣ec,ec的計(jì)算過(guò)程如下:
35、
36、其中為在元路徑mpi下學(xué)習(xí)得到的嵌入矩陣的注意力系數(shù),為在元路徑mpi下學(xué)習(xí)得到的所有概念嵌入組成的嵌入矩陣,為最終的所有概念嵌入組成的嵌入矩陣,d為學(xué)習(xí)得到的每個(gè)概念嵌入的維度,n為概念的數(shù)量,a為待學(xué)習(xí)的向量,為定義的元路徑集合,表示中包含的元路徑的數(shù)量,σ在此處為relu非線性激活函數(shù)。
37、步驟4-2)將步驟3-2)得到的所有用戶嵌入送入到一個(gè)多層的gat圖神經(jīng)網(wǎng)絡(luò)中對(duì)其進(jìn)行特征學(xué)習(xí),并通過(guò)自注意力機(jī)制融合不同元路徑下生成的嵌入,其特征學(xué)習(xí)的具體過(guò)程如下:
38、步驟4-2-1)在元路徑mpx下,將步驟3-2)得到的所有用戶嵌入送入到一個(gè)多層的gat圖神經(jīng)網(wǎng)絡(luò)中對(duì)其進(jìn)行特征學(xué)習(xí),得到用戶嵌入的計(jì)算過(guò)程如下:
39、
40、其中為在元路徑mpx下,用戶ui與其鄰居用戶uj之間的關(guān)系系數(shù),為步驟3-2)得到的用戶ui的嵌入,為在第l層gat圖神經(jīng)網(wǎng)絡(luò)中用戶ui的嵌入,為在第l層gat圖神經(jīng)網(wǎng)絡(luò)中用戶uj的嵌入,為在元路徑mpx下用戶ui的鄰居節(jié)點(diǎn)集合,為第l層gat圖神經(jīng)網(wǎng)絡(luò)中待學(xué)習(xí)的向量,為對(duì)a執(zhí)行轉(zhuǎn)置操作得后的結(jié)果,wl為第l層gat圖神經(jīng)網(wǎng)絡(luò)中待訓(xùn)練的權(quán)重矩陣,leakyrelu為激活函數(shù),l為指示器,指示gat的層數(shù),||表示拼接操作,exp()是以自然數(shù)e為底的指數(shù)函數(shù),用戶ui在元路徑mpx下學(xué)習(xí)得到的嵌入,為經(jīng)過(guò)l層gat圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)后的用戶ui的嵌入,d為學(xué)習(xí)得到的嵌入的維度,σ在此處為relu非線性激活函數(shù)。
41、步驟4-2-2)通過(guò)自注意力機(jī)制融合在不同元路徑下學(xué)習(xí)得到的用戶嵌入,得到最終的用戶嵌入的計(jì)算過(guò)程如下:
42、
43、其中為在元路徑mpx下學(xué)習(xí)得到用戶ui的注意力系數(shù),為在元路徑mpx下學(xué)習(xí)得到的用戶ui的嵌入,b為待學(xué)習(xí)的向量,σ在此處為relu非線性激活函數(shù),exp()是以自然數(shù)e為底的指數(shù)函數(shù),為最終的用戶ui的嵌入,d為學(xué)習(xí)得到的用戶嵌入的維度,為定義的元路徑集合,表示中包含的元路徑的數(shù)量。
44、上述基于用戶學(xué)習(xí)過(guò)程的知識(shí)概念推薦方法,所述步驟5)具體包括以下步驟:
45、步驟5-1)將步驟4-1)與步驟4-2)得到的所有概念嵌入與用戶嵌入送入到拓展的矩陣分解模型,得到用戶對(duì)概念的評(píng)分矩陣,并將預(yù)測(cè)評(píng)分高的概念推薦給用戶,評(píng)分矩陣的計(jì)算公式如下:
46、
47、其中為預(yù)測(cè)的用戶對(duì)概念的評(píng)分矩陣,為用戶的隱向量,為用戶的隱向量,f為隱向量的維度,為步驟4-2)學(xué)習(xí)得到的所有用戶的嵌入組成的嵌入矩陣,為步驟4-1)學(xué)習(xí)得到的概念嵌入矩陣,tc和tu是為了使eu和ec處于同一向量維度而引入的參數(shù),βu和βc為調(diào)優(yōu)參數(shù),為對(duì)xu執(zhí)行轉(zhuǎn)置操作得后的結(jié)果,為對(duì)eu執(zhí)行轉(zhuǎn)置操作得后的結(jié)果,(tu)t為對(duì)tu執(zhí)行轉(zhuǎn)置操作得后的結(jié)果。
48、步驟5-2)根據(jù)目標(biāo)函數(shù)和梯度下降算法,優(yōu)化預(yù)測(cè)的用戶對(duì)概念的評(píng)分矩陣,目標(biāo)函數(shù)的計(jì)算公式如下:
49、
50、其中為實(shí)際的用戶對(duì)概念的評(píng)分矩陣,m為用戶的數(shù)量,n為概念的數(shù)量,λ為正則化參數(shù),||xu||2為xu的l2范數(shù),||yc||2為yc的l2范數(shù),||tu||2為tu的l2范數(shù),||tc||2為tc的l2范數(shù),它們四者均作為正則化項(xiàng)用來(lái)控制模型的復(fù)雜度。
51、本發(fā)明的有益效果在于:
52、本發(fā)明在用戶嵌入部分引入了一種時(shí)間注意力機(jī)制,用于處理用戶學(xué)習(xí)過(guò)程中的時(shí)間信息,該機(jī)制根據(jù)用戶行為發(fā)生的時(shí)間對(duì)其進(jìn)行差異化處理,并分配不同的時(shí)間權(quán)重,從而解決現(xiàn)有方法難以準(zhǔn)確捕捉用戶學(xué)習(xí)偏好變化、特征嵌入能力受限的問(wèn)題;同時(shí),本發(fā)明通過(guò)異構(gòu)信息網(wǎng)絡(luò)連接mooc平臺(tái)上的用戶與其他實(shí)體,并結(jié)合元路徑和圖神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)嵌入的聚合,從而使得生成的嵌入包含更豐富的信息。本發(fā)明在推薦的準(zhǔn)確性和穩(wěn)健性方面表現(xiàn)優(yōu)異,在學(xué)習(xí)資源推薦和智慧教育等領(lǐng)域具有一定的市場(chǎng)價(jià)值。