《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于數(shù)據(jù)挖掘的學習推薦系統(tǒng)的研究
基于數(shù)據(jù)挖掘的學習推薦系統(tǒng)的研究
2014年微型機與應用第23期
王曉波
(北京信息科技大學 信息管理學院,北京 100192)
摘要: 為了讓學習者在學習過程中能夠快速獲得所需的知識和核心內容,首先給出一個采用xml格式的多層次知識庫,并基于學習者的身份特征、學習行為和測試結果,利用改進的協(xié)同過濾算法和基于約束的推薦算法,發(fā)現(xiàn)學習者的潛在學習需求,完成知識推送和個性化學習定制。最后,對學習推薦系統(tǒng)進行了實現(xiàn)。所研制的系統(tǒng)滿足了學習者獲得所需知識和學習指導的需求,提高了學習者的學習效率。
Abstract:
Key words :

  摘 要: 為了讓學習者在學習過程中能夠快速獲得所需的知識和核心內容,首先給出一個采用xml格式的多層次知識庫,并基于學習者的身份特征、學習行為和測試結果,利用改進的協(xié)同過濾算法和基于約束的推薦算法,發(fā)現(xiàn)學習者的潛在學習需求,完成知識推送和個性化學習定制。最后,對學習推薦系統(tǒng)進行了實現(xiàn)。所研制的系統(tǒng)滿足了學習者獲得所需知識和學習指導的需求,提高了學習者的學習效率。

  關鍵詞知識推薦;學習需求;個性化;學習引導

0 引言

  《國家中長期教育改革和發(fā)展規(guī)劃綱要》提出要“以學生為主體,以教師為主導,充分發(fā)揮學生的主動性”、“為每個學生提供適合的教育”、“把提高質量作為教育改革發(fā)展的核心任務”。因此,為學生營造一個可以主動思考、個性化、自主學習的環(huán)境尤為重要。

  隨著計算機技術和網絡技術的迅速發(fā)展,具有個性化、自主性、主動性和非時空性特征的網絡自主學習已經成為人們關注的熱點。一些學校和機構都紛紛建立教育資源共享服務平臺,提供大規(guī)模的開放課程,讓學生可以利用網絡化教學平臺進行交互學習,同時也開發(fā)一些網站(如http://www.lifegrowing.com/ceha/)對自主學習模式進行探索。

  當前網絡自主學習存在如下問題[1]:(1)為學習者所提供的網絡環(huán)境(平臺)對于海量的學習資源無法進行有效整合,學習者很難快速找到和定位自己所需要的學習資源;(2)不能根據(jù)學習者的行為特征,挖掘出學習者隱含的學習需求;(3) 缺乏個性化的知識推送及學習路徑的動態(tài)生成機制;(4)學習資源的格式各種各樣,缺乏語義,機器難于理解和自動處理。

  針對上述問題,本文對學習需求的挖掘算法、知識推送算法和知識庫的構建方法進行了研究和探討。

1 學習推薦系統(tǒng)的設計

  學習推薦系統(tǒng)實質是一個借助機器學習算法的系統(tǒng),該系統(tǒng)根據(jù)預先獲取的學習者基本信息、偏好、學習行為和測試結果,發(fā)現(xiàn)學習者的顯性和隱性學習需求,主動從知識庫中搜索出符合學習者需求的知識,動態(tài)生成學習路徑,促使學習者更好的完成學習。

  1.1 系統(tǒng)總體框架

  學習推薦系統(tǒng)的總體框架如圖1所示。

001.jpg

  系統(tǒng)的主要流程如下:

 ?。?)對于首次使用系統(tǒng)的學習者,系統(tǒng)首先進行問卷調查,并記錄其個人信息,然后根據(jù)學習者的個人檔案和調查結果,從知識庫中提取并推薦專業(yè)領域的相關知識,如知識體系、前沿資訊和主要參考文獻等,完成初步的知識推送。

  (2)學習者可以對推送的知識進行評價,在使用個性化知識推送系統(tǒng)過程中,系統(tǒng)會不斷收集學習者的所有學習行為,這些數(shù)據(jù)都被記錄在個人檔案及學習行為庫中。

 ?。?)系統(tǒng)根據(jù)個人信息和學習行為、測試結果等,發(fā)現(xiàn)潛在的學習興趣點,即學習需求挖掘。

  (4)系統(tǒng)根據(jù)學習者的反饋結果、學習需求、學習績效以及各知識點之間的關系,提供知識推送。

 ?。?)學習者根據(jù)系統(tǒng)的推送內容進入下一環(huán)節(jié)或主題的學習。

  1.2 構建個人檔案及學習行為庫

  “個人檔案及學習行為庫” 為學習需求的挖掘提供依據(jù),主要保存了學習者個人信息(如性別、年齡、專業(yè)、興趣愛好等)、學業(yè)信息(年級、學習目標、學習計劃、學習進度、學習績效等)、學習活動記錄(學習者所學學科知識的學習情況、學習者進行信息檢索和主題討論的記錄)、評價信息(學習者對所推薦的學習路徑、學習材料、信息搜索結果等的評價、學習者的自我評價)等。所有這些信息都保存在數(shù)據(jù)庫中。以下是“個人檔案及學習行為庫”中的部分關系模式:

  學習者個人信息(學習者編號,姓名,性別,專業(yè),電子郵箱,出生日期,照片)

  學習知識點(知識點編號, 學習者編號,開始學習的時間,退出學習的時間,操作)

  信息檢索(編號,關鍵詞,搜索結果,搜索時間)

  測試(測試編號,學習者編號,試卷編號,用時,分數(shù),測試時間)

  提問問題(問題編號,學習者編號,問題內容,提問時間)

  主題討論(討論編號,討論主題,讀帖數(shù)、發(fā)帖數(shù),進入頁面時間,離開頁面時間)

  1.3 構建知識庫

  知識庫中存儲了專業(yè)、課程、知識點和相關的教學、科研資源。知識處理模塊負責將外部數(shù)據(jù)(本地其他教學網站的數(shù)據(jù)、互聯(lián)網上的教育資源)通過分類、清理、轉換生成基于xml格式的多層知識庫。知識庫的層次結構如圖2所示。

