劉 騰,陳 健,張月琴,王 莉
1(太原理工大學(xué) 大數(shù)據(jù)學(xué)院,山西 晉中 030600) 2(太原理工大學(xué) 信息與計算機學(xué)院,山西 晉中 030600)
關(guān)聯(lián)規(guī)則發(fā)現(xiàn)的研究在電子商務(wù)領(lǐng)域得到了廣泛的應(yīng)用,電商通過關(guān)聯(lián)規(guī)則來發(fā)現(xiàn)商品間的關(guān)聯(lián)關(guān)系,并根據(jù)用戶已購的商品,把關(guān)聯(lián)關(guān)系密切的其他商品推薦給用戶.這種關(guān)聯(lián)關(guān)系不僅存在于電子商務(wù)的商品之間,同樣也存在于在線教育領(lǐng)域的學(xué)習內(nèi)容之間.
眾所周知,當前知識更新周期正逐步縮短.移動技術(shù)的發(fā)展,促使內(nèi)容短小、形式多樣的學(xué)習信息可被輕松發(fā)布到互聯(lián)網(wǎng).這促生了微學(xué)習這一新穎的學(xué)習方式[1].微學(xué)習以其微內(nèi)容、微時間、微過程、微媒介、微資源等特點[2],使學(xué)習者可以更便捷、合理地利用碎片化時間學(xué)習,為解決學(xué)習時間碎片化、學(xué)習場所自主化等問題提供了很好的方案.但是,微學(xué)習單元的分散化,海量和多源異構(gòu)等特性也導(dǎo)致了學(xué)習內(nèi)容篩選的困難.關(guān)聯(lián)規(guī)則發(fā)現(xiàn)的研究成果,則為發(fā)現(xiàn)微學(xué)習單元間的關(guān)聯(lián)關(guān)系提供了有效的手段.
然而,關(guān)聯(lián)規(guī)則發(fā)現(xiàn)中使用的核心指標支持度,該指標雖然能反映出兩者間的關(guān)聯(lián)緊密程度,卻不能發(fā)現(xiàn)購買商品的先后順序.與商品購入存在順序相似,學(xué)習是一個由易到難的循序漸進的過程,對學(xué)習資源的學(xué)習也需從易到難進行學(xué)習.根據(jù)學(xué)習者的能力來組織學(xué)習資源的順序,可以幫助學(xué)習者提高學(xué)習效率.多項研究表明建立在學(xué)習單元之上的不同學(xué)習路徑會導(dǎo)致不同的學(xué)習結(jié)果[3],如果以合適的方法對學(xué)習資源進行難易篩選和先后排序,并為學(xué)習者提供導(dǎo)航,可以有效提高學(xué)習者的效率.
學(xué)習路徑是指學(xué)習活動的路線與序列[4],是學(xué)習者在一定的學(xué)習策略指導(dǎo)下,根據(jù)學(xué)習目標和學(xué)習內(nèi)容對所需完成的學(xué)習單元的排序.學(xué)習路徑規(guī)劃是幫助學(xué)習者提高學(xué)習效率的重要手段.其中通過序列模式發(fā)現(xiàn)算法進行學(xué)習路徑推薦是重要的分支之一[5].序列模式發(fā)現(xiàn)是基于關(guān)聯(lián)規(guī)則核心思想實現(xiàn)的,通過關(guān)注學(xué)習序列的頻率進行學(xué)習路徑推薦,該方法沒有考慮學(xué)習單元間的相互作用,也不能針對指定目標進行路徑規(guī)劃.而微學(xué)習單元有多源分散等特性,如何深入關(guān)注學(xué)習單元間的相互作用,以目標為驅(qū)動進行學(xué)習路徑規(guī)劃成為一個新的問題.
兩個先后發(fā)生的事務(wù)之間通常有著某種關(guān)聯(lián)關(guān)系,多數(shù)情況下這種關(guān)系被稱為前因后果關(guān)系,或簡稱因果關(guān)系.盡管目前還不能確保是否所有前后發(fā)生的事務(wù)都存在因果關(guān)系,但也無法證明兩者之間不存在相互作用.因果關(guān)聯(lián)關(guān)系在相關(guān)性方面可以說明關(guān)聯(lián)關(guān)系前件和后件的因果關(guān)系,在時序方面可以說明關(guān)聯(lián)關(guān)系的前件先于后件的發(fā)生,正因如此,因果關(guān)聯(lián)關(guān)系機制可以發(fā)現(xiàn)變量之間隱含的更深層次的遞進關(guān)系,即可以反映出微學(xué)習單元之間內(nèi)容上的因果關(guān)系和學(xué)習時序的先后關(guān)系.因此,本研究將因果關(guān)系引入關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)中,深入研究微學(xué)習單元間內(nèi)在關(guān)系,并以此進行學(xué)習路徑規(guī)劃,以支持個性化學(xué)習.
關(guān)聯(lián)規(guī)則是變量之間相關(guān)性發(fā)現(xiàn)重要方法,它已被廣泛應(yīng)用于物理、醫(yī)學(xué)、教育等各個領(lǐng)域.自Agrawal等人提出基于頻繁項集的經(jīng)典關(guān)聯(lián)規(guī)則Apriori算法后[6],國內(nèi)外研究人員都對關(guān)聯(lián)規(guī)則挖掘問題進行了深入研究.不過目前關(guān)聯(lián)規(guī)則主要是通過支持度-置信度框架來計算事務(wù)間的集中頻度從而得出相應(yīng)的規(guī)則,但是研究者在實踐應(yīng)用中發(fā)現(xiàn),傳統(tǒng)的支持度-置信度框架會產(chǎn)生多冗余、低精度的規(guī)則[7],進而影響決策.所以諸多學(xué)者希望通過改進支持度-置信度框架來解決這一問題.如Wang等人為更好的篩選有效規(guī)則,通過比較支持度與置信度間大小的方法提出了置信因子,從而達到去除不相關(guān)事務(wù)和負相關(guān)事務(wù)的目的,改進了傳統(tǒng)的支持度-置信度框架[8];Malarvizhi等人將關(guān)聯(lián)規(guī)則與網(wǎng)絡(luò)日志挖掘的應(yīng)用場景結(jié)合,根據(jù)用戶在不同Web頁面停留的時間為其分配權(quán)重,提出T+樹的加權(quán)方法對支持度和置信度進行加權(quán),可以更好的發(fā)現(xiàn)頻繁項集、篩選規(guī)則,降低了計算時間,改進了支持度-置信度框架[9];Tahyudin等人介紹了采用粒子群算法優(yōu)化關(guān)聯(lián)規(guī)則的方法,并引入柯西分布與粒子群算法相結(jié)合來解決數(shù)字關(guān)聯(lián)分析中的局部最優(yōu)問題[10];韓楠等人為解決關(guān)聯(lián)規(guī)則過頻繁的問題引入了最大支持度,并通過改進FP-Growth算法挖掘負關(guān)聯(lián)規(guī)則[11].上述方法仍只關(guān)注于事務(wù)間的集中頻度,沒有對事務(wù)間的內(nèi)在作用和先后順序進行研究.
因果關(guān)系相對于相關(guān)關(guān)系是對問題更深層次的認識,是事務(wù)之間相互作用的描述[12].傳統(tǒng)的因果關(guān)系發(fā)現(xiàn)方法是以時序和統(tǒng)計為基礎(chǔ),成本較高,且受實驗技術(shù)和社會道德等因素干擾,所以基于觀測數(shù)據(jù)的因果關(guān)系發(fā)現(xiàn)更加客觀和易于實現(xiàn)[13].在微學(xué)習領(lǐng)域,Reich曾預(yù)測因果關(guān)系的發(fā)現(xiàn)將是在線教育研究的重要方向[14],而微學(xué)習單元間的因果關(guān)系,體現(xiàn)在內(nèi)容上的依賴關(guān)系與學(xué)習時序的先后關(guān)系.
然而先后關(guān)系不等于因果關(guān)系,為準確描述因果關(guān)系,Silverstein等人提出了一組因果規(guī)則的定義:CCU(CCU Causality)因果規(guī)則和CCC(CCC Causality)因果規(guī)則,根據(jù)變量之間的關(guān)系進行因果關(guān)系判斷[15].
1)CCU因果規(guī)則判據(jù)
給定3個變量A、B和C,如果變量A、B和B、C分別相關(guān),且A、C不相關(guān),同時A、C在B成立時存在相關(guān)性,可得因果規(guī)則為:A→B←C;即,有因果關(guān)系A(chǔ)→B和C→B.
2)CCC因果規(guī)則判據(jù)
CCC因果規(guī)則判據(jù)與CCU因果規(guī)則判據(jù)相似,但變量A、B和C之間兩兩互為相關(guān),如果給定變量B后,A、C獨立.則其因果規(guī)則為:
A→B→CA←B←CA←B→C
同理,A、B和C之間的因果關(guān)系為上述3種情況之一.
CCC和CCU因果規(guī)則自發(fā)表后受到廣泛關(guān)注,但在實際應(yīng)用中則遇到因果關(guān)系判據(jù)的適用性問題.傳統(tǒng)的關(guān)聯(lián)規(guī)則算法雖然能夠發(fā)現(xiàn)事務(wù)間的關(guān)聯(lián)關(guān)系,但不能發(fā)現(xiàn)諸如因果關(guān)聯(lián)這樣的關(guān)系.
點互信息是信息理論和統(tǒng)計學(xué)中使用的一種關(guān)聯(lián)度量.通過量化離散隨機變量A、B間聯(lián)合分布概率和其各自獨立分布概率的差異來衡量變量之間的關(guān)聯(lián)性.公式(1)為變量A、B間點互信息計算公式.
(1)
為了使點互信息有固定的上限并降低其低頻偏置,對點互信息進行歸一化,將其取值范圍限定在[-1,1]之間.公式(2)為歸一化點互信息計算公式.
(2)
通過點互信息可以表達變量之間關(guān)聯(lián)程度的特性,可以描述因果關(guān)聯(lián)規(guī)則CCU和CCC的結(jié)構(gòu)特征,使傳統(tǒng)關(guān)聯(lián)規(guī)則可以采用因果關(guān)系判據(jù)進行規(guī)則發(fā)現(xiàn)和篩選.
而微學(xué)習單元間存在相互影響、知識的承前繼后等關(guān)系,為此,本研究在關(guān)聯(lián)規(guī)則和因果關(guān)系的基礎(chǔ)上,提出基于點互信息的因果關(guān)聯(lián)關(guān)系判據(jù)算法.該算法可去除冗余規(guī)則,并從中發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系,進而完成有效的學(xué)習路徑規(guī)劃和管理.
微學(xué)習提出至今,國內(nèi)外學(xué)者對微學(xué)習進行了大量的研究.早期微學(xué)習的研究側(cè)重于概念和其支持技術(shù)[16];近年來,微學(xué)習的研究分別擴展到兩個領(lǐng)域,即應(yīng)用技術(shù)和微學(xué)習相關(guān)教育理論.在應(yīng)用技術(shù)方面,推薦系統(tǒng)的研究是重要的組成部分;但是,目前關(guān)于微學(xué)習推薦系統(tǒng)的研究仍處于起始階段.
一些研究者通過改進經(jīng)典推薦算法將其應(yīng)用在微學(xué)習領(lǐng)域,如Chen等人提出一種混合推薦算法來反映學(xué)習過程中的時效性[17],而Shu等人采用卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練推薦子模型[18].另一些研究者通過結(jié)合微學(xué)習理論體系來設(shè)計推薦算法,如建構(gòu)主義學(xué)習觀(Constructivism Learning Theory)認為微學(xué)習單元間是有關(guān)聯(lián)的,可以根據(jù)領(lǐng)域知識和學(xué)習過程的順序來描述這種關(guān)系[19].如Hassani等人將關(guān)聯(lián)規(guī)則的方法應(yīng)用到學(xué)習過程中數(shù)據(jù)的相關(guān)性發(fā)現(xiàn)[20].Shen等人使用基于貝葉斯網(wǎng)絡(luò)的方法來發(fā)現(xiàn)學(xué)習單元之間的相關(guān)性,并實現(xiàn)學(xué)習路徑的動態(tài)規(guī)劃[21].
基于上述分析,本研究提出一種建立在CCC和CCU因果關(guān)聯(lián)規(guī)則上,通過點互信息為判據(jù)的方法,以發(fā)現(xiàn)學(xué)習單元間的因果關(guān)系.以下是與提案相關(guān)的兩個定義.
為了更好的發(fā)現(xiàn)學(xué)習單元間的因果關(guān)聯(lián)關(guān)系,本研究根據(jù)學(xué)習者的學(xué)習目標定義了學(xué)習周期和路徑.
定義1.學(xué)習周期是指學(xué)習者為了達成一個學(xué)習目標而進行的一個從開始學(xué)習到完成學(xué)習的期間.該期間由開始學(xué)習第一個微學(xué)習單元開始,到通過完成相應(yīng)測驗,達成學(xué)習目標結(jié)束.
定義2.微學(xué)習路徑是指在一個學(xué)習周期內(nèi)學(xué)習者所學(xué)習的微學(xué)習單元會組成一個微學(xué)習單元的序列,這一序列被稱為達成該學(xué)習目標的微學(xué)習單元路徑.該路徑中包括為達成學(xué)習目標的標準學(xué)習路徑中的學(xué)習單元,也可能含為達成目標而學(xué)習的前置知識單元或標準學(xué)習路徑的學(xué)習單元以外的多源異構(gòu)單元.
由于在學(xué)習過程中對同一個學(xué)習單元進行重復(fù)學(xué)習時,關(guān)注的重點是不一樣的.因此,本研究把對同一微學(xué)習單元的重復(fù)學(xué)習視為各自獨立的事務(wù).
微學(xué)習單元是達成一個教育目的的最小學(xué)習內(nèi)容的集合,通過基礎(chǔ)數(shù)據(jù)描述集合本身及教育用途[22].這些微學(xué)習內(nèi)容之間存在承前繼后的關(guān)系;高級知識依賴基礎(chǔ)知識,導(dǎo)致學(xué)習時序上的先后關(guān)系;先學(xué)基礎(chǔ)知識再學(xué)進階知識.
微學(xué)習內(nèi)容存在不同的發(fā)布者,使微學(xué)習內(nèi)容存在多源性,從而增加學(xué)習者選擇學(xué)習資源的負擔.
在對微學(xué)習單元進行學(xué)習的過程中,每個學(xué)習者在完成一個微學(xué)習單元后將選擇下一個微學(xué)習單元.選擇過程通常是依據(jù)學(xué)習者的前置知識、學(xué)習目標、學(xué)習習慣等個性來進行的.一部分學(xué)習者,具備良好的前置知識,僅需依據(jù)發(fā)布者提供的標準路徑進行學(xué)習即可.而缺乏前置知識的學(xué)習者,則需學(xué)習含有前置知識的微學(xué)習單元,或在出現(xiàn)知識遺忘的情況下重復(fù)學(xué)習以前學(xué)過的學(xué)習單元,并在此基礎(chǔ)上,繼續(xù)完成后續(xù)學(xué)習,進而完成學(xué)習目標.這意味著微學(xué)習單元的因果關(guān)聯(lián)規(guī)則不僅取決于學(xué)習內(nèi)容本身的關(guān)聯(lián)性,而且與學(xué)習者的個性相關(guān).所以,本研究認為微學(xué)習單元之間存在的因果關(guān)聯(lián)關(guān)系是基于學(xué)習者個性化學(xué)習來表現(xiàn)的.
在對相關(guān)研究的分析基礎(chǔ)之上,本研究提出一種基于點互信息的因果關(guān)聯(lián)關(guān)系發(fā)現(xiàn)判據(jù).
本文通過對學(xué)習者的學(xué)習歷史數(shù)據(jù)進行關(guān)聯(lián)規(guī)則發(fā)現(xiàn)和因果關(guān)系分析,得到因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò).其步驟為,對學(xué)習者的歷史數(shù)據(jù)進行預(yù)處理后,使用經(jīng)典關(guān)聯(lián)規(guī)則的方法獲得頻繁項集,以此建立相關(guān)性約束形成約束網(wǎng)絡(luò)圖解模型,進而在CCU和CCC因果關(guān)系規(guī)則的基礎(chǔ)上,提出一種新的基于點互信息的因果關(guān)系判據(jù),對圖解模型進行因果關(guān)系發(fā)現(xiàn)和剪枝,最終得到了因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò).
圖1 以約束網(wǎng)絡(luò)因果關(guān)聯(lián)關(guān)系算法為基礎(chǔ)的路徑規(guī)劃框架Fig.1 Path planning framework based on constrained network causal association algorithm
圖1為利用因果判據(jù)的路徑規(guī)劃框架圖,基于點互信息的約束網(wǎng)絡(luò)因果關(guān)聯(lián)關(guān)系發(fā)現(xiàn)框架包括4個模塊:數(shù)據(jù)預(yù)處理模塊,相關(guān)性發(fā)現(xiàn)模塊、構(gòu)建因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)模塊和路徑規(guī)劃模塊.
4.1.1 數(shù)據(jù)預(yù)處理模塊
學(xué)習者的歷史數(shù)據(jù)通常記錄了學(xué)習者的操作內(nèi)容與時間等信息,為了保證學(xué)習者的隱私和便于算法的實施.本研究對不同的學(xué)習者和學(xué)習單元采用不同的編號來表示.表1是微課程1的微學(xué)習單元序號,其含意為微課程1由8個微學(xué)習單元組成.
表1 微學(xué)習單元示例Table 1 Examples of micro-learning units
根據(jù)學(xué)習周期的定義,從微課程1中最少可有8個學(xué)習周期.同時,根據(jù)學(xué)習成績對學(xué)習者進行分組,認為具有相似成績的學(xué)習者具備相似的前置知識和學(xué)習方法.是相似學(xué)習者.不同成績水平的學(xué)習者具有不同的個性化表現(xiàn),體現(xiàn)在學(xué)習單元的關(guān)聯(lián)上即有不同的因果關(guān)聯(lián)關(guān)系.表2為成績分組方案.參照高校的評價標準,本研究將成績水平分為表2所示的4個等級.
表2 得分水平分組表Table 2 Grouping of scores
4.1.2 相關(guān)性發(fā)現(xiàn)模塊
頻繁模式是滿足最小支持度閾值的事務(wù)集合,是發(fā)現(xiàn)事務(wù)相關(guān)性的主要環(huán)節(jié);同時,頻繁特征作為判斷因果候選集的一個標準,可以在發(fā)現(xiàn)頻繁項集的基礎(chǔ)上進行因果規(guī)則的發(fā)現(xiàn).相關(guān)學(xué)者已經(jīng)提出頻繁項集發(fā)現(xiàn)的多種可行方案,本研究采用經(jīng)典的Apriori頻繁模式發(fā)現(xiàn)算法,獲取微學(xué)習單元之間的頻繁項集,發(fā)現(xiàn)微學(xué)習單元間的相關(guān)性.
4.1.3 構(gòu)建因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)模塊
通過以微學(xué)習單元間相關(guān)性為約束構(gòu)成相關(guān)性圖解模型,并對其進行條件獨立性判斷,剪去在已知第3個節(jié)點情況下另兩節(jié)點獨立的邊,為后續(xù)因果判斷奠定基礎(chǔ).基于點互信息的CCU和CCC因果關(guān)系判據(jù)是基于約束的觀察數(shù)據(jù)局部因果發(fā)現(xiàn)算法,相較于其他因果算法更能反映數(shù)據(jù)之間的約束和聯(lián)系,且其是基于統(tǒng)計方法的,有更好的魯棒性.
依據(jù)因果關(guān)系判據(jù)結(jié)果對相關(guān)性圖解模型進行剪枝,保留具有因果關(guān)系的節(jié)點間的邊.然后,依據(jù)學(xué)習目標和因果關(guān)系確定節(jié)點間邊的方向,形成節(jié)點間具有因果關(guān)聯(lián)性的因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò).
4.1.4 路徑發(fā)現(xiàn)模塊
根據(jù)因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)進行微學(xué)習路徑規(guī)劃.為了在因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)中規(guī)劃較優(yōu)的微學(xué)習路徑,本文定義了因果關(guān)聯(lián)關(guān)系依存度和微學(xué)習路徑強度.
定義3.因果關(guān)聯(lián)關(guān)系依存度(Causality Degree of Dependence,CDD)是指因果關(guān)聯(lián)關(guān)系中前件和后件的依存程度,用其后驗概率表示.如存在因果關(guān)聯(lián)關(guān)系A(chǔ)→B,A為前件,B為后件;其依存度表示為發(fā)現(xiàn)該關(guān)系數(shù)據(jù)集中的后驗概率P(B|A),見公式(8).
定義 4.微學(xué)習路徑強度是指組成該路徑的所有因果關(guān)聯(lián)關(guān)系依存度的均值.如存在路徑A→B→C,組成該路徑的因果關(guān)聯(lián)關(guān)系有:A→B和B→C;則其路徑強度如公式(3)所示.
(3)
其中,P(B|A)為A→B的因果關(guān)系依存度,P(C|B)為B→C的因果關(guān)系依存度.因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)中所有可以實現(xiàn)學(xué)習目標的微學(xué)習路徑,路徑強度較大的優(yōu)先推薦.
本文基于圖1約束網(wǎng)絡(luò)因果關(guān)聯(lián)關(guān)系發(fā)現(xiàn)框架,提出了一種基于點互信息判據(jù)發(fā)現(xiàn)微學(xué)習單元間因果關(guān)聯(lián)關(guān)系的算法.該算法是通過將關(guān)聯(lián)規(guī)則和因果關(guān)系引入到約束網(wǎng)絡(luò)中,以點互信息作為發(fā)現(xiàn)因果關(guān)聯(lián)關(guān)系的判據(jù),并依據(jù)此進行微學(xué)習路徑規(guī)劃.具體實現(xiàn)偽代碼如算法1所示.
算法1.約束網(wǎng)絡(luò)因果關(guān)聯(lián)關(guān)系發(fā)現(xiàn)算法
輸入:不同個性學(xué)習者的學(xué)習記錄和學(xué)習單元基本信息數(shù)據(jù)集Dd={item1,item2,…,itemn}(d={A,B,C,D}),最小支持度閾值s,CCU和CCC因果度閾值Cs={ccu,ccc},學(xué)習目標Y=[y1].
輸出:學(xué)習單元間因果關(guān)聯(lián)關(guān)系集合R={}和最優(yōu)學(xué)習路徑序列P=[n].
1.初始化R,P
InitialR,Pas an empty set;
//遍歷不同個性學(xué)習者的學(xué)習歷史數(shù)據(jù)集
Fordin {A,B,C,D}
2.調(diào)用算法2相關(guān)性發(fā)現(xiàn)算法,獲得相關(guān)性學(xué)習單元集合
//獲取具有相關(guān)性的微學(xué)習單元的集合
F=CD_Algorithm(Dd,s);
3.調(diào)用算法3基于點互信息判據(jù)的因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)生成算法,生成因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)
//獲取因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)鄰接矩陣
MGraph=GCACN_Algorithm(F,Cs,Y);
//獲取因果關(guān)聯(lián)關(guān)系集合
R=GCACN_Algorithm(F,Cs,Y);
4.調(diào)用算法4路徑規(guī)劃算法,生成優(yōu)化學(xué)習路徑序列
P=MLPP_Algorithm(MGraph);
End
算法1為約束網(wǎng)絡(luò)因果關(guān)聯(lián)關(guān)系發(fā)現(xiàn)算法,其功能由3個主要子算法實現(xiàn),即調(diào)用相關(guān)性發(fā)現(xiàn)算法、因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)生成算法和路徑規(guī)劃算法.
4.2.1 相關(guān)性發(fā)現(xiàn)算法
相關(guān)性發(fā)現(xiàn)算法主要是發(fā)現(xiàn)微學(xué)習單元間的相關(guān)性,本文采用經(jīng)典的Apriori頻繁模式發(fā)現(xiàn)算法進行相關(guān)性的發(fā)現(xiàn).具體偽代碼如算法2所示.
算法2.相關(guān)性發(fā)現(xiàn)算法(CD_Algorithm)
輸入:學(xué)習者的學(xué)習記錄和學(xué)習單元基本信息數(shù)據(jù)集Dd={item1,item2,…,itemn}(d={A,B,C,D}),最小支持度閾值s.
輸出:具有相關(guān)性的微學(xué)習單元的集合F.
1.初始化相關(guān)性的微學(xué)習單元的集合F
InitialFas an empty set;
2.發(fā)現(xiàn)頻繁1項集
ForitemiinDd:
//保留滿足支持度閾值的頻繁1項集
L1=L1∪{itemi,P1i};
3.連接生成候選2項集
ForiinL1
ForjinL1
i≠j:C2=C2∪{i,j};
4.生成具有相關(guān)性的微學(xué)習單元的集合F
//發(fā)現(xiàn)滿足支持度閾值的相關(guān)單元
Fori,jinC2
If support(i→j)>s
SetF=F∪[i,j];
End
4.2.2 基于點互信息判據(jù)的因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)
根據(jù)微學(xué)習單元的相關(guān)性構(gòu)建相關(guān)性圖解模型,并對其進行條件獨立性判斷,對圖解網(wǎng)絡(luò)進行剪枝.公式(4)為條件獨立性檢驗公式.
P(A,C|B)=P(A|B)P(C|B)
(4)
如公式(4)所示,當微學(xué)習單元A、C在單元B發(fā)生的條件下同時發(fā)生的概率與其在單元B條件下分別發(fā)生的概率積相等,則認為學(xué)習單元A、C條件獨立,其間不具備相關(guān)關(guān)系.完成獨立性檢驗后,因果關(guān)系的發(fā)現(xiàn)是重要的一環(huán),為了使因果關(guān)系的判定更好的改進傳統(tǒng)的關(guān)聯(lián)規(guī)則的發(fā)現(xiàn),本文基于點互信息和CCU算法、CCC算法的結(jié)構(gòu)特征提出因果關(guān)系度量:CCU因果度和CCC因果度.公式(5)為CCU因果度計算方法.
CCU(A,C|B)=min(NPMI(A,B),NPMI(B,C),NPMI(A,C|B))-NPMI(A,C)
(5)
其中NPMI(A,B)表示變量A、B的歸一化點互信息,用來說明A、B之間的相關(guān)性;NPMI(A,C|B)表示在給定變量B后A、C變量的相關(guān)性.根據(jù)CCU算法的結(jié)構(gòu)特征,因為變量A、C之間相互獨立,所以NPMI(A,C)值應(yīng)較小,而變量A、B間關(guān)系,B、C間關(guān)系和在B條件下A、C間關(guān)系均為相關(guān),所以NPMI(A,B),NPMI(B,C),NPMI(A,C|B)值應(yīng)較大,且均大于NPMI(A,C)值,即CCU(A,C|B)>0.如此,便通過點互信息表達出CCU結(jié)構(gòu),在CCU(A,C|B)因果度滿足閾值時可以得到因果關(guān)系:A→B和C→B.
公式(6)表示B存在后A、C的歸一化點互信息計算公式,其中P(A,C|B)表示在B條件下A,C的條件概率.
(6)
同理,根據(jù)CCC算法的結(jié)構(gòu)特征,提出CCC因果度.
CCC(A,C|B)=min(NPMI(A,B),NPMI(A,C),NPMI(B,C))-NPMI(A,C|B)
(7)
通過CCU因果度和CCC因果度即可對相關(guān)性圖解模型進行因果判斷.具體偽代碼如算法3所示.
唯一不同的是,滿足CCC因果度仍不能確定變量之間的唯一因果關(guān)系.只能說明,存在的因果關(guān)系僅為以下情況的一種:
A→B→C或C→B→A或A←B→C
根據(jù)以目標為驅(qū)動的學(xué)習周期特性,為達到學(xué)習目標對其前置知識等多源異構(gòu)學(xué)習單元進行學(xué)習,本文將學(xué)習目標作為因果規(guī)則的后件.同時,本文提出根據(jù)觀測數(shù)據(jù)來確定因果關(guān)系的方向,用最大后驗概率判斷因果方向.后驗概率計算方法為公式(8).其中A表示因果關(guān)聯(lián)關(guān)系前件,Bi表示后件,則當P(Bi|A)最大時Bi的取值方向即為因果方向.
(8)
上述3種情況中如果學(xué)習目標為C且后驗概率P(B|A)值最大,則因果關(guān)系為:A→B→C.
根據(jù)微學(xué)習單元間因果關(guān)系判斷結(jié)果,對微學(xué)習單元相關(guān)性圖解模型進行剪枝,并結(jié)合學(xué)習目標對因果關(guān)聯(lián)關(guān)系方向確定;構(gòu)建因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò).具體偽代碼如算法3所示.
算法3.因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)生成算法(GCACN_Algorithm)
輸入:具有相關(guān)性微學(xué)習單元的集合F=[[item1,item2],[item3,item4],…],學(xué)習目標Y=[y1],CCU和CCC因果度閾值Cs={ccu,ccc}.
輸出:學(xué)習單元間因果關(guān)聯(lián)關(guān)系集合R={},因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)鄰接矩陣MGraph[].
1.初始化因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)鄰接矩陣
InitialMGraph[];
2.設(shè)置圖節(jié)點集合
Nodes=set(Nodes.apped(fornodeinF));
3.建立相關(guān)性鄰接矩陣
UGraph:Generate djacency matrix based onF;
4.進行獨立性檢驗
ForA,B,Cin Nodes
ForA,B,CinUGraph
//根據(jù)公式(4)去除條件獨立節(jié)點間的相關(guān)性
If nodeA,B,CSatisfy Formula(4)
UGraph[A][C]==0;
5.因果關(guān)系判斷
MGraph=UGraph;
Fornodein Nodes
FornodeinMGraph
//設(shè)置學(xué)習目標單元
B=Y;
IfMGraph[A][B]>0 andMGraph[C][B]>0
//變量間滿足CCU因果結(jié)構(gòu)
IfMGraph[A][C]=0
//通過公式(5)計算CCU因果度
Set CCU(A,B,C)based on formula(5);
//CCU因果度不滿足閾值,不存在因果關(guān)聯(lián)
If CCU(A,B,C) MGraph[A][B]=0; MGraph[C][B]=0; Else //CCU因果度滿足閾值,根據(jù)公式(8)計算因果關(guān)聯(lián)依存度(CDD) Determine the strength of rule(R.CCD) based on Definition 3 and Formula(8) //因果關(guān)聯(lián)關(guān)系R的依存度R.CDD設(shè)為矩陣中對應(yīng)關(guān)系的值 MGraph[A][B]=R.CDD; MGraph[C][B]=R.CDD; //根據(jù)新的因果關(guān)聯(lián)設(shè)定學(xué)習目標單元 Y=[A,C]; //變量間滿足CCC因果結(jié)構(gòu) Else //設(shè)定目標學(xué)習單元,計算CCC因果度 C=Y; Set CCC(A,B,C)based on Formula(7); MGraph[A][C]=0; //CCC因果度不滿足閾值,不存在因果關(guān)聯(lián) If CCC(A,B,C) MGraph[A][B]=0; MGraph[C][B]=0; //CCC因果度滿足閾值,根據(jù)學(xué)習目標和后驗概率確定因果關(guān)聯(lián) Elif P(B|A)>P(A|B)based on Formula(8) MGraph[A][B]=R.CDD; MGraph[B][C]=R.CDD; Y=[A]; Else MGraph[B][A]=R.CDD; MGraph[B][C]=R.CDD; Y=[B]; 6.從有向圖中生成因果關(guān)聯(lián)關(guān)系 Fori,jinMGraph IfMGraph[i][J]>0 R=R∪(i→j); End 4.2.3 路徑規(guī)劃算法 根據(jù)因果關(guān)聯(lián)規(guī)則約束網(wǎng)絡(luò)和定義4進行微學(xué)習路徑規(guī)劃.具體偽代碼為算法4. 算法 4.路徑規(guī)劃算法(MLPP_Algorithm) 輸入:因果關(guān)聯(lián)關(guān)系約束網(wǎng)絡(luò)鄰接矩陣MGraph. 輸出:微學(xué)習單元最優(yōu)學(xué)習路徑序列P=[n]. 1.生成學(xué)習路徑 P′:Generate pathP′ based onMGraph 2.計算路徑強度 //從矩陣中獲得路徑中各關(guān)系的依存度,并求和 ForR.CDDinMGraph R.CDDsum=R.CDDsum+R.CDD; //計算路徑中各關(guān)系依存度平均值,即路徑強度 P′.strength=avg(R.CDDsum); 3.推薦學(xué)習路徑 //獲得路徑強度最大的路徑 IfP.strength==max(P′.strength) Output recommended pathP; End 為了驗證本文提出的算法在微學(xué)習領(lǐng)域的應(yīng)用,發(fā)現(xiàn)微學(xué)習單元之間的因果關(guān)聯(lián)關(guān)系,為學(xué)習者提供個性化學(xué)習路徑,本研究使用學(xué)習管理系統(tǒng)(Learning Management System,LMS)Moodle(Modular Object-Oriented Dynamic Learning Environment)平臺為學(xué)習者提供服務(wù),并收集學(xué)習者的學(xué)習歷史記錄進行實驗和評估.Moodle是著名的模塊化的面向?qū)ο蟮膭討B(tài)學(xué)習環(huán)境平臺;不僅可以為學(xué)習者提供線上學(xué)習環(huán)境,具有在線學(xué)習、論壇討論、在線測驗、自我反饋等交互學(xué)習功能;而且還可以為課程管理者提供課程管理、日程管理、學(xué)習日志記錄和簡單數(shù)據(jù)可視化等功能.Moodle平臺很好的模擬了微學(xué)習環(huán)境,可以為學(xué)習者提供良好學(xué)習服務(wù)的同時進行數(shù)據(jù)收集和學(xué)習記錄追蹤.因此,本文選用Moodle作為實驗平臺. 本文從兩方面對提案算法在微學(xué)習領(lǐng)域的應(yīng)用進行了驗證. 1)驗證提案算法發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系的準確性. 2)驗證通過微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系為學(xué)習者規(guī)劃學(xué)習路徑的有效性. 為了驗證達成學(xué)習目標的過程中,學(xué)習單元間的因果關(guān)聯(lián)關(guān)系;本文采用學(xué)習目標的前置知識單元和學(xué)習目標單元作為學(xué)習資料供近150名學(xué)習者進行學(xué)習.得到40000余條學(xué)習記錄和每個學(xué)習者的學(xué)習周期測驗成績、最終測試分數(shù).根據(jù)表2中所示的成績水平將用戶分成4組,并且每組數(shù)據(jù)被細分為兩個數(shù)據(jù)集:參考組學(xué)習記錄數(shù)據(jù)集和驗證組學(xué)習記錄數(shù)據(jù)集.其中有60名學(xué)習者的數(shù)據(jù)集構(gòu)成驗證組學(xué)習記錄數(shù)據(jù)集,以對本提案算法進行驗證. 根據(jù)學(xué)習周期的定義,微課程1中獲得8個學(xué)習周期,每個周期均進行測驗,檢驗其對目標知識掌握程度,并對掌握水平進行分組.表3中是微課程數(shù)據(jù)集中單個學(xué)習者的學(xué)習記錄和學(xué)習成績的示例.User表示用戶序號,Course為課程序號,Period表示學(xué)習周期,而Unit表示微學(xué)習單元序號,單元序號的下標表示訪問順序.Test score為學(xué)習周期測驗成績,Test Group是根據(jù)表2劃分周期測驗成績的水平;Grade是學(xué)習者學(xué)習微課程的總成績,同理,Group是反映了總成績的水平等級. 在微課程中,根據(jù)專家對微學(xué)習單元之間的關(guān)系進行認證,已知微學(xué)習單元間有19組因果關(guān)系.通過應(yīng)用提案算法對實驗數(shù)據(jù)進行分析,使用正確率、召回率和F1值作為評價指標[23],評價得分在0-1之間,越趨近于1說明與專家標記的因果規(guī)則誤差越小.結(jié)果發(fā)現(xiàn),該算法發(fā)現(xiàn)的微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系有73.7%與專家標記一致.表4為基于觀測數(shù)據(jù)發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系情況. 表3 實驗數(shù)據(jù)部分示例Table 3 Examples of experimental data 表4 基于觀測數(shù)據(jù)發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系情況Table 4 Finding causal associationamong micro-learning units based on observed data 經(jīng)典算法Fast-DTW適用于兩條不同長度和不同頻率的時間序列的相似度計算[24],本文采用該方法計算學(xué)習路徑之間的相似性.通過計算不同的微學(xué)習路徑之間的Fast-DTW距離,進行路徑相似度判斷.如果該值較小,則意味著兩條路徑的相似度較高;相反則其相似度較低.本研究通過提案算法對參考組中各組數(shù)據(jù)進行分析,得出相應(yīng)A、B、C、D 4類推薦學(xué)習路徑.計算驗證組中實際路徑與參考組4條推薦路徑的Fast-DTW距離,并認為其與Fast-DTW距離最小的推薦組路徑最相似,為同一類學(xué)習路徑.由此,實驗發(fā)現(xiàn)在驗證組中采用與推薦學(xué)習路徑同一類型的學(xué)習路徑學(xué)習,其成績與參考組中推薦路徑所對應(yīng)的學(xué)習成績處于同一水平.驗證組中所有學(xué)習者使用學(xué)習路徑與成績分布的對應(yīng)情況表示見圖2. 圖2 驗證組學(xué)習者采用推薦路徑類型與成績水平對應(yīng)關(guān)系Fig.2 Relationship between the type of learningpath and learningachievement level adopted by learners 圖2中,橫軸表示驗證組學(xué)習者采用學(xué)習路徑的類型,縱坐標表示驗證組學(xué)習者采用不同類型路徑學(xué)習后,成績的占比情況.根據(jù)其學(xué)習路徑的不同分析其成績分布,由圖2所示,驗證組中使用路徑類型A的學(xué)習者有90%取得了等級為A的成績,使用路徑類型B的學(xué)習者有80%取得了對應(yīng)成績,驗證組中使用路徑類型為C或D進行學(xué)習所取得成績完全與其路徑類型相對應(yīng).由此說明采用適合的學(xué)習路徑有助于取得相應(yīng)的成績.本文對學(xué)習者采用學(xué)習路徑的類型與取得成績水平的匹配程度進行了分析,實驗發(fā)現(xiàn)84%的學(xué)習者取得與推薦學(xué)習路徑相符的學(xué)習成績. 同理,通過提案算法對參考組中不同周期及按其成績水平分組的數(shù)據(jù)進行分析,發(fā)現(xiàn)多數(shù)學(xué)習者的周期測驗成績水平與周期推薦路徑相符,周期推薦學(xué)習路徑與該周期的測試成績對應(yīng)情況為圖3所示.其中70%使用路徑A的學(xué)習者路徑類型與周期成績等級相符,61%使用路徑B的學(xué)習者成績與路徑類型相符,而使用路徑C的學(xué)習者路徑與周期成績完全相符,一半使用D路徑的學(xué)習者路徑類型與周期成績相符.同樣,本文對學(xué)習者采用學(xué)習路徑的類型與取得周期測驗成績水平的匹配程度進行分析,實驗發(fā)現(xiàn)有68%學(xué)習者取得與推薦學(xué)習路徑相符的學(xué)習成績. 圖3 學(xué)習者采用推薦周期路徑類型與周期成績水平間關(guān)系Fig.3 Relationship between the type of learningcycle path and learningcycle achievement level adopted by learners 由實驗結(jié)果可知,提案算法所得學(xué)習路徑在驗證組中同樣有效,大部分學(xué)習者的學(xué)習成績受學(xué)習路徑影響,采用適合的學(xué)習路徑學(xué)習會取得相應(yīng)的成績.上述實驗證明本提案算法可以發(fā)現(xiàn)大部分微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系,該算法發(fā)現(xiàn)的學(xué)習路徑規(guī)劃對多數(shù)學(xué)習者是有效的,可以針對不同的學(xué)習者進行路徑規(guī)劃和推薦,以更加符合其學(xué)習個性,提高學(xué)習效率. 本研究在約束網(wǎng)絡(luò)、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)和因果關(guān)聯(lián)規(guī)則的基礎(chǔ)上,提出了一種基于點互信息的因果關(guān)聯(lián)關(guān)系判據(jù),用于發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系,并以此規(guī)劃個性化微學(xué)習路徑.實驗結(jié)果表明,該算法可以有效的發(fā)現(xiàn)微學(xué)習單元間的因果關(guān)聯(lián)關(guān)系,并且基于此進行規(guī)劃的微學(xué)習路徑在參考組和驗證組中有較高的相似性,可以通過該方法進行個性化微學(xué)習路徑推薦.在今后的工作,擬通過實時學(xué)習環(huán)境,來驗證本提案的學(xué)習優(yōu)化方法,并更加具體的研究學(xué)習者與優(yōu)化學(xué)習路徑的關(guān)系,以達到更高效的個性化學(xué)習路徑推薦.5 實驗設(shè)計和結(jié)果分析
5.1 實驗設(shè)計
5.2 實驗結(jié)果和分析
6 結(jié)束語