1、概述
为了推荐符合高等教育教学要求的个性化学习资源,本文提出了Q-LRDP-D:基于Q矩阵的学习资源难度预测和学习资源序列生成。
- 首先,使用Q矩阵理论对学习资源和知识点进行建模
- 然后,通过学习资源难度预测(LRDP)的LSTM算法对学生的学习资源掌握情况进行预测(DKT),本文实验用的学习资源是练习题
- 其次,根据线下课程教学单元的要求,将待学习知识点进行循环地预测,形成学习资源的有向路径图
- 最后,利用Dijkstra最短路径算法,计算出最符合学生当前学习水平的学习资源序列来完成学习任务
下文将根据以上四个部分对Q-LRDR-D展开介绍。
一些名词的英文缩写:
- KPs:Knowledge Points,专家制定的知识点、概念等
- KS:Knowledge State,学习者的知识掌握状态(通过答题情况、Learning records来获取)
- DKT:Deep Knowledge Tracing,基于RNN、LSTM的知识追踪模型
- Dijkstra:Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O ( n 2 ) O(n^2) O(n2)
2、Q矩阵理论建立学习资源库
Q矩阵
Q矩阵首先由Embresin提出,Q矩阵描述了学习资源与知识点之间的包含关系,一般为0-1矩阵,为m行(|m|为学习资源的数量)和n列(|n|为KPs的数量)的矩阵,
Q
i
,
j
=
1
Q_{i,j} = 1
Qi,j=1,表示学习资源i包含KP j
Q矩阵的每一行表示该学习资源中涉及的所有KPs,如果学习者学会了这一学习资源,他/她将掌握其中涉及的所有KPs。
A矩阵
知识点之间是有关联的,使用0-1邻接矩阵 A n ∗ n A^{n*n} An∗n去表示那些有直接关系的知识点们
R矩阵
有时候,我们关注的不是从一个地点到另一个地点的费用,而是能否从一个顶点到达另一个顶点。
可达矩阵accessible matrix(R matrix)体现的就是知识点之间的直达关系、间接到达关系和自循环关系,也是0-1矩阵(边的权值为单位1)
R矩阵可以通过A矩阵获得: R = ( A + I ) n R=(A+I)^n R=(A+I)n
KS列向量
KS是一个k列的0-1向量,其中1表示该知识点已被学习者掌握,0表示没有被掌握
例如
(
0
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
0
,
.
.
.
)
T
(0,1,1,0,1,0,1,1,0,...)^T
(0,1,1,0,1,0,1,1,0,...)T
KS可以通过可拓算法由R矩阵得到
3、LRDP 学习资源的难度预测
有点绕的LR难度概率表示
“一道题对于学习者来说有多难”
⇌
⇌
⇌ “1 - 学习者对这道题的掌握情况”
学习者在时间步
t
+
1
t+1
t+1掌握下一个学习资源的probability,可以根据他
0
−
t
0-t
0−t时间步的学习资源掌握记录来推断(比如答对答错情况)
而根据Q矩阵理论,学生能否掌握一个学习资源,取决于学生是否掌握了该学习资源所涉及的所有Kps
这里用 P ( K a ) P(K^a) P(Ka)表示学生a掌握所有知识点的概率,注意,根据Q矩阵理论,一个学习资源中包含一个课程中所有的知识点,最简单的编码方法以one-hot编码表示,如(1,0,0,1,1,0…)
P
(
K
a
)
=
(
P
(
K
1
a
)
,
P
(
K
2
a
)
,
.
.
.
,
P
(
K
n
a
)
)
P(K^a) = (P(K^a_1), P(K^a_2),...,P(K^a_n))
P(Ka)=(P(K1a),P(K2a),...,P(Kna)) 所有知识点都掌握的联合概率
P
(
K
a
)
P(K^a)
P(Ka)也可以写作
P
m
a
P_m^a
Pma,指学习者a掌握学习资源m的概率
P
(
K
a
)
=
P
m
a
=
∏
i
=
1
n
P
(
K
i
a
)
×
Q
i
,
j
n
P(K^a) = P_m^a = \sqrt[n]{\prod_{i=1}^{n}P(K^a_i)\times Q_{i,j}}
P(Ka)=Pma=n∏i=1nP(Kia)×Qi,j
一道题目、一个学习资源的难度 D m a = 1 − P m a D_m^a= 1− P_m^a Dma=1−Pma,当 P m a ≥ 0.5 P_m^a \ge 0.5 Pma≥0.5,认为学习者a能够掌握此学习资源m
DKT with RNN or LSTM
DKT:深度知识追踪模型,用长短期记忆网络来算
P
m
a
P_m^a
Pma
下图是DKT模型按照时间展开的示意图,其输入序列 x1,x2,x3…对应了 t1,t2,t3…时刻学生答题信息的编码,隐层状态 h1,h2,h3…对应了各个时刻学生的知识点掌握情况,模型的输出序列 y1,y2,y3…对应了各时刻学生回答题库中的所有习题答对的概率
输入
X
t
X_t
Xt由
(
Q
m
,
A
m
)
(Q_m,A_m)
(Qm,Am)组成(学习资源+是否答对此题),其中
A
m
A_m
Am是一个0-1变量:
- 1表示学生答对
- 0表示答错
这个变量决定了t时刻Q矩阵的行向量(学习资源m)和其对应的作答情况是否做对。
输出
Y
t
Y_t
Yt是一个长度为n的向量,其中每个分量代表正确回答相应知识点的概率。
训练良好的LSTM网络的输出
Y
t
Y_t
Yt表示学生a掌握课程中所有Kps的概率
P
(
K
a
)
P(K^a)
P(Ka)
DKT通过交叉熵损失和小批量随机梯度下降算法进行训练。
上图是一个学生学习8年级数学的知识追踪可视化。她进行了先后50道题的训练,每道题只包含一个知识点,比如第一道题(第一列)上面显示棕色的圆圈,代表知识点Square roots,圆圈的实心代表她这道题做对了,空心代表做错了。由第一道题(第一列)推断出她对所有共6个知识点的掌握情况是:从上到下有蓝有绿,越绿表示该知识点掌握得越牢固,因为第一道题只考察了Square roots,并且她做对了,所以第一列的最小方是绿色的;而第4列到第9列都考察了y-intercept截距的求解,且她都做错了,所有这一行连续4~9列都是蓝的(不全都是最蓝色是因为其他知识点也影响当前知识点的掌握情况,即:知识点之间有关联)。通过50道题的训练,最后一列表示她当前6个知识点的掌握情况。
4、LRSG 学习资源序列生成
LRSG秉持着从学习者当前知识掌握状态KS出发,为学习者生成由易到难的一系列题目,来完成个性化推荐。
具体来说是根据KS中知识点掌握情况,从Q矩阵中找那些未掌握知识点对应的学习资源,难度级别逐步提高,直到学习者能够完成线下教学单元规定的最多kp的学习资源为止。
5、实验设置
本实验主要以习题作为学习资源,来源于《e-Marketing》课程的4个教学单元、8个班级的625名本科生的习题数据,如表1所示
在LRDP模块中,LSTM算法主要用于预测学生是否能够正确回答习题,因此将precision和recall作为主要的验证指标。
为了验证生成习题序列的有效性,这些习题应由学生正确回答,也就是难度要符合学生的KS。
验证序列使用了两个指标,correct response rate 和 the average return
A
c
c
=
1
S
∑
j
=
1
S
∑
i
∈
R
j
A
i
j
∣
R
j
∣
Acc = \frac{1}{S}\sum^S_{j = 1} \frac{\sum_{i∈R_j}A^j_i}{|R_j|}
Acc=S1∑j=1S∣Rj∣∑i∈RjAij
Acc是回答正确率,S是参与作答生成序列的的学生总人数,
R
j
R_j
Rj给学生j生成的序列,
A
i
j
A_i^j
Aij是学生j答对的题目
E
f
f
=
1
S
∑
j
=
1
S
T
e
s
t
j
∣
R
j
∣
Eff = \frac{1}{S}\sum^S_{j = 1}\frac{Test_j}{|R_j|}
Eff=S1∑j=1S∣Rj∣Testj
T
e
s
t
j
Test_j
Testj是学生j的考试成绩,Eff是平均回报