基于去中心化图神经网络的社交推荐方法

文档序号:7863 发布日期:2021-09-17 浏览:28次 英文

基于去中心化图神经网络的社交推荐方法

技术领域

本发明涉及推荐系统和图数据挖掘

技术领域

,尤其涉及一种基于去中心化图神经网络 的社交推荐方法。

背景技术

面对海量的网络用户和信息爆炸,推荐系统对于缓解信息过载,为用户提供更高效、 高质量的服务至关重要。随着社交媒体的发展,利用社交关系进行推荐能显著提高推荐 性能,社交推荐逐渐成为一种流行的推荐方法。

传统的推荐是利用矩阵分解方法,将用户和物品分别投射到向量空间,基于训练数据 的拟合来获得用户和物品的表示,然后计算用户和物品的向量内积分值择优进行推荐。 传统的社交推荐是在该矩阵分解方法的基础上加入对社交关系的建模以提升推荐性能。 虽然矩阵分解的方法高效,但其对关系的建模仍有不足,无法对高阶用户-物品或者用户- 用户关系进行建模。

深度学习技术的发展有效地解决了上述问题。深度学习有着很强的表达能力,能够对 各阶关系进行建模。图神经网络(GNN)是一种利用图数据的深度学习方法。由于图数据很好地还原了社交网络中用户-用户和用户-物品间的关系,所以GNN成为解决社交推荐问题中很有前景的方法。

但是,基于GNN的推荐方法几乎都是从原始交互图数据中学习的,很少关注图中的统计信息,以至于误解了用户的真实喜好和物品的质量,造成学习到的用户和物品表示 存在问题。此外,用户之间的社交关系通常比较简单,因此对社交关系不做区分将使得 推荐结果是次优的。

发明内容

本发明的目的是提供一种基于去中心化图神经网络的社交推荐方法,可以为目标用户 提供更加优质、准确的个性化推荐物品。

本发明的目的是通过以下技术方案实现的:

一种基于去中心化图神经网络的社交推荐方法,包括:

利用统计信息将原始交互图处理为去中心化图,所述中心化图中包含了去中心化的 用户-物品交互图与物品-用户交互图、以及用户之间的社交关系强度;

通过GNN协同过滤模型,利用去中心化的用户-物品交互图与物品-用户交互图各自进 行用户建模与物品建模,以及利用用户之间的社交关系强度进行社交建模,并利用建模 获得的用户的表示向量、物品的表示向量及用户的社交用户表示向量集合,预测用户对物品的评分;

根据用户对物品的评分大小,生成物品的推荐列表。

由上述本发明提供的技术方案可以看出,利用统计信息将原始交互图处理为去中心化 图,在去中心化图上对用户和物品进行表示学习。同时利用用户-物品交互数据显式建模 用户-用户社交关系的强度,以此提升社交关系在推荐中的作用;最终,利用GNN协同过 滤模型捕捉和学习用户和物品的细粒度表示,提升推荐的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他附图。

图1为本发明实施例提供的一种基于去中心化图神经网络的社交推荐方法的流程图;

图2为本发明实施例提供的传统社交推荐中的数据示意图;

图3为本发明实施例提供的对原始数据的处理示意图;

图4为本发明实施例提供的GDSRec网络框架示意图;

图5为本发明实施例提供的GDSRec与其三种变体的性能比较结果示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种基于去中心化图神经网络的社交推荐方法,如图1所示,其主 要包括如下步骤:

步骤1、利用统计信息将原始交互图处理为去中心化图,所述中心化图中包含了去中 心化的用户-物品交互图与物品-用户交互图、以及用户之间的社交关系强度。

步骤2、通过GNN协同过滤模型,利用去中心化的用户-物品交互图与物品-用户交互 图各自进行用户建模与物品建模,以及利用用户之间的社交关系强度进行社交建模,并利用建模获得的用户的表示向量、物品的表示向量及用户的社交用户表示向量集合,预 测用户对物品的评分。

步骤3、根据用户对物品的评分大小,生成物品的推荐列表。

本发明实施例中,通过前述步骤1~步骤2获得用户对各物品的评分后,可以通过常规 方式来实现前述步骤3,即:按照评分降序排列相应的物品,并提取出前端的指定数目的 物品生成推荐列表推送给用户。

本发明实施例上述方案,利用图数据中的统计信息将原始交互图处理为去中心化图 以增强用户和物品的表示学习,并显式建模用户-用户关系强度,通过GNN协同过滤模型提升推荐性能,主要包括如下两部分:1、原始交互数据处理;2、模型构建、数据处理 与评分预测。

在介绍上述两部分之前,先进行数据与符号的定义,令:用户ui对物品vj的打分为rij为可观测评分数据的集合(即rij≠0),R(vj)为与物品vj进行过交互的用户集合, R(ui)为用户ui与之进行过交互的物品集合。设N(ui)是用户ui在社交网络中直接连接的用户集合。向量表示用户ui的嵌入向量(Embedding),表示物品vj的嵌 入向量,其中D为维度。分别通过对用户ID和物品ID构建向量表后进行查表获 取,并在训练中不断更新。E(ui)和E(vj)分别表示用户ui和物品vj的平均评分,其中,用 户的平均评分是指用户对其所有交互物品的评分的均值,同理,物品的平均评分是与其 交互的所有用户给出的评分的均值。和|·|分别是整值函数和绝对值函数。是两个向量 的串接操作。

1、原始交互数据处理。

如图2所示,传统社交推荐中的数据主要包括两部分,左侧为用户-物品的评分矩阵, u为用户,v为物品,角标数字为用户/物品的序号。右侧为用户-物品的交互图以及社交(用户-用户)图,用户-物品的交互图为用户与相应物品交互关系的交互图,称为原始交 互图,其中包含了用户对相应物品的评分,社交图中包含了当前用户与其他用户的社交 关系,如图2的右侧部分显示了用户u1对物品v2和v4的评分,用户u1与用户u2和u4具有社 交关系。

本发明实施例中,引入原始数据中的统计信息(用户对物品的评分、各用户的平均评分以及各物品的平均评分),可以将原始交互图处理为去中心化图数据,如图3所示, 处理方式包括:

1)对于每一个用户ui而言,利用与其交互的每个物品的平均评分,获取去中心化的 用户-物品交互图,具体的,将用户ui对每个物品vj评分rij减去相应物品的平均评分 E(vj),得到去中心化的用户-物品交互图。上述处理是因为希望捕捉到当前用户与其他用户对同一个物品的不同态度,反映出该用户的独特兴趣。如图3右侧上面部分所示,用户 u1对物品v2和v4的评分分别减去了物品的平均评分,得到了用户-物品的去中心化交互 图。

2)对于每一个物品,利用与其交互的每个用户的平均评分,获取去中心化的物品-用 户交互图,具体的,将与其交互的每个用户ui给出的评分rij减去相应用户的平均评分 E(ui),得到去中心化的物品-用户交互图。上述处理是为了捕捉目标物品在不同用户上表现出的不同与其他物品的特质,如图3右侧中间部分所示,对于物品v2,在其交互的用户 u1和u4中,可以得到其物品-用户去中心化交互图。

3)为了差异化不同的社交关系强度,提升社交推荐的性能,采用简单高效的方法量 化两个用户的社交关系。计算公式为:

其中,rij、rkj各自表示用户ui、用户uk对同一物品vj的评分,R(ui)、R(ui)各自表示用户ui、用户uk进行过交互的物品集合;当条件x成立时(也即,满足|rij-rkj|≤δ), I(x)=1,否则为0;δ是评估两个用户是否喜欢同一个物品的门限值。上述式子计算出关 系系数Tij显式描述了用户ui与用户uk的社交关系强度,表明了两个用户之间在偏好上的 相似度。如图3右侧下部分所示,用户u1与用户u2和u4有社交关系,可分别计算T12和 T14,得到确定的社交关系强度。

经过上面的一系列处理,得到了细粒度的数据。

2、模型构建、数据处理与评分预测

本发明实施例中,构建了基于GNN的网络模型,称为GDSRec,该网络模型利用去 中心化图进行用户建模与物品建模,以及利用用户之间的社交关系强度进行社交建模, 并利用建模获得的用户的表示向量、物品的表示向量及用户的社交用户表示向量集合, 预测用户对物品的评分。具体来说,该模型包含了四个模块组件,分别用于用户建模、 物品建模、社交建模和评分预测,如图4所示,为GDSRec网络框架,下面针对建模与评 分预测部分做详细的介绍。

1)用户建模。

用户建模时,需要使用前文得到的去中心化的用户-物品交互图,将利用其中的交互 关系和评分差值来学习用户的表示向量具体来说,对于用户ui,去中心化的用户-物品交互图中对物品vj的评分差值为rij-E(vj),由于rij-E(vj)不是正整数值,不方 便表示成向量,将其变换为正整数值:其中,rij表示用户ui对物品vj的评分,E(vj)表示物品vj的平均评分,和|·|分别是整值函数和绝对值函数。

本发明实施例中,预先创建了向量查找表,将不同正整数值的评分差值映射为不 同的向量则用户ui与物品vj的交互表示向量为:其中,LU为多层感知机,表示物品vj的嵌入向量;

通过物品聚合函数聚合用户ui所有交互过的物品,物品聚合函数表示为:

其中,R(ui)表示用户ui进行过交互的物品集合,ηij表示注意力权重,表明了利用物 品在学习用户的表示时作用的程度不同,所述注意力权重ηij通过注意力网络来计算,注意力网络的输入是用户ui与物品vj的交互表示向量xij以及用户ui的嵌入向量注意力权重ηij的计算公式为:

其中,表示计算注意力权重ηij时的中间参数,vl表示用户ui进行过交互的物品,中间参数的计算原理相同(区别仅在于对应物品不同);wU2与WU1为权重矩阵, bU1与bU2表示偏置项,T为矩阵转置符号。

最终,用户的表示向量为:

其中,WU与bU表示用户建模时的权重矩阵与偏置项。

2)物品建模。

本发明实施例中,采用与用户建模相同的方式进行物品建模,获得的物品的表示向 量表示为:

其中,表示物品vj的表示向量,式子中每一部分可直接参考用户建模方式计算;WI与bI表示物品建模时的权重矩阵与偏置项,uk表示一个用户,R(vj)为与物品vj进行过 交互的用户集合;yjk表示用户uk与物品vj的交互表示向量,ξjk表示注意力权重, yjk与xij的计算公式相同,ξjk与ηij的的计算公式相同,可简单理解为用户是通过交互的物 品进行建模,物品通过交互的用户建模。

3)社交建模。

本发明实施例中,社交建模的目的是对与目标用户有社交关联的用户进行建模,采 用与用户建模相同的方式进行社交建模,对于用户ui,通过社交建模能够得到每一个社交 关联用户的表示向量,构成用户ui的社交用户表示向量集合 是直 接利用用户uk的相关信息带入前文用户建模的公式计算得到。

4)评分预测。

本发明实施例中,利用建模获得的用户的表示向量物品的表示向量及用户的 社交用户表示向量集合预测用户对物品的评分;主要步骤包括:

首先,利用用户的表示向量与物品的表示向量初步预测用户ui对物品vj的评 分表示为:

z2=Tanh(WK2·z1+bK2)

其中,z1与z2为中间参数,WK1、WK2与wK为权重矩阵,bK1与bK2为偏置项;

之后,采用相同的方式,利用社交用户表示向量与物品的表示向量计算偏好 评分集合此阶段同样采用上面三个公式,区别在于用代替

最后,结合初步预测的评分与偏好评分集合,计算最终的预测评分

其中,E(ui)、E(vj)各自表示用户ui、物品vj的平均评分;f(ui,vj)通过与偏好评分集合计算,公式为:

其中,λik为权重,Tik为用户ui与用户uk的社交关系强度。

值得注意的是,本发明实施例中,GDSRec中各个模块的网络参数是非共享的。

本发明实施例上述方案,从用户和物品角度分别考虑了现有方法的不足,即没有利 用数据中的统计信息以至于会误解用户的偏好和物品的表示,通过去中心化的交互图,利用GDSRec模型捕捉和学习用户和物品的细粒度表示,提升推荐的性能。

本发明实施例上述方案可以应用到评分推荐系统上,利用历史评分记录和社交信息,通过本方法提出的去中心化交互图处理,为GDSRec模型提供更细粒度的数据进行用 户和物品的表示学习,能够为目标用户提供更加优质、准确的个性化推荐物品。

为了验证性能的提升,选取了两个公开数据集Ciao和Epinions,其中Ciao是一个对 DVD评分的数据集,Epinions是一个对产品进行评分的数据集,两个数据集包含了用户的 社交关系。如表1所示,为两个数据集的数据统计。

数据集 用户数 物品数 评分数 社交关系数
Ciao 7317 10,4975 283,319 111,781
Epinions 18,088 261,649 764,352 355,813

表1数据集的统计信息

选取了三类方法与我们提出的模型(GDSRec)进行比较,分别是:传统推荐方法PMF——只利用了评分信息;传统的社交推荐方法SoRec——在评分信息基础上利用了 社交信息;深度学习方法——NeuMF、GraphRec,其中NeuMF只利用了评分信息, GraphRec是目前最优社交推荐方法。用平均绝对误差MAE和均方根误差RMSE作为性能 度量。分别将数据集划分为训练集、验证集和测试集,其中训练集占比60%(80%),验证 集和测试集各占比20%(10%)。比较结果如表2所示。

表2不同方法在两个数据集上的性能比较

从表2中我们可以发现,相比PMF和SoRec,加入社交信息可以显著提升预测的准确性,说明社交推荐相比传统推荐可以有效提升性能。而比较PMF和NeuMF又可以发现, 利用深度学习可以增强对用户和物品的建模,从而学习到更好的用户和物品表示,提升 了推荐性能。对于本发明提供的方法,可以看到,它在所有的数据集上都表现最优,全 面超越了目前最好的方法GraphRec,这证明了本发明的优越性。同时观察到,训练数据 越稀少时,提升的效果越明显,这表明在面对稀少的数据时统计信息的作用越有效。

此外,还针对本发明中的主要部分,对其做性能验证:

1)消融实验:设计了三个GDSRec的变体,分别是GDSRec-RC(关系系数Tij都设 定为1),GDSRec-SN(去除社交建模部分,即GDSRec-RD(用原始 评分代替模型中的评分差值进行用户和物品的表示学习)。GDSRec与这三个变体的性能 比较如图5所示,图5中上部分使用的数据集为Ciao,左、右两部分各自使用的性能度量 为MAE、RMSE;下部分使用的数据集为Epinions,左、右两部分各自使用的性能度量为 MAE、RMSE。从图5中的对比可以看到,GDSRec性能是最优的,去除方法中不同的组 件会不同程度地损害性能。

2)社交关系系数中门限δ的作用。不同的δ会导致不同的性能,对此进行了实验。表3展示了实验结果,

如表3所示,当δ=1时本发明的性能最好,因为δ=0时社交关系数据非常稀疏,而δ>1时又会引入大量噪声,使得性能衰减。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以 通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一 个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得 一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施 例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替 换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的 保护范围为准。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于门机制的序列社交推荐方法、系统及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!