1.一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,包括具体步骤如下:S1:筛选学生数据,构建学生答题数据集,对学生数据进行预处理;
S2:构建知识追踪模型,用于预测学生答题情况并输出学生知识掌握水平;
其中,所述S2的具体步骤如下:
S21:计算学生做题用时和做题时间间隔,初始化做题用时、做题时间间隔、知识掌握水平和答题情况的嵌入向量;
S22:结合问题难度构建题目嵌入,计算符合学生知识掌握水平的个性化问题难度;
S23:计算学生回答问题后的知识获取程度;
S24:计算学习效率,更新学生知识掌握水平;
S25:预测学生在时刻t+1的答题情况,判断是否输出学生的知识掌握水平;
S3:训练知识追踪模型;
S4:应用模型,为学生个性化推荐问题。
2.根据权利要求1所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S1的具体步骤如下:S11:筛选学生数据,分类整理学生答题数据;
S12:计算问题作答难度和知识点难度,初始化问题序号、知识点序号和问题难度的嵌入矩阵。
3.根据权利要求2所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S11的具体步骤如下:S111:获取学生初始答题数据,答题数据中的每条答题记录包含学生序号、答题情况、开始做题时间、结束做题时间、问题序号、知识点序号、知识点名称、问题类型、教师序号信息;
S112:将学生答题数据中涉及的信息进行分类整理,分类整理后得到学生列表、问题列表和知识点列表如下:学生列表S={s1,s2,…,sI},si∈S表示一个学生,其值为学生序号,I为学生数量;
问题列表Q={q1,q2,…,qJ},qj∈Q表示一个问题,其值为问题序号;J为问题数量;
知识点列表K={k1,k2,…,kN},kn∈K表示一个知识点,其值为知识点序号,N为知识点数量;
在做题过程中,学生si的答题记录序列表示为Xi={(q1,a1),(q2,a2),…,(qT,aT)},其中,(qt,at)为si在时刻t的做题记录,qt∈Q是si在时刻t回答的问题,at是si在时刻t关于qt的答题情况,其值为0或1,1表示回答正确,0表示回答错误,T是si的答题数量,将si答题的开始答题时间和结束答题时间记录于答题时间序列QTi={(st1,et1),(st2,et2),…,(stT,etT)},其中,(stt,ett)为si在时刻t回答qt的开始答题时间stt和结束答题时间ett。
4.根据权利要求3所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S12的具体步骤如下:S121,计算问题作答难度,其问题列表Q中的任一问题qj的问题作答难度的计算方法如下:S1211:统计所有回答qj的学生数量,计算答对qj的学生数量在回答qj的总学生数中的占比,再乘以问题作答难度等级cqs,即可得到qj的问题作答难度,计算公式如下:其中,qsj为qj的问题作答难度, 为回答qj的学生数量, 为答对qj的学生总数,Cqs为设置的问题作答难度等级;
S1212:重复S121,计算Q中所有问题的问题作答难度,得到问题作答难度列表QS={qs1,qs2,…,qsJ},qsj∈QS表示qj的问题作答难度;
S122,计算知识点难度,其知识点列表K中的任一知识点kn的难度的计算方法如下:S1221:统计所有回答了包含kn的问题的学生总数,然后计算其中答对包含kn的问题的学生数量占比,再乘以知识点难度等级Ckd,即可得到kn的难度,计算公式如下:其中,kdn为kn的知识点难度, 为回答了包含kn的问题的学生数量,为答对包含kn的问题的学生数量,Ckd为设置的知识点难度等级;
S1222:重复S122,计算K中所有知识点的知识点难度,得到知识点难度列表KD={kd1,kd2,…,kdN},kdn∈KD表示kn∈K的知识点难度;
S123,初始化知识点序号、问题序号的嵌入矩阵:
1×N
S1231,初始化知识点序号嵌入矩阵KN:将知识点kn的序号表示为独热编码O(kn)∈R ,设置一个嵌入矩阵 将kn映射成嵌入向量其中,dk是知识点序号嵌入向量的维度,计算所有知识点序号的嵌入向量,然后合并成一个知识点序号嵌入矩阵 KN中的每一个dkn维的行向量表示一个知识点;
1×J
S1232,初始化问题序号嵌入矩阵QN:将问题qj的序号表示为独热编码O(qj)∈R ,设置一个嵌入矩阵 将qj映射成嵌入向量其中,dq是问题序号嵌入向量的维度,计算所有问题序号的嵌入向量,然后合并成一个问题序号嵌入矩阵 QN中的每一个dqn维的行向量表示一个问题;
S124,计算问题难度,初始化问题难度嵌入矩阵QD:
S1241,计算问题难度:首先,构建矩阵QK用于描述问题与知识点之间的关联,QK中的每一行对应一道问题,QK中的每一列对应一个知识点,当qj与kn相关联时,则QK中第j行n列位置的值为1,否则为0;同时,为计算各知识点与问题的关联程度,利用QK计算出qj与各知识点的关联权重其中,KN是知识点序号嵌入矩阵;QKj,:表示QK的第j行,用于描述qj与各知识点的关联状态;权重 表示qj与各知识点的关联程度;然后,考虑问题难度关联问题作答难度和问题包含的知识点难度,通过qj与各知识点的关联权重 对知识点难度KD加权,再将加权后的知识点难度与问题作答难度相加得到qj的问题难度qdj,计算公式如下:其中,QSj为问题作答难度列表QS的第j位,表示qj的问题作答难度, 为 的转置;
S1242,初始化问题你拿度嵌入矩阵QD:将qj的难度qdj表示为独热编码设置一个嵌入矩阵 Cqs为S1211中设置的问题作答难度等级,将qdj映射成嵌入向量
其中,dqd是问题难度嵌入向量的维度,计算所有问题难度的嵌入向量,然后合并成一个问题难度嵌入矩阵 QD中的每个dqd维的行向量代表一个问题难度。
5.根据权利要求1所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S21的具体步骤如下:S211,计算做题用时和做题时间间隔:
S2111:从S11分类整理好的数据中获取学生si的答题记录序列Xi={(q1,a1),(q2,a2),…,(qT,aT)}和答题时间序列QTi={(st1,et1),(st2,et2),…,(stT,etT)},将si回答qt的结束做题时间ett减去开始做题时间stt,得到si回答qt的做题用时aqt,计算公式如下:aqt=ett‑stt
S2112:计算Xi中所有问题的做题用时,得到si的做题用时列表AQi={aq1,aq2,…,aqT},其中,aqt∈AQi表示si回答qt的做题用时;
S2113:对于si回答的任一问题qt,根据在S122计算得到的qt与各知识点的关联权重得到与qt关联程度最高的知识点kt,在si回答qt前的答题记录(即{(q1,a1),(q2,a2),…,(qt‑1,at‑1)})中搜索与kt关联程度最高且与qt结束做题时间间隔最小的问题q′t,将si回答qt的结束做题时间ett减去回答q′t的结束做题时间et′t,得到si回答qt的做题时间间隔bqt,若q′t不存在,则bqt=0,计算公式如下:S2114:计算Xi中所有问题的做题时间间隔,得到做题时间间隔列表BQi={bq1,bq2,…,bqT},其中bqt∈BQi表示si回答qt的做题时间间隔;
S212,初始化做题用时嵌入向量和做题时间间隔嵌入向量:
1×T
S2121:将si回答qt的做题用时aqt表示为独热编码O(aqt)∈R ,设置一个嵌入矩阵将aqt映射为嵌入向量 daq是做题用时嵌入向量的维度:S2122:计算Xi中所有问题的做题用时嵌入向量,合并成做题用时嵌入矩阵
1×T
S2123:将si回答qt的做题时间间隔bqt表示为独热编码O(bqt)∈R ,设置一个嵌入矩阵 将bqt映射为嵌入向量 dbq是做题时间间隔嵌入向量的维度:
S2124:计算Xi中所有问题的做题时间间隔嵌入向量,合并成做题时间间隔嵌入矩阵S213,初始化知识掌握水平和答题情况嵌入向量:S2131:创建向量 用来表示si在t时刻的知识掌握水平,dh是 的维度;
S2132:对于si回答qt的答题情况at,将at映射成嵌入向量 da是答题情况嵌入向量的维度, 的元素为1时表示回答正确,元素为0时表示回答错误。
6.根据权利要求5所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S22的具体步骤如下:S221,结合问题难度构建题目嵌入:对于si在时刻t的答题记录(qt,at),利用S123所述的问题难度嵌入矩阵QD来加强问题qt的信息表示,结合qt的问题序号嵌入 问题与知识点的关联权重 和问题难度嵌入 通过多层感知机输出qt的题目嵌入 计算方式如下:
其中, 是矩阵串联运算, 是权重矩阵, 是偏置项;
S222,计算符合学生知识掌握水平的个性化问题难度:在时刻t,输入si在回答qt前的知识掌握水平 至个性化问题难度计算模块,利用qt的题目嵌入 和 计算输出qt对si的个性化问题难度 dsq是SQt的维度,计算方式如下:其中, 是si回答qt前的知识掌握水平,tanh是一种非线性激活函数,σ是sigmoid激活函数, 是权重矩阵, 是偏置项,用于计算qt对si的个性化问题难度的特征表示,
用于计算qt对si的个性化问题难度的权重信息。
7.根据权利要求6所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S23的具体步骤如下:S231:串联si回答qt时的做题用时嵌入向量 做题时间间隔嵌入向量 和答题情况嵌入向量 用于表示si的答题表现 计算方式如下:S232:将个性化问题难度 输入至知识获取程度计算模块,结合 和 计算输出si的知识获取程度 计算方式如下:其中, 是权重矩阵, 是偏置项,
用于 提取s i的知识 获取程 度的特 征表示 ,
用于计算si的知识获取程度的权重信息。
8.根据权利要求7所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S24的具体步骤如下:S241:设计一种学习效率计算模块,通过学生si的答题情况和做题用时计算其学习效率,当学生si在回答问题qt时,认为回答正确相对回答错误的学习效率更高,做题用时适中相对做题用时过长或过短的学习效率更高,学习效率lt计算方式如下:其中,a为超参数,σ是sigmoid激活函数,at为学生回答qt的答题情况,aqt是学生si回答qt做题用时, 是所有学生回答qt做题用时的平均值;
S242:设计一种知识掌握水平更新模块,输入知识获取程度 和知识掌握水平至知识掌握水平更新模块,将lt作为权重,对 和 进行赋权相加,输出更新后的知识掌握水平 知识掌握水平更新计算方式如下:其中, 为si回答qt前的知识掌握水平, 为si回答qt后的知识掌握水平。
9.根据权利要求8所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S25的具体步骤如下:S251: 为si在时刻t+1的知识掌握水平,结合qt+1的题目嵌入 可以得到si回答qt+1答题情况的预测yt+1,计算方式如下:其中,yt+1为预测的si回答qt+1正确的概率,当yt+1≥β时,认为si回答正确,当yt+1<β时,认为si回答错误,β为手动设置的阈值;
S252:若t+1≤T,则跳至S22继续处理答题记录(qt+1,at+1);否则,输出si的知识掌握水平
10.根据权利要求1所述的一种结合难度特征和时间相关性特征的知识追踪方法,其特征在于,所述S3的具体步骤如下:S31:按一定的比例将学生答题数据集划分为训练集和测试集,初始化训练参数和模型超参数,将训练集的数据输入知识追踪模型进行训练;
S32:使用交叉熵损失函数计算学生真实答题情况at与预测值yt之间的损失值L,计算方式如下:其中,θ表示模型中所有可训练参数和嵌入,λθ为正则化超参数,当模型的正确率和损失值都趋于稳定时,训练结束,训练结束后,使用测试集对模型进行测试,确认模型实际预测能力;
所述S4的具体步骤如下:
S41:模型训练结束后,将一个学生的答题序列输入模型,经过模型处理后,输出其学生的知识掌握水平;
S42:针对学生掌握较弱的知识点,从问题列表中挑选学生未回答过且包含学生掌握较弱的知识点的问题组成问题序列向学生推荐作答,在学生作答推荐的问题序列时,模型同时预测学生答题情况,并更新学生的知识掌握水平。