002.jpg

  在知識庫的層次結構中,專業(yè)為最高層,用一個majorList.xml文檔來描述專業(yè)信息以及每個專業(yè)所包含的課程(用課程ID來標識課程),課程信息通過courseList.xml文檔來描述,專業(yè)和課程之間為多對多關系。每個課程包含一個多層次描述的章節(jié)知識樹,用獨立的section_courseID.xml來描述,xml文檔內的章節(jié)知識點均使用SectionNode來表示,SectionNode允許層次嵌套。每個章節(jié)知識點包含一個或多個元知識點,用獨立的knowledgesectionID.xml來描述,元知識點是最小單位的知識點,不能再分(如一個概念、一個定理等)。每個元知識點包含相關的教學資源、科研資源、背景資源、拓展資源和其他附件資源。這些資源的形式是多樣的,可以是word文件、PDF文件、文本和視頻等。在描述章節(jié)知識點和元知識點屬性時,不僅包括編號、名稱、關鍵詞、難易程度、重要程度等,還要表明知識點之間的關系。知識點之間的關系主要有[2]:

 ?、?先后關系:在學習過程中,知識點和知識點之間存在先后順序,即一個知識點當前是否可以學習取決于另外一些知識點是否學習過。

 ?、?選擇關系:在學習過程中,具有選擇關系的知識點具有共同的前驅知識點,它們可以互相替換,可以使用不同的教學方法達到相同的教學目的,這樣可以根據(jù)學習者的喜好、特點等選擇最適合其學習的知識點。

 ?、?擴展關系:有的知識點是另外一些知識點進一步深化的內容,可根據(jù)學習者的學習目標、類型等選擇是否學習。

  1.4 學習需求的挖掘算法

  學習需求的獲取有兩種,一種是根據(jù)學習者的行為進行自動的收集和挖掘,發(fā)現(xiàn)其個性特點和興趣點;另一種是根據(jù)學習者的身份特征(如:所學專業(yè)、當前學習階段等)進行學習需求的挖掘。

  1.4.1 根據(jù)學習者的身份特征進行學習需求的挖掘

  如果學習者是首次使用本系統(tǒng),沒有學習行為數(shù)據(jù),此時采用基于用戶注冊信息來發(fā)現(xiàn)潛在的興趣點。算法的基本方法是:將學習者的性別、專業(yè)、出生日期、所在年級和愛好等屬性作為一種特征,計算每種特征的學習者感興趣的知識點。也就是說,對于每種特征f,計算具有這種特征的學習者對每個知識點的感興趣程度p( f, i )[3] :

  1.png

  其中N( i )是對知識點i感興趣的用戶集合,U( f )是具有特征f的用戶集合。

  用戶是否對知識點i感興趣可以通過用戶訪問該知識點的學習資源所用時間以及訪問頻率來判斷。由于學習資源內容的多少對實際訪問時間的影響,所以采用單位時間更合理。具體計算公式如下:

  2.png

  其中Fr(i,j)為用戶j訪問知識點i 的單位時間,Dur(i,j) 為用戶j訪問知識點i 的頻率。

  設定一個閾值k,當q(i,j)大于閾值k時就可以認為用戶j對知識點i感興趣。

  對每種特征設置一定的權重(如專業(yè)特征、愛好特征的權重設置大些,出生日期特征的權重設置小些),將計算出來的p( f, i )按照一定權重相加,就可以得到學習者的學習需求了。

  1.4.2 根據(jù)學習者的行為進行學習需求的挖掘

  如果系統(tǒng)已經保存了學習者的學習行為數(shù)據(jù),就可以利用這些數(shù)據(jù)來修正用戶潛在的興趣點,使其貼近學習者的真實需求。具體算法描述如下:

 ?、?計算知識點之間的相似度[3]:

  3.png

 ?、?計算用戶u對一個知識點j的興趣:

  4.png

  其中,N(u)是學習者感興趣的知識點集合,S(j,k)是與知識點j最相似的k個知識點的集合, Wji是知識點j和i的相似度,rui是用戶u對知識點i的興趣(如果用戶u學過知識點i,即可令rui=1)。

  通過以上算法就可以得到和學習者歷史上感興趣的知識點關聯(lián)度高的知識點列表。所挖掘出來的知識點用于知識推薦。

  1.5 知識推薦算法

  系統(tǒng)根據(jù)學習者感興趣的知識點、知識點之間的關系和難易程度生成學習路徑,學習者選擇路徑中相應知識點后,系統(tǒng)將組織好的個性化學習資源呈現(xiàn)給學習者。學習者學習到一定階段后,可進行學習效果的測試和自評,以檢驗學習效果。系統(tǒng)根據(jù)檢驗的學習效果,調整后續(xù)學習的內容[4]。

  生成學習路徑的方法如下:

  ⑴ 根據(jù)學習需求,查詢知識庫,找出與學習需求存在上下層關系、先后關系、選擇關系和擴展關系的元知識點,形成元知識點集合;

 ?、?如果查詢到的元知識點是相對獨立的,與其他知識點沒有關系,可以直接將與該知識點相關的學習資源推送給學習者;

 ?、?對于非獨立的知識點,首先按照知識點的層次結構,生成初步的學習路徑,然后再結合學習者的主動反饋或學習過程中的測試成績,按照一定的規(guī)則調整學習內容[5]。系統(tǒng)主要采用IF……THEN……的推理規(guī)則來調整下一階段的學習。例如: IF 學習者沒有達到當前知識點的通過閾值并且有選擇關系的知識點,THEN學習內容為選擇關系的知識點;IF學習者沒有達到當前知識點的通過閾值并且沒有選擇關系的知識點,THEN學習內容為當前知識點;IF 學習者達到當前知識點的通過閾值并且有后序知識點,THEN學習內容為后序知識點。

2 學習推薦系統(tǒng)實現(xiàn)

  系統(tǒng)采用三層B/S架構,使用ASP.NET進行開發(fā)。三層架構的后端為數(shù)據(jù)庫服務層,選擇SQL Server數(shù)據(jù)庫保存?zhèn)€人檔案及學習行為信息,知識庫和測試題庫采用xml格式的文件;中間為應用服務層,提供邏輯處理;前端為用戶客戶端,為用戶提供良好的人機交互畫面。

  學習推薦系統(tǒng)界面如圖3所示。

003.jpg

3 結論

  目前,以學習者為主體的個性化自主學習已經成為網絡教學的一個發(fā)展趨勢和研究熱點。如何幫助學習者在學習過程中得到及時的指導,減少學習的盲目性,本文給出了學習推薦系統(tǒng)總體框架,并對系統(tǒng)中的知識庫、學習需求挖掘算法、知識推薦算法等進行了研究,給出了相應的解決方案,具有較強的實用價值。

參考文獻

  [1] 方凌云,王侃. 網絡自主學習系統(tǒng)中個性化知識推送服務[J].高等工程教育研究, 2008(5):145-148.

  [2] 姜婷婷,韓捷. 淺談基于知識點建立領域知識庫[J]. 黑龍江科技信息,2011(36):112-113.

  [3] 項亮. 推薦系統(tǒng)實踐[M]. 北京:人民郵電出版社, 2012.

  [4] 陳毅波. 基于關聯(lián)數(shù)據(jù)和用戶本體的個性化知識服務關鍵技術研究[D]. 武漢:武漢大學, 2012.

  [5] 殷鋒社. 個性化計算機輔助教學系統(tǒng)研究與實現(xiàn)[J]. 電子設計工程, 2010(18):31-33.


此內容為AET網站原創(chuàng),未經授權禁止轉載。