CN116843491A - 加强学习用户和物品embedding的图神经网络社交推荐方法 - Google Patents
加强学习用户和物品embedding的图神经网络社交推荐方法 Download PDFInfo
- Publication number
- CN116843491A CN116843491A CN202310917228.6A CN202310917228A CN116843491A CN 116843491 A CN116843491 A CN 116843491A CN 202310917228 A CN202310917228 A CN 202310917228A CN 116843491 A CN116843491 A CN 116843491A
- Authority
- CN
- China
- Prior art keywords
- user
- node
- item
- graph
- article
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 39
- 230000002708 enhancing effect Effects 0.000 title claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 36
- 238000005070 sampling Methods 0.000 claims description 23
- 230000004913 activation Effects 0.000 claims description 16
- 230000002776 aggregation Effects 0.000 claims description 16
- 238000004220 aggregation Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000010586 diagram Methods 0.000 claims description 11
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000002787 reinforcement Effects 0.000 claims 1
- 230000003993 interaction Effects 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种加强学习用户和物品embedding的图神经网络社交推荐方法。该方法包括:步骤1:将用户社交数据存储为图结构得到社交图,将用户对物品的评分数据存储为图结构得到用户‑物品图,并根据用户‑物品图构建得到物品‑物品图,将社交图、用户‑物品图和物品‑物品图组合在一起得到社交推荐图;步骤2:将所述社交推荐图分为训练集和测试集;步骤3:构建图神经网络,采用训练集对所述图神经网络进行训练得到社交推荐模型;步骤4:采用社交推荐模型对测试集的用户节点‑物品节点对进行预测,得到该用户节点对该物品节点的评分预测结果。本发明可以提高社交推荐对于评分预测的准确率。
Description
技术领域
本发明涉及社交推荐技术领域,尤其涉及一种加强学习用户和物品embedding的图神经网络社交推荐方法。
背景技术
在这个信息以指数增长的时代,推荐系统已经成为过滤和推荐信息以满足各种需求的不可或缺的技术,特别是在许多面向用户的在线服务中,如电子商务和社交媒体网站。推荐系统的目标是向用户推荐可能会被点击或购买的个性化商品列表。目前的推荐系统所采用的推荐方法主要是基于协同过滤(CF),通过利用用户与物品交互的历史行为来模拟用户对物品的偏好。
在实际应用中,用户点击或购买的个性化商品还受到身边朋友、同学或同事的影响,用户能够通过周围的人来获取或传播信息。因此,出现了将社会关系整合到推荐系统中的社交推荐技术,该技术利用用户与用户之间的可信任的社会链接来补充稀疏的评级数据,从而通过考虑用户的评级行为,以及用户可信任的社会邻居的偏好来提高用户的偏好预测率。
近年来,深度神经网络在应用于图数据时取得了巨大成功。这些深度神经网络架构被称为图神经网络(GNN),被提出来从图数据中学习基于节点特征和图结构的有意义表示。然而,大多数现有的基于GNN的社交推荐模型忽略了社交不一致性问题。社交不一致性是指社交链接与评级预测过程可能不一致,这意味着,用户与用户之间可信任的社交链接或者用户对物品的评价链接提供的额外信息并不总是可用的,汇总来自不一致的社会邻居的信息会破坏GNN描述学习有益信息以进行推荐的能力。此外,在现有的社交推荐方法中,一般均仅从用户-物品图中学习物品节点的嵌入表示,而忽略了物品与物品之间的潜在联系,存在物品节点的嵌入表示学习角度单一的问题,导致社交推荐性能较差。
发明内容
为了更加准确地向用户推荐个性化物品,本发明提供一种加强学习用户和物品embedding的图神经网络社交推荐方法。
本发明提供的一种加强学习用户和物品embedding的图神经网络社交推荐方法,包括:
步骤1:将用户社交数据存储为图结构得到社交图,将用户对物品的评分数据存储为图结构得到用户-物品图,并根据用户-物品图构建得到物品-物品图,将社交图、用户-物品图和物品-物品图组合在一起得到社交推荐图;
步骤2:将所述社交推荐图分为训练集和测试集;
步骤3:构建图神经网络,采用训练集对所述图神经网络进行训练得到社交推荐模型;其中,所述图神经网络的训练过程包括:
步骤3.1:预处理训练集以得到用户节点初始嵌入向量、物品节点初始嵌入向量和评分初始嵌入向量;
步骤3.2:对于训练集中的任一用户节点,为该用户节点聚合一致性邻居用户节点来学习该用户节点的嵌入向量;
步骤3.3:对于训练集中的任一物品节点,利用该物品节点的邻居用户节点和邻居物品节点,提取得到该物品节点的嵌入向量;
步骤3.4:根据提取到的该用户节点的嵌入向量和该物品节点的嵌入向量得到该用户节点对该物品节点的预测分;
步骤3.5:将用户节点对物品节点的预测分和真实分作为训练样本对,将预测分和真实分之间的均方根误差作为损失函数,计算损失函数的值;
步骤3.6:重复执行步骤3.2至步骤3.5,直至满足训练停止条件,此时的图神经网络即为社交推荐模型;
步骤4:采用社交推荐模型对测试集的用户节点-物品节点对进行预测,得到该用户节点对该物品节点的评分预测结果。
进一步地,步骤1中,根据用户-物品图构建得到物品-物品图,具体包括:
根据用户-物品图统计任意两个物品之间共同关联的用户数量以及该两个物品之间关联用户的总数量;
若两个物品之间共同关联的用户数量大于该两个物品之间关联用户的总数量的一半,则将该两个物品链接起来,最终形成物品-物品图。
进一步地,步骤3.2具体包括:
步骤A1:采用公式(1)生成所有用户节点和所有物品节点之间的查询嵌入qu,t;
其中,σ是ReLU激活函数,是一个可训练的权重矩阵,/>分别是用户节点u和物品节点t的初始嵌入向量,/>表示按列拼接;
步骤A2:针对用户节点ui,设定其邻居用户节点集合为N(i),基于查询嵌入计算N(i)中邻居用户节点的一致性得分,从N(i)中抽取Q个一致性得分较高的邻居用户节点作为采样用户节点;
步骤A3:计算每个采样用户节点的注意力权重,基于每个采样用户节点的注意力权重,按照公式(2)为用户节点ui聚合一致性邻居用户节点得到该用户节点ui的嵌入向量;
其中,j∈N(i),hj表示邻居用户节点uj的嵌入向量,αj表示邻居用户节点uj的注意力权重,W表示一个可训练的权重矩阵。
进一步地,步骤A2中,N(i)包含的邻居用户节点的总数越多,Q值越大。
进一步地,步骤A2中,按照公式(3)和公式(4)计算邻居用户节点的一致性得分;
其中,s(i;q)表示用户节点i和查询q的一致性得分,hi是用户节点i的嵌入向量,p(i;q)是用户u经过softmax函数处理后得到的所有邻居的一致性得分。
进一步地,步骤A3中,按照公式(5)计算每个采样用户节点的注意力权重;
其中,表示评分rj的嵌入表示,/>是注意力层的可训练参数。
进一步地,步骤3.3具体包括:
步骤B1:针对物品节点tj,设定其邻居物品节点集合为C(j),按照公式(6)提取物品节点tj在物品社交空间的嵌入表示
其中,σ是ReLU激活函数,ho是邻居物品节点的嵌入表示,AGGV表示物品节点在物品社交空间中的聚合函数,W表示一个可训练的权重矩阵;
步骤B2:针对物品节点tj,设定与其关联的用户集合为B(j),按照公式(7)提取物品节点在用户空间的嵌入表示
其中,σ是ReLU激活函数,fji表示用户节点ui对物品节点tj的意见感知交互表示,AGGU表示物品节点在用户空间中的聚合函数;
步骤B3:采用公式(8)将物品节点tj在物品社交空间的嵌入表示和物品节点在用户空间的嵌入表示/>进行组合,提取得到该物品节点tj的嵌入向量hj;
其中,σ是ReLU激活函数,表示按列拼接。
进一步地,步骤B1中,采用公式(9)所示的聚合函数AGGV;
其中,μjo表示邻居物品节点to的注意力权重。
进一步地,采用两种方式确定邻居物品节点to的注意力权重μjo;其中:
第一种方式为:或者,
第二种方式为:按照公式(10)和(11)计算得到μjo;
其中,σ是ReLU激活函数,qj是物品节点tj的嵌入表示,W表示一个可训练的权重矩阵。
进一步地,步骤3.4具体包括:
按照公式(12)得到用户节点对物品节点的预测分
其中,hu表示用户节点u的嵌入向量,ht表示物品节点t的嵌入向量。
本发明的有益效果:
(1)为了解决物品嵌入表示的学习角度单一问题,考虑到物品不是独立的,很可能相似或相关的特点,本发明建模物品-物品图。本发明建模生成的物品-物品图充分考虑到了物品的潜在关系。在提取物品的嵌入表示时,从用户对物品评价和物品与物品间社交联系两个角度学习物品的嵌入表示,通过融合物品的物品社交信息可以增强社交推荐中物品的特征表示学习,提高社交推荐对于评分预测的准确率。
(2)为了缓解用户的嵌入表示学习中遇到的社交不一致问题,本发明首先生成查询嵌入;然后,在邻居用户选择过程中采用基于查询嵌入和邻居嵌入之间的一致性分数的邻居采样策略进行采样;最后,采用关系注意力来解决关系级别的不一致问题,即对具有一致关系的邻居用户赋予聚合较高的注意力权重。
(3)对比现有的推荐模型,实验结果表明,本发明提出的社交推荐模型在评分预测方面表现出更好的性能,其中RMSE评价指标在Ciao和Epinions两个真实世界数据集上分别提升了0.6%和1.05%,MAE评价指标分别提升了0.81%和0.78%。
附图说明
图1为本发明实施例提供的社交推荐数据的图结构示意;
图2为本发明实施例提供的加强学习用户和物品embedding的图神经网络社交推荐方法的流程示意图;
图3为本发明实施例提供的社交推荐模型的结构示意图;
图4为本发明实施例提供的各模型在Ciao和Epinions数据集上的RMSE和MAE指标;
图5为本发明实施例提供的Ciao数据集上的各个参数的影响。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,社交推荐中的数据可以自然地表示为具有两个显式图和一个隐式图的图数据。其中,两个显式图分别是:一个是用于表示用户之间关系的社交图,另一个是用于表示用户和物品之间的交互关系的用户-物品图。两个显示图包含了两种类型的用户关系,有助于从不同角度推断用户的偏好。隐式图是一个用于表示物品与物品之间的潜在联系的物品-物品图。然而在现有的社交推荐方法中,一般均仅从用户-物品图中学习物品节点的嵌入表示,而忽略了物品与物品之间的潜在联系,存在物品节点的嵌入表示学习角度单一的问题,导致社交推荐性能较差。
同时,根据本发明的研究,发现用户节点的嵌入表示学习存在社交不一致问题。具体而言,社会不一致性可以分为两个层次:上下文级别的不一致性和关系级别的不一致性。
上下文级别的不一致性:表示在社交图中连接的用户可能具有不一致的物品上下文。图1中,使用实线和虚线分别表示用户-物品评分和社交关系,该图1所示的社交推荐图中就存在上下文级别的社会不一致情况。如图1所示,与u4直接连接的物品都是各类电影,而与u2连接的物品都是书籍类,u4与u2虽然有社会关系,但是他们偏好不同,有不同的物品上下文,所以u4是u2的不一致邻居。
关系级别的不一致性:表示在用户-物品图中存在关系级别的不一致性。除了社会关系,在用户-物品图中,用户对历史点击或购买的物品有评分。本发明通过用户对物品的评分来区分关系级别的不一致性。如图1所示,u1和u3具有社交联系,并且都与物品t3相连。但是,u3对t3的评分非常高(5分),而u1对t3的评分较低(1分)。虽然u1和u3有社会联系,但他们对于物品的喜好不同,因此,u1和u3是不一致的社会关系。
学习用户节点和物品节点的嵌入表示是构建社交推荐系统的关键,本发明不仅考虑到用户的嵌入表示学习存在社交不一致问题,而且考虑到物品的嵌入表示学习仅靠用户-物品图中的数据是不充分的,物品之间的关系对于物品的嵌入表示学习也很重要。
实施例1
为了解决用户的嵌入表示学习存在社会不一致问题和物品的嵌入表示学习的学习角度单一等问题,本发明提供了一种加强学习用户和物品embedding的图神经网络社交推荐方法。
“embedding”一般称为词嵌入或词向量。在本发明中,“embedding”表示社交推荐图输入至训练好的图神经网络模型后,图神经网络模型对用户节点和物品节点的嵌入表示或嵌入向量。
如图2所示,本发明提供的社交推荐方法包括以下步骤:
S101:将用户社交数据存储为图结构得到社交图,将用户对物品的评分数据存储为图结构得到用户-物品图,并根据用户-物品图构建得到物品-物品图,将社交图、用户-物品图和物品-物品图组合在一起得到社交推荐图;
具体地,在真实的社交推荐数据(例如Ciao和Epinions数据集)中,物品与物品之间没有直接的联系,因此需要根据物品与物品的隐式关系来创建物品-物品图。本发明实施例中,构建物品-物品图的过程包括:根据用户-物品图统计任意两个物品之间共同关联的用户数量以及该两个物品之间关联用户的总数量;若两个物品之间共同关联的用户数量大于该两个物品之间关联用户的总数量的一半,则将该两个物品链接起来,最终形成物品-物品图。
S102:将所述社交推荐图分为训练集和测试集;
S103:构建图神经网络,采用训练集对所述图神经网络进行训练得到社交推荐模型,记作GSocRec;
具体地,构建的图神经网络的结构如图3所示,分为两大部分:左侧为用户模型,右侧为物品模型。其中,用户模型用于提取用户节点的嵌入向量,主要包括:查询层、相似邻居采样层和关系注意力层;物品模型用于提取物品节点的嵌入向量。本实施例中,考虑到随着网络深度的增加模型复杂度大大增大,推荐性能降低的情况,本模型只采用了深度为一层的GNN进行节点间的聚合传播。
其中,所述图神经网络的训练过程包括:
S1031:预处理训练集以得到用户节点初始嵌入向量eu、物品节点初始嵌入向量et和评分初始嵌入向量er;
具体地,社交推荐问题由两组实体组成,一个用户集合U={u1,u2,...,un}和物品集合V={t1,t2,...,tm},其中m,n是物品和用户的总数。它包括两种类型的信息,一个不完整的用户-物品评分矩阵也被称为用户-物品图和用户社交图Gs={U,E}。评分ru,t表示用户u对物品t的评分,即喜爱程度,其中分数越高则说明用户越喜欢这件物品。若ui给tj打分,ri,j为评分;否则我们用0表示从ui到tj的未知评分,即ri,j=0。
社交推荐的目标是通过融合评分矩阵和社交图来完成评分矩阵。因此,我们通过构建异构图G={ν,εr}来解决社交推荐问题,其中ν表示用户和物品节点,εr表示关系r上的边。除了用户-用户和物品-物品链接,我们还通过评分来区分用户-物品链接。
本发明实施例创建一个嵌入层(Embedding Layer),其中每一列代表每个节点的可训练嵌入。可以通过索引来检索一个节点v∈U∪T的嵌入,即/>使用v来表示一个节点,它可以是用户集合U中的用户或是物品集合T中的物品,而u和t则具体表示一个用户节点和一个物品节点。除了节点嵌入之外,还为每个关系训练了一个关系嵌入向量,评分r的嵌入表示为er。
S1032:对于训练集中的任一用户节点,为该用户节点聚合一致性邻居用户节点来学习该用户节点的嵌入向量;
具体地,本发明实施例考虑用户之间的社会不一致性问题,在embedding空间中查找最近邻邻居,加强学习用户的嵌入向量,从而减少相似用户之间embedding的距离,从而可以很好地根据用户的兴趣来进行推荐。
为了解决用户在上下文级别的关系不一致性问题,本发明实施例选择性地为用户节点聚合一致性邻居用户节点来学习该用户节点的嵌入向量。具体包括以下步骤:
步骤A1:采用公式(1)生成所有用户节点和所有物品节点之间的查询嵌入qu,t;
其中,σ是ReLU激活函数,是一个可训练的权重矩阵,/>分别是用户节点u和物品节点t的初始嵌入向量,/>表示按列拼接;
具体地,采用一个查询层来查询用户节点对物品节点的评分,生成查询嵌入。这是因为当用户购买不同的物品时,他们会询问不同的朋友和同学u。因此,用户对t的评分与熟悉这个物品t的朋友有关。
步骤A2:为了避免不一致邻居用户节点会破坏GNN描述学习有益信息以进行推荐的能力,应该选择性聚合邻居用户节点的信息,更多地强调一致的邻居用户节点而忽略那些不一致的邻居用户节点,因此,本发明选取邻居抽样方法来选择那些一致的邻居。具体而言,针对用户节点ui,设定其邻居用户节点集合为N(i),基于查询嵌入计算N(i)中邻居用户节点的一致性得分,从N(i)中抽取Q个一致性得分较高的邻居用户节点作为采样用户节点;
具体地,采用相似邻居采样层来选取一致的邻居用户节点。从图3中的sampling采样块可以看到,用户u的邻居采样中包括信任用户和购买的物品。
进一步地,为了更好地学习用户节点的嵌入向量,对用户节点的邻居用户节点进行采样时,采用动态采样策略,即采样的邻居用户节点的数量与邻居用户节点总数是相关的,成正比关系。以用户节点ui为例,设定其邻居用户节点集合为N(i),从N(i)中抽取Q个一致性得分较高的邻居用户节点作为采样用户节点,Q值是动态设定的,具体而言,N(i)包含的邻居用户节点的总数越多,Q值越大。
步骤A3:计算每个采样用户节点的注意力权重,基于每个采样用户节点的注意力权重,按照公式(2)为用户节点ui聚合一致性邻居用户节点得到该用户节点ui的嵌入向量;
其中,j∈N(i),hj表示邻居用户节点uj的嵌入向量,αj表示邻居用户节点uj的注意力权重,W表示一个可训练的权重矩阵。
具体地,对邻居动态采样之后,应该聚合采样节点的嵌入向量。但是,关系级别的社会不一致性表明,应该区分不同的关系,防止关系级别的不一致性破坏GNN学习有益信息以进行推荐的能力。因此,本步骤引入一个关系注意力层(如图2中的淡黄块所示),该关系注意力层为每个采样用户节点分配一个权重因子,关系级别一致的邻居用户节点的信息具有较大的权重因子。
在上述实施例的基础上,作为一种可实施方式,按照公式(3)和公式(4)基于查询嵌入计算邻居用户节点的一致性得分;
其中,s(i;q)表示用户节点i和查询q的一致性得分,hi是用户节点i的嵌入向量,p(i;q)是用户u经过softmax函数处理后得到的所有邻居的一致性得分。
根据关系级别的社会不一致性,应该关注用户对物品的评分rj,把它作为计算注意力权重αj的重要因素,因此,在上述实施例的基础上,作为一种可实施方式,按照公式(5)计算每个采样用户节点的注意力权重;
其中,表示评分rj的嵌入表示,/>是注意力层的可训练参数。
S1033:对于训练集中的任一物品节点,利用该物品节点的邻居用户节点和邻居物品节点,提取得到该物品节点的嵌入向量;
具体地,物品不仅与用户-物品图中的用户和用户对它的评分相关联,而且与物品-物品图中的相关物品相关联,这为学习物品的嵌入表示提供了不同的视角,能够更充分学习物品的嵌入表示。如图2的右侧所示,本发明实施例使用两种类型的聚合分别从这两个图中学习物品两个不同角度的物品嵌入表示。第一个聚合,表示为用户和评分聚合,主要用于从用户-物品图中学习用户空间中的物品嵌入表示第二个聚合是物品与物品之间的社交聚合,主要用于从物品-物品图中学习物品社交空间中的物品嵌入表示/>然后可以通过组合这两个嵌入表示来形成最终的物品的嵌入表示。具体而言,包括以下子步骤:
步骤B1:针对物品节点tj,设定其邻居物品节点集合为C(j),按照公式(6)提取物品节点tj在物品社交空间的嵌入表示
其中,σ是ReLU激活函数,ho是邻居物品节点的embedding,AGGV表示物品节点在物品社交空间中的聚合函数,W表示一个可训练的权重矩阵;
步骤B2:针对物品节点tj,设定与其关联的用户集合为B(j),按照公式(7)提取物品节点在用户空间的嵌入表示
其中,σ是ReLU激活函数,fji表示用户节点ui对物品节点tj的意见感知交互表示,AGGU表示物品节点在用户空间中的聚合函数;
具体地,由于用户-物品图不仅包含用户和物品之间的交互,还包含用户对物品的意见(或评分),对于每个物品tj,本发明实施例需要从与tj交互过的用户集合中聚合信息。
同时,即使对于同一个物品,用户在用户-物品交互过程中也可能表达不同的意见。来自不同用户的这些意见可以按照用户提供的方式以不同方式捕获同一物品的特征,这有助于对物品嵌入表示进行建模。对于从ui到tj与意见r的交互,本发明实施例引入了意见感知交互表示fji,它是通过全连接神经网络从用户的嵌入表示eu和评分的嵌入表示er获得的。本实施例中,使用gu来表示用于将交互信息与评分信息融合的函数,即其中,gu函数具体实现过程为经过linear Layer层,然后经过非线性激活函数Relu。
步骤B3:采用公式(8)将物品节点tj在物品社交空间的嵌入表示和物品节点在用户空间的嵌入表示/>进行组合,提取得到该物品节点tj的嵌入向量hj;
其中,σ是ReLU激活函数,表示按列拼接。
在上述实施例中,作为一种可实施方式,采用公式(9)所示的聚合函数AGGV对邻居物品节点的信息进行聚合;
其中,μjo表示邻居物品节点to的注意力权重。
进一步地,关于邻居物品节点to的注意力权重μjo,存在两种计算方式。
第一种方式为:该种方式假设物品节点与其所有邻居物品节点的交互都对该物品节点有同等的贡献,因此,对于所有邻居物品节点,μjo固定为/>
第二种方式:假设物品节点与其所有邻居物品节点的交互都对该物品节点有同等的贡献,可能不是最佳的,这是因为不同交互对物品的影响可能会有很大差异。因此,该方式引入一种注意力机制,为每个交互分配一个权重来允许交互对物品的嵌入表示做出不同的贡献,区分不同的相关邻居物品对物品的重要性。具体而言,按照公式(10)和(11)计算得到μjo;
其中,σ是ReLU激活函数,qj是物品节点tj的嵌入表示,W表示一个可训练的权重矩阵。
在上述实施例中,作为一种可实施方式,还引入了一种注意力机制,用来区分用户的重要性权重λji,以fji和qj为输入:
其中,qj是物品节点tj的嵌入表示。
进一步地,设定AGGU采用与AGGV相同的聚合方式,对应地,公式(7)可以调整为:
S1034:根据提取到的该用户节点的嵌入向量和该物品节点的嵌入向量得到该用户节点对该物品节点的预测分;
具体地,经过传播和聚合之后,得到用户u和物品t的嵌入向量hu和ht。本实施例通过hu和ht的内积来预测用户对物品(u,t)的评分如公式(13)所示:
S1035:将用户节点对物品节点的预测分和真实分作为训练样本对,将预测分和真实分之间的均方根误差作为损失函数,如公式(14)所示,计算损失函数的值;
其中,εrating表示训练集,|εrating|表示训练集中的训练样本的数量,ru,t表示用户节点u对物品节点t的真实评分。
S1036:重复执行步骤S1032至步骤S1035,直至满足训练停止条件,此时的图神经网络即为社交推荐模型;
S104:采用社交推荐模型对测试集的用户节点-物品节点对进行预测,得到该用户节点对该物品节点的评分预测结果。
本发明实施例提供的加强学习用户和物品embedding的图神经网络社交推荐方法,通过不同的聚合操作来对图数据进行建模,以学习更好的用户和物品嵌入表示。特别是,考虑了用户社交不一致问题,通过生成查询层query和邻居动态采样策略排除不一致邻居信息,从而加强了对社交推荐中用户的嵌入表示的学习。此外,GSocRec在物品建模时,不仅聚合物品连接的用户和不同用户对物品的评价信息,而且根据物品与物品之间的隐藏关系,生成了一个物品-物品图,从多角度学习到物品的嵌入表示。此外,本发明在用户建模时创建关系注意力机制,对动态采样模块选取的邻居分配不同的权重。在物品建模时使用注意力机制捕捉物品社交关系的连接权重。
为了验证本发明实施例提供的社交推荐方法的有效性,本发明还提供有下述实验数据。
(一)实验设定
(1)数据集
在实验中,选择Ciao和Epinions两个数据集。每个社交网络都允许用户对物品进行评分、浏览和撰写评论,以及将朋友添加到他们的“信任圈”中。因此,它们提供了大量的评级和社会信息。由于用户自连接的边和没有社交关系的用户不属于社交推荐的范围,因此对此进行删除。Ciao数据集总共有7317个用户、104975个物品,以及283319条评分。Epinions拥有18069个用户、261246个物品和762938条评分。评分共有5各等级{1,2,3,4,5},数据集信息如表1所示。
表1:数据集信息
数据集 | Ciao | Epinions |
用户数 | 7317 | 18069 |
物品数 | 104975 | 261246 |
评分数 | 283319 | 762938 |
相互作用密度 | 0.0368% | 0.1616% |
社交链接 | 111781 | 355530 |
社会关系密度 | 0.2087% | 0.1089% |
(2)对比实验
为了证明GSocRec模型的有效性,我们将GSocRec与6种现有方法(SoRec、SocialMF、GCMC+SN、CUNE、GraphRec+和ConsisRec)进行了对比。
(3)评价指标
选用平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root MeanSquare Error,RMSE)两个指标作为判断模型推荐质量的标准。两个指标的值越小表示模型的推荐质量越好。在现实中,RMSE或MAE其中一项发生微小改变,都会对TOP-N推进产生很大变化。其中,MAE:观测值与真实值的误差绝对值的平均值,用来衡量预测值与真实值之间的平均绝对误差。RMSE:用于指示模型在预测中会产生多大的误差,对于较大的误差,权重较高。
(4)实验参数设定
把两个真实世界数据集随机划分,其中60%作为训练集、20%作为验证集,剩余20%作为测试集。关于节点的嵌入维度d,本文在{8,16,32,64,128,256}中搜索,数据批量大小在{32,64,128,256,512}中搜索,学习速率在{0.0005,0.001,0.005,0.01,0.05,0.1}中搜索。为了解决过拟合问题出现,本文使用提前停止策略,如果验证集上的RMSE指标连续5轮次没有减小,模型将停止训练。基线算法的参数在相应的论文中进行了初始化,然后仔细调整以实现最佳性能。
(二)社交推荐性能对比
对比基线上的6种模型和本发明模型在Ciao和Epinions两个数据集上的推荐性能,如图4所示。
从图4所示的实验结果可以看出:GCMC+SN、CUNE、GraphRec+和ConsisRec等模型性能优于SoRec、socialMF模型,表明基于图神经网络和基于图嵌入的方法具有更好的聚合学习邻居信息能力。GSocRec在Ciao和Epinions两个公开数据集上都获得了最佳结果。综上结果表明,(1)GsocRec模型可以解决用户社交不一致问题,有效排除不一致邻居。(2)物品在物品社交空间的邻居信息对提高推荐系统性能有帮助。
(三)模型参数设定大小对模型性能的影响
图5显示了本文提出的模型在Ciao数据集上的嵌入维度和学习率方面的RMSE和MAE性能比较。本文分析用户和物品及评分嵌入向量维度大小对模型性能的影响,一般来说,随着嵌入维度的增加,性能先增加后降低。从图4左半部分可以看出,当嵌入大小从8增加到128时,模型性能显着提高。但是,当嵌入大小达到256时,GSocRec模型性能有一定程度降低。这表明嵌入维度大小对模型性能有重大影响。然而,如果嵌入维度太小,模型学习到的嵌入向量不能够完全表示用户和物品的特征信息,模型性能较差,当嵌入向量维度增大到一定程度之后,模型的复杂度将显着增加,同样会降低推荐性能。因此,需要找到合适的嵌入长度,以平衡性能和模型复杂性之间的权衡。
学习率(Learning rate)是控制模型学习的步长,高学习速率意味着模型权重更新的动作更大,因此可能该模式将花费更少的时间收敛到最优权重。然而,学习速率过高会导致跳动过大,不够准确以致于达不到最优点,即梯度下降方法不能够逃离局部最小值或鞍点。虽然减小学习率可能短期内有损网络的收敛稳定性,但从长期来看有助于找到更好的局部最优解。从图4右侧可以看到,随着学习率的减少,GSocRec模型在RMSE和MAE指标减小,说明了模型推荐性能有了提高。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,包括:
步骤1:将用户社交数据存储为图结构得到社交图,将用户对物品的评分数据存储为图结构得到用户-物品图,并根据用户-物品图构建得到物品-物品图,将社交图、用户-物品图和物品-物品图组合在一起得到社交推荐图;
步骤2:将所述社交推荐图分为训练集和测试集;
步骤3:构建图神经网络,采用训练集对所述图神经网络进行训练得到社交推荐模型;其中,所述图神经网络的训练过程包括:
步骤3.1:预处理训练集以得到用户节点初始嵌入向量、物品节点初始嵌入向量和评分初始嵌入向量;
步骤3.2:对于训练集中的任一用户节点,为该用户节点聚合一致性邻居用户节点来学习该用户节点的嵌入向量;
步骤3.3:对于训练集中的任一物品节点,利用该物品节点的邻居用户节点和邻居物品节点,提取得到该物品节点的嵌入向量;
步骤3.4:根据提取到的该用户节点的嵌入向量和该物品节点的嵌入向量得到该用户节点对该物品节点的预测分;
步骤3.5:将用户节点对物品节点的预测分和真实分作为训练样本对,将预测分和真实分之间的均方根误差作为损失函数,计算损失函数的值;
步骤3.6:重复执行步骤3.2至步骤3.5,直至满足训练停止条件,此时的图神经网络即为社交推荐模型;
步骤4:采用社交推荐模型对测试集的用户节点-物品节点对进行预测,得到该用户节点对该物品节点的评分预测结果。
2.根据权利要求1所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤1中,根据用户-物品图构建得到物品-物品图,具体包括:
根据用户-物品图统计任意两个物品之间共同关联的用户数量以及该两个物品之间关联用户的总数量;
若两个物品之间共同关联的用户数量大于该两个物品之间关联用户的总数量的一半,则将该两个物品链接起来,最终形成物品-物品图。
3.根据权利要求1所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤3.2具体包括:
步骤A1:采用公式(1)生成所有用户节点和所有物品节点之间的查询嵌入qu,t;
其中,σ是ReLU激活函数,是一个可训练的权重矩阵,eu,/>分别是用户节点u和物品节点t的初始嵌入向量,/>表示按列拼接;
步骤A2:针对用户节点ui,设定其邻居用户节点集合为N(i),基于查询嵌入计算N(i)中邻居用户节点的一致性得分,从N(i)中抽取Q个一致性得分较高的邻居用户节点作为采样用户节点;
步骤A3:计算每个采样用户节点的注意力权重,基于每个采样用户节点的注意力权重,按照公式(2)为用户节点ui聚合一致性邻居用户节点得到该用户节点ui的嵌入向量;
其中,j∈N(i),hj表示邻居用户节点uj的嵌入向量,αj表示邻居用户节点uj的注意力权重,W表示一个可训练的权重矩阵。
4.根据权利要求3所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤A2中,N(i)包含的邻居用户节点的总数越多,Q值越大。
5.根据权利要求3所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤A2中,按照公式(3)和公式(4)计算邻居用户节点的一致性得分;
其中,s(i;q)表示用户节点i和查询q的一致性得分,hi是用户节点i的嵌入向量,p(i;q)是用户u经过softmax函数处理后得到的所有邻居的一致性得分。
6.根据权利要求3所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤A3中,按照公式(5)计算每个采样用户节点的注意力权重;
其中,表示评分rj的嵌入表示,/>是注意力层的可训练参数。
7.根据权利要求1所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤3.3具体包括:
步骤B1:针对物品节点tj,设定其邻居物品节点集合为C(j),按照公式(6)提取物品节点tj在物品社交空间的嵌入表示
其中,σ是ReLU激活函数,ho是邻居物品节点的嵌入表示,AGGV表示物品节点在物品社交空间中的聚合函数,W表示一个可训练的权重矩阵;
步骤B2:针对物品节点tj,设定与其关联的用户集合为B(j),按照公式(7)提取物品节点在用户空间的嵌入表示
其中,σ是ReLU激活函数,fji表示用户节点ui对物品节点tj的意见感知交互表示,AGGU表示物品节点在用户空间中的聚合函数;
步骤B3:采用公式(8)将物品节点tj在物品社交空间的嵌入表示和物品节点在用户空间的嵌入表示/>进行组合,提取得到该物品节点tj的嵌入向量hj;
其中,σ是ReLU激活函数,表示按列拼接。
8.根据权利要求7所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤B1中,采用公式(9)所示的聚合函数AGGV;
其中,μjo表示邻居物品节点to的注意力权重。
9.根据权利要求8所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,采用两种方式确定邻居物品节点to的注意力权重μjo;其中:
第一种方式为:或者,
第二种方式为:按照公式(10)和(11)计算得到μjo;
其中,σ是ReLU激活函数,qj是物品节点tj的嵌入表示,W表示一个可训练的权重矩阵。
10.根据权利要求8所述的加强学习用户和物品embedding的图神经网络社交推荐方法,其特征在于,步骤3.4具体包括:
按照公式(12)得到用户节点对物品节点的预测分
其中,hu表示用户节点u的嵌入向量,ht表示物品节点t的嵌入向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310917228.6A CN116843491A (zh) | 2023-07-21 | 2023-07-21 | 加强学习用户和物品embedding的图神经网络社交推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310917228.6A CN116843491A (zh) | 2023-07-21 | 2023-07-21 | 加强学习用户和物品embedding的图神经网络社交推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116843491A true CN116843491A (zh) | 2023-10-03 |
Family
ID=88167081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310917228.6A Pending CN116843491A (zh) | 2023-07-21 | 2023-07-21 | 加强学习用户和物品embedding的图神经网络社交推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116843491A (zh) |
-
2023
- 2023-07-21 CN CN202310917228.6A patent/CN116843491A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN109785062B (zh) | 一种基于协同过滤模型的混合神经网络推荐系统 | |
CN111444395B (zh) | 获取实体间关系表达的方法、系统和设备、广告召回系统 | |
CN111461841B (zh) | 物品推荐方法、装置、服务器及存储介质 | |
CN108920503A (zh) | 一种基于社交网络信任度的微视频个性化推荐算法 | |
CN111310063B (zh) | 基于神经网络的记忆感知门控因子分解机物品推荐方法 | |
CN104462383B (zh) | 一种基于用户多种行为反馈的电影推荐方法 | |
Margaris et al. | What makes a review a reliable rating in recommender systems? | |
CN109190030B (zh) | 融合node2vec和深度神经网络的隐式反馈推荐方法 | |
CN111538827A (zh) | 基于内容和图神经网络的判例推荐方法、装置及存储介质 | |
CN112115377A (zh) | 一种基于社交关系的图神经网络链路预测推荐方法 | |
CN105138653A (zh) | 一种基于典型度和难度的题目推荐方法及其推荐装置 | |
CN107943910B (zh) | 一种基于组合算法的个性化图书推荐方法 | |
CN113127754A (zh) | 一种基于知识图谱的供应商推荐方法 | |
CN114519147A (zh) | 一种基于gcn增强影响扩散的社交推荐方法 | |
CN113590976A (zh) | 一种空间自适应图卷积网络的推荐方法 | |
CN115358809A (zh) | 一种基于图对比学习的多意图推荐方法及装置 | |
CN111125428B (zh) | 基于评分预测函数拟合结构的时间相关电影推荐方法 | |
CN115203550A (zh) | 一种增强邻居关系的社交推荐方法及系统 | |
CN114386513A (zh) | 一种集成评论与评分的交互式评分预测方法及系统 | |
CN115525819A (zh) | 一种面向信息茧房的跨领域推荐方法 | |
CN107133811A (zh) | 一种目标用户的识别方法和装置 | |
CN113342994B (zh) | 一种基于无采样协作知识图网络的推荐系统 | |
CN118071400A (zh) | 基于图计算技术在信息消费领域的应用方法及系统 | |
CN108491477A (zh) | 基于多维云和用户动态兴趣的神经网络推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |