基于多通道超图神经网络的捆绑推荐方法

文档序号:26050803发布日期:2021-07-27 15:25阅读:110来源:国知局
基于多通道超图神经网络的捆绑推荐方法

本申请涉及推荐系统技术领域,尤其涉及一种基于多通道超图神经网络的捆绑推荐方法和计算机设备。



背景技术:

作为解决信息过载问题的有效方式,推荐系统已经被广泛地应用于音乐平台和短视频平台等领域。现有的推荐系统方法大多关注于如何更好地向用户推荐一个单一的物品,然而在部分的推荐场景中,除了单一的物品,推荐系统还需要向用户推荐一些包含多个物品的捆绑包,即捆绑推荐。在捆绑推荐中,我们一般具有物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户和物品的交互信息。基于该信息,一些工作开始应用图网络来建模物品、捆绑包以及用户这三者之间的关系。然而现有方法没有对用户、物品和捆绑包进行显式区分建模,以及在建模高阶关联时仍有欠缺。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种基于多通道超图神经网络的捆绑推荐方法,解决了现有方法未对用户、物品和捆绑包进行显式区分建模,以及在建模高阶关联时仍有欠缺的技术问题,实现了引入超图结构来建模不同类型节点间的高阶关联信息的目的,同时实现了利用该任务中多种不同交互类型的信息对进行建模,并在建模用户、物品和捆绑包时进行显式区分的目的。

本申请的第二个目的在于提出一种基于多通道超图神经网络的捆绑推荐系统。

本申请的第三个目的在于提出一种计算机设备。

为达上述目的,本申请第一方面实施例提出了一种基于多通道超图神经网络的捆绑推荐方法,包括:获取用户-物品-捆绑包交互图和对应的节点特征,其中,用户-物品-捆绑包交互图包括物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户与物品的交互信息;

根据用户-物品-捆绑包交互图构建用户超图、物品超图、捆绑包超图;

对节点特征进行初始化得到用户特征、物品特征、捆绑包特征;

对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征;

对新的用户特征、物品特征和捆绑包特征进行特征融合得到对应的用户特征表示、物品特征表示、捆绑包特征表示;

使用捆绑包引导的物品池化模块对物品特征表示进行聚合,并与捆绑包特征表示相加得到最终表示;

通过将用户特征表示和最终表示进行点乘得到用户对捆绑包的偏好程度;

根据捆绑包的偏好程度进行捆绑推荐。

可选地,在本申请的一个实施例中,用户超图的构建包括以下步骤:

对于用户与物品的交互信息,以每一个物品为中心,用超边将与物品直接连接的用户进行连接,从而生成第一组超边;

对于用户与捆绑包的交互信息,以每一个捆绑包为中心,用超边将与物品直接连接的用户进行连接,从而生成第二组超边;

采用拼接的融合方式对第一组超边和第二组超边进行融合,生成用户超图,

物品超图的构建包括以下步骤:

对于用户与物品的交互信息,以每一个用户为中心,用超边将与用户直接连接的物品进行连接,从而生成第三组超边;

对于用户与捆绑包的从属信息,以每一个捆绑包为中心,用超边将每一个捆绑包内部得物品进行连接,从而生成第四组超边;

采用拼接的融合方式对第三组超边和第四组超边进行融合,生成物品超图,

捆绑包超图的构建包括以下步骤:

对于用户与捆绑包的交互信息,以每一个用户为中心,用超边将与某一个物品直接连接的捆绑包连接起来,从而生成第五组超边;

对于物品与捆绑包的从属信息,用超边将与某一个物品直接相连的捆绑包连接起来,从而生成第六组超边;

采用拼接的融合方式对第五组超边和第六组超边进行融合,生成捆绑包超图。

可选地,在本申请的一个实施例中,对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征,表示为:

其中,分别为所述用户特征、所述物品特征和所述捆绑包特征;为相应的输出特征;为该模块的可学习参数,leakly_relu为激活函数,hu为用户超图,为用户超图节点的度矩阵,为用户超图超边的矩阵,wu为用户超图超边的权重矩阵,hi为物品超图,为物品超图节点的度矩阵,为物品超图超边的矩阵,wi为物品超图超边的权重矩阵,hb为捆绑包超图,为捆绑包超图节点的度矩阵,为捆绑包超图超边的矩阵,wb为捆绑包超图超边的权重矩阵。

可选地,在本申请的一个实施例中,将不同层级的用户、物品和捆绑包的特征进行融合,表示为:

其中,uj表示用户,ik表示物品,bp表示捆绑包,l为网络层数为用户特征,为物品特征,为捆绑包特征。

可选地,在本申请的一个实施例中,构建捆绑包引导的物品池化模块,通过如下方式对捆绑包内的物品特征进行池化:

其中,为可训练参数,σ为激活函数,具体为leakyrelu激活函数,为捆绑包bp的特征,为物品ik的特征,为物品il的特征,apk为用于池化模块的权重系数,jp为捆绑包p所包含的物品集合,il为物品il,bp为捆绑包,bp由物品集合构成,且物品ik为集合其中的一个物品;

可选地,在本申请的一个实施例中,将用户特征表示和最终表示进行点乘,具体表示为:

其中,为用户特征表示,为最终表示。

为达上述目的,本发明第二方面实施例提出了一种基于多通道超图神经网络的捆绑推荐系统,包括:

第一获取模块,用于获取用户-物品-捆绑包交互图和对应的节点特征;

构建模块,用于根据用户-物品-捆绑包交互图构建用户超图、物品超图、捆绑包超图,根据节点特征进行初始化得到用户特征、物品特征、捆绑包特征;

第二获取模块,用于对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征;

融合模块,用于对新的用户特征、物品特征和捆绑包特征进行特征融合得到对应的用户特征表示、物品特征表示、捆绑包特征表示;

第三获取模块,用于使用物品池化模块对物品特征表示进行聚合,并与捆绑包特征表示相加得到最终表示;

确定模块,用于通过将用户特征表示和最终表示进行点乘得到用户对捆绑包的偏好程度。

可选地,在本申请的一个实施例中,对于系统进行训练,采用贝叶斯个性化排序进行学习,具体过程为:

构造用于训练的训练集三元组集合,三元组集合表示为:

其中为训练集中出现过的用户与捆绑包的交互记录,而为训练集中未出现过的用户与捆绑包的交互记录,u为用户,i为用户u在训练集中点击过的某个捆绑包,?j为用户u在训练集中未点击过的某个捆绑包,

基于三元组集合,通过以下函数模型训练:

其中σ为sigmoid函数,θ为模型的可训练参数,λ为$l2正则项的系数,σ为激活函数,为用户u对捆绑包i的偏好程度,为用户u对捆绑包j的偏好程度。

为了实现上述目的,本发明第三方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于多通道超图神经网络的捆绑推荐方法。

本申请实施例的基于多通道超图神经网络的捆绑推荐方法、计算机设备和非临时性计算机可读存储介质,引入超图结构来建模不同类型节点间的高阶关联信息,同时利用该任务中物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户和物品的交互信息等多种不同交互类型的信息对进行建模,并在建模用户、物品和捆绑包时进行显式区分。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例一所提供的一种基于多通道超图神经网络的捆绑推荐方法的流程图;

图2为本申请实施例的基于多通道超图神经网络的捆绑推荐方法的另一个流程图;

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的基于多通道超图神经网络的捆绑推荐方法。

图1为本申请实施例一所提供的一种基于多通道超图神经网络的捆绑推荐方法的流程图。

如图1所示,该基于多通道超图神经网络的捆绑推荐方法包括以下步骤:

步骤101,获取用户-物品-捆绑包交互图和对应的节点特征,其中,用户-物品-捆绑包交互图包括物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户与物品的交互信息;

步骤102,根据所述用户-物品-捆绑包交互图构建用户超图、物品超图、捆绑包超图;

步骤103,对节点特征进行初始化得到用户特征、物品特征、捆绑包特征;

步骤104,对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征;

步骤105,对新的用户特征、物品特征和捆绑包特征进行特征融合得到对应的用户特征表示、物品特征表示、捆绑包特征表示;

步骤106,使用捆绑包引导的物品池化模块对物品特征表示进行聚合,并与捆绑包特征表示相加得到最终表示;

步骤107,通过将用户特征表示和最终表示进行点乘得到用户对捆绑包的偏好程度;

步骤108,根据捆绑包的偏好程度进行捆绑推荐。

本申请实施例的基于多通道超图神经网络的捆绑推荐方法,通过获取用户-物品-捆绑包交互图和对应的节点特征,其中,用户-物品-捆绑包交互图包括物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户与物品的交互信息;根据用户-物品-捆绑包交互图构建用户超图、物品超图、捆绑包超图;对节点特征进行初始化得到用户特征、物品特征、捆绑包特征;对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征;对新的用户特征、物品特征和捆绑包特征进行特征融合得到对应的用户特征表示、物品特征表示、捆绑包特征表示;使用捆绑包引导的物品池化模块对物品特征表示进行聚合,并与捆绑包特征表示相加得到最终表示;通过将用户特征表示和最终表示进行点乘得到用户对捆绑包的偏好程度;根据捆绑包的偏好程度进行捆绑推荐。由此,本申请能够解决现有方法未对用户、物品和捆绑包进行显式区分建模,以及在建模高阶关联时仍有欠缺的技术问题,以实现引入超图结构来建模不同类型节点间的高阶关联信息,同时利用该任务中多种不同交互类型的信息对进行建模,并在建模用户、物品和捆绑包时进行显式区分。

进一步地,在本申请实施例中,给定一个包括用户、物品和捆绑包三种节点的三部图和相应的节点特征。该图结构包含物品和捆绑包的从属信息、用户与捆绑包的交互信息和用户与物品的交互信息。用表示用户集合、物品集合和捆绑包集合,其中n、m和o分别代表用户数量、物品数量和捆绑包数量。用分别表示用户与物品的交互信息、用户与捆绑包的交互信息和物品与捆绑包的从属信息。对用户、物品和捆绑包的特征初始化为对于用户,利用用户与物品的交互信息和用户与捆绑包的交互信息进行构建超图。

用户超图的构建包括以下步骤:

对于用户与物品的交互信息,以每一个物品为中心,用超边将与物品直接连接的用户进行连接,从而生成第一组超边;

对于用户与捆绑包的交互信息,以每一个捆绑包为中心,用超边将与物品直接连接的用户进行连接,从而生成第二组超边;

采用拼接的融合方式对第一组超边和第二组超边进行融合,生成用户超图,具体如下:

hu,1=p

hu,2=q

hu=hu,1|hu,2

对于物品,利用用户与物品的交互信息和物品与捆绑包的从属信息进行构建超图。

物品超图的构建包括以下步骤:

对于用户与物品的交互信息,以每一个用户为中心,用超边将与用户直接连接的物品进行连接,从而生成第三组超边;

对于用户与捆绑包的从属信息,以每一个捆绑包为中心,用超边将每一个捆绑包内部得物品进行连接,从而生成第四组超边;

采用拼接的融合方式对第三组超边和第四组超边进行融合,生成物品超图,具体如下:

hi,1=pt

hi,2=rt

hi=hi,1|hi,2

对于捆绑包,利用用户与捆绑包的交互信息和物品与捆绑包的从属信息进行构建超图。

捆绑包超图的构建包括以下步骤:

对于用户与捆绑包的交互信息,以每一个用户为中心,用超边将与某一个物品直接连接的捆绑包连接起来,从而生成第五组超边;

对于物品与捆绑包的从属信息,用超边将与某一个物品直接相连的捆绑包连接起来,从而生成第一组超边;

采用拼接的融合方式对第五组超边和第六组超边进行融合,生成捆绑包超图,具体如下:

hb,1=qt

hb,2=r

hb=hb,1|hb,2

进一步地,在本申请实施例中,基于多通道超图和模型输入的节点特征,使用超图卷积进行高阶关联信息捕捉,对用户特征、物品特征、捆绑包特征使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征,表示为:

