張 玨
(1.江蘇省昆山第二中等專業(yè)學(xué)校,江蘇 昆山 215300;2.昆山開放大學(xué),江蘇 昆山 215300)
當(dāng)前網(wǎng)絡(luò)教學(xué)平臺(tái)的教學(xué)水平參差不齊,如何對(duì)其教學(xué)效果進(jìn)行有效分析,通過(guò)利用數(shù)據(jù)挖掘技術(shù)在網(wǎng)絡(luò)教學(xué)平臺(tái)中發(fā)現(xiàn)學(xué)習(xí)者的一些行為規(guī)律,以此來(lái)改善網(wǎng)絡(luò)教學(xué)平臺(tái)中站點(diǎn)的結(jié)構(gòu)的布置和網(wǎng)頁(yè)超鏈接的設(shè)置,已經(jīng)是勢(shì)在必行,但是如何在現(xiàn)有的經(jīng)典Apriori算法基礎(chǔ)上進(jìn)行改進(jìn)分析,實(shí)現(xiàn)挖掘?qū)W習(xí)者頻繁訪問(wèn)路徑的算法是本文的主要研究任務(wù)。
開發(fā)的算法、為了分析數(shù)據(jù)而構(gòu)建的框架或模型,需要對(duì)實(shí)踐應(yīng)用產(chǎn)生影響才真正有價(jià)值。如何將獲取的數(shù)據(jù)進(jìn)行分類整合,目前大部分的網(wǎng)絡(luò)教學(xué)平臺(tái)沒(méi)有提供合適的工具來(lái)獲取、分析或者存儲(chǔ)數(shù)據(jù),還有我們的平臺(tái)管理者或者授課者也不知道如何獲得數(shù)據(jù)、數(shù)據(jù)如何分析或者數(shù)據(jù)意味著什么。根據(jù)學(xué)習(xí)者在網(wǎng)絡(luò)教學(xué)平臺(tái)中的學(xué)習(xí)狀態(tài)進(jìn)行分析,分析點(diǎn)擊瀏覽器上的按鍵回退到瀏覽過(guò)的學(xué)習(xí)頁(yè)面,還有可以按照平臺(tái)上的一些超鏈接進(jìn)入瀏覽新的頁(yè)面。學(xué)習(xí)者所有訪問(wèn)過(guò)的頁(yè)面都是挖掘的重要信息。因此,就需要找出學(xué)習(xí)者的“最大向前訪問(wèn)路徑”,即從學(xué)習(xí)者操作的第一個(gè)頁(yè)面開始,直到學(xué)習(xí)者退回到前一個(gè)頁(yè)面為止,這期間訪問(wèn)的頁(yè)面所獲得的頁(yè)面序列[1]。
Apriori算法的實(shí)質(zhì)使用候選項(xiàng)集找頻繁項(xiàng)集,是一種基于挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集最有影響力的算法。算法的大致意思是:算法使用的頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí)。Apriori算法是一種逐層搜索的迭代方法,k-項(xiàng)集用于探索(k+1)-項(xiàng)集[2]。
原本學(xué)習(xí)者頻繁訪問(wèn)的操作路徑中可以借鑒傳統(tǒng)數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則挖掘算法來(lái)發(fā)現(xiàn),但Web數(shù)據(jù)存在一些復(fù)雜性,所以對(duì)關(guān)聯(lián)規(guī)則算法進(jìn)行必要的改進(jìn),從而適合網(wǎng)絡(luò)教學(xué)平臺(tái)中學(xué)習(xí)者頻繁訪問(wèn)路徑的發(fā)現(xiàn)[3]。關(guān)聯(lián)規(guī)則挖掘算法與學(xué)習(xí)者頻繁訪問(wèn)路徑的發(fā)現(xiàn)算法的差別在于:關(guān)聯(lián)規(guī)則頻繁項(xiàng)集中的事務(wù)項(xiàng)目之間沒(méi)有順序的關(guān)系;但學(xué)習(xí)者頻繁訪問(wèn)路徑中,頁(yè)面必須形成連續(xù)的序列,即頁(yè)面之間有順序[4]。
學(xué)習(xí)者頻繁訪問(wèn)路徑的模式發(fā)現(xiàn)可以分解為兩個(gè)子問(wèn)題:(1)從網(wǎng)絡(luò)教學(xué)平臺(tái)中的數(shù)據(jù)庫(kù)中,用上述算法求得的最大向前訪問(wèn)路徑的數(shù)據(jù)庫(kù)D,求出所有滿足最小支持度的頻繁路徑。(2)由挖掘生成的所有頻繁路徑中,找出滿足最小置信度的頻繁路徑[5]。
對(duì)經(jīng)典Apriori算法稍加改進(jìn),就可以得到求滿足最小支持度的所有頻繁路徑的算法。
算法中的符號(hào)說(shuō)明:
k-itemset:k維頁(yè)面項(xiàng)目集。
L[k]:具有最小支持度的最大k-itemset,該集合中每個(gè)成員有兩項(xiàng)(itemset和support)
C[k]:候選的k-itemset(潛在的最大頁(yè)面項(xiàng)目集),該集合中每個(gè)成員有兩項(xiàng)(itemset和support)。
假設(shè)通過(guò)對(duì)Web訪問(wèn)日志的預(yù)處理,識(shí)別出某學(xué)習(xí)者的會(huì)話為{A,B,C,D,C,E,F(xiàn),G,B,H,A,I,J,I,K},則用以上的最大向前訪問(wèn)路徑標(biāo)識(shí)算法對(duì)該學(xué)習(xí)者的會(huì)話過(guò)程進(jìn)行分割后,就可以得到的事務(wù)集合為{ABCD,ABCEFG,ABH,AIJ,AIK},其分割過(guò)程如圖1所示[3]。
圖1 利用最大向前訪問(wèn)路徑標(biāo)識(shí)算法分割會(huì)話集
在上述分析的基礎(chǔ)上,結(jié)合Apriori算法的優(yōu)點(diǎn),利用改進(jìn)的Apriori算法挖掘?qū)W習(xí)者的頻繁訪問(wèn)路徑算法描述如下。
算法說(shuō)明:
(1)最大項(xiàng)目集的子集必是最大項(xiàng)目集。在can_gen函數(shù)中,運(yùn)用這一性質(zhì),除k項(xiàng)侯選集中那些(k-1)項(xiàng)不在L[k-1]在的項(xiàng)目集,從而減少了侯選中子集的數(shù)目。
(2)在can_gen函數(shù)中,a[2]=b[1] and a[3]=b[2], …,a[k-1]=b[k-2]是由L[k-1]生成C[k]的條件,發(fā)現(xiàn)這與傳統(tǒng)關(guān)聯(lián)規(guī)則中的連接條件不一樣,它表示了頁(yè)面之間的序列關(guān)系。
假設(shè)結(jié)過(guò)數(shù)據(jù)預(yù)處理后,數(shù)據(jù)庫(kù)D包含了10個(gè)學(xué)習(xí)者訪問(wèn)網(wǎng)絡(luò)教學(xué)平臺(tái)相關(guān)頁(yè)面的記錄,如表1所示(表中只給出和算法相關(guān)的字段,其余字段已被省略)。
表1 頁(yè)面被訪問(wèn)記錄表
由之前分析的算法,選取學(xué)習(xí)者頻繁訪問(wèn)路徑的最小支持度為5,算法運(yùn)行后,得到該網(wǎng)絡(luò)教學(xué)平臺(tái)被頻繁訪問(wèn)的路徑為:{A,C,D,E},該算法的執(zhí)行過(guò)程如下所示。
第一步運(yùn)行結(jié)果:C1:
?
L1:
Itemset A C D E J support 7 7 8 10 5
第二步運(yùn)行結(jié)果:
C2:
?
L2:
?
第三步運(yùn)行結(jié)果:
C3:
Itemset A,C,D A,C,E A,C,J support 5 6 2
L3:
Itemset A,C,D A,C,E support 5 6
第四步運(yùn)行結(jié)果:
C4:
?
L4:
?
算法運(yùn)行結(jié)束,挖掘出學(xué)習(xí)者頻繁訪問(wèn)路徑{A,C,D,E},利用該路徑來(lái)反饋網(wǎng)絡(luò)教學(xué)平臺(tái),以改進(jìn)站點(diǎn)網(wǎng)頁(yè)間的鏈接,提高網(wǎng)絡(luò)教學(xué)平臺(tái)的訪問(wèn)效率。在這里需要指出的是,假設(shè)發(fā)現(xiàn)的A,B,C和D頁(yè)面在鏈接結(jié)構(gòu)上屬于同層結(jié)構(gòu),那么需要在A網(wǎng)頁(yè)中,給出B,C和D網(wǎng)頁(yè)的鏈接地址。另外,可以為學(xué)習(xí)者提供推薦學(xué)習(xí)的頁(yè)面,在上述示例中,如果學(xué)習(xí)者進(jìn)入網(wǎng)絡(luò)教學(xué)平臺(tái)訪問(wèn)了A,E頁(yè)面,那么系統(tǒng)就可以將C,D頁(yè)面推薦給學(xué)習(xí)者界面[6]。
通過(guò)改進(jìn)后的Apriori算法得到的學(xué)習(xí)路徑的挖掘結(jié)果是以文字或圖形的方式提供給需要的用戶。挖掘結(jié)果對(duì)授課者和學(xué)習(xí)者的幫助有:對(duì)網(wǎng)絡(luò)教學(xué)平臺(tái)的大多數(shù)學(xué)習(xí)者的學(xué)習(xí)路徑的挖掘,可以提供給平臺(tái)課程設(shè)計(jì)者對(duì)其設(shè)計(jì)的網(wǎng)絡(luò)教學(xué)課件等進(jìn)行優(yōu)化調(diào)整處理[3],適量協(xié)調(diào)各個(gè)頁(yè)面之間的鏈接關(guān)系,讓其能更加符合學(xué)習(xí)者的習(xí)慣。并且系統(tǒng)動(dòng)態(tài)生成某些鏈接,可以滿足學(xué)習(xí)者的特定需求,以此來(lái)實(shí)現(xiàn)對(duì)學(xué)習(xí)者的定制化教學(xué)。另外,根據(jù)獲取的學(xué)習(xí)者某些課程的學(xué)習(xí)狀況和學(xué)習(xí)進(jìn)度的情況,來(lái)對(duì)學(xué)習(xí)者提出一些學(xué)習(xí)建議。挖掘的結(jié)果能讓授課者了解學(xué)習(xí)者學(xué)習(xí)課程的掌握情況,以此來(lái)提供給學(xué)習(xí)者一些比之前所學(xué)課程更加深入或者更加淺顯的教學(xué)內(nèi)容??梢允箤W(xué)習(xí)者全面地了解自己的學(xué)習(xí)狀況,幫助學(xué)習(xí)者自主高效地學(xué)習(xí)。