基于有效邻居取样最大化的图神经网络的个性化建模方法转让专利

申请号 : CN202210571867.7

文献号 : CN114707427B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘金环侯磊杜军威于旭马军

申请人 : 青岛科技大学

摘要 :

本发明公开了一种基于有效邻居取样最大化的图神经网络的个性化建模方法,属于个性化时尚推荐系统技术领域体。本发明还提供一种个性化模型,该模型包括构图模块、时尚单品表示模块、用户表示模块、上衣‑下衣兼容性模块、用户个性化模块、推荐模块;其中构图模块与时尚单品表示模块、用户表示模块两大模块相连,时尚单品表示模块与上衣‑下衣兼容性模块相连,时尚单品表示模块和用户表示模块与用户个性化模块相连,上衣‑下衣兼容性模块和用户个性化模块两大模块与推荐模块相连。本发明提供了图神经网络在时尚推荐领域的具体用途,提高了推荐的准确度;在图神经网络的不同层采用不同的取样概率,提高了模型对目标结点的表示能力和模型的鲁棒性。

权利要求 :

1.基于有效邻居取样最大化的图神经网络的个性化建模方法,其特征在于,该建模方法包括以下步骤:S1:首先构建基础模型;所述基础模型包括构图模块、时尚单品表示模块、用户表示模块、上衣‑下衣兼容性模块、用户个性化模块、推荐模块;其中构图模块与时尚单品表示模块、用户表示模块两大模块相连,时尚单品表示模块与上衣‑下衣兼容性模块相连,时尚单品表示模块和用户表示模块与用户个性化模块相连,上衣‑下衣兼容性模块和用户个性化模块两大模块与推荐模块相连;

S2:根据用户以及时尚单品间的交互图:构建用户‑时尚单品图、用户交互图、时尚单品‑用户图、时尚单品‑时尚单品交互图;

S3:根据S2步骤创建的时尚单品交互图,创建时尚单品的特征表示矩阵,并构造一个共有L层的图神经网络模型,将时尚单品的特征表示矩阵送入到图神经网络模型当中,获得更新之后的时尚单品特征表示矩阵,包括上衣的特征表示和下衣的特征表示;

S4:根据S2步骤创建的用户交互图,创建用户的特征表示矩阵,利用S3步骤创建的图神经网络模型,将用户的特征表示矩阵送入到该图神经网络模型当中,获得更新之后的用户特征表示矩阵,即用户特征表示;

所述S3、S4中,所述图神经网络模型采用一种依不同概率p在不同网络层进行取样有效结点参与信息聚合的策略;

S5:经过S3步骤,获得上衣的特征表示与下衣的特征表示,将这两个特征表示送入所述上衣‑下衣兼容性模块当中,计算上衣与下衣的兼容性分数;

S6:经过S3步骤与S4步骤,分别获得下衣的特征表示与用户特征表示,将这两个表示送入到所述用户个性化模块中,获得用户对给定下衣的偏爱分数;

S7:将从S5步骤获得的上衣与下衣的兼容性分数以及从S5步骤获得的用户对给定下衣的偏爱分数送入推荐模块,获得融合了个性化因素的上衣与下衣的兼容性分数。

2.如权利要求1所述的个性化建模方法,其特征在于,所述构图模块:根据用户以及时尚单品间的关系,构建用户‑时尚单品图、用户‑用户关系图、时尚单品‑用户图、时尚单品‑时尚单品图;

所述时尚单品表示模块:用于将时尚单品‑用户图、时尚单品‑时尚单品图以及随机初始化的用户、单品特征表示矩阵,输入到构建的图神经网络模型当中,获取更新之后的时尚单品特征表示;

所述用户表示模块:用于将用户‑时尚单品图、用户‑用户关系图以及随机初始化的用户、单品特征表示矩阵,输入到构建的图神经网络模型当中,获取更新之后的用户特征表示;

所述上衣‑下衣兼容性模块:将从时尚单品表示模块中获得的上衣特征表示以及下衣特征表示作为输入信息,送入到该模块中,计算上衣与下衣的兼容性程度;

