劉志媛,王 飛,張藝璇
(1.河北北方學(xué)院 理學(xué)院,河北 張家口 075000;2.河北北方學(xué)院 經(jīng)濟(jì)管理學(xué)院,河北 張家口 075000)
推薦系統(tǒng)以用戶行為數(shù)據(jù)為基礎(chǔ),綜合利用數(shù)學(xué)建模、統(tǒng)計(jì)檢驗(yàn)和機(jī)器學(xué)習(xí)等技術(shù)手段,對數(shù)據(jù)蘊(yùn)含的結(jié)構(gòu)特征進(jìn)行深度挖掘與提取,實(shí)現(xiàn)對用戶屬性特征、行為特征和偏好特征的全方位刻畫,形成用戶畫像,并最終達(dá)到對不同用戶進(jìn)行個(gè)性化智能推薦的目的。在實(shí)際應(yīng)用中,推薦系統(tǒng)在社交網(wǎng)絡(luò)、電商銷售、搜索引擎等領(lǐng)域的應(yīng)用取得了巨大成功,它通過提高產(chǎn)品服務(wù)質(zhì)量,給產(chǎn)品供給方產(chǎn)生了巨大的經(jīng)濟(jì)效益。同時(shí),推薦系統(tǒng)的應(yīng)用也提高了使用者的滿意度和用戶體驗(yàn)。因而從福利經(jīng)濟(jì)學(xué)的角度講,推薦系統(tǒng)的應(yīng)用具有改善社會(huì)福利水平的作用[1-2]。目前,高等教育教學(xué)改革是高等院校的一個(gè)長期工作重點(diǎn),然而,推薦系統(tǒng)在高等教育特別是學(xué)生選課方面的應(yīng)用存在明顯不足。研究推薦系統(tǒng)在高校學(xué)生選課方面的應(yīng)用,對于提高高等院校的教育教學(xué)質(zhì)量,提升高校的學(xué)生服務(wù)質(zhì)量和人才培養(yǎng)質(zhì)量,具有重要意義[3-4]。
關(guān)于推薦系統(tǒng)的應(yīng)用與研究,可以追溯到20世紀(jì)90年代。根據(jù)切入點(diǎn)的不同,推薦系統(tǒng)可以基于內(nèi)容、效用和協(xié)同過濾等方面進(jìn)行個(gè)性化推薦。考慮到大學(xué)生往往自我認(rèn)知能力有限,且對專業(yè)興趣和就業(yè)能力要求把握不準(zhǔn),以及基于協(xié)同過濾在處理非結(jié)構(gòu)化對象和共享他人經(jīng)驗(yàn)等方面的優(yōu)勢,本文以主流推薦系統(tǒng)為基礎(chǔ),構(gòu)建一個(gè)基于item協(xié)同過濾算法的學(xué)生選課推薦系統(tǒng)[5-6]。
最終,本研究成功構(gòu)建了一個(gè)基于item協(xié)同過濾算法的學(xué)生選課推薦系統(tǒng),并用編程語言進(jìn)行了算法實(shí)踐。同時(shí),本研究在全校范圍內(nèi)抽選了2個(gè)專業(yè)共計(jì)60名同學(xué)進(jìn)行了系統(tǒng)試用,并調(diào)查了相關(guān)學(xué)生的使用反饋。結(jié)果顯示,56名同學(xué)對課程推薦結(jié)果十分滿意,4名同學(xué)比較滿意。這表明,基于item協(xié)同過濾算法的學(xué)生選課推薦算法,可以在一定程度上挖掘?qū)W生的學(xué)習(xí)潛力和興趣愛好等特征,有助于識別學(xué)生的選課偏好,存在可以進(jìn)一步推廣的潛力。構(gòu)建基于該算法的學(xué)生選課推薦系統(tǒng),有助于提高學(xué)生在選課方面的效率,也有助于提升學(xué)校在教學(xué)方管理方面的能力。
協(xié)同過濾是在海量數(shù)據(jù)中挖掘出小部分與指定學(xué)生課程偏好類似的學(xué)生,之后指定這些類似學(xué)生成為近鄰學(xué)生,然后把近鄰學(xué)生喜歡的課程組織成一個(gè)按照被偏好程度排序的目錄,最后根據(jù)類似學(xué)生的課程偏好排序給指定學(xué)生推薦課程[7]。
基于協(xié)同過濾的推薦算法以個(gè)體行為特征相似性度量為基礎(chǔ),通過計(jì)算指定新樣本(學(xué)生)與數(shù)據(jù)庫中原有樣本之間的相似性,對新樣本進(jìn)行聚類,找出原有樣本中與新樣本在行為特征方面較為相似的個(gè)體,并將其作為近鄰樣本(近鄰學(xué)生)。之后,生成近鄰樣本的選課集,并按照偏好評分對選課集進(jìn)行排序。最終,基于新樣本與近鄰學(xué)生的相似度以及近鄰學(xué)生的選課偏好,對學(xué)生進(jìn)行選課推薦。需要解決的重要問題有:
一是如何通過行為數(shù)據(jù)計(jì)算學(xué)生之間的相似度,并要求該相似度能夠反映學(xué)生的興趣愛好和學(xué)習(xí)特長。
二是在確定了新樣本的近鄰學(xué)生后,如何確定基于近鄰學(xué)生選課記錄的推薦課程被選集。
樣本間的相似性度量是聚類分析的基礎(chǔ)。在做分類時(shí),通常將一個(gè)樣本視為n維歐式空間中的1個(gè)向量,因此,可以從以下2個(gè)角度對n維歐式空間中2個(gè)向量的相似性進(jìn)行度量。一是從向量距離的角度,二是從向量夾角的角度。特別地,由于高維空間中的歐式距離仍然滿足距離的三角不等式,因此,歐式距離是度量高維空間中向量距離的最常用方法??紤]到樣本相似性度量并不是向量距離的簡單計(jì)算,并且不同的數(shù)據(jù)類型需要使用不同的相似性度量方法,本文在此對相似度量的主要方法進(jìn)行簡要梳理[8]。
(1)歐氏距離(Euclidean distance)度量法
在高維空間中,歐式距離是最貼近三維空間中距離直觀含義的對向量空間中點(diǎn)的距離的一種度量方法。通過引入歐式距離概念,向量空間就有了長度和角度的概念。假設(shè)樣本x和y是n(n≥1)維歐式空間里的2個(gè)點(diǎn),其中
x=[x1,x2,x3,…,xn]T
(1)
y=[y1,y2,y3,…,yn]T
(2)
則歐氏距離計(jì)算公式如下:
(3)
(2)曼哈頓距離(Manhattan distance)度量法
曼哈頓距離也稱為城市街區(qū)距離(city block distance)。假設(shè)樣本x和y是n(n≥1)維空間里的2個(gè)點(diǎn),得到式(1)、(2),則曼哈頓距離計(jì)算公式如下
(4)
(3)切比雪夫距離(Chebyshev distance)度量法
切比雪夫距離也是定義向量空間中點(diǎn)距離的一種重要度量方法,該方法取分量維度上距離的最大值作為切比雪夫距離。具體地,假設(shè)樣本x和y是n(n≥1)維空間里的2個(gè)點(diǎn),得到式(1)、(2),則切比雪夫距離計(jì)算公式如下
(5)
(4)閔可夫斯基距離(Minkowski distance)度量法
閔氏距離有時(shí)也指時(shí)空間隔,為俄裔德國數(shù)學(xué)家閔可夫斯基(H.Minkowski,1864—1909)最先表述。假設(shè)樣本x和y是n(n≥1)維空間里的2個(gè)點(diǎn),得到式(1)、(2),則閔可夫斯基距離計(jì)算公式如下
(6)
從計(jì)算公式看,閔氏距離將分量視為服從同分布,同時(shí)也不考慮分量在量綱上的差異。
(5)標(biāo)準(zhǔn)化歐氏距離(standardized Euclidean distance)度量法
與閔氏距離類似,簡單歐氏距離同樣存在將分量視為服從同分布的問題,也忽略了分量在均值和方差等方面的差異。通過先對分量做標(biāo)準(zhǔn)化處理,再計(jì)算歐式距離,就得到了一種改進(jìn)的標(biāo)準(zhǔn)化歐式距離。假設(shè)樣本x和y是n(n≥1)維空間里的2個(gè)點(diǎn),得到式(1)、(2),則標(biāo)準(zhǔn)化歐氏距離計(jì)算公式如下
(7)
(6)夾角余弦(cosine)度量法
夾角余弦值是從方向角度對樣本點(diǎn)相似性的一種度量,并在諸多領(lǐng)域被廣泛使用。假設(shè)樣本x和y是n(n≥1)維空間里的兩個(gè)點(diǎn),得到式(1)、(2),則向量夾角余弦計(jì)算公式如下
(8)
從上式看,向量夾角余弦值的絕對值小于等于1,其大小可以反應(yīng)兩個(gè)向量的相似性,值越大表明2個(gè)向量的相似度越高。而且,向量夾角余弦值為正,表明2個(gè)向量具有同向關(guān)系,反之,則表明2個(gè)向量具有負(fù)向關(guān)系。綜合考慮有關(guān)相似性度量方法,以及本文的研究需要,在計(jì)算學(xué)生的相似性時(shí),本文采用基于向量夾角余弦值的相似性度量方法。
在推薦系統(tǒng)中,本研究選擇了50個(gè)高年級學(xué)生及其前一年的的選課記錄作為基礎(chǔ)樣本,并參考夾角余弦相似性度量法,計(jì)算同學(xué)之間的相似度[9]。為了便于分析,此處以7名同學(xué)為例,介紹學(xué)生的協(xié)同過濾過程。假設(shè)有A、B、C、D、E、F和G,7位同學(xué),在a、b、c、d和e,5門課程中選擇自己想要選修的課程,其選課情況如下。
圖1 樣本學(xué)生選課列表
基于以上同學(xué)選課情況及夾角余弦相似性度量法,計(jì)算學(xué)生之間的相似性。例如:
A和B之間的相似度為
(9)
A和C之間的相似度為
(10)
考慮到上述算法需要計(jì)算指定樣本(學(xué)生)到其他任意樣本之間的相似度,為了提高算法的計(jì)算效率,提出如下改進(jìn)方案:
第一步:建立課程到學(xué)生的倒查表;
第二步:基于倒查表,建立學(xué)生的同現(xiàn)矩陣。
根據(jù)樣本中每門課程的被選情況,建立如圖2所示的倒查表。
圖2 樣本學(xué)生選課倒查表
基于圖2的倒查表,生成不同學(xué)生的同現(xiàn)矩陣,結(jié)果見表1。
表1 樣本學(xué)生的同現(xiàn)矩陣
將上述同現(xiàn)表進(jìn)行歸一化,結(jié)果見表2。
表2 樣本學(xué)生同現(xiàn)矩陣的歸一化矩陣
通過以上數(shù)據(jù),可以計(jì)算A同學(xué)選擇c和d課程的概率分別是
P(A,c)=WAC*P(AC)+WAE*P(AE)=0.067
(11)
P(A,d)=WAB*P(AB)+WAE*P(AE)+WAF*P(AF)+WAG*P(AG)=0.30
(12)
基于協(xié)同過濾設(shè)計(jì)推薦系統(tǒng)時(shí),不僅需要基于行為數(shù)據(jù)找出指定學(xué)生的近鄰學(xué)生,還需要對課程的相似性進(jìn)行評估。在評估課程相似性時(shí),本算法是利用學(xué)生對課程的評分來評估不同課程之間的相似。旨在展示算法流程,此處仍基于A、B、C、D、E、F和G,7位同學(xué),在a、b、c、d和e,5門課程中的選課記錄進(jìn)行分析,其選課情況見圖3。
圖3 樣本學(xué)生選課記錄
類似于對學(xué)生的分析,首先構(gòu)建課程的同現(xiàn)矩陣,具體結(jié)果見表3。
然后,對課程的同現(xiàn)矩陣進(jìn)行歸一化處理。其公式如下
(13)
處理后的結(jié)果見表4。
表4 課程同現(xiàn)矩陣的歸一化矩陣
接著,建立學(xué)生對課程的評分矩陣。出于簡單考慮,此處假設(shè)學(xué)生對未選課程的評分為0,對已選課程的評分為1,得到不同學(xué)生對不同課程的評分結(jié)果如下。
圖4 樣本學(xué)生課程評分
在得到學(xué)生對課程的評分,以及課程之間的相似度之后,估算學(xué)生u對備選課程o的偏好程度。公式如下
(14)
公式(14)中,度量的是學(xué)生u對課程o的偏好程度,計(jì)算出指定學(xué)生對所有備選課程的偏好程度是構(gòu)建學(xué)生選課推薦系統(tǒng)的基礎(chǔ)。另外,公式中C(0,N)表示和備選課程o相似的課程的集合,wu,i代表備選課程o和課程i之間的相似度,而pu,i則是基于近鄰學(xué)生計(jì)算的學(xué)生u對課程i的偏好程度。
基于協(xié)同過濾算法的學(xué)生選課推薦系統(tǒng)的邏輯是,首先基于學(xué)生歷史選課數(shù)據(jù),評估學(xué)生庫中樣本學(xué)生與新樣本學(xué)生的相似性,并通過設(shè)定相似度閾值篩選出近鄰學(xué)生,之后根據(jù)近鄰學(xué)生的選課偏好和課程相似度,對新樣本學(xué)生進(jìn)行選課推薦[10]。該算法的主要模塊有
模塊一:尋找近鄰學(xué)生
以學(xué)生選課數(shù)據(jù)為基礎(chǔ),利用聚類分析方法,通過計(jì)算對比學(xué)生之間的相似性,尋找指定學(xué)生的近鄰學(xué)生集。
模塊二:課程相似性度量
根據(jù)學(xué)生選課歷史數(shù)據(jù)庫,通過建立倒查表和同現(xiàn)矩陣,評估不同課程之間的相似性。
模塊三:課程評分
基于學(xué)生對課程的打分,建立課程評分。雖然學(xué)生對課程的主觀打分能較好地反應(yīng)學(xué)生對不同課程的偏好程度,但為了減少數(shù)據(jù)搜集難度以及提高可操作性,在推薦系統(tǒng)構(gòu)建初期可以假定如果學(xué)生選了該課程則評分為1,否則為0。
模塊四:個(gè)性化推薦
在近鄰學(xué)生尋常、課程相似度計(jì)算以及課程評分的基礎(chǔ)上,同時(shí)考慮學(xué)生相似性和課程相似性,根據(jù)近鄰學(xué)生的選課偏好進(jìn)行個(gè)性化推薦。
本研究選取了60位學(xué)生進(jìn)行系統(tǒng)使用,表5給出部分同學(xué)基于協(xié)同過濾算法的課程推薦結(jié)果作為示例。
表5 課程信息
程序運(yùn)行結(jié)果如圖5~6所示。
圖5 試用同學(xué)1
圖6 試用同學(xué)2
本文以學(xué)生選課歷史數(shù)據(jù)為基礎(chǔ),使用協(xié)同過濾算法對學(xué)生的選課偏好進(jìn)行研究,并基于該算法建立了一個(gè)大學(xué)選課推薦系統(tǒng)。從實(shí)驗(yàn)效果看,使用協(xié)同過濾算法,能夠?qū)W(xué)生的屬性特征、行為特征和偏好特征進(jìn)行挖掘和提取,有助于解決大學(xué)生在選課時(shí)存在的隨意性和盲目性問題,同時(shí)能夠提高學(xué)校在教育教學(xué)方面的管理效率。特別地,本文研究表明,基于協(xié)同過濾算法的學(xué)生選課推薦系統(tǒng),更夠更好地平衡學(xué)生特征和課程特征之間的關(guān)系,有助于實(shí)現(xiàn)學(xué)生學(xué)習(xí)能力與課程要求、學(xué)生選課偏好與課程特征以及學(xué)生能力培養(yǎng)與職業(yè)要求之間的優(yōu)化匹配。
河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版)2021年11期