徐州市第一中學 李斐然
目前,云教育平臺存在海量教育資源,被動式搜索無法主動為用戶提供資源、激發用戶的學習興趣,而推薦技術可以解決這一問題。本文從主流推薦算法入手,研究適用于云教育平臺的推薦技術,通過幾種推薦算法的組合使用,提出一種為學習用戶量身打造個性化推薦技術,提高教育資源的推薦質量與利用效率。
協同過濾推薦算法的核心思想是通過比較用戶項目的興趣相似度,得到相似用戶集或項目集,通過評分預測方法,計算出用戶對于項目的可能評分值,從而產生推薦結果[1]。基于分析對象的不同又可以分為基于用戶的協同過濾和基于項目的協同過濾。
基于用戶的協同過濾算法首先將用戶間的行為數據進行比對,尋找出與該用戶相似的用戶,然后形成相似用戶集,并預測用戶行為,算法的核心步驟是計算用戶相似度。計算方法有余弦相似度和皮爾遜相似度。余弦相似度:

皮爾遜相似度:

推薦結果與資源的內容屬性無關,但面臨:(1)新用戶的冷啟動問題,對于新注冊用戶,系統沒有其對任何項目的評分數據,無法尋找相似用戶。(2)數據稀疏性:稀少的行為數據也容易影響推薦質量。
基于項目的協同過濾根據所有用戶對項目的偏好信息得到項目之間的相似性,然后將類似項目推薦給用戶。該算法使用項目相似性來代替用戶相似性[2],核心步驟是計算項目間的相似度。但面臨:(1)新項目的冷啟動問題(2)準確性問題:該算法因忽略用戶的個性需求而使推薦質量降低。
基于內容的推薦算法不依賴用戶的行為信息,而是依據用戶曾經感興趣的項目的內容特征,從系統中選擇與用戶過去喜歡的項目最為相似的產品,推薦匹配度最高的項目[3~4];或者直接向用戶推薦與用戶偏好特征最為相似的項目[5]。此外,基于內容的推薦算法不需要用戶或項目的歷史數據,可以克服冷啟動問題。在我們熟識的QQ、微信等社交軟件中的好友推薦功能就應用了這樣的推薦技術。
行為數據包括用戶的個性標簽等個人信息,也包括用戶對項目的評分數據等行為信息。根據行為數據的呈現形式,可分為顯式用戶反饋與隱式用戶反饋。
顯式用戶反饋指用戶在社交網站前端提供的評分模塊中的直接評分。隱式用戶反饋是一種間接得到用戶-項目評分的方法,根據用戶在網站上的行為記錄及在部分模塊上給出的評分,通過一定的評分預測規則估計用戶對于某項目的評分[6]。
作者在學而思網校、新東方在在線、騰訊課堂、百度傳課、中國大學慕課、網易公開課等六個網站上新注冊了用戶,總結了平臺推薦情況(表1)。

表1 新用戶注冊信息表
由表1可以看出,只有學而思網校通過用戶所在年級來推薦適用課程。推薦內容基于學習資源標簽屬性和用戶興趣標簽屬性產生,并不能夠準確選擇用戶真正需要的資源。因此,在新用戶注冊時,有必要引入用戶特征識別和用戶聚類的方法,來解決冷啟動問題。
在用戶評價反饋階段,可以根據用戶的反饋和評分信息進行推薦。表2總結了教育平臺對用戶反饋信息的獲取和利用情況。

表2 用戶評價和反饋信息表
由表2可以看出,2/3的平臺采用收藏和評價功能來收集用戶的反饋信息,但是沒有進一步挖掘用戶對課程的其它反饋信息,如社交網站分享、收藏后觀看、學習后的掌握情況等。
本節針對云教育平臺,提出了一種基于時間劃分的個性化推薦算法,核心思想為:在不同的學習階段,分別以用戶特征、學習能力和學習范圍為基礎,對不同階段的用戶進行個性化推薦。
在新用戶注冊時期,基于用戶特征進行推薦。課程學習階段,系統會根據課時安排定時定量為用戶提供練習;此后,系統會根據用戶對該課程的評價信息和練習結果綜合考慮得到用戶的學習能力。課程結束后,系統會總計算下一課程的難度傾向、確定選課范圍,最終對推薦結果進行修正。具體流程見圖1。

圖1 推薦算法示意圖
3.2.1 用戶特征聚類
用戶特征聚類由用戶屬性和用戶的行為共同構成,用戶的屬性包括用戶年齡、性別、年級、地區、愛好等;用戶行為是用戶在網站上的瀏覽、點擊、反饋、評價等信息。如果該用戶是新注冊用戶,還未產生過行為,則根據用戶屬性進行聚類。用戶屬性矩陣可以表示為:

其中Cnj代表用戶n具有屬性j,若有,則Cnj為1,沒有則為0。
如果用戶已經產生用戶行為,就基于用戶行為進行聚類。每一個用戶u都和一個行為Vu對應,每一個滿足i∈Vu的用戶表示u產生了行為v。用戶行為矩陣可以表示為:

其中Vnj表示用戶n產生了行為j,根據不同行為設置不同的權重,權重值介于0和1之間。
假設有用戶u、v,則他們的相似度為:

其中、分別表示用戶u、v的特征聚類,P介于0到1之間,0表示用戶間完全獨立,1代表用戶間趨同。
得到用戶相似度之后,通過對最相似用戶的評價對目標用戶的評分進行預測。然后采用Top-N方法進行推薦:計算之后,選取其中預測評分前N高的課程以推薦列表的形式推薦給目標用戶,得到推薦結果R1。
3.2.2 用戶能力影響
用戶能力反映了用戶對課程的掌握程度,用戶對項目課程的評價包括對評分、收藏和評論等行為,其中評分與收藏數據較易獲得和處理,而評論數據則可運用文本過濾的方法篩選出關鍵字詞獲得評分。
假設用戶對課程的評分是r,其中rij代表第i個用戶對第j個課程的評分(1≤r≤5,r∈Z),為用戶u對所有課程的平均分。設用戶對課程的收藏是z,其中zij代表第i個用戶對j個課程的收藏情況。若用戶i對課程j進行了收藏,則zij為3,若無收藏行為,則zij為1。評論數據經過關鍵詞處理之后設為t,其中tij代表第i個用戶對第j個課程的評論系數,tij的值按照關鍵詞處理規則,由“積極反應”“中性反應”“消極反應”三種態度分別對應5、3、1,沒有評論則tij為3。此時可將zij和tij“虛擬”為用戶對課程的評分,參與到用戶u對所有課程均分的計算中。則此時:

學習掌握情況指用戶課程完成后參與系統測試,其結果分為A、B、C、D(四個等級,設為學習情況lij,對應值為5、3、1、0,學習情況:

將與按1:1加權混合,可以得到用戶的學習能力Si,同時也可以得到:

變異系數是一個比較不同組數據離散程度的系數,表征了序列的絕對離散程度,在進行數據統計分析時,如果變異系數大于15%,則要考慮該數據可能不正常。[7]當用戶的學習能力Si低于超過15%時,要考慮推薦更簡單的課程,即課程中的測試均分∈[ru,(1-15%)ru];當用戶的學習能力Si高于超過15%時,則要考慮推薦更困難的課程,即課程中的測試均分∈[ru,(1+15%)ru],得到推薦結果R2。
3.2.3 用戶范圍影響
用戶的學習范圍主要體現在相似用戶和用戶自身課程的選擇上。相似用戶的尋找基于3.2.1中的用戶聚類,將相似用戶與用戶自身的選課集合相并,可以得到學習廣度w。
若用戶此前選擇的課程難度逐步加深,且掌握情況較好,則系統在下一步推薦中可以推薦難度略大的課程,反之亦然。課程的難度基于3.2.2中用戶對系統提供的練習情況,分為四個難度級別:測評均分∈(0,1]時,課程為“困難”;∈(1,3]時,課程為“有點困難”;∈(3,5]時,可稱為“有點簡單”;∈(5,7]時,課程為“簡單”。將課程的難度進行回歸分析,可以得到新一次推薦課程的難度r,那么推薦課程的難度范圍即為[(1-15%)r,(1+15%)r]。將w與d取并集,可以得到學習范圍R,得到推薦結果R3。
3.2.4 最終推薦
在不同的學習階段,單獨運行推薦算法,將得到的推薦結果,以R3為基礎,綜合考慮R1和R2的影響,通過線性擬合和實驗論證,分配不同的權重,得到一個總評分,最后推薦給用戶。
本文第一章概述了云教育平臺信息過載的現狀;第二章介紹了幾種主流的推薦算法,闡述其原理、核心和優缺點;第三章分析了各教育平臺上目前采用的推薦技術和缺陷,提出了一種按時間劃分的推薦算法,綜合考慮了用戶屬性、學習能力、選擇新課程時的范圍傾向,為用戶提供更加個性、實時的推薦。未來,作者將嘗試加入教育平臺收費課程價格因素影響、按照艾賓浩斯遺忘曲線安排復習時間等,提高推薦效果,更好地滿足用戶需求。
[1]T.L.Griffiths and M.Steyvers.Finding Scientific Topics.Proceeding of the National Academy of Sciences,2014,1:5228-5235.
[2]孔維梁.協同過濾推薦系統關鍵問題研究[D].華中師范大學,2013.
[3]Lops,P,De Gemm is,M Semeraro G.Content-based recommender systems:State of the art and trends[M].Recommender systems handbook.Springer US,2011:73-105.
[4]Pazzani M J,Billsus D.Content-based recommendation systems[M].The adaptive web.Springer Berlin Heidelberg,2007:325-341
[5]劉建國,周濤,汪秉宏.個性化推薦系統的研究進展[J].自然科學進展,2009,01:1-15.
[6]林文薈.教育資源個性化推薦技術研究[D].東南大學,2015.
[7]Everitt B.Cam bridge dictionary of statistics[M].Cam bridge University Press,1998.