本项目是一个认知诊断系统,能够根据学习者的答题情况进行分析,诊断学习者的认知水平,并生成相应的诊断结果。系统通过多个智能代理协同工作,实现对答题过程的评估、追踪、情感分析、总结等功能,最终形成学习者的认知水平向量。
- Python 3.12+
- 相关依赖库(可通过
pip install -r requirements.txt安装,具体依赖需根据实际代码补充)
- 确保已准备好答题分析文件,其路径需配置在
agents/path.json的test_path字段中 - 认知水平诊断文件的输出路径配置在
agents/path.json的learner_path字段中 - 运行主程序:
python CognitiveDiagnosis_final/main.pyagents/path.json文件用于配置输入输出文件路径,格式如下:
{
"test_path": "Path/to/答题分析文件.json",
"learner_path": "Path/to/认知水平诊断文件.json"
}可根据实际需求修改上述路径。
当与其他系统联合运行时,服务器会自动完成以下操作:
- 构建初始的答题分析文件
- 构建初始的认知水平诊断文件
- 无需手动配置文件路径,系统会自动处理
若单独运行本认知诊断模块,需手动完成以下步骤:
- 构建答题分析文件,其结构可参考
resource/data/test_example.json - 构建认知水平诊断文件,其结构可参考
resource/data/learner_example.json - 在
agents/path.json中分别配置上述两个文件的路径
单独运行test.py即可根据答题分析文件按6:4自动划分训练集与测试集,并输出在测试集上的准确率。同样需手动完成以下步骤:
- 构建答题分析文件,其结构可参考
resource/data/test_example.json - 构建认知水平诊断文件,其结构可参考
resource/data/learner_example.json - 在
agents/path.json中分别配置上述两个文件的路径
- 评估代理(AssessmentAgent):对学习者的答题过程进行评估,判断答案正确与否
- 追踪代理(TraceAgent):追踪学习者答题过程中涉及的先前知识
- 情感分析代理(SentimentAnalysisAgent):分析学习者在学习过程中的情感状态
- 总结代理(SummarizeAgent):总结学习者当前的知识掌握情况
- 投票代理(VoteAgent) 与 决策代理(DecisionAgent):通过多代理投票和决策机制,形成认知诊断结果
- 预测代理(PredictAgent) 与 反思代理(ReflectAgent):预测学习者答题结果,针对错误进行反思并更新认知水平
系统的主要输出为认知水平诊断文件,该文件包含学习者的认知向量,记录了学习者在各个知识点的不同难度级别(入门、进阶、精通)上的掌握情况,具体格式可参考示例文件。
- 确保答题分析文件格式正确,否则可能导致系统运行错误
- 若修改了
path.json中的路径,需确保对应路径下的文件存在(与系统一起运行时会尝试自动创建不存在的文件,模块单独运行时需提前准备) - 运行过程中若出现错误,可查看日志信息进行排查,日志格式为
%(asctime)s - %(levelname)s - %(message)s