高 斐,陳德禮,嚴(yán) 濤
(莆田學(xué)院 信息工程學(xué)院, 福建 莆田 351100)
recommendation
近年來,隨著人工智能(artificial intelligence, 簡稱AI)的發(fā)展和其應(yīng)用領(lǐng)域的不斷擴(kuò)充,人工智能已經(jīng)融入多個(gè)研究領(lǐng)域尤其是教育領(lǐng)域[1-2].伴著“AI+教育”時(shí)代的到來,課程內(nèi)容、教學(xué)方法和師生關(guān)系都將發(fā)生深刻變化,人工智能與課堂教學(xué)的融合日益深入,個(gè)性化學(xué)習(xí)和資源推薦越來越受重視.
2012年,教育部發(fā)文《教育信息化十年發(fā)展規(guī)劃(2011-2020年)》,明確提出一定要將信息技術(shù)充分應(yīng)用到教育領(lǐng)域中[3-4].新一輪教學(xué)改革提倡要適應(yīng)信息時(shí)代的素質(zhì)教育要求,完善以學(xué)生為中心的智能化教學(xué)環(huán)境.因此,以推薦系統(tǒng)為主的人工智能技術(shù)正在逐漸打開教育市場(chǎng),研究者嘗試針對(duì)學(xué)生的認(rèn)知差異構(gòu)建個(gè)性化推薦系統(tǒng)[5-9].文獻(xiàn)[10]引入知識(shí)圖譜,結(jié)合習(xí)題的知識(shí)點(diǎn)及難度,基于學(xué)生的歷史作答數(shù)據(jù)判斷其對(duì)知識(shí)點(diǎn)的掌握狀態(tài),以實(shí)現(xiàn)個(gè)性化評(píng)估.文獻(xiàn)[11]利用推薦系統(tǒng)中的算法針對(duì)學(xué)生對(duì)知識(shí)點(diǎn)掌握程度的綜合權(quán)重、錯(cuò)誤率和失分率等構(gòu)建一個(gè)在線的個(gè)性化學(xué)習(xí)推薦系統(tǒng).文獻(xiàn)[12]提出融合深度學(xué)習(xí)的概率矩陣分解個(gè)性化推薦模型,即利用矩陣分解算法得到學(xué)生的特征矩陣,從而構(gòu)建個(gè)性化推薦模型.文獻(xiàn)[13]試圖將泛在學(xué)習(xí)與推薦技術(shù)結(jié)合起來,建立起一套與泛在學(xué)習(xí)相適應(yīng)的學(xué)習(xí)資源推薦系統(tǒng).
論文將推薦系統(tǒng)中的基于內(nèi)容推薦算法和協(xié)同過濾算法應(yīng)用到學(xué)生的學(xué)習(xí)、題目推薦和成績預(yù)測(cè)評(píng)估分析中,根據(jù)學(xué)習(xí)者對(duì)知識(shí)的反饋情況,構(gòu)建個(gè)性化推薦模型,為教師的教學(xué)過程提供借鑒.
目前,國內(nèi)外推薦算法主要集中在研究基于內(nèi)容及協(xié)同過濾推薦算法上的應(yīng)用和改進(jìn)[14-16].基于內(nèi)容的推薦算法主要是通過獲取人或物的屬性特征進(jìn)行推薦,基于協(xié)同過濾算法的推薦分為兩種:一種是基于用戶的協(xié)同過濾,另一種是基于項(xiàng)目的協(xié)同過濾.第一種算法是利用相似性算法計(jì)算出不同用戶之間的相似度,找出與目標(biāo)用戶最為相似的n個(gè)用戶,這n個(gè)用戶作為目標(biāo)用戶的最近鄰集合,根據(jù)最近鄰用戶的特征來預(yù)測(cè)目標(biāo)用戶的特征.第二種協(xié)同過濾算法是基于用戶對(duì)某個(gè)項(xiàng)目的偏愛程度,找到與該項(xiàng)目最相似的項(xiàng)目集合,根據(jù)最相似項(xiàng)目集合來預(yù)測(cè)目標(biāo)項(xiàng)目的特征.論文將基于用戶的協(xié)同過濾算法應(yīng)用在評(píng)估學(xué)生成績上,基于內(nèi)容的推薦算法應(yīng)用在學(xué)生對(duì)知識(shí)點(diǎn)掌握程度的權(quán)重分析.系統(tǒng)功能分解如圖1所示.
圖1 系統(tǒng)功能分解圖
論文將基于用戶的協(xié)同過濾算法應(yīng)用在評(píng)估學(xué)生成績中,通過平時(shí)成績找出與該同學(xué)最近鄰的n個(gè)同學(xué)的集合,通過近鄰?fù)瑢W(xué)的成績等級(jí)來預(yù)測(cè)該學(xué)生的成績等級(jí).基于用戶協(xié)同過濾算法的思想是找出與某個(gè)個(gè)體最相似的n個(gè)鄰居個(gè)體,通過對(duì)最相似的n個(gè)鄰居個(gè)體的特性來評(píng)估目標(biāo)個(gè)體的特性.在這一過程,選擇不同的相似函數(shù)會(huì)得出不同的最相似鄰居集合.因此,相似函數(shù)的選取十分重要,通過計(jì)算個(gè)體之間的相似性準(zhǔn)確找出最近鄰的n個(gè)鄰居.常用的相似函數(shù)有歐式距離、余弦函數(shù)、Pearson和Jaccard函數(shù)等[17-19].
根據(jù)相似函數(shù)計(jì)算用戶之間的相似度,對(duì)相似度從大到小進(jìn)行排序得出一個(gè)最近鄰用戶集合(不包含目標(biāo)用戶),該集合表示為neibor={n1,n2,…,nk},ωij表示向量i和j的相似性.
歐式距離相似性算法的計(jì)算公式為
(1)
其中:Si(n) 和Sj(n)分別為向量i與j的第n項(xiàng)屬性;ωn為權(quán)重;ωij為向量間的距離,距離越大,相似性越小,相似性與該值呈反比.
余弦相似性算法的計(jì)算公式為
(2)
Pearson相似性算法的計(jì)算公式為
(3)
Jaccard相似性算法的計(jì)算公式為
(4)
其中:d(Si,Sj)是Jaccard距離,與Jaccard系數(shù)J(Si,Sj)是相反的概念.J(Si,Sj)系數(shù)越大,二者越相似;而d(Si,Sj)距離越大,二者越不相似,這里ωij=J(Si,Sj).
Hash函數(shù)算法為論文增加了Hash函數(shù)求相似性,將每個(gè)字符串序列輸入到哈希函數(shù)中,統(tǒng)計(jì)每個(gè)字符在字符串中出現(xiàn)的頻率,根據(jù)統(tǒng)計(jì)字符串中的所有字母在字符串出現(xiàn)的頻率作為該字符串的特征,再利用Jaccard相似函數(shù)求相似性.由于哈希函數(shù)映射序列中包含0~9,a~f,統(tǒng)計(jì)這些字母在每個(gè)字符串中出現(xiàn)的頻率作為特征,利用Jaccard相似函數(shù)求字符串之間的相似性.
論文將上述相似函數(shù)進(jìn)行相似性比較.設(shè)相似對(duì)稱矩陣為sim(i,j),將相似矩陣按照相似性從大到小進(jìn)行排序,得出每個(gè)用戶最近鄰用戶的集合為neibor.設(shè)最近鄰用戶的個(gè)數(shù)為neibor_num,第i,j個(gè)用戶的相似矩陣sim(i,j), sim(i,j)是歸一化矩陣,ωij為用戶Si與Sj的相似性,如公式(5)所示.通過將目標(biāo)用戶最近鄰的每個(gè)用戶的相似性與對(duì)應(yīng)鄰居用戶的得分進(jìn)行相乘,并依次相加,總和作為目標(biāo)用戶的預(yù)測(cè)分?jǐn)?shù),如公式(6)所示,其中:T_score是目標(biāo)用戶最近鄰用戶的真實(shí)分?jǐn)?shù),P_score為目標(biāo)用戶的預(yù)測(cè)分?jǐn)?shù),兩種分?jǐn)?shù)都是5級(jí)制.ω12=ω21,ω13=ω31,ωij=ωji,ωnn=0.
(5)
(6)
為了獲得學(xué)生對(duì)該課程每個(gè)知識(shí)點(diǎn)的學(xué)習(xí)情況,首先要獲得學(xué)生對(duì)課程的得分矩陣,見表1所示.Sn表示第n個(gè)學(xué)生;kn表示試卷的第n種題型,每套題型包含固定n個(gè)知識(shí)點(diǎn);Zn為計(jì)算機(jī)網(wǎng)絡(luò)課程的第n個(gè)知識(shí)點(diǎn);gnn表示第n個(gè)學(xué)生在第n個(gè)題型中的得分.
表1 學(xué)生知識(shí)點(diǎn)與成績關(guān)聯(lián)矩陣
表格1左半部分是每個(gè)學(xué)生對(duì)應(yīng)每種題型的得分矩陣,右半部分是每個(gè)學(xué)生對(duì)應(yīng)不同知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重.每種題型的總成績是一樣的,包含的每個(gè)知識(shí)點(diǎn)分?jǐn)?shù)可能不同,權(quán)重的大小意味著學(xué)生對(duì)該知識(shí)點(diǎn)的掌握程度,權(quán)重越大說明學(xué)生對(duì)該知識(shí)點(diǎn)掌握得越好.
學(xué)生Sn對(duì)第Zn個(gè)知識(shí)點(diǎn)的得分權(quán)重設(shè)為變量θnn,對(duì)所有知識(shí)點(diǎn)的得分權(quán)重向量設(shè)為θnx={θn1,θn2,θn3,…,θnn}.設(shè)αnx={αn1,αn2,αn3,…,αnn},αnx表示第kn題型知識(shí)點(diǎn)的分?jǐn)?shù)向量,即題型的特征向量.學(xué)生Sn對(duì)第kn題型的預(yù)測(cè)得分為(θnx)T·αnx,公式為
將預(yù)測(cè)得分減去學(xué)生的實(shí)際得分gnn,可得出一個(gè)線性回歸誤差代價(jià)方程式,如公式(7)所示.公式(7)符合凸函數(shù)特點(diǎn),可得出極值.利用梯度下降算法計(jì)算學(xué)生對(duì)每個(gè)知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重θnx,然后按照θnx值從大到小進(jìn)行排序.
設(shè)學(xué)生S1在k1題型的誤差代價(jià)函數(shù)為
J(S1)=θ10+θ11α11+θ12α12+θ13α13+…+θ1nα1n-g11.
(7)
設(shè)學(xué)生S1在k2題型的誤差代價(jià)函數(shù)為
J(S1)=θ20+θ21α21+θ22α22+θ23α23+…+θ2nα2n-g12.
(8)
設(shè)n為知識(shí)點(diǎn)個(gè)數(shù),m為題型個(gè)數(shù),第Sx個(gè)學(xué)生預(yù)估成績與真實(shí)成績的平均誤差代價(jià)函數(shù)為
(9)
其中:J(Sx)值越小,誤差越小,線性回歸結(jié)果越好,即求出該凸函數(shù)的極值,得出學(xué)生對(duì)知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重值θnx.
假設(shè)學(xué)生Sn對(duì)7個(gè)知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重從弱到強(qiáng)的順序分別為
θi∈θi+1∈θi+2∈θi+3∈θi+4∈θi+5∈θi+6,
其中:θi是學(xué)生掌握最薄弱的知識(shí)點(diǎn),失分最多,相對(duì)應(yīng)權(quán)重θi最小;Zi+6是學(xué)生失分最少的知識(shí)點(diǎn),對(duì)應(yīng)的權(quán)重θi+6最大.
由于題庫的題目較多,需要建立題目特征庫,按照每道題目的特征詞建立題目特征向量.設(shè)題目特征庫共有m個(gè)特征詞,分別為{r1,r2,r3,…,rm},第j道題目tj包含特征詞記為tj={r1,r2,r5},則該題目的特征序列為1100100…00000;然后將包含薄弱知識(shí)點(diǎn)題目按照相似性進(jìn)行計(jì)算,得出推薦順序.
第一組實(shí)驗(yàn)采用基于協(xié)同過濾算法對(duì)學(xué)生成績進(jìn)行預(yù)評(píng)估,對(duì)學(xué)生個(gè)性化學(xué)習(xí)情況提前預(yù)知.第二組實(shí)驗(yàn)采用基于內(nèi)容推薦算法對(duì)學(xué)生的知識(shí)反饋進(jìn)行權(quán)重分析,得出學(xué)生哪些知識(shí)點(diǎn)掌握不足,完成個(gè)性化資源的推薦和輔導(dǎo).第一組實(shí)驗(yàn)采用學(xué)生真實(shí)的成績數(shù)據(jù),第二組實(shí)驗(yàn)采用Windows平臺(tái)下MATLAB仿真環(huán)境生成的符合正態(tài)分布的隨機(jī)數(shù)據(jù).該實(shí)驗(yàn)不存在數(shù)據(jù)矩陣稀疏問題.
實(shí)驗(yàn)一:基于協(xié)同過濾算法對(duì)學(xué)生期末成績的評(píng)估.該實(shí)驗(yàn)建立在真實(shí)的成績數(shù)據(jù)上進(jìn)行仿真實(shí)驗(yàn),該數(shù)據(jù)是小數(shù)據(jù)集,每個(gè)學(xué)生的平時(shí)成績包含7項(xiàng)考評(píng),即每個(gè)學(xué)生具有7個(gè)屬性特征.將期末成績分成5個(gè)等級(jí):等級(jí)5(大于等于90分)、等級(jí)4(大于等于80分、小于90分)、等級(jí)3(大于等于70分、小于80分)、等級(jí)2(大于等于60分、小于70分)、等級(jí)1(小于60分),共有101個(gè)學(xué)生.采用推薦系統(tǒng)中常用的誤差評(píng)估指標(biāo),分別為平均絕對(duì)誤差(mean absolute error, 簡稱MAE)和標(biāo)準(zhǔn)平均絕對(duì)誤差(normal mean absolute error,簡稱NMAE),有
(10)
(11)
其中:P_score為預(yù)測(cè)的期末成績,T_score為真實(shí)的期末成績,這兩種成績?yōu)?級(jí)制;Tn為同時(shí)具有預(yù)測(cè)和真實(shí)成績的學(xué)生數(shù)據(jù);rmax和rmin為T_score的最大值和最小值.
利用4種相似函數(shù)將預(yù)測(cè)成績與真實(shí)成績誤差進(jìn)行比較,誤差曲線如圖2,3所示,MAE誤差小于1,NMAE誤差小于0.3,預(yù)測(cè)的期末成績與真實(shí)成績誤差沒有超過1個(gè)等級(jí).當(dāng)最近鄰學(xué)生個(gè)數(shù)neibor_num達(dá)到70~80,誤差達(dá)到較小的數(shù)值.表2為相似函數(shù)算法的成績預(yù)測(cè)誤差比較.從表2可以看出,余弦函數(shù)計(jì)算相似性的誤差最小,Jaccard函數(shù)誤差較大,歐式距離和Pearson函數(shù)誤差大小差不多.如果學(xué)生評(píng)分矩陣數(shù)據(jù)項(xiàng)足夠多,誤差會(huì)更小.基于論文選取的樣本數(shù)據(jù)更適合選擇余弦函數(shù)來計(jì)算個(gè)體間的相似性,其評(píng)估預(yù)測(cè)的成績更準(zhǔn)確.
圖2 MAE誤差曲線圖 圖3 NMAE誤差曲線圖
表2 相似函數(shù)算法的成績預(yù)測(cè)誤差比較
實(shí)驗(yàn)二:基于內(nèi)容推薦算法對(duì)學(xué)生成績的權(quán)重分析及個(gè)性化推薦.該實(shí)驗(yàn)是將組作為個(gè)性化的推薦對(duì)象.雖然一組學(xué)生作為個(gè)性化分析不能反映組中每個(gè)學(xué)生的學(xué)習(xí)情況,但能夠分析該組學(xué)生集中較弱的知識(shí)點(diǎn)是哪些方面.因此,將學(xué)生分組進(jìn)行仿真實(shí)驗(yàn),了解每組學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況,利用梯度下降法計(jì)算每組學(xué)生對(duì)各個(gè)知識(shí)點(diǎn)的權(quán)重,進(jìn)而為每組學(xué)生進(jìn)行個(gè)性化推薦.實(shí)驗(yàn)采用MATLAB工具隨機(jī)產(chǎn)生符合正態(tài)分布的200個(gè)學(xué)生成績數(shù)據(jù),將200個(gè)數(shù)據(jù)分成4組,每一組有50個(gè)學(xué)生成績數(shù)據(jù),通過實(shí)驗(yàn)得出每一組學(xué)生對(duì)該課程知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重.圖4是每組學(xué)生對(duì)各個(gè)知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重對(duì)比情況,表3是知識(shí)點(diǎn)與每組學(xué)生的權(quán)重大小對(duì)應(yīng)關(guān)系.表3中的數(shù)字表示每一組學(xué)生對(duì)各個(gè)知識(shí)點(diǎn)的學(xué)習(xí)權(quán)重,值越大說明該組學(xué)生對(duì)該知識(shí)點(diǎn)掌握得越好,值越小說明掌握得越差.
圖4 每組學(xué)生對(duì)知識(shí)點(diǎn)的權(quán)重分布
表3 知識(shí)點(diǎn)與每組學(xué)生的權(quán)重大小對(duì)應(yīng)關(guān)系
為了證明論文推薦算法的有效性,將第1組學(xué)生的學(xué)習(xí)權(quán)重從小到大進(jìn)行排序,即θ4<θ3<θ2<θ7<θ5<θ1<θ6,第4個(gè)知識(shí)點(diǎn)的權(quán)重θ4最小,其次是第3個(gè)知識(shí)點(diǎn)的權(quán)重θ3,通過學(xué)生對(duì)薄弱知識(shí)點(diǎn)的學(xué)習(xí),學(xué)生對(duì)薄弱知識(shí)點(diǎn)的掌握會(huì)不斷進(jìn)步,該知識(shí)點(diǎn)的權(quán)重會(huì)增加.因此,假設(shè)為第1組學(xué)生推薦第3,4個(gè)知識(shí)點(diǎn)的題目進(jìn)行輔導(dǎo),兩個(gè)知識(shí)點(diǎn)的權(quán)重在每個(gè)輪次增加0.5,該實(shí)驗(yàn)采用10個(gè)輪次,對(duì)剩下的成績按權(quán)重增長比例進(jìn)行學(xué)習(xí).將論文算法和隨機(jī)算法進(jìn)行比較,隨機(jī)算法是每個(gè)輪次將隨機(jī)抽取兩個(gè)知識(shí)點(diǎn)的權(quán)重,同樣按照0.5進(jìn)行遞增,如圖5所示.通過圖中發(fā)現(xiàn)論文算法對(duì)應(yīng)學(xué)生總分的增加速度更快.
圖5 第1組學(xué)生遞增權(quán)重的學(xué)習(xí)效果反饋圖
接下來為學(xué)生較薄弱知識(shí)點(diǎn)推薦題庫資源.首先提取題目特征,構(gòu)建詞匯文本特征矩陣,包含該詞頻為1,不包含該詞頻為0.表4為文本關(guān)鍵詞與特征向量矩陣,其中c1的特征向量為‘10110000000000000’.假設(shè)該題庫對(duì)于薄弱知識(shí)點(diǎn)推薦的題目有10道題:c1,c2,c3,c4,c5,c6,c7,c8,c9,c10.
c1:What is the architecture of computer network.
c2: The three elements of protocol are grammar, semantics and synchronization.
c3: Computer network architecture is an abstract combination of protocols at all levels.
c4: Examples of computer network architecture in daily life.
c5: Human machine interface for lab ABC computer applications.
c6: A survey of user opinion of computer system response time.
c7: In the internet, the protocol used to realize the communication between host and host is IP protocol.
c8: TCP protocol is a connection-oriented transport layer protocol.
c9: Network interconnection at different levels requires different devices. Data link layer interconnection devices include routers.
c10: Circuit switching provides reliable communication functions.
表4 構(gòu)建文本關(guān)鍵詞與特征向量矩陣
假設(shè)c1最簡單,從它開始推薦,剩下題目按照與c1的相似性從大到小進(jìn)行推薦,從而達(dá)到先易后難的個(gè)性化推薦,如表5所示.
表5 題目的推薦排序
設(shè)5種相似函數(shù)的排序與人工排序的平均距離公式為
(12)
其中:prank(i)表示第i個(gè)題目的人工排序結(jié)果;rankj(i)表示5種相似函數(shù)對(duì)第i個(gè)題目的排序結(jié)果,j=1,2,…,5分別表示余弦函數(shù)、歐式距離、Hash函數(shù)、LSA函數(shù)、Jaccard函數(shù)計(jì)算的排序結(jié)果.dj表示第j個(gè)相似算法的排序與人工排序的平均距離,距離越小說明該排序結(jié)果越靠近人工排序.經(jīng)過計(jì)算得出d1=d5 將文獻(xiàn)[19]中的推薦算法與論文推薦算法進(jìn)行對(duì)比分析,文獻(xiàn)中算法采用k-means方法對(duì)推薦資源先進(jìn)行聚類,依據(jù)k-means劃分的不同簇按照從大到小排序,求每個(gè)簇中的節(jié)點(diǎn)與中心點(diǎn)的距離,再按大小進(jìn)行排序.這里共10道題目分成3個(gè)簇,第1,2,3簇分別有5,3,2個(gè)節(jié)點(diǎn).根據(jù)每個(gè)簇中每個(gè)點(diǎn)離中心點(diǎn)位置計(jì)算歐式距離,距離越近越排在前面.對(duì)10道題目按照此方法得出的推薦順序依次是1-4-3-5-6-7-2-10-8-9.此種方法計(jì)算得到的dj為1.2,比論文中余弦函數(shù)計(jì)算的推薦順序平均距離大0.2,但是比僅用歐式距離計(jì)算平均距離小1.0. 聚類的核心思想是把相似的對(duì)象聚類到一起,同一個(gè)簇中對(duì)象的相似度盡可能地高,而不同簇中對(duì)象的相似度要盡可能地低.論文沒有通過聚類方法而是通過余弦函數(shù)計(jì)算在一個(gè)簇中離c1點(diǎn)最近的余弦距離再進(jìn)行排名.在聚類過程中,如果樣本差異性比較大可以先分類再聚類,計(jì)算一個(gè)簇中各個(gè)節(jié)點(diǎn)與中心點(diǎn)的相似性,根據(jù)相似性大小進(jìn)行推薦.如果沒有進(jìn)行分類而采用歐式距離計(jì)算相似性,可能會(huì)造成不同類的節(jié)點(diǎn)在一個(gè)簇中,造成一定的誤差. 論文的主要工作是將人工智能技術(shù)中的推薦系統(tǒng)應(yīng)用到教學(xué)中,幫助教師了解學(xué)生對(duì)各個(gè)知識(shí)點(diǎn)的掌握程度,有針對(duì)性地為學(xué)生提供訓(xùn)練,從而彌補(bǔ)漏洞,取長補(bǔ)短.同時(shí),讓學(xué)生了解自己哪些知識(shí)點(diǎn)理解得不夠深入,有針對(duì)性地進(jìn)行復(fù)習(xí).3 結(jié)束語