覃忠臺(tái),張明軍
(廣州大學(xué)華軟軟件學(xué)院,廣東 廣州 510990)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展以及教育信息化的普及,在線學(xué)習(xí)平臺(tái)被廣泛應(yīng)用于教育培訓(xùn)行業(yè)中,用戶通過學(xué)習(xí)平臺(tái)推薦系統(tǒng)輕松獲取自己的學(xué)習(xí)資源[1]。隨著網(wǎng)上學(xué)習(xí)資源日趨豐富,加之不同的學(xué)習(xí)用戶其屬性特征如學(xué)習(xí)風(fēng)格、學(xué)習(xí)偏好和學(xué)習(xí)水平等會(huì)影響用戶在學(xué)習(xí)平臺(tái)中精準(zhǔn)獲取自己需要的學(xué)習(xí)資源[2]。傳統(tǒng)的推薦算法在新、舊用戶之間的相似度計(jì)算時(shí),當(dāng)存在新用戶對(duì)學(xué)習(xí)資源未進(jìn)行評(píng)價(jià)或者沒有評(píng)價(jià)過任何學(xué)習(xí)資源,會(huì)產(chǎn)生數(shù)據(jù)稀疏、延展性差等問題,導(dǎo)致學(xué)習(xí)資源推薦結(jié)果解釋性不強(qiáng);此外,傳統(tǒng)的推薦算法由于忽略了用戶的行為特性而導(dǎo)致存在用戶冷啟動(dòng)問題,使得推薦結(jié)果不能給用戶帶來驚喜[3-5]。針對(duì)上述問題,許多學(xué)者從不同的技術(shù)角度對(duì)學(xué)習(xí)資源進(jìn)行個(gè)性化推薦算法研究,其中協(xié)同過濾推薦算法應(yīng)用最為廣泛[6],在推薦算法中綜合考慮用戶的各種潛在行為信息為用戶推薦感興趣的資源[7-9]。文中提出了基于協(xié)同過濾算法的學(xué)習(xí)資源推薦模型。通過對(duì)學(xué)習(xí)用戶和學(xué)習(xí)資源進(jìn)行知識(shí)建模,利用協(xié)同過濾算法,將學(xué)習(xí)用戶模型和學(xué)習(xí)資源模型融入推薦過程。根據(jù)學(xué)習(xí)用戶的屬性特征進(jìn)行學(xué)習(xí)資源個(gè)性化推薦,有效緩解傳統(tǒng)推薦技術(shù)存在的數(shù)據(jù)稀疏和冷啟動(dòng)問題。
學(xué)習(xí)資源推薦平臺(tái)包括學(xué)習(xí)用戶、學(xué)習(xí)資源、關(guān)系數(shù)據(jù)集和CF推薦模塊四部分。構(gòu)建的學(xué)習(xí)資源推薦模型如圖1所示。
圖1 學(xué)習(xí)資源推薦模型
學(xué)習(xí)用戶模型存儲(chǔ)學(xué)習(xí)用戶的學(xué)習(xí)水平、學(xué)習(xí)風(fēng)格、學(xué)習(xí)偏好等屬性特征信息。學(xué)習(xí)資源模型儲(chǔ)存多媒體和文本等格式的學(xué)習(xí)資源。關(guān)系數(shù)據(jù)集儲(chǔ)存學(xué)習(xí)用戶與學(xué)習(xí)資源本體領(lǐng)域知識(shí)的活動(dòng)行為的關(guān)系數(shù)據(jù)信息。CF推薦模塊通過學(xué)習(xí)用戶與學(xué)習(xí)資源本體領(lǐng)域知識(shí)的關(guān)系數(shù)據(jù)集合信息計(jì)算目標(biāo)用戶評(píng)分的相似度和預(yù)測(cè)評(píng)分,生成目標(biāo)用戶Top-N學(xué)習(xí)資源推薦列表。最后結(jié)合目標(biāo)用戶的屬性特征信息將學(xué)習(xí)資源個(gè)性化推薦給目標(biāo)用戶。
對(duì)學(xué)習(xí)用戶進(jìn)行學(xué)習(xí)資源個(gè)性化推薦是構(gòu)建一個(gè)完整的用戶特征信息庫。包括學(xué)習(xí)風(fēng)格、學(xué)習(xí)水平、學(xué)習(xí)偏好等學(xué)習(xí)特征以及用戶對(duì)學(xué)習(xí)資源的評(píng)論、下載、點(diǎn)贊和收藏等行為特征[10]。
定義1:學(xué)習(xí)用戶信息u形式化定義為一個(gè)五元組
定義2:用戶學(xué)習(xí)風(fēng)格s形式化定義為一個(gè)二元組
定義3:用戶學(xué)習(xí)水平h形式化定義為一個(gè)三元組
定義4:用戶偏好信息p形式化定義為一個(gè)二元組
定義5:用戶行為日志v形式化定義為一個(gè)五元組
假設(shè)給定行為觸發(fā)因子λ的值,0為未觸發(fā),1為觸發(fā);R為行為評(píng)分,R=[1,5],β為行為激勵(lì)因子,β=[0,1],βd、βc、βf、βl分別表示四種行為的激勵(lì)因子,若存在學(xué)習(xí)資源對(duì)象i和用戶u,i∈I,u∈U,du,i、cu,i、fu,i、lu,i表示學(xué)習(xí)用戶u對(duì)學(xué)習(xí)資源i的四種行為評(píng)分,則λ*du,i*βd+λ*cu,i*βc+λ*fu,i*βf+λ*lu,i*βl反映用戶u對(duì)學(xué)習(xí)資源i的興趣。
根據(jù)上述定義,應(yīng)用本體描述語言O(shè)WL和Protégé工具進(jìn)行知識(shí)建模[11]。構(gòu)建的學(xué)習(xí)用戶模型如圖2所示。
圖2 學(xué)習(xí)用戶模型
將學(xué)習(xí)用戶的屬性特征信息存儲(chǔ)在模型中,模型中的數(shù)據(jù)隨用戶的屬性特征變化而更新,形成個(gè)性化學(xué)習(xí)用戶知識(shí)庫。
在線學(xué)習(xí)平臺(tái)上的資源具有學(xué)科多樣性。通過挖掘?qū)W科知識(shí)點(diǎn)的關(guān)聯(lián)關(guān)系,從知識(shí)點(diǎn)中提取相關(guān)的實(shí)體列表并進(jìn)行分類,包括音頻、視頻、動(dòng)畫、圖像、課件、教案、案例、作業(yè)、試題等,以學(xué)科為核心建立學(xué)習(xí)對(duì)象層和學(xué)習(xí)資源層。
定義6:學(xué)習(xí)對(duì)象層o形式化定義為一個(gè)二元組
定義7:學(xué)習(xí)資源層i形式化定義為一個(gè)六元組
根據(jù)上述定義,基于Protégé的本體知識(shí)建模構(gòu)建的學(xué)習(xí)資源模型如圖3所示。
圖3 學(xué)習(xí)資源模型
構(gòu)建的學(xué)習(xí)資源模型體現(xiàn)了學(xué)習(xí)用戶之間、學(xué)習(xí)用戶與學(xué)習(xí)資源之間以及學(xué)習(xí)資源知識(shí)點(diǎn)之間的關(guān)系,CF推薦模塊通過關(guān)系數(shù)據(jù)集中學(xué)習(xí)用戶和學(xué)習(xí)資源之間的語義關(guān)系對(duì)學(xué)習(xí)資源對(duì)象之間進(jìn)行相似性計(jì)算并對(duì)目標(biāo)用戶進(jìn)行預(yù)測(cè)評(píng)分。
CF推薦模塊通過用戶-學(xué)習(xí)資源評(píng)分矩陣構(gòu)成的關(guān)系數(shù)據(jù)集來計(jì)算學(xué)習(xí)用戶對(duì)已評(píng)分的學(xué)習(xí)資源對(duì)象的相似度,獲得學(xué)習(xí)資源對(duì)象的鄰居集,預(yù)測(cè)目標(biāo)用戶對(duì)學(xué)習(xí)資源對(duì)象的評(píng)分,最后根據(jù)學(xué)習(xí)用戶模型的屬性特征信息生成個(gè)性化學(xué)習(xí)資源推薦列表并推薦給目標(biāo)用戶。
(1)構(gòu)建評(píng)分矩陣。
學(xué)習(xí)用戶對(duì)所有學(xué)習(xí)資源評(píng)分的數(shù)據(jù)集D形式化定義為一個(gè)三元組,其中U為所有學(xué)習(xí)用戶集合,U={u1,u2,…,um},|U|=m為學(xué)習(xí)用戶數(shù);I為所有學(xué)習(xí)資源集合,I={i1,i2,…,in},|I|=n為學(xué)習(xí)資源數(shù);R為學(xué)習(xí)用戶對(duì)學(xué)習(xí)資源的評(píng)分矩陣,R=|m*n|,如表1所示。R(i,j){i,j|i∈(1,m),j∈(1,n)}為評(píng)分矩陣R中的評(píng)分元素之一。R(i,j)為數(shù)值類型,設(shè)置為1~5。假如U中第i個(gè)用戶對(duì)I中第j個(gè)學(xué)習(xí)資源的評(píng)分為5,則表示用戶對(duì)該資源非常感興趣;假如評(píng)分為1,則表示用戶對(duì)資源不感興趣。
表1 用戶-學(xué)習(xí)資源評(píng)分矩陣
(2)相似度計(jì)算。
相似度計(jì)算是CF推薦模塊的關(guān)鍵步驟。常用的相似度計(jì)算方法有皮爾遜(Pearson)相關(guān)相似度、余弦(Cosine)相似度和修正的余弦相似度[11-13]。對(duì)于學(xué)習(xí)資源平臺(tái),用戶的興趣具有固定性和持久性,資源的更新頻度具有一定的時(shí)間周期性。在建立的學(xué)習(xí)用戶和學(xué)習(xí)資源模型的基礎(chǔ)上,結(jié)合學(xué)習(xí)用戶對(duì)學(xué)習(xí)資源的評(píng)分,文中采用基于修正的余弦相似度的改進(jìn)計(jì)算方法(標(biāo)記為MS)來計(jì)算相似度。將學(xué)習(xí)用戶的下載、評(píng)論、收藏和點(diǎn)贊等行為作為相似因子加入計(jì)算式中以提高相似度計(jì)算的置信度。假設(shè)Ru,i為用戶u對(duì)學(xué)習(xí)資源對(duì)象i的評(píng)分,Ru,j為用戶u對(duì)學(xué)習(xí)資源對(duì)象j的評(píng)分。根據(jù)定義5,則有:
Ru,i=λ×du,i×βd+λ×cu,i×βc+λ×fu,i×βf+
λ×lu,i×βl
(1)
Ru,j=λ×du,j×βd+λ×cu,j×βc+λ×fu,j×βf+
λ×lu,j×βl
(2)
學(xué)習(xí)資源對(duì)象i和j的相似度計(jì)算公式sim(i,j)如下:
sim(i,j)=MS=
(3)
(3)預(yù)測(cè)評(píng)分。
根據(jù)式(3)得到的最近鄰居集,預(yù)測(cè)目標(biāo)用戶對(duì)學(xué)習(xí)資源對(duì)象的評(píng)分。假設(shè)Pu,i為目標(biāo)用戶u對(duì)學(xué)習(xí)資源對(duì)象i的預(yù)測(cè)評(píng)分;N為與學(xué)習(xí)資源對(duì)象i的鄰居集,由式(3)計(jì)算得來,且k∈N,k為鄰居集N中的學(xué)習(xí)資源對(duì)象之一,sim(i,k)為學(xué)習(xí)資源對(duì)象i與鄰居集N中的學(xué)習(xí)資源對(duì)象k的相似度;Ru,k為目標(biāo)用戶u對(duì)學(xué)習(xí)資源對(duì)象k的評(píng)分。則目標(biāo)用戶u對(duì)學(xué)習(xí)資源對(duì)象i的預(yù)測(cè)評(píng)分為:
(4)
定義8:學(xué)習(xí)用戶模型實(shí)例w形式化定義為一個(gè)六元組
定義9:學(xué)習(xí)資源模型實(shí)例k形式化定義為一個(gè)四元組
根據(jù)定義8和定義9,用W表示所有學(xué)習(xí)用戶模型實(shí)例的集合,W={w1,w2,…,wn}。用K表示所有學(xué)習(xí)用戶與學(xué)習(xí)資源本體領(lǐng)域知識(shí)的關(guān)系數(shù)據(jù)集合,K={k1,k2,…,kv},其中kj={wj,ij}。用R表示學(xué)習(xí)用戶對(duì)學(xué)習(xí)資源的評(píng)分集合,R={1,2,3,4,5}表示評(píng)分范圍。用戶進(jìn)入E-learning平臺(tái)參與在線學(xué)習(xí)活動(dòng)的過程:
(1)用戶從定義8的W中啟動(dòng)用戶實(shí)例w。如果用戶第一次進(jìn)入平臺(tái),從定義1中進(jìn)行個(gè)人信息注冊(cè)。獲取該用戶實(shí)例名稱n,建立一個(gè)新的用戶實(shí)例結(jié)構(gòu)u,其中Wu=nw。
(2)通過學(xué)習(xí)平臺(tái)推薦模型進(jìn)行語義搜索,分析學(xué)習(xí)用戶屬性特征并確定學(xué)習(xí)偏好、風(fēng)格及水平。當(dāng)?St=?,則St←0‖1‖2‖3;當(dāng)?Pd=?,則Pd←用戶填寫偏好信息;當(dāng)?Hg=?,則Hg←隨機(jī)進(jìn)行學(xué)習(xí)水平測(cè)試。
(3)在CF推薦模塊中輸入I,K,R,分析用戶行為日志,顯式獲取學(xué)習(xí)用戶Vd、Vc、Vf、Vl等行為信息。算法流程如圖4所示。
圖4 CF推薦算法流程
(4)CF推薦模塊計(jì)算出目標(biāo)用戶w對(duì)未評(píng)分學(xué)習(xí)資源對(duì)象i的預(yù)測(cè)值,然后根據(jù)預(yù)測(cè)值由高到低確定n個(gè)排在最前的項(xiàng)作為top-N推薦集結(jié)果。在分析學(xué)習(xí)用戶屬性特征的基礎(chǔ)上,當(dāng)?St=0‖1‖2‖3,則nw←推薦適合學(xué)習(xí)用戶學(xué)習(xí)風(fēng)格的資源;?Pd≠?,則nw←推薦適合學(xué)習(xí)用戶偏好的資源;當(dāng)?Hg=0‖1‖2,則Hg←推薦適合學(xué)習(xí)用戶水平層次的資源。
(5)由上述推薦結(jié)果,用戶從定義9的I中啟動(dòng)推薦的學(xué)習(xí)資源實(shí)例i。獲取該學(xué)習(xí)資源實(shí)例名稱n,建立一個(gè)新的學(xué)習(xí)資源實(shí)例結(jié)構(gòu)p,其中Ip=ni。
(6)當(dāng)?nw→ni,則系統(tǒng)記錄用戶日志行為:Vd←下載,Vc←評(píng)論,Vf←收藏,Vl←點(diǎn)贊。
將構(gòu)建的學(xué)習(xí)用戶和學(xué)習(xí)資源模型融入CF推薦模塊,提高學(xué)習(xí)資源檢索的效率與準(zhǔn)確度,當(dāng)新用戶進(jìn)入學(xué)習(xí)平臺(tái)推薦模型時(shí),會(huì)根據(jù)學(xué)習(xí)用戶屬性特征信息進(jìn)行語義搜索、分析并確定其學(xué)習(xí)偏好,與學(xué)習(xí)用戶模型進(jìn)行匹配,從而為目標(biāo)用戶實(shí)現(xiàn)學(xué)習(xí)資源個(gè)性化推薦,緩解了用戶的冷啟動(dòng)問題。
實(shí)驗(yàn)數(shù)據(jù)來源于本校精品資源網(wǎng)絡(luò)課程學(xué)習(xí)平臺(tái),目前學(xué)習(xí)平臺(tái)注冊(cè)用戶有6 000多人,用戶評(píng)分過的學(xué)習(xí)資源超過1 000個(gè)。從系統(tǒng)中抽取300個(gè)用戶數(shù)據(jù)進(jìn)行實(shí)驗(yàn)測(cè)試,數(shù)據(jù)集結(jié)構(gòu)如表2所示。
表2 數(shù)據(jù)集
分析數(shù)據(jù)集中的用戶行為日志,若有下載、收藏、評(píng)論、點(diǎn)贊等行為,將觸發(fā)因子設(shè)為1,反之設(shè)為0,為每種行為設(shè)定0~1之間的激勵(lì)因子。根據(jù)表1設(shè)計(jì)的評(píng)分矩陣,評(píng)分范圍為1~5,1為非常不感興趣,5為非常感興趣,0為未評(píng)分。將實(shí)驗(yàn)數(shù)據(jù)隨機(jī)分成5份,其中4份用作訓(xùn)練集數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練生成推薦結(jié)果,構(gòu)建推薦模型;另外1份用作測(cè)試集數(shù)據(jù)進(jìn)行驗(yàn)證推薦結(jié)果,實(shí)驗(yàn)時(shí)進(jìn)行多次交叉驗(yàn)證。
為驗(yàn)證文中提出算法的有效性,將MS相似度算法與余弦相似度(Cosine)和皮爾遜(Pearson)相關(guān)相似度進(jìn)行評(píng)價(jià)比較。評(píng)價(jià)標(biāo)準(zhǔn)采用推薦算法的MAE評(píng)價(jià)指標(biāo)[14],通過MAE的平均絕對(duì)誤差準(zhǔn)確預(yù)測(cè)學(xué)習(xí)用戶的評(píng)分來評(píng)估算法的有效性。計(jì)算公式為:
(5)
其中,MAE為平均絕對(duì)誤差,yi為學(xué)習(xí)用戶對(duì)學(xué)習(xí)資源的預(yù)測(cè)評(píng)分,xi為學(xué)習(xí)用戶對(duì)學(xué)習(xí)資源的實(shí)際評(píng)分,n為預(yù)測(cè)評(píng)分的次數(shù)。在測(cè)試過程中,設(shè)置近鄰個(gè)數(shù)按照步長(zhǎng)為10,從10增加到100,計(jì)算使用MS、Cosine和Pearson三種不同相似性度量方法時(shí)的MAE值,三種算法的MAE實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 Cosine、Pearson和MS的MAE值
由圖5可看出,在相近鄰居不斷增加的情況下,MS算法的MAE值均比Cosine和Pearson的MAE值低,且逐步遞減,這說明了數(shù)據(jù)的稀疏性在降低,MAE值越低,算法的準(zhǔn)確率越高。從走勢(shì)線圖可看出,MS在測(cè)試的后面是逐步勢(shì)于平穩(wěn),顯示出MS算法在鄰居集數(shù)量進(jìn)一步增加情況下的推薦性能具有一定的平穩(wěn)性。實(shí)驗(yàn)證明,在融入學(xué)習(xí)用戶的屬性特征信息的MS算法提高了用戶鄰居集的識(shí)別精度,有效緩解了數(shù)據(jù)的稀疏性和用戶冷啟動(dòng)問題,提高了學(xué)習(xí)資源的個(gè)性化推薦,具有較強(qiáng)的解釋性,推薦結(jié)果優(yōu)于傳統(tǒng)的推薦算法。
針對(duì)在線學(xué)習(xí)平臺(tái)在傳統(tǒng)的推薦算法中存在的數(shù)據(jù)稀疏性和冷啟動(dòng)問題,研究了基于協(xié)同過濾算法的學(xué)習(xí)資源推薦模型。在給出學(xué)習(xí)資源推薦模型的基礎(chǔ)上構(gòu)建了學(xué)習(xí)用戶模型和學(xué)習(xí)資源模型,使用基于修正的余弦相似度的改進(jìn)計(jì)算方法進(jìn)行相似度計(jì)算和預(yù)測(cè)評(píng)分,獲得潛在的推薦學(xué)習(xí)資源對(duì)象,將學(xué)習(xí)用戶的學(xué)習(xí)風(fēng)格、學(xué)習(xí)水平、學(xué)習(xí)偏好等屬性特征融入推薦過程進(jìn)行學(xué)習(xí)資源個(gè)性化推薦。通過與傳統(tǒng)的推薦模型對(duì)比,該推薦模型在推薦精度和個(gè)性化方面具有一定的優(yōu)勢(shì),有效緩解了傳統(tǒng)推薦算法的數(shù)據(jù)稀疏性和冷啟動(dòng)問題。