宋清林,謝 飛
(1.安徽警官職業(yè)學(xué)院 信息管理系,安徽 合肥 230031;2.合肥師范學(xué)院 計(jì)算機(jī)學(xué)院,安徽 合肥230601)
隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,產(chǎn)生了海量的教育資源數(shù)據(jù),導(dǎo)致學(xué)習(xí)者負(fù)擔(dān)過(guò)重、學(xué)習(xí)迷航等問(wèn)題。如何在海量教育資源中挖掘出有用的知識(shí),用以實(shí)施精準(zhǔn)、個(gè)性化教學(xué),成為現(xiàn)代教育亟待解決的問(wèn)題。教學(xué)資源個(gè)性化推薦是根據(jù)學(xué)習(xí)者的歷史學(xué)習(xí)記錄,為學(xué)習(xí)者推薦合適、感興趣的教學(xué)資源,滿足個(gè)性化、精準(zhǔn)教學(xué)需求,有效地緩解上述問(wèn)題。教學(xué)資源個(gè)性化推薦已成為教育數(shù)據(jù)挖掘、人工智能等領(lǐng)域重要的研究話題,受到越來(lái)越多研究者的關(guān)注[1-2]。
傳統(tǒng)的推薦算法在進(jìn)行教學(xué)資源推薦時(shí),由于不能反映學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況,導(dǎo)致推薦的資源難度過(guò)低或者過(guò)高。研究嘗試?yán)媒逃龜?shù)據(jù)挖掘中的認(rèn)知診斷模型對(duì)學(xué)生的學(xué)習(xí)能力進(jìn)行建模,從而實(shí)現(xiàn)教學(xué)資源的精準(zhǔn)化推薦。
本文系統(tǒng)介紹目前主流的推薦算法,詳細(xì)分析推薦算法和認(rèn)知診斷模型在教育資源推薦中應(yīng)用的發(fā)展趨勢(shì),重點(diǎn)介紹DINA模型原理、參數(shù)估計(jì)方法和基于聯(lián)合矩陣分解的教學(xué)資源推薦算法。
目前推薦算法主要分為三類:基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦和混合推薦算法。基于內(nèi)容的推薦算法主要基于物品相關(guān)內(nèi)容、用戶相關(guān)特征以及用戶對(duì)物品的操作三方面信息進(jìn)行推薦,一般僅依賴于用戶自身的行為,不涉及其他用戶。用戶的興趣偏好和物品的特征主要采用向量的形式,可以直接用歷史記錄中物品的特征,例如:利用TFIDF將文本表示成向量形式,也可以結(jié)合用戶的統(tǒng)計(jì)特征,如:年齡、性別、愛好等,將用戶的特征和物品的特征嵌入到同一個(gè)向量空間中?;趦?nèi)容的推薦算法在將用戶特征和物品信息表示成向量之后,將推薦問(wèn)題看視為分類問(wèn)題,利用KNN、Na?ve Bayes、決策樹等分類算法進(jìn)行個(gè)性化推薦[3]。
協(xié)同過(guò)濾推薦算法一般分為三類:基于用戶的協(xié)同過(guò)濾、基于物品的協(xié)同過(guò)濾和基于模型的協(xié)同過(guò)濾?;谟脩舻膮f(xié)同過(guò)濾通過(guò)計(jì)算用戶和用戶之間的相似度,找出相似用戶喜歡的物品[4]?;谖锲返膮f(xié)同過(guò)濾根據(jù)物品和物品之間的相似度,將相似度高的類似物品推薦給用戶[5]。
基于模型的協(xié)同過(guò)濾基本思想是利用已有的部分稀疏數(shù)據(jù)來(lái)預(yù)測(cè)空白的物品和用戶之間的評(píng)分關(guān)系,找到最高評(píng)分的物品推薦給用戶。矩陣分解是協(xié)同過(guò)濾算法中最為流行和經(jīng)典的方法之一,主要思想是將高維、稀疏的用戶—項(xiàng)目矩陣分解為低維、稠密的隱式用戶矩陣和項(xiàng)目矩陣的乘積[6-8]。
基于內(nèi)容的推薦算法和協(xié)同過(guò)濾算法都有優(yōu)缺點(diǎn),混合推薦方法則是通過(guò)組合推薦來(lái)避免或彌補(bǔ)各自推薦技術(shù)的缺點(diǎn)[9]。與傳統(tǒng)機(jī)器學(xué)習(xí)方法比較,深度學(xué)習(xí)方法具有更強(qiáng)的表達(dá)能力和模型拓展能力。目前,深度學(xué)習(xí)推薦模型主要有:改變神經(jīng)網(wǎng)絡(luò)復(fù)雜程度、豐富特征交叉方式、組合模型、矩陣分解模型的深度學(xué)習(xí)演化、引入注意力機(jī)制、融合序列模型、結(jié)合強(qiáng)化學(xué)習(xí)等[10]。
認(rèn)知診斷模型是結(jié)合教育心理計(jì)量學(xué)以及認(rèn)知心理學(xué)而發(fā)展起來(lái)的,通過(guò)分析考試數(shù)據(jù),對(duì)學(xué)生的知識(shí)結(jié)構(gòu)、認(rèn)知過(guò)程等方面進(jìn)行評(píng)估。目前,應(yīng)用最為廣泛的認(rèn)知診斷理論包括:項(xiàng)目反應(yīng)理論(Item Response Theory,IRT)[11]和DINA(Deterministic Inputs,Noisy and Gate)模型[12]。
項(xiàng)目反應(yīng)理論認(rèn)為被測(cè)用戶的認(rèn)知能力水平和其在教學(xué)資源上的表現(xiàn)行為存在函數(shù)關(guān)系,即項(xiàng)目反應(yīng)函數(shù)。主要參數(shù)包括:測(cè)驗(yàn)項(xiàng)目區(qū)分度系數(shù)、測(cè)驗(yàn)項(xiàng)目難度系數(shù)、測(cè)驗(yàn)項(xiàng)目猜測(cè)系數(shù)、被測(cè)試者潛在能力值等;對(duì)用戶的認(rèn)知能力進(jìn)行診斷的主要過(guò)程是對(duì)參數(shù)進(jìn)行估價(jià),常用的參數(shù)估計(jì)方法有:最大似然估計(jì)、EM算法、抽樣等。DINA模型對(duì)參數(shù)進(jìn)行了簡(jiǎn)化,僅考慮失誤因子和猜測(cè)因子,通過(guò)分析學(xué)生得分矩陣和試題知識(shí)點(diǎn)關(guān)聯(lián)矩陣,計(jì)算用戶在不同知識(shí)點(diǎn)的掌握情況。
經(jīng)典的認(rèn)知診斷模型(如IRT和DINA)是對(duì)靜態(tài)學(xué)習(xí)數(shù)據(jù)進(jìn)行建模分析,學(xué)生作答數(shù)據(jù)不包含學(xué)生作答習(xí)題的時(shí)間特性,不能反映學(xué)生認(rèn)知能力變化情況。認(rèn)知跟蹤模型通過(guò)追蹤學(xué)生隨時(shí)間變化的認(rèn)知狀態(tài),預(yù)測(cè)學(xué)生在未來(lái)時(shí)間的作答表現(xiàn),胡學(xué)鋼等[13]對(duì)動(dòng)態(tài)認(rèn)知跟蹤模型進(jìn)行了系統(tǒng)總結(jié)和全面分析。
定義1已知學(xué)生i(i=1,…,m),試題j(j=1,…,n),知識(shí)點(diǎn)k(k=1,…,l),其中m表示學(xué)生個(gè)數(shù),n表示試題數(shù),l表示知識(shí)點(diǎn)數(shù)。
定義2矩陣X表示學(xué)生對(duì)試題的實(shí)際反應(yīng)情況,xij=1表示學(xué)生i作對(duì)了試題j,xij=0表示學(xué)生i作錯(cuò)了試題j。
定義3向量αi={αik}表示學(xué)生i對(duì)所有知識(shí)點(diǎn)的掌握情況,αik=1表示學(xué)生i掌握了知識(shí)點(diǎn)k,αik=0表示學(xué)生i沒有掌握知識(shí)點(diǎn)k。
定義4矩陣Q表示試題與知識(shí)點(diǎn)的關(guān)聯(lián)情況,qjk=1表示試題j包含知識(shí)點(diǎn)k,qjk=0表示試題j不含有知識(shí)點(diǎn)k。
定義5向量ηi={ηij}表示學(xué)生i對(duì)試題j的潛在反應(yīng)情況,ηij=1表示學(xué)生i掌握了試題j包含的所有知識(shí)點(diǎn),ηij=0表示學(xué)生i沒有掌握試題j包含的知識(shí)點(diǎn)(至少有一個(gè)沒有掌握)。因此,
(1)
定義6假設(shè)學(xué)生對(duì)試題的反應(yīng)情況具有隨機(jī)性,失誤因子sj表示學(xué)生在掌握試題j包含的所有知識(shí)點(diǎn)情況下,作答錯(cuò)誤的概率。猜測(cè)因子gj表示學(xué)生在沒有掌握試題j包含的知識(shí)點(diǎn)情況下(至少有一個(gè)沒有掌握),猜對(duì)答案的概率。Pj(αi)表示學(xué)生i在具備認(rèn)知水平αi情況下,作對(duì)試題j的概率:
Pj(αi)=P(Xij=1)=gj1-ηij(1-sj)ηij
(2)
定義7已知學(xué)生對(duì)試題的反應(yīng)矩陣X,試題對(duì)知識(shí)點(diǎn)的關(guān)聯(lián)矩陣M,DINA模型的任務(wù)是估計(jì)出試題的失誤因子和猜測(cè)因子β=(s1,g1,...,sn,gn),同時(shí)計(jì)算學(xué)生的認(rèn)知能力水平向量α。
已知學(xué)生作答試題的反應(yīng)矩陣X,Xi為學(xué)生i作答試題情況,試題j的遺忘因子和失誤因子參數(shù)θjη=(sj,gj),其中θj0=sj,θj1=gj,X的似然函數(shù)L(X)定義為:
(3)
L(X)對(duì)參數(shù)θjη的導(dǎo)數(shù)為:
(4)
(5)
(6)
EM算法求解DINA模型參數(shù)主要步驟描述如下:
步驟1隨機(jī)初始化參數(shù)θ=((s1,g1,...,sJ,gJ);
步驟3執(zhí)行M步,對(duì)于每個(gè)試題j,根據(jù)公式(5)和(6),更新sj和gj;
步驟4重復(fù)步驟2和步驟3,直至算法收斂。
學(xué)生i的知識(shí)能力水平向量,可以根據(jù)最大化后驗(yàn)概率分布計(jì)算得到:
(7)
利用認(rèn)知診斷模型獲取學(xué)生認(rèn)知能力水平后,可以在此基礎(chǔ)上進(jìn)行教學(xué)資源推薦。
已知學(xué)生-知識(shí)點(diǎn)掌握矩陣A,學(xué)生-試題得分矩陣X,試題-知識(shí)點(diǎn)關(guān)聯(lián)矩陣M,聯(lián)合矩陣分解的任務(wù)是推理出學(xué)生特征矩陣U,知識(shí)點(diǎn)特征矩陣B,試題特征矩陣T。假設(shè)學(xué)生特征、知識(shí)點(diǎn)特征、試題特征先驗(yàn)概率從均值為0的高斯分布,且相互之間獨(dú)立,即:
(8)
(9)
(10)
給定學(xué)生特征矩陣U,試題特征矩陣T,學(xué)生i作答試題j的得分xij服從均值為g(UiTTj),方差為σX2的正態(tài)分布,且相互獨(dú)立,則學(xué)生試題作答矩陣X的概率分布為:
(11)
同樣地,學(xué)生知識(shí)點(diǎn)掌握矩陣A的概率分布為:
(12)
試題知識(shí)點(diǎn)關(guān)聯(lián)矩陣M的概率分布為:
(13)
根據(jù)貝葉斯公式,可以推出U、B、T的后驗(yàn)分布的似然為:
(14)
其中,d是特征向量的維數(shù),C是常量??梢圆捎锰荻壬仙ㄇ蠼鈪?shù)U、T、B的值,使得后驗(yàn)分布似然的值最大。
在得到學(xué)生特征矩陣U和試題特征矩陣T后,學(xué)生i對(duì)試題j的預(yù)測(cè)得分可以通過(guò)如下公式計(jì)算:
(15)
該預(yù)測(cè)得分客觀上反映試題對(duì)學(xué)生的難易程度,在進(jìn)行教學(xué)資源推薦時(shí),事先設(shè)定要推薦試題的難易度范圍,根據(jù)試題對(duì)學(xué)生的預(yù)測(cè)得分,推薦適合的教學(xué)資源。
本文對(duì)當(dāng)前個(gè)性化推薦算法進(jìn)行了分類和介紹,詳細(xì)介紹了認(rèn)知診斷DINA模型的理論和參數(shù)估計(jì)方法,以及在此基礎(chǔ)上的基于聯(lián)合概率矩陣分解的教學(xué)資源推薦算法。
合肥師范學(xué)院學(xué)報(bào)2021年3期