CN112818256B - 一种基于神经协同过滤的推荐方法 - Google Patents
一种基于神经协同过滤的推荐方法 Download PDFInfo
- Publication number
- CN112818256B CN112818256B CN202110164253.2A CN202110164253A CN112818256B CN 112818256 B CN112818256 B CN 112818256B CN 202110164253 A CN202110164253 A CN 202110164253A CN 112818256 B CN112818256 B CN 112818256B
- Authority
- CN
- China
- Prior art keywords
- vector
- user
- target user
- representing
- interaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000001537 neural effect Effects 0.000 title claims abstract description 20
- 238000001914 filtration Methods 0.000 title claims abstract description 19
- 239000013598 vector Substances 0.000 claims abstract description 98
- 230000003993 interaction Effects 0.000 claims abstract description 63
- 239000013604 expression vector Substances 0.000 claims abstract description 26
- 230000010354 integration Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 14
- 238000000354 decomposition reaction Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 20
- 230000006399 behavior Effects 0.000 abstract description 15
- 230000014509 gene expression Effects 0.000 abstract description 9
- 230000009977 dual effect Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于神经协同过滤的推荐方法,采用了双重嵌入的方式,从ID和历史交互两个方面去表示用户和物品,继而得到了用户和物品的两类表示向量。然后,使用嵌入整合层,将两类表示向量融合在一起,相互补充,进而得到了更好的用户和物品表示。最后,利用神经协同过滤层对用户和物品之间的交互行为进行建模,学习二者之间的交互函数,以预测用户对物品的感兴趣程度。
Description
技术领域
本发明属于计算机推荐系统领域,更具体地,涉及一种基于神经协同过滤的推荐方法。
背景技术
随着信息技术的飞速发展,互联网中信息的数量呈爆炸式增长,人们每天接收到的信息量远远超出了其处理能力,这使得人们难以从海量的信息中找出对自己有价值的那部分信息,该问题被称为信息过载(Information Overload)。正是在这样的历史背景下,推荐系统(Recommender Systems,RS)应运而生。目前,它已经成为一种解决信息过载问题的重要工具,不仅能够帮助用户找到需要或者感兴趣的信息,而且可以为企业带来丰厚的收益。
在推荐系统领域中,有两类主要的应用问题:评分预测和Top-N推荐。评分预测的目标是根据目标用户的历史评分和其他相关数据,预测其对候选物品的评分。而Top-N推荐的目标则是根据目标用户的历史行为(如浏览、点击、收藏以及购买等)和其他相关数据,对候选物品进行排序,将排在最前面的N个物品推荐给该用户。与评分预测相比,Top-N推荐更具有商业价值,因此,它已经成为推荐系统领域主流的研究问题。
在众多的推荐算法中,协同过滤(Collaborative Filtering,CF)算法是最古老且最常使用的一类算法,几乎成为了推荐系统的代名词。它利用集体智慧,借鉴相关人群的观点进行信息过滤,不仅在学术界被深入研究,而且被工业界广泛应用。在设计协同过滤模型时,有两个重要问题必须仔细考虑:第一,如何表示用户和物品;第二,在得到用户和物品的向量表示后,如何对它们之间的交互行为进行建模。
近年来,基于深度学习的推荐算法已经成为推荐系统领域的主流方法,受到了学术界和工业界的广泛认可。与传统的推荐方法相比,这类方法在评分预测和Top-N推荐任务中均取得了显著的效果。神经协同过滤是将深度学习应用在推荐系统领域的代表性研究,它提出了一种叫作神经矩阵分解(Neural Matrix Factorization,NeuMF)的推荐模型,利用线性的矩阵分解(Matrix Factorization,MF)和非线性的多层感知器(Multi-layerPerceptron,MLP)去学习用户和物品之间的交互函数。然而,在“如何表示用户和物品”这一问题上,神经协同过滤仅使用ID去表示用户和物品。此后,一系列研究和应用均沿用了该表示方式。这种方式的缺点在于它只能得到较弱的表示向量,这导致采用该方式的推荐方法不得不依靠交互函数来弥补表示向量的不足。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于神经协同过滤的推荐方法,包括:
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:生成推荐列表,并对模型的性能进行评估。
在一些可选的实施方案中,步骤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:使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量。
在一些可选的实施方案中,步骤S3.3包括:
S3.3.1:由从ID的角度得到目标用户u的表示向量pu和候选物品i的表示向量qi,由从历史交互的角度得到目标用户u的表示向量mu和候选物品i的表示向量ni,其中,表示目标用户u交互过的物品集合,表示和候选物品i有过交互行为的用户集合,和分别表示中元素的个数; 以及为转换矩阵;k<<min(M,N)是一个超参数,表示嵌入空间的维度大小;
S3.3.2:在另一个嵌入空间中,由从ID的角度得到目标用户u的表示向量p′u和候选物品i的表示向量q′i,由 从历史交互的角度得到目标用户u的表示向量m′u和候选物品i的表示向量n′i,其中,以及为转换矩阵;k′<<min(M,N)是一个超参数,表示另一个嵌入空间的维度大小。
在一些可选的实施方案中,步骤S4包括:
在一些可选的实施方案中,步骤S5包括:
S5.2:对于多层感知器MLP部分,由将用户和物品的表示向量拼接起来,得到神经协同过滤层的输入向量eui;然后,将eui喂进多层感知器中,去学习用户和物品之间的交互函数,得到多层感知器的输出向量eMLP。
在一些可选的实施方案中,步骤S6包括:
总体而言,与现有技术相比,通过本发明所构思的以上技术方案,能够取得下列有益效果:
本发明采用双重嵌入的方式,从ID和历史交互两个方面去表示用户和物品。然后,使用嵌入整合层,将两类表示向量整合在一起,以得到更好的用户和物品表示。最后,使用神经协同过滤层对用户和物品之间的交互行为进行建模。与仅使用ID或者历史交互相比,综合利用二者来表示用户和物品,获得了更好的表示向量,对学习用户和物品之间的交互函数也起到了很大的帮助作用,进而提高了模型的推荐性能,改善了用户体验。
附图说明
图1是本发明实施例提供的一种方法流程示意图;
图2是本发明实施例提供的一种数据集分割图;
图3是本发明实施例提供的一种模型结构图;
图4是本发明实施例提供的一种推荐列表生成图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明主要基于深度学习技术,利用历史交互来弥补基于ID的表示方式的不足,提出了一种基于神经协同过滤的推荐方法。
图1是本发明实施例提供的一种方法流程示意图,以浅层、线性的矩阵分解和深层、非线性的多层感知器为实现方式对本发明的流程进行了阐述,具体内容如下:
给定目标用户u和候选物品i,则本发明提出的推荐方法可以表示为:
步骤S1:检索数据库和日志文件,查询用户和物品之间的交互记录,将交互记录的原始数据分割为训练集和测试集两个部分,然后,使用训练集,构建用户-物品交互矩阵其中,M和N分别表示用户和物品的个数,若用户u和物品i之间存在交互行为,如浏览、收藏或购买等,则Y中第u行i列的元素值为1;否则,值为0;
在本发明实施例中,步骤S1可以通过以下方式实现:
首先,查询数据库和日志文件,获取用户和物品之间的交互数据,包括用户的浏览记录、点击列表、收藏目录以及购买历史等。接着,如图2所示,对于系统中的每个用户,使用其最后一次交互的物品(以下简称测试物品)作为测试集中的测试物品,剩余部分作为训练集中的数据。按照这种划分方式,可以将原始数据集分割为训练集和测试集两个部分。其中,训练集用于训练模型,而测试集则用于评估模型的性能。
其中,yui表示用户-物品交互矩阵Y第u行i列中的元素。
步骤S2:从用户-物品交互矩阵的缺失项中抽取负样本,完善训练集;
在本发明实施例中,步骤S2主要用于解决Top-N推荐问题。在Top-N推荐中,通常采用隐式反馈数据作为模型的输入。所谓隐式反馈是指,间接反映用户对物品偏好信息的用户行为数据,如浏览、点击、收藏以及购买等。在实际的应用中,与显式反馈(即用户主动提供的、对物品的偏好信息,如评分和评论等)相比,隐式反馈更容易收集,并且数据量更大。然而,隐式反馈只包含用户对哪些物品发生过交互行为(以下简称正样本),无法知道用户不喜欢哪些物品(以下简称负样本)。针对该问题,一种解决方法是将用户-物品交互矩阵中所有值为0的项(以下简称缺失项)均视为负样本。该方法的问题在于,并非所有的缺失项都是真正的负样本,有可能只是用户从未看到过该物品。另一种方法为负采样,即从所有的缺失项中随机抽样,选出一部分作为负样本。
在本发明实施例中,步骤S2使用了负采样策略,从所有的缺失项中,随机抽取一部分数据作为负样本。这些随机选出的负样本,和步骤S1中得到的正样本集合,一同构成了完整的训练集。设Y+表示正样本集,Y-表示抽取的负样本集,则最终的训练样本集为Y+∪Y-。
步骤S3:使用用户和物品的ID及历史交互作为原始输入,经过简单的one-hot和multi-hot编码后,转变为模型可以直接处理的输入向量,然后,利用线性的嵌入层,将高维、稀疏的输入向量,转换为低维、稠密的表示向量,从而得到了目标用户u和候选物品i的两类表示向量;
在本发明实施例中,步骤S3可以通过以下方式实现:
首先,对目标用户u和候选物品i的ID执行one-hot编码。以目标用户u为例,其ID的one-hot编码是一个长度为M的二进制向量只有第u个元素为1,其他元素均为0。例如,u=2,M=5,则其one-hot编码为[0,1,0,0,0]T。类似地,可以得到候选物品i的ID的one-hot编码
然后,对目标用户u和候选物品i的历史交互执行multi-hot编码。仍以目标用户u为例,其历史交互的multi-hot编码是一个长度为N的二进制向量只有用户u的历史物品的ID对应的位置为1,其他位置均为0。例如,用户u的历史物品N=5,则其multi-hot编码为[1,0,1,1,0]T。类似地,可以得到候选物品i的历史交互的multi-hot编码
接着,使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量。经过上述编码操作后,得到的输入向量,维度非常大,并且大部分元素均为0。为了更加高效地表示目标用户和候选物品,可以使用线性的嵌入层,将其映射到低维空间中。该转换过程如公式(3)所示。
其中,pu和qi分别为从ID的角度得到的目标用户u和候选物品i的表示向量;mu和ni分别为从历史交互的角度得到的目标用户u和候选物品i的表示向量;和分别表示中元素的个数; 以及为转换矩阵;k<<min(M,N)是一个超参数,表示嵌入空间的维度大小。
类似地,在另一个嵌入空间中,由从ID的角度得到目标用户u的表示向量p′u和候选物品i的表示向量q′i,由 从历史交互的角度得到目标用户u的表示向量m′u和候选物品i的表示向量n′i。其中,以及为转换矩阵;k′<<min(M,N)是一个超参数,表示另一个嵌入空间的维度大小。需要特别说明的是,图3中左右两个部分之所以使用不同维度的表示向量,是因为共享的表示向量,可能会限制模型的表达能力,进而降低模型的性能。
步骤S4:使用嵌入整合层,将步骤S3得到的两类表示向量整合在一起,形成目标用户u和候选物品i最终的表示向量;
在嵌入整合层中,可以使用任意的二元运算,如相加、哈达玛积(HadamardProduct)以及拼接等。
在本发明实施例中,步骤S4可以通过以下方式实现:
如图3所示,对于左侧的矩阵分解(Matrix Factorization,MF)部分,将两类表示向量相加,得到了目标用户u和候选物品i最终的表示向量:
对于右侧的多层感知器(Multi-layer Perceptron,MLP)部分,通过向量拼接操作,形成了目标用户u和候选物品i最终的表示向量:
步骤S5:使用神经协同过滤层对目标用户u和候选物品i之间的交互行为进行建模;
在神经协同过滤层中,可以采用任意的运算或结构对用户和物品之间的交互行为进行建模,如哈达玛积和多层感知器等。
在本发明实施例中,步骤S5可以通过以下方式实现:
在神经协同过滤层中,最后一个隐含层的大小(即隐含单元的个数)被称之为预测因子(Predictive Factors)。它的大小,对模型的性能起着至关重要的作用。
对于矩阵分解部分,采用哈达玛积对用户和物品之间的交互行为进行建模,此时其预测因子为k。该过程如公式(6)所示:
对于多层感知器部分,首先将用户和物品的表示向量拼接起来,得到神经协同过滤层的输入向量。该过程如公式(7)所示:
其中,eui为多层感知器的输入向量。
然后,将eui喂进多层感知器中,去学习用户和物品之间的交互函数。该过程如公式(8)所示:
其中,L表示多层感知器的层数;和分别为第l(l≤L)层的权重矩阵、偏置向量以及输出向量(dl表示第l层中隐含单元的个数,预测因子dL=k);eMLP为多层感知器的输出向量;ReLU(·)为线性整流函数(Rectifier LinearUnit),其数学表达式为:
之所以选择ReLU(·),是因为当x>0时,它的导数恒等于1,可以有效地解决梯度消失问题。
神经网络的设计,遵循常见的塔型结构。具体来说,后一层中隐含单元的个数是前一层的一半。例如,多层感知器的层数L=3,预测因子dL为64,则其网络结构为256→128→64,嵌入维度k′=64。实验发现,当层数较少时,模型的性能往往会随着层数的增加而不断上升。但是,当层数过多时,模型容易出现过拟合问题,即在训练集上的损失持续下降,而在测试集上的效果却越来越差。通常情况下,使用三层的多层感知器已经能够取得非常好的效果。
步骤S6:计算目标用户u对候选物品i的感兴趣程度;
在本发明实施例中,步骤S6可以通过以下方式实现:
步骤S7:选择合适的目标函数和优化方法,优化模型,更新模型参数。
常见的目标函数可以分为三类:点级(point-wise)、对级(pair-wise)以及列表级(list-wise)。下面以点级目标函数为例,其数学形式为:
其中,yui表示目标用户u和候选物品i之间是否存在交互行为(如公式(2)所示),为模型的预测值;l(·)表示损失函数;Θ为模型中的参数;Ω(Θ)表示正则项,用于防止过拟合;λ表示正则项系数,用于控制正则项的影响程度。
对于Top-N推荐任务,通常采用二元交叉熵(binary cross entropy)作为损失函数,其数学表达式为:
除了目标函数以外,还需要选择合适的优化方法。目前,深度学习领域最常用的优化方法是Adam算法。对于不同的参数,它能够自适应地调整其学习速率的大小。
步骤S8:回到步骤S2,继续训练模型,直至模型收敛或者超过最大的迭代次数;
回到步骤S2,重新抽取负样本,继而形成新的训练集。然后,在新的训练集上,继续训练模型。重复执行该过程,直至模型收敛或者超过设定的最大迭代次数。
步骤S9:生成推荐列表,并对模型的性能进行评估。
在本发明实施例中,步骤S9可以通过以下方式实现:
首先,计算目标用户和所有未发生交互行为的物品之间的预测分数,并按照该分数降序排序,选择排在最前面的K个物品作为目标用户的推荐列表,该过程如图4所示。
然后,根据生成的推荐列表,对模型的性能进行评估。在Top-N推荐中,最常使用的评估指标为命中率(Hit Ratio,HR)和归一化折扣累计收益(Normalized DiscountedCumulative Gain,NDCG)。在本发明实施例采用的数据集分割方式下,命中率和归一化折扣累计收益的数学表达式为:
其中,@K为at rank K的简写,表示推荐列表的大小为K;r∈[1,K]表示测试物品在推荐列表中的位置。r=1表示测试物品位于推荐列表的首位,其余情况依次类推。
命中率描述了测试物品是否在推荐列表中,而归一化折扣累计收益则描述了推荐列表的排序质量——测试物品在推荐列表中的位置越靠前,则该值越大,表明推荐列表的排序质量越高。对于测试集中的每个用户,分别计算这两个指标的值,使用所有用户的平均值,作为模型的最终评估值。一般来说,这两个指标的值越大,表明模型的性能越好,推荐的效果越佳。
综上所述,不同于过去常用的ID嵌入,本发明采用了双重嵌入的表示方式,同时从ID和历史交互两个方面去表示用户和物品,继而得到了用户和物品的两类表示向量。随后,使用嵌入整合层,将两类表示向量融合在一起,形成了最终的用户和物品表示。利用历史交互信息去补充ID信息,不仅获得了更好的用户和物品表示,而且有利于后续交互函数的学习。这是因为如果表示向量的表达能力较弱,那么在学习交互函数时,需要设计更加复杂的建模方式,才能弥补表示向量的不足。在得到用户和物品的向量表示后,本发明使用神经协同过滤层对用户和物品之间的交互行为进行建模,学习二者之间的交互函数,进而预测用户对物品的感兴趣程度。实验表明,采用双重嵌入的表示方式,增强了模型的表达能力,进而提高了模型的推荐性能,改善了用户体验。
需要指出的是,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
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包括:
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:使用线性的嵌入层,将高维、稀疏的输入向量转换为低维、稠密的表示向量。
3.根据权利要求2所述的方法,其特征在于,步骤S3.3包括:
S3.3.1:由从ID的角度得到目标用户u的表示向量pu和候选物品i的表示向量qi,由从历史交互的角度得到目标用户u的表示向量mu和候选物品i的表示向量ni,其中,表示目标用户u交互过的物品集合,表示和候选物品i有过交互行为的用户集合,和|Yi +|分别表示Yi +中元素的个数; 以及为转换矩阵;k<<min(M,N)是一个超参数,表示嵌入空间的维度大小;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110164253.2A CN112818256B (zh) | 2021-02-05 | 2021-02-05 | 一种基于神经协同过滤的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110164253.2A CN112818256B (zh) | 2021-02-05 | 2021-02-05 | 一种基于神经协同过滤的推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112818256A CN112818256A (zh) | 2021-05-18 |
CN112818256B true CN112818256B (zh) | 2022-06-03 |
Family
ID=75861973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110164253.2A Active CN112818256B (zh) | 2021-02-05 | 2021-02-05 | 一种基于神经协同过滤的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818256B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816573B1 (en) * | 2023-04-24 | 2023-11-14 | Wevo, Inc. | Robust systems and methods for training summarizer models |
CN116910371B (zh) * | 2023-09-07 | 2024-01-23 | 南京大数据集团有限公司 | 一种基于深层关系的推荐方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010027961A1 (en) * | 2008-09-08 | 2010-03-11 | Apple Inc. | System and method for playlist generation based on similarity data |
CN109299396A (zh) * | 2018-11-28 | 2019-02-01 | 东北师范大学 | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 |
US10318503B1 (en) * | 2012-07-20 | 2019-06-11 | Ool Llc | Insight and algorithmic clustering for automated synthesis |
CN110188283A (zh) * | 2019-06-05 | 2019-08-30 | 中国人民解放军国防科技大学 | 一种基于联合神经网络协同过滤的信息推荐方法及其系统 |
CN110245303A (zh) * | 2019-06-13 | 2019-09-17 | 成都品果科技有限公司 | 一种协同过滤推荐系统 |
CN111178986A (zh) * | 2020-02-18 | 2020-05-19 | 电子科技大学 | 用户-商品偏好的预测方法及系统 |
CN112231577A (zh) * | 2020-11-06 | 2021-01-15 | 重庆理工大学 | 一种融合文本语义向量和神经协同过滤的推荐方法 |
-
2021
- 2021-02-05 CN CN202110164253.2A patent/CN112818256B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010027961A1 (en) * | 2008-09-08 | 2010-03-11 | Apple Inc. | System and method for playlist generation based on similarity data |
US10318503B1 (en) * | 2012-07-20 | 2019-06-11 | Ool Llc | Insight and algorithmic clustering for automated synthesis |
CN109299396A (zh) * | 2018-11-28 | 2019-02-01 | 东北师范大学 | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 |
CN110188283A (zh) * | 2019-06-05 | 2019-08-30 | 中国人民解放军国防科技大学 | 一种基于联合神经网络协同过滤的信息推荐方法及其系统 |
CN110245303A (zh) * | 2019-06-13 | 2019-09-17 | 成都品果科技有限公司 | 一种协同过滤推荐系统 |
CN111178986A (zh) * | 2020-02-18 | 2020-05-19 | 电子科技大学 | 用户-商品偏好的预测方法及系统 |
CN112231577A (zh) * | 2020-11-06 | 2021-01-15 | 重庆理工大学 | 一种融合文本语义向量和神经协同过滤的推荐方法 |
Non-Patent Citations (3)
Title |
---|
Deep Item-based Collaborative Filtering for Top-N Recommendation;Feng Xue;《ACM Transactions on Information Systems》;20190412;全文 * |
Neural Collaborative Filtering;Xiangnan He;《WWW "17: Proceedings of the 26th International Conference on World Wide Web》;20170403;全文 * |
Wide & Deep Learning for Recommender Systems;Heng-Tze Cheng;《DLRS 2016: Proceedings of the 1st Workshop on Deep Learning for Recommender Systems》;20160915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112818256A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112598462B (zh) | 基于协同过滤和深度学习的个性化推荐方法及系统 | |
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 | |
CN111310063B (zh) | 基于神经网络的记忆感知门控因子分解机物品推荐方法 | |
Lee et al. | Deep learning based recommender system using cross convolutional filters | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
CN111737578B (zh) | 一种推荐方法及系统 | |
CN108563755A (zh) | 一种基于双向循环神经网络的个性化推荐系统及方法 | |
CN113918833B (zh) | 通过社交网络关系的图卷积协同过滤实现的产品推荐方法 | |
CN112818256B (zh) | 一种基于神经协同过滤的推荐方法 | |
CN113590965B (zh) | 一种融合知识图谱与情感分析的视频推荐方法 | |
CN112861006B (zh) | 融合元路径语义的推荐方法及系统 | |
CN113918834B (zh) | 融合社交关系的图卷积协同过滤推荐方法 | |
CN110781401A (zh) | 一种基于协同自回归流实现的Top-n项目推荐方法 | |
CN113918832A (zh) | 基于社交关系的图卷积协同过滤推荐系统 | |
CN113343125A (zh) | 一种面向学术精准推荐的异质科研信息集成方法及系统 | |
CN113704438B (zh) | 一种基于分层注意力机制的异构图的会话推荐方法 | |
CN113190751B (zh) | 一种融合关键词生成的推荐方法 | |
Guo et al. | TenLa: an approach based on controllable tensor decomposition and optimized lasso regression for judgement prediction of legal cases | |
Hung et al. | Addressing the cold-start problem of recommendation systems for financial products by using few-shot deep learning | |
Kuang et al. | Deep matrix factorization for cross-domain recommendation | |
CN117235375A (zh) | 基于图神经网络与元学习的用户多行为推荐方法 | |
CN115658936A (zh) | 基于双层注意力模型的个性化节目推荐方法、系统 | |
CN108960954A (zh) | 一种基于用户群行为反馈的内容推荐方法及推荐系统 | |
Ahirwadkar et al. | Deepautoencf: A Denoising Autoencoder For Recommender Systems | |
AL SBOU et al. | Performance comparison of three different types of autoencoders using recommendation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |