[发明专利]一种基于神经协同过滤的推荐方法有效
申请号: | 202110164253.2 | 申请日: | 2021-02-05 |
公开(公告)号: | CN112818256B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 贺巩山;丁立新;赵东星 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F16/9536 | 分类号: | G06F16/9536;G06F16/9535;G06Q30/06;G06N3/04;G06N3/08 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 张宇 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经 协同 过滤 推荐 方法 | ||
1.一种基于神经协同过滤的推荐方法,其特征在于,包括:
S1:检索数据库和日志文件,查询用户和物品之间的交互记录,将交互记录的原始数据分割为训练集和测试集两个部分,使用训练集构建用户-物品交互矩阵其中,M和N分别表示系统中用户和物品的个数,若用户u和物品i之间存在交互行为,则用户-物品交互矩阵Y中第u行i列的元素值为1;否则,值为0;
S2:从用户-物品交互矩阵Y的缺失项中抽取负样本,完善训练集;
S3:使用用户和物品的ID及历史交互作为原始输入,经过one-hot和multi-hot编码后,转变为模型能够直接处理的输入向量,利用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量,从而得到目标用户u和候选物品i的两类表示向量;
S4:使用嵌入整合层,将目标用户u和候选物品i的两类表示向量整合在一起,形成目标用户u和候选物品i最终的表示向量;
S5:使用神经协同过滤层对目标用户u和候选物品i之间的交互行为进行建模;
S6:计算目标用户u对候选物品i的感兴趣程度;
S7:选择目标函数和优化方法,优化模型,更新模型参数;
S8:返回执行步骤S2,继续训练模型,直至模型收敛或者超过最大的迭代次数;
S9:生成推荐列表,并对模型的性能进行评估;
步骤S4包括:
S4.1:对于矩阵分解MF部分,由将两类表示向量相加,得到了目标用户u最终的表示向量和候选物品i最终的表示向量pu表示从ID的角度得到目标用户u的表示向量,qi表示从ID的角度得到候选物品i的表示向量,mu表示从历史交互的角度得到目标用户u的表示向量,ni表示从历史交互的角度得到候选物品i的表示向量;
S4.2:对于多层感知器MLP部分,由通过向量拼接操作,形成了目标用户u最终的表示向量和候选物品i最终的表示向量其中,表示向量拼接,p′u表示从ID的角度得到目标用户u的表示向量,q′i表示从ID的角度得到候选物品i的表示向量,m′u表示从历史交互的角度得到目标用户u的表示向量,n′i表示从历史交互的角度得到候选物品i的表示向量;
步骤S5包括:
S5.1:对于矩阵分解MF部分,由对用户和物品之间的交互行为进行建模,其中,eMF表示矩阵分解的输出向量,⊙表示哈达玛积;
S5.2:对于多层感知器MLP部分,由将用户和物品的表示向量拼接起来,得到神经协同过滤层的输入向量eui;然后,将eui喂进多层感知器中,去学习用户和物品之间的交互函数,得到多层感知器的输出向量eMLP。
2.根据权利要求1所述的方法,其特征在于,步骤S3包括:
S3.1:对目标用户u和候选物品i的ID执行one-hot编码,对于目标用户u,其ID的one-hot编码是一个长度为M的二进制向量只有第u个元素为1,其他元素均为0;对于候选物品i,其ID的one-hot编码是一个长度为N的二进制向量只有第i个元素为1,其他元素均为0;
S3.2:对目标用户u和候选物品i的历史交互执行multi-hot编码,对于目标用户u,其历史交互的multi-hot编码是一个长度为N的二进制向量只有用户u交互过的物品ID对应的位置为1,其他位置均为0;对于候选物品i,其历史交互的multi-hot编码是一个长度为M的二进制向量只有和候选物品i有过交互行为的用户ID对应的位置为1,其他位置均为0;
S3.3:使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110164253.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种行程方便调节的超声波焊接机架
- 下一篇:一种扣式锂离子电池