介绍
本科毕业设计《基于DSSM的图书推荐系统》;
前后端分离网站;pytorch;
主要技术有 :
- spring boot
- vue
- pytorch
源代码
https://download.csdn.net/download/ccs174/20089415
摘要
本文将研究深度语义匹配模型(Deep Structured Semantic Model)简称DSSM在个性化推荐系统的召回模块的应用,并且基于图书穿越社(Book Crossing)数据集对用户特征建模并进行深度学习训练。最后使用了Spring boot框架搭建了Java Web网站后端,Vue-cli搭建了网站的前端作为用户交互界面和图书推荐结果展示页面。
DSSM模型简介
我的模型设计
具体实现
class DNNModel(nn.Module):
def __init__(self, inp_user, inp_item):
super(DNNModel, self).__init__()
self.user_embed = nn.Embedding(input_user[0][0], input_user[0][1])
self.item_embed = nn.Embedding(input_item[0][0], input_item[0][1])
self.user_dnn = nn.Sequential(
nn.Linear(128, 64),
nn.LeakyReLU(),
nn.Linear(64, 64),
nn.LeakyReLU()
)
self.item_dnn = nn.Sequential(
nn.Linear(128, 64),
nn.LeakyReLU(),
nn.Linear(64, 64),
nn.LeakyReLU()
)
def forward(self, x):
u = self.user_embed(x[:, 0])
m = self.item_embed(x[:, 1])
u = self.user_dnn(u)
m = self.item_dnn(m)
u = u/torch.sum(u*u, 1).view(-1,1)
m = m/torch.sum(m*m, 1).view(-1,1)
return u, m