基于邻居感知交互的商品推荐方法及系统

文档序号:31787404发布日期:2022-10-12 14:23阅读:35来源:国知局
基于邻居感知交互的商品推荐方法及系统

1.本发明属于商品推荐技术领域,尤其涉及基于邻居感知交互的商品推荐方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.现有商品推荐方法面临的两大挑战是数据稀疏和冷启动问题;最近,图结构被用来表示商品推荐数据集中的关系信息;合并和利用图结构表示已被证明对于缓解数据稀疏和冷启动问题是有效的。
4.图神经网络(graph neural networks,gnn)技术可以通过图节点之间的消息传递来捕捉图形的相关性。gnn的主要思想是如何迭代地聚集来自邻居的特征信息,并将聚集的信息与当前的中心节点表示集成。关于gnn的现有工作已经在很大程度上将图卷积定义为连接节点的特征的加权和,以形成目标节点的表示。然而,加权和运算假设相邻节点彼此独立,并且忽略了它们之间可能的相互作用。当这种相互作用存在时,例如两个相邻节点的共同出现是目标节点特征的强信号,现有的gnn模型可能无法捕获该信号。
5.随着深度学习技术的发展,一些研究人员开始利用深度学习模型来构建用户和项目的特征表示。在大多数gnn模型中,线性聚合器假设每个邻居是独立的。没有明确地对邻居关系信息进行建模,忽略了邻居之间的隐含相关性。相邻节点的相关性意味着不同邻居的表达差异。用户和项目的嵌入在训练过程中聚合其邻居节点的信息,但这种聚合破坏了单个邻居对之间的成对关系信息,容易造成邻居节点的信息丢失。一阶神经网络层在低秩关系建模中效率低下,这表明,除了聚合一阶邻居信息之外,还应该对邻居之间的成对关系进行建模。二分图神经网络(bipartite graph neural networks for efficient node representation learning,bgnn)和nia-gcn(neighbor interaction aware graph convolution networks for recommendation)分别针对半监督节点分类任务和推荐任务提出了通过元素乘积嵌入对相邻节点交互进行成对显式编码,以获取成对邻居的相关信息。但是,忽略了邻居之间的相关性对聚集系数的影响,仍然采用非线性变换,这被证明对构建用户和项目的表示有负面影响,用于商品推荐时精度较低。


技术实现要素:

6.为了解决上述背景技术中存在的技术问题,本发明提供基于邻居感知交互的商品推荐方法及系统,利用用户和商品的邻居进行交互,获取邻居之间的隐藏信息,丰富了用户和商品的嵌入表示,提高了电商平台向用户推荐商品的准确度。
7.为了实现上述目的,本发明采用如下技术方案:
8.本发明的第一个方面提供基于邻居感知交互的商品推荐方法,其包括:
9.获取交易平台中的用户信息和商品信息;
10.基于所述用户信息和商品信息,采用推荐模型,得到每个用户对每个商品的偏好,并根据偏好为每个用户进行商品推荐;
11.其中,推荐模型包括若干层信息传播层,每一层信息传播层均由邻居交互感知层和图注意力层两个部分组成;所述邻居交互感知层通过对用户和商品的邻居进行两两交互,得到每个邻居对的邻居交互注意力系数,以计算用户和商品的邻居感知交互信息;所述图注意力层计算用户和商品的邻居聚合信息,并与所述邻居感知交互信息相结合,构建用户和商品的表示。
12.进一步地,所述邻居交互感知层使用relu函数作为激活函数,并使用softmax函数对所有邻居对进行归一化,得到每个邻居对的邻居交互注意力系数。
13.进一步地,所述图注意力层采用加权求和聚合器,对用户和商品的所有邻居的嵌入表示进行加权求和,并结合对称归一化项,得到用户和商品的邻居聚合信息。
14.进一步地,所述推荐模型还包括预测层;
15.所述预测层通过串联操作,将所有层的图注意力层得到的用户和商品的表示连接起来,得到用户和项目的最终嵌入表示后,计算用户对商品的偏好。
16.进一步地,在第k层信息传播层中,用户u和商品i的邻居聚合信息分别为:
[0017][0018][0019]
其中,nu和ni分别表示用户u和项目i的邻居集合,βi和βu均为注意力系数,和分别表示第k-1层信息传播层中的用户u和商品i的嵌入表示。
[0020]
进一步地,所述推荐模型在训练时,使用贝叶斯个性化排序损失对模型参数进行优化。
[0021]
本发明的第二个方面提供基于邻居感知交互的商品推荐系统,其包括:
[0022]
数据获取模块,其被配置为:获取交易平台中的用户信息和商品信息;
[0023]
推荐模块,其被配置为:基于所述用户信息和商品信息,采用推荐模型,得到每个用户对每个商品的偏好,并根据偏好为每个用户进行商品推荐;
[0024]
其中,推荐模型包括若干层信息传播层,每一层信息传播层均由邻居交互感知层和图注意力层两个部分组成;所述邻居交互感知层通过对用户和商品的邻居进行两两交互,得到每个邻居对的邻居交互注意力系数,以计算用户和商品的邻居感知交互信息;所述图注意力层计算用户和商品的邻居聚合信息,并与所述邻居感知交互信息相结合,构建用户和商品的表示。
[0025]
进一步地,还包括模型训练模块,其被配置为:在训练推荐模型时,使用贝叶斯个性化排序损失对模型参数进行优化。
[0026]
本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于邻居感知交互的商品推荐方法中的步骤。
[0027]
本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于邻居感知交互的商品推荐方法中的步骤。
[0028]
与现有技术相比,本发明的有益效果是:
[0029]
本发明提供了基于邻居感知交互的商品推荐方法,其利用用户和商品的邻居进行交互,获取邻居之间的隐藏信息,丰富用户和商品的嵌入表示,以提高电商平台向用户推荐商品的准确度。
[0030]
本发明提供了基于邻居感知交互的商品推荐方法,其提出了一个成对邻居感知交互层,通过计算每个邻居对与其他邻居对的成对相似度来获取成对邻居关注系数,解决邻居之间的隐藏相关性问题;对于大型的、稀疏的数据集,通过采用邻居抽样策略随机抽取邻居节点,解决因商品推荐数据量较大,推荐模型训练困难的问题。
[0031]
本发明提供了基于邻居感知交互的商品推荐方法,其采用邻居交互感知层和图注意力层,邻居交互感知层通过对用户和商品的每个邻居两两交互,挖据邻居之间的隐藏信息,并对每个邻居对进行相似度计算,区分不同邻居对之间的贡献;同时,采用图注意力层聚合邻居信息,得到中心节点的嵌入表示,将邻居交互信息与中心节点的嵌入表示相结合,从而构建更加精准的用户和商品的嵌入表示,以提升商品推荐的精度。
[0032]
本发明提供了基于邻居感知交互的商品推荐方法,其引入了随机抽样策略,使用max-m子图采样对数据集的邻居节点进行随机抽样,在保证了商品推荐精准度的同时,可以显著降低算法的运行时间和计算成本,实验证明随机抽样策略可以显著提升大型数据集的运行速度和准确性,当商品推荐数据集的稀疏度较高时,提升效果更加明显。
附图说明
[0033]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0034]
图1是本发明实施例一的推荐模型的结构图;
[0035]
图2是本发明实施例一的邻居交互感知层的结构图;
[0036]
图3是本发明实施例一的图注意力层的结构图。
具体实施方式
[0037]
下面结合附图与实施例对本发明作进一步说明。
[0038]
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0039]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0040]
实施例一
[0041]
本实施例提供了基于邻居感知交互的商品推荐方法,具体包括以下步骤:
[0042]
步骤1、获取交易平台中的用户信息和商品信息。
[0043]
具体的,交易平台可以为淘宝。可以将用户信息编码为用户id,包含用户的年龄和性别等基本信息、以及用户的购买记录和评价记录等;将商品信息编码为商品id,包含商品的参数和价格等基本信息、以及所有购买用户的评价信息等。
[0044]
在本实施例中,根据用户和商品之间的交易信息,可以进行图的构建,将一个商品看作图中的一个项目。
[0045]
步骤2、将获取的用户信息和商品信息,输入推荐模型,得到每个用户对每个商品的偏好,根据偏好为每个用户进行商品推荐。
[0046]
如图1、图2和图3所示,推荐模型包括嵌入层、预测层和若干层(k层)信息传播层,其中,每一层信息传播层均由邻居交互感知层和图注意力层两个部分组成。
[0047]
为便于区分图中不同的节点,使用u和v表示用户节点,使用i和j表示项目节点。嵌入层的目的是将用户u(v)和项目i(j)的id映射成嵌入向量和其中d表示嵌入的维数。这可以看作是将参数矩阵构建为嵌入查找表,如:
[0048][0049][0050]
其中,m是用户数,n是项目数,eu和ei分别表示用户和项目的嵌入查找表。值得注意的是,这个嵌入表作为用户嵌入和项目嵌入的初始状态,以端到端的方式进行优化。
[0051]
在商品推荐中,往往存在大量的用户和项目。大部分研究在消息传播中通常采用完全邻域集,但这非常耗时。graphsage对一组固定大小的邻居进行采样,以对图形执行归纳学习。假设,对每个节点的m邻居进行采样。如果一个节点的邻居数小于m,则在为此节点采样的邻居中会有重复的节点。这些重复的节点不是必需的,并且会引入额外的计算成本。因此,本发明在构建用户和项目的邻居集合时,执行max-m子图采样策略,即在采样子图中,每个节点的邻居数不超过m。
[0052]
在目前的研究中,bgnn和nia-gcn采用对每个邻居-邻居对应用元素乘法的方式捕获邻域特征交互,这种方式虽然有效,但却忽视了不同的邻居-邻居对携带的信息对于中心节点的重要性。换句话说,并非所有的邻居交互信息对于中心节点而言都是有用的。因此,邻居交互感知层采用一种邻居感知交互图注意力机制,通过利用第k层信息传播层上邻居之间的隐式相关性来计算邻居-邻居对的邻居交互注意力系数,如:
[0053][0054][0055]
其中,f(
·
)表示注意力函数,nu和ni分别表示用户u和项目i的邻居集合,和分别表示第k-1层信息传播层的用户u和项目i嵌入,和分别表示k-1层信息传播层上一个项目的邻居用户u和v以及一个用户的邻居项目i和j的邻居交互注意力系数;k=1,2,

