本發(fā)明涉及一種基于數據驅動的知識點掌握狀態(tài)的預測系統(tǒng)及方法,屬于數據挖掘技術,特別是涉及教育領域的數據挖掘。
背景技術:
數據挖據是一種基于大量數據進行信息提取和知識發(fā)現的方法,已經被廣泛應用于互聯網、工業(yè)制造、交通等各個領域。數據挖掘在教育領域的應用相對比較新穎,主要涉及概率統(tǒng)計、機器學習與自然語言等學科,主要的方法包括聚類、關聯規(guī)則學習、相關性分析、回歸性分析以及分類等,常用的模型包括貝葉斯模型、決策樹、隱形馬爾可夫模型等。貝葉斯預測模型是運用貝葉斯統(tǒng)計進行的一種預測,需要掌握先驗信息和總體分布信息進行建模和預測。決策樹模型可以看作是對象屬性和對象值之間的一種映射,樹中的節(jié)點表示對象屬性的判斷條件,其分支是符合節(jié)點條件的對象,其葉子節(jié)點表示對象所屬的預測結果。隱形馬爾可夫模型基于隱含未知參數的馬爾可夫過程,需要從可觀察的參數中確定該過程的隱含參數,然后利用這些參數來作進一步的分析。在教育領域,數據挖據的應用目前主要用來支持教育決策、對學生進行信息和課程內容的推薦等。
技術實現要素:
本發(fā)明要解決的問題是:克服現有技術的不足,提供一種基于數據驅動的知識點掌握狀態(tài)的預測系統(tǒng)及方法,對學習者知識點掌握狀態(tài)進行預測和估計,從而為學習者提供個性化的教學服務,提高學習針對性和學習效率。
本發(fā)明解決其問題所采用的方案是:一種基于數據驅動的知識點掌握狀態(tài)的預測系統(tǒng),包括測試題目的生成和屬性標注模塊、訓練數據采集模塊、基于測試數據的多維度特征提取模塊、數據驅動的預測模型建立模塊,其中:
測試題目的生成和屬性標注模塊:根據課程標準按照所屬學科及知識點之間的父子關系進行整理,對每個學科形成N層知識點結構;同時,根據學習者進行相應學科的認知活動能力和心理調節(jié)能力,將學科能力進行分級;根據所述的N層知識點結構和學科能力分級,生成所需測試題目;對于所述生成的所有測試題目,進行水平等級劃分,將測試題目劃分為多個等級;對于需測試題目的每個第N層知識點,也就是每個最底層知識點,生成的測試題目數量需滿足最少題目要求;
訓練數據采集模塊:基于測試題目的生成和屬性標注模塊生成的測試題目,組織學習者進行測試,測試可以采用線上系統(tǒng)電子化測試或者線下試卷測試;學習者應涵蓋同一年齡各層次水平的人群;測試過程應在獨立且無干擾的條件下進行;訓練數據可以分多次、不同時段進行收集,但是不可以在同一學習者上進行反復測試;同時,如果單一學習者的訓練數據不完整或者有明顯抄襲、重復答案等特征,應該從訓練數據集中移除,最終得到有效的訓練數據;
基于訓練數據的多維度特征提取模塊:對訓練數據采集模塊得到的每位學習者的數據,首先進行基本特征的逐級特征提取,對測試所涉及的每個第N層知識點,分別計算得分率,所有得分率作為第N層知識點基本特征向量VN;對于每個第N-1層知識點,如果其下轄的所有第N層知識點均有得分率,則稱為已知知識點,計算已知知識點所下轄的所有知識點的平均得分率作為該N-1層知識點的基本特征值;如果該N-1層知識點下轄知識點的得分率部分缺失或者全部缺失,則該第N-1層知識點稱為未知知識點;未知知識點的基本特征值為空;對所有第N-1層已知知識點,得到其基本特征向量VN-1;同理,能夠得到各層已知知識點的基本特征向量VN-2,VN-3,…,V1;同時,將學習者的性別、年齡個人特征作為補充特征向量G,從而完成訓練數據的多維度特征提取,多維度特征包括各層已知知識點的基本特征向量VN-2,VN-3,…,V1和補充特征向量G;
數據驅動的預測模型建立模塊:標注訓練數據中已知知識點掌握程度YA,標注根據各項得分率結合經驗規(guī)則進行,標注的知識點掌握程度可以分為多個等級;對于標注的已知知識點掌握程度YA,根據各層已知知識點的基本特征向量VN-2,VN-3,…,V1及補充特征向量G,建立多元分類算法的單一預測模型,預測出知識點A的掌握程度YA。所述單一預測模型是指基于單個預測模型,包括人工神經網絡、隨機森林或邏輯回歸的經典模型。先對各個預測模型進行準確度評估,根據評估結果,最終決定其中一種模型作為預測模型。
所述標注已知知識點掌握程度YA的多個等級包括卓越、優(yōu)秀、良好、合格以及不合格。
所述數據驅動的預測模型建立模塊的實現如下:
步驟(1)基于所述的測試數據的多維度特征和訓練所用的知識點掌握程度,生成訓練數據,訓練數據的輸出為任一給定知識點A的掌握程度。分別利用多個不同的經典模型進行訓練,包括單層或者多層結構神經網絡模型(Artificial Neural Network)、隨機森林(Random Forest)模型以及邏輯回歸(Logistic Regression)模型,其中對于單層神經網絡模型,訓練算法采用反向傳播算法(Backpropagation);
步驟(2)通過獨立訓練得到m個不同的模型后,利用K次交叉驗證方法,計算所得模型的準確率A1,A2,…Am,取準確率最高的模型為最終預測模型Ω。最終預測模型Ω的輸出為{P(j)|j=1,2,3……},其中P(j)是最終預測模型對知識點第j級掌握程度的預測概率。最終,取P(j)中預測概率數值最大者所對應的等級為該知識點的預測掌握程度。
一種基于數據驅動的知識點掌握狀態(tài)的預測方法,包括測試題目的生成和屬性標注模塊、訓練數據采集步驟、基于測試數據的多維度特征提取步驟、數據驅動的預測模型建立步驟,其中:
測試題目的生成和屬性標注步驟:根據課程標準按照所屬學科及知識點之間的父子關系進行整理,對每個學科形成N層知識點結構;同時,根據學習者進行相應學科的認知活動能力和心理調節(jié)能力,將學科能力進行分級;根據所述的N層知識點結構和學科能力分級,生成所需測試題目;對于所述生成的所有測試題目,進行水平等級劃分,將測試題目劃分為多個等級;對于需測試題目的每個第N層知識點,也就是每個最底層知識點,生成的測試題目數量需滿足最少題目要求;
訓練數據采集步驟:基于測試題目的生成和屬性標注步驟生成的測試題目,組織學習者進行測試,測試可以采用線上系統(tǒng)電子化測試或者線下試卷測試;學習者應涵蓋同一年齡各層次水平的人群;測試過程應在獨立且無干擾的條件下進行;訓練數據可以分多次、不同時段進行收集,但是不可以在同一學習者上進行反復測試;同時,如果單一學習者的訓練數據不完整或者有明顯抄襲、重復答案特征,應該從訓練數據集中移除,最終得到有效的訓練數據;
基于訓練數據的多維度特征提取步驟:對訓練數據采集步驟得到的每位學習者的數據,首先進行基本特征的逐級特征提取,對測試所涉及的每個第N層知識點,分別計算得分率,所有得分率作為第N層知識點基本特征向量VN;對于每個第N-1層知識點,如果其下轄的所有第N層知識點均有得分率,則稱為已知知識點,計算已知知識點所下轄的所有知識點的平均得分率作為該N-1層知識點的基本特征值;如果該N-1層知識點下轄知識點的得分率部分缺失或者全部缺失,則該第N-1層知識點稱為未知知識點;未知知識點的基本特征值為空;對所有第N-1層已知知識點,得到其基本特征向量VN-1;同理,能夠得到各層已知知識點的基本特征向量VN-2,VN-3,…,V1;同時,將學習者的性別、年齡個人特征作為補充特征向量G,從而完成測試數據的多維度特征提取,多維度特征包括各層已知知識點的基本特征向量VN-2,VN-3,…,V1和補充特征向量G;
數據驅動的預測模型建立步驟:標注訓練數據中已知知識點掌握程度YA,標注根據各項得分率結合經驗規(guī)則進行,標注的知識點掌握程度可以分為多個等級;根據各層已知知識點的基本特征向量VN-2,VN-3,…,V1及補充特征向量G,建立多元分類算法的單一預測模型,預測出知識點A的掌握程度YA。所述單一預測模型是指基于單個預測模型,例如人工神經網絡、隨機森林或邏輯回歸的經典模型。先對各個預測模型進行準確度評估,根據評估結果,最終決定其中一種模型作為預測模型。
本發(fā)明與現有方法相比的有益效果為:
(1)本發(fā)明可以解決對學習者知識掌握程度的預測,為學習者提供個性化的教學服務,提高了學習針對性和學習效率。
(2)本發(fā)明方法針對學習者的知識點掌握狀態(tài)預測問題,提出了利用測試數據結合知識點結構進行多維特征提取,然后,建立多個預測模型進行并行多元分類,最終建立預測模型,給出知識點掌握程度的預測結果,預測準確,適用于一般在線學習平臺和系統(tǒng),也可以應用于實際教學評估和診斷中。
附圖說明
圖1為本發(fā)明一種基于數據驅動的知識點掌握狀態(tài)的預測系統(tǒng)的結構圖;
圖2為本發(fā)明的測試題目的屬性標注;
圖3為本發(fā)明的已知知識點掌握狀態(tài)的計算實現流程;
圖4為本發(fā)明的神經網絡預測模型的建立流程。
圖5為本發(fā)明的預測模型的使用流程。
具體實施方式
下面結合附圖及具體實施方式詳細介紹本發(fā)明。
如圖1所示,本發(fā)明為一種基于數據驅動的知識點掌握狀態(tài)的預測系統(tǒng),包括測試題目的生成和屬性標注模塊、訓練數據采集模塊、基于測試數據的多維度特征提取模塊、數據驅動的預測模型建立模塊。
如圖2所示,本發(fā)明中對測試題目的屬性標注模塊具體實現如下:測試題目生成后,根據課程標準按照所屬學科、所屬年級、知識點名稱、知識點之間的父子關系四個要素進行知識點梳理。根據具體測試題目的內容,確定該題目在樹形結構中的節(jié)點位置,然后標記給測試題目。例如題目一被標記為BIK020103,即為生物學科(BIK),第一層級的第二主題知識點(02)下,第二層級的第一子知識點(01)下,第三層級的第三子知識點(03);同時,根據課程標準和專家經驗,系統(tǒng)對所給測試題目所考察的能力水平進行分級,例如題目一的水平能力可以標記為合格、良好、優(yōu)秀或者卓越。對于每個最底層知識點,此處為第三層知識點,生成的測試題目的數量需不少于最少題目要求。一般情況下,最少題目在5到10題,根據不同學科和主題進行確定。
測試題目生成及屬性標注完成后,進行訓練數據的采集,具體實現如下:組織學習者進行測試,測試可以采用線上系統(tǒng)電子化測試或者線下試卷測試;學習者應涵蓋同一年齡各層次水平的人群。例如,可以是同一年級所有的在籍學生;測試過程應在獨立且無干擾的條件下進行;訓練數據可以分多次、不同時段進行收集,但是不可以在同一學習者上進行反復測試和收集;同時,如果單一學習者的訓練數據不完整或者有明顯抄襲、重復答案等特征,應該從訓練數據集中移除,最終得到有效的訓練數據集;對于每個學科,訓練數據的規(guī)模應保持在一定規(guī)模以上,例如300個學習者對于生物學科10個第三層知識點的獨立測試結果。
基于所收集的訓練數據,進行多維度特征提取,其具體實現如下:對訓練數據采集模塊得到的每位學習者的數據,首先進行基本特征的逐級特征提取,對測試所涉及的每個第N層知識點,分別計算得分率,所有得分率作為第N層知識點基本特征向量VN;對于每個第N-1層知識點,如果其下轄的所有第N層知識點均有得分率,則稱為已知知識點,計算已知知識點所下轄的所有知識點的平均得分率作為該N-1層知識點的基本特征值;如果該N-1層知識點下轄知識點的得分率部分缺失或者全部缺失,則該第N-1層知識點稱為未知知識點;未知知識點的基本特征值為空;對所有第N-1層已知知識點,得到其基本特征向量VN-1;同理,能夠得到各層已知知識點的基本特征向量VN-2,VN-3,…,V1;同時,將學習者的性別、年齡個人特征作為補充特征向量G,從而完成訓練數據的多維度特征提取,多維度特征包括各層已知知識點的基本特征向量VN-2,VN-3,…,V1和補充特征向量G。
由于預測模型基于監(jiān)督式學習算法,因此需要標注訓練數據中已知知識點掌握程度YA。如圖3所示,已知知識點掌握程度YA的計算具體實現如下:測試數據收集后,根據測試題目所標記的能力水平等級和已知知識點的分布情況,可以根據判定規(guī)則計算已知知識點的掌握狀態(tài)。例如,對于生物學科第一層級的第二主題知識點BIK02,如果其下轄的第二層級和第三層級的所有知識點均有測試數據,并且被標注有卓越和優(yōu)秀的題目的得分率均在50%以上,則可以根據設定的判定規(guī)則判斷該學習者在BIK02知識點的掌握程度為卓越。最終標注的知識點掌握程度可以分為多個等級,例如卓越、良好、合格、不合格等。
基于已經標注知識點掌握程度的訓練數據,建立數據驅動的預測模型,其具體實現如下:對于標注的已知知識點掌握程度YA,根據各層已知知識點的基本特征向量VN-2,VN-3,…,V1及補充特征向量G,首先分別建立三種不同的經典預測模型,包括神經網絡模型、隨機森林模型以及邏輯回歸模型,上述三種模型的輸出(目標)都是給定需預測的知識點的掌握程度,輸入是其余已知知識點的基本特征向量VN,VN-1,…,V1和學習者補充特征向量G。例如給定需知識點BIK02,預測模型的輸出(目標)是該知識點的掌握程度Y,輸入是除知識點BIK02外的其它已知知識點的基本特征向量和學習者補充特征向量。
三種模型訓練的過程依據各自的經典算法進行,屬于本領域公知技術,以下僅簡要敘述各自原理:
單層神經網絡模型,對于每一組特征向量和標注的知識點掌握程度,利用神經網絡的反向傳播算法自動更新一遍網絡內的權值矩陣,其過程可以概括為兩個階段:第一階段為激勵傳播,也就是將訓練輸入送入網絡以獲得激勵相應,然后將激勵相應同訓練輸入對應的目標輸出求差,從而獲得隱層和輸出層的相應誤差;第二階段為權值更新階段,將輸入激勵和相應誤差相乘,從而獲得權重的梯度,將該梯度乘上訓練因子并且取反后加到原始權重上。經過足夠的訓練數據和訓練回合后,得到所需神經網絡預測模型。上述的基本過程如圖4所示。
隨機森林模型是一個包含多個決策樹的分類器,其輸出的類別是由所含樹的輸出的類別的眾數而定。其中每棵樹的建造過程是:用Y來表示訓練樣本的個數,Z表示特征數目;輸入特征數目z,用于確定決策樹上一個節(jié)點的決策結果,其中z應遠小于Z。從Y個訓練樣本中以有放回抽樣的方式,取樣Y次,形成一個訓練集(即bootstrap取樣),并用未抽到的樣本作預測,評估其誤差;對于每一個節(jié)點,隨機選擇z個特征,決策樹上每個節(jié)點的決定都是基于這些特征確定的。根據這z個特征,計算其最佳的分裂方式;每棵樹都會完整成長而不會剪枝。決策樹的生成可以采用任一經典分類決策樹的算法。
邏輯回歸模型主要針對多元分類問題,其基本方法是:訓練多個基本二元分類邏輯回歸模型,每個模型均對應一種需要預測的類別,也即是模型可以給出該類別相應的預測概率以及非該類別的預測概率。對于一個新學習者的特征數據,用上述多個模型分別得到各個類別的預測概率,取概率值大的類別為本發(fā)明中邏輯回歸模型的最終預測結果。基本二元分類邏輯回歸模型可以采用經典的邏輯函數和梯度下降法進行構建。
神經網絡的反向傳播算法、隨機森林和邏輯回歸模型的訓練算法是本領域公知技術,本申請對此不作限制。
經過訓練,分別得到三種訓練模型后,開始進行模型評估,從而確定最終的單一預測模型,其具體實現如下:
1)利用K次交叉驗證方法(其中K一般大于等于5),得到三種模型的準確率分別為A1,A2以及A3。取A1,A2及A3中數值最高者所對應的模型Ω為最終采用的預測模型。
2)對給定知識點A有5個等級的掌握程度(例如卓越、優(yōu)秀、良好、合格以及不合格),預測模型Ω的輸出為{P(j)|j=1,2,3,4,5},其中P(j)是最終預測模型對該知識點第j個等級掌握程度的預測概率。
3)取P(j)中概率數值最大者所對應的等級,作為該知識點最終預測的掌握程度。
所得到的預測模型,可以用來對新學習者的知識掌握狀態(tài)進行預測,其具體實現如下:如圖5所示,基于已經生成的測試題目,對于新學習者進行相應測試并收集和過濾數據。對新收集的數據進行如前所述的多維度特征提取,將提取的特征向量作為預測模型的輸入。運行已經訓練好的預測模型,可以得到新學習者的知識點掌握程度的預測結果。
本發(fā)明未詳細闡述的部分屬于本領域公知技術。