徐州市第一中學(xué) 李斐然
目前,云教育平臺存在海量教育資源,被動式搜索無法主動為用戶提供資源、激發(fā)用戶的學(xué)習(xí)興趣,而推薦技術(shù)可以解決這一問題。本文從主流推薦算法入手,研究適用于云教育平臺的推薦技術(shù),通過幾種推薦算法的組合使用,提出一種為學(xué)習(xí)用戶量身打造個性化推薦技術(shù),提高教育資源的推薦質(zhì)量與利用效率。
協(xié)同過濾推薦算法的核心思想是通過比較用戶項目的興趣相似度,得到相似用戶集或項目集,通過評分預(yù)測方法,計算出用戶對于項目的可能評分值,從而產(chǎn)生推薦結(jié)果[1]?;诜治鰧ο蟮牟煌挚梢苑譃榛谟脩舻膮f(xié)同過濾和基于項目的協(xié)同過濾。
基于用戶的協(xié)同過濾算法首先將用戶間的行為數(shù)據(jù)進(jìn)行比對,尋找出與該用戶相似的用戶,然后形成相似用戶集,并預(yù)測用戶行為,算法的核心步驟是計算用戶相似度。計算方法有余弦相似度和皮爾遜相似度。余弦相似度:
皮爾遜相似度:
推薦結(jié)果與資源的內(nèi)容屬性無關(guān),但面臨:(1)新用戶的冷啟動問題,對于新注冊用戶,系統(tǒng)沒有其對任何項目的評分?jǐn)?shù)據(jù),無法尋找相似用戶。(2)數(shù)據(jù)稀疏性:稀少的行為數(shù)據(jù)也容易影響推薦質(zhì)量。
基于項目的協(xié)同過濾根據(jù)所有用戶對項目的偏好信息得到項目之間的相似性,然后將類似項目推薦給用戶。該算法使用項目相似性來代替用戶相似性[2],核心步驟是計算項目間的相似度。但面臨:(1)新項目的冷啟動問題(2)準(zhǔn)確性問題:該算法因忽略用戶的個性需求而使推薦質(zhì)量降低。
基于內(nèi)容的推薦算法不依賴用戶的行為信息,而是依據(jù)用戶曾經(jīng)感興趣的項目的內(nèi)容特征,從系統(tǒng)中選擇與用戶過去喜歡的項目最為相似的產(chǎn)品,推薦匹配度最高的項目[3~4];或者直接向用戶推薦與用戶偏好特征最為相似的項目[5]。此外,基于內(nèi)容的推薦算法不需要用戶或項目的歷史數(shù)據(jù),可以克服冷啟動問題。在我們熟識的QQ、微信等社交軟件中的好友推薦功能就應(yīng)用了這樣的推薦技術(shù)。
行為數(shù)據(jù)包括用戶的個性標(biāo)簽等個人信息,也包括用戶對項目的評分?jǐn)?shù)據(jù)等行為信息。根據(jù)行為數(shù)據(jù)的呈現(xiàn)形式,可分為顯式用戶反饋與隱式用戶反饋。
顯式用戶反饋指用戶在社交網(wǎng)站前端提供的評分模塊中的直接評分。隱式用戶反饋是一種間接得到用戶-項目評分的方法,根據(jù)用戶在網(wǎng)站上的行為記錄及在部分模塊上給出的評分,通過一定的評分預(yù)測規(guī)則估計用戶對于某項目的評分[6]。
作者在學(xué)而思網(wǎng)校、新東方在在線、騰訊課堂、百度傳課、中國大學(xué)慕課、網(wǎng)易公開課等六個網(wǎng)站上新注冊了用戶,總結(jié)了平臺推薦情況(表1)。
表1 新用戶注冊信息表
由表1可以看出,只有學(xué)而思網(wǎng)校通過用戶所在年級來推薦適用課程。推薦內(nèi)容基于學(xué)習(xí)資源標(biāo)簽屬性和用戶興趣標(biāo)簽屬性產(chǎn)生,并不能夠準(zhǔn)確選擇用戶真正需要的資源。因此,在新用戶注冊時,有必要引入用戶特征識別和用戶聚類的方法,來解決冷啟動問題。
在用戶評價反饋階段,可以根據(jù)用戶的反饋和評分信息進(jìn)行推薦。表2總結(jié)了教育平臺對用戶反饋信息的獲取和利用情況。
表2 用戶評價和反饋信息表
由表2可以看出,2/3的平臺采用收藏和評價功能來收集用戶的反饋信息,但是沒有進(jìn)一步挖掘用戶對課程的其它反饋信息,如社交網(wǎng)站分享、收藏后觀看、學(xué)習(xí)后的掌握情況等。
本節(jié)針對云教育平臺,提出了一種基于時間劃分的個性化推薦算法,核心思想為:在不同的學(xué)習(xí)階段,分別以用戶特征、學(xué)習(xí)能力和學(xué)習(xí)范圍為基礎(chǔ),對不同階段的用戶進(jìn)行個性化推薦。
在新用戶注冊時期,基于用戶特征進(jìn)行推薦。課程學(xué)習(xí)階段,系統(tǒng)會根據(jù)課時安排定時定量為用戶提供練習(xí);此后,系統(tǒng)會根據(jù)用戶對該課程的評價信息和練習(xí)結(jié)果綜合考慮得到用戶的學(xué)習(xí)能力。課程結(jié)束后,系統(tǒng)會總計算下一課程的難度傾向、確定選課范圍,最終對推薦結(jié)果進(jìn)行修正。具體流程見圖1。
圖1 推薦算法示意圖
3.2.1 用戶特征聚類
用戶特征聚類由用戶屬性和用戶的行為共同構(gòu)成,用戶的屬性包括用戶年齡、性別、年級、地區(qū)、愛好等;用戶行為是用戶在網(wǎng)站上的瀏覽、點擊、反饋、評價等信息。如果該用戶是新注冊用戶,還未產(chǎn)生過行為,則根據(jù)用戶屬性進(jìn)行聚類。用戶屬性矩陣可以表示為:
其中Cnj代表用戶n具有屬性j,若有,則Cnj為1,沒有則為0。
如果用戶已經(jīng)產(chǎn)生用戶行為,就基于用戶行為進(jìn)行聚類。每一個用戶u都和一個行為Vu對應(yīng),每一個滿足i∈Vu的用戶表示u產(chǎn)生了行為v。用戶行為矩陣可以表示為:
其中Vnj表示用戶n產(chǎn)生了行為j,根據(jù)不同行為設(shè)置不同的權(quán)重,權(quán)重值介于0和1之間。
假設(shè)有用戶u、v,則他們的相似度為:
其中、分別表示用戶u、v的特征聚類,P介于0到1之間,0表示用戶間完全獨立,1代表用戶間趨同。
得到用戶相似度之后,通過對最相似用戶的評價對目標(biāo)用戶的評分進(jìn)行預(yù)測。然后采用Top-N方法進(jìn)行推薦:計算之后,選取其中預(yù)測評分前N高的課程以推薦列表的形式推薦給目標(biāo)用戶,得到推薦結(jié)果R1。
3.2.2 用戶能力影響
用戶能力反映了用戶對課程的掌握程度,用戶對項目課程的評價包括對評分、收藏和評論等行為,其中評分與收藏數(shù)據(jù)較易獲得和處理,而評論數(shù)據(jù)則可運用文本過濾的方法篩選出關(guān)鍵字詞獲得評分。
假設(shè)用戶對課程的評分是r,其中rij代表第i個用戶對第j個課程的評分(1≤r≤5,r∈Z),為用戶u對所有課程的平均分。設(shè)用戶對課程的收藏是z,其中zij代表第i個用戶對j個課程的收藏情況。若用戶i對課程j進(jìn)行了收藏,則zij為3,若無收藏行為,則zij為1。評論數(shù)據(jù)經(jīng)過關(guān)鍵詞處理之后設(shè)為t,其中tij代表第i個用戶對第j個課程的評論系數(shù),tij的值按照關(guān)鍵詞處理規(guī)則,由“積極反應(yīng)”“中性反應(yīng)”“消極反應(yīng)”三種態(tài)度分別對應(yīng)5、3、1,沒有評論則tij為3。此時可將zij和tij“虛擬”為用戶對課程的評分,參與到用戶u對所有課程均分的計算中。則此時:
學(xué)習(xí)掌握情況指用戶課程完成后參與系統(tǒng)測試,其結(jié)果分為A、B、C、D(四個等級,設(shè)為學(xué)習(xí)情況lij,對應(yīng)值為5、3、1、0,學(xué)習(xí)情況:
將與按1:1加權(quán)混合,可以得到用戶的學(xué)習(xí)能力Si,同時也可以得到:
變異系數(shù)是一個比較不同組數(shù)據(jù)離散程度的系數(shù),表征了序列的絕對離散程度,在進(jìn)行數(shù)據(jù)統(tǒng)計分析時,如果變異系數(shù)大于15%,則要考慮該數(shù)據(jù)可能不正常。[7]當(dāng)用戶的學(xué)習(xí)能力Si低于超過15%時,要考慮推薦更簡單的課程,即課程中的測試均分∈[ru,(1-15%)ru];當(dāng)用戶的學(xué)習(xí)能力Si高于超過15%時,則要考慮推薦更困難的課程,即課程中的測試均分∈[ru,(1+15%)ru],得到推薦結(jié)果R2。
3.2.3 用戶范圍影響
用戶的學(xué)習(xí)范圍主要體現(xiàn)在相似用戶和用戶自身課程的選擇上。相似用戶的尋找基于3.2.1中的用戶聚類,將相似用戶與用戶自身的選課集合相并,可以得到學(xué)習(xí)廣度w。
若用戶此前選擇的課程難度逐步加深,且掌握情況較好,則系統(tǒng)在下一步推薦中可以推薦難度略大的課程,反之亦然。課程的難度基于3.2.2中用戶對系統(tǒng)提供的練習(xí)情況,分為四個難度級別:測評均分∈(0,1]時,課程為“困難”;∈(1,3]時,課程為“有點困難”;∈(3,5]時,可稱為“有點簡單”;∈(5,7]時,課程為“簡單”。將課程的難度進(jìn)行回歸分析,可以得到新一次推薦課程的難度r,那么推薦課程的難度范圍即為[(1-15%)r,(1+15%)r]。將w與d取并集,可以得到學(xué)習(xí)范圍R,得到推薦結(jié)果R3。
3.2.4 最終推薦
在不同的學(xué)習(xí)階段,單獨運行推薦算法,將得到的推薦結(jié)果,以R3為基礎(chǔ),綜合考慮R1和R2的影響,通過線性擬合和實驗論證,分配不同的權(quán)重,得到一個總評分,最后推薦給用戶。
本文第一章概述了云教育平臺信息過載的現(xiàn)狀;第二章介紹了幾種主流的推薦算法,闡述其原理、核心和優(yōu)缺點;第三章分析了各教育平臺上目前采用的推薦技術(shù)和缺陷,提出了一種按時間劃分的推薦算法,綜合考慮了用戶屬性、學(xué)習(xí)能力、選擇新課程時的范圍傾向,為用戶提供更加個性、實時的推薦。未來,作者將嘗試加入教育平臺收費課程價格因素影響、按照艾賓浩斯遺忘曲線安排復(fù)習(xí)時間等,提高推薦效果,更好地滿足用戶需求。
[1]T.L.Griffiths and M.Steyvers.Finding Scientific Topics.Proceeding of the National Academy of Sciences,2014,1:5228-5235.
[2]孔維梁.協(xié)同過濾推薦系統(tǒng)關(guān)鍵問題研究[D].華中師范大學(xué),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]劉建國,周濤,汪秉宏.個性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009,01:1-15.
[6]林文薈.教育資源個性化推薦技術(shù)研究[D].東南大學(xué),2015.
[7]Everitt B.Cam bridge dictionary of statistics[M].Cam bridge University Press,1998.