基于GIKT深度知识追踪模型的习题推荐系统
目录结构
Flask-BackEnd
flask后端
- app后端主体文件
- alg深度学习模块
- data数据集
- data_process.py数据预处理
- gikt.pyGIKT模型
- pebg.pyPEBG模型
- params.py一些参数
- train.py仅模型训练
- train_test.py模型训练和测试-五折交叉验证
- train_test2.py模型训练和测试-4:1训练测试
- utils.py工具函数
- viewflask蓝图
- init.py初始化
- create_data.py创建初始数据
- entity.py实体类
- setup.py启动
- migrate数据库迁移文件
Vue-FrontEnd
vue前端
- public共用文件
- src源代码
- api全局请求设置
- assets静态组件
- components自定义vue组件
- layout页面布局
- router路由
- store信息储存
- views页面
- App.vue开始文件
- main.jsjs包引入
- 其他的是一些配置
启动
上面未提及的一些目录都在
.gitignore
,请手动添加后再启动
前端
进入目录
Vue-FrontEnd
cd Vue-FrontEnd
安装需要的包
cnpm install
启动
npm run serve
后端
- 用pycharm打开目录
Flask-BackEnd
- 修改mysql数据库配置项
- 执行
er_gikt.sql
文件, 生成数据库结构 - 运行
data_process.py
,生成预训练数据 - 运行pre_train.py,生成预训练问题向量
- 运行
train.py
,训练并保存一次模型(以便后端调用) - 用pycharm或者终端启动
setup.py
,根据报错安装需要的包,其中:- pytorch==1.10.1- flask==2.2.5 - 解决报错后,运行一次
create_data.py
(或者在__init__.py
的app_context中调用一次create_data函数),在数据库中添加初始数据 - 重新启动,访问本机5001端口,测试系统
项目存在的一些问题
算法
- PEBG模型未按论文实现,实际上忽略了pnn网络(实现中出现了问题,故将其忽略)
- 参数仍可调优,最终结果可以继续优化
前端
- 前端使用的是vue2+vue-cli,最好可以用vue3+vite重构一遍
- 重复组件较多,Table,Chart等图都直接写在页面中,而未在assests中单独实现
- 习题、知识的CRUD没有实现(个人感觉没有必要)
后端
- 包引用(尤其是对算法包
alg
的引用)存在问题,使用了粗暴的解决方式sys.path.append()
,且无法使用相对路径导入 - flask数据库迁移会报错,只能自己手动通过DBMS修改
项目界面展示
完整代码下载地址:基于GIKT深度知识追踪模型的习题推荐系统
版权归原作者 yanglamei1962 所有, 如有侵权,请联系我们删除。