林海
(惠州城市職業(yè)學(xué)院 廣東省惠州市 516000)
推薦系統(tǒng)的應(yīng)用涉及多個(gè)行業(yè),比如電商、新聞、餐飲、旅游等。但傳統(tǒng)高職院校,建立的在線教學(xué)系統(tǒng),側(cè)重于管理功能。學(xué)者對(duì)推薦系統(tǒng)的應(yīng)用研究主要聚到商業(yè)與工業(yè)。如黃玲(2020)基于云平臺(tái)的電子商務(wù)智能推薦系統(tǒng)的研究[1];李家華(2019)基于大數(shù)據(jù)的電商導(dǎo)購(gòu)平臺(tái)研究[2];李太松等(2019)基于循環(huán)實(shí)際卷積網(wǎng)絡(luò)的序列流算法的研究[3];王婧虹(2019)基于用戶特征的在線酒店推薦技術(shù)研究[4]。至于推薦系統(tǒng)存在的問題,學(xué)者做了大量的研究,如李振波等(2019)基于協(xié)同回歸模型的矩陣分解推薦研究[5];陳曄等(2018)對(duì)LFM 矩陣分解的推薦算法優(yōu)化研究[6];葉俊民等(2019)推薦算法中運(yùn)用了НIN[7];梁麗君等(2018)運(yùn)用K-means聚類算法對(duì)用戶屬性特征進(jìn)行聚類的研究[8]。學(xué)者們的研究既有傳統(tǒng)推薦方法的改進(jìn)、亦有深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等新興方法的引入。涵蓋了SVD、多元混合、EGE 模型、張量填補(bǔ)、聯(lián)合推薦、協(xié)同回歸、LSTM、FuckSVD、Apriori、三支交互、深度神級(jí)網(wǎng)絡(luò)、知識(shí)圖譜、專家推薦、隱語義分析、二分網(wǎng)絡(luò)、TLRank、上下文推薦、社會(huì)化推薦等。
對(duì)于學(xué)習(xí)系統(tǒng)(在線教學(xué)資源系統(tǒng))的推薦,學(xué)者做了一定的研究,或重點(diǎn)聚焦技術(shù),或重點(diǎn)聚焦用戶行為持續(xù)使用因素等,如曹斌等(2015)研究了在線書籍用戶閱讀時(shí)間與頻次融合的推薦方法[9];張穎(2016)探討了云計(jì)算中的學(xué)習(xí)資源個(gè)性化推薦[10];夏立新等(2018)探討了布爾型移動(dòng)在學(xué)習(xí)資源推薦系統(tǒng)的應(yīng)用[11];徐雪珂等(2019)算法研究了個(gè)體特征和教學(xué)評(píng)價(jià)[12];張婭雯等(2020)在移動(dòng)學(xué)習(xí)平臺(tái)用戶使用意愿影響因素研究,基于移動(dòng)情境和心流體驗(yàn)的技術(shù)接受模型[13];未來,對(duì)個(gè)體特征更深入的探究、基于教育本質(zhì)的跨學(xué)科多元融合、新興技術(shù)和產(chǎn)業(yè)發(fā)展前沿、差異性環(huán)境等將賦予影響因素研究更為豐富的內(nèi)容。
在高職院校在線教學(xué)資源系統(tǒng)中,推薦系統(tǒng)會(huì)面臨如下問題:
(1)數(shù)據(jù)稀疏。高職學(xué)生之間的交集可能很小,使得高職學(xué)生之間的關(guān)聯(lián)性很小。
(2)準(zhǔn)確率低。高職學(xué)生甚少主動(dòng)去對(duì)課程進(jìn)行評(píng)價(jià)與評(píng)分,如果運(yùn)用簡(jiǎn)單的方法去補(bǔ)缺失值,造成準(zhǔn)確率嚴(yán)重偏低。
高職院校的教務(wù)系統(tǒng)、招生系統(tǒng)、就業(yè)系統(tǒng)等保存了學(xué)生相對(duì)完善的歷史數(shù)據(jù)。高職學(xué)生的年齡、性別、專業(yè)、年級(jí)、成績(jī)、選課記錄等數(shù)據(jù)是相對(duì)客觀與完善的。此類數(shù)據(jù),在構(gòu)建高職學(xué)生對(duì)教學(xué)資源興趣偏好中的權(quán)重如何設(shè)置?如何用SVD 技術(shù)解決在線教學(xué)資源評(píng)分?jǐn)?shù)據(jù)的缺失?高職學(xué)生對(duì)課程興趣偏好特征模型如何構(gòu)建?高職課程的特征模型如何構(gòu)建?如何以較小的運(yùn)算代價(jià)去實(shí)施推進(jìn)?是需要解決的問題。

