張節(jié)蘭,李小蘭
(鷹潭職業(yè)技術(shù)學(xué)院,鷹潭 335000)
?
基于協(xié)同過濾的高校推薦選課系統(tǒng)的設(shè)計與實現(xiàn)
張節(jié)蘭,李小蘭
(鷹潭職業(yè)技術(shù)學(xué)院,鷹潭 335000)
為了克服學(xué)生在選課過程中的盲目性,高校在考慮學(xué)生專業(yè)、偏好以及學(xué)習(xí)程度等方面的基礎(chǔ)上,普通使用選課系統(tǒng)為學(xué)生推薦適用課程.但目前的高校選課系統(tǒng)中缺乏個性化課程、選課效率過低,本文提出了一種基于協(xié)同過濾的高校推薦選課系統(tǒng)的設(shè)計與實現(xiàn).經(jīng)過實驗表明,該系統(tǒng)完全能夠解決選課系統(tǒng)的個性化推薦問題,在增強(qiáng)課程資源利用率的基礎(chǔ)上,極大的調(diào)動了學(xué)生的學(xué)習(xí)興趣,并進(jìn)一步提高了高校學(xué)生的選課質(zhì)量.
協(xié)同過濾; 高校選課推薦系統(tǒng); 數(shù)據(jù)挖掘
隨著教育改革的不斷深入,高校在學(xué)生專業(yè)化課程的選擇上開始逐步考慮學(xué)生的實際需求,課程自由選擇擴(kuò)大了學(xué)生的學(xué)習(xí)空間,同時提高了學(xué)生學(xué)習(xí)興趣.選課制度在高校改革中的重要性也引起了高校師生的廣泛關(guān)注,高校選課制度的設(shè)計與實現(xiàn)需要結(jié)合學(xué)生教育理念進(jìn)行.自從高校打破傳統(tǒng)教育模式,實行學(xué)分制與選課制后,學(xué)生的學(xué)習(xí)興趣也有了明顯的提高,由此可見,選課模式的建立將有利于高校教育的發(fā)展.因此,高校應(yīng)當(dāng)著重提高選課系統(tǒng)的質(zhì)量,根據(jù)學(xué)生的專業(yè)需求與興趣偏好為學(xué)生提供個性化的選課推薦,從而提高學(xué)生選課的適用性,并進(jìn)一步完善選課質(zhì)量和課程資源利用率[1].但就目前高校的推薦選課系統(tǒng)發(fā)展技術(shù)而言還存在著諸多的問題,如數(shù)據(jù)不全面、推薦課程不合理等.這些都極大的制約了高校課程教育的改革與發(fā)展,如何構(gòu)造一套適用于高校的推薦選課系統(tǒng)也是當(dāng)前教育工作者亟待解決的一大問題.
在計算機(jī)技術(shù)不斷發(fā)展的今天,協(xié)同過濾技術(shù)已廣泛用于計算機(jī)領(lǐng)域當(dāng)中.協(xié)同過濾技術(shù)主要根據(jù)鄰近用戶的偏好信息來為目標(biāo)用戶推薦項目,如果某類項目的評分在一些用戶群體中較為接近,則該用戶群體對于其他類項目的評分也會較為相似.協(xié)同過濾技術(shù)采用的是統(tǒng)計計算方式來為目標(biāo)用戶搜索相似用戶,并通過最近鄰居對項目的打分相似度來預(yù)測目標(biāo)用戶可能感興趣的項目評分,最終選擇相似度最高的項目來作為目標(biāo)用戶推薦項目,并及時反饋給用戶[2].協(xié)同過濾技術(shù)操作簡單,數(shù)據(jù)精確度較高,并在現(xiàn)有協(xié)同過濾推薦系統(tǒng)中得到了廣泛的應(yīng)用.
協(xié)同過濾推薦系統(tǒng)是目前較受人們喜愛的一項信息過濾技術(shù),其不僅能對過濾內(nèi)容進(jìn)行分析,推選出用戶的興趣偏好,還能為用戶推薦可能感興趣的資源,即時提高系統(tǒng)信息服務(wù)質(zhì)量[3].協(xié)同過濾技術(shù)的核心思想在于利用偏好相似群體的評分為用戶推薦項目資源.協(xié)同過濾技術(shù)主要分為三步進(jìn)行,即構(gòu)建用戶、搭建項目矩陣尋找最近鄰居以及產(chǎn)生TOP-N 推薦數(shù)據(jù).當(dāng)前技術(shù)形式下,協(xié)同過濾技術(shù)的類型主要有基于用戶的協(xié)同過濾推薦、基于項目的協(xié)同過濾推薦以及基于模型的協(xié)同過濾推薦三種[4].
基于用戶的協(xié)同過濾技術(shù)算法主要根據(jù)相似度進(jìn)行計算,即通過對用戶訪問行為的相似性進(jìn)行數(shù)據(jù)分析,并為目標(biāo)用戶推薦可能感興趣的項目資源.基于用戶的協(xié)同過濾推薦過程流程如圖1所示.
圖1 基于用戶的協(xié)同過濾推薦過程流程圖
該技術(shù)中對用戶訪問行為的相似度進(jìn)行計算的方式主要采用了修正余弦相似性函數(shù)兩種.假設(shè)用戶a和用戶b之間存在相似性,如以下公式所示[5]:
基于協(xié)同過濾的高校選課系統(tǒng)分為學(xué)生模塊、推薦算法模塊以及課程模塊三部分,選課系統(tǒng)模型如圖2所示,選課系統(tǒng)通過收集學(xué)生學(xué)習(xí)狀態(tài)、選課記錄、興趣愛好等個人信息,將其進(jìn)行分類并編號,再將學(xué)生模型中所包含的與課程模型中的特征屬性進(jìn)行相關(guān)匹配,并使用推薦算法對數(shù)據(jù)進(jìn)行篩選,從而為學(xué)生提供個性化推薦的課程.
圖2 推薦系統(tǒng)模型
高校推薦選課系統(tǒng)為了進(jìn)一步提高學(xué)生的學(xué)習(xí)興趣,擴(kuò)展學(xué)生的學(xué)習(xí)視野,將針對學(xué)生特征進(jìn)行選課系統(tǒng)推薦,并分為三大模塊,分別為新型課程推薦、個性化課程推薦以及熱門課程推薦.
(1)新型課程推薦模塊
新型課程推薦模塊能夠?qū)⑿抡n程推薦給學(xué)生,讓學(xué)生在原本基礎(chǔ)上選擇適合自己的課程,在擴(kuò)展自身視野的基礎(chǔ)上提高對課程的興趣度.該模塊的算法首先需要生成學(xué)生屬性值偏好矩陣,再將新課程的屬性值進(jìn)行提取并保存在課程表格中,并把學(xué)生屬性值與新課程屬性值進(jìn)行匹配,找出相似度高的Top-N個學(xué)生,在學(xué)生選擇過該課程后,將從新課程表中刪除該課程記錄.該算法主要采取離線方式進(jìn)行.
(2)個性化推薦模塊
個性化推薦模塊基于屬性值偏好矩陣中的最近鄰居推薦之上進(jìn)行計算,主要分兩大部分,一是根據(jù)目標(biāo)用戶,通過SVD矩陣進(jìn)行初始用戶集中獲取,以此收集學(xué)生的選課記錄與評價記錄,并將記錄實時映射至該項目屬性值當(dāng)中,從而生成基礎(chǔ)用戶屬性值偏好矩陣.二是針對該矩陣進(jìn)行相似度計算,以此得出目標(biāo)用戶最近鄰居集合,并通過最近鄰用戶選課記錄進(jìn)行個性化的課程推薦[6].
(3)排行榜課程推薦模塊
在熱門課程推薦模塊中所推薦的課程分為兩大類,一類是利用數(shù)理統(tǒng)計法進(jìn)行計算,得出各課程的評價值,并對評價值眾數(shù)進(jìn)行排序,選擇前M門課程為推薦依據(jù)來進(jìn)行選課系統(tǒng)推薦,該推薦為M+N門課程.另一類則是根據(jù)學(xué)生在一定時間內(nèi)所選課程的選擇次數(shù)為依據(jù)進(jìn)行課程排行,并為學(xué)生做出熱門課程推薦.
推薦選課系統(tǒng)模塊作為高校選課推薦系統(tǒng)中最為重要的部分,是推薦系統(tǒng)的核心,其基于協(xié)同過濾的推薦選課算法流程如下:
①利用數(shù)據(jù)庫中的學(xué)生基本信息以及選課系統(tǒng),進(jìn)行學(xué)生模型搭建.
②結(jié)合學(xué)生模型以及課程信息表,搭建課程模型.
③通過系統(tǒng)判斷學(xué)生是否有過選課記錄來判定其為新用戶或舊用戶.
④針對已有選課記錄的舊用戶,若其選課記錄大于三次則基于用戶的協(xié)同過濾算法進(jìn)行推薦,此外都采用基于項目的協(xié)同過濾推薦算法進(jìn)行選課推薦.
⑤新用戶的選課推薦統(tǒng)一采用基于屬性值偏好矩陣的最近鄰?fù)扑]方法.
⑥在推薦系統(tǒng)中采用統(tǒng)計算法添加熱門課程與新型課程推薦兩大模塊.
該系統(tǒng)主要采用ASP.NET應(yīng)用程序中的三層架構(gòu)模式,通過統(tǒng)一接口發(fā)送數(shù)據(jù)訪問請求.這三層分別是業(yè)務(wù)邏輯層、數(shù)據(jù)封裝層和表現(xiàn)層,業(yè)務(wù)邏輯層主要完成數(shù)據(jù)處理并傳到至數(shù)據(jù)封裝層,數(shù)據(jù)封裝層將數(shù)據(jù)封裝并以對象的形式傳回到表現(xiàn)層.本推薦選課系統(tǒng)共有三個子系統(tǒng),分別為教師子系統(tǒng)、學(xué)生子系統(tǒng)、管理子系統(tǒng).該系統(tǒng)的數(shù)據(jù)庫包括教師表、學(xué)生表以及課程表三大基本表.
為了向?qū)W生推薦更精確的課程,本系統(tǒng)先建立評價矩陣,該評價矩陣能夠?qū)W(xué)生在選課過程中產(chǎn)生的影響因素進(jìn)行分析,如學(xué)生專業(yè)水平、學(xué)習(xí)程度、興趣愛好以及選課記錄等,通過對該類信息進(jìn)行分析并建立起相對應(yīng)的學(xué)生項,使其與評價矩陣中的項進(jìn)行對比,找出用戶相似度最高的選課記錄,從而完成對學(xué)生的課程推薦.高校選課推薦系統(tǒng)的設(shè)計主要包括建立評價矩陣、搜索最近鄰居以及產(chǎn)生推存三部分[6].
4.1 建立評價矩陣
評價矩陣通過對學(xué)生的專業(yè)選擇、興趣愛好、學(xué)習(xí)程度以及選課記錄等信息進(jìn)行學(xué)生歷史選課數(shù)據(jù)的收集.若需從教務(wù)系統(tǒng)中提取,則要注意對數(shù)據(jù)進(jìn)行相應(yīng)處理,使數(shù)據(jù)能夠滿足學(xué)生選課評價矩陣的結(jié)構(gòu),該系統(tǒng)評價矩陣如表1所示.
表1 協(xié)同過濾算法學(xué)生選課評價矩陣
在矩陣中Rij中,R表示評價,i表示學(xué)生,j表示選課項目.Rij的取值范圍一般保持在[0,5]的區(qū)間范圍內(nèi),分值大小與評價高低成正比關(guān)系.
4.2 搜索最近鄰居[7]
將評價矩陣中的學(xué)生與目標(biāo)學(xué)生進(jìn)行相似度對比,找出相似度最高的一組學(xué)生,并建立最近鄰居集合.相似度算法如下列公式所示.
4.3 產(chǎn)生推薦
依照以上兩個步驟產(chǎn)生課程推薦,具體算法如下面公式所示.
本實驗對象包含50位學(xué)生,分別來自計算機(jī)科學(xué)與技術(shù)、教育技術(shù)學(xué)兩大專業(yè).實驗要求每個學(xué)生至少對7項課程進(jìn)行評價.在實驗過程中,系統(tǒng)共收集到3428條評分?jǐn)?shù)據(jù),120條選課記錄.該數(shù)據(jù)將作為實驗集進(jìn)行使用.實驗中還將從每個學(xué)生的評分?jǐn)?shù)據(jù)中隨機(jī)抽取5條數(shù)據(jù)記錄作為測試集,其余數(shù)據(jù)則作為訓(xùn)練集.
本實驗主要采用改進(jìn)算法,并與其他推薦算法相結(jié)合進(jìn)行分析比較.實驗結(jié)果如表2所示.
表2 不同算法的對比分析
實驗結(jié)果表明,采用基于協(xié)同過濾算法所得出的MAE值較小.其原因主要在于預(yù)測值根據(jù)最近鄰居預(yù)測,極大降低了實際評價值與預(yù)測值的誤差,MAE值越小,其所得出的評分預(yù)測就越精確,采用該方式所推薦的選課項目質(zhì)量也會更高.將課程評價總數(shù)修改為9和11進(jìn)行推薦時,發(fā)現(xiàn)了未被選修的課程以及未被評分的課程,由此可知,基于協(xié)同過濾算法的高校推薦選課系統(tǒng)完全實現(xiàn)了課程推薦要求.
[1] 克 鵬.基于數(shù)據(jù)挖掘的個性化高校選課推薦算法研究[J].數(shù)字技術(shù)與應(yīng)用,2012(8):63-64.
[2] 袁春花.基于協(xié)同過濾算法的個性化高校選課推薦系統(tǒng)研究[J].計算機(jī)光盤軟件與應(yīng)用,2012(20):117-118.
[3] 王 艷,劉雙紅,李玲玲.基于加權(quán)關(guān)聯(lián)規(guī)則的選課推薦系統(tǒng)的構(gòu)建[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2009,24(5):44-47.
[4] 肖建瓊,宋國琴.基于興趣度-相關(guān)性規(guī)則挖掘的研究及在推薦選課系統(tǒng)的應(yīng)用[J].智能計算機(jī)與應(yīng)用,2012(5):73-77.
[5] Dong Kun.Research of Personalized Book Recommender System of University Library Based on Collaborative Filter[J].New Technology of Library and Information Service,2011(11):44-47.
[6] WU Yue-ping,WANG Na,MA Liang.Research of Collaboration Filtering Recommendation System Based on Ant Algorithm[J].Microcomputer Development,2011(10):73-76.
[7] Shen Qian.Coordination Based on the Average Differential Filter Algorithm Analysis and Research[J].Microcomputer Applications,2011,27(12):33-35,70.
Design and Implementation of College Course Recommendation Selection System Based on Collaborative Filtering
ZHANG Jie-lan,LI Xiao-lan
(Yingtan Vocational and Technical College, Yingtan 335000, China)
To overcome the blindness in the selection course,the unviversity uses the course selection system to recommend the application course based on the majors,preferences and learning degrees.Now the course elctection system lacks personalized course with low efficiency.This paper presents the design and implementation of college course recommendation selection system based on collaborative filtering. The experiment shows that the system can completely solve the recommendation problem of course selection system, enhance the utilization of curriculum resources, greatly stimulate students' learning interest, and further improve the quality of college student enrollment.
collaborative filtering; college course recommendation selection system; data mining
2014-12-08
張節(jié)蘭(1977-),女,碩士,講師,研究方向:計算機(jī)應(yīng)用技術(shù).
TP37
A
1671-119X(2015)02-0039-04