期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要: 近年來,在線學習得到了大規模普及,互聯網上已發布了海量的慕課學習資源。針對廣大學習者進行在線慕課學習時面臨的“信息迷航”和“信息過載”等問題,以混合推薦算法為基礎,通過多角度挖掘用戶的個性化信息,設計并實現了一個面向個性化學習的慕課資源推薦系統,以此為廣大學習者提供自主學習的輔助支持。該系統能充分挖掘學習者的顯式和隱式偏好,為其推薦滿意的慕課資源,具有良好的應用價值。
關鍵詞: 慕課; 學習資源; 混合推薦; 個性化學習
0 引言
近年來,國家的一系列指導性文件[1-2]明確指出了以“學習者”為中心、個性化培養的重要性,有力地推動了我國在線教育的發展。目前,主流在線教育平臺已在互聯網上發布了海量的慕課學習資源,在線學習者人數增長迅速。而2020年初暴發的新冠疫情進一步推動了在線學習的大規模普及。
面對海量的慕課學習資源,廣大學習者在慕課學習時面臨著“信息迷航”和“信息過載”[3-4]等問題,學生很難充分了解并快速挑選出最適合自己的學習資源。由此,實現學生需求與學習資源的匹配,從而提高學生進行在線慕課學習時的學習效率和在線教育平臺中慕課學習資源的利用率,具有重要的現實意義。
針對當前主流在線教育網站缺乏慕課資源推薦功能的不足,本文在傳統混合推薦算法的基礎上,多角度挖掘用戶的個性化信息,設計并開發了一個面向個性化學習的慕課資源推薦系統,以此為廣大學習者提供高效的自主學習的輔助支持。
1 混合推薦算法原理
基于內容的推薦算法通過抽取物品的內容信息來描述物品并形成物品的特征模型[5],培訓嘗試向用戶推薦與其過去所喜好物品在內容上相似的其他物品。協同過濾算法基于興趣相投的假設,借助于用戶群體的行為模式分析,以方式進行項目過濾。該推薦算法主要是對用戶群體的行為數據進行分析,尋找鄰近用戶或鄰近物品進而生成推薦[6],如公式⑴常用于基于用戶的協同過濾算法的評分預測任務。將以上兩種類型的推薦算法使用一定的機制相混合,便得到了基于用戶反饋和物品內容的混合推薦算法[7]。
[ru,j=ru+v∈Nsimu,v×(rv,j-rv)|v∈Nsim(u,v)|] ⑴
其中,[ru,j]表示用戶u對物品j的預測評分;[rv,j]是用戶v對物品j的實際評分;[ru]為用戶u的平均評分;N是評價過物品j的相似用戶群;[simu,v]為用戶u和v的相似度。
2 個性化慕課推薦算法流程
2.1 基于標簽的課程建模
將經過預處理后的課程標簽數據,轉換為Python中的字典格式,得到課程模型組。轉換得到課程模型組樣式如下:
[courses_models={courseid1:{'label1':1,'label2': 0.8, ...}, courseid2:{...}...}]
2.2 基于標簽的用戶建模
結合用戶課程評分數據和課程建模得到的課程模型組,由公式⑵計算用戶對標簽的評分(即喜愛程度)。
[Ru,i=Sig(j∈NSimi,j)] ⑵
其中,Ru,i表示用戶u對標簽i的評分;Sig表示sigmoid變體函數;N表示用戶u已看且與標簽i相關的課程集合;Simi,j表示標簽i與課程j的相關系數。進而得到用戶模型組,其樣式如下:
[users_models = {user1:{'label1':0.8, 'label2': 0.5},]
[ user2:{...}...}]
公式⑵針對用戶u已看且與標簽i相關的所有課程,將這些課程與標簽i的相關系數求和,再使用sigmoid變體函數進行歸一化處理,得到用戶u對標簽i的評分。這里沒有將用戶u對已看課程j的實際評分作為對標簽i評分的影響因素,是因為用戶對具體某一門課程的評分往往涉及許多除開課程內容之外的其他因素,如教師授課質量,課程計劃安排等。相比之下,只考慮用戶對某一標簽相關課程的訪問頻次信息,能更準確反映用戶對該標簽的喜愛或需求程度。sigmoid變體函數如公式⑶所示。
[Sigx=11 + e-2x+4.8] ⑶
2.3 基于綜合相似度的混合推薦
首先,計算基于標簽的用戶模型與課程模型之間的余弦相似度,挑選相似度較高的前N門課程作為初始推薦列表。然后,將前N門課程與用戶的相似度作為其初始推薦系數。計算當前用戶與其他所有用戶的“綜合相似度”后,設置合理閾值,得到相似用戶組。使用相似用戶的課程評分數據,調整當前用戶推薦列表中各課程的推薦系數。其中,“綜合相似度”由評分反饋相似度、專業相似度、年級相似度和興趣相似度加權組合而成。
2.4 結合注冊信息的推薦
對于標題或簡介里含有當前用戶興趣關鍵詞的課程,增加一定比例的推薦系數。同時,結合當前用戶與課程的層次匹配度調整各門課程的推薦系數。層次匹配度的計算著重參考了全國第四輪學科評估的數據和2020年校友會中國大學排名數據。將學科評估為A+類的院校排名設為1,A類院校排名設為2,依此類推。當用戶所在專業與課程所屬學科一致且用戶所在院校與課程開辦院校均有對應的學科評估排名時,我們按照學科評估排名的前后位序差距進行等距計算并賦予相應權重,使得兩者學科評估排名越相近,則層次匹配度越高。除上述情況外,我們按照院校綜合排名的前后位序差距進行等距計算并賦予合理權重,使得兩者院校綜合排名越相近,則層次匹配度越高。
2.5 結合瀏覽痕跡的推薦
首先,結合搜索痕跡來影響課程的推薦系數。對于標題或簡介里含有搜索關鍵詞的課程,增加一定比例的推薦系數。其次,結合停留痕跡信息來影響課程的推薦系數。為與停留頁面信息相關的課程即標題或簡介中含有停留頁面關鍵詞的課程,提供與對應停留時間呈線性相關的推薦系數提升比例。
3 慕課資源推薦系統的開發
3.1 基于Hibernate和MVC的總體設計
3.1.1 基于Hibernate框架的持久化設計
⑴ 建立持久化課程類和學生類。課程類包括id、名稱、開辦院校、授課教師、選課人數、簡介、鏈接等屬性;學生類包括id、姓名、密碼、性別、所在院校、年級、所在專業、興趣愛好等屬性。
⑵ 建立持久化類映射文件(Course.hbm.xml、Student.hbm.xml),將課程類、學生類分別與數據庫中的課程詳細信息表、學生信息表關聯起來。
⑶ 建立Hibernate配置文件,配置連接數據庫的參數和持久化類映射文件的位置。
⑷ 建立Hibernate工具類,封裝對會話工廠對象和會話對象的創建和維護。
⑸ 在控制器servlet中對數據表進行查詢,得到持久化對象列表。
3.1.2 基于MVC模式的系統框架設計
⑴ 模型為課程類、學生類。
⑵ 視圖包括綜合推薦頁(select-class.jsp)、課程搜索頁(search-class.jsp)、個人中心頁(individual.jsp),它們負責向用戶呈現JavaBeans中的數據。
⑶ 控制器為mainservlet以及它涉及的7個業務處理類。業務處理類包括綜合推薦處理類、知識元推薦處理類、推薦列表檢索處理類、慕課搜索處理類、登錄處理類、注冊處理類、個人中心訪問處理類。
3.2 系統組成與主要功能模塊
根據上述設計,我們實現了一個真實的個性化慕課推薦系統,并已將其公開部署于騰訊云服務器。整個系統共包含熱門推薦、綜合推薦、知識元推薦、慕課搜索、登錄、注冊和個人中心等七個模塊。系統的功能模塊結構如圖1所示。該系統的首頁運行界面及推薦結果界面分別如圖2和圖3所示。
七個功能模塊的設計和實現特點分別介紹如下。
3.2.1 熱門推薦模塊
將爬取的課程數據劃分為十二個大類,分別為計算機、物理與電子、化學與化工、生物醫學、歷史與文學、數學與統計、經濟、管理、教育與心理學、外語、藝術及政法等類別。在首頁的熱門推薦板塊,利用熱門課程信息和課程鏈接為用戶提供熱門課程入口。
推薦閱讀:民族教育研究發表什么論文