圖1:知網(wǎng)收錄推薦算法2015-2020年關(guān)鍵詞共獻(xiàn)網(wǎng)絡(luò)圖
Goldberg 等(1992)提出基于用戶的協(xié)同過濾算法;面向項(xiàng)目的協(xié)同過濾算法由亞馬遜(2001)提出;國(guó)外學(xué)者在推薦系統(tǒng)研究的理論及模型的研究較多,如由個(gè)性化導(dǎo)航系統(tǒng)Armstrong(1995)等提出;Нerlocker 等(2007)人提出通過其他人的意見過濾或評(píng)估項(xiàng)目的過程,支持過濾大量數(shù)據(jù);Cho 等(2002)提出了基于Web 使用挖掘和決策樹歸納的個(gè)性化推薦系統(tǒng);McDonald 等(2000)提出了專家推薦;基于協(xié)同過濾的推薦系Web 服務(wù)由Zheng 等(2009)提出;Linton(2000)提出了一種面向組織學(xué)習(xí)的推薦系統(tǒng);Нe(2010)提出基于社交網(wǎng)絡(luò)的推薦;Luo(2012)提出了基于正則矩陣分解的增量式協(xié)同過濾推薦;Нofmann(2004)提出了潛在語義模型的協(xié)同過濾推薦;Engle(2011)提出了基于屬性分析的協(xié)同過濾系統(tǒng)及方法。
推薦系統(tǒng)的評(píng)估主要有統(tǒng)計(jì)精度方法、決策支持方法。其中,統(tǒng)計(jì)精度方法比較常見的為平價(jià)誤差、均方根誤差。另外還有召回率、準(zhǔn)確率。其評(píng)分預(yù)測(cè)準(zhǔn)確度能夠通過RMSE 計(jì)算。其公式定義如下:

MAE 的計(jì)算公式為:

訓(xùn)練集中推薦列表用Y(a)表示,是用戶在測(cè)試集上的行為列表用Q(a)表示,召回率的計(jì)算公式為:

準(zhǔn)確率的計(jì)算公式為:

圖2:SVD 推薦思維圖

