AAAI 2020 | 中科大:智能教育系統中的神經認知診斷,從數據中學習交互函數

2020-01-12     AI科技評論

作者 | 陳恩紅、劉淇團隊

編輯 | Camel

本文對中國科學技術大學陳恩紅、劉淇團隊完成,被AAAI-20錄用的論文《Neural Cognitive Diagnosis for Intelligent Education Systems》進行解讀。

論文連結:https://arxiv.org/abs/1908.08733v1

認知診斷與智慧教育

在許多現實場景如教育、遊戲競技、醫療診斷中,認知診斷是一項十分必要且基礎的任務,其中在智慧教育場景應用最為廣泛。智慧教育是隨大數據時代和人工智慧發展而興起的新型教育方式,採用計算機輔導和線上教學等方式,使教學更高效、智能化,學生學習自主化、個性化。

智慧教育中的認知診斷,通過收集學生的行為記錄(通常是答題記錄)和試題信息(如試題文本),來推斷學生當前的知識狀態。例如圖1,

圖1 認知診斷示例

學生選擇了一些題目進行練習,得到了對應的答題記錄,每道題目包含了特定知識點,通過認知診斷技術得到該學生在各個知識點上的掌握程度。例如學生答對了試題 ,而包含「三角函數」(Trigonometric Function)這個知識點,因此診斷出來該學生對於「三角函數」這個知識點掌握程度較高(例如0.8),反映到診斷報告的雷達圖中藍線靠近外側。認知診斷的結果可以被用作教育資源推薦、學生表現預測、學習小組分組等後續教育應用中。

背景

認知診斷並不是一個新興的概念,在教育心理學領域已有數十年的發展。教育心理學的相關研究中,項目反映理論(Item Response Theory, IRT)和DINA(Deterministic Input, Noisy And)模型是其中最經典的兩類工作。IRT模型中,每個學生和試題分別用一個單維的連續變量表征(記為θ和β),其中θ表示學生的綜合能力,β表示試題的整體難度。學生和試題之間的關係使用Sigmoid函數建模,一個簡單的IRT反應函數中,學生 i 答對試題j的機率為:

而在DINA模型中,每個學生和試題分別用一個離散向量表征(記為 θβ),其中試題表征β直接取自Q矩陣的對應行,表示該試題包含的知識點。這裡Q矩陣是一個人工標註的試題-知識點關聯矩陣,每一行對應一道試題,每一列對應一個預定義的知識點,有:

DINA模型中,學生i與試題j之間的關係被建模為:

式中 表示試題的猜對機率, 表示試題的失誤機率。其函數基於的假設是:學生要答對試題,需要掌握該試題需要的所有知識點並且不失誤,否則只能以機率 猜對。

儘管後續有許多改進的工作,但整體來說,都是專家設計學生與試題之間的交互函數(例如IRT中的Sigmoid函數),基於一些假設對真實場景進行簡化,這樣的做法不僅函數設計耗時耗力,而且簡化後的函數也難以準確捕捉學生與試題之間真實的複雜關係。因此尋找自動化建模學生與試題之間複雜關係的方法是十分必要的。此外,傳統方法只能處理學生-試題組成的數值矩陣,不能建模試題文本等異構信息,這也是需要完善的研究點。

近年來已有使用深度學習方法進行學生建模的研究。以DKT(Deep Knowledge Tracing)為代表的多個知識跟蹤工作旨在跟蹤學生知識狀態的動態變化。然而,這些工作與認知診斷的最大差異在於,它們的主要目標是預測下一時刻學生答對各道題目的機率,多數工作中不嚴格區分試題與其包含的知識點,因而不具有認知診斷所需要的高度可解釋性,不適合直接作為認知診斷方法。

在這樣的背景下,我們提出神經認知診斷(Neural Cognitive Diagnosis,NeuralCD)框架,期望利用神經網絡,通過簡潔的形式設計一類效果好且高度可解釋的泛用性認知診斷框架,直接從數據中學習學生與試題之間的交互函數,而非人工設計。並且得益於神經網絡在各領域的成功,框架能夠利用試題文本等異構數據,提高模型的學習能力。

基於神經網絡的認知診斷

1、問題定義

設在一個學習系統中有N個學生,M道試題,K個知識點。學生集合 ,試題集合 ,知識點集合 。學生的答題記錄可以表示為三元組 的集合 ,其中 , , 是學生 在試題 上的得分(轉換為百分比)。此外,有將試題與知識點關聯的Q矩陣 (例如,有教研專家提前標註)。

給定學生答題記錄 和 Q 矩陣 ,我們的認知診斷的任務是通過學生答題預測的過程獲取學生在各個知識點上的掌握程度。

2、神經認知診斷框架

使用神經網絡做認知診斷並不容易,一個主要的原因是其廣為詬病的「黑盒」特性,即模型參數難以解釋,而認知診斷需要得到學生在各個知識點上的掌握程度,因此這是必須跨越的障礙。同時神經網絡也帶來了新的機遇,其強大的擬合能力使其能夠從數據中學到更為複雜且貼近現實的交互函數,且神經網絡在自然語言處理方面取得的成功也使將試題文本運用到認知診斷成為可能。

幾乎所有傳統認知診斷方法都包括學生參數、試題參數、學生與試題交互函數這三個部分,其合理性已被大量工作驗證,因此神經認知診斷框架NeuralCD亦沿用此方式,其結構如圖2:

圖2 NeuralCD 框架結構

NeuralCD將認知診斷分為三個部分:學生因素、試題因素和交互函數(在圖中分別用不同顏色標註)。學生因素最基本的是知識點熟練度向量 ,試題因素則包括基本的知識點相關度向量 和其他可選因素 (如試題難度、區分度等)。交互函數則由多層神經網絡構成,這是與傳統方法最大的不同點。NeuralCD的輸入為答題記錄中學生和試題的one-hot向量,輸出為學生答對該試題的預測機率。

為了確保訓練結束後得到的 的解釋性(即每一維對應該學生在對應知識點上的掌握程度),我們做出如下約束:

1. 輸入層需要包含 (「 」表示按元素乘),這是為了讓 中的每一維都與 中對應維的知識點對應;

2. 對多層神經網絡使用「單調性假設」來約束。單調性假設是教育心理學方法中常用的假設,其內容是:學生答對試題的機率隨學生任意一維知識點熟練度單調遞增(不需要嚴格單調)。換句話說,在訓練過程中,若模型的預測值小於真實得分,則需要提高該學生的中的值;反之則降低中的值。而具體調整中的哪些維度,則是由 控制。

3、神經認知診斷模型(Neural Cognitive Diagnosis Model, NeuralCDM)

在NeuralCD的框架下,我們做了一個模型實現,其結構如圖3:

圖3 NeuralCDM結構

學生的知識點熟練度向量(對應前述的 )在此處具體為 ,其中 是學生的one-hot向量, 是所有學生的熟練度矩陣。試題因素中知識點相關度向量(對應前述的 )直接取自人工標註的Q矩陣,具體為 ,其中 是試題的one-hot向量;此外還使用了試題的知識點難度向量 表示試題對每個知識點考察的難度,以及試題區分度 表示試題區分不同水平學生的能力。A、B、D都是通過數據學習的可訓練參數。這樣,多層神經網絡的輸入層為:

NeuralCDM不追求模型的複雜性,而是為驗證NeuralCD的有效性,因而其交互函數由最常見的多層全連接層構成。為滿足單調性假設,我們限定每一層的權值為正(可部分為0),這樣 ,熟練度向量中值 的調整方向與輸出的預測值 的變化方向一致。最後,訓練時採用預測值與真實得分的交叉熵:

訓練結束後,學生對應的 即為該學生的診斷結果,每一維對應該學生在該知識點上的掌握程度(範圍(0,1))。

4、利用試題文本對NeuralCD擴展

試題文本與試題信息是十分相關的,例如通過試題文本預測試題的難度、區分度、知識點等。這裡我們不對所有相關性進行討論,而是選取其中的一種展示NeuralCD的可擴展性。

在NeuralCDM和一些傳統方法(如DINA)中,通過Q矩陣獲取試題與知識點的關聯信息。然而,人工標註的Q矩陣不可避免地主觀性甚至錯誤。例如,對於一道解方程的問題,專家可能只標註了其中的主要考點「Equation」,但是卻忽略了其中乘除法的知識點。而通過試題文本,發現其中包含除法符號「÷」,可以將此知識點補充。基於此,我們利用試題文本對NeuralCDM進行擴展,記為NeuralCDM+,其結構如圖4:

圖4 NeuralCDM+結構

我們首先預訓練了一個卷積神經網絡(CNN),輸入試題文本來預測與試題相關的知識點,取其輸出的Top-k知識點集合 作為預測結果。

接下來我們通過將 與Q矩陣結合來得到優化後的 。使用如下的偏序關係表示一道題中各個知識點的相關度:

這是因為儘管人工標註的Q矩陣存在部分缺點,但仍然具有較高的可信度,因此Q矩陣中標註的知識點最有可能有較高的相關度。而既非標註也未被預測的知識點則認為是與該題無關。我們採用機率模型的方式來實現這一偏序關係,並最終得到經文本預測補充的知識點相關度矩陣 ,代替NeuralCDM中的 。

5、NeuralCD的泛化性

NeuralCD是泛化性較強的認知診斷框架,一些傳統的認知診斷模型可被視為NeuralCD的特例(如矩陣分解、IRT、MIRT等)。例如,IRT與NeuralCD的關係可被下圖5概括,

圖5 NeuralCD與IRT的關係

若將NeuralCD從多維退化至一維,知識相關度向量固定為1,並且神經網絡構成的交互函數退化為單個Sigmoid函數,模型就退化成了IRT。其他示例和具體推導請參閱論文。

實驗

實驗在兩個數據集上進行。一個是科大訊飛的在線學習平台智學網提供的私有數據集Math,包含多所高中的期末考試試題、文本和答題記錄。另一個是公開數據集ASSISTment 2009-2010 Skill-Builder,包含數學試題和學生答題記錄。由於後者沒有提供試題文本,所以NeuralCDM+並未在該數據集上進行實驗。

1、學生答題預測

學生真實的知識點熟練度標籤是無法獲取的,因此我們採用間接衡量診斷結果準確性的方法,即使用學生的診斷結果來預測學生的在非訓練數據中試題的得分,這也是傳統認知診斷模型的常規做法。實驗的結果如下表1,我們的NeuralCD模型在兩個數據集中相較傳統模型取得了較大的提升。

表1 學生答題預測實驗結果

2、解釋性度量

我們希望學生的診斷結果能夠符合直覺上的預期:若學生 答對了包含知識點 的試題 ,而學生 沒有答對,那麼學生 在知識點 上的掌握程度應該更有可能比 的大。為此,我們使用DOA來衡量這一解釋性(DOA越高越符合預期):

式中 是歸一化項。 若 ;否則 。 =1若試題 包含知識點 ;否則 。 若學生 和學生 都作答了試題 ;否則 。

計算模型診斷結果中平均每個知識點的DOA值,各個模型的結果如下圖6:

圖6 模型的解釋性度量

(a)(部分基準模型未做因為其學生向量沒有與知識點的對應關係)。(b)是ASSIST數據集中一個學生診斷結果的實例。

上半部分為3道試題的Q矩陣和對應的實際答題結果,下半部分的柱形圖為該學生在各個知識點上的診斷出的熟練度,數據點代表3道題所包含知識點的考察難度。診斷結果中,當學生對知識點的掌握程度超過試題的要求時,更有可能答對試題。例如試題2中包含「Add Whole Numbers」和「Absolute Value」這兩個知識點,難度分別為0.47和0.48,而該學生在這兩個知識點上的掌握度分別為0.77和0.56,超過了難度需求,因此答對了該題。診斷的結果是符合常識認知的。

結語

隨著智慧教育的興起,認知診斷會成為備受重視的任務。傳統的認知診斷方法已不在適應當前的多學科、大數據量、異構數據類型的場景。使用神經網絡進行認知診斷是值得探索的方向。本文還是初期的探索,在理論上、模型結構上還有許多可以提升的地方,留待未來工作完善。

論文的NeuralCDM代碼已公開至https://github.com/bigdata-ustc/NeuralCD,該團隊智慧教育研究組的主頁:http://base.ustc.edu.cn/。

文章來源: https://twgreatdaily.com/zh-my/sfJznG8BUQOea5Owcbt4.html