当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于神经协同过滤的推荐方法技术

技术编号:28501724 阅读:14 留言:0更新日期:2021-05-19 22:46
本发明专利技术公开了一种基于神经协同过滤的推荐方法,采用了双重嵌入的方式,从ID和历史交互两个方面去表示用户和物品,继而得到了用户和物品的两类表示向量。然后,使用嵌入整合层,将两类表示向量融合在一起,相互补充,进而得到了更好的用户和物品表示。最后,利用神经协同过滤层对用户和物品之间的交互行为进行建模,学习二者之间的交互函数,以预测用户对物品的感兴趣程度。品的感兴趣程度。品的感兴趣程度。

【技术实现步骤摘要】
一种基于神经协同过滤的推荐方法


[0001]本专利技术属于计算机推荐系统领域,更具体地,涉及一种基于神经协同过滤的推荐方法。

技术介绍

[0002]随着信息技术的飞速发展,互联网中信息的数量呈爆炸式增长,人们每天接收到的信息量远远超出了其处理能力,这使得人们难以从海量的信息中找出对自己有价值的那部分信息,该问题被称为信息过载(Information Overload)。正是在这样的历史背景下,推荐系统(Recommender Systems,RS)应运而生。目前,它已经成为一种解决信息过载问题的重要工具,不仅能够帮助用户找到需要或者感兴趣的信息,而且可以为企业带来丰厚的收益。
[0003]在推荐系统领域中,有两类主要的应用问题:评分预测和Top

N推荐。评分预测的目标是根据目标用户的历史评分和其他相关数据,预测其对候选物品的评分。而Top

N推荐的目标则是根据目标用户的历史行为(如浏览、点击、收藏以及购买等)和其他相关数据,对候选物品进行排序,将排在最前面的N个物品推荐给该用户。与评分预测相比,Top

N推荐更具有商业价值,因此,它已经成为推荐系统领域主流的研究问题。
[0004]在众多的推荐算法中,协同过滤(Collaborative Filtering,CF)算法是最古老且最常使用的一类算法,几乎成为了推荐系统的代名词。它利用集体智慧,借鉴相关人群的观点进行信息过滤,不仅在学术界被深入研究,而且被工业界广泛应用。在设计协同过滤模型时,有两个重要问题必须仔细考虑:第一,如何表示用户和物品;第二,在得到用户和物品的向量表示后,如何对它们之间的交互行为进行建模。
[0005]近年来,基于深度学习的推荐算法已经成为推荐系统领域的主流方法,受到了学术界和工业界的广泛认可。与传统的推荐方法相比,这类方法在评分预测和Top

N推荐任务中均取得了显著的效果。神经协同过滤是将深度学习应用在推荐系统领域的代表性研究,它提出了一种叫作神经矩阵分解(Neural Matrix Factorization,NeuMF)的推荐模型,利用线性的矩阵分解(Matrix Factorization,MF)和非线性的多层感知器(Multi

layer Perceptron,MLP)去学习用户和物品之间的交互函数。然而,在“如何表示用户和物品”这一问题上,神经协同过滤仅使用ID去表示用户和物品。此后,一系列研究和应用均沿用了该表示方式。这种方式的缺点在于它只能得到较弱的表示向量,这导致采用该方式的推荐方法不得不依靠交互函数来弥补表示向量的不足。

技术实现思路

[0006]针对现有技术的以上缺陷或改进需求,本专利技术提出了一种基于神经协同过滤的推荐方法,包括:
[0007]S1:检索数据库和日志文件,查询用户和物品之间的交互记录,将交互记录的原始数据分割为训练集和测试集两个部分,使用训练集构建用户

物品交互矩阵其
中,M和N分别表示系统中用户和物品的个数,若用户u和物品i之间存在交互行为,则用户

物品交互矩阵Y中第u行i列的元素值为1;否则,值为0;
[0008]S2:从用户

物品交互矩阵Y的缺失项中抽取负样本,完善训练集;
[0009]S3:使用用户和物品的ID及历史交互作为原始输入,经过one

hot和multi

hot编码后,转变为模型能够直接处理的输入向量,然后,利用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量,从而得到目标用户u和候选物品i的两类表示向量;
[0010]S4:使用嵌入整合层,将目标用户u和候选物品i的两类表示向量整合在一起,形成目标用户u和候选物品i最终的表示向量;
[0011]S5:使用神经协同过滤层对目标用户u和候选物品i之间的交互行为进行建模;
[0012]S6:计算目标用户u对候选物品i的感兴趣程度;
[0013]S7:选择合适的目标函数和优化方法,优化模型,更新模型参数;
[0014]S8:返回执行步骤S2,继续训练模型,直至模型收敛或者超过最大的迭代次数;
[0015]S9:生成推荐列表,并对模型的性能进行评估。
[0016]在一些可选的实施方案中,步骤S3包括:
[0017]S3.1:对目标用户u和候选物品i的ID执行one

hot编码,对于目标用户u,其ID的one

hot编码是一个长度为M的二进制向量只有第u个元素为1,其他元素均为0;对于候选物品i,其ID的one

hot编码是一个长度为N的二进制向量只有第i个元素为1,其他元素均为0;
[0018]S3.2:对目标用户u和候选物品i的历史交互执行multi

hot编码,对于目标用户u,其历史交互的multi

hot编码是一个长度为N的二进制向量只有用户u交互过的物品ID对应的位置为1,其他位置均为0;对于候选物品i,其历史交互的multi

hot编码是一个长度为M的二进制向量只有和候选物品i有过交互行为的用户ID对应的位置为1,其他位置均为0;
[0019]S3.3:使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量。
[0020]在一些可选的实施方案中,步骤S3.3包括:
[0021]S3.3.1:由从ID的角度得到目标用户u的表示向量p
u
和候选物品i的表示向量q
i
,由从历史交互的角度得到目标用户u的表示向量m
u
和候选物品i的表示向量n
i
,其中,表示目标用户u交互过的物品集合,表示和候选物品i有过交互行为的用户集合,和分别表示中元素的个数;素的个数;以及为转换矩阵;k<<min(M,N)是一个超参数,表示嵌入空间的维度大小;
[0022]S3.3.2:在另一个嵌入空间中,由从ID的角度得到目标用户u的表示向量p

u
和候选物品i的表示向量q

i
,由
从历史交互的角度得到目标用户u的表示向量m

u
和候选物品i的表示向量n

i
,其中,以及为转换矩阵;k

<<min(M,N)是一个超参数,表示另一个嵌入空间的维度大小。
[0023]在一些可选的实施方案中,步骤S4包括:
[0024]S4.1:对于矩阵分解MF部分,由将两类表示向量相加,得到了目标用户u最终的表示向量和候选物品i最终的表示向量
[0025]S4.2:对于多层感知器MLP部分,由通过向量拼接操作,形成了目标用户u最终的表示向量和候选物品i最终的表示向量其中,表示向量拼接。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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:生成推荐列表,并对模型的性能进行评估。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:使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的...

【专利技术属性】
技术研发人员:贺巩山丁立新赵东星
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1