一种基于图神经网络的动态社会化推荐方法

专利查询2023-7-19  101



1.本发明涉及社会化推荐系统技术领域,尤其是一种基于图神经网络的动态社会化推荐方法。


背景技术:

2.随着互联网的发展与大规模数据的出现,个性化推荐作为一种必不可少的信息推送方法进入人们的视野并广泛运用于各种电商平台,以减少用户从海量数据中选择自己感兴趣的信息所花费的时间及精力。由于社交网络的发展和各种社交平台的出现,利用用户间的社会关系进行推荐的方法能利用好友或信任等关系来改善推荐结果,更好地模拟现实社会中的推荐过程,更能体现出人在推荐过程中的作用,因此社会化推荐成了产业应用的研究热点。
3.尽管现有的推荐方法取得了很大进展,但现实中,大多数用户通常只是消费很少的项目且一些用户可能不愿意对此进行评价,或由于受利益的驱使,用户可能会对商品进行不真实的打分使得数据不真实或造成稀疏问题,所以仅通过图神经网络将用户项目图嵌入模型依然会造成冷启动问题;用户历史行为数据只包含用户直接交互的物品,受到系统曝光的限制,往往不够丰富,无法反映所有潜在兴趣;忽略提取的多个项目之间的潜在相关性,导致信息丢失。
4.具有一定联系的用户之间其兴趣具有一定的关联,这是社会化推荐系统的主要基础。因此,将社会化推荐中的数据分为两个不同的图-社交图和用户项目图,并引入两种不同的聚合处理图,达到从不同的角度学习用户表示的目的。并将用户社会联系与两个聚合相融合以解决问题。


技术实现要素:

5.有鉴于此,本发明的目的在于解决现有技术中存在的问题,并提供了一种基于图神经网络的动态社会化推荐方法,能够有效的找到用户及项目的潜在因素,增强推荐的准确率,并解决冷启动问题。
6.本发明提供一种基于图神经网络的动态社会化推荐方法,其包括以下步骤:
7.s10:获取每个用户的用户项目交互数据包括项目意见评分、购买时间,及每个用户的社交网络关系;
8.s20:将数据分为两个不同的图-动态用户项目图和社交图,从不同的角度学习用户表示,并引入两个聚合,获得项目空间用户潜在因素及社会空间用户潜在因素分别处理两个图;
9.s30:通过标准mlp将两个潜在因素结合为最终的用户潜在因素,获取用户潜在因素,对用户进行建模;
10.s40:根据物品差异相关性算法,计算项目节点之间的相似度关系,并引入用户项目图中的交互和意见,通过标准mlp,学习项目的潜在因素,对项目进行建模;
11.s50:通过结合用户和项目建模构建模型并对目标函数进行优化,获得用户对项目的推荐值,对于任意一个用户,根据目标用户的历史交互数据产生的推荐值,对用户进行偏好预测,预测可能与目标用户交互的下一个项目,进行社会化推荐。
12.进一步地,在步骤s20中,包括步骤:
13.s21:根据用户历史与之交互的项目以及用户对这些项目的意见及时间戳构造出动态的用户项目聚合,从动态用户项目聚合中获得项目空间用户潜在因素h
ii
∈rd;
14.s22:根据用户在社交平台中的关系,从社会角度对用户进行用户之间的社会聚合,然而用户的偏好与其直接关联的社会朋友相似或受与之强关联关系朋友的进一步影响,引入关系注意机制选择具有代表性的社会朋友来描述用户的社会信息,结合社会信息进一步模拟用户的潜在因素,从社会聚合中获得社会空间用户潜在因素h
si
∈rd。
15.根据步骤s21中,用户项目的交互关系x
ia
公式如下:
[0016][0017]
其中,在用户与项目交互期间,用户可以对项目通过评分的方式表达他/她的意见,表示为r,r∈{1,2,3,4,5},每个用户对项目可进行五分制评分,并通过用户对项目的意见扑捉用户对项目的偏好,所以引入意见嵌入向量er∈rd,则每个观点都用稠密向量表示;用户在与项目交互的过程中还会产生交互时间,记做ta,对于用户ui及与之交互的带有意见r和时间ta的项目va,通过多层感知器mlp将项目嵌入qa、意见嵌入er及时间ta进行结合,记做gv。
[0018]
进一步地,在步骤s40中,包括步骤:
[0019]
s41:获取每个用户购买每个项目的次数,交互行为及项目意见评分;
[0020]
s42:根据项目差异相关性算法,计算项目节点之间的相似度关系;
[0021]
s43:将同一项目与每个项目之间两两项目相似性关系组合成基于该项目的相似度嵌入;
[0022]
s44:通过标准mlp,将项目相似度与用户项目图中的交互和意见嵌入结合,学习项目的潜在因素,对项目进行建模,其交互关系公式如下:
[0023][0024]
其中,每两个项目之间拥有相似度关系,表示为s,形成项目相似度矩阵嵌入,记做es,将项目vj带有意见r和项目相似度s,通过多层感知器mlp将基本用户嵌入p
t
、意见嵌入er及相似度矩阵嵌入es进行结合,记做gu,并用f
jt
表示项目聚合中用户项目的交互关系。
[0025]
进一步地,所述步骤s10中,对于没有行为的用户及商品,先通过用户社交属性特征及商品本身特征,构建图神经网络预测模型,当该用户有购买行为时对用户进行建模进行训练。
[0026]
本发明的有益效果:
[0027]
本发明聚合动态项目用户图通过层数压缩,保留了关键的结构关系,增强用户或项目的表示,该项目建模解决了应忽略用户提取多个兴趣项目之间的潜在相关性,导致信息丢失问题,并去除次要或噪音的结构数据,便于有效学习图结构,从而更好地找到相似用户进行项目推荐。
[0028]
本发明通过图神经网络模型来为评级预测的社会推荐建模,提供了一种原则性的
方法来联合捕获用户社会图中的交互和意见,并且意见信息在提高模型推荐性能方面起着至关重要的作用,该建模区分有优势的用户社会化强关联关系,解决了弱社会关系可能导致推荐性能下降的问题。
[0029]
本发明构建一种用户建模方法,该建模构建了统一的方法来融合用户-项目、用户-用户等各种关系构成的多维聚合,通过注意力机制聚合不同类型的多邻居对节点生成作出贡献,并将多个图神经网络进行组合,从而获取用户潜在因素。
附图说明
[0030]
图1为本发明的推荐方法流程框示意图;
[0031]
图2为图神经网络结构示意图。
具体实施方式
[0032]
参照图1-图2所示,本实施例提供一种基于图神经网络的动态社会化推荐方法,包括以下步骤:
[0033]
s10:获取每个用户的用户项目交互数据包括项目意见评分、购买时间,及每个用户的社交网络关系。
[0034]
s20:将数据分为两个不同的图-动态用户项目图和社交图,从不同的角度学习用户表示,并引入两个聚合,获得项目空间用户潜在因素及社会空间用户潜在因素分别处理两个图。
[0035]
所述步骤s20中,包括以下步骤:
[0036]
s21:根据用户历史与之交互的项目以及用户对这些项目的意见及时间戳构造出动态的用户项目图,并利用与用户或项目相关的局部子图中的协同信息来增强用户或项目的动态表示,形成动态用户项目聚合。
[0037]
动态用户项目聚合的目的是通过考虑与用户交互的项目及交互产生的时间、用户对项目的意见这三点因素,来了解用户的潜在因素,其定义函数如下所示:
[0038][0039]
其中,c(i)是与用户ui相关联的项目集,x
ia
为表示向量,表示用户ui与项目va之间存在交互关系,aggre
items
为项目聚合函数。σ为非线性激活函数,w和b表示神经网络的权重和偏差。
[0040]
在用户与项目交互期间,用户可以对项目通过评分的方式表达他/她的意见,表示为r,r∈{1,2,3,4,5},每个用户对项目可进行五分制评分,并通过用户对项目的意见扑捉用户对项目的偏好。
[0041]
引入意见嵌入向量er∈rd,则每个观点都用稠密向量表示。
[0042]
用户在与项目交互的过程中还会产生交互时间,记做ta。对于用户ui及与之交互的带有意见r和时间ta的项目va,通过多层感知器mlp将项目嵌入qa、意见嵌入er及时间ta进行结合,记做gv,并用x
ia
表示用户项目的交互关系,其交互关系公式如下所示:
[0043][0044]
s22:根据用户在社交平台中的关系,从社会角度对用户进行用户之间的社会聚
合,由于用户的偏好与他/她直接联系的社会朋友相似或受其影响,且用户之间的关系强弱可以从社交关系中进一步影响用户的行为。所以,社会聚合的用户潜在因素应考虑社会关系的强关联优势。引入一种注意机制来选择具有代表性的社会朋友,对用户的社会信息进行描述,并聚合他们的信息,其公式如下:
[0045][0046]
其中,n(i)为用户ui的邻居,即与用户ui拥有强关联社会关系,aggre
neibhors
为用户邻居的聚合函数。
[0047]
s30:通过标准mlp将两个潜在因素结合为最终的用户潜在因素,获取用户潜在因素,对用户进行建模。
[0048]
从动态用户项目聚合中获得项目空间用户潜在因素h
ii
∈rd。
[0049]
从社会聚合中获得社会空间用户潜在因素h
si
∈rd。
[0050]
通过标准mlp将这两个潜在因素结合为最终的用户潜在因素hi,其中项目空间用户潜在因素和社会空间用户潜在因素在输入多层感知器mlp之前连接在一起。
[0051]
用户潜在因素hi定义公式为:
[0052][0053]
c2=σ(w2·
c1+b2)
[0054]
...
[0055]hi
=σ(wk·ck-1
+bk)
[0056]
其中,k是隐藏层的层数,w和b表示该层的权重和偏差。
[0057]
s40:根据物品差异相关性算法,计算项目节点之间的相似度关系,并引入用户项目图中的交互和意见,通过标准mlp,学习项目的潜在因素,对项目进行建模。
[0058]
使用一种类似于通过动态用户项目聚合来学习项目潜在因素的方法,其表示如下:
[0059][0060]
其中,zj为项目潜在因素。对于每个项目vj,从与vj交互的用户集合中聚合信息,表示为b(j)。将用户对项目vj的观点感知交互聚合到b(j)的函数记做aggre
users

[0061]
所述步骤s40中,包括以下步骤:
[0062]
s41:获取每个用户购买每个项目的次数,交互行为及项目意见评分。
[0063]
对所有物品进行随机排序,并根据公式:
[0064]
p
t
=|v
i1
,...,v
ij
,...,v
im
|
t
[0065]
建立一个与第j个用户相对应且项数等于项目总数的用户嵌入p
t
,使初始向量的每一项与每个项目一一对应。其中m表示项目总数,j表示随机排序后第j个项目,j∈(1,2,

,m),v
ij
表示第i个用户对于第j个项目的交互行为,即用户嵌入p
t
中的第j项,|
·
|
t
为矩阵转置。
[0066]
将第i个用户购买过的项目在初始向量中所对应的项取值为1,将第i个用户未购买过的项目在交互行为中所对应的项取值为0,得到该用户的初始交互行为p
(i)t

[0067]
s42:根据项目差异相关性算法,计算项目节点之间的相似度关系。
[0068]
项目与用户项目图相关联,应共同捕获用户项目图中的交互和意见,以了解项目潜在因素。根据公式:
[0069][0070]
分别得到任意一个项目α被购买次数的平均值和任意一个项目β被购买次数的平均值其中n为总用户数,k
α
为项目α被购买的总次数,k
β
为项目β被购买的总次数。
[0071]
根据公式:
[0072][0073]
得到任意一个项目α与任意一个项目β之间的相似度s(α,β),即任意一个项目与每个项目之间两两项目相似度关系。其中i为第i个用户,p
i,α
为第i个用户购买项目α的次数,pi,
α
》0。p
i,β
为第i个用户购买项目β的次数,p
i,β
》0。
[0074]
s43:将同一项目与每个项目之间两两项目相似性关系组合成基于该项目的相似度嵌入;
[0075]
s44:通过标准mlp,将项目相似度与用户项目图中的交互和意见嵌入结合,学习项目的潜在因素,对项目进行建模。
[0076]
对于同一个项目,不同用户也可能在用户项目交互期间表达不同的意见。这些来自不同用户的意见可以帮助用户通过不同的方式捕捉同一项目的特征。
[0077]
每两个项目之间拥有相似度关系,表示为s(α,β),形成项目相似度矩阵嵌入,记做es,将项目vj带有意见r和项目相似度s,通过多层感知器mlp将基本用户嵌入p
t
、意见嵌入er及相似度矩阵嵌入es进行结合,记做gu,并用f
jt
表示项目聚合中用户项目的交互关系,其交互关系公式如下所示:
[0078][0079]
并引入了一种注意机制,以f
jt
和qj作为输入,通过两层神经注意网络区分用户的重要性权重,捕捉动态用户项目交互对项目潜在因素的强社会关系影响。
[0080]
s50:通过结合用户和项目建模构建模型并对目标函数进行优化,获得用户对项目的推荐值,对于任意一个用户,根据目标用户的历史交互数据产生的推荐值,对用户进行偏好预测,预测可能与目标用户交互的下一个项目,进行社会化推荐。
[0081]
将用户的潜在因素hi和项目的潜在因素zj结合并对用户进行偏好预测,其公式如下所示:
[0082][0083]
g2=σ(w2·
g1+b2)
[0084]
...
[0085]gk-1
=σ(wk·gk-1
+bk)
[0086]
r'
ij
=w
t
·gk-1
[0087]
其中,k是隐藏层的层数,w和b表示该层的权重和偏差,r’ij
是用户ui对项目vj的偏
好预测。
[0088]
估计模型参数,对目标函数进行优化,公式如下:
[0089][0090]
其中|o|是预测的数量,r
ij
是用户ui对项目vj的真实用户项目关系。
[0091]
在文章fan w,ma y,li q,et al.graph neural networks for social recommendation[c]//the world wide web conference.2019:417-426.中作者给出了社会化推荐领域中常见的几种方法,并给出了评价项目推荐精准程度的指标,本方法与常见的几种方法得到的实验结果如表1所示:
[0092]
表1实验结果数据
[0093][0094]
表1中第一列为数据集,分别选用40%的amazon review数据集和jdata数据集,第二列为评价指标,第三列为常见的推荐方法,其中mae和rmse表示推荐预测误差,误差越小,则证明推荐效果越好,越贴切用户最后一次的项目选择结果。

技术特征:
1.一种基于图神经网络的动态社会化推荐方法,其特征在于,包括以下步骤:s10:获取每个用户的用户项目交互数据包括项目意见评分、购买时间,及每个用户的社交网络关系;s20:将数据分为两个不同的图-动态用户项目图和社交图,从不同的角度学习用户表示,并引入两个聚合,获得项目空间用户潜在因素及社会空间用户潜在因素分别处理两个图;s30:通过标准mlp将两个潜在因素结合为最终的用户潜在因素,获取用户潜在因素,对用户进行建模;s40:根据物品差异相关性算法,计算项目节点之间的相似度关系,并引入用户项目图中的交互和意见,通过标准mlp,学习项目的潜在因素,对项目进行建模;s50:通过结合用户和项目建模构建模型并对目标函数进行优化,获得用户对项目的推荐值,对于任意一个用户,根据目标用户的历史交互数据产生的推荐值,对用户进行偏好预测,预测可能与目标用户交互的下一个项目,进行社会化推荐;2.在所述步骤s20中,其特征在于,包括以下步骤:s21:根据用户历史与之交互的项目以及用户对这些项目的意见及时间戳构造出动态的用户项目聚合,从动态用户项目聚合中获得项目空间用户潜在因素h
ii
∈r
d
;s22:根据用户在社交平台中的关系,从社会角度对用户进行用户之间的社会聚合,然而用户的偏好与其直接关联的社会朋友相似或受与之强关联关系朋友的进一步影响,引入关系注意机制选择具有代表性的社会朋友来描述用户的社会信息,结合社会信息进一步模拟用户的潜在因素,从社会聚合中获得社会空间用户潜在因素h
si
∈r
d
;3.在所述步骤s21中,其特征在于,用户项目的交互关系x
ia
公式如下:其中,在用户与项目交互期间,用户可以对项目通过评分的方式表达他/她的意见,表示为r,r∈{1,2,3,4,5},每个用户对项目可进行五分制评分,并通过用户对项目的意见扑捉用户对项目的偏好,所以引入意见嵌入向量e
r
∈r
d
,则每个观点都用稠密向量表示;用户在与项目交互的过程中还会产生交互时间,记做t
a
,对于用户u
i
及与之交互的带有意见r和时间t
a
的项目v
a
,通过多层感知器mlp将项目嵌入q
a
、意见嵌入e
r
及时间t
a
进行结合,记做g
v
;4.在所述步骤s40中,其特征在于,包括以下步骤:s41:获取每个用户购买每个项目的次数,交互行为及项目意见评分;s42:根据项目差异相关性算法,计算项目节点之间的相似度关系;s43:将同一项目与每个项目之间两两项目相似性关系组合成基于该项目的相似度嵌入;s44:通过标准mlp,将项目相似度与用户项目图中的交互和意见嵌入结合,学习项目的潜在因素,对项目进行建模,其交互关系公式如下:其中,每两个项目之间拥有相似度关系,表示为s,形成项目相似度嵌入,记做e
s
,将项目v
j
带有意见r和项目相似度s,通过多层感知器mlp将基本用户嵌入p
t
、意见嵌入e
r
及相似度矩阵嵌入e
s
进行结合,记做g
u
,并用f
jt
表示项目聚合中用户项目的交互关系。

技术总结
本发明公开了一种基于图神经网络的动态社会化推荐方法,涉及社会化推荐系统技术领域。尽管现有的推荐方法取得了很大进展,但仍存用户历史行为不够丰富,无法反映所有潜在兴趣;忽略提取的多个项目之间的潜在相关性,导致信息丢失的问题。该方法首先基于用户历史交互产生的历史行为数据及时间戳,生成动态用户项目图;其次对动态用户项目图与用户社会关系分别聚合生成用户模型;然后考虑项目节点之间的潜在相似度关系,并引入用户项目图中的交互和意见生成项目模型;以及通过集成用户和项目模型组件,调整模型参数并进行偏好预测。本发明方法使项目更符合用户偏好以此达到个性化推荐效果,可以提高推荐的准确性。可以提高推荐的准确性。可以提高推荐的准确性。


技术研发人员:王曙燕 巩婧怡 孙家泽 王小银
受保护的技术使用者:西安邮电大学
技术研发日:2021.12.07
技术公布日:2022/3/8

最新回复(0)