鐘亞妹
摘要:文章結(jié)合某線上學(xué)習(xí)系統(tǒng)的實現(xiàn)與測試,對該系統(tǒng)的總體設(shè)計展開分析。同時簡單闡述該系統(tǒng)建立期間基于用戶、基于項目的協(xié)同過濾推薦算法設(shè)計,提出系統(tǒng)開發(fā)階段中Spring Boot和Mybatis的框架設(shè)計要點,旨在優(yōu)化線上學(xué)習(xí)系統(tǒng)推薦功能,滿足用戶個性化課程推薦需求。
關(guān)鍵詞:線上學(xué)習(xí);系統(tǒng);個性化;課程推薦;模型算法
中圖分類號:TP311? ? ?文獻標(biāo)識碼:A
文章編號:1009-3044(2021)25-0130-02
線上學(xué)習(xí)系統(tǒng)是近年來教育信息化建設(shè)中的重要產(chǎn)物,個性化課程推薦模型算法是該系統(tǒng)開發(fā)中的核心內(nèi)容,可為用戶提供個性化課程推薦需求,使用戶更為高效的獲取課程信息,完成自身學(xué)習(xí)任務(wù),增強用戶在線上學(xué)習(xí)時的體驗感。但是在設(shè)計個性化課程推薦算法時,技術(shù)人員仍需合理構(gòu)建算法模型,加強算法應(yīng)用中的測試工作。
1 系統(tǒng)實現(xiàn)與測試
不同學(xué)習(xí)主體,其所需學(xué)習(xí)課程有著較大差異性,基于個性化課程推薦的線上學(xué)習(xí)系統(tǒng),其基本概念是利用模型算法,記錄、分析用戶行為數(shù)據(jù),自動生成興趣模型,隨后根據(jù)模型為用戶推薦個性化服務(wù)。線上學(xué)習(xí)系統(tǒng)個性化課程推薦模型的實現(xiàn),可有效節(jié)約不同用戶瀏覽時間,優(yōu)化用戶學(xué)習(xí)體驗[1]。具體來說,本文所設(shè)計的線上學(xué)習(xí)系統(tǒng),其編程語言為 Java,可在 MyEclipse開發(fā)、測試該系統(tǒng)。系統(tǒng)結(jié)構(gòu)設(shè)計中,Tomcat為Web服務(wù)器,框架結(jié)構(gòu)為J2EE,如圖1所示。
如圖1所示,該線上學(xué)習(xí)系統(tǒng)中,用戶可在B/S模式作用下,利用視圖層與界面內(nèi)的WEB瀏覽器交互,獲取該瀏覽器客戶端信息,完成注冊、登錄、瀏覽等工作。控制層具有使功能界面跳轉(zhuǎn)的作用,用戶登錄成功后,系統(tǒng)會在密碼輸送后自動進入HTTP請求狀態(tài)中,判定用戶線上課程學(xué)習(xí)需求,相應(yīng)用戶的HTTP請求[2]。測試線上學(xué)習(xí)系統(tǒng)時,相關(guān)人員可模擬用戶將“學(xué)習(xí)請求”發(fā)送到控制層,使其與數(shù)據(jù)層、“個性化推薦模型層”交互后,響應(yīng)用戶請求,而用戶所提交的請求,在系統(tǒng)內(nèi)可通過代碼的方式,準確的推薦對應(yīng)的課程資源。例如在上述系統(tǒng)中,模型在獲取用戶信息后,描述可推薦課程資源時,可輸入以下代碼:
INSERT label (label label ){
String sq1=select *from label where name=?
String [] paras={label. Get name()}
ARRAY list al=new SQlhelper()
......獲取成功
掌握用戶基本信息后,系統(tǒng)可針對性的為用戶推薦個性化課程,按照用戶的資源群請求、瀏覽記錄,自動運行推薦模型,搜索數(shù)據(jù)層,在數(shù)據(jù)庫內(nèi)尋找Top-N個可推薦的課程資源,將其顯示在用戶瀏覽界面中[3]。
2 總體設(shè)計
個性化推薦模型算法中,其主要支撐的模塊有推薦模塊、用戶興趣模塊、推薦對象。設(shè)計線上學(xué)習(xí)系統(tǒng)時,相關(guān)人員可在建設(shè)課程資源庫的基礎(chǔ)上,按照用戶興趣推薦算法將用戶所需個性化課程模型化,并借助該算法過濾課程資源,推薦用戶該興趣的個性化課程,具體推薦模型設(shè)計思路如圖2所示。
上述圖片中,線上學(xué)習(xí)系統(tǒng)個性化課程推薦模型算法的主要作用是獲取、分析用戶興趣,隨后為用戶篩選課程資源,應(yīng)用課程推薦算法,構(gòu)建足夠準確的推薦模型。在設(shè)計、建立用戶信息模型算法時,設(shè)計人員需保障模型內(nèi)數(shù)據(jù)分析的準確性,同時按照用戶特征屬性,描述用戶所需的課程資源,針對性的為用戶提供個性化課程推薦服務(wù)[4]。
3 算法設(shè)計
本文基于線上學(xué)習(xí)系統(tǒng)功能需求,所進行的個性化課程推薦算法,主要是從課程內(nèi)容、用戶角度、算法項目本身構(gòu)建的,具體設(shè)計方案如下:
3.1 個性化內(nèi)容推薦算法
設(shè)計以個性化課程推薦內(nèi)容為核心的算法時,基本步驟為:第一,構(gòu)建用戶特征向量、課程資源向量、用戶特征計算向量,同步分析三者的匹配度。其中系統(tǒng)內(nèi)項目會呈現(xiàn)出非結(jié)構(gòu)化、結(jié)構(gòu)化特點,在設(shè)計推薦模型算法時,需重點測定模型內(nèi)各特征向量,且用文本信息表示相關(guān)向量[5]。第二,基于用戶特征向量,采集用戶興趣信息,運用Rocchio算法、KNN算法建立該模型。在此期間,設(shè)計人員可將用戶信息視為登錄向量,待用戶完成登錄任務(wù)后,利用算法公式,獲取用戶特征向量,具體公式為:[wu=β·1Irjwjw-r·1Inrwk∈inrwk]。其中wj可表示算法模型中item j屬性,Inr、Ir為用戶興趣集合,而β、r為算法模型中用戶喜歡、不喜歡的反饋權(quán)重。第三,根據(jù)用戶歷史瀏覽信息,充分評估內(nèi)容特征向量,測試各向量匹配程度。確定各算法模型數(shù)據(jù)后,完成個性化課程推薦模型算法設(shè)計。第四,應(yīng)用協(xié)同過濾技術(shù),將模型參數(shù)集中在推薦對象個性化信息評價中,隨后根據(jù)Rocchio算法中的wj的變化,實時更新用戶需求反饋,提供個性化課程推薦服務(wù)。
3.2 個性化的用戶推薦算法
在基于用戶設(shè)計個性化課程推薦算法時,可借助KNN算法,采用向量運算的方式,選取K值,評估與用戶瀏覽信息較為相似的課程資源[6]。該算法設(shè)計的基本原理,是結(jié)合不同用于瀏覽信息的相似度,利用python解析用戶相關(guān)文本信息,完成個性化課程資源推薦工作。在此期間,設(shè)計人員可通過交叉驗證的方式,模擬課程推薦期間模型參數(shù)的變化,記錄KNN算法應(yīng)用中不同設(shè)計方案的實際效果,完成線上學(xué)習(xí)系統(tǒng)課程推薦設(shè)置。
3.3 個性化項目推薦算法
個性化項目推薦算法,是從用戶、內(nèi)容角度逐漸過渡至項目算法,其算法設(shè)計原理同樣為分析模型中各用戶參數(shù)的相似性。具體模型構(gòu)建過程中,是按照Naive Bayes算法,對系統(tǒng)數(shù)據(jù)庫內(nèi)文本、視頻資源實施分類,并借助NB代碼,分析用戶個性化課程推薦中的profile learning問題,設(shè)計用戶感興趣、不感興趣的item。確定數(shù)據(jù)庫item類別后,選取屬性獨立、概率相同的數(shù)值,對用戶歷史信息進行時數(shù)據(jù)訓(xùn)練,分析不同用戶對某課程項目的喜好的相似性[7]。例如1號用戶感興趣的項目可分為A~C,2號用戶喜歡C項目和A項目,該算法可感知某課程項目喜歡的用戶數(shù)量為2個,以此類推,確定最終的算法模型設(shè)計方案,建立線上學(xué)習(xí)期間個性化課程、用戶向量的評分矩陣,積累相似項目群,評估用戶對課程資源的喜愛程度,完成排序后,使其進入候選推薦版塊,用戶發(fā)出瀏覽請求后,將其推薦給用戶。