余小高
摘 要:為提高學(xué)習(xí)效率、解決個性化學(xué)習(xí)問題,本文給出了基于大數(shù)據(jù)的微課程個性化學(xué)習(xí)機制。通過對學(xué)習(xí)用戶行為數(shù)據(jù)的獲取、存儲、清洗、挖掘,由改進的余弦相似度算法計算出微課程的相似度,向用戶推薦其喜歡的微課程。該機制能夠有效提升微課程推薦的準確性,增強用戶黏性,為微課程平臺創(chuàng)造更多價值。
關(guān)鍵詞:大數(shù)據(jù);微課程;個性化學(xué)習(xí);相似度矩陣
中圖分類號:G434 文獻標志碼:A 文章編號:1673-8454(2015)13-0018-05
引言
教學(xué)變革的關(guān)鍵是讓每個學(xué)生都能以適合自己的方式與節(jié)奏進行學(xué)習(xí),讓每個學(xué)生都能夠在自己原有的基礎(chǔ)上發(fā)展前進。然而班級授課制的存在使得每位教師不得不同時而對幾十位學(xué)生。同樣的教學(xué)內(nèi)容,不同學(xué)習(xí)起點與學(xué)習(xí)風(fēng)格的學(xué)生,或許只有教師掌握了某種神奇的魔法才能幫助班上的每位學(xué)生都能在短短的40幾分鐘內(nèi)以適合自己的速度與方法進行學(xué)習(xí)。然而在大數(shù)據(jù)時代,這一美好的愿望將迎來走向現(xiàn)實的那一刻[1]。以下將從微課程的角度來分析大數(shù)據(jù)時代給教學(xué)帶來的變革。
微課程定義:在信息化環(huán)境中,為滿足人們個性化學(xué)習(xí)的需要,針對某個知識點或教學(xué)主題,由教育工作者精心設(shè)計并開發(fā)的、以視頻為主要載體,包含輔助資源和學(xué)習(xí)支持服務(wù)的網(wǎng)絡(luò)教學(xué)資源集合,具有短小精悍的特點[2]。
大數(shù)據(jù)創(chuàng)新發(fā)展帶動了微課程迅速發(fā)展,目前,微課程已開始影響我國信息化教學(xué)實踐。湖北、廣東、上海等十多個省、市、自治區(qū)紛紛開展微課程實踐。微課程實踐的積累,將導(dǎo)致微課程群的形成,微課程群的應(yīng)用又會形成新的應(yīng)用數(shù)據(jù),將有利于大數(shù)據(jù)分析與挖掘、發(fā)現(xiàn)與預(yù)測的創(chuàng)新應(yīng)用[3]。
在國內(nèi),高校學(xué)者、區(qū)域教育研究者、一線教師等對微課程進行了相關(guān)的研究或?qū)嵤?,微課程的研究是近三年以來才在中國開始萌芽,主要關(guān)注于概念、資源設(shè)計和教學(xué)模式的研究[4]。
近年來,國外越來越重視“微課程”、“微視頻”的研究,但其核心組成資源不統(tǒng)一,呈現(xiàn)方式是教案式或視頻式;課程結(jié)構(gòu)較為松散,主要用于學(xué)習(xí)及培訓(xùn)等方面,應(yīng)用領(lǐng)域有待擴充;在課程資源的自我生長、擴充性還不是很成熟[5]。
微課程個性化學(xué)習(xí)是利用個性化推薦技術(shù),是根據(jù)用戶的興趣特點及行為向用戶推薦其感興趣的學(xué)習(xí)內(nèi)容。主要解決如何在海量的微課程資源中發(fā)現(xiàn)用戶感興趣的內(nèi)容。對于微課程平臺來說,通過基于大數(shù)據(jù)挖掘技術(shù)構(gòu)建個性化學(xué)習(xí)系統(tǒng),能有效幫助用戶發(fā)現(xiàn)喜歡的微課程,同時也體現(xiàn)了微課程提供者的貢獻。
結(jié)合筆者在微課程平臺研發(fā)和數(shù)據(jù)分析的相關(guān)工作經(jīng)驗,本文提出了大數(shù)據(jù)環(huán)境中微課程個性化學(xué)習(xí)架構(gòu)。首先將學(xué)生海量學(xué)習(xí)行為數(shù)據(jù)存儲,然后利用Hadoop框架對存儲的數(shù)據(jù)進行處理,計算微課程之間的相似度矩陣,運用Redis存儲中間結(jié)果和最終推薦結(jié)果,最后向用戶提供微課程學(xué)習(xí)列表。
一、個性化學(xué)習(xí)算法分析
1.算法選擇
個性化學(xué)習(xí)算法是利用個性化推薦系統(tǒng)算法,通常有如下幾種:ItemCF(基于項的協(xié)同過濾)、UserCF(基于用戶的協(xié)同過濾)、Content Based(基于內(nèi)容的推薦),Slope One,SVD(singular value decomposition,奇異值分解)、組合算法等[6]。
ItemCF是當今很多大型網(wǎng)站都在采用的核心算法之一,適用于項(item)的增長速度遠遠小于用戶(user),且項之間的相似性比較穩(wěn)定的場景,可以在離線系統(tǒng)中將項的相似度矩陣計算好,以供線上實時地進行推薦。UserCF常用于咨詢服務(wù)類的應(yīng)用,尋找與用戶具有同樣愛好的人。由于用戶的相似用戶群非常敏感,因此需要頻繁地計算出用戶的相似用戶矩陣,運算量比較大。Content_Based一般用于文本挖掘的項目中,每天都要根據(jù)Web生成的或通過爬蟲抓取的數(shù)據(jù),不斷地計算item之間的相似性,提取關(guān)鍵詞,該算法可以很好地解決推薦系統(tǒng)冷啟動問題,比如想推出一個新的項,由于沒有用戶對此新項進行評分和產(chǎn)生行為,所以之前的算法不可能推薦新的東西給用戶,但可以用基于內(nèi)容的算法計算出新項屬于哪個類,然后根據(jù)用戶對該項類的喜好程度推薦新項。Slope One算法簡單實現(xiàn)了ItemCF算法,該算法的存儲量是普通的ItemCF存儲量的一半(甚至更少),更容易計算,但是準確性方面不夠穩(wěn)定,很少用于商業(yè)系統(tǒng)。實際上,SVD是提取一般實矩陣“特征值”的算法,該算法提取“特征值”后,能夠分析出主成分因子。也就是說,能夠?qū)υ瓉睚嫶蟮?、通常又非常稀疏的矩陣進行降維和分解,大大降低矩陣的維度,提高運算的速度,但是需要付出較大的空間資源。組合算法多種多樣,主要是對上面一些算法的組合操作,比如將多種算法計算出來的結(jié)果,加權(quán)之后排序推薦給用戶,也可以將多種算法計算出來的結(jié)果,各取前幾個推薦給用戶,增加推薦結(jié)果的多樣性等。
基于內(nèi)容的協(xié)同過濾算法與基于行為的協(xié)同過濾算法[7]相比,基于內(nèi)容的過濾算法主要利用物品的內(nèi)容數(shù)據(jù)或者外部信息,認為在內(nèi)容上用戶會喜歡與以前喜歡相似的物品;而基于行為的協(xié)同過濾算法通過分析大量的用戶對物品的行為數(shù)據(jù),從中找出特定的行為模式,據(jù)此來預(yù)測用戶的興趣,并給用戶做出推薦。對于微課程平臺來說,微課程分類屬性還沒有標準化,基于內(nèi)容過濾的推薦算法難以反映用戶的真正需求;相對而言,微課程平臺對用戶的訪問、下載等行為數(shù)據(jù)均有記錄,現(xiàn)階段適合采用協(xié)同過濾算法。
基于行為的協(xié)同過濾算法大體上分為基于用戶的UserCF算法和基于項的ItemCF算法,UserCF給用戶推薦那些和他有共同興趣愛好的用戶喜歡的項,需要維護一個用戶相似度的矩陣,而ItemCF給用戶推薦那些和他之前喜歡的項類似的東西,需要維護一個項相似度矩陣?,F(xiàn)階段微課程平臺一般更注重用戶學(xué)習(xí)行為而不是社交行為,而且一般用戶的基數(shù)遠大于微課程的基數(shù),存儲UserCF的用戶相似度矩陣的開銷遠遠大于存儲ItemCF的微課程相似度矩陣,所以選擇基于項的協(xié)同過濾算法。
對用戶的個性化推薦,主要有兩個步驟:第一,計算微課程之間的相似度;第二,根據(jù)微課程的相似度和用戶的歷史行為生成微課程推薦列表。
課程資源相似度的計算,需先確定用戶與微課程關(guān)系的矩陣。設(shè)用戶已學(xué)習(xí)的微課程集合為N,若用戶學(xué)習(xí)過某微課程,則認為該用戶對該微課程感興趣。矩陣每一行代表一個用戶感興趣的微課程集合。對于每個微課程集合,將微課程進行兩兩組合,得到一個新的矩陣,這些矩陣“相加”得到矩陣C,C[i][j]表示同時下載微課程i和微課程j的用戶列表。
微課程相似度有如下幾種算式。
(1)基本計算如算式(1)所示。
其中,Cij是微課程i和微課程j的相似度,分母|U(i)|是喜歡微課程i的用戶數(shù),而分子|U(i)∩U(j)|是同時喜歡微課程i和微課程j的用戶數(shù)。
(2)余弦相似度(cosin_base) 如算式(2)所示。
通過降低微課程j的權(quán)重,該算法能減輕熱門微課程和很多微課程相似的可能性,從而提升推薦的質(zhì)量。
(3)余弦相似度a(cosin_alph)如算式(3)所示。
該算法進一步降低了微課程j的權(quán)重,可以根據(jù)實際的應(yīng)用效果指定a的取值。
(4)改進的余弦相似度(cosin_mod)如算式(4)所示。
對于微課程平臺來說,存在部分惡意下載用戶,為了保證微課程之間相似度的可靠性,需要修正活躍用戶對微課程相似度的貢獻,即對同一微課程來說,已經(jīng)下載了50次微課程的用戶的貢獻度要小于只下載了10次微課程的用戶,調(diào)整后的算式如(4)所示。
對于過于活躍的用戶,為了避免相似度矩陣過于稠密,在實際的計算中,一般直接忽略其興趣列表,不將其納入相似度計算的數(shù)據(jù)集中。
(5)改進的余弦相似度的歸一化如算式(5)所示。
為了進一步提高推薦的準確度,在改進的余弦相似度計算式基礎(chǔ)上進行歸一化,同時也可以提高推薦的覆蓋率和多樣性。在微課程平臺中,選擇該算法進行個性化學(xué)習(xí)。
完成微課程相似度計算后,通過算式(6)計算用戶u對微課程i的興趣:
這里的U(u)是用戶喜歡的微課程集合,S(i,k)是與微課程i最相似的k個微課程的集合,Cji是微課程j和微課程i的相似度,rui是用戶u對微課程i的興趣(對于微課程平臺來說rui=1)。結(jié)合用戶歷史上感興趣的微課程,通過該算式,越相似的微課程,越有可能在用戶的學(xué)習(xí)列表中獲得比較高的排名。
2.算法評價指標
算法的精確度、覆蓋率、多樣性等決定了其優(yōu)劣,具體指標如下。
(1)精度指標:召回率(Recall Rate)/準確度(Precision)
用戶u推薦N個微課程記為N(u),用戶u在測試集上喜歡的微課程集合為L(u),通過準確度/召回率評測算法的精度,召回率描述的是,在最終的學(xué)習(xí)列表中,有多少用戶與微課程下載記錄的比例;而準確度描述的是,在最終學(xué)習(xí)列表中,有多少發(fā)生過的用戶與微課程下載記錄的比例。召回率定義如算式(7)所示,準確度如算式(8)所示。
(2)覆蓋率指標(Coverage Rate)
覆蓋率表示最終的推薦列表中包含多大比例的微課程。如果所有的微課程都被推薦給至少一個用戶,那么覆蓋率就是100%。覆蓋率反映推薦算法發(fā)掘長尾的能力,覆蓋率越高,說明推薦算法越能夠?qū)㈤L尾中的微課程推薦給用戶。采用最簡單的覆蓋率定義如算式(9)所示。
其中,|Uu∈UN(u)|表示對推薦給用戶的微課程去重數(shù)。|I|指“微課程”平臺中所有的微課程數(shù)。
(3)多樣性指標(Diversity)
多樣性用來描述推薦列表中兩個微課程之間的不相似性。多樣性和相似性是對應(yīng)的,如算式(10)所示,其中S(I,j)∈[0,1]定義微課程i和微課程j之間的相似度。
個性化學(xué)習(xí)系統(tǒng)的整體多樣性可以定義為所有用戶學(xué)習(xí)列表多樣性的平均值,如算式(11)所示。
二、體系架構(gòu)
1.數(shù)據(jù)獲取與存儲
對上述個性化學(xué)習(xí)算法在湖北經(jīng)濟學(xué)院“微課程”平臺進行了實踐,利用該校教研項目(2014015)“大數(shù)據(jù)背景下管理信息系統(tǒng)課程教學(xué)改革研究”的成果,建成了管理信息系統(tǒng)微課程資源庫。目前校內(nèi)外用戶數(shù)超過20000戶,日均數(shù)據(jù)增量1000 MB左右,數(shù)據(jù)分析需要獲取數(shù)據(jù)并存儲數(shù)據(jù)。微課程平臺的個性化學(xué)習(xí)系統(tǒng)一般采用用戶的下載行為作為用戶的行為數(shù)據(jù),一旦用戶下載了一個微課程,則視該用戶對微課程產(chǎn)生了一個正向喜歡。數(shù)據(jù)獲取與存儲的架構(gòu)如圖1所示。
微課程下載功能由微課程下載服務(wù)器提供,當用戶發(fā)出微課程下載請求,下載服務(wù)器在本地日志上記錄一條用戶下載記錄。日志采集系統(tǒng)RLog對日志數(shù)據(jù)進行實時、高效的采集,然后傳遞給實時計算系統(tǒng)RFilt , RFilt按照設(shè)定的規(guī)則進行數(shù)據(jù)過濾,最后將有效數(shù)據(jù)存入Hadoop分布式文件系統(tǒng)(HDFS )[5]進行固化。
HDFS對硬件要求比較低,能夠在一般服務(wù)器集群上運行,充分利用計算機的存儲能力。通過HDFS的“一次寫入、多次讀取”機制[5],用戶海量訪問的數(shù)據(jù)能夠快速處理;通過分布式文件存儲機制,能夠長久地存儲用戶的歷史訪問記錄,為用戶行為分析提供堅實的數(shù)據(jù)支撐。
2.數(shù)據(jù)清洗與挖掘
微課程數(shù)據(jù)清洗與挖掘如圖2所示。
數(shù)據(jù)存儲好之后,采用MapReduce計算框架[7],可以快捷地對大型數(shù)據(jù)矩陣進行計算,從而為個性化學(xué)習(xí)系統(tǒng)提供計算支持。首先,進行數(shù)據(jù)清洗,過濾掉非法的用戶和微課程;然后,進行數(shù)據(jù)重構(gòu),把用戶和微課程的標識唯一化,同時生成用戶的下載數(shù)表和微課程被下載次數(shù)表;最后,進行相似度矩陣計算,計算結(jié)果以兩份的方式存儲,一份存儲在Oracle數(shù)據(jù)庫中,供系統(tǒng)評測和統(tǒng)計使用,另一份存儲在Redis高速緩存服務(wù)器中,為各類應(yīng)用提供查詢。
3.微課程個性化學(xué)習(xí)流程
面向用戶的微課程個性化學(xué)習(xí)流程如圖3所示。
(1)用戶通過客戶端訪問微課程平臺,點擊進入任意微課程詳情頁面。
(2)客戶端發(fā)送用戶的訪問請求給后臺程序。
(3)后臺程序獲取用戶當前訪問的微課程ID,并根據(jù)用戶ID來獲取用戶的歷史記錄。
(4)通過Redis獲取該微課程的相似度矩陣。
(5)使用個性化學(xué)習(xí)算法根據(jù)用戶的相似度矩陣、當前訪問微課程ID、用戶歷史訪問微課程ID,計算用戶可能喜歡的微課程列表。
(6)對用戶可能喜歡的微課程列表按照相似度排列。
(7)取前TopN個微課程,并返回結(jié)果給客戶端,客戶端將相應(yīng)的微課程顯示在學(xué)習(xí)欄目中。
三、算法驗證
“微課程”平臺目前每天的下載用戶數(shù)為10000戶左右,人均下載3~5個微課程,累計3個月的用戶下載數(shù)據(jù)為370萬條左右,微課程相似度矩陣規(guī)模為5000×5000。應(yīng)用余弦相似度推薦算法,對數(shù)據(jù)進行了計算,結(jié)果如表1所示。
從表1中的結(jié)果可以看出,改進的余弦相似度的歸一化推薦算法相對基本算法在準確率、召回率等各個指標上均有所提升。通過降低熱門微課程的權(quán)重,能有效提升準確率和召回率。通過降低活躍用戶的權(quán)重,能有效提升微課程覆蓋度和多樣性,從而強化個性化學(xué)習(xí)系統(tǒng)發(fā)掘長尾的能力。
推薦算法還有一個重要的影響因素,即向用戶推薦的微課程個數(shù),針對該因素影響情況進行針對性的效果分析,分析結(jié)果如表2所示。
由圖4可知,隨著微課程推薦數(shù)的增大,微課程的準確率、覆蓋率明顯上升,召回率則逐步下降,與實踐情況相符,從而說明了算法的正確性和實用性。
四、結(jié)束語
本文介紹了在大數(shù)據(jù)環(huán)境中,利用智能推薦技術(shù),構(gòu)建微課程平臺,進行個性化學(xué)習(xí)。采用Hadoop框架處理數(shù)據(jù),計算微課程之間的相似度矩陣;中間結(jié)果和最終推送結(jié)果存儲在Redis中。結(jié)合微課程平臺實際情況研究了余弦相似度算法,利用降低活躍用戶權(quán)重和降低熱門微課程權(quán)重等幾種方法,改進算法。根據(jù)計算結(jié)果,對比和分析了相應(yīng)算法,構(gòu)建了一種適用于微課程平臺的個性化學(xué)習(xí)機制和方法,為其它平臺大數(shù)據(jù)分析提供了良好的參考和借鑒。隨著用戶行為和微課程數(shù)據(jù)趨于多樣化和復(fù)雜化,下一步研究的方向和目標是進一步拓展數(shù)據(jù)源,包括用戶訪問、用戶已安裝的應(yīng)用軟件、微課程的描述信息等,將采用復(fù)合權(quán)重相加的方式擬合微課程相似度矩陣,并考慮不同數(shù)據(jù)源的權(quán)重,提高微課程個性化推薦的精確度。
參考文獻:
[1]梁文鑫.大數(shù)據(jù)時代—課堂教學(xué)將迎來真正的變革[J].北京教育學(xué)院學(xué)報(自然科學(xué)版).2013,3(1):14-16.
[2]陳川.基于微課程的自主學(xué)習(xí)支持系統(tǒng)設(shè)計與開發(fā)[D].華中師范大學(xué),2014.
[3]金陵.大數(shù)據(jù)與信息化教學(xué)變革[J].中國電化教育,2013,10(7):8-13.
[4]姜玉蓮.微課程研究與發(fā)展趨勢系統(tǒng)化分析[J].中國遠程教育, 2013(12):64-73.
[5]海浪,錢鋒,黃祥為.基于大數(shù)據(jù)挖掘構(gòu)建游戲平臺個性化推薦系統(tǒng)的研究與實踐[J].電信科學(xué),2014(10):27-32.
[6]Shin-gyu Kim, Junghee Won, Hyuck Han, et aL. Improving Hadoop performance in intercloud environments[J]. Performance Evaluation Review,2011,39(3):107-109.
[7]FangW,Pan W B, Cui Z M. View of MapReduce: programming model, methods, and its applications[J]. IETE Technical Review,2012,29(5).
(編輯:王曉明)