1:数据处理
2:模型构建(init,layer loss定义,forward,loss计算)
init:初始化
根据kg文件创建了一个kg集合,这个集合里面包括每个商品和它有关联的商品和联系,一共6937个商品集合。
在创建一个user集合,包括了每个用户看过的电影。
根据kg集合和user集合我们可以创建波纹网络,
构建的波纹网络采用两级跳也就是两层。每个用户和其购买的前20个商品,每个商品的头关系尾,二级的头关系尾。一共是944个集合。里面数据采用torch.LongTensor存储。最主要的是_build_ripple_set。如何构建。
layer层
主要是进行了entity_embedding,relation_embedding,以及一个nn.Linear()。以及损失函数BCEWithLogitsLoss()和EmbLoss()损失。
3:训练器搭建(fit和evalute)根据评估效果修改模型
4:预测模块