CN111310063B - 基于神经网络的记忆感知门控因子分解机物品推荐方法 - Google Patents
基于神经网络的记忆感知门控因子分解机物品推荐方法 Download PDFInfo
- Publication number
- CN111310063B CN111310063B CN202010078340.1A CN202010078340A CN111310063B CN 111310063 B CN111310063 B CN 111310063B CN 202010078340 A CN202010078340 A CN 202010078340A CN 111310063 B CN111310063 B CN 111310063B
- Authority
- CN
- China
- Prior art keywords
- item
- user
- layer
- embedded
- current
- 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
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
- 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
- G06N3/045—Combinations of networks
-
- 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
- G06N3/048—Activation functions
-
- 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)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (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
本发明提供了基于神经网络的记忆感知门控因子分解机物品推荐方法,该方法采用物品推荐模型实现,所述物品推荐模型包括4部分:输入层;带门控过滤单元的特征提取;记忆感知特征提取和分数预测层。本发明将记忆网络和协同过滤方法紧密结合,使得模型性能有很大提升;受记忆网络的启发,对每个用户采用一个记忆矩阵来记录其历史交互项目,从记忆矩阵读取出来的历史记录通过神经网络映射为用户近期偏好的项目的特征表示,以此来修正当前的项目的特征向量;此外,本发明设计了一个门控单元对辅助信息进行过滤,防止模型过拟合。
Description
技术领域
本发明涉及物品推荐领域,尤其涉及一种基于神经网络的记忆感知门控因子分解机物品推荐方法。
背景技术
推荐系统在诸多领域得到了广泛的应用,协同过滤是目前在推荐系统使用最为广泛的方法之一,该方法认为用户对与其历史所交互的项目相似的项目更加感兴趣。作为最流行的协同过滤技术的矩阵分解,它基于这样的一个假设:在用户和项目之间存在着线性关系。这种假设限制了其性能,因为在现实世界中,这种关系往往是很复杂的。此外还有因子分解机,其在没有融合用户、物品辅助信息的情况下,等价于矩阵分解,在融合更多辅助信息下,因子分解机能够拟合所有特征之间的一阶和二阶交互信息,但仍然属于线性模型的一类。近几年,由于深度学习方法具有强大的表征学习能力,其在计算机视觉、自然语言处理等领域得到了成功的应用。它成为了人工智能的研究热点。深度学习方法从高维低阶的输入特征中学习出低维高阶的抽象特征,其中,高维低阶的输入特征一般是维度很大的未经处理的原始输入数据,如一张图片;低维高阶的抽象特征是经过深度学习模型后,原始输入的特征映射到维度较小的高阶抽象特征,比如神经网络靠后的网络层的输出,它可以很容易地发现数据的分布特征,解决了在传统机器学习里需要人工设计特征的难题。将深度神经网络应用到推荐系统已成为了推荐系统领域的主流。
现有的物品推荐方法存在以下不足:1)目前的基于因子分解机的推荐算法对输入的特征没有进行区别对待。输入的特征中不同特征的重要程度是不同的,不同特征之间的交互方式也应当不同,但现有的基于因子分解机的模型均是将输入的各个特征“一视同仁,”学习出来的特征不能准确表示用户或物品;2)在真实世界用户当前的偏好受到其历史的交互行为影响很大,很多现有的方法表现很好,但是它们通常将某个特定用户的所有历史交互组合起来映射到一个固定的隐向量,来预测该用户下一个可能感兴趣的项目。这种方法没有将用户的所有历史交互项目区别对待,削弱了模型的推荐性能,因为用户的历史交互项目对用户当前的偏好的影响并非同等重要的;3)用户和物品的额外辅助信息对推荐结果的准确性是很有帮助的,很多现有的方法不能有效地自动地捕捉这些辅助信息中的特征。
发明内容
针对上述问题,本发明提供了一种基于神经网络的记忆感知门控因子分解机物品推荐方法,该方法主要用于电影网站、电商平台用于为用户推荐电影或商品。并且所述方法包含基于原始因子分解机改进的分解机进行特征提取的方法和挖掘用户、当前项目、用户历史交互项目及其属性信息的深层特征的门控过滤深度神经网络模型的方法两部分。分解机这部分能够拟合各个特征之间的低阶交互信息,深度网络模型这部分利用深度神经网络从用户历史交互项目和额外辅助信息中发掘出有用的高层抽象特征来对用户和项目的交互行为进行建模,具体地,本发明首先将用户、当前项目及其当前项目的辅助信息嵌入到隐空间,然后从用户历史交互项目的辅助信息得到用户近期所偏好的项目的特征,将该特征作为用户当前所交互的项目的特征的修正。同样地,从用户辅助信息中提取出高层抽象的特征向量作为用户的特征向量的修正。通过这种方式将额外辅助信息融合进来,以此来提高模型的推荐能力。在特征融合过程中,考虑到并非所有的用来做“修正”操作的向量的每个维度都有用,受到Long Short-Term memory的启发,本发明设计了一个门控单元对这些向量过滤以后再用于修正之前的特征向量。
本发明将记忆网络和协同过滤方法紧密结合,能够有效缓解上述现有模型存在的不足,使得模型性能有很大提升。受记忆网络的启发,本文对每个用户采用一个记忆矩阵来记录其历史交互项目,从记忆矩阵读取出来的历史记录通过神经网络映射为用户近期偏好的项目的特征表示,以此来修正当前的项目的特征向量。此外,本发明设计了一个门控单元对辅助信息进行过滤,防止模型过拟合。在真实的数据集上做实验研究表明本发明所提出的模型显著优于先进的其他方法。
附图说明
图1为本发明的物品推荐模型的整体框架图
图2为本发明的用户属性信息特征映射网络
图3为因子分解机FM模型的二阶操作示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明提出的基于神经网络的记忆感知门控因子分解机物品推荐方法,采用物品推荐模型实现,并且该方法包含拟合特征的低阶交互关系的因子分解机和拟合特征的高阶关系的深度神经网络两部分。整个物品推荐模型的整体框架图如图1所示。
具体地,所述物品推荐模型包括以下4部分:
1)输入层
首先将当前用户ID、当前项目和历史交互项目的ID、当前用户的辅助信息、目标项目(即当前项目)和历史交互项目的辅助信息作为输入层,其中,用户、项目(包括当前项目和历史交互项目)、用户辅助信息、项目辅助信息(包括当前项目和历史交互项目的辅助信息)有各自的嵌入层,共4个,用户的嵌入层为P,项目的嵌入层为Q,用户辅助信息的嵌入层为Mu,项目辅助信息的嵌入层为Mi。当前项目和历史交互项目的嵌入特征是从同一个嵌入层Q中查找出来的。然后,使用嵌入层将输入的稀疏高维特征表示映射到低维表示,其中,稀疏高维特征表示即one-hot编码,例如假设所有用户的数目是1000,那么ID为3的用户就被表示为向量(0,0,1,0,…,0),即第三位为1,其余全为0,维度为1000。由于每位只能使1或0,而不是有小数位的实数,且只有一位是1,所以很稀疏,然后向量长度很大,即高维。
所述物品推荐模型最底层的输入层数据都以one-hot编码表示,然后经过嵌入层查找操作得到相应的特征向量,例如编号为3的用户对应的输入u=(0,0,1,...,0)T,长度为用户数量(M),编号为1的项目对应的输入i=(1,0,0,...,0)T,长度为项目数量(N)。用户的嵌入层为P∈RM×K,项目的嵌入层为Q∈RN×K(其中,K是用户嵌入层、项目嵌入层的嵌入维度),那么嵌入层查找操作得到该用户u的特征向量pu和该项目i的特征向量qi满足运算:
pu=PTu
qi=QTi
同样地,对输入层中的每个用户或项目的属性信息,均进行上述的运算。
2)带门控过滤单元的特征提取
用户和项目的属性信息对所述物品推荐模型的性能具有一定的帮助,但直接简单地将这些属性信息融入到所述物品推荐模型中并不能使得推荐准确性最大化。为解决这个问题,进一步提高所述物品推荐模型的性能,本发明设计了一个门控单元对这些用户和项目的辅助信息所对应的特征向量进行过滤,旨在从辅助信息和历史交互项目中滤除无关信息。具体操作如下:
m′u=fu⊙mu
m′i=fi⊙mi
p′u=pu+fu⊙mu
q′i=qi+fi⊙mi
其中,⊙表示两个向量之间的逐元素乘积。其中pu和qi分别是当前用户和当前项目原始的隐特征向量。mu、mi分别是当前用户u和当前项目i的辅助信息的嵌入。fu和fi是分别从mu、mi自适应滤除无关特征后的权重,相应的滤除无关特征后的用户u和项目i的辅助信息的特征向量为m′u、m′i。下面将详细阐述得到mu、mi、fu和fi的具体过程。
为了嵌入当前用户u的辅助信息,首先对当前用户u的辅助信息的每个属性进行one-hot编码。然后将所有字段的one-hot编码连接为稀疏特征,经过嵌入层Mu后得到密集特征,再将得到的密集特征输入到第一个多层感知器(Multi-Layer Perceptron,MLP)以学习mu,其中第一个多层感知器MLP的Layer共包含L1层。如图2所示。具体的操作如下:
其中,是当前用户u的第s个属性对应的嵌入向量,n1是用户的属性的数目,所有用户的属性数目是相同的,K是隐因子数目(即嵌入向量的维度)。[]表示向量的拼接操作。是第一个多层感知器MLP的第l层操作,如图1右下方所示的第一个小框里面的神经网络。
同样地,mi是当前项目属性特征向量通过第二个多层感知器MLP得到最终的特征向量:
注意的是,在上面式子中,第二个多层感知器的输入是当前项目i的所有属性对应的嵌入向量的拼接,但在实际操作中我们不仅仅考虑当前项目的属性信息,也考虑记录的历史交互项目的属性信息,所以我们将记录的历史项目及当前项目的所有属性的嵌入向量拼接起来作为第二个多层感知器的输入,如图1右下角所示,从项目辅助信息的嵌入层Mi输出的若干个向量为其中vi是当前项目的属性信息对应的嵌入向量的拼接,即余下几个向量分别是记录的H个历史项目的属性信息对应的嵌入向量的拼接。最终,将它们拼接起来一起作为第二个多层感知器的输入,即
从辅助信息和历史交互项目中滤除无关信息的门控过滤单元的设计如下:
fu=σ(Wu·[pu,qi]+bu)
fi=σ(Wi·[pu,qi]+bi)
其中σ(·)是sigmoid激活函数。Wu,Wi,bu,bi是要学习的参数。fu和fi中的每个元素的范围在0到1之间,表示mu、mi中相应特征的权重,如果学习出适当的参数,不相关的特征将具有非常低的权重(接近0),即不相关的特征被门控滤波单元滤除。
3)记忆感知特征提取
输入层中每个用户的近期历史记录可以帮助提高推荐准确性,现有的大多数基于神经网络的协同过滤算法都采用循环神经网络(Recurrent Neural Network,RNN)将短期偏好编码为当前用户/当前项目嵌入,这些方法的计算量大,容易出现梯度消失的问题。将用户浏览的项目历史记录映射成一个特征向量来表示的方式有很多种。设某特定用户当前交互项目为i,在此时刻之前所交互的历史项目的嵌入向量为H是历史记录的长度。
类似于从辅助信息中提取特征,本发明采用第三个多层感知器MLP将用户浏览的项目历史记录映射成特征向量qh:
4)分数预测层
经过上述步骤1)~3)的特征提取之后,将得到的用户嵌入p′u、项目嵌入q′i以及用户记忆嵌入qh,然后形成分数预测层的若干输入向量。分数预测层的输出为一个介于0和1之间的实数值,记作表示用户u对项目i的喜好程度。分数预测层分为两部分:改进的因子分解机部分和记忆感知门控神经网络两部分。
c)改进的因子分解机(Factorization Machines,FM)
已有的因子分解机对分数预测层的若干输入向量(假设共有n个,分别记作a1,a2,...,an)进行一阶和二阶建模,虽然也可以对二阶以上进行建模,但这样做的计算成本太高,影响效率。已有的因子分解机是通过以下公式来计算评估分数
w0是全局偏置项,wi是第i个特征的偏置,下标i用于索引,其拟合特征间的一阶线性关系,ai∈RK是第i个特征的嵌入向量,<ai,aj>表示两个向量间的内积,其拟合特征对的二阶交互。
因子分解机FM在可扩展性方面表现十分优异,对特征向量进行不同的编码,因子分解机FM可泛化为一些经典的模型,如MF、SVD++。尽管如此,FM仍然属于线性模型,而真实世界的数据通常是高度非线性的,这就导致FM的性能受到限制。
本发明对FM作以下改进,构建用于拟合特征的低阶交互关系的因子分解机:对分数预测层的若干输入向量两两之间做内积后的若干数值不直接进行求和,而是将这些内积后的若干数值拼接成一个向量作为FM模型的输出的特征向量,记作fFM,如图3所示,其中省略了一阶交互。
d)记忆感知门控神经网络(Memory-aware Gated Neural Networks,MAGNN)
用第四个多层感知器MLP从经过上述操作后的用户嵌入、项目嵌入、历史嵌入中提取出最终的特征向量:
将这个特征向量fMAGNN与FM部分输出的特征向量fFM拼接起来,然后映射到最终的预测分数,作为整个物品推荐模型的输出。具体地:
其中W是权值向量,需要训练。
对于整个物品推荐模型的参数训练:
所述物品推荐模型属于监督学习模型,为了学习整个物品推荐模型的参数,本发明采用交叉熵作为损失函数,该方法已广泛应用于Top-N推荐任务,如下所示:
其中,Ω是训练样本集。可能有多种方法来最小化上述损失函数,yu,i是训练样本集的标签,为1表示用户u喜爱项目i,为0表示用户u不喜欢项目i。并且由于训练深度神经网络的快速收敛性和良好的泛化性能,选择使用随机梯度下降(SGD)算法来训练所述物品推荐模型的参数。
在本发明的实施例中,本发明在两类公开的数据集上评估了提出的物品推荐模型:MovieLens-1M数据集在推荐系统里使用非常广泛,它包含6040个用户和3706个电影共1000209个评分数据,每个评分都是1到5之间,根据任务情况,本发明将评分矩阵转为0-1矩阵,在评分矩阵中,有评分的位置置为1,无评分的位置置为0,即得到所需的数据集。Amazonproduct data数据集包含1996年5月至2014年7月亚马逊的用户产品购买行为。本发明随机选择了其中3个数据集来做实验,包括Apps for Android(A_Apps)、Home and Kitche(A_Home)和Toys and Games(A_Toys)。对这些数据集进行过滤,使得每个用户至少有10个交互项目,每个项目至少有2个交互用户。
这些数据集的统计特征如表1所示。
表1数据集的统计信息
数据集 | 用户数 | 项目数 | 交互数 | 密度 |
MovieLens-1M | 6,040 | 3,706 | 1,000,209 | 4.47% |
Amazon Apps for Android | 21,231 | 18,435 | 357,355 | 0.09% |
Amazon Home and Kitchen | 16,672 | 38,047 | 277,232 | 0.04% |
Amazon Toys and Games | 6,776 | 24,105 | 121,342 | 0.07% |
本发明采用HR@k、NDCG@k两个指标来测试物品推荐模型的性能。本发明对每个用户评过分的项目按时间顺序排序,将最后一个项目放到测试集里,其余的数据作为训练集使用。在物品推荐模型的训练过程中,对每个正样本(u,i,yui=1),在用户u没有评过分的项目中随机采样n个样本作为负样本,每个负样本格式为(u,i,yui=0)。在测试过程中,对每个用户随机99个该用户没有评过分的项目,连同该用户按时间序列最后一个交互过的项目一起构成100个测试样本。根据物品推荐模型的输出概率将这些样本排序,取其前k项生成该用户的推荐列表Ru,然后采用Hit Ratio(HR)和Normalized Discounted Cumulative Gain(NDCG)对推荐列表的质量进行评估。
(1)Factorization Machines(FM)模型:Factorization Machine是由SteffenRendle于2010年最早提出的,旨在解决大规模稀疏数据下的特征组合问题。FM能够处理任意实数值组成的特征,其对输入的特征进行一阶和二阶建模,有着线性的时间复杂付,运算效率高,拟合效果也很好。
(2)Neural Factorization Machines(NFM)模型:NFM结合了FM和神经网络,神经网络部分对高阶特征相互作用的非线性进行建模。NFM架构的关键点在于新提出的双向交互操作Bi-Interaction operation,在此基础上神经网络模型能够在较低层次上学习更多信息性特征交互。
(3)DeepFactorization Machines(DeepFM)模型:学习用户行为背后的复杂交互信息对于推荐系统的推荐效果至关重要。DeepFM模型在新的神经网络架构下结合了因子分解机和深度学习,既能够拟合特征间的低阶线性关系,也能够拟合特征间的高阶非线性关系。
本发明所提出的MGAFM模型与FM、NFM、DeepFM模型在上述4个数据集的实验对比如表2所示。
表2模型对比结果
表2中的最优结果以粗体字表示。从表2可以看出,本发明提出的MAGFM模型进一步提升了推荐算法的预测准确率。FM、NFM、DeepFM模型将输入的特征向量等同对待,但有些属性之间的交互意义并不大,会造成信息冗余,限制了模型的性能。本发明提出的模型对输入的不同的特征向量区别对待,尽量捕获相关性较大的特征之间的交互,并结合记忆网络的特性将历史交互记录融入到模型中来,使得用户的历史交互对当前的行为产生有效的指导作用。在真实数据集上的实验研究表明本发明所提出的物品推荐模型显著优于其他同类方法。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围。凡采用等同替换或等效替换,这些变化是显而易见,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种基于神经网络的记忆感知门控因子分解机物品推荐方法,其特征在于,该方法采用物品推荐模型实现,所述物品推荐模型包括以下4部分:
1)输入层
首先将当前用户ID、当前项目和历史交互项目的ID、当前用户的辅助信息、当前项目和历史交互项目的辅助信息作为输入层,其中,用户、项目、用户辅助信息、项目辅助信息有各自的嵌入层,共4个,用户的嵌入层为P,项目的嵌入层为Q,用户辅助信息的嵌入层为Mu,项目辅助信息的嵌入层为Mi,当前项目和历史交互项目的嵌入特征是从同一个嵌入层Q中查找出来的;然后,使用嵌入层将输入的稀疏高维特征表示映射到低维表示,其中,采用one-hot编码表达稀疏高维特征表示;
所述物品推荐模型最底层的输入层数据都以one-hot编码表示,然后经过嵌入层查找操作得到相应的特征向量,对编号为3的用户对应的输入u=(0,0,1,...,0)T,长度为用户数量M;编号为1的项目对应的输入i=(1,0,0,...,0)T,长度为项目数量N;用户的嵌入层为P∈RM×K,项目的嵌入层为Q∈RN×K,其中,K是用户嵌入层和项目嵌入层的嵌入向量维度,那么嵌入层查找操作得到该用户u的特征向量pu和该项目i的特征向量qi的运算如下:
pu=PTu
qi=QTi
同样地,对输入层中的每个用户或项目的属性信息,均进行上述的运算;
2)带门控过滤单元的特征提取
设计了一个带门控过滤单元对用户和项目的辅助信息所对应的特征向量进行过滤,旨在从辅助信息和历史交互项目中滤除无关信息,具体操作如下:
m'u=fu⊙mu
m'i=fi⊙mi
p′u=pu+fu⊙mu
q′i=qi+fi⊙mi
其中,⊙表示两个向量之间的逐元素乘积,其中pu和qi分别是当前用户u和当前交互项目i的原始隐特征向量,mu、mi分别是当前用户u和当前交互项目i的辅助信息的嵌入,fu和fi是分别从mu、mi自适应滤除无关特征后的权重,相应的自适应滤除无关特征后的用户u和项目i的辅助信息的特征向量为m′u、m′i;
3)记忆感知特征提取
4)分数预测层
经过上述步骤1)~3)的特征提取之后,将得到的用户嵌入p′u、项目嵌入q′i以及用户记忆嵌入qh,然后形成分数预测层的若干输入向量,分数预测层的输出为一个介于0和1之间的实数值,记作表示用户u对项目i的喜好程度,所述分数预测层分为两部分:改进的因子分解机部分和记忆感知门控神经网络两部分:
a)改进的因子分解机FM
w0是全局偏置项,wi是第i个特征的偏置,下标i用于索引,其拟合特征间的一阶线性关系,ai∈RK是第i个特征的嵌入向量,<ai,aj>表示两个向量间的内积,其拟合特征对的二阶交互;
对已有的因子分解机作以下改进,构建用于拟合特征的低阶交互关系的因子分解机:对分数预测层的若干输入向量两两之间做内积后的若干数值不直接进行求和,而是将这些内积后的若干数值拼接成一个向量作为改进的因子分解机FM的输出特征向量,记作fFM;
b)记忆感知门控神经网络MAGNN
用第四个多层感知器MLP从经过上述操作后的用户嵌入p′u、项目嵌入q′i以及用户记忆嵌入qh中提取出最终的特征向量:
将这个特征向量fMAGNN与改进的因子分解机FM部分输出的特征向量fFM拼接起来,然后映射到最终的预测分数,作为整个物品推荐模型的输出
其中W是权值向量,需要训练;
对于整个物品推荐模型的参数训练方式为:
所述物品推荐模型属于监督学习模型,为了学习整个物品推荐模型的参数,采用交叉熵作为损失函数,该方法被广泛应用于Top-N推荐任务,如下所示:
其中,Ω是训练样本集,最小化上述损失函数,yu,i是训练样本集的标签,为1表示用户u喜爱项目i,为0表示用户u不喜欢项目i,并且由于训练深度神经网络的快速收敛性和良好的泛化性能,选择使用随机梯度下降SGD算法来训练所述物品推荐模型的参数。
2.根据权利要求1所述的基于神经网络的记忆感知门控因子分解机物品推荐方法,其特征在于,所述步骤2)中得到mu、mi、fu和fi的具体过程为:
为了嵌入当前用户u的辅助信息,首先对当前用户u的辅助信息的每个属性进行one-hot编码,然后将所有字段的one-hot编码连接为稀疏特征,经过嵌入层Mu后得到密集特征,再将得到的密集特征输入到第一个多层感知器MLP以学习mu,其中第一个多层感知器MLP的Layer共包含L1层,具体的操作如下:
同样地,mi是当前项目属性特征向量通过第二个多层感知器MLP得到最终的特征向量:
其中,第二个多层感知器MLP的输入是当前交互项目i的所有属性对应的嵌入向量的拼接,但在实际操作中不仅仅考虑当前项目的属性信息,也考虑记录的历史交互项目的属性信息,所以将记录的历史项目及当前交互项目的所有属性的嵌入向量拼接起来作为第二个多层感知器MLP的输入,从项目辅助信息的嵌入层Mi输出的若干个向量为其中vi是当前项目的属性信息对应的嵌入向量的拼接,即余下几个向量分别是记录的H个历史项目的属性信息对应的嵌入向量的拼接,最终,将它们拼接起来一起作为第二个多层感知器的输入,即
从辅助信息和历史交互项目中滤除无关信息的门控过滤单元的设计如下:
fu=σ(Wu·[pu,qi]+bu)
fi=σ(Wi·[pu,qi]+bi)
其中σ(·)是sigmoid激活函数,Wu,Wi,bu,bi是要学习的参数;fu和fi中的每个元素的范围在0到1之间,表示mu、mi中相应特征的权重,如果学习出适当的参数,不相关的特征将被门控滤波单元滤除。
3.根据权利要求2所述的基于神经网络的记忆感知门控因子分解机物品推荐方法,其特征在于,所述物品推荐模型在两类公开的数据集上进行了评估:MovieLens-1M数据集包含6040个用户和3706个电影共1000209个评分数据,每个评分都是1到5之间,根据任务情况,将评分矩阵转为0-1矩阵,在评分矩阵中,有评分的位置置为1,无评分的位置置为0,即得到所需的数据集;Amazon product data数据集包含1996年5月至2014年7月亚马逊的用户产品购买行为,随机选择其中3个数据集来做实验,包括Apps for Android、Home andKit che和Toys and Games,对这些数据集进行过滤,使得每个用户至少有10个交互项目,每个项目至少有2个交互用户;
采用HR@k、NDCG@k两个指标来测试物品推荐模型的性能,对每个用户评过分的项目按时间顺序排序,将最后一个项目放到测试集里,其余的数据作为训练集使用;在物品推荐模型的训练过程中,对每个正样本,在用户没有评过分的项目中随机采样n个样本作为负样本,在测试过程中,对每个用户随机99个该用户没有评过分的项目,连同该用户按时间序列最后一个交互过的项目一起构成100个测试样本,根据物品推荐模型的输出概率将这些样本排序,取其前k项生成该用户的推荐列表Ru,然后采用Hit Ratio(HR)和Normalized Discounted Cumulative Gain(NDCG)对推荐列表的质量进行评估,将所述物品推荐模型与已有的FM、NFM和DeepFM模型在MovieLens-1M以及Amazon product data中的Apps for Android,Home and Kitche和Toys and Games这4个数据集上进行实验对比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078340.1A CN111310063B (zh) | 2020-02-03 | 2020-02-03 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078340.1A CN111310063B (zh) | 2020-02-03 | 2020-02-03 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310063A CN111310063A (zh) | 2020-06-19 |
CN111310063B true CN111310063B (zh) | 2022-05-03 |
Family
ID=71156397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010078340.1A Active CN111310063B (zh) | 2020-02-03 | 2020-02-03 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310063B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782964B (zh) * | 2020-06-23 | 2024-02-09 | 北京智能工场科技有限公司 | 一种社区帖子的推荐方法 |
CN112069396B (zh) * | 2020-08-20 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 一种推荐系统推荐方法、设备、推荐系统及存储介质 |
CN112084415B (zh) * | 2020-09-17 | 2024-02-02 | 辽宁工程技术大学 | 一种基于用户和项目长短期时间耦合关系分析的推荐方法 |
CN112182131B (zh) * | 2020-09-28 | 2021-11-09 | 中国电子科技集团公司第五十四研究所 | 一种基于多属性融合的遥感影像推荐方法 |
CN112256966B (zh) * | 2020-10-23 | 2023-09-12 | 北京交通大学 | 基于半监督因子分解机的物品推荐方法 |
CN112328844B (zh) * | 2020-11-18 | 2024-07-02 | 恩亿科(北京)数据科技有限公司 | 一种处理多类型数据的方法及系统 |
CN112418423B (zh) * | 2020-11-24 | 2023-08-15 | 百度在线网络技术(北京)有限公司 | 利用神经网络向用户推荐对象的方法、设备和介质 |
CN112418402B (zh) * | 2020-11-24 | 2023-08-11 | 百度在线网络技术(北京)有限公司 | 推荐对象的方法、神经网络及其训练方法、计算设备 |
CN112395514B (zh) * | 2020-12-08 | 2022-07-29 | 杭州电子科技大学 | 基于记忆网络的物品协同过滤推荐的方法 |
CN112800344B (zh) * | 2021-01-29 | 2022-03-22 | 重庆邮电大学 | 一种基于深度神经网络的电影推荐方法 |
CN112883285B (zh) * | 2021-04-28 | 2021-08-13 | 北京搜狐新媒体信息技术有限公司 | 一种信息推荐方法及装置 |
CN114861049A (zh) * | 2022-04-24 | 2022-08-05 | 北京达佳互联信息技术有限公司 | 信息推荐模型的训练方法、信息推荐方法、装置及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101746428B1 (ko) * | 2014-12-29 | 2017-06-13 | 주식회사 셀바스에이아이 | 전역 학습을 통한 이중 단어 분할 장치 및 분할 방법 |
CN110275964B (zh) * | 2019-06-26 | 2023-07-14 | 程淑玉 | 基于知识图谱与循环神经网络的推荐模型 |
CN110543554A (zh) * | 2019-08-12 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 针对多轮对话的分类方法和装置 |
-
2020
- 2020-02-03 CN CN202010078340.1A patent/CN111310063B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111310063A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111310063B (zh) | 基于神经网络的记忆感知门控因子分解机物品推荐方法 | |
Dong et al. | A hybrid collaborative filtering model with deep structure for recommender systems | |
CN109785062B (zh) | 一种基于协同过滤模型的混合神经网络推荐系统 | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
CN111523047A (zh) | 基于图神经网络的多关系协同过滤算法 | |
CN111932336A (zh) | 一种基于长短期兴趣偏好的商品列表推荐方法 | |
Li et al. | Deep heterogeneous autoencoders for collaborative filtering | |
CN109299370A (zh) | 多对级个性化推荐方法 | |
CN113918833B (zh) | 通过社交网络关系的图卷积协同过滤实现的产品推荐方法 | |
CN113256367B (zh) | 用户行为历史数据的商品推荐方法、系统、设备及介质 | |
CN115082142A (zh) | 一种基于异构关系图神经网络的推荐方法、装置及介质 | |
CN113918832B (zh) | 基于社交关系的图卷积协同过滤推荐系统 | |
CN112115377A (zh) | 一种基于社交关系的图神经网络链路预测推荐方法 | |
CN110008377B (zh) | 一种利用用户属性进行电影推荐的方法 | |
CN113918834B (zh) | 融合社交关系的图卷积协同过滤推荐方法 | |
CN110321473B (zh) | 基于多模态注意力的多样性偏好信息推送方法、系统、介质及设备 | |
CN112950324A (zh) | 一种知识图谱辅助的成对排序个性化电商推荐方法及系统 | |
CN112699310A (zh) | 基于深度神经网络的冷启动跨域混合推荐的方法及系统 | |
CN113379494A (zh) | 基于异质社交关系的商品推荐方法、装置和电子设备 | |
CN113326384A (zh) | 一种基于知识图谱的可解释推荐模型的构建方法 | |
CN113761359A (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN110059251B (zh) | 基于多关系隐式反馈置信度的协同过滤推荐方法 | |
CN112948696B (zh) | 具有隐私保护功能的跨域医疗保健设备推荐方法及系统 | |
Wang et al. | Online course recommendation algorithm based on multilevel fusion of user features and item features |
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 |