摘 要: 為了讓學(xué)習(xí)者在學(xué)習(xí)過程中能夠快速獲得所需的知識(shí)和核心內(nèi)容,,首先給出一個(gè)采用xml格式的多層次知識(shí)庫(kù),,并基于學(xué)習(xí)者的身份特征、學(xué)習(xí)行為和測(cè)試結(jié)果,,利用改進(jìn)的協(xié)同過濾算法和基于約束的推薦算法,,發(fā)現(xiàn)學(xué)習(xí)者的潛在學(xué)習(xí)需求,完成知識(shí)推送和個(gè)性化學(xué)習(xí)定制,。最后,,對(duì)學(xué)習(xí)推薦系統(tǒng)進(jìn)行了實(shí)現(xiàn)。所研制的系統(tǒng)滿足了學(xué)習(xí)者獲得所需知識(shí)和學(xué)習(xí)指導(dǎo)的需求,,提高了學(xué)習(xí)者的學(xué)習(xí)效率,。
關(guān)鍵詞: 知識(shí)推薦;學(xué)習(xí)需求,;個(gè)性化,;學(xué)習(xí)引導(dǎo)
0 引言
《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要》提出要“以學(xué)生為主體,以教師為主導(dǎo),,充分發(fā)揮學(xué)生的主動(dòng)性”,、“為每個(gè)學(xué)生提供適合的教育”、“把提高質(zhì)量作為教育改革發(fā)展的核心任務(wù)”,。因此,,為學(xué)生營(yíng)造一個(gè)可以主動(dòng)思考、個(gè)性化,、自主學(xué)習(xí)的環(huán)境尤為重要,。
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,具有個(gè)性化,、自主性,、主動(dòng)性和非時(shí)空性特征的網(wǎng)絡(luò)自主學(xué)習(xí)已經(jīng)成為人們關(guān)注的熱點(diǎn)。一些學(xué)校和機(jī)構(gòu)都紛紛建立教育資源共享服務(wù)平臺(tái),,提供大規(guī)模的開放課程,,讓學(xué)生可以利用網(wǎng)絡(luò)化教學(xué)平臺(tái)進(jìn)行交互學(xué)習(xí),同時(shí)也開發(fā)一些網(wǎng)站(如http://www.lifegrowing.com/ceha/)對(duì)自主學(xué)習(xí)模式進(jìn)行探索,。
當(dāng)前網(wǎng)絡(luò)自主學(xué)習(xí)存在如下問題[1]:(1)為學(xué)習(xí)者所提供的網(wǎng)絡(luò)環(huán)境(平臺(tái))對(duì)于海量的學(xué)習(xí)資源無法進(jìn)行有效整合,,學(xué)習(xí)者很難快速找到和定位自己所需要的學(xué)習(xí)資源;(2)不能根據(jù)學(xué)習(xí)者的行為特征,,挖掘出學(xué)習(xí)者隱含的學(xué)習(xí)需求,;(3) 缺乏個(gè)性化的知識(shí)推送及學(xué)習(xí)路徑的動(dòng)態(tài)生成機(jī)制;(4)學(xué)習(xí)資源的格式各種各樣,,缺乏語(yǔ)義,,機(jī)器難于理解和自動(dòng)處理。
針對(duì)上述問題,本文對(duì)學(xué)習(xí)需求的挖掘算法,、知識(shí)推送算法和知識(shí)庫(kù)的構(gòu)建方法進(jìn)行了研究和探討,。
1 學(xué)習(xí)推薦系統(tǒng)的設(shè)計(jì)
學(xué)習(xí)推薦系統(tǒng)實(shí)質(zhì)是一個(gè)借助機(jī)器學(xué)習(xí)算法的系統(tǒng),該系統(tǒng)根據(jù)預(yù)先獲取的學(xué)習(xí)者基本信息,、偏好,、學(xué)習(xí)行為和測(cè)試結(jié)果,發(fā)現(xiàn)學(xué)習(xí)者的顯性和隱性學(xué)習(xí)需求,,主動(dòng)從知識(shí)庫(kù)中搜索出符合學(xué)習(xí)者需求的知識(shí),,動(dòng)態(tài)生成學(xué)習(xí)路徑,促使學(xué)習(xí)者更好的完成學(xué)習(xí),。
1.1 系統(tǒng)總體框架
學(xué)習(xí)推薦系統(tǒng)的總體框架如圖1所示,。
系統(tǒng)的主要流程如下:
(1)對(duì)于首次使用系統(tǒng)的學(xué)習(xí)者,,系統(tǒng)首先進(jìn)行問卷調(diào)查,并記錄其個(gè)人信息,,然后根據(jù)學(xué)習(xí)者的個(gè)人檔案和調(diào)查結(jié)果,,從知識(shí)庫(kù)中提取并推薦專業(yè)領(lǐng)域的相關(guān)知識(shí),如知識(shí)體系,、前沿資訊和主要參考文獻(xiàn)等,,完成初步的知識(shí)推送。
?。?)學(xué)習(xí)者可以對(duì)推送的知識(shí)進(jìn)行評(píng)價(jià),,在使用個(gè)性化知識(shí)推送系統(tǒng)過程中,系統(tǒng)會(huì)不斷收集學(xué)習(xí)者的所有學(xué)習(xí)行為,,這些數(shù)據(jù)都被記錄在個(gè)人檔案及學(xué)習(xí)行為庫(kù)中,。
(3)系統(tǒng)根據(jù)個(gè)人信息和學(xué)習(xí)行為,、測(cè)試結(jié)果等,,發(fā)現(xiàn)潛在的學(xué)習(xí)興趣點(diǎn),即學(xué)習(xí)需求挖掘,。
?。?)系統(tǒng)根據(jù)學(xué)習(xí)者的反饋結(jié)果、學(xué)習(xí)需求,、學(xué)習(xí)績(jī)效以及各知識(shí)點(diǎn)之間的關(guān)系,,提供知識(shí)推送。
?。?)學(xué)習(xí)者根據(jù)系統(tǒng)的推送內(nèi)容進(jìn)入下一環(huán)節(jié)或主題的學(xué)習(xí),。
1.2 構(gòu)建個(gè)人檔案及學(xué)習(xí)行為庫(kù)
“個(gè)人檔案及學(xué)習(xí)行為庫(kù)” 為學(xué)習(xí)需求的挖掘提供依據(jù),主要保存了學(xué)習(xí)者個(gè)人信息(如性別、年齡,、專業(yè),、興趣愛好等)、學(xué)業(yè)信息(年級(jí),、學(xué)習(xí)目標(biāo),、學(xué)習(xí)計(jì)劃、學(xué)習(xí)進(jìn)度,、學(xué)習(xí)績(jī)效等),、學(xué)習(xí)活動(dòng)記錄(學(xué)習(xí)者所學(xué)學(xué)科知識(shí)的學(xué)習(xí)情況、學(xué)習(xí)者進(jìn)行信息檢索和主題討論的記錄),、評(píng)價(jià)信息(學(xué)習(xí)者對(duì)所推薦的學(xué)習(xí)路徑,、學(xué)習(xí)材料、信息搜索結(jié)果等的評(píng)價(jià),、學(xué)習(xí)者的自我評(píng)價(jià))等,。所有這些信息都保存在數(shù)據(jù)庫(kù)中。以下是“個(gè)人檔案及學(xué)習(xí)行為庫(kù)”中的部分關(guān)系模式:
學(xué)習(xí)者個(gè)人信息(學(xué)習(xí)者編號(hào),,姓名,,性別,專業(yè),,電子郵箱,,出生日期,照片)
學(xué)習(xí)知識(shí)點(diǎn)(知識(shí)點(diǎn)編號(hào), 學(xué)習(xí)者編號(hào),,開始學(xué)習(xí)的時(shí)間,,退出學(xué)習(xí)的時(shí)間,操作)
信息檢索(編號(hào),,關(guān)鍵詞,,搜索結(jié)果,搜索時(shí)間)
測(cè)試(測(cè)試編號(hào),,學(xué)習(xí)者編號(hào),,試卷編號(hào),用時(shí),,分?jǐn)?shù),,測(cè)試時(shí)間)
提問問題(問題編號(hào),學(xué)習(xí)者編號(hào),,問題內(nèi)容,,提問時(shí)間)
主題討論(討論編號(hào),討論主題,,讀帖數(shù),、發(fā)帖數(shù),進(jìn)入頁(yè)面時(shí)間,離開頁(yè)面時(shí)間)
1.3 構(gòu)建知識(shí)庫(kù)
知識(shí)庫(kù)中存儲(chǔ)了專業(yè),、課程,、知識(shí)點(diǎn)和相關(guān)的教學(xué)、科研資源,。知識(shí)處理模塊負(fù)責(zé)將外部數(shù)據(jù)(本地其他教學(xué)網(wǎng)站的數(shù)據(jù),、互聯(lián)網(wǎng)上的教育資源)通過分類、清理,、轉(zhuǎn)換生成基于xml格式的多層知識(shí)庫(kù),。知識(shí)庫(kù)的層次結(jié)構(gòu)如圖2所示。
在知識(shí)庫(kù)的層次結(jié)構(gòu)中,,專業(yè)為最高層,,用一個(gè)majorList.xml文檔來描述專業(yè)信息以及每個(gè)專業(yè)所包含的課程(用課程ID來標(biāo)識(shí)課程),課程信息通過courseList.xml文檔來描述,,專業(yè)和課程之間為多對(duì)多關(guān)系,。每個(gè)課程包含一個(gè)多層次描述的章節(jié)知識(shí)樹,用獨(dú)立的section_courseID.xml來描述,,xml文檔內(nèi)的章節(jié)知識(shí)點(diǎn)均使用SectionNode來表示,,SectionNode允許層次嵌套。每個(gè)章節(jié)知識(shí)點(diǎn)包含一個(gè)或多個(gè)元知識(shí)點(diǎn),,用獨(dú)立的knowledgesectionID.xml來描述,元知識(shí)點(diǎn)是最小單位的知識(shí)點(diǎn),,不能再分(如一個(gè)概念,、一個(gè)定理等)。每個(gè)元知識(shí)點(diǎn)包含相關(guān)的教學(xué)資源,、科研資源,、背景資源、拓展資源和其他附件資源,。這些資源的形式是多樣的,,可以是word文件、PDF文件,、文本和視頻等,。在描述章節(jié)知識(shí)點(diǎn)和元知識(shí)點(diǎn)屬性時(shí),不僅包括編號(hào),、名稱,、關(guān)鍵詞、難易程度,、重要程度等,,還要表明知識(shí)點(diǎn)之間的關(guān)系。知識(shí)點(diǎn)之間的關(guān)系主要有[2]:
⑴ 先后關(guān)系:在學(xué)習(xí)過程中,,知識(shí)點(diǎn)和知識(shí)點(diǎn)之間存在先后順序,,即一個(gè)知識(shí)點(diǎn)當(dāng)前是否可以學(xué)習(xí)取決于另外一些知識(shí)點(diǎn)是否學(xué)習(xí)過。
?、?選擇關(guān)系:在學(xué)習(xí)過程中,,具有選擇關(guān)系的知識(shí)點(diǎn)具有共同的前驅(qū)知識(shí)點(diǎn),它們可以互相替換,,可以使用不同的教學(xué)方法達(dá)到相同的教學(xué)目的,,這樣可以根據(jù)學(xué)習(xí)者的喜好、特點(diǎn)等選擇最適合其學(xué)習(xí)的知識(shí)點(diǎn),。
?、?擴(kuò)展關(guān)系:有的知識(shí)點(diǎn)是另外一些知識(shí)點(diǎn)進(jìn)一步深化的內(nèi)容,可根據(jù)學(xué)習(xí)者的學(xué)習(xí)目標(biāo),、類型等選擇是否學(xué)習(xí),。
1.4 學(xué)習(xí)需求的挖掘算法
學(xué)習(xí)需求的獲取有兩種,一種是根據(jù)學(xué)習(xí)者的行為進(jìn)行自動(dòng)的收集和挖掘,,發(fā)現(xiàn)其個(gè)性特點(diǎn)和興趣點(diǎn),;另一種是根據(jù)學(xué)習(xí)者的身份特征(如:所學(xué)專業(yè)、當(dāng)前學(xué)習(xí)階段等)進(jìn)行學(xué)習(xí)需求的挖掘,。
1.4.1 根據(jù)學(xué)習(xí)者的身份特征進(jìn)行學(xué)習(xí)需求的挖掘
如果學(xué)習(xí)者是首次使用本系統(tǒng),,沒有學(xué)習(xí)行為數(shù)據(jù),此時(shí)采用基于用戶注冊(cè)信息來發(fā)現(xiàn)潛在的興趣點(diǎn),。算法的基本方法是:將學(xué)習(xí)者的性別,、專業(yè)、出生日期,、所在年級(jí)和愛好等屬性作為一種特征,,計(jì)算每種特征的學(xué)習(xí)者感興趣的知識(shí)點(diǎn)。也就是說,,對(duì)于每種特征f,,計(jì)算具有這種特征的學(xué)習(xí)者對(duì)每個(gè)知識(shí)點(diǎn)的感興趣程度p( f, i )[3] :
其中N( i )是對(duì)知識(shí)點(diǎn)i感興趣的用戶集合,U( f )是具有特征f的用戶集合,。
用戶是否對(duì)知識(shí)點(diǎn)i感興趣可以通過用戶訪問該知識(shí)點(diǎn)的學(xué)習(xí)資源所用時(shí)間以及訪問頻率來判斷,。由于學(xué)習(xí)資源內(nèi)容的多少對(duì)實(shí)際訪問時(shí)間的影響,所以采用單位時(shí)間更合理,。具體計(jì)算公式如下:
其中Fr(i,j)為用戶j訪問知識(shí)點(diǎn)i 的單位時(shí)間,,Dur(i,j) 為用戶j訪問知識(shí)點(diǎn)i 的頻率。
設(shè)定一個(gè)閾值k,,當(dāng)q(i,j)大于閾值k時(shí)就可以認(rèn)為用戶j對(duì)知識(shí)點(diǎn)i感興趣,。
對(duì)每種特征設(shè)置一定的權(quán)重(如專業(yè)特征,、愛好特征的權(quán)重設(shè)置大些,出生日期特征的權(quán)重設(shè)置小些),,將計(jì)算出來的p( f, i )按照一定權(quán)重相加,,就可以得到學(xué)習(xí)者的學(xué)習(xí)需求了。
1.4.2 根據(jù)學(xué)習(xí)者的行為進(jìn)行學(xué)習(xí)需求的挖掘
如果系統(tǒng)已經(jīng)保存了學(xué)習(xí)者的學(xué)習(xí)行為數(shù)據(jù),,就可以利用這些數(shù)據(jù)來修正用戶潛在的興趣點(diǎn),,使其貼近學(xué)習(xí)者的真實(shí)需求。具體算法描述如下:
?、?計(jì)算知識(shí)點(diǎn)之間的相似度[3]:
?、?計(jì)算用戶u對(duì)一個(gè)知識(shí)點(diǎn)j的興趣:
其中,N(u)是學(xué)習(xí)者感興趣的知識(shí)點(diǎn)集合,,S(j,k)是與知識(shí)點(diǎn)j最相似的k個(gè)知識(shí)點(diǎn)的集合,, Wji是知識(shí)點(diǎn)j和i的相似度,rui是用戶u對(duì)知識(shí)點(diǎn)i的興趣(如果用戶u學(xué)過知識(shí)點(diǎn)i,,即可令rui=1),。
通過以上算法就可以得到和學(xué)習(xí)者歷史上感興趣的知識(shí)點(diǎn)關(guān)聯(lián)度高的知識(shí)點(diǎn)列表。所挖掘出來的知識(shí)點(diǎn)用于知識(shí)推薦,。
1.5 知識(shí)推薦算法
系統(tǒng)根據(jù)學(xué)習(xí)者感興趣的知識(shí)點(diǎn),、知識(shí)點(diǎn)之間的關(guān)系和難易程度生成學(xué)習(xí)路徑,學(xué)習(xí)者選擇路徑中相應(yīng)知識(shí)點(diǎn)后,,系統(tǒng)將組織好的個(gè)性化學(xué)習(xí)資源呈現(xiàn)給學(xué)習(xí)者,。學(xué)習(xí)者學(xué)習(xí)到一定階段后,可進(jìn)行學(xué)習(xí)效果的測(cè)試和自評(píng),,以檢驗(yàn)學(xué)習(xí)效果,。系統(tǒng)根據(jù)檢驗(yàn)的學(xué)習(xí)效果,調(diào)整后續(xù)學(xué)習(xí)的內(nèi)容[4],。
生成學(xué)習(xí)路徑的方法如下:
⑴ 根據(jù)學(xué)習(xí)需求,,查詢知識(shí)庫(kù),,找出與學(xué)習(xí)需求存在上下層關(guān)系、先后關(guān)系,、選擇關(guān)系和擴(kuò)展關(guān)系的元知識(shí)點(diǎn),,形成元知識(shí)點(diǎn)集合;
?、?如果查詢到的元知識(shí)點(diǎn)是相對(duì)獨(dú)立的,,與其他知識(shí)點(diǎn)沒有關(guān)系,可以直接將與該知識(shí)點(diǎn)相關(guān)的學(xué)習(xí)資源推送給學(xué)習(xí)者,;
?、?對(duì)于非獨(dú)立的知識(shí)點(diǎn),,首先按照知識(shí)點(diǎn)的層次結(jié)構(gòu),生成初步的學(xué)習(xí)路徑,,然后再結(jié)合學(xué)習(xí)者的主動(dòng)反饋或?qū)W習(xí)過程中的測(cè)試成績(jī),,按照一定的規(guī)則調(diào)整學(xué)習(xí)內(nèi)容[5]。系統(tǒng)主要采用IF……THEN……的推理規(guī)則來調(diào)整下一階段的學(xué)習(xí),。例如: IF 學(xué)習(xí)者沒有達(dá)到當(dāng)前知識(shí)點(diǎn)的通過閾值并且有選擇關(guān)系的知識(shí)點(diǎn),,THEN學(xué)習(xí)內(nèi)容為選擇關(guān)系的知識(shí)點(diǎn);IF學(xué)習(xí)者沒有達(dá)到當(dāng)前知識(shí)點(diǎn)的通過閾值并且沒有選擇關(guān)系的知識(shí)點(diǎn),,THEN學(xué)習(xí)內(nèi)容為當(dāng)前知識(shí)點(diǎn),;IF 學(xué)習(xí)者達(dá)到當(dāng)前知識(shí)點(diǎn)的通過閾值并且有后序知識(shí)點(diǎn),THEN學(xué)習(xí)內(nèi)容為后序知識(shí)點(diǎn),。
2 學(xué)習(xí)推薦系統(tǒng)實(shí)現(xiàn)
系統(tǒng)采用三層B/S架構(gòu),,使用ASP.NET進(jìn)行開發(fā)。三層架構(gòu)的后端為數(shù)據(jù)庫(kù)服務(wù)層,選擇SQL Server數(shù)據(jù)庫(kù)保存?zhèn)€人檔案及學(xué)習(xí)行為信息,,知識(shí)庫(kù)和測(cè)試題庫(kù)采用xml格式的文件,;中間為應(yīng)用服務(wù)層,提供邏輯處理,;前端為用戶客戶端,為用戶提供良好的人機(jī)交互畫面,。
學(xué)習(xí)推薦系統(tǒng)界面如圖3所示。
3 結(jié)論
目前,,以學(xué)習(xí)者為主體的個(gè)性化自主學(xué)習(xí)已經(jīng)成為網(wǎng)絡(luò)教學(xué)的一個(gè)發(fā)展趨勢(shì)和研究熱點(diǎn),。如何幫助學(xué)習(xí)者在學(xué)習(xí)過程中得到及時(shí)的指導(dǎo),減少學(xué)習(xí)的盲目性,,本文給出了學(xué)習(xí)推薦系統(tǒng)總體框架,,并對(duì)系統(tǒng)中的知識(shí)庫(kù)、學(xué)習(xí)需求挖掘算法,、知識(shí)推薦算法等進(jìn)行了研究,,給出了相應(yīng)的解決方案,具有較強(qiáng)的實(shí)用價(jià)值,。
參考文獻(xiàn)
[1] 方凌云,王侃. 網(wǎng)絡(luò)自主學(xué)習(xí)系統(tǒng)中個(gè)性化知識(shí)推送服務(wù)[J].高等工程教育研究, 2008(5):145-148.
[2] 姜婷婷,韓捷. 淺談基于知識(shí)點(diǎn)建立領(lǐng)域知識(shí)庫(kù)[J]. 黑龍江科技信息,2011(36):112-113.
[3] 項(xiàng)亮. 推薦系統(tǒng)實(shí)踐[M]. 北京:人民郵電出版社, 2012.
[4] 陳毅波. 基于關(guān)聯(lián)數(shù)據(jù)和用戶本體的個(gè)性化知識(shí)服務(wù)關(guān)鍵技術(shù)研究[D]. 武漢:武漢大學(xué), 2012.
[5] 殷鋒社. 個(gè)性化計(jì)算機(jī)輔助教學(xué)系統(tǒng)研究與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程, 2010(18):31-33.