張節(jié)蘭,李小蘭
(鷹潭職業(yè)技術(shù)學(xué)院,鷹潭 335000)
?
基于協(xié)同過(guò)濾的高校推薦選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
張節(jié)蘭,李小蘭
(鷹潭職業(yè)技術(shù)學(xué)院,鷹潭 335000)
為了克服學(xué)生在選課過(guò)程中的盲目性,高校在考慮學(xué)生專(zhuān)業(yè)、偏好以及學(xué)習(xí)程度等方面的基礎(chǔ)上,普通使用選課系統(tǒng)為學(xué)生推薦適用課程.但目前的高校選課系統(tǒng)中缺乏個(gè)性化課程、選課效率過(guò)低,本文提出了一種基于協(xié)同過(guò)濾的高校推薦選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).經(jīng)過(guò)實(shí)驗(yàn)表明,該系統(tǒng)完全能夠解決選課系統(tǒng)的個(gè)性化推薦問(wèn)題,在增強(qiáng)課程資源利用率的基礎(chǔ)上,極大的調(diào)動(dòng)了學(xué)生的學(xué)習(xí)興趣,并進(jìn)一步提高了高校學(xué)生的選課質(zhì)量.
協(xié)同過(guò)濾; 高校選課推薦系統(tǒng); 數(shù)據(jù)挖掘
隨著教育改革的不斷深入,高校在學(xué)生專(zhuān)業(yè)化課程的選擇上開(kāi)始逐步考慮學(xué)生的實(shí)際需求,課程自由選擇擴(kuò)大了學(xué)生的學(xué)習(xí)空間,同時(shí)提高了學(xué)生學(xué)習(xí)興趣.選課制度在高校改革中的重要性也引起了高校師生的廣泛關(guān)注,高校選課制度的設(shè)計(jì)與實(shí)現(xiàn)需要結(jié)合學(xué)生教育理念進(jìn)行.自從高校打破傳統(tǒng)教育模式,實(shí)行學(xué)分制與選課制后,學(xué)生的學(xué)習(xí)興趣也有了明顯的提高,由此可見(jiàn),選課模式的建立將有利于高校教育的發(fā)展.因此,高校應(yīng)當(dāng)著重提高選課系統(tǒng)的質(zhì)量,根據(jù)學(xué)生的專(zhuān)業(yè)需求與興趣偏好為學(xué)生提供個(gè)性化的選課推薦,從而提高學(xué)生選課的適用性,并進(jìn)一步完善選課質(zhì)量和課程資源利用率[1].但就目前高校的推薦選課系統(tǒng)發(fā)展技術(shù)而言還存在著諸多的問(wèn)題,如數(shù)據(jù)不全面、推薦課程不合理等.這些都極大的制約了高校課程教育的改革與發(fā)展,如何構(gòu)造一套適用于高校的推薦選課系統(tǒng)也是當(dāng)前教育工作者亟待解決的一大問(wèn)題.
在計(jì)算機(jī)技術(shù)不斷發(fā)展的今天,協(xié)同過(guò)濾技術(shù)已廣泛用于計(jì)算機(jī)領(lǐng)域當(dāng)中.協(xié)同過(guò)濾技術(shù)主要根據(jù)鄰近用戶(hù)的偏好信息來(lái)為目標(biāo)用戶(hù)推薦項(xiàng)目,如果某類(lèi)項(xiàng)目的評(píng)分在一些用戶(hù)群體中較為接近,則該用戶(hù)群體對(duì)于其他類(lèi)項(xiàng)目的評(píng)分也會(huì)較為相似.協(xié)同過(guò)濾技術(shù)采用的是統(tǒng)計(jì)計(jì)算方式來(lái)為目標(biāo)用戶(hù)搜索相似用戶(hù),并通過(guò)最近鄰居對(duì)項(xiàng)目的打分相似度來(lái)預(yù)測(cè)目標(biāo)用戶(hù)可能感興趣的項(xiàng)目評(píng)分,最終選擇相似度最高的項(xiàng)目來(lái)作為目標(biāo)用戶(hù)推薦項(xiàng)目,并及時(shí)反饋給用戶(hù)[2].協(xié)同過(guò)濾技術(shù)操作簡(jiǎn)單,數(shù)據(jù)精確度較高,并在現(xiàn)有協(xié)同過(guò)濾推薦系統(tǒng)中得到了廣泛的應(yīng)用.
協(xié)同過(guò)濾推薦系統(tǒng)是目前較受人們喜愛(ài)的一項(xiàng)信息過(guò)濾技術(shù),其不僅能對(duì)過(guò)濾內(nèi)容進(jìn)行分析,推選出用戶(hù)的興趣偏好,還能為用戶(hù)推薦可能感興趣的資源,即時(shí)提高系統(tǒng)信息服務(wù)質(zhì)量[3].協(xié)同過(guò)濾技術(shù)的核心思想在于利用偏好相似群體的評(píng)分為用戶(hù)推薦項(xiàng)目資源.協(xié)同過(guò)濾技術(shù)主要分為三步進(jìn)行,即構(gòu)建用戶(hù)、搭建項(xiàng)目矩陣尋找最近鄰居以及產(chǎn)生TOP-N 推薦數(shù)據(jù).當(dāng)前技術(shù)形式下,協(xié)同過(guò)濾技術(shù)的類(lèi)型主要有基于用戶(hù)的協(xié)同過(guò)濾推薦、基于項(xiàng)目的協(xié)同過(guò)濾推薦以及基于模型的協(xié)同過(guò)濾推薦三種[4].
基于用戶(hù)的協(xié)同過(guò)濾技術(shù)算法主要根據(jù)相似度進(jìn)行計(jì)算,即通過(guò)對(duì)用戶(hù)訪(fǎng)問(wèn)行為的相似性進(jìn)行數(shù)據(jù)分析,并為目標(biāo)用戶(hù)推薦可能感興趣的項(xiàng)目資源.基于用戶(hù)的協(xié)同過(guò)濾推薦過(guò)程流程如圖1所示.
圖1 基于用戶(hù)的協(xié)同過(guò)濾推薦過(guò)程流程圖
該技術(shù)中對(duì)用戶(hù)訪(fǎng)問(wèn)行為的相似度進(jìn)行計(jì)算的方式主要采用了修正余弦相似性函數(shù)兩種.假設(shè)用戶(hù)a和用戶(hù)b之間存在相似性,如以下公式所示[5]:
基于協(xié)同過(guò)濾的高校選課系統(tǒng)分為學(xué)生模塊、推薦算法模塊以及課程模塊三部分,選課系統(tǒng)模型如圖2所示,選課系統(tǒng)通過(guò)收集學(xué)生學(xué)習(xí)狀態(tài)、選課記錄、興趣愛(ài)好等個(gè)人信息,將其進(jìn)行分類(lèi)并編號(hào),再將學(xué)生模型中所包含的與課程模型中的特征屬性進(jìn)行相關(guān)匹配,并使用推薦算法對(duì)數(shù)據(jù)進(jìn)行篩選,從而為學(xué)生提供個(gè)性化推薦的課程.
圖2 推薦系統(tǒng)模型
高校推薦選課系統(tǒng)為了進(jìn)一步提高學(xué)生的學(xué)習(xí)興趣,擴(kuò)展學(xué)生的學(xué)習(xí)視野,將針對(duì)學(xué)生特征進(jìn)行選課系統(tǒng)推薦,并分為三大模塊,分別為新型課程推薦、個(gè)性化課程推薦以及熱門(mén)課程推薦.
(1)新型課程推薦模塊
新型課程推薦模塊能夠?qū)⑿抡n程推薦給學(xué)生,讓學(xué)生在原本基礎(chǔ)上選擇適合自己的課程,在擴(kuò)展自身視野的基礎(chǔ)上提高對(duì)課程的興趣度.該模塊的算法首先需要生成學(xué)生屬性值偏好矩陣,再將新課程的屬性值進(jìn)行提取并保存在課程表格中,并把學(xué)生屬性值與新課程屬性值進(jìn)行匹配,找出相似度高的Top-N個(gè)學(xué)生,在學(xué)生選擇過(guò)該課程后,將從新課程表中刪除該課程記錄.該算法主要采取離線(xiàn)方式進(jìn)行.
(2)個(gè)性化推薦模塊
個(gè)性化推薦模塊基于屬性值偏好矩陣中的最近鄰居推薦之上進(jìn)行計(jì)算,主要分兩大部分,一是根據(jù)目標(biāo)用戶(hù),通過(guò)SVD矩陣進(jìn)行初始用戶(hù)集中獲取,以此收集學(xué)生的選課記錄與評(píng)價(jià)記錄,并將記錄實(shí)時(shí)映射至該項(xiàng)目屬性值當(dāng)中,從而生成基礎(chǔ)用戶(hù)屬性值偏好矩陣.二是針對(duì)該矩陣進(jìn)行相似度計(jì)算,以此得出目標(biāo)用戶(hù)最近鄰居集合,并通過(guò)最近鄰用戶(hù)選課記錄進(jìn)行個(gè)性化的課程推薦[6].
(3)排行榜課程推薦模塊
在熱門(mén)課程推薦模塊中所推薦的課程分為兩大類(lèi),一類(lèi)是利用數(shù)理統(tǒng)計(jì)法進(jìn)行計(jì)算,得出各課程的評(píng)價(jià)值,并對(duì)評(píng)價(jià)值眾數(shù)進(jìn)行排序,選擇前M門(mén)課程為推薦依據(jù)來(lái)進(jìn)行選課系統(tǒng)推薦,該推薦為M+N門(mén)課程.另一類(lèi)則是根據(jù)學(xué)生在一定時(shí)間內(nèi)所選課程的選擇次數(shù)為依據(jù)進(jìn)行課程排行,并為學(xué)生做出熱門(mén)課程推薦.
推薦選課系統(tǒng)模塊作為高校選課推薦系統(tǒng)中最為重要的部分,是推薦系統(tǒng)的核心,其基于協(xié)同過(guò)濾的推薦選課算法流程如下:
①利用數(shù)據(jù)庫(kù)中的學(xué)生基本信息以及選課系統(tǒng),進(jìn)行學(xué)生模型搭建.
②結(jié)合學(xué)生模型以及課程信息表,搭建課程模型.
③通過(guò)系統(tǒng)判斷學(xué)生是否有過(guò)選課記錄來(lái)判定其為新用戶(hù)或舊用戶(hù).
④針對(duì)已有選課記錄的舊用戶(hù),若其選課記錄大于三次則基于用戶(hù)的協(xié)同過(guò)濾算法進(jìn)行推薦,此外都采用基于項(xiàng)目的協(xié)同過(guò)濾推薦算法進(jìn)行選課推薦.
⑤新用戶(hù)的選課推薦統(tǒng)一采用基于屬性值偏好矩陣的最近鄰?fù)扑]方法.
⑥在推薦系統(tǒng)中采用統(tǒng)計(jì)算法添加熱門(mén)課程與新型課程推薦兩大模塊.
該系統(tǒng)主要采用ASP.NET應(yīng)用程序中的三層架構(gòu)模式,通過(guò)統(tǒng)一接口發(fā)送數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求.這三層分別是業(yè)務(wù)邏輯層、數(shù)據(jù)封裝層和表現(xiàn)層,業(yè)務(wù)邏輯層主要完成數(shù)據(jù)處理并傳到至數(shù)據(jù)封裝層,數(shù)據(jù)封裝層將數(shù)據(jù)封裝并以對(duì)象的形式傳回到表現(xiàn)層.本推薦選課系統(tǒng)共有三個(gè)子系統(tǒng),分別為教師子系統(tǒng)、學(xué)生子系統(tǒng)、管理子系統(tǒng).該系統(tǒng)的數(shù)據(jù)庫(kù)包括教師表、學(xué)生表以及課程表三大基本表.
為了向?qū)W生推薦更精確的課程,本系統(tǒng)先建立評(píng)價(jià)矩陣,該評(píng)價(jià)矩陣能夠?qū)W(xué)生在選課過(guò)程中產(chǎn)生的影響因素進(jìn)行分析,如學(xué)生專(zhuān)業(yè)水平、學(xué)習(xí)程度、興趣愛(ài)好以及選課記錄等,通過(guò)對(duì)該類(lèi)信息進(jìn)行分析并建立起相對(duì)應(yīng)的學(xué)生項(xiàng),使其與評(píng)價(jià)矩陣中的項(xiàng)進(jìn)行對(duì)比,找出用戶(hù)相似度最高的選課記錄,從而完成對(duì)學(xué)生的課程推薦.高校選課推薦系統(tǒng)的設(shè)計(jì)主要包括建立評(píng)價(jià)矩陣、搜索最近鄰居以及產(chǎn)生推存三部分[6].
4.1 建立評(píng)價(jià)矩陣
評(píng)價(jià)矩陣通過(guò)對(duì)學(xué)生的專(zhuān)業(yè)選擇、興趣愛(ài)好、學(xué)習(xí)程度以及選課記錄等信息進(jìn)行學(xué)生歷史選課數(shù)據(jù)的收集.若需從教務(wù)系統(tǒng)中提取,則要注意對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理,使數(shù)據(jù)能夠滿(mǎn)足學(xué)生選課評(píng)價(jià)矩陣的結(jié)構(gòu),該系統(tǒng)評(píng)價(jià)矩陣如表1所示.
表1 協(xié)同過(guò)濾算法學(xué)生選課評(píng)價(jià)矩陣
在矩陣中Rij中,R表示評(píng)價(jià),i表示學(xué)生,j表示選課項(xiàng)目.Rij的取值范圍一般保持在[0,5]的區(qū)間范圍內(nèi),分值大小與評(píng)價(jià)高低成正比關(guān)系.
4.2 搜索最近鄰居[7]
將評(píng)價(jià)矩陣中的學(xué)生與目標(biāo)學(xué)生進(jìn)行相似度對(duì)比,找出相似度最高的一組學(xué)生,并建立最近鄰居集合.相似度算法如下列公式所示.
4.3 產(chǎn)生推薦
依照以上兩個(gè)步驟產(chǎn)生課程推薦,具體算法如下面公式所示.
本實(shí)驗(yàn)對(duì)象包含50位學(xué)生,分別來(lái)自計(jì)算機(jī)科學(xué)與技術(shù)、教育技術(shù)學(xué)兩大專(zhuān)業(yè).實(shí)驗(yàn)要求每個(gè)學(xué)生至少對(duì)7項(xiàng)課程進(jìn)行評(píng)價(jià).在實(shí)驗(yàn)過(guò)程中,系統(tǒng)共收集到3428條評(píng)分?jǐn)?shù)據(jù),120條選課記錄.該數(shù)據(jù)將作為實(shí)驗(yàn)集進(jìn)行使用.實(shí)驗(yàn)中還將從每個(gè)學(xué)生的評(píng)分?jǐn)?shù)據(jù)中隨機(jī)抽取5條數(shù)據(jù)記錄作為測(cè)試集,其余數(shù)據(jù)則作為訓(xùn)練集.
本實(shí)驗(yàn)主要采用改進(jìn)算法,并與其他推薦算法相結(jié)合進(jìn)行分析比較.實(shí)驗(yàn)結(jié)果如表2所示.
表2 不同算法的對(duì)比分析
實(shí)驗(yàn)結(jié)果表明,采用基于協(xié)同過(guò)濾算法所得出的MAE值較小.其原因主要在于預(yù)測(cè)值根據(jù)最近鄰居預(yù)測(cè),極大降低了實(shí)際評(píng)價(jià)值與預(yù)測(cè)值的誤差,MAE值越小,其所得出的評(píng)分預(yù)測(cè)就越精確,采用該方式所推薦的選課項(xiàng)目質(zhì)量也會(huì)更高.將課程評(píng)價(jià)總數(shù)修改為9和11進(jìn)行推薦時(shí),發(fā)現(xiàn)了未被選修的課程以及未被評(píng)分的課程,由此可知,基于協(xié)同過(guò)濾算法的高校推薦選課系統(tǒng)完全實(shí)現(xiàn)了課程推薦要求.
[1] 克 鵬.基于數(shù)據(jù)挖掘的個(gè)性化高校選課推薦算法研究[J].數(shù)字技術(shù)與應(yīng)用,2012(8):63-64.
[2] 袁春花.基于協(xié)同過(guò)濾算法的個(gè)性化高校選課推薦系統(tǒng)研究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012(20):117-118.
[3] 王 艷,劉雙紅,李玲玲.基于加權(quán)關(guān)聯(lián)規(guī)則的選課推薦系統(tǒng)的構(gòu)建[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,24(5):44-47.
[4] 肖建瓊,宋國(guó)琴.基于興趣度-相關(guān)性規(guī)則挖掘的研究及在推薦選課系統(tǒng)的應(yīng)用[J].智能計(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ì)算機(jī)應(yīng)用技術(shù).
TP37
A
1671-119X(2015)02-0039-04