一套典型的自適應學習系統應該包括:
1.收集學習行為資料
需要一套學習行為統計框架,以日誌形式結構化地記錄學生的詳細學習行為。通常來講,一個日誌條目以json格式呈現,包括使用者id、題目/影片/學習行為id、觸發時間、有效的學習時間、停留時長和與這個行為相關的個別屬性。
例如影片可能會包括播放時長、拖動時間軸的次數、中途是否暫停離開、影片互動的答案、是第一個觀看還是複習鞏固等等。而題目要包括學生的選項是否正確、是否使用提示、是否檢視解析、是否收藏題目等等。國際上的行為資料標準是xAPI(原名tincanapi)但是過於複雜的標準讓其無法普及開來,只能借鑑學習。
2. 儲存、初加工學習行為資料
資料統計後,自然要存放一份兒到一個原始的資料中心,但是光存放是不夠的,還要對資料進行初加工。初加工的過程可以判斷出來,學生快速做題後,根據答題的正確率,可以判斷出學生是作弊了還是沒有認真答題。如果學生反覆做同樣一套題,可能會涉及刷分。只有過濾掉髒資料後,才能把乾淨的資料作為訓練樣本進行學習。
正常來講IRT模型對於每一道題目要求至少有1000個不同的、乾淨的做題資料才能初步收斂。這個初加工的過程中就可以對一些“大塊的”事件進行標註,例如,學生下午3點開啟《極限的定義》這節課是屬於認真學習,還是屬於敷衍了事,還是複習鞏固?當學生、家長和老師去檢視學習軌跡的時候,他們並不想知道每一個細粒度的行為,而更想要知道粗粒度的概況。
3. 用學習行為更新學生的知識點網路
學生的知識點網路模型的每一個節點都會有兩個值,一個是掌握度,一個是置信因子(confidence level)。當學生剛進入自適應學習系統的時候,系統是不清楚學生每一個節點的學習情況的,所以置信因子是最低的;當學生做得題越多時,置信因子會不斷變高,掌握度也會更加準確。舉一個直接的例子,張三兩道題做對兩道,和李四100道題目做對98道,如果題目難度和知識點完全一樣,實際上李四有更大機率比張三學習更好,但是從分數來講,張三的分數是100分,李四卻是98分。置信因子正是解決這個矛盾的關鍵點。
初始化的時候可以認為學生什麼都不會,如果是高三總複習階段,也可以按照系統平均水平去初始化(所謂有易錯、較難知識點)。
真實的題庫裡,一定有不同難度、考察多個知識點、涉及不同技巧和方法,所以標註好的題庫是自適應學習的前提,這背後的教研工作量浩大,遠比開發系統所需要的技術困難。知識點與知識點之間也會形成依賴、組合、干擾等各種關係,所以搭建一個細粒度的知識圖譜也是有一定難度的。這裡我們不會展開,下一講我會專門針對知識圖譜、題庫和演算法進行深入講解。
4. 學習結果視覺化+改變路徑,形成完整閉環
自適應學習系統的視覺化應該直觀,應該多做減法,多把詳情隱藏起來,而讓使用者看到最關鍵的資訊。
學生既然遇到了問題,或者有了進步,一定要讓學生、老師、家長能夠一目瞭然地看到。詳細知識點列表和雷達圖似乎是自適應系統的標配,但是真正更有價值的是學生接下來關注什麼,對於老師最大價值也不應該是全班的知識圖譜列表,而是應該關注哪些易錯題,關注哪些普遍的知識點缺陷,並且找到那些需要重點關注的學生。
路徑的改變一般有多種方式,一個是改變使用者的學習流,原來是abc,現在改為abdc——這種方式偏向強制性,要求學生必須完成規定動作。另外一種是解鎖型,原來你不用去學這個課,現在出現了一些新的題目和課程可以去學習——這種方式的自由度更大,但學生完全可以選擇不去學習。
一套典型的自適應學習系統應該包括:
1.收集學習行為資料
需要一套學習行為統計框架,以日誌形式結構化地記錄學生的詳細學習行為。通常來講,一個日誌條目以json格式呈現,包括使用者id、題目/影片/學習行為id、觸發時間、有效的學習時間、停留時長和與這個行為相關的個別屬性。
例如影片可能會包括播放時長、拖動時間軸的次數、中途是否暫停離開、影片互動的答案、是第一個觀看還是複習鞏固等等。而題目要包括學生的選項是否正確、是否使用提示、是否檢視解析、是否收藏題目等等。國際上的行為資料標準是xAPI(原名tincanapi)但是過於複雜的標準讓其無法普及開來,只能借鑑學習。
2. 儲存、初加工學習行為資料
資料統計後,自然要存放一份兒到一個原始的資料中心,但是光存放是不夠的,還要對資料進行初加工。初加工的過程可以判斷出來,學生快速做題後,根據答題的正確率,可以判斷出學生是作弊了還是沒有認真答題。如果學生反覆做同樣一套題,可能會涉及刷分。只有過濾掉髒資料後,才能把乾淨的資料作為訓練樣本進行學習。
正常來講IRT模型對於每一道題目要求至少有1000個不同的、乾淨的做題資料才能初步收斂。這個初加工的過程中就可以對一些“大塊的”事件進行標註,例如,學生下午3點開啟《極限的定義》這節課是屬於認真學習,還是屬於敷衍了事,還是複習鞏固?當學生、家長和老師去檢視學習軌跡的時候,他們並不想知道每一個細粒度的行為,而更想要知道粗粒度的概況。
3. 用學習行為更新學生的知識點網路
學生的知識點網路模型的每一個節點都會有兩個值,一個是掌握度,一個是置信因子(confidence level)。當學生剛進入自適應學習系統的時候,系統是不清楚學生每一個節點的學習情況的,所以置信因子是最低的;當學生做得題越多時,置信因子會不斷變高,掌握度也會更加準確。舉一個直接的例子,張三兩道題做對兩道,和李四100道題目做對98道,如果題目難度和知識點完全一樣,實際上李四有更大機率比張三學習更好,但是從分數來講,張三的分數是100分,李四卻是98分。置信因子正是解決這個矛盾的關鍵點。
初始化的時候可以認為學生什麼都不會,如果是高三總複習階段,也可以按照系統平均水平去初始化(所謂有易錯、較難知識點)。
真實的題庫裡,一定有不同難度、考察多個知識點、涉及不同技巧和方法,所以標註好的題庫是自適應學習的前提,這背後的教研工作量浩大,遠比開發系統所需要的技術困難。知識點與知識點之間也會形成依賴、組合、干擾等各種關係,所以搭建一個細粒度的知識圖譜也是有一定難度的。這裡我們不會展開,下一講我會專門針對知識圖譜、題庫和演算法進行深入講解。
4. 學習結果視覺化+改變路徑,形成完整閉環
自適應學習系統的視覺化應該直觀,應該多做減法,多把詳情隱藏起來,而讓使用者看到最關鍵的資訊。
學生既然遇到了問題,或者有了進步,一定要讓學生、老師、家長能夠一目瞭然地看到。詳細知識點列表和雷達圖似乎是自適應系統的標配,但是真正更有價值的是學生接下來關注什麼,對於老師最大價值也不應該是全班的知識圖譜列表,而是應該關注哪些易錯題,關注哪些普遍的知識點缺陷,並且找到那些需要重點關注的學生。
路徑的改變一般有多種方式,一個是改變使用者的學習流,原來是abc,現在改為abdc——這種方式偏向強制性,要求學生必須完成規定動作。另外一種是解鎖型,原來你不用去學這個課,現在出現了一些新的題目和課程可以去學習——這種方式的自由度更大,但學生完全可以選擇不去學習。