國(guó)內(nèi)在推薦系統(tǒng)的研究,以知網(wǎng)調(diào)研為例,2015年-2020年知網(wǎng)收錄以“推薦算法”為主題的核心期刊有1241 篇。其中2015年為184 篇、2016年為230 篇、2017年為224 篇、2018 為279 篇、2019年為269 篇、2020年預(yù)測(cè)為303 篇。主題分布主要集中在協(xié)同過濾、推薦系統(tǒng)、目標(biāo)用戶、相似度、矩陣分解、人性化推薦、用戶偏好、冷啟動(dòng)等。加上主題“學(xué)習(xí)”,搜索到101 篇核心期刊文獻(xiàn)、在關(guān)鍵詞共現(xiàn)網(wǎng)絡(luò)中,將節(jié)點(diǎn)過濾頻次設(shè)置為4 次。關(guān)鍵詞共現(xiàn)網(wǎng)絡(luò)主要為推薦系統(tǒng)、矩陣分解、數(shù)據(jù)集等。如圖1 所示。
國(guó)內(nèi)學(xué)者比較集中在推薦系統(tǒng)的應(yīng)用層面的研究,比如王曉東等(2018)基于知識(shí)表示和協(xié)同過濾,將學(xué)習(xí)者的學(xué)習(xí)水平和學(xué)習(xí)風(fēng)格等特征融入推薦過程;盧春華等(2019)基于有限的領(lǐng)域特征,在目標(biāo)領(lǐng)域和訓(xùn)練領(lǐng)域之間建立了一個(gè)基于特征相似度的橋梁;查英華等(2015)以高職學(xué)生的學(xué)習(xí)特征為基礎(chǔ),運(yùn)用了上下文推薦等來實(shí)施;王光等(2019)計(jì)算用戶相似度矩陣融合了用戶屬性;付芬等(2018)通過收集用戶的學(xué)習(xí)行為,改進(jìn)傳統(tǒng)的相似度計(jì)算方法;李散散(2019)提出了出基于用戶行為分析和LDA 模型的數(shù)字媒體推薦系統(tǒng);李昆侖等(2020)實(shí)施融合項(xiàng)目和用戶隱式反饋構(gòu)建系統(tǒng);熊回香等(2019)利用了Word2vec 構(gòu)建推薦系統(tǒng);胡思才等(2019)運(yùn)用了神經(jīng)網(wǎng)絡(luò)和概率矩陣分解構(gòu)建推薦系統(tǒng)。
綜上,國(guó)內(nèi)外對(duì)商業(yè)類的推薦系統(tǒng)的研究比較多,包括推薦系統(tǒng)、矩陣分解、數(shù)據(jù)集等。但對(duì)于高職院校在線教學(xué)資源的推薦系統(tǒng)的研究與實(shí)證較少。
基于SVD 或SVD 組合實(shí)施推薦的研究是比較流行的選擇,如劉晴晴等(2019)混合推薦算法利用SVD 來填充;吳進(jìn)等(2019)實(shí)施Lasso 回歸與SVD 融合的算法;蘇慶(2019)引入時(shí)間效應(yīng)的SVD++線性回歸推薦算法的研究;邢長(zhǎng)征等(2018)基于SVD++與標(biāo)簽的跨域推薦模型的研究;可以得知SVD 算法因其特殊優(yōu)點(diǎn)而得到廣泛應(yīng)用,因此,本次研究采用SVD 為基本方法。
SVD 的基本思想是用3 個(gè)小矩陣來描述較為復(fù)雜的矩陣。SVD的推薦思維示例,如圖2 所示。
(1)Rating Matrix、Course Features Matrix、User Features Matrix 三個(gè)為評(píng)分表。其中Rating Matrix 表示3 個(gè)同學(xué)對(duì)3 門課程的評(píng)分,可以看出馮同學(xué)對(duì)《統(tǒng)計(jì)分析》的評(píng)分為5,對(duì)《英文》的評(píng)分為1。
(2)假如我們打算給馮同學(xué)推薦《演講與口才》這門課,但馮同學(xué)只有前面3 門課程的評(píng)分。無法直接得出馮同學(xué)是否喜歡《演講與口才》課程。這個(gè)時(shí)候,需要對(duì)馮同學(xué)對(duì)課程類型喜歡的程度進(jìn)行判斷。引入SVD 來解決這個(gè)隱語義問題。
(3)定義課程類型的程度與類型偏好程度,例子中采用的兩個(gè)程度分類,分別是技術(shù)類、語言類。Course Features Matrix 中給出每門課的程度值,《統(tǒng)計(jì)分析》5 分,高度輸入技術(shù)類課程,但非常不屬于語言類課程,得分為-4 分。User Features Matrix 的表示每個(gè)同學(xué)對(duì)于課程類型喜歡的程度,比如馮同學(xué)最喜歡技術(shù)類課程,但不喜歡語言類課程。
(4)計(jì)算課程類型程度與類型偏好程度的點(diǎn)積。以馮同學(xué)為例,將User Features Matrix 表中對(duì)應(yīng)元素與Course Features Matrix 表中對(duì)應(yīng)的元素點(diǎn)積,選取《統(tǒng)計(jì)分析》得到的點(diǎn)積為25,選取《英語》得到的點(diǎn)積是10,用點(diǎn)積數(shù)值表示馮同學(xué)對(duì)《統(tǒng)計(jì)分析》、《英語》的喜歡程度,可以得出更加喜歡《統(tǒng)計(jì)分析》。如此,可以得出每個(gè)同學(xué)喜歡每門課的程度。
(5)對(duì)于《演講與口才》,定義其類型,用(4)提到的方法(即:馮同學(xué)喜歡技術(shù)類課程的程度5*《演講與口才》是技術(shù)類課程的程度-1+馮同學(xué)喜歡語言類課程的程度0*《演講與口才》是技術(shù)類課程的程度4 = -5)。可知,馮同學(xué)不喜歡這門課程。
將高職課程-高職學(xué)生的評(píng)分矩陣定義為V,且V∈Rn×m,其中,Vij為某位高職學(xué)生i 對(duì)某門高職課程j 的評(píng)分。高職課程不可能獲得所有高職學(xué)生的評(píng)分,因此V 一定是稀疏的。將Course Features Matrix 定義為U,作為高職學(xué)生對(duì)課程特征的偏好矩陣。將User Features Matrix 定義為M,M 表示高職課程的特征程度課。