所述用户个性化模块:将从时尚单品表示模块中获得的下衣特征表示以及从用户表示模块中获得的用户特征表示作为输入信息,送入到该模块中,计算用户对于给定下衣的喜欢程度;

所述推荐模块:将上衣‑下衣兼容性模块得到的上衣与下衣兼容性程度以及用户个性化模块得到的用户对下衣的喜欢程度作为输入,计算融入了个性化因素的上衣与下衣的兼容性分数,根据分数,为用户产生推荐。

3.如权利要求1所述的个性化建模方法,其特征在于,所述的时尚单品表示模块包括第一表示子模块、第二表示子模块和第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;

第一表示子模块:用于从时尚单品交互空间中,借助图神经网络模型,并且融合注意力机制,从单品层面中获得单品特征表示;

第二表示子模块:用于从时尚单品‑用户交互空间中,借助图神经网络模型,并且融合注意力机制,从用户层面中获得单品的特征表示;

第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的单品特征表示以及从用户层面获得的单品特征表示,获得目标时尚单品的最终特征表示。

4.如权利要求1所述的个性化建模方法,其特征在于,所述的用户表示模块包括第一表示子模块、第二表示子模块和第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;

第一表示子模块:用于从用户‑时尚单品交互空间中,借助图神经网络,并且融合注意力机制,从单品层面中获得用户特征表示;

第二表示子模块:用于从用户‑用户交互关系空间中,借助图神经网络,并且融合注意力机制,从用户交互层面中获得用户的特征表示;

第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的用户特征表示以及从用户交互层面获得的用户特征表示,获得目标用户的最终特征表示。

5.如权利要求1所述的个性化建模方法,其特征在于,所述步骤S2中,创建交互图的具体方法为:S21:首先定义两个符号表示,记 为包含N个用户的用户集合;

为包含M个时尚单品的服装集合;

S22:创建字典形式的时尚单品‑时尚单品交互图

,其, 与 表示目标结点, 与

分别是结点 , 的邻居结点集合;

S23:创建字典形式的时尚单品‑用户交互图 ,

其中, 与 表示目标结点, 与 分别是结点 , 的邻居结点集合;

S24:创建字典形式的用户‑用户交互关系图 ,

其中, 与 表示目标结点, 与 分别是结点 , 的邻居结点集合;

S25:创建字典形式的用户‑时尚单品交互图 ,其

中, 与 表示目标结点, 与 分别是结点 , 的邻居结点集合。

6.如权利要求1所述的个性化建模方法,其特征在于,所述的步骤S3具体为:S31:根据创建的交互图,构造时尚单品静态特征矩阵 ;其中,时尚单品特征矩阵 的每一行代表一件时尚单品 的特征向量,将其记为 ,这也是单品 在图神经网络中第一层的初始向量;

S32:从时尚单品层面,借助图神经网络,聚合邻居结点的状态,对单品 的特征向量进行更新,通过状态更新,得到单品 在第k层的结点表示 ;

S33:从用户层面,借助图神经网络,聚合邻居结点的状态,对单品 的特征向量进行更新,通过状态更新,得到单品 在第k层的结点表示 ;

S34:将从时尚单品层面获得的单品 表示 以及从用户层面获得的单品 表示 进行拼接,得到最终的单品 表示 。

7.如权利要求1所述的个性化建模方法,其特征在于,所述的步骤S4具体为:S41:根据创建的交互图,构造用户静态特征矩阵 ;其中,用户特征矩阵 的每一行代表一个用户 的特征向量,将其记为 ,这也是用户在图神经网络中第一层的初始向量;

S42:从时尚单品层面,借助图神经网络,聚合邻居结点的状态,对用户 的特征向量进行更新,通过状态更新,可以得到用户 在第k层的结点表示 ;

S43:从用户交互关系层面,借助图神经网络,聚合邻居结点的状态,对用户 的特征向量进行更新,通过状态更新,可以得到用户 在第k层的结点表示 ;

S44:将从时尚单品层面获得的用户 表示 以及从用户交互层面获得的用户 表示进行拼接,得到最终的用户 表示 。

8.如权利要求1所述的个性化建模方法,其特征在于,所述的步骤S5具体为:S51:将通过S3获得的上衣特征表示 与下衣特征表示 送入到上衣‑下衣兼容性建模模块中;

S52:计算上衣与下衣的兼容性分数 ;

式中,表示点积运算;

所述的步骤S6具体为:

S61:将通过S3步骤获得的下衣特征表示 与通过S4步骤获得的用户特征表示 送入到用户个性化建模模块中;

S62:计算用户对给定下衣的喜欢分数 ;

所述的步骤S7具体为:

S71:根据S52步骤获得的上衣下衣兼容性分数 以及根据S52步骤获得的用户对给定下衣的喜欢分数 ,计算融合了用户个性化偏好的服装兼容性 :式中,π是一个介于(0,1)之间的非负权衡参数;

S72:使用BPR Loss计算损失:

式中, , 分别表示融合了个性化因素的上衣 与下衣 、下衣  的兼容性。

9.权利要求1所述的个性化建模方法能够应用于时尚推荐、衣服搭配的技术领域。

说明书 :

基于有效邻居取样最大化的图神经网络的个性化建模方法

技术领域

[0001] 本发明属于个性化时尚推荐系统技术领域,具体涉及一种基于有效邻居取样最大化的图神经网络的个性化、兼容性建模方法。

背景技术

[0002] 近年来,随着时尚产业的快速发展,消费者对于时尚推荐的需求也在不断增加,由此产生了对于穿衣搭配的强烈需求。在服装兼容性建模方面,目前的工作可以分为两大类:其一是对两件时尚单品(如上衣与下衣)的兼容性建模,其二是对成套服装(多件时尚单品)的兼容性建模。在时尚单品建模方面,大多数方法是通过假设具有兼容关系的一对时尚单品在一个潜在空间当中彼此接近,从而将其视为一个度量学习问题;之后,随着相关研究的进展,数据独立函数与数据依赖函数的依次提出,科研工作者开始使用这些方法来建模时尚单品之间的兼容性;在套装建模方面,目前的研究方法多是将成套的服装视为一个序列,利用Bi‑LSTM或RNN方法进行建模,之后,随着图神经网络的广泛应用,开始将这种方法应用在套装建模中。
[0003] 基于上述,在时尚推荐领域进行服装兼容性建模时,目前的方法主要存在以下三点不足:其一,忽略了不同服装之间的关联程度,仅仅使用自身的视觉特征或者文本特征进行特征表示,不足以获得准确的单品特征表示;其二,在考虑个性化因素的建模方案中,忽略了用户关系网络对用户的影响,从而无法获得准确的用户特征表示,进而使得推荐系统无法根据不同用户做出精确的服装推荐;其三,在使用图神经网络进行建模的方案当中,一般是将目标结点的所有邻居信息进行聚合,并未考虑噪声结点对目标结点表示带来的影响。

发明内容

[0004] 本发明的目的是提供一种基于有效邻居取样最大化的图神经网络的个性化建模方法,以弥补现有技术的不足。
[0005] 为了达到上述发明目的,本发明采用的具体技术方案是:
[0006] 基于有效邻居取样最大化的图神经网络的个性化建模方法,包括以下步骤:
[0007] S1:首先构建基础模型:即所述个性化、兼容性模型;
[0008] S2:根据用户以及时尚单品间的交互图:构建用户‑时尚单品图、用户交互图、时尚单品‑用户图、时尚单品‑时尚单品交互图;
[0009] S3:根据S2步骤创建的时尚单品交互图,创建时尚单品的特征表示矩阵,并构造一个共有L层的图神经网络模型,将时尚单品的特征表示矩阵送入到图神经网络模型当中,获得更新之后的时尚单品特征表示矩阵,包括上衣的特征表示和下衣的特征表示;
[0010] S4:根据S2步骤创建的用户交互图,创建用户的特征表示矩阵,利用S3步骤创建的图神经网络模型,将用户的特征表示矩阵送入到该图神经网络模型当中,获得更新之后的用户特征表示矩阵,即用户特征表示;
[0011] S5:经过S3步骤,获得上衣的特征表示与下衣的特征表示,将这两个特征表示送入所述上衣‑下衣兼容性模块当中,计算上衣与下衣的兼容性分数;
[0012] S6:经过S3步骤与S4步骤,分别获得下衣的特征表示与用户特征表示,将这两个表示送入到所述用户个性化模块中,获得用户对给定下衣的偏爱分数;
[0013] S7:将从S5步骤获得的上衣与下衣的兼容性分数以及从S5步骤获得的用户对给定下衣的偏爱分数送入推荐模块,获得融合了个性化因素的上衣与下衣的兼容性分数。
[0014] 进一步的,所述基础模型包括构图模块、时尚单品表示模块、用户表示模块、上衣‑下衣兼容性模块、用户个性化模块、推荐模块;其中构图模块与时尚单品表示模块、用户表示模块两大模块相连,时尚单品表示模块与上衣‑下衣兼容性模块相连,时尚单品表示模块和用户表示模块与用户个性化模块相连,上衣‑下衣兼容性模块和用户个性化模块两大模块与推荐模块相连。
[0015] 更进一步的,所述构图模块:根据用户以及时尚单品间的关系,构建用户‑时尚单品图、用户‑用户关系图、时尚单品‑用户图、时尚单品‑时尚单品图;
[0016] 所述时尚单品表示模块:用于将时尚单品‑用户图、时尚单品‑时尚单品图以及随机初始化的用户、单品特征表示矩阵,输入到构建的图神经网络模型当中,获取更新之后的时尚单品特征表示;
[0017] 所述用户表示模块:用于将用户‑时尚单品图、用户‑用户关系图以及随机初始化的用户、单品特征表示矩阵,输入到构建的图神经网络模型当中,获取更新之后的用户特征表示;
[0018] 所述上衣‑下衣兼容性模块:将从时尚单品表示模块中获得的上衣特征表示以及下衣特征表示作为输入信息,送入到该模块中,计算上衣与下衣的兼容性程度;
[0019] 所述用户个性化模块:将从时尚单品表示模块中获得的下衣特征表示以及从用户表示模块中获得的用户特征表示作为输入信息,送入到该模块中,计算用户对于给定下衣的喜欢程度;
[0020] 所述推荐模块:将上衣‑下衣兼容性模块得到的上衣与下衣兼容性程度以及用户个性化模块得到的用户对下衣的喜欢程度作为输入,计算融入了个性化因素的上衣与下衣的兼容性分数,根据分数,为用户产生推荐。
[0021] 更进一步地,所述的时尚单品表示模块包括第一表示子模块、第二表示子模块和第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;
[0022] 第一表示子模块:用于从时尚单品交互空间中,借助图神经网络模型,并且融合注意力机制,从单品层面中获得单品特征表示;
[0023] 第二表示子模块:用于从时尚单品‑用户交互空间中,借助图神经网络模型,并且融合注意力机制,从用户层面中获得单品的特征表示;
[0024] 第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的单品特征表示以及从用户层面获得的单品特征表示,获得目标时尚单品的最终特征表示。
[0025] 更进一步地,所述的用户表示模块包括第一表示子模块、第二表示子模块和第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;
[0026] 第一表示子模块:用于从用户‑时尚单品交互空间中,借助图神经网络,并且融合注意力机制,从单品层面中获得用户特征表示;
[0027] 第二表示子模块:用于从用户‑用户交互关系空间中,借助图神经网络,并且融合注意力机制,从用户交互层面中获得用户的特征表示;
[0028] 第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的用户特征表示以及从用户交互层面获得的用户特征表示,获得目标用户的最终特征表示。
[0029] 进一步地,所述步骤S2中,创建交互图的具体方法为:
[0030] S21:首先定义两个符号表示,记 为包含N个用户的用户集合;为包含M个时尚单品的服装集合;
[0031] S22:创建字典形式的时尚单品‑时尚单品交互图,其中, 与 表示时尚单品目标结点,
与 分别是结点 , 的邻居结点集合;
[0032] S23:创建字典形式的时尚单品‑用户交互图,其中, 与 表示时尚单品目标结点,
与 分别是结点 , 的邻居结点集合;
[0033] S24:创建字典形式的用户‑用户交互关系图,其中, 与 表示用户目标结点,
与 分别是结点 , 的邻居结点集合;
[0034] S25:创建字典形式的用户‑时尚单品交互图 ,其中, 与 表示用户目标结点, 与 分别是结点 , 的邻居结
点集合。
[0035] 进一步地,所述的步骤S3具体为:
[0036] S31:根据创建的交互图,构造时尚单品静态特征矩阵 ;
[0037] 其中,时尚单品特征矩阵 的每一行代表一件时尚单品 的特征向量,将其记为,这也是单品 在图神经网络中第一层的初始向量;
[0038] S32:从时尚单品层面,借助图神经网络,聚合邻居结点的状态,对单品 的特征向量进行更新,通过状态更新,得到单品 在第k层的结点表示 ;
[0039] S33:从用户层面,借助图神经网络,聚合邻居结点的状态,对单品 的特征向量进行更新,通过状态更新,得到单品 在第k层的结点表示 ;
[0040] S34:将从时尚单品层面获得的单品 表示 以及从用户层面获得的单品 表示进行拼接,得到最终的单品 表示 。
[0041] 进一步地,所述的步骤S4具体为:
[0042] S41:根据创建的交互图,构造用户静态特征矩阵 ;
[0043] 其中,用户特征矩阵 的每一行代表一个用户 的特征向量,将其记为 ,这也是用户 在图神经网络中第一层的初始向量;
[0044] S42:从时尚单品层面,借助图神经网络,聚合邻居结点的状态,对用户 的特征向量进行更新,通过状态更新,可以得到用户 在第k层的结点表示 ;
[0045] S43:从用户交互关系层面,借助图神经网络,聚合邻居结点的状态,对用户 的特征向量进行更新,通过状态更新,可以得到用户 在第k层的结点表示 ;
[0046] S44:将从时尚单品层面获得的用户 表示 以及从用户交互层面获得的用户表示 进行拼接,得到最终的用户 表示 。
[0047] 更进一步地,上述的图神经网络在进行邻居结点聚合信息时,采用一种依不同概率p在不同网络层进行取样有效结点参与信息聚合的策略,详细的步骤如下:
[0048] A1:取样概率与图神经网络层数的关系为: ,其中j为图神经网络的第j层,p为该层网络的取样概率;
[0049] A2:对于目标结点o,依据取样概率p,在网络的第j层进行取样结点,以参与目标结点的信息聚合,其中取样结点数目num与概率p的关系为:
[0050] ,其中,d是目标结点o的度,ceil是一个向上取整的函数;
[0051] A3:计算目标结点o的所有邻居与结点o的相似度,取出前num个相似度大的结点,参与目标结点o的特征聚合。
[0052] 进一步地,所述的步骤S5具体为:
[0053] S51:将通过S3获得的上衣特征表示 与下衣特征表示 送入到上衣‑下衣兼容性建模模块中;
[0054] S52:计算上衣与下衣的兼容性分数
[0055] 式中,表示点积运算。
[0056] 进一步地,所述的步骤S6具体为:
[0057] S61:将通过S3步骤获得的下衣特征表示 与通过S4步骤获得的用户特征表示送入到用户个性化建模模块中;
[0058] S62:计算用户对给定下衣的喜欢分数 。
[0059] 进一步地,所述的步骤S7具体为:
[0060] S71:根据S52步骤获得的上衣下衣兼容性分数 以及根据S52步骤获得的用户对给定下衣的喜欢分数 ,计算融合了用户个性化偏好的服装兼容性 :
[0061]
[0062] 式中,π是一个介于(0,1)之间的非负权衡参数。
[0063] S72:使用BPR Loss计算损失:
[0064] 式中, , 分别表示融合了个性化因素的上衣 与下衣 、下衣 的兼容性。
[0065] 上述方法能够应用于时尚推荐、衣服搭配等领域。
[0066] 本发明的优点和有益效果如下:
[0067] (1)本发明提供了图神经网络在时尚推荐领域的具体用途,通过挖掘用户、时尚单品以及二者之间的交互关系,借助图表示学习方法,能充分学习用户以及时尚单品的特征表示,从而提高推荐的准确度。
[0068] (2)本发明在图神经网络的不同层采用不同的取样概率,尽可能地取样有效结点,摒弃噪声结点,从而提高模型对目标结点的表示能力;同时,提出依概率取样策略有效地解决了图神经网络当中由于层数过多而产生的过平滑问题,提高了模型的鲁棒性。

附图说明

[0069] 图1为本发明建模过程整体框架示意图;
[0070] 图 2 为本发明的建模使用方法流程图。

具体实施方式

[0071] 下面结合附图来对本发明作进一步的阐述。
[0072] 实施例:
[0073] 一种基于有效邻居取样最大化的图神经网络的用户个性化、兼容性方法:
[0074] 首先建立基础模型(如图1‑2所示),该模型主要包括构图模块、时尚单品表示模块、用户表示模块、上衣‑下衣兼容性模块、用户个性化模块、推荐模块,其中构图模块与时尚单品表示模块、用户表示模块两大模块相连,时尚单品表示模块与上衣‑下衣兼容性模块相连,用户表示模块与用户个性化模块相连,上衣‑下衣兼容性模块与用户个性化模块两大模块与推荐模块相连;
[0075] 构图模块:构建用户‑时尚单品图、用户‑用户交互关系图、时尚单品‑用户图、时尚单品‑时尚单品图,从而为时尚单品表示模块以及用户表示模块提供交互图;
[0076] 时尚单品表示模块:用于将时尚单品‑用户图、时尚单品‑时尚单品图两个交互图以及随机初始化的用户、时尚单品特征表示矩阵,输入到所构建的图神经网络模型当中,以获取更新之后的时尚单品特征表示。所述的时尚单品表示模块包括:第一表示子模块、第二表示子模块以及第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;
[0077] 第一表示子模块:用于从时尚单品交互空间中,借助图神经网络,并且融合注意力机制,从单品层面中获得时尚单品特征表示;
[0078] 第二表示子模块:用于从时尚单品‑用户交互空间中,借助图神经网络,并且融合注意力机制,从用户层面中获得单品的特征表示;
[0079] 第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的单品特征表示以及从用户层面获得的单品特征表示,获得目标时尚单品的最终特征表示。
[0080] 用户表示模块:用于将用户‑时尚单品图、用户‑用户交互图两个交互图以及随机初始化的用户、单品特征表示矩阵,输入到所构建的图神经网络模型当中,获取更新之后的用户特征表示。所述的用户表示模块包括:第一表示子模块、第二表示子模块以及第三表示子模块,其中第一表示子模块和第二表示子模块均与第三表示子模块相连;
[0081] 第一表示子模块:用于从用户‑时尚单品交互空间中,借助图神经网络,并且融合注意力机制,从单品层面中获得用户特征表示;
[0082] 第二表示子模块:用于从用户‑用户交互空间中,借助图神经网络,并且融合注意力机制,从用户交互层面中获得用户的特征表示;
[0083] 第三表示子模块:将第一表示子模块与第二表示子模块的输出内容作为输入,用于融合从单品层面获得的用户特征表示以及从用户交互层面获得的用户特征表示,获得目标用户的最终特征表示。
[0084] 上衣‑下衣兼容性模块:将从时尚单品表示模块中获得的上衣特征表示与下衣特征表示作为输入信息,送入到该模块中,计算上衣与下衣的兼容性程度;
[0085] 用户个性化模块:将从时尚单品表示模块中获得的下衣特征表示以及从用户表示模块中获得的用户特征表示作为输入信息,送入到该模块中,计算用户对于给定下衣的喜欢程度;
[0086] 推荐模块:将上衣‑下衣兼容性模块得到的上衣与下衣兼容性程度以及用户个性化模块得到的用户对下衣的喜欢程度作为输入,计算融入了个性化因素的上衣与下衣的兼容性分数,根据分数,为用户产生推荐。
[0087] 基于上述模型的具体建模方法,包括以下步骤:
[0088] S1:构建用户‑时尚单品图、用户‑用户交互关系图、时尚单品‑用户图、时尚单品‑时尚单品图,所构建的四个交互图均为无向图,详细的交互图构建方式为:
[0089] S11:首先定义两个符号表示,记 为包含N个用户的用户集合;为包含M个时尚单品的服装集合;
[0090] S12:创建字典形式的时尚单品‑时尚单品交互图,其中, 与 表示时尚单品目标结点,
与 分别是结点 , 的邻居结点集合;
[0091] S13:创建字典形式的时尚单品‑用户交互图,其中, 与 表示时尚单品目标结点,
与 分别是结点 , 的邻居结点集合;
[0092] S14:创建字典形式的用户‑用户交互关系图,其中, 与 表示用户目标结点,
与 分别是结点 , 的邻居结点集合;
[0093] S15:创建字典形式的用户‑时尚单品交互图,其中, 与 表示用户目标结点, 与
分别是结点 , 的邻居结点集合;
[0094] 在上面所构建四个交互图中,需要注意以下两点,其一图中不允许出现自环,反映到字典形式 的交互图中即value集合中没有与key相同的元素;其二value集合的长度即为目标结点的度。
[0095] 本实施例在图神经网络当中,采用了一种依不同概率p在不同网络层进行取样有效结点以参与信息聚合的策略,详细的步骤如下:
[0096] A1:取样概率与图神经网络层数的关系为: ,其中j为图神经网络的第j层,p为该层网络的取样概率;
[0097] A2:对于目标结点o,依据取样概率p,在网络的第j层进行取样结点,以参与目标结点的信息聚合,其中取样结点数目num与概率p的关系为:
[0098] ,其中,d是目标结点o的度,ceil是一个向上取整的函数,ceil函数与概率p的引进,保证了目标结点的取样结点数目 ;
[0099] A3:计算目标结点o的所有邻居与结点o的相似度,取出前num个相似度大的结点,参与目标结点o的特征聚合,计算相似度的操作具体为:
[0100]
[0101] 其中, 是目标结点o的特征向量,E为目标结点o的邻居的特征矩阵,该矩阵的每一行表示其中一个邻居的特征向量, 函数的作用是 与特征矩阵E的每一行做点积,最后根据计算出的M矩阵,从中选出前num个相似度大的索引,根据索引找到对应的结点,来参与目标结点o的特征聚合。
[0102] S2:经过S1步骤,已经创建好上述四个交互图,构造时尚单品的静态交互矩阵 ,使用的是Pytorch框架下的 ,其中num_emb是时尚单品的总数量,emb_dim是特征向量的维度。其中,矩阵 的每一行代表一件时尚单品 的特征向量,将其记为 ,这也是单品 在图神经网络中第一层的初始向量。
[0103] 现在以上衣时尚单品为例,详细描述其在图神经网络中的聚集信息过程:
[0104] S21:在时尚单品层面进行聚集信息:
[0105]
[0106] 其中, 表示服装‑服装空间当中上衣 在图神经网络当中第  层的表示向量,是一种在服装‑服装空间中进行聚合操作的加权聚合器。 表示上衣 的全部邻居, 表示服装空间当中上衣 的邻居在图神经网络当中第 层的表示向量, 与分别表示神经网络当中可以学习的权重与偏置,σ是sigmoid非线性激活函数,⊕符号表示拼接操作。
[0107] 时尚单品层面详细的邻居聚合操作如下:
[0108]
[0109] 在信息聚合当中使用了注意力机制,其中, 表示不同网络层的注意力系数。详细的注意力系数获得方式如下:
[0110]
[0111]
[0112] 其中, 与 分别表示服装 ,用户 在图神经网络当中第 层的表示。
[0113] S22:在用户层面进行聚集信息:
[0114]
[0115] 其中, 表示服装‑用户图当中上衣 在图神经网络中第 层的表示向量,是一种在服装‑用户空间中进行聚合操作的加权聚合器。 表示上衣 的全部邻居, 表示服装‑用户空间当中服装 的邻居 在第 层的表示向量。 与 分别表示在服装‑用户空间的神经网络当中可以学习的权重与偏置。
[0116] 用户层面详细的邻居聚合操作如下:
[0117]
[0118] 式中,在聚合过程中也采用了注意力机制 ,注意力系数 获得方式与S21同理。
[0119] S23:将从时尚单品层面获得的上衣 表示 以及从用户层面获得的上衣 表示进行拼接,得到最终的上衣 表示 ,向量拼接方式如下:
[0120]
[0121] 同理,可以获得下衣 的最终表示 。
[0122] S3:经过S1步骤,利用上述创建好的四个交互图,构造用户静态交互矩阵 ,使用的是Pytorch框架下的 ,其中num_emb是用户的总数量,emb_dim是特征向量的维度。其中,矩阵 的每一行代表一个用户 的特征向量,将其记为 ,这也是用户 在图神经网络中第一层的初始向量。详细的图神经网络聚集信息过程如下:
[0123] S31:从时尚单品层面进行聚集信息:
[0124]
[0125] 其中, 表示用户‑服装空间当中用户 在网络中第 层的表示向量, 是本发明当中采用的加权聚合器。 表示用户 的全部邻居, 表示用户‑服装空间当中用户 的邻居  在第 层的表示向量, 与 分别表示神经网络当中可以学习的权重与偏置。
[0126] 时尚单品层面详细的邻居聚合操作如下:
[0127]
[0128] 式中,在聚合过程中也采用了注意力机制 ,注意力系数 获得方式与S21同理。
[0129] S32:从用户交互层面进行聚集信息:
[0130]
[0131] 其中, 表示用户交互空间当中用户u在图神经网络当中第 层的表示向量,是本发明当中采用的加权聚合器, 表示用户 的全部邻居, 表示用户‑交互空间当中用户 的邻居  在图神经网络当中第 层的表示向量, 与 分别表示用户交互空间的神经网络当中可以学习的权重与偏置。
[0132] 用户交互层面详细的邻居聚合操作如下:
[0133]
[0134] 式中,在聚合过程中也采用了注意力机制 ,注意力系数η获得方式与S21同理。
[0135] S33:将从时尚单品层面获得的用户表示 与从用户交互层面获得的用户表示进行拼接,得到最终的用户表示 :
[0136]
[0137] S4:将通过S2步骤获得的上衣 特征表示 以及下衣 的特征表示 送入上[0138] 衣‑下衣兼容性模块,计算上衣 与下衣 的兼容性分数,具体计算过程如下:
[0139] 在上式中使用最简单的点积方法来计算上衣与下衣的兼容性分数。
[0140] S5:将通过S2步骤获得的下衣 的特征表示 以及通过S3步骤获得的用户特征表示 送入用户个性化模块,计算用户对给定下衣的喜欢分数,具体计算过程如下:
[0141]
[0142] 在上式中使用最简单的点积方法来计算用户对给定下衣的喜欢分数。
[0143] S6:在推荐模块当中主要完成下衣的时尚推荐,其详细步骤具体如下:
[0144] S61:经过S4,S5步骤,分别得到了上衣 与下衣 的兼容性分数 以及用户对下衣 的偏好程度 ,则融合了用户个性化偏好的服装兼容性 可以表示如下:
[0145]
[0146] S62:根据现有的数据集构造四元组:
[0147]
[0148] 其中,四元组中的O表示上衣与下衣构成的套装集合。四元组 表示在给定上衣 的情况之下,用户 更加喜欢下衣 而不是 。
[0149] S63:通过BPR 损失函数的定义,目标函数如下:
[0150]
[0151]
[0152] 其中,λ是一个非负超参数, 表示整个模型当中出现的参数。
[0153] S64:根据计算出的损失值,采用随机梯度下降的方法更新图神经网络中的参数,直到模型收敛,进而完成模型的训练工作,需要特别指出的是,在模型训练过程中,采用的是Adam优化器。
[0154] S65:同时需要注意的是,整个实验的过程中,将数据集划分为了训练集、验证集与测试集,三部分数据集的比例为7:2:1,其中训练集的作用是训练模型参数,验证集的作用是调整模型中的超参数,而测试集的作用是评估模型的性能。
[0155] 本发明提出的基于有效邻居取样最大化的图神经网络的个性化建模方法充分利用了用户、时尚单品以及二者之间的交互信息,通过构建用户、时尚单品以及二者之间的交互图,借助图神经网络,并且采用一种最大化邻居取样策略,做到了对用户和时尚单品的准确表示,从而实现了贴合现实情况的高质量推荐。本发明实现了更加准确的实体特征表示,从而完成个性化时尚推荐任务。
[0156] 最后,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。