,k。
[0056]
特别地,受图注意力网络的启发,本发明采用归一化点积计算成对邻居的交互信
息。
[0057]
如图2所示,邻居交互感知层通过区分邻居每个邻居对对于中心节点的重要性,为每个邻居对分配不同的权重,通过邻居交互获得邻居节点的隐式信息。
[0058]
邻居交互感知层使用relu函数作为激活函数,以确保f(
·
)不会出现小于0的结果。为了能够比较不同邻居节点间的差异,使用softmax函数对所有邻居对进行归一化。邻居交互注意力系数定义为:
[0059][0060][0061]
其中,

表示元素乘法。将softmax函数完全展开后,邻居交互注意力系数可以表示为:
[0062][0063][0064]
经过上式,可以得到每个邻居对的感知关注系数,随后将其与邻居对的交互特征进行点积,用以区分邻居对的重要程度。
[0065]
考虑到聚合后嵌入的范数可能很大,信息传播层用或缩放这些嵌入。由此,用户和项目的邻居感知交互信息可以表示为:
[0066][0067][0068]
其中,|nu|和|ni|表示用户u和项目i的邻居数量。
[0069]
接下来,如图3所示,图注意力层使用图注意力网络(graph attention network,gat)聚合邻居的特征作为中心节点的表示。lightgcn的研究表明,特征变换和非线性激活可能会对商品推荐产生负面影响,因此本发明去除了这两个步骤,只采用简单的加权求和聚合器。具体的,图注意力层采用加权求和聚合器,对用户和商品的所有邻居的嵌入表示进行加权求和,并结合对称归一化项,得到用户u和商品i的邻居聚合信息:
[0070]
[0071][0072]
其中,nu和ni分别表示用户u和项目i的邻居集合,βi和βu均为注意力系数,和分别表示第k-1层信息传播层中的用户u和商品i的嵌入表示,和分别表示通过图注意力层聚合第k-1层信息传播层的信息后得到的第k层信息传播层的用户和项目作为中心节点的嵌入表示(邻居聚合信息),是对称归一化项,可以避免嵌入尺寸随图卷积运算增大,现有研究表明对称归一化具有良好的性能。β表示邻居节点对中心节点的重要性,引用gat中注意力系数的公式计算β,如:
[0073][0074][0075]
其中,e
p
和eq分别表示用户和项目的邻居节点的嵌入表示,e
cp
和e
cq
分别表示与邻居节点p和q相邻的中心节点嵌入表示,e
cu
和e
ci
分别表示与邻居节点u和i相邻的中心节点嵌入表示。
[0076]
在获得用户(项目)节点的邻居交互信息和邻居聚合信息后,信息传播层将两者组合得到用户(项目)节点在k层的表示。如:
[0077][0078][0079]
这里,[;]表示串联,和w
ik
分别表示用户和项目在第k层的聚合器权重。它在k层的所有中央用户和项目节点间共享。
[0080]
经过k层信息传播层传播后,可以得到用户u和项目i的多个表示。由于在不同层获得的表示强调通过不同连接传递的消息,因此它们在反映用户偏好方面有不同的贡献。预测层将它们连接起来,构成用户的最终嵌入。预测层对项目进行同样的操作,将不同层学习的项目表示连接起来,得到用户和项目的最终嵌入表示,即,预测层通过串联操作,将所有层的图注意力层得到的用户和商品的表示连接起来,得到用户和项目的最终嵌入表示:
[0081][0082][0083]
其中,||是串联操作。
[0084]
最后,预测层基于用户和商品的最终嵌入表示,计算用户对项目的偏好,具体的,预测层通过内部产品来评估用户u对目标项目i的偏好:
[0085]
[0086]
其中,表示用户u的最终嵌入表示,表示商品i的最终嵌入表示。
[0087]
另外,推荐模型在训练时,使用贝叶斯个性化排序损失对模型参数进行优化,它考虑了观察到的和未观察到的交互之间的相对顺序。为了提高模型对相似正负样本的区分度,使用贝叶斯个性化排序(bayesian personalized ranking,bpr)损失来优化模型参数:
[0088][0089]
其中,o={(u,i,j)|(u,i)∈r
+
,(u,j)∈r-}表示小批量的采样数据。r+表示观察到的相互作用,r是未观察到的相互作用;σ()是sigmoid函数;θ表示所有可训练的模型参数,控制系数λ控制l2正则化强度以防止过拟合。
[0090]
本发明重点对邻居交互感知层进行研究,通过区分邻居每个邻居对对于中心节点的重要性,为每个邻居对分配不同的权重,通过邻居交互获得邻居节点的隐式信息,并将该与图注意力层聚合后的嵌入表示组合,生成新的嵌入。特别地,本发明引入了一个样本策略来降低模型的时间和空间复杂度。
[0091]
实施例二
[0092]
本实施例提供了基于邻居感知交互的商品推荐系统,其具体包括如下模块:
[0093]
数据获取模块,其被配置为:获取交易平台中的用户信息和商品信息;
[0094]
推荐模块,其被配置为:基于所述用户信息和商品信息,采用推荐模型,得到每个用户对每个商品的偏好,并根据偏好为每个用户进行商品推荐;
[0095]
其中,推荐模型包括若干层信息传播层,每一层信息传播层均由邻居交互感知层和图注意力层两个部分组成;所述邻居交互感知层通过对用户和商品的邻居进行两两交互,得到每个邻居对的邻居交互注意力系数,以计算用户和商品的邻居感知交互信息;所述图注意力层计算用户和商品的邻居聚合信息,并与所述邻居感知交互信息相结合,构建用户和商品的表示。
[0096]
模型训练模块,其被配置为:在训练推荐模型时,使用贝叶斯个性化排序损失对模型参数进行优化。
[0097]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0098]
实施例三
[0099]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于邻居感知交互的商品推荐方法中的步骤。
[0100]
实施例四
[0101]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于邻居感知交互的商品推荐方法中的步骤。
[0102]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0103]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0104]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0105]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0106]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0107]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1