CSLiJT / ID-CDF

Official code of TheWebConf'24 paper "Towards the Identifiability and Explainability for Personalized Learner Modeling: An Inductive Paradigm"
https://dl.acm.org/doi/abs/10.1145/3589334.3645437
3 stars 0 forks source link

您好,我是一名正在做系统的本科生,想将您的模型嵌入到个性化智能教育系统中,但我该如何进行预测 #2

Open npcccccccccccccc opened 3 weeks ago

npcccccccccccccc commented 3 weeks ago

我打算做一个具有个性化学习路径推荐功能的系统(该系统只作为校内课程设计使用,不发布、不涉及商用),想嵌入一个最新的认知诊断/知识追踪模型,请问可以使用IDCDF或者贵校的其他最新模型吗,以及我该如何根据学生的数据预测学生的知识水平

CSLiJT commented 3 weeks ago

你好,不涉及商用则是可以用的。首先你需要一个根据你的数据集训练好的ID-CDM模型。然后,有两种方案可以诊断学生的知识水平:

  1. 实时诊断 - IDCD.diagnose_theta(user_log: torch.Tensor)。该方法读取学生答题得分数据,直接输出知识掌握水平向量。
  2. 读取缓存 - IDCD.get_Theta_buf()。ID-CDF在训练过程中,每一轮会保存由训练集推断出的学生知识水平向量。该方法直接返回最后一轮由训练集推断出的学生知识水平向量。

具体用法见model.py的代码注释。

npcccccccccccccc commented 3 weeks ago

感谢您的回复!我看data部分中训练需要csv文件和Q矩阵,想请问一下csv文件中分别是学生编号、习题编号、回答情况吗,以及Q矩阵是否完全是人工构建

CSLiJT commented 2 weeks ago
  1. 是的。user_id是学生编号,item_id是试题编号,下标均从0开始;score是回答情况,为0(错误)或1(正确),理论上也可以是0~1的小数;
  2. 是的。Q矩阵反映试题与知识点的考察关系。我们沿着传统认知诊断理论的设定,Q矩阵由人工构建。当然,如果有题目文本和知识点编码标准,也可以尝试使用大模型或其他自动化方式构建。