文章編號(hào):1671-3559(2024)04-0456-06DOI:10.13349/j.cnki.jdxbn.20240530.001
摘要: 為了提高在線學(xué)習(xí)資源推薦的準(zhǔn)確度, 采用譜聚類用于學(xué)習(xí)資源的歸類, 將類別相似度高的資源推薦給用戶, 提出Spark平臺(tái)的并行化譜聚類算法, 提高資源推薦效率; 首先提取在線學(xué)習(xí)資源及用戶特征并初始化, 建立譜聚類模型, 在Spark平臺(tái)上分別求解無(wú)向圖的頂點(diǎn)相似度及歸一化拉普拉斯系數(shù); 然后采用歸一化分割劃分子集, 通過(guò)歸一化割集優(yōu)化方式求解類別特征, 并對(duì)類別特征按行輸出特征點(diǎn); 最后采用k均值算法對(duì)特征點(diǎn)進(jìn)行聚類, 獲得聚類結(jié)果。 結(jié)果表明, 采用譜聚類算法并借助于Spark平臺(tái)的計(jì)算優(yōu)勢(shì), 所提推薦方法比常用的在線學(xué)習(xí)資源推薦算法的準(zhǔn)確率和覆蓋率更高, 在海量學(xué)習(xí)資源的實(shí)時(shí)推薦方面具有較高適應(yīng)度。
關(guān)鍵詞: 在線學(xué)習(xí); 資源推薦; 譜聚類; Spark平臺(tái); 圖分割
中圖分類號(hào): TP391.4
文獻(xiàn)標(biāo)志碼: A
開(kāi)放科學(xué)識(shí)別碼(OSID碼):
Online Learning Resource Recommendation by Using
Parallel Spectral Clustering Algorithm Based on Spark Platform
LIU Ying1, YANG Shuping1, ZHANG Zhiguo2
(1. School of Education, Liaoning Normal University, Dalian 116000, Liaoning, China;
2. College of Mechanical and Electrical Engineering, Hohai University, Nanjing 211100, Jiangsu, China)
Abstract: To improve the accuracy of online learning resource recommendation, spectral clustering was used to classify learning resources, recommend resources with high category similarity to users, a parallel spectral clustering algorithm based on" Spark platform was proposed to enhance the efficiency of resource recommendation. First, the online learning resources and user features were extracted and initialized, then a spectral clustering model was established, and the vertex similarity matrix and normalized Laplacian matrix of the undirected graph on Spark platform were solved. Then the normalized segmentation for subset division was used, the class vector was solved by the normalized cut set optimization method, and the feature points of the class vector by line was output. Finally, k-means algorithm was used to cluster the feature points and obtain the clustering results. The experimental results show that compared with the common online learning resource recommendation algorithms, the spectral clustering algorithm based on Spark platform has higher recommendation accuracy and coverage, and has higher adaptability in real-time recommendation of massive learning resources.
Keywords: online learning; resource recommendation; spectral clustering; Spark platform; figure segmentation
移動(dòng)因特網(wǎng)發(fā)展及海量網(wǎng)絡(luò)學(xué)習(xí)資源為在線學(xué)習(xí)的蓬勃發(fā)展提供了機(jī)遇,用戶可以便利地通過(guò)移動(dòng)終端獲得所需要的學(xué)習(xí)資源,例如學(xué)前學(xué)習(xí)、 幼兒資源等。大規(guī)模學(xué)習(xí)資源在給用戶帶來(lái)豐富學(xué)習(xí)
收稿日期: 2023-03-30""""""""" 網(wǎng)絡(luò)首發(fā)時(shí)間:2024-05-30T15:55:07
基金項(xiàng)目: 國(guó)家自然科學(xué)基金項(xiàng)目(62176142); 國(guó)家社會(huì)科學(xué)基金項(xiàng)目(BJA190094)
第一作者簡(jiǎn)介: 劉瑩(1989—),女,遼寧大連人。博士研究生,研究方向?yàn)閿?shù)據(jù)分析、 在線學(xué)習(xí)、 學(xué)前學(xué)習(xí)。E-mail: yuki1535@163.com。
通信作者簡(jiǎn)介: 楊淑萍(1970—),女,山西夏縣人。教授,博士,博士生導(dǎo)師,研究方向?yàn)樵诰€學(xué)習(xí)、 情感分析。E-mail: yshuping97@sohu.com。
網(wǎng)絡(luò)首發(fā)地址: https://link.cnki.net/urlid/37.1378.N.20240530.1115.002
資源的同時(shí),也給用戶造成了篩選所需資源的困擾[1],用戶在主動(dòng)搜索資源時(shí)可能因關(guān)鍵詞選擇不精準(zhǔn),或者學(xué)習(xí)資源系統(tǒng)本身的歸類方式限制而不能高效地獲得電子資源[2]。被動(dòng)地接收系統(tǒng)推薦的資源成為當(dāng)前主流在線學(xué)習(xí)平臺(tái)的服務(wù)模式。智能算法和神經(jīng)網(wǎng)絡(luò)作為資源推薦的常用方法,能夠較精準(zhǔn)地為用戶推薦所需學(xué)習(xí)資源;但隨著在線學(xué)習(xí)資源量及類別增加,推薦難度提升,效率降低,因此選擇更精準(zhǔn)的推薦算法和更高效的計(jì)算平臺(tái)成為近年來(lái)在線學(xué)習(xí)資源推薦的研究熱點(diǎn)。
當(dāng)前在線學(xué)習(xí)資源推薦的算法較多。程巖[3]分析了群體智能算法在學(xué)習(xí)路徑推薦中的可行性,并分析不同群體智能算法應(yīng)用于學(xué)習(xí)路徑推薦的性能優(yōu)劣。歹杰等[4]采用圖論實(shí)現(xiàn)了課程資源的高精度推薦。群體智能算法重在強(qiáng)調(diào)智能算法推薦的可行性,但推薦的性能有待提高;基于圖論的推薦算法雖然能實(shí)現(xiàn)資源和用戶的高度匹配,但是其推薦效率仍有待提升。本文中將譜聚類算法用于在線學(xué)習(xí)資源推薦,為了解決譜聚類算法中所有圖頂點(diǎn)的相似度和特征值求解效率較低的問(wèn)題,借助Spark平臺(tái)并行求解相似度和特征值,構(gòu)建基于Spark平臺(tái)的并行化譜聚類算法(簡(jiǎn)稱本文算法),以提升譜聚類算法在線學(xué)習(xí)資源推薦效率。
1" 譜聚類算法
譜聚類算法通過(guò)圖分割方法來(lái)實(shí)現(xiàn)聚類類別劃分,其分割子集的數(shù)量和聚類類別相等,需要求解頂點(diǎn)相似度及分割子集的特征值。設(shè)圖G=(V, E)中的頂點(diǎn)集為V={v1, v2, …, vn},n個(gè)頂點(diǎn)形成的邊關(guān)系集合為E={eij=〈vi, vj〉vi, vj∈V},其中
〈·, ·〉表示二元關(guān)系,
頂點(diǎn)vi和vj之間的相似度為wij,且wij≥0,計(jì)算公式[5]為
wij=exp-d(vi, vj)2σ2
," eij∈E ,
0,eijE。(1)
式中: σ為常量; d(vi, vj)為2個(gè)頂點(diǎn)間的距離矢量。
距離的計(jì)算與選擇的維度有關(guān),常用方法為灰度值。計(jì)算所有頂點(diǎn)之間的相似度,形成相似度權(quán)值W,計(jì)算公式[6]為
W(i, j)=wij," eij∈E ,
0,eijE。(2)
設(shè)G中第i個(gè)頂點(diǎn)與其他所有頂點(diǎn)的相似度為Dii,計(jì)算公式為
Dii=∑nj=1wij 。(3)
根據(jù)上式可計(jì)算所有頂點(diǎn)的相似度,聯(lián)合多個(gè)相似度則可構(gòu)建G中全部頂點(diǎn)的總相似度D。
設(shè)非歸一化拉普拉斯系數(shù)[7]為L(zhǎng),
L=D-W 。(4)
在譜聚類時(shí),聚類精度除了需要關(guān)注頂點(diǎn)之間的相似關(guān)系,還與圖的劃分方案關(guān)系密切。
設(shè)無(wú)向圖有k個(gè)連通子集A1、 A2、 …、 Ak,則連通子集之間的割集[8]為
C(A1, A2, …, Ak)=12∑ki=1W(Ai, Ai—)
,(5)
式中Ai—為除子集Ai以外的一個(gè)連通子集。
衍生出的割集求解方式較多,本文中選擇了歸一化割集
方法[9],歸一化割集計(jì)算公式為
Cn(A1, A2, …, Ak)=12∑ki=1
W(Ai, Ai—)s(Ai)
∑ki=1C(Ai, Ai—)s(Ai) ,(6)
式中s(Ai)為子集Ai對(duì)應(yīng)的頂點(diǎn)相似度,
s(Ai)=∑vi∈AiDii 。(7)
設(shè)歸一化割集Cn將圖G劃分為k個(gè)類別A1、 A2、 …、 Ak,計(jì)算時(shí)k個(gè)類別用集合hj={h1j, h2j, …, hnj}來(lái)表示, hij表達(dá)式為
hij=1s(Aj)," vi∈Ai ,
0,viAi。(8)
其中, i=1, 2, …, n, j=1, 2, …, k。將類別集合構(gòu)建成子集合H={h1, h2, …, hk}。對(duì)于k個(gè)類別,令i=1,2,…,k,可以將歸一化割集優(yōu)化為k個(gè)特征值所對(duì)應(yīng)的特征。
獲得H后,按行輸出得到若干特征點(diǎn),將該特征點(diǎn)輸入至k均值算法,最后獲得k個(gè)類別結(jié)果。
2" 本文算法
Spark平臺(tái)主要用來(lái)解決大規(guī)模數(shù)據(jù)的高效運(yùn)算[10]。觀察譜聚類的式(2)、 (8)可以看出,相似權(quán)值和特征值計(jì)算過(guò)程需要消耗大量計(jì)算資源,因此本文中借助Spark平臺(tái)的并行計(jì)算優(yōu)勢(shì)來(lái)提高大規(guī)模聚類效率。
2.1" Spark平臺(tái)
Spark平臺(tái)的所有節(jié)點(diǎn)在參與并行計(jì)算時(shí),按照節(jié)點(diǎn)的功能可分為主節(jié)點(diǎn)和從節(jié)點(diǎn)[11],一般只有一個(gè)主節(jié)點(diǎn),其他節(jié)點(diǎn)作為從節(jié)點(diǎn),兩者與用戶的交互方式如圖1所示。
規(guī)定一個(gè)主節(jié)點(diǎn),其他均為從節(jié)點(diǎn),根據(jù)運(yùn)算需要,選擇加入Spark平臺(tái)的節(jié)點(diǎn)數(shù),當(dāng)有新的從節(jié)點(diǎn)加入時(shí),首先需要在主節(jié)點(diǎn)端進(jìn)行注冊(cè)。用戶端提交聚類任務(wù)至主節(jié)點(diǎn),主節(jié)點(diǎn)將任務(wù)分解并下發(fā)至從節(jié)點(diǎn)[12],并將分配的從節(jié)點(diǎn)地址反饋至用戶端,用戶端根據(jù)反饋結(jié)果在從節(jié)點(diǎn)上進(jìn)行注冊(cè),并與從節(jié)點(diǎn)建立連接,從節(jié)點(diǎn)載入任務(wù),并將計(jì)算結(jié)果提交給用戶。所有節(jié)點(diǎn)的運(yùn)算均在內(nèi)存彈性分布式數(shù)據(jù)集(resilient distributed datasets, RDD)中實(shí)現(xiàn)[13],有效提升數(shù)據(jù)存取效率,從而增強(qiáng)聚類實(shí)時(shí)性。
2.2" 并行化的譜聚類推薦流程
首先,以用戶-資源特征樣本為頂點(diǎn)構(gòu)建無(wú)向圖;然后,建立譜聚類在線學(xué)習(xí)資源推薦模型;最后,將譜聚類的相似度和特征值求解任務(wù)輸送至Spark平臺(tái),Spark平臺(tái)主節(jié)點(diǎn)從用戶端獲取計(jì)算任務(wù),并將任務(wù)分發(fā)至從節(jié)點(diǎn),經(jīng)過(guò)并行計(jì)算后獲得聚類結(jié)果,根據(jù)聚類結(jié)果為用戶選擇推送資源。
本文算法推薦流程如圖2所示。
3" 實(shí)例仿真
為了驗(yàn)證本文算法的在線學(xué)習(xí)資源推薦性能,對(duì)表1中的常用4類公共在線學(xué)習(xí)數(shù)據(jù)集進(jìn)行性能仿真。首先,驗(yàn)證譜聚類算法對(duì)不同樣本的聚類性能和推薦性能;其次,比較單機(jī)譜聚類算法和本文算法的在線資源推薦性能;最后,采用常用學(xué)習(xí)資源推薦算法和本文算法進(jìn)行性能對(duì)比。
3.1" 譜聚類算法學(xué)習(xí)資源推薦性能
僅采用單個(gè)計(jì)算節(jié)點(diǎn)對(duì)表1中的4類在線學(xué)習(xí)數(shù)據(jù)集進(jìn)行譜聚類, 其聚類性能如表2所示。由表可以看出,4個(gè)數(shù)據(jù)集的聚類準(zhǔn)確率較高,其中在
MOOPer數(shù)據(jù)集中的分類準(zhǔn)確率最高, 為0.912 3, 即使在Goodbooks-10k數(shù)據(jù)集的準(zhǔn)確率最低, 也達(dá)到0.896 1, 表明譜聚類算法對(duì)學(xué)習(xí)資源樣本的聚類適應(yīng)性較好。 4個(gè)數(shù)據(jù)集的聚類AUC[接收者操作特征曲線(ROC)下與坐標(biāo)軸圍成的面積]均大于0.71, 表明譜聚類算法在學(xué)習(xí)資源聚類方面的聚合度高。譜聚類算法在Goodbooks-10k數(shù)據(jù)集的聚類時(shí)間為185.391 s,而在CiteULike數(shù)據(jù)集的聚類時(shí)間為137.795 s,兩者耗時(shí)差距大的原因可能是參與聚類的樣本集數(shù)量不同,Goodbooks-10k數(shù)據(jù)集的樣本量明顯大于CiteULike數(shù)據(jù)集的。
在獲得聚類結(jié)果后, 需要按照類別進(jìn)行資源推薦, 譜聚類算法的學(xué)習(xí)資源推薦性能如表3所示。 由表可知,4個(gè)數(shù)據(jù)集的資源推薦準(zhǔn)確率均大于0.88,覆蓋率均大于0.89,前者表明所有推薦資源中用戶接受的資源比例高達(dá)88%以上,后者表明用戶使用推薦的資源與實(shí)際使用所有資源的比例超過(guò)89%,說(shuō)明通過(guò)譜聚類后在線學(xué)習(xí)資源推薦的性能提升明顯。
3.2" Spark平臺(tái)并行化提升譜聚類效率
Spark平臺(tái)并行計(jì)算框架對(duì)譜聚類算法的在線學(xué)習(xí)資源推薦效率影響明顯。為了驗(yàn)證Spark平臺(tái)并行計(jì)算對(duì)資源推薦效率的影響,差異化設(shè)置Spark節(jié)點(diǎn)數(shù), 求解單節(jié)點(diǎn)推薦時(shí)間T1與多節(jié)點(diǎn)推薦時(shí)間T2,得到加速比K=T1/T2,結(jié)果見(jiàn)表4。由表可見(jiàn),經(jīng)過(guò)Spark平臺(tái)并行計(jì)算后,4個(gè)在線學(xué)習(xí)數(shù)據(jù)集的推薦效率提升明顯,當(dāng)節(jié)點(diǎn)數(shù)為8時(shí),Goodbooks-10k、 Mooc、 CiteULike、 MOOPer數(shù)據(jù)集的加速比分別為39.677、 27.027、 25.689和35.729,說(shuō)明通過(guò)Spark平臺(tái)并行計(jì)算可以實(shí)現(xiàn)快速譜聚類的在線學(xué)習(xí)資源推薦。
3.3" 不同算法的在線學(xué)習(xí)資源推薦性能
分別采用協(xié)同過(guò)濾算法[14]、 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)算法[15]、 差分廣義回歸神經(jīng)網(wǎng)絡(luò)(generalized regression neural network,GRNN)算法[16]和本文算法用于在線學(xué)習(xí)資源推薦性能仿真,4種算法均在單機(jī)完成,各算法推薦準(zhǔn)確率如圖3所示。從圖中可以看出,協(xié)同過(guò)濾算法在4個(gè)在線學(xué)習(xí)數(shù)據(jù)集的資源推薦準(zhǔn)確率均最低,Spark平臺(tái)并行化譜聚類算法的最高。在Goodbooks-10k、 CiteULike、 MOOPer數(shù)據(jù)集,差分GRNN算法和Spark平臺(tái)并行化譜聚類算法的準(zhǔn)確率非常接近,RNN算法略遜于這2種算法,而在Mooc集, Spark并行化譜聚類算法的推薦準(zhǔn)確率優(yōu)勢(shì)明顯。從推薦時(shí)間來(lái)看,協(xié)同過(guò)濾算法更省時(shí), Spark并行化譜聚類算法次之,RNN、 差分GRNN算法最耗時(shí),原因是這2種算法的參數(shù)求解較費(fèi)時(shí)。
進(jìn)一步對(duì)比4種算法的在線學(xué)習(xí)資源推薦性能,求解各算法的推薦覆蓋率,選擇節(jié)點(diǎn)數(shù)為5的Spark平臺(tái)并行計(jì)算,結(jié)果如表5所示。由表中數(shù)據(jù)可以看出,4種算法在4個(gè)數(shù)據(jù)集的推薦覆蓋率差異明顯,其中本文算法的覆蓋率最高,差分GRNN、 RNN和協(xié)同過(guò)濾算法的依次排后。采用Spark平臺(tái)并行加速后,4種算法的推薦效率均提升明顯,推薦時(shí)間差異明顯縮小,表明在大規(guī)模在線學(xué)習(xí)資源推
薦時(shí),引入Spark平臺(tái)可以有效提高不同算法的在線學(xué)習(xí)資源推薦效率。
4" 結(jié)語(yǔ)
本文中將譜聚類算法用于在線學(xué)習(xí)資源推薦,以用戶-資源屬性為頂點(diǎn)構(gòu)建圖結(jié)構(gòu),通過(guò)相似度、 歸一化割集特征向量求解獲得特征點(diǎn),根據(jù)對(duì)特征點(diǎn)近鄰聚類得到用戶-資源類別,從而實(shí)現(xiàn)在線學(xué)習(xí)資源的分類推薦。在聚類過(guò)程中,借助Spark平臺(tái)實(shí)現(xiàn)相似度和特征向量的并行計(jì)算,提高了譜聚類效率。后續(xù)研究將嘗試采用不同的割集方式構(gòu)建特征值,驗(yàn)證不同割集方式下的譜聚類算法的在線學(xué)習(xí)資源推薦性能,同時(shí)優(yōu)化譜聚類的特征點(diǎn)聚類方式,進(jìn)一步提高譜聚類算法在學(xué)習(xí)資源推薦應(yīng)用中的適應(yīng)度。
參考文獻(xiàn):
[1]" KARAOGLANYILMAZFG,YILMAZR.Learning analytics intervention improves students’ engagement in online learning[J]. Technology, Knowledge and Learning, 2022, 27(2): 449.
[2]" 孔曉曉. 基于知識(shí)圖譜自動(dòng)構(gòu)建的可用資源表示與推薦[J]. 濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2023, 37(2): 235.
[3]" 程巖. 在線學(xué)習(xí)中基于群體智能的學(xué)習(xí)路徑推薦方法[J]. 系統(tǒng)管理學(xué)報(bào), 2011, 20(2): 232.
[4]" 歹杰, 李青山, 褚華, 等. 突破智慧教育: 基于圖學(xué)習(xí)的課程推薦系統(tǒng)[J]. 軟件學(xué)報(bào), 2022, 33(10): 3656.
[5]" BERAHMAND K, MOHAMMADI M, FAROUGHI A, et al. A novel method of spectral clustering in attributed networks by constructing parameter-free affinity matrix[J]. Cluster Computing, 2022,12: 1.
[6]" El HAJJAR S, DORNAIKA F, ABDALLAH F. Multi-view spectral clustering via constrained nonnegative embedding[J]. Information Fusion, 2022, 78: 209.
[7]" AYTEKIN C, OZAN E C, KIRANYAZ S, et al. Extended quantum cuts for unsupervised salient object extraction[J]. Multimedia Tools amp; Applications, 2017, 76(8): 10443.
[8]" WANG Y R, DING S F, WANG L J, et al. A manifold p-spectral clustering with sparrow search algorithm[J]. Soft Computing, 2022, 26(4): 1765.
[9]" HUANG S H, WENG H L, FENG Y. Spectral clustering via adaptive layer aggregation for multi-layer networks[J]. Journal of Computational and Graphical Statistics, 2023, 32(3): 1170.
[10]" TIAN Y H, ZHENG B, WANG Y F, et al. College library personalized recommendation system based on hybrid recommendation algorithm[J]. Procedia CIRP, 2019, 83: 490.
[11]" LIN J Q, XIAO A H, DONG S B, et al. Spark-ITGO: a parallel invasive tumor growth optimization algorithm on spark[J]. Cluster Computing, 2022, 25(4): 2633.
[12]" JIANG K, DU S F, ZHAO F, et al. Effective data management strategy and RDD weight cache replacement strategy in Spark[J]. Computer Communications, 2022, 194: 66.
[13]" DO P, PHAN T H V. Developing a BERT based triple classification model using knowledge graph embedding for question answering system[J]. Applied Intelligence, 2022, 52(1): 636.
[14]" 覃忠臺(tái), 張明軍. 基于協(xié)同過(guò)濾算法的學(xué)習(xí)資源推薦模型研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2021, 31(9): 31.
[15]" 盧春華, 楊輝, 李云鵬. 一種基于本體和循環(huán)神經(jīng)網(wǎng)絡(luò)的在線學(xué)習(xí)資源推薦技術(shù)[J]. 情報(bào)理論與實(shí)踐, 2019, 42(12): 150.
[16]" 宋菲菲, 隋棟, 周湘貞. 基于深度學(xué)習(xí)的智能學(xué)習(xí)資源推薦算法[J]. 南京理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2022, 46(2): 185.
(責(zé)任編輯:劉" 飚)