其中,分别为所述用户特征、所述物品特征和所述捆绑包特征;为相应的输出特征;为该模块的可学习参数,leakly_relu为激活函数,hu为用户超图,为用户超图节点的度矩阵,为用户超图超边的矩阵,wu为用户超图超边的权重矩阵,hi为物品超图,为物品超图节点的度矩阵,为物品超图超边的矩阵,wi为物品超图超边的权重矩阵,hb为捆绑包超图,为捆绑包超图节点的度矩阵,为捆绑包超图超边的矩阵,wb为捆绑包超图超边的权重矩阵。

进一步地,在本申请实施例中,为进行模型的预测,将不同层级的用户、物品和捆绑包的特征进行融合得到相应的特征表示。将不同层级的用户、物品和捆绑包的特征进行融合,表示为:

其中,uj表示用户,ik表示物品,bp表示捆绑包,l为网络层数为用户特征,为物品特征,为捆绑包特征。

进一步地,在本申请实施例中,为了进行更好地使用捆绑包内物品的特征对捆绑包特征进行补充,提出一个捆绑包引导的物品池化模块,构建捆绑包引导的物品池化模块,通过如下方式对捆绑包内的物品特征进行池化:

其中,为可训练参数,σ为激活函数,具体为leakyrelu激活函数,为捆绑包bp的特征,为物品ik的特征,为物品il的特征,apk为用于池化模块的权重系数,jp为捆绑包p所包含的物品集合,il为物品il,bp为捆绑包,bp由物品集合构成,且物品ik为集合其中的一个物品。

进一步地,在本申请实施例中,使用捆绑包引导的物品池化模块对物品特征进行聚合,并与捆绑包特征进行相加得到最终表示:

通过将用户的特征和捆绑包的特征进行点乘得到用户对该捆绑包的偏好程度,将用户特征和新的捆绑包特征进行点乘,具体表示为:

其中,为用户特征表示,为最终表示。

图2为本申请实施例提供的基于多通道超图神经网络的捆绑推荐方法的另一个流程图。

如图2所示,该基于多通道超图神经网络的捆绑推荐方法,包括:基于输入的用户-物品-捆绑包交互图,构建用户超图、物品超图和捆绑包超图;基于多通道超图和模型输入的节点特征,使用超图卷积进行高阶关联信息捕捉;使用捆绑包引导的物品池化模块对捆绑包特征进行补充;将不同层级的用户、物品和捆绑包的特征进行融合得到相应的特征表示;对于模型的训练,采用贝叶斯个性化排序进行学习。

为了实现上述实施例,本发明还提出了一种基于多通道超图神经网络的捆绑推荐系统,包括:

第一获取模块,用于获取用户-物品-捆绑包交互图和对应的节点特征;

构建模块,用于根据用户-物品-捆绑包交互图构建用户超图、物品超图、捆绑包超图,根据节点特征进行初始化得到用户特征、物品特征、捆绑包特征;

第二获取模块,用于对用户特征、物品特征、捆绑包特征和对应的用户超图、物品超图、捆绑包超图使用超图卷积进行特征提取,得到新的用户特征、物品特征和捆绑包特征;

融合模块,用于对新的用户特征、物品特征和捆绑包特征进行特征融合得到对应的用户特征表示、物品特征表示、捆绑包特征表示;

第三获取模块,用于使用物品池化模块对物品特征表示进行聚合,并与捆绑包特征表示相加得到最终表示;

确定模块,用于通过将用户特征表示和最终表示进行点乘得到用户对捆绑包的偏好程度。

可选地,在本申请的一个实施例中,对于系统进行训练,采用贝叶斯个性化排序进行学习,具体过程为:

构造用于训练的训练集三元组集合,三元组集合表示为:

其中为训练集中出现过的用户与捆绑包的交互记录,而为训练集中未出现过的用户与捆绑包的交互记录,u为用户,i为用户u在训练集中点击过的某个捆绑包,?j为用户u在训练集中未点击过的某个捆绑包;

基于三元组集合,通过以下函数模型训练:

其中σ为sigmoid函数,θ为模型的可训练参数,λ为$l2正则项的系数,σ为激活函数,为用户u对捆绑包i的偏好程度,为用户u对捆绑包j的偏好程度。

为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述施例的基于多通道超图神经网络的捆绑推荐方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1