耿曉利,鄧添文,羅樺鋒,許佳惠
(廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)技術(shù)系,廣州510990)
2012 年,一種基于網(wǎng)絡(luò)、針對大眾人群的大規(guī)模開放在線課程(Massive Open Online Courses,MOOC)出現(xiàn)并發(fā)展很快,在線學(xué)習(xí)(E-Learning)成為一種深受歡迎的學(xué)習(xí)方式。在線學(xué)習(xí)平臺將教學(xué)者和學(xué)習(xí)者的行為完整記錄,產(chǎn)生了大量連續(xù)的教學(xué)互動信息。而深入挖掘這些數(shù)據(jù),研究學(xué)習(xí)者的學(xué)習(xí)行為和學(xué)習(xí)心理,可以反映出學(xué)習(xí)者的學(xué)習(xí)狀況,有利于提高學(xué)習(xí)者學(xué)習(xí)效果和學(xué)習(xí)質(zhì)量,同時有利于向?qū)W習(xí)者針對性推薦課程,滿足個性化需求。
目前的E-Learning 技術(shù)大多是均質(zhì)化的,忽略了E-Learning 平臺用戶之間的差異,無法滿足用戶對學(xué)習(xí)的個性化需求,致使大量的時間都花費(fèi)在課程的查找中。而豐富的、多樣化的學(xué)習(xí)資源也容易讓E-Learning 平臺的用戶產(chǎn)生認(rèn)知超載和迷茫的現(xiàn)象。根據(jù)用戶特點(diǎn)為其提供課程推薦服務(wù),幫助用戶快速地發(fā)現(xiàn)有價值的學(xué)習(xí)資源,能快速提高E-Learning 效率,同時幫助用戶快速構(gòu)建專業(yè)知識體系。
國外研究者很早就開始重視網(wǎng)絡(luò)學(xué)習(xí)領(lǐng)域的個性化推薦。Chu 等人[1]基于Apriori 算法設(shè)計出一個基于Web 的課程推薦系統(tǒng),為面臨選課的學(xué)習(xí)者提供建議。Aher 等人[2]在K-means 算法聚類的基礎(chǔ)上,應(yīng)用Apriori 算法對各類學(xué)生的課程學(xué)習(xí)記錄進(jìn)行關(guān)聯(lián)規(guī)則分析,得到各類學(xué)生偏好的課程學(xué)習(xí)順序,從而向?qū)W生推薦合適的課程。
我國對網(wǎng)絡(luò)學(xué)習(xí)中進(jìn)行個性化推薦的研究起步較晚,學(xué)習(xí)者的體驗程度不高。柴艷妹等人[3]對2008 年到2016 年中有關(guān)基于數(shù)據(jù)挖掘技術(shù)的E-Learning 行為的文獻(xiàn)進(jìn)行綜述,指出大多數(shù)研究者主要研究熱點(diǎn)是學(xué)習(xí)者對E-Learning 平臺的接受程度,而把數(shù)據(jù)挖掘應(yīng)用到E-Learning 平臺的研究較少。孫歆等人[4]引入用戶行為權(quán)重問題解決了冷啟動問題。王琳琳[5]利用Web 日志挖掘和系統(tǒng)操作信息收集結(jié)合的方式,建立學(xué)習(xí)者興趣模型,將用戶聚類加入到推薦算法中,實(shí)現(xiàn)個性化資源的推薦。謝修娟等人[6]基于協(xié)同過濾技術(shù)設(shè)計并實(shí)現(xiàn)了一個個性化推薦系統(tǒng)。
伴隨著E-Learning 平臺資源的海量增加,ELearning 平臺傳統(tǒng)的課程學(xué)習(xí)、作業(yè)管理、成績查詢的功能己經(jīng)不能滿足學(xué)習(xí)者需求,個性化資源推薦可以幫助學(xué)習(xí)者更好地循序漸進(jìn)學(xué)習(xí)、自我管理,提高個性化資源推薦為核心的服務(wù)將越來越緊迫。
協(xié)同過濾推薦算法主要有三種:基于項目的推薦、基于用戶的推薦、項目和用戶結(jié)合的推薦?;谟脩舻膮f(xié)同過濾算法能夠共享其他用戶的經(jīng)驗,避免推薦內(nèi)容的片面化,也可以發(fā)現(xiàn)用戶的潛在興趣,并針對各個用戶產(chǎn)生個性化的推薦結(jié)果。
結(jié)合所收集到的數(shù)據(jù)特點(diǎn)及學(xué)生用戶在專業(yè)方向的相似性,本文擬將基于用戶的推薦算法應(yīng)用到E-Learning 平臺中,為學(xué)習(xí)者實(shí)現(xiàn)個性化的課程推薦,幫助其更好地循序漸進(jìn)學(xué)習(xí)課程,快速建立自己的知識體系。
針對選取的E-Learning 平臺的數(shù)據(jù)特點(diǎn),本文采用基于用戶的協(xié)同過濾推薦技術(shù)。通過用戶的歷史行為數(shù)據(jù)發(fā)現(xiàn)用戶對課程或內(nèi)容的喜歡,并對這些喜好進(jìn)行度量和打分。根據(jù)不同用戶對相同課程或內(nèi)容的態(tài)度和偏好程度計算用戶之間的關(guān)系。在有相同喜好的用戶間進(jìn)行課程推薦。算法的基本原理如圖1所示。
圖1 基于用戶的協(xié)同過濾基本原理
圖1 中,如果用戶1 和用戶3 用戶同時選修了課程2 和課程3 兩門課程,并且課程評分均為5 分,則可以認(rèn)為用戶1 和用戶3 屬于同一類用戶??梢詫⒂脩? 學(xué)習(xí)過的課程1 和課程4 也推薦給用戶3。
本算法的流程圖如圖2 所示。
圖2 算法流程圖
本文實(shí)驗所搜集的數(shù)據(jù)源為筆者所在學(xué)校的學(xué)生在E-Learning 平臺的學(xué)習(xí)數(shù)據(jù),包括課程數(shù)據(jù)、選課數(shù)據(jù)、成績數(shù)據(jù)及課程評論數(shù)據(jù)等。其中用戶數(shù)據(jù)包括學(xué)號、姓名、出生日期、年級、專業(yè)方向、學(xué)歷、興趣特長、手機(jī)號、宿舍等信息;課程數(shù)據(jù)有課程名稱、課程簡介、相關(guān)視頻及文檔資料信息;用戶學(xué)習(xí)課程數(shù)據(jù)包括考試成績數(shù)據(jù)及用戶對課程的評論數(shù)據(jù)。
本文對收集到的原始數(shù)據(jù)進(jìn)行處理,將用戶的學(xué)號、姓名、手機(jī)號等敏感信息脫敏處理,部分用戶數(shù)據(jù)如表1 所示。
表1 用戶數(shù)據(jù)
對課程的代碼信息進(jìn)行刪除處理,對課程簡介信息刪減,展示主要內(nèi)容,部分課程數(shù)據(jù)如表2 所示。
表2 課程概要表
用戶學(xué)習(xí)課程后產(chǎn)生了成績數(shù)據(jù)和評論數(shù)據(jù)。成績數(shù)據(jù)能反映學(xué)生學(xué)習(xí)課程的效果,成績的高低一定程度上能反映學(xué)生對課程的興趣程度。學(xué)生對課程的評論數(shù)據(jù)里,有對課程的評論,也有對授課教師的評論,反映課程的興趣度相對較為狹隘。本文認(rèn)為,用戶參與課程學(xué)習(xí)獲取的測試成績越高,說明對此課程的學(xué)習(xí)效果越好,用戶對課程的興趣程度越高,對課程的評分也越高。
本次實(shí)驗主要對用戶的成績數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最終生成評分表,如表3 所示。
表3 用戶評分?jǐn)?shù)據(jù)
本文實(shí)現(xiàn)的基本思路為:首先分析數(shù)據(jù),建立用戶-課程評分矩陣模型,接著通過計算用戶對課程評分之間的相似性,尋找目標(biāo)用戶的最近鄰居,最后根據(jù)最近鄰居的評分向目標(biāo)用戶產(chǎn)生推薦課程。
(1)建立“用戶-課程”評分矩陣
根據(jù)用戶對課程學(xué)習(xí)后的測試成績作為評分?jǐn)?shù)據(jù),建立用戶-課程評分矩陣,如表4 所示。用戶-課程評分矩陣是一個mín 矩陣,m 表示用戶數(shù),n 表示課程數(shù),m[i]n[j]表示第i 個用戶對第j 門課程的評分。
表4 用戶-課程評分矩陣
(2)計算相似度
設(shè)N(i)為用戶i 評分的課程集合,N(j)為用戶j 評分的課程集合,那么i 和j 的相似度Wij值如公式(1)所示。
本文采用修正的余弦相似性方法,通過減去用戶對課程的平均評分來修正不同用戶的評分尺度問題。
設(shè)用戶i 和用戶j 共同評分的課程集合用Nij表示,則用戶i 和用戶j 之間的相似度值Wij如公式(2)所示。
其中,Si,m、Sj,m分別表示用戶i、用戶j 對課程m 的評分,分別表示用戶i、用戶j 對課程評分的平均分。
(3)產(chǎn)生推薦列表
從矩陣中找到與目標(biāo)用戶最相似的K 個用戶,用集合S(u,K)表示,將S 中用戶感興趣的課程提取出來,并去除u 已經(jīng)興趣或已學(xué)過的課程,對每門候選課程i,用戶對它的感興趣的程度用以下公式計算:
其中Rvi表示用戶v 對課程i 的興趣程度。
本文使用準(zhǔn)確率來驗證推薦的質(zhì)量。推薦的準(zhǔn)確率計算公式為:
其中test 表示測試數(shù)據(jù)集中的課程數(shù)量,topN表示系統(tǒng)推薦給用戶的N 個課程。
本文選取實(shí)驗數(shù)據(jù)主要為學(xué)院理工科部分學(xué)生,共獲取369 個用戶數(shù)據(jù)、549 門課程數(shù)據(jù)及16721 條評分?jǐn)?shù)據(jù)。實(shí)驗結(jié)果如圖3 所示。
圖3 算法的準(zhǔn)確率
由圖3 可知,隨著鄰居數(shù)量K 值的變化,準(zhǔn)確率也在變化。在一定范圍內(nèi),鄰居數(shù)量K 值越大,推薦的準(zhǔn)確率越高。本實(shí)驗中,鄰居數(shù)量K 值在50 時,準(zhǔn)確率趨于平穩(wěn)。
對于新來的用戶,其沒有選課記錄,無法找到最近鄰居。本文從用戶的專業(yè)方向和興趣愛好出發(fā),把高年級學(xué)生興趣的課程推薦給該用戶,以此來解決冷啟動問題。
本文實(shí)現(xiàn)了基于用戶的協(xié)同過濾算法在E-Learning 平臺的個性化推薦課程。但由于其服務(wù)的用戶局限于學(xué)生,算法考慮的因素較少,有一定的局限性。在下一步的研究中,把以下因素納入考慮:用戶修讀課程的軌跡線、課程之間的序列關(guān)系、課程之間的相似性等,同時結(jié)合用戶的評論文本數(shù)據(jù)。在推薦效果上評價指標(biāo)也不單看準(zhǔn)確率,還有MAE 值等。根據(jù)用戶的興趣實(shí)現(xiàn)更為精確的個性化推薦的同時,從用戶的角度出發(fā)給用戶提出相對應(yīng)的發(fā)展路線,是進(jìn)一步的研究方向。