基于知识图谱的推荐系统项目完整代码数据集在data文件夹下数据集为txt模式,分为训练集、验证集以及测试集
本系统是一个基于knowledge graph embedding的商品推荐系统,以下是对该系统的详细介绍,
基本代码都是自己所写,TransE和Rescal方法实现部分是照着论文与相关代码自己进行的复现
,并且相关代码中都有我写的一些注释。
1.generate_data.py是用于生成模拟数据,在进行真实使用时可以参照所生成模拟数据的格式进行数据录入
2.data文件夹下需要有entities.txt以及relations.txt两个数据,他们分别是实体(people和items)的名称以及索引号,以及关联的名称以及索引号,关联也可以有多种,
然后该文件夹下还应该有train.txt,valid.txt和test.txt,作为模型训练的依托,其中的neg.txt可要可不要,这个文件并不参与模型的训练过程
3.dataset.py文件主要是模型训练中处理数据的代码,model.py是我复现的两种knolwedge graph embedding的方法,在训练中进行调用
4.main.py是主函数,其中要修改成Rescal方法可以将TransE替换成Rescal,其他的地方可以设置训练所用的超参数
5.run.py是用于对模型的超参数进行设置,采用的是五折交叉验证,在求打分验证时可以采用不同的scoring函数,注释后面写有“Rescal”的
6.use.py是用所有样本进行训练,对所有负样本地方打分并排序,取前100个打分进行输出(数量可选)
7.run.sh是在linux系统下使用的,如是windows系统,可以直接吧代码中os.system('bash run.sh')改为os.system('pythonmain.py'),具体超参数在main中设置即可
8.如果在run.py中发现如何调超参数模型效果都不理想,可能是由于数据过于简单或者不真实所造成。


雷达卡






京公网安备 11010802022788号