圖3:隱因子數(shù)對(duì)K 對(duì)實(shí)驗(yàn)效果的影響

圖4:參數(shù)α 對(duì)實(shí)驗(yàn)效果的影響

圖5:參數(shù)θ 對(duì)實(shí)驗(yàn)效果的影響
依據(jù)V=UMT,定義損失函數(shù):

以RMSE 作為評(píng)價(jià)指標(biāo);其中,p(Ui, Mj)代表高職學(xué)生i 對(duì)高職課程j 的預(yù)測(cè),點(diǎn)乘作為預(yù)測(cè)函數(shù)p,p(Ui, Mj)=UiTMj。I∈{0,1}n×m為指示器,高職課程中有評(píng)分項(xiàng)的為1,高職課程沒有評(píng)分項(xiàng)的為0。加上正則化項(xiàng),防止過擬合。接下來運(yùn)用梯度下降進(jìn)行計(jì)算,其中u 為學(xué)習(xí)率。

但每個(gè)高職學(xué)生打分習(xí)慣存在差距,比如,林同學(xué)與張同學(xué)都覺得《python》課程非常好,非常喜歡,但林同學(xué)可能只給出3 分,在林同學(xué)看來,已經(jīng)屬于非常高的分?jǐn)?shù),張同學(xué)可能會(huì)給出5 分。此時(shí),用p(Ui, Mj)=UiTMj對(duì)評(píng)分進(jìn)行預(yù)測(cè)就不太準(zhǔn)確了,這里需要對(duì)SVD 進(jìn)行改造。需要依據(jù)高職學(xué)生的興趣和課程級(jí)別給評(píng)分加上偏置,這里qiTpu與UiTMj等價(jià)。

其中, 表示全局平均數(shù),bi表示高職學(xué)生用戶偏置項(xiàng),bu表示課程偏置項(xiàng)。損失函數(shù)變?yōu)椋?/p>

此時(shí),我們的梯度下降也變成了這樣:(λ 為學(xué)習(xí)率) 。bu、bi、pu、qi分別如下:

高職在線教學(xué)資源在實(shí)際應(yīng)用中,由于評(píng)分缺失,顯示數(shù)據(jù)比隱式數(shù)據(jù)少很多。將高職學(xué)生的隱式數(shù)據(jù)加入模型中,才能形成最終符合高職院校在線教學(xué)資源推薦模型。SVD 算法的核心是尋找高職學(xué)生、高職課程中隱含的維度,這些隱含數(shù)據(jù)可能為兩兩組合,也可能以N 個(gè)一起組合。利用SVD 可以學(xué)習(xí)出高職學(xué)生對(duì)每個(gè)維度的偏好程度。在訓(xùn)練SVD 之前,需要預(yù)設(shè)維度的數(shù)量factors。

以python、jupter、numpy、pandas 環(huán)境為例,展示SVD 用代碼實(shí)現(xiàn)計(jì)算的過程。
(1)讀取數(shù)據(jù):import 導(dǎo)入numpy庫、pandas庫、指定的數(shù)據(jù)庫;
(2)特征值分解;

(3)計(jì)算右奇異矩陣。


通過python3.7 搭建實(shí)驗(yàn)平臺(tái),選用公開的數(shù)據(jù)集MovieLens數(shù)據(jù)集分別對(duì)SVD、SVD++、考慮高職學(xué)生偏好相似度的算法進(jìn)行了檢驗(yàn)。在評(píng)價(jià)標(biāo)準(zhǔn)方面選用了RMSE 與MAE,并且進(jìn)行了比對(duì)。其中五分之四為訓(xùn)練集、五分之一位測(cè)試集。并且使用了Surprise。其在python 實(shí)施中的關(guān)鍵步驟如下:
(1)利用import 導(dǎo)入SVD;
(2)初始化reader,將評(píng)分范圍設(shè)置成1-5 分,并數(shù)據(jù)格式劃分成4 個(gè);
(3)初始化database;
(4)調(diào)用 .split.ShuffleSplit()拆分data;
(5)訓(xùn)練模型。
Surprise 訓(xùn)練SVD 的核心代碼。

(1)迭代次數(shù)=5,λ=0.01,α=0.001,λb=0.05。從5、10 至50,增加隱因子的數(shù)量,并觀察其RMSE 的變化。隱因子數(shù)達(dá)到一定數(shù)量的時(shí),RMSE 趨于穩(wěn)定狀態(tài)。如圖3 所示。
(2)λ=0.01λb=0.05,且隱因子數(shù)固定k=50。從α=0.01 開始觀察并記錄RMSE 的變化。在α 值逐漸減少的過程中,其對(duì)應(yīng)的RMSE 值變化趨勢(shì)是先減少再減少。當(dāng)α=0.005 時(shí),RMSE 趨于穩(wěn)定狀態(tài)。如圖4 所示。
(3)α=0.01,λ=0.01,λb=0.05,且隱因子數(shù)固定k=50。從θ=0.1 開始觀察并記錄RMSE 的變化。α=0.65 左右,RMSE 值趨于最小。實(shí)驗(yàn)結(jié)果如圖5 所示。
(4)將所有參數(shù)調(diào)整到最優(yōu)的狀態(tài)下,比較不同算法之間的RMSE 值、MAE 值。如表1 所示。
可得出,融合高職學(xué)生興趣偏好算法RMSE 和MAE 值相比其他兩種算法均有所提高,表明本文在考慮高職學(xué)生的課程偏好相似度后,將偏好相似矩陣融入 SVD 模型中,提高了評(píng)分預(yù)測(cè)的結(jié)果。
本文提出基于SVD 構(gòu)建高職在線教學(xué)資源推薦系統(tǒng),提出了結(jié)合高職學(xué)生興趣偏好改進(jìn)SVD 算法模型。并將設(shè)計(jì)的算法通過公開電影數(shù)據(jù)集進(jìn)行試驗(yàn)與測(cè)試。得出改進(jìn)后的SVD 對(duì)RMSE、MAE 有所提高。從信息系統(tǒng)接收模型、用戶持續(xù)使用意向的文獻(xiàn)分析中,可以得知采納意愿和促成因素正向影響個(gè)體對(duì)學(xué)術(shù)社交網(wǎng)站的采納行為;績(jī)效期望、努力期望正向顯著影響用戶采納意愿;學(xué)習(xí)者的感知有用性與其接受網(wǎng)絡(luò)課程的行為正相關(guān);MOOC 平臺(tái)用戶知識(shí)分享意愿有顯著正向影響;感知有用性和內(nèi)在動(dòng)機(jī)對(duì)大學(xué)生網(wǎng)絡(luò)學(xué)習(xí)空間的使用意向具有顯著的直接影響;同時(shí),人們對(duì)于知識(shí)獲取、表現(xiàn)預(yù)期、同行/社會(huì)壓力、娛樂享受的社會(huì)心理預(yù)期會(huì)影響其對(duì)網(wǎng)絡(luò)課堂的使用。推薦系統(tǒng)的研究與實(shí)踐是跨學(xué)科,需要綜合考慮諸多因素。旨在構(gòu)建符合高職學(xué)生特征的推薦算法。本次研究探討了其中一種算法模型的嘗試,在用戶持續(xù)使用行為影響因素等諸多方面,包括高職課程特征、高職學(xué)生特征建模方面,存在提取與分類的問題,在下一步研究工作中將對(duì)該算法進(jìn)行改進(jìn)。

表1:不同算法的RMSE 與MAE 對(duì)比表