林海
(惠州城市職業(yè)學院 廣東省惠州市 516000)
推薦系統(tǒng)的應用涉及多個行業(yè),比如電商、新聞、餐飲、旅游等。但傳統(tǒng)高職院校,建立的在線教學系統(tǒng),側重于管理功能。學者對推薦系統(tǒng)的應用研究主要聚到商業(yè)與工業(yè)。如黃玲(2020)基于云平臺的電子商務智能推薦系統(tǒng)的研究[1];李家華(2019)基于大數(shù)據(jù)的電商導購平臺研究[2];李太松等(2019)基于循環(huán)實際卷積網(wǎng)絡的序列流算法的研究[3];王婧虹(2019)基于用戶特征的在線酒店推薦技術研究[4]。至于推薦系統(tǒng)存在的問題,學者做了大量的研究,如李振波等(2019)基于協(xié)同回歸模型的矩陣分解推薦研究[5];陳曄等(2018)對LFM 矩陣分解的推薦算法優(yōu)化研究[6];葉俊民等(2019)推薦算法中運用了НIN[7];梁麗君等(2018)運用K-means聚類算法對用戶屬性特征進行聚類的研究[8]。學者們的研究既有傳統(tǒng)推薦方法的改進、亦有深度學習、機器學習等新興方法的引入。涵蓋了SVD、多元混合、EGE 模型、張量填補、聯(lián)合推薦、協(xié)同回歸、LSTM、FuckSVD、Apriori、三支交互、深度神級網(wǎng)絡、知識圖譜、專家推薦、隱語義分析、二分網(wǎng)絡、TLRank、上下文推薦、社會化推薦等。
對于學習系統(tǒng)(在線教學資源系統(tǒng))的推薦,學者做了一定的研究,或重點聚焦技術,或重點聚焦用戶行為持續(xù)使用因素等,如曹斌等(2015)研究了在線書籍用戶閱讀時間與頻次融合的推薦方法[9];張穎(2016)探討了云計算中的學習資源個性化推薦[10];夏立新等(2018)探討了布爾型移動在學習資源推薦系統(tǒng)的應用[11];徐雪珂等(2019)算法研究了個體特征和教學評價[12];張婭雯等(2020)在移動學習平臺用戶使用意愿影響因素研究,基于移動情境和心流體驗的技術接受模型[13];未來,對個體特征更深入的探究、基于教育本質(zhì)的跨學科多元融合、新興技術和產(chǎn)業(yè)發(fā)展前沿、差異性環(huán)境等將賦予影響因素研究更為豐富的內(nèi)容。
在高職院校在線教學資源系統(tǒng)中,推薦系統(tǒng)會面臨如下問題:
(1)數(shù)據(jù)稀疏。高職學生之間的交集可能很小,使得高職學生之間的關聯(lián)性很小。
(2)準確率低。高職學生甚少主動去對課程進行評價與評分,如果運用簡單的方法去補缺失值,造成準確率嚴重偏低。
高職院校的教務系統(tǒng)、招生系統(tǒng)、就業(yè)系統(tǒng)等保存了學生相對完善的歷史數(shù)據(jù)。高職學生的年齡、性別、專業(yè)、年級、成績、選課記錄等數(shù)據(jù)是相對客觀與完善的。此類數(shù)據(jù),在構建高職學生對教學資源興趣偏好中的權重如何設置?如何用SVD 技術解決在線教學資源評分數(shù)據(jù)的缺失?高職學生對課程興趣偏好特征模型如何構建?高職課程的特征模型如何構建?如何以較小的運算代價去實施推進?是需要解決的問題。
圖1:知網(wǎng)收錄推薦算法2015-2020年關鍵詞共獻網(wǎng)絡圖
Goldberg 等(1992)提出基于用戶的協(xié)同過濾算法;面向項目的協(xié)同過濾算法由亞馬遜(2001)提出;國外學者在推薦系統(tǒng)研究的理論及模型的研究較多,如由個性化導航系統(tǒng)Armstrong(1995)等提出;Нerlocker 等(2007)人提出通過其他人的意見過濾或評估項目的過程,支持過濾大量數(shù)據(jù);Cho 等(2002)提出了基于Web 使用挖掘和決策樹歸納的個性化推薦系統(tǒng);McDonald 等(2000)提出了專家推薦;基于協(xié)同過濾的推薦系Web 服務由Zheng 等(2009)提出;Linton(2000)提出了一種面向組織學習的推薦系統(tǒng);Нe(2010)提出基于社交網(wǎng)絡的推薦;Luo(2012)提出了基于正則矩陣分解的增量式協(xié)同過濾推薦;Нofmann(2004)提出了潛在語義模型的協(xié)同過濾推薦;Engle(2011)提出了基于屬性分析的協(xié)同過濾系統(tǒng)及方法。
推薦系統(tǒng)的評估主要有統(tǒng)計精度方法、決策支持方法。其中,統(tǒng)計精度方法比較常見的為平價誤差、均方根誤差。另外還有召回率、準確率。其評分預測準確度能夠通過RMSE 計算。其公式定義如下:
MAE 的計算公式為:
訓練集中推薦列表用Y(a)表示,是用戶在測試集上的行為列表用Q(a)表示,召回率的計算公式為:
準確率的計算公式為:
圖2:SVD 推薦思維圖
國內(nèi)在推薦系統(tǒng)的研究,以知網(wǎng)調(diào)研為例,2015年-2020年知網(wǎng)收錄以“推薦算法”為主題的核心期刊有1241 篇。其中2015年為184 篇、2016年為230 篇、2017年為224 篇、2018 為279 篇、2019年為269 篇、2020年預測為303 篇。主題分布主要集中在協(xié)同過濾、推薦系統(tǒng)、目標用戶、相似度、矩陣分解、人性化推薦、用戶偏好、冷啟動等。加上主題“學習”,搜索到101 篇核心期刊文獻、在關鍵詞共現(xiàn)網(wǎng)絡中,將節(jié)點過濾頻次設置為4 次。關鍵詞共現(xiàn)網(wǎng)絡主要為推薦系統(tǒng)、矩陣分解、數(shù)據(jù)集等。如圖1 所示。
國內(nèi)學者比較集中在推薦系統(tǒng)的應用層面的研究,比如王曉東等(2018)基于知識表示和協(xié)同過濾,將學習者的學習水平和學習風格等特征融入推薦過程;盧春華等(2019)基于有限的領域特征,在目標領域和訓練領域之間建立了一個基于特征相似度的橋梁;查英華等(2015)以高職學生的學習特征為基礎,運用了上下文推薦等來實施;王光等(2019)計算用戶相似度矩陣融合了用戶屬性;付芬等(2018)通過收集用戶的學習行為,改進傳統(tǒng)的相似度計算方法;李散散(2019)提出了出基于用戶行為分析和LDA 模型的數(shù)字媒體推薦系統(tǒng);李昆侖等(2020)實施融合項目和用戶隱式反饋構建系統(tǒng);熊回香等(2019)利用了Word2vec 構建推薦系統(tǒng);胡思才等(2019)運用了神經(jīng)網(wǎng)絡和概率矩陣分解構建推薦系統(tǒng)。
綜上,國內(nèi)外對商業(yè)類的推薦系統(tǒng)的研究比較多,包括推薦系統(tǒng)、矩陣分解、數(shù)據(jù)集等。但對于高職院校在線教學資源的推薦系統(tǒng)的研究與實證較少。
基于SVD 或SVD 組合實施推薦的研究是比較流行的選擇,如劉晴晴等(2019)混合推薦算法利用SVD 來填充;吳進等(2019)實施Lasso 回歸與SVD 融合的算法;蘇慶(2019)引入時間效應的SVD++線性回歸推薦算法的研究;邢長征等(2018)基于SVD++與標簽的跨域推薦模型的研究;可以得知SVD 算法因其特殊優(yōu)點而得到廣泛應用,因此,本次研究采用SVD 為基本方法。
SVD 的基本思想是用3 個小矩陣來描述較為復雜的矩陣。SVD的推薦思維示例,如圖2 所示。
(1)Rating Matrix、Course Features Matrix、User Features Matrix 三個為評分表。其中Rating Matrix 表示3 個同學對3 門課程的評分,可以看出馮同學對《統(tǒng)計分析》的評分為5,對《英文》的評分為1。
(2)假如我們打算給馮同學推薦《演講與口才》這門課,但馮同學只有前面3 門課程的評分。無法直接得出馮同學是否喜歡《演講與口才》課程。這個時候,需要對馮同學對課程類型喜歡的程度進行判斷。引入SVD 來解決這個隱語義問題。
(3)定義課程類型的程度與類型偏好程度,例子中采用的兩個程度分類,分別是技術類、語言類。Course Features Matrix 中給出每門課的程度值,《統(tǒng)計分析》5 分,高度輸入技術類課程,但非常不屬于語言類課程,得分為-4 分。User Features Matrix 的表示每個同學對于課程類型喜歡的程度,比如馮同學最喜歡技術類課程,但不喜歡語言類課程。
(4)計算課程類型程度與類型偏好程度的點積。以馮同學為例,將User Features Matrix 表中對應元素與Course Features Matrix 表中對應的元素點積,選取《統(tǒng)計分析》得到的點積為25,選取《英語》得到的點積是10,用點積數(shù)值表示馮同學對《統(tǒng)計分析》、《英語》的喜歡程度,可以得出更加喜歡《統(tǒng)計分析》。如此,可以得出每個同學喜歡每門課的程度。
(5)對于《演講與口才》,定義其類型,用(4)提到的方法(即:馮同學喜歡技術類課程的程度5*《演講與口才》是技術類課程的程度-1+馮同學喜歡語言類課程的程度0*《演講與口才》是技術類課程的程度4 = -5)??芍?,馮同學不喜歡這門課程。
將高職課程-高職學生的評分矩陣定義為V,且V∈Rn×m,其中,Vij為某位高職學生i 對某門高職課程j 的評分。高職課程不可能獲得所有高職學生的評分,因此V 一定是稀疏的。將Course Features Matrix 定義為U,作為高職學生對課程特征的偏好矩陣。將User Features Matrix 定義為M,M 表示高職課程的特征程度課。
圖3:隱因子數(shù)對K 對實驗效果的影響
圖4:參數(shù)α 對實驗效果的影響
圖5:參數(shù)θ 對實驗效果的影響
依據(jù)V=UMT,定義損失函數(shù):
以RMSE 作為評價指標;其中,p(Ui, Mj)代表高職學生i 對高職課程j 的預測,點乘作為預測函數(shù)p,p(Ui, Mj)=UiTMj。I∈{0,1}n×m為指示器,高職課程中有評分項的為1,高職課程沒有評分項的為0。加上正則化項,防止過擬合。接下來運用梯度下降進行計算,其中u 為學習率。
但每個高職學生打分習慣存在差距,比如,林同學與張同學都覺得《python》課程非常好,非常喜歡,但林同學可能只給出3 分,在林同學看來,已經(jīng)屬于非常高的分數(shù),張同學可能會給出5 分。此時,用p(Ui, Mj)=UiTMj對評分進行預測就不太準確了,這里需要對SVD 進行改造。需要依據(jù)高職學生的興趣和課程級別給評分加上偏置,這里qiTpu與UiTMj等價。
其中, 表示全局平均數(shù),bi表示高職學生用戶偏置項,bu表示課程偏置項。損失函數(shù)變?yōu)椋?/p>
此時,我們的梯度下降也變成了這樣:(λ 為學習率) 。bu、bi、pu、qi分別如下:
高職在線教學資源在實際應用中,由于評分缺失,顯示數(shù)據(jù)比隱式數(shù)據(jù)少很多。將高職學生的隱式數(shù)據(jù)加入模型中,才能形成最終符合高職院校在線教學資源推薦模型。SVD 算法的核心是尋找高職學生、高職課程中隱含的維度,這些隱含數(shù)據(jù)可能為兩兩組合,也可能以N 個一起組合。利用SVD 可以學習出高職學生對每個維度的偏好程度。在訓練SVD 之前,需要預設維度的數(shù)量factors。
以python、jupter、numpy、pandas 環(huán)境為例,展示SVD 用代碼實現(xiàn)計算的過程。
(1)讀取數(shù)據(jù):import 導入numpy庫、pandas庫、指定的數(shù)據(jù)庫;
(2)特征值分解;
(3)計算右奇異矩陣。
通過python3.7 搭建實驗平臺,選用公開的數(shù)據(jù)集MovieLens數(shù)據(jù)集分別對SVD、SVD++、考慮高職學生偏好相似度的算法進行了檢驗。在評價標準方面選用了RMSE 與MAE,并且進行了比對。其中五分之四為訓練集、五分之一位測試集。并且使用了Surprise。其在python 實施中的關鍵步驟如下:
(1)利用import 導入SVD;
(2)初始化reader,將評分范圍設置成1-5 分,并數(shù)據(jù)格式劃分成4 個;
(3)初始化database;
(4)調(diào)用 .split.ShuffleSplit()拆分data;
(5)訓練模型。
Surprise 訓練SVD 的核心代碼。
(1)迭代次數(shù)=5,λ=0.01,α=0.001,λb=0.05。從5、10 至50,增加隱因子的數(shù)量,并觀察其RMSE 的變化。隱因子數(shù)達到一定數(shù)量的時,RMSE 趨于穩(wěn)定狀態(tài)。如圖3 所示。
(2)λ=0.01λb=0.05,且隱因子數(shù)固定k=50。從α=0.01 開始觀察并記錄RMSE 的變化。在α 值逐漸減少的過程中,其對應的RMSE 值變化趨勢是先減少再減少。當α=0.005 時,RMSE 趨于穩(wěn)定狀態(tài)。如圖4 所示。
(3)α=0.01,λ=0.01,λb=0.05,且隱因子數(shù)固定k=50。從θ=0.1 開始觀察并記錄RMSE 的變化。α=0.65 左右,RMSE 值趨于最小。實驗結果如圖5 所示。
(4)將所有參數(shù)調(diào)整到最優(yōu)的狀態(tài)下,比較不同算法之間的RMSE 值、MAE 值。如表1 所示。
可得出,融合高職學生興趣偏好算法RMSE 和MAE 值相比其他兩種算法均有所提高,表明本文在考慮高職學生的課程偏好相似度后,將偏好相似矩陣融入 SVD 模型中,提高了評分預測的結果。
本文提出基于SVD 構建高職在線教學資源推薦系統(tǒng),提出了結合高職學生興趣偏好改進SVD 算法模型。并將設計的算法通過公開電影數(shù)據(jù)集進行試驗與測試。得出改進后的SVD 對RMSE、MAE 有所提高。從信息系統(tǒng)接收模型、用戶持續(xù)使用意向的文獻分析中,可以得知采納意愿和促成因素正向影響個體對學術社交網(wǎng)站的采納行為;績效期望、努力期望正向顯著影響用戶采納意愿;學習者的感知有用性與其接受網(wǎng)絡課程的行為正相關;MOOC 平臺用戶知識分享意愿有顯著正向影響;感知有用性和內(nèi)在動機對大學生網(wǎng)絡學習空間的使用意向具有顯著的直接影響;同時,人們對于知識獲取、表現(xiàn)預期、同行/社會壓力、娛樂享受的社會心理預期會影響其對網(wǎng)絡課堂的使用。推薦系統(tǒng)的研究與實踐是跨學科,需要綜合考慮諸多因素。旨在構建符合高職學生特征的推薦算法。本次研究探討了其中一種算法模型的嘗試,在用戶持續(xù)使用行為影響因素等諸多方面,包括高職課程特征、高職學生特征建模方面,存在提取與分類的問題,在下一步研究工作中將對該算法進行改進。
表1:不同算法的RMSE 與MAE 對比表