CN113918834B - 融合社交关系的图卷积协同过滤推荐方法 - Google Patents

融合社交关系的图卷积协同过滤推荐方法 Download PDF

Info

Publication number
CN113918834B
CN113918834B CN202111235558.4A CN202111235558A CN113918834B CN 113918834 B CN113918834 B CN 113918834B CN 202111235558 A CN202111235558 A CN 202111235558A CN 113918834 B CN113918834 B CN 113918834B
Authority
CN
China
Prior art keywords
embedding
user
layer
social
matrix
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.)
Active
Application number
CN202111235558.4A
Other languages
English (en)
Other versions
CN113918834A (zh
Inventor
刘小洋
赵正阳
马敏
吴玉蝶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Minglong Electronic Technology Co ltd
Original Assignee
Chongqing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Technology filed Critical Chongqing University of Technology
Priority to CN202111235558.4A priority Critical patent/CN113918834B/zh
Publication of CN113918834A publication Critical patent/CN113918834A/zh
Application granted granted Critical
Publication of CN113918834B publication Critical patent/CN113918834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种融合社交关系的图卷积协同过滤推荐方法,包括:S1,随机初始化节点的嵌入矩阵并查询分别得到用户u和物品i的初始化嵌入;S2,在获得节点的初始化嵌入之后,用语义聚合层来聚合并更新节点嵌入;首先在语义聚合层引入一阶语义聚合而后将一阶语义聚合扩展到各层,实现高阶语义聚合;S3,在分别得到社交嵌入传播层的语义聚合嵌入向量和交互嵌入传播层的语义聚合嵌入向量之后,先将社交嵌入传播层和交互嵌入传播层的用户嵌入向量进行融合;而后将各嵌入传播层得到的各阶嵌入进行加权求和融合得到最终的用户嵌入和物品嵌入;S4,根据物品的嵌入为用户推荐产品。本发明能提取用户的社交信息,可扩展性高,挖掘到的语义信息丰富,推荐效果好。

Description

融合社交关系的图卷积协同过滤推荐方法
技术领域
本发明涉及一种推荐方法,尤其涉及一种融合社交关系的图卷积协同过滤推荐方法。
背景技术
在信息***的时代,推荐***已经成为帮助用户发现自己感兴趣的海量数据的最有效方式之一,它的核心是根据用户的购买和点击等历史互动情况来估计用户接受道具的可能性。一般来说,推荐***通常遵循两个步骤:学习用户和物品的向量化表示(嵌入),然后模拟它们之间的交互(例如,用户是否购买该物品)。协同过滤(Collaborativefiltering,CF)基于用户—物品二部图上的历史交互学习节点嵌入,并基于参数预测用户偏好从而进行物品推荐。
一般来说,在可学***移的CF模型则使用欧几里得距离度量作为交互函数等。
尽管这些方法是有效的,但这些方法只使用描述性特征(如ID和属性)而不是考虑用户—物品交互信息来构建嵌入函数,而用户—物品交互仅用于定义模型训练的目标函数,其嵌入函数缺乏对隐藏在在用户—物品交互数据总的关键协同信号的显式编码从而产生不足以为CF生成令人满意的嵌入。
受到图神经网络的最新发展,LightGCN的提出使得CF模型由传统方法实现转移到由图卷积神经网络实现。它是一种轻量级的GCN网络构建模型,它舍弃了传统GCN的特征变换和非线性激活,并通过实验验证了这两种操作对协同过滤是无效的。LightGCN通过在用户-物品交互矩阵上进行线性传播来学习用户和物品的嵌入,最后将所有层学习到的嵌入的加权和作为最终嵌入。LightGCN的提出虽然解决了上述方法存在的问题,但是它只限于处理用户-物品的历史交互数据,无法建模用户的社交从而提取到用户的社交特征信息,这导致它的可扩展性不高,挖掘到的语义信息较为单一,从而影响到推荐的效果。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种融合社交关系的图卷积协同过滤推荐方法。
为了实现本发明的上述目的,本发明提供了一种融合社交关系的图卷积协同过滤推荐方法,包括以下步骤:
S1,随机初始化节点的嵌入矩阵并查询分别得到用户u和物品i的初始化嵌入;
S2,在获得节点的初始化嵌入之后,用语义聚合层来聚合并更新节点嵌入;首先在语义聚合层引入一阶语义聚合而后将一阶语义聚合扩展到各层,实现高阶语义聚合;
S3,在分别得到社交嵌入传播层的语义聚合嵌入向量和交互嵌入传播层的语义聚合嵌入向量之后,先将社交嵌入传播层和交互嵌入传播层的用户嵌入向量进行融合;而后将各嵌入传播层得到的各阶嵌入进行加权求和融合得到最终的用户嵌入和物品嵌入;
所述融合采用先逐元素相加,再行正则化的聚合方式;
S4,根据物品的嵌入为用户推荐产品。
进一步地,所述S2中的一阶语义聚合包括:
交互嵌入传播层通过聚合交互物品的嵌入来细化用户的嵌入,以及通过聚合交互用户的嵌入来细化物品的嵌入;一阶语义聚合分别如式(1)和式(2)所示:
Figure GDA0003851676270000021
Figure GDA0003851676270000022
其中,eu表示通过交互嵌入传播层的语义聚合得到的用户u的嵌入;
AGG(·)是聚合函数;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
ei表示物品i的嵌入;
Hi代表物品i的一阶邻居集合,即和物品i发生过交互的用户集合;
社交嵌入传播层通过聚合朋友来细化用户的嵌入,将在社交嵌入传播层进行语义聚合的用户嵌入记为c,则社交嵌入传播层的一阶语义聚合过程如式(3)所示:
Figure GDA0003851676270000023
其中,cu表示通过社交嵌入传播层的语义聚合得到的用户u的嵌入;
cv表示通过社交嵌入传播层的语义聚合得到的用户v的嵌入;
用户v是用户u的一阶好友,v≠u;
AGG(·)是聚合函数;
Fu代表用户u的朋友集合。
进一步地,所述S2中的高阶语义聚合通过叠加多个一阶语义聚合层,实现高阶语义的聚合;所述高阶语义聚合包括:社交嵌入传播层的语义聚合和交互嵌入传播层的语义聚合:
所述社交嵌入传播层的语义聚合包括:
社交嵌入传播层的语义聚合通过叠加多个社交嵌入传播层来捕获更高阶的朋友信号以达到加强用户嵌入的目的,该过程的数学表达如式(4)和式(5)所示:
Figure GDA0003851676270000031
Figure GDA0003851676270000032
其中,
Figure GDA0003851676270000033
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
Fu代表用户u的朋友集合;
Fv代表用户v的朋友集合;
Figure GDA0003851676270000034
是指通过社交嵌入传播层的语义聚合得到的第k层的用户v的嵌入向量;
Figure GDA0003851676270000035
是指通过社交嵌入传播层的语义聚合得到的第k+1层的用户v的嵌入向量;
Figure GDA0003851676270000036
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
|·|表示求集合中元素的个数;
所述交互嵌入传播层的语义聚合包括:
交互嵌入传播层的语义聚合通过叠加多个交互嵌入传播层来捕获交互高阶连通性性的协同信号从而加强用户和物品嵌入,该过程的数学表达如式(6)和式(7)所示:
Figure GDA0003851676270000037
Figure GDA0003851676270000038
其中,
Figure GDA0003851676270000039
表示第k+1层的物品i的嵌入;
Hi代表物品i的一阶邻居集合;
Hu代表用户u的一阶邻居集合;
Figure GDA00038516762700000310
表示第k层的用户u的嵌入;
Figure GDA0003851676270000041
表示第k+1层的用户u的嵌入;
Figure GDA0003851676270000042
表示第k层的物品i的嵌入;
|·|表示求集合中元素的个数。
进一步地,所述S3中融合的过程包括:
Figure GDA0003851676270000043
其中,
Figure GDA0003851676270000044
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
Figure GDA0003851676270000045
表示通过交互嵌入传播层的语义聚合得到的第k层的用户u的嵌入;
Figure GDA0003851676270000046
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
g(·)为聚合方式。
进一步地,所述S3中的用户嵌入和物品嵌入包括:
Figure GDA0003851676270000047
其中,
Figure GDA0003851676270000048
是对社交嵌入传播层和交互嵌入传播层进行融合的用户u的嵌入;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
Figure GDA0003851676270000049
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
ei是物品i的嵌入;
βk是第k层对物品的嵌入进行聚合时的权重;
Figure GDA00038516762700000410
表示第k层的物品i的嵌入。
进一步地,所述采用先逐元素相加,再行正则化的聚合方式包括:
Figure GDA00038516762700000411
其中,norm(·)表示行正则化;
Figure GDA00038516762700000412
表示对
Figure GDA00038516762700000413
逐元素相加;
Figure GDA00038516762700000414
表示通过交互嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入;
Figure GDA0003851676270000051
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量。
还可采用先逐元素相加,再进行激活函数,最后行正则化的聚合方式;
Figure GDA0003851676270000052
jh(·)为激活函数;
还可采用先求哈达玛积然后行正则化的聚合方式;
Figure GDA0003851676270000053
⊙表示哈达玛积;
还可采用先拼接,然后通过全连接层将维度降为和原来的聚合方式:
Figure GDA0003851676270000054
其中f(·)为全连接层;
w为权重;
Figure GDA0003851676270000055
表示将
Figure GDA0003851676270000056
Figure GDA0003851676270000057
进行拼接;
Figure GDA0003851676270000058
表示通过交互嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入;
Figure GDA0003851676270000059
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
b为偏置。
进一步地,所述S4包括:
使用用户与推荐物品项的内积作为预测打分,如式(12)所示:
Figure GDA00038516762700000510
Figure GDA00038516762700000511
表示预测打分的分值,
Figure GDA00038516762700000512
表示用户u的最终嵌入,
·T表示转置,
ei表示物品i的嵌入。
进一步地,所述的一种融合社交关系的图卷积协同过滤推荐方法可采用SRRA进行具体实施,SRRA包括以下步骤:
S-A,将用户-物品交互矩阵记为
Figure GDA00038516762700000513
这里M和N分别是用户和物品的数量,Rui是R矩阵的第u行,第i列的值,其中用户u和物品i如果有交互则Rui=1,否则Rui=0;之后可以得到用户-物品交互图的邻接矩阵,如式(14)所示:
Figure GDA0003851676270000061
其中,A为用户与物品交互图的邻接矩阵;
R为用户与物品的交互矩阵;
·T表示转置;
S-B,让第0层的嵌入矩阵为E(0)得到第k+1层的用户或者物品嵌入矩阵如式(15)所示:
Figure GDA0003851676270000062
其中,D是度矩阵;
A是邻接矩阵;
E(k)是第k层的用户或者物品嵌入矩阵;
S-C,将用户社交矩阵记为
Figure GDA0003851676270000063
其中用户u和用户v是朋友关系则Suv=1,否则Suv=0,Suv是S矩阵的第u行,第v列的值;可以得到用户社交图的邻接矩阵,如式(16)所示:
Figure GDA0003851676270000064
S-D,让第0层的嵌入矩阵为
Figure GDA0003851676270000065
得到第k+1层的用户嵌入矩阵如式(17)所示:
Figure GDA0003851676270000066
其中,P为矩阵B对应的度矩阵;
B为用户社交图的邻接矩阵;
C(k)为第k层的用户嵌入矩阵;
S-E,分别截取矩阵E(k)和矩阵C(k)的关于用户嵌入的部分,分别记为Eu (k)和Cu (k),Eu (k)和Cu (k)都表示第k层的用户嵌入矩阵,其中Eu (k)是根据用户-物品交互关系得来的,而Cu (k)是根据社交关系得来的;
则矩阵E(k)的关于物品嵌入的部分记为Ei (k),有E(k)=concat(Eu (k),Ei (k)),其中concat(Eu (k),Ei (k))表示将Eu (k)和Ei (k)进行拼接;
S-F,根据式(18)计算用户的表示:
Figure GDA0003851676270000067
其中,sum(Eu (k),Cu (k))表示对Eu (k)和Cu (k)进行求和;
norm(·)表示行正则化操作;
Eu (k)表示根据用户-物品交互关系得到的第k层的用户嵌入矩阵;
Cu (k)表示社交关系得到的第k层的用户嵌入矩阵;
S-G,根据式(19)通过融合各层的表示分别得到用户和物品的最终表示:
Figure GDA0003851676270000071
其中,
Figure GDA0003851676270000072
表示最终的用户嵌入矩阵;
k表示第k层;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
Eu (k)表示根据用户-物品交互关系得到的第k层的用户嵌入矩阵;
Figure GDA0003851676270000073
表示最终的物品嵌入矩阵;
βk是第k层对物品的嵌入进行聚合时的权重;
Ei (k)表示第k层得到的物品嵌入矩阵;
S-H,根据式(20)计算预测得分:
Figure GDA0003851676270000074
其中,
Figure GDA0003851676270000075
表示预测得分;
Figure GDA0003851676270000076
表示
Figure GDA0003851676270000077
的转置;
Figure GDA0003851676270000078
表示最终的物品嵌入矩阵;
S-I,使用BPR计算损失函数如式(21)所示:
Figure GDA0003851676270000079
其中,其中LBPR表示矩阵形式的BPR损失;
M是用户的数量;
u是用户;
i,j都是物品;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
lnσ(·)表示σ(·)的自然对数;
σ(·)是sigmoid函数;
Figure GDA0003851676270000081
是指用户u对物品i的预测打分;
Figure GDA0003851676270000082
是指用户u对物品j的预测打分;
λ表示控制L2正则化的力度用于防止过拟合;
E(0)表示第0层的嵌入矩阵;
·||表示范数。
进一步地,还包括步骤S5,对步骤S4中的产品进行优化;对推荐产品的优化方法包括:
Figure GDA0003851676270000083
其中,L表示BPR损失;
O代表成对的训练数据;
u是用户;
i,j都是物品;
lnσ(·)表示σ(·)的自然对数;
σ(·)是sigmoid函数;
Figure GDA0003851676270000084
是指用户u对物品i的预测打分;
Figure GDA0003851676270000085
是指用户u对物品j的预测打分;
λ表示控制L2正则化的力度用于防止过拟合;
Θ代表所有可训练的模型参数;
Figure GDA0003851676270000086
为二范数的平方。
进一步地,还包括步骤S6,将优化后的推荐产品发送到对应的用户的手机上。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
(1)创新性地将社交关系融入到基于图卷积的协同过滤推荐方法的训练中去,提出了一种融合社交关系的图卷积协同过滤推荐模型(SGCF),通过融合社交行为和交互行为的高阶语义信息来学习节点的嵌入。
(2)在构建的SGCF模型框架下提出了一种可供实施的推荐算法(SRRA),它分别对用户-物品交互数据和社交数据中的高阶关系进行建模,然后将这两种高阶关系在各层的语义信息进行融合形成最终的用户和物品表达,最终用于推荐任务。
(3)在多个带有社交信息的真实数据集上与基线模型进行对比实验,验证了提出的SGCF模型与SRRA算法的合理性、有效性与计算性能的优越性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是基于CF的社会化推荐示意图。
图2是图嵌入原理示意图。
图3是HIN推荐***示意图。
图4是用户社交关系示意图。
图5是用户-物品交互关系示意图。
图6是本发明提出的SGCF模型的框架结构示意图。
图7是本发明各评价指标性能提升值与S-Density的关系示意图。
图8是本发明SRRA与基线模型评价指标训练曲线示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
1研究动机
基于以上分析,提出了一种融合社交关系的图卷积神经网络协同过滤推荐方法,来解决以下基本问题。
异质性数据难利用:异质图中同时含有用户交互信息和用户社交信息的网络是一个更为复杂的异质图。如何处理如此复杂的结构信息进行推荐是一个迫切需要解决的问题。
高阶语义信息难提取:保留高阶语义信息捕捉节点间不同的长期依赖,是改进节点嵌入、缓解推荐***冷启动问题的关键。如何将高阶语义注入到节点嵌入中是推荐***的一个基本问题。
多种语义信息难融合:在需要处理的数据集中,有两大类语义信息,即社交信息和交互偏好信息,如何将这两类语义信息进行融合注入用户嵌入中是有待解决的基本问题。
2相关工作
2.1传统的协同过滤推荐算法
协同过滤算法已经被广泛应用在电子商务产业,并且在过去的二十年中学术界和工业界涌现出许多协同过滤算法。粗略的讲,此类算法可分为两类:基于邻域协同过滤算法和基于模型推荐算法。
1)基于邻域推荐算法
基于邻域的算法原理是根据目标用户或者目标物品与邻居的相似性进行排序,并且根据最相似的top-k邻居的评分进行预测,它可以从用户过去的行为中发现潜在信息来直接预测用户的兴趣,而无需任何领域知识。基于邻域的协同过滤算法主要使用用户-物品交互数据或样本数据来完成预测,可以将其进一步分为基于用户的协同过滤算法和基于物品的协同过滤算法。
基于用户的协同过滤算法原理是利用其相似用户对该物品的所有评分的加权平均值,以此来预测用户对某项物品的未知评分,而基于物品的协同过滤算法是预测用户对某项物品的评分是基于用户对相似物品的平均评分。基于邻域的CF方法的关键问题是计算相似度和如何加权汇总评分。
2)基于模型推荐算法
基于模型推荐算法的主要思想是将用户和物品都嵌入到共同的潜在子空间中,然后通过用户和物品隐因子之间的内积进行预测。
基于模型的方法应用数据挖掘和机器学习技术从训练数据中找到匹配模型来预测未知评分。与基于邻域的CF相比,基于模型的CF更加全面,它可以挖掘显性评分等级的潜在信息。基于模型的常见方法包括,基于随机游走的方法和基于因子分解的CF模型。基于因子分解的CF方法是目前最流行的方法之一,并被广泛用于构建推荐***。
然而,传统的协同过滤的推荐方法因为只用到了用户-物品的交互数据,所以其推荐的精度受到了一定的限制。
2.2社会化推荐算法
目前大多数现有的社交推荐***都基于CF技术。基于CF的社交推荐***,也称为社会化推荐***,如图1所示。
图1中可以看到社交推荐具有两个输入,即用户-物品交互信息和社会信息。基于通用CF的社会推荐框架包含两个部分:基本CF模型和社会信息模型。
根据用户-物品交互数据和社交数据的融合机制不同,可将社交推荐***分为两大类:基于正则化推荐***和基于特征共享社交推荐***。
1)基于正则化社会化推荐算法
基于正则化社会化推荐算法基于假设:用户相比较于陌生人,更信任于其社交圈中的朋友,与他们的偏好一致。基于正则化推荐的做法是将社交数据与评分数据转换到同一目标空间,彼此约束限制,以便用户决策前可以考虑用户的社交影响。SocialMF和CUNE是该组中的两个代表性算法。
SocialMF旨在约束用户的偏好接近用户社交网络的平均偏好。因为用户的潜在特征向量取决于直接邻居的潜在特征向量,邻居特征向量可以在网络中传播,并且使用户的潜在特征向量取决于网络中可能所有的用户,因此SocialMF解决了信任网络中信任的传递性的问题。
由于直接从社会信息中提取的显式用户-用户关系有很多限制,CUNE提出从用户反馈中提取隐含的、可靠的社交信息,并为每个用户确定出top-k语义社交,而后将top-k语义朋友信息加入到MF和BPR框架,分别解决评分预测和物品排序问题。
基于正则化社会化推荐算法在社交网络中间接建立模型,从而帮助该模型减少了冷启动问题并增加了推荐物品的覆盖范围。但是,由于社会信息是间接建模的,存在用户-物品交互信息与社会信息的重合度以及关联度较低的问题,这导致推荐算法无法有效集成社交信息以及评分信息。
2)基于特征共享社会化推荐算法
基于特征共享推荐算法的基本假设是:用户-物品交互空间和用户-用户社交空间中的用户特征向量是共享的。这种方法的原理是用户-物品交互信息和社交信息都共享用户特征向量,可以将其转换到同一空间进行联合学习以获取用户的特征表示。TnustSVD和SoRec是该方法的两个代表性推荐***。
TrustSVD不仅对评分数据和用户信任关系数据建模,还考虑了隐式行为数据和用户的社会关系数据。因此它在SVD++模型的基础上,添加隐式社交信息,以提高推荐的精度。
SoRec方法基于用户所信任社交的爱好存在多样性的假设。用户低维特征向量通过同时分解评分矩阵和社交关系矩阵来进行学习,使得学到的用户特征向量可以兼顾用户的评分习惯和社交特性。
基于特征共享推荐算法可以在完成社会推荐预测任务时实现准确的社会推荐预测。但是,当前社会上主流提出的算法仅使用原始的社会信息,因此无法充分利用社交数据。这时图嵌入算法逐渐走入人们的视野。
2.3基于图嵌入的推荐算法
网络嵌入近年来图数据挖掘领域的热门研究方向之一,网络嵌入,又名网络表示学习、图嵌入,它是一种将图数据(通常为高维稠密的矩阵)映射为低微稠密向量的过程,使得得到的向量形式可以在向量空间中具有表示以及推理的能力,同时可以作为机器学习模型的输入,进而可将得到的向量表示应用到推荐任务中。
网络嵌入可以将图形数据的表示为向量形式。向量形式可以保留节点在图中的结构信息,即在图中结构上越相似,其在向量空间中的位置就越近。图嵌入原理如图2所示。
从图2中可以看出节点1和3结构上相似,所以它们在向量空间中保持对称位置;节点4,5,6,7在结构上等价,所以它们在向量空间中的位置一样。
根据网络类型的种类可以分为基于同构信息网络的社会化推荐***和基于异构信息网络的社会化推荐***。下面将要具体介绍这两类算法的原理和分类。
1)基于同构图嵌入的推荐算法
同质图中只包含一种类型的节点和边,它只需要聚合单一类型的邻居来更新节点表示。Perozzi等人提出随机游走(Deepwalk)算法适用于同质图,其原理是利用截断的随机游走序列表示一个节点的近邻,然后将得到序列结合当作自然语言处理中的一个个句子,进而得到节点的向量表示。
然而,Deepwalk中的随机游走策略是完全随机的,所以node2vec被提出。node2vec通过改变随机游走序列生成的方式进一步扩展了DeepWalk算法,DeepWalk选取随机游走序列中下一个节点的方式是均匀随机分布的,而node2vec通过引入两个参数p和q,将宽度优先搜索和深度优先搜索引入随机游走序列的生成过程。
基于同构网络算法较好的解决了推荐***数据稀疏性和冷启动问题。但是真实世界中的图大部分都可以被自然地建模为异质图。因此,基于异构网络的推荐算法逐渐受到人们的关注。
2)基于异构图嵌入的推荐算法
异构信息网络(Heterogeneous Information Network,HIN)由多种类型的节点和边组成,图3是一个基于HIN推荐***示例图。
从图3中可以看到,HIN包含两种及以上类型的实体,它们由多种(两种及以上)关系链接而成。
在基于异构网络表示下,推荐问题可以看作是HIN上的相似度搜索任务。现有的大多数基于HIN的推荐方法的基本思想是在HIN上利用用户和物品之间基于路径的语义相关性,例如基于元路径的相似性进行推荐。并提出了几种基于路径的相似性度量以评估异构信息网络中对象的相似性。Wang等提出将社会标签信息作为附加信息集成到HIN中克服数据稀疏性的问题。然而基于HIN的方法大多依赖于显示元路径,这可能无法完全挖掘HIN上用户和项的潜在特征以进行推荐。
网络嵌入的出现展现出其能够充分挖掘数据的潜在信息的能力,研究者逐渐将目光聚焦于此。Deepwalk通过随机游走产生节点序列然后通过Skip-Gram模型学习节点嵌入表示。此外,LNES和SDNE表征了二阶链路的接近度以及邻居关系。
然而大多数图嵌入的方法都集中在同构网络上,因此它们不能直接迁移和应用到异构网络上。文献试图通过嵌入方法来分析异构网络,尽管这些方法已经取得了不错的改进,但很少有人将整个***建模为用于社交推荐的异构网络来捕获社交网络上彼此隐含的用户的相似性。
3问题定义
3.1高阶连通性
3.1.1社交高阶连通性
社交关系具有高阶连通性。
在图4中,目标节点u0用双圆标记。l表示路径长度,路径u0←u2←u1且u0和u1没有直接连线,反映出u1可能是u0的潜在朋友。在所有能到达u0的通路上离u0越近,所占的通路数越多,对u0的影响越大。
3.1.2交互高阶连通性
交互关系也具有高阶连通性。
在图5中,推荐感兴趣的用户为u0,在用户—物品交互图的左子图中用双圆标记。右边的子图显示了u0从展开的树状结构。高阶连通性表示从路径长度l大于1的任何节点到达u0的路径。这种高阶连通性包含了带有协同信号的丰富语义信息。例如,路径u0←i6←u4表示u0和u4之间的行为相似度,因为两个用户都与i6交互过;较长的路径u0←i6←u4←i2表明u0很可能采用i2,因为它的相似用户u4之前已经与i2发生过交互。而且,从l=3的路径来看,i2项比i5项更可能引起u0的兴趣,因为<i2,u0>有两条路径连通,而<i5,u0>只有一条路径连通。
4提出的推荐方法
4.1构建的SGCF推荐模型
SGCF的基本思想是通过融合社交行为和交互行为的高阶语义来学习用户和物品的节点嵌入。SGCF分别对用户-物品交互数据和社交数据中的高阶关系进行建模来学习用户和物品的嵌入,最终将这两种高阶关系在各层的语义信息进行融合形成最终的用户表达,将高阶交互关系在各层的语义信息进行融合形成最终的物品表达,用于最终的推荐任务。模型的整体框架结构如图6所示。
由图6可知SGCF首先采用初始化嵌入层初始化节点嵌入,而后在语义聚合层对社交嵌入传播层和交互嵌入传播层进行语义聚合操作来细化用户和物品的嵌入,并在语义融合层将两部分的用户嵌入进行融合,而后将各个传播层的用户和物品嵌入分别加权求和形成最终的嵌入表示,最后在预测层进行打分最终用于推荐。
4.1.1初始化嵌入层
随机初始化节点的嵌入矩阵并查询分别得到用户u和物品i的初始化嵌入
Figure GDA0003851676270000131
Figure GDA0003851676270000132
其中g是节点嵌入的维度。
Figure GDA0003851676270000133
表示
Figure GDA0003851676270000134
是用户u(一个节点)的嵌入向量;这个向量是g维的,且向量的每个分量都属于实数域;
Figure GDA0003851676270000135
表示
Figure GDA0003851676270000136
是物品i(一个节点)的嵌入向量;这个向量是g维的,且向量的每个分量都属于实数域。
4.1.2语义聚合层
在获得节点的初始化嵌入之后,提出了语义聚合层来聚合并更新节点嵌入,所以高阶语义信息能够被很好地保留。首先在语义聚合层引入一阶语义聚合而后将其扩展到各层,实现高阶语义聚合。
1)一阶语义聚合
图神经网络GCN的基本思想是通过平滑图上的特征来学习节点的表示。为了实现这一点,它对图进行迭代卷积,即聚合邻居的特征作为目标节点的新表示。在SGCF中,交互嵌入传播层通过聚合交互物品的嵌入来细化用户的嵌入,以及通过聚合交互用户的嵌入来细化物品的嵌入。其一阶语义聚合分别如式(1)和式(2)所示。
Figure GDA0003851676270000141
Figure GDA0003851676270000142
其中eu表示用户u的嵌入,ei表示物品i的嵌入,AGG(·)是聚合函数,Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合,Hi代表物品i的一阶邻居集合,即和物品i发生过交互的用户集合。上式表示在交互中,用户u的嵌入eu通过对其一阶邻居(直接交互的)物品i的嵌入聚合得到,而物品i的嵌入ei通过对其一阶邻居(直接被交互的)用户u的嵌入聚合得到。
社交嵌入传播层通过聚合朋友来细化用户的嵌入。为了在含义上好区分,将在社交嵌入传播层进行语义聚合的用户嵌入记为c,则社交嵌入传播层的一阶语义聚合过程如式(3)所示
Figure GDA0003851676270000143
其中cu和cv都是用户嵌入,用户v是用户u的一阶好友,v≠u;AGG(·)是聚合函数,Fu代表用户u的朋友集合。上式表示在社交中,用户u的嵌入eu通过对其一阶邻居(社交)的嵌入ev聚合产生。
2)高阶语义聚合
语义聚合层通过叠加多个一阶语义聚合层,实现高阶语义的聚合。它包括对社交嵌入传播层和对交互嵌入传播层的语义聚合。
·社交嵌入传播层的语义聚合
由社交高阶连通性可知,叠加k层就能聚合到k阶邻居的信息。社交嵌入传播层的语义聚合通过叠加多个社交嵌入传播层来捕获更高阶的朋友信号以达到加强用户嵌入的目的,该过程的数学表达如式(4)和式(5)所示。
Figure GDA0003851676270000151
Figure GDA0003851676270000152
其中
Figure GDA0003851676270000153
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量,
Figure GDA0003851676270000154
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量,Fu代表用户u的朋友集合,Fv代表用户v的朋友集合,
Figure GDA0003851676270000155
是指通过社交嵌入传播层的语义聚合得到的第k+1层的用户v的嵌入向量,
Figure GDA0003851676270000156
是指通过社交嵌入传播层的语义聚合得到的第k层的用户v的嵌入向量。需要注意的是
Figure GDA0003851676270000157
为用户u的初始化嵌入。|·|表示求集合中元素的个数。
·交互嵌入传播层的语义聚合
由交互高阶连通性可知,叠加偶数层(即从用户出发,路径长度为偶数)可以捕获用户行为的相似性信息,叠加奇数层可以捕获用户对物品的潜在交互信息。交互嵌入传播层的语义聚合通过叠加多个交互嵌入传播层来捕获交互中高阶连通性性的协同信号从而加强用户和物品嵌入,该过程的数学表达如式(6)和式(7)所示。
Figure GDA0003851676270000158
Figure GDA0003851676270000159
其中
Figure GDA00038516762700001510
Figure GDA00038516762700001511
分别表示第k层的用户u的嵌入和物品i的嵌入,Hi代表物品i的一阶邻居集合,Hu代表用户u的一阶邻居集合。
4.1.3语义融合层
1)最终用户嵌入的形成
·社交部分用户的嵌入和交互部分的用户嵌入的融合(比如说社交部分用户的嵌入有3层,那么相应的,交互部分的用户嵌入也有3层,融合的时候一一对应,第1层的用户社交嵌入与第1层的用户交互嵌入融合,以此类推。其中层意味着捕捉到的信息的阶数,第1层代表只捕捉1阶信息,第2层代表捕捉2阶信息,以此类推),这一部分的作用是使得最终的用户嵌入同时带有社交信息和交互信息。用到公式
Figure GDA00038516762700001512
·各层的融合。这一部分的作用是使得最终的用户嵌入能够捕捉到各阶的信息。用到的公式:
Figure GDA0003851676270000161
2)最终物品嵌入的形成
与最终的用户嵌入不同,最终的用户嵌入用到了社交信息和交互信息,而最终的物品嵌入只用到了交互信息,所以它只是对各层的物品交互嵌入进行融合,也就是只有1中的2),第二步。
用到公式:
Figure GDA0003851676270000162
只有各层融合的时候用到了加权,这一点公式里已经体现了。
具体来说:通过融合社交嵌入传播层和交互嵌入传播层的用户嵌入能够使其带有一定的社会信息从而来增强用户嵌入的质量。在分别得到社交嵌入传播层的语义聚合嵌入向量和交互嵌入传播层的语义聚合嵌入向量之后,先将这两部分各层的用户嵌入向量进行融合,融合过程如式(8)所示。
Figure GDA0003851676270000163
其中,
Figure GDA0003851676270000164
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合,这里g(·)可以有多重聚合方式,这里采用的是式(9),先逐元素相加,再行正则化。
Figure GDA0003851676270000165
其中norm(·)表示正则化,
Figure GDA0003851676270000166
表示对
Figure GDA0003851676270000167
逐元素相加,
Figure GDA0003851676270000168
表示第k+1层的用户u的嵌入,
Figure GDA0003851676270000169
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量即第k+1层的用户社交嵌入。
此外g(·)还可以在(9)式的基础上加激活函数;或者先求哈达玛积然后行正则化,即
Figure GDA00038516762700001610
也可以先将
Figure GDA00038516762700001611
两部分进行拼接,此时维度变为原来的2倍,然后通过全连接层f(·)将维度降为和原来的一样,即
Figure GDA00038516762700001612
而后将各层嵌入传播得到的各阶嵌入进行加权求和融合得到最终的用户嵌入
Figure GDA00038516762700001613
和物品嵌入ei,如式(11)所示。
Figure GDA00038516762700001614
其中
Figure GDA0003851676270000171
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合,k表示第k层,K表示总层数,αk是在第k层对用户的嵌入进行聚合时的权重,βk是第k层对物品的嵌入进行聚合时的权重,每层的权重可以相同,也可以不同,如果相同则表明各层的嵌入对最终形成的嵌入的贡献相同,权重越大,贡献越大。
4.1.4预测层
模型的最后一部分根据物品的嵌入为用户推荐产品,这里使用用户与推荐物品项的内积作为预测打分,如式(12)所示。
Figure GDA0003851676270000172
Figure GDA0003851676270000173
表示预测打分的分值,
Figure GDA0003851676270000174
表示用户u的最终嵌入,·T表示转置,ei表示物品i的嵌入;
然后计算BPR损失并根据计算的BPR损失优化模型参数如式(13)所示。
Figure GDA0003851676270000175
其中L表示BPR损失,σ(·)是sigmoid函数,
Figure GDA0003851676270000176
是指用户u对正样本i的预测打分,
Figure GDA0003851676270000177
是指用户u对负样本j的预测打分;O={(u,i,j)|(u,i)∈R+,(u,j)∈R-}代表着成对的训练数据,u是用户,i,j都是物品,i≠j,只不过i是正样本,出现在u的交互列表中,j是负样本,没出现在u的交互列表中。R+表示可观测到的交互,R-表示不可观测到的交互。Θ代表所有可训练的模型参数,这里模型的参数只包括用户u和物品i的初始化嵌入向量
Figure GDA0003851676270000178
Figure GDA0003851676270000179
λ表示控制L2正则化的力度用于防止过拟合。lnσ(·)表示σ(·)的自然对数,
Figure GDA00038516762700001710
为二范数的平方。
4.2提出的推荐算法SRRA
为了便于实施,在SGCF模型的框架下提出了SRRA算法(详见Algorithm 1)。
将用户-物品交互矩阵记为
Figure GDA00038516762700001711
这里M和N分别是用户和物品的数量,其中用户u和物品i如果有交互则Rui=1,否则Rui=0。之后可以得到用户-物品交互图的邻接矩阵,如式(14)所示。
Figure GDA00038516762700001712
其中A为用户与物品交互图的邻接矩阵,R为用户与物品的交互矩阵,·T表示转置。
让第0层的嵌入矩阵为
Figure GDA00038516762700001713
这里G是嵌入向量的维度,可以得到第k+1层的用户或者物品嵌入矩阵如式(15)所示。
Figure GDA0003851676270000181
其中D是度矩阵,它是维度为(M+N)×(M+N)的对角矩阵,M和N分别是用户和物品的数量;矩阵D的第i行,第i列的值表示为Dii,Dii为节点i的度,即每一个元素Dii代表着位于邻接矩阵A第i个行向量的非零值的个数。
同理,将用户社交矩阵记为
Figure GDA0003851676270000182
其中用户u和用户v是朋友关系则Suv=1,否则Suv=0,Suv是S矩阵的第u行,第v列的值。可以得到用户社交图的邻接矩阵,如式(16)所示。
Figure GDA0003851676270000183
让第0层的嵌入矩阵为
Figure GDA0003851676270000184
可以得到第k+1层的用户嵌入矩阵如式(17)所示。
Figure GDA0003851676270000185
其中P为矩阵B对应的度矩阵,B为用户社交图的邻接矩阵。
而后分别截取矩阵E(k)和矩阵C(k)的关于用户嵌入的部分,即截取矩阵E(k)和矩阵C(k)的前M行,分别记为Eu (k)和Cu (k),Eu (k)和Cu (k)都表示第k层的用户嵌入矩阵,但是他们是有区别的Eu (k)是根据用户物品交互关系得来的,而Cu (k)是根据社交关系得来的。则矩阵E(k)的关于物品嵌入的部分记为Ei (k),有E(k)=concat(Eu (k),Ei (k)),即E(k)实际上是由Eu (k),Ei (k)这两个矩阵拼接得到的;其中Cu (k),
Figure GDA0003851676270000186
最后,根据式(18)计算用户的表示。
Figure GDA0003851676270000187
其中sum(Eu (k),Cu (k))表示对Eu (k)和Cu (k)进行求和,norm(·)表示行正则化操作,行正则化是以矩阵的每一行为单位进行归一化,也就是先对本行的元素求和,再用该行每一个元素分别除以这个和,得到的值去替代这一行。
根据式(19)通过融合各层的表示分别得到用户和物品的最终表示。
Figure GDA0003851676270000188
αk是在第k层对用户的嵌入进行聚合时的权重,βk是第k层对物品的嵌入进行聚合时的权重。
根据式(20)计算预测得分:
Figure GDA0003851676270000191
使用BPR计算损失函数如式(21)所示。
Figure GDA0003851676270000192
其中,Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;E(0)表示第0层的嵌入矩阵,M是用户的数量,||·||表示范数。
公式(21)本质上相当于公式(13),只不过(21)是矩阵形式,并且模型参数Θ只有E(0)不包含其他。
Figure GDA0003851676270000193
Figure GDA0003851676270000201
5实验结果与分析
实验共用到6个真实数据集,它们都包含社交数据与用户行为数据,数据集的统计数据见表2。将提出的SRRA算法与两个前沿的基线算法DSCF,LightGCN进行对比实验以验证提出算法SRRA的合理性、有效性。
5.1数据集
1)Brightkite该数据集包括用户签到数据和用户社交网络数据,可以用于位置荐。
为了保证数据集的质量,限制用户的交互下限为100,交互上限为500,即每个用户至有100个,至多有500个签到地点。
2)Gowalla这是从Gowalla获得的签到数据集,用户在Gowalla通过签到分享他们的位置。同样的,限制用户的交互下限为100,交互上限为500,即每个用户至有100个,至多有500个签到地点。
3)LastFM是由第二届推荐***信息异构和融合国际研讨会发布的数据集。该数据集包括用户收听的音乐艺术家数据和用户的社交网络数据。限制用户的交互下限为10,即每个用户至有10个喜欢的艺术家。
4)FilmTrust该数据集是2011年6月从FilmTrust网站上抓取的一个小型数据集。包含用户对电影的评分信息和用户间的社交信息。限制用户的交互下限为10,即每个用户至有10个评分的电影。
5)Delicious此数据集包含来自Delicious社交书签***的用户间的社交网络,书签和标签信息。限制用户的交互下限为10,交互上限为500,即每个用户至有10个社交书签。
6)Epinions该数据集包含了49,290个用户对139,738件物品的评分,每个物品都至少被评分一次,本数据集还包含用户之间的信任关系,共用487,181个用户信任对。限制用户的交互下限为10,即每个用户至有10个交互物品。
表2数据集的统计数据
Dataset User# Item# Interaction# Connection# R-Density S-Density
Brightkite 6,310 317,448 1,392,069 27,754 0.00069 0.00070
Gowalla 14,923 756,595 2,825,857 82,112 0.00025 0.00037
Epinions 12,392 112,267 742,682 198,264 0.00053 0.00129
FilmTrust 58 657 1,530 590 0.04015 0.17539
Delicious 479 23,341 103,649 6,180 0.00927 0.02694
LastFM 1,860 17,583 92,601 24,800 0.00283 0.00717
注:Interaction是用户-物品交互数,Connection是用户社交连接数,R-Density是用户-物品矩阵的密度,同理S-Density是社交矩阵的密度
5.2实验设置
为了评估实验结果,将每个数据集分别以7:3的比例划分为训练集和测试集,将Pre@10,Recall@10,和NDCG@10作为模型的评价指标。
参照LightGCN,将所有模型的嵌入向量的维度都设置为64,并用Xavier方法初始化嵌入参数。使用Adam对SGCF进行优化。设置默认学习率为0.001,默认的mini-batch为1024。正则化因子在范围内搜索得到,L2为2范数正则。经过试验选取到最优值,将各层的聚合因子和都设置为,这里的代表层数。对于所有模型都训练1000轮,并且将分别取值1到5进行实验,实验表明当为4时达到模型的最佳性能。
5.3结果分析
提出的算法SRRA是在LightGCN的基础上改进的,所以专门对比了这两个模型在相同卷积层数下的Pre@10,Recall@10,NDCG@10性能,将SRRA和LightGCN分别训练1~5层,具体实验结果如表3所示。
表3 LightGCN和SGCF不同层的性能比较
Figure GDA0003851676270000211
Figure GDA0003851676270000221
从表3可以得出,提出的SRRA算法较现有算法在Pre@10,Recall@10和NDCG@10三个指标上分别平均提高了8.14%,10.47%和15.79%。此外,提出的SRRA算法在训练相同层数的情况下,在上述三个指标上较LightGCN均有不同程度的提升,其中在FilmTrust,Delicious和LastFM三个数据集上的性能提升较大,算法在Pre@10,Recall@10和NDCG@10上分别平均提高11.00%,10.79%和11.14%,而在Brightkite,Gowalla和Epinions这三个数据集上的性能提升较少,分别平均提升7.54%,7.61%和8.60%。并且通过表3可以看出,SRRA算法在Layer为4时取得最好的效果。对于算法提高的幅度与什么因素有关,下面探究了其与数据集中社交数据的质量,即与社交矩阵的密度(S-Density)之间关系。
图7分别分析了在Pre@10,Recall@10和NDCG@10三个指标下,各数据集对应的社交矩阵的密度(S-Density)与算法性能提升值之间的关系,
由图7可以看出SRRA算法的性能提升幅度与数据集的S-Density成正相关,也就是说社交矩阵的密度越大,算法的性能越好,这也解释了为什么对于FilmTrust,Delicious和LastFM这三个数据集来说,算法在加入社交数据后对推荐效果提升程度的较大,而对于Brightkite,Gowalla和Epinions这三个数据集来说,算法在加入社交数据后对推荐效果提升的程度较小。
控制,即将提出的SRRA算法与基线算法的训练层数都设置为4层,在Pre@10,Recall@10和NDCG@10评价指标上做了比较,实验结果如表4所示。
表4 SRRA与基线算法性能比较
Figure GDA0003851676270000222
Figure GDA0003851676270000231
从表4可以看出,除了在个别数据集上的个别指标上的效果不好之外,SGCF模型普遍取得了比较不错的效果。
为了观察SRRA算法与两个基线算法在训练过程中的区别和计算性能上的差别,在实验中将所有算法均训练1000轮,并在每个数据集的训练过程中每隔20个epoch就记录一下3个算法的Pre@10,Recall@10和NDCG@10值,所有数据可视化为图8。图8分别展示了在Brightkite,Gowalla,Epinions,FilmTrust,Delicious,LastFM这6个数据集上,SGCF与基线算法的Pre@10,Recall@10和NDCG@10指标随着训练轮数的变化情况。
从图8中可以看出,从三个评价指标上的表现上来看,在每一个训练轮次上,提出的SRRA算法较基线算法相比都普遍具有最好的性能;从收敛速度上来看,与基线算法相比,SRRA算法在大多数数据集中表现优秀,即它可以以一个比较快的速度收敛到一个比较好的结果,说明SRRA算法具有较优秀的计算性能。
6总结
本发明专利提出了一种融合社交关系的图卷积协同过滤推荐方法。首先构建了一个通用协同过滤推荐模型SGCF,模型包括4个部分,分别是初始化嵌入层、语义聚合层、语义融合层和预测层,其中语义聚合层、语义融合层是模型SGCF的核心,分别起着提取高阶语义信息和融合多种语义信息的作用。然后在此模型的基础上提出了一个可以实施的算法SRRA,该算法基于LightGCN进行改进,它除了能够利用用户-物品交互数据之外,还融入了社交数据,可以利用更加丰富的社交信息挖掘用户和物品之间的潜在关系,从而提高推荐的质量。在6个真实数据集上的实验表明:1)提出的SRRA算法与基线算法相比普遍具有较好的性能效果。2)数据集本身的质量(S-Density)影响着提出的SRRA算法的性能提升幅度,S-Density值越大,SRRA算法的性能越好。3)提出的SRRA算法较基线算法具有优秀的计算性能。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (3)

1.一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,包括以下步骤:
S1,随机初始化节点的嵌入矩阵并查询分别得到用户u和物品i的初始化嵌入;
S2,在获得节点的初始化嵌入之后,用语义聚合层来聚合并更新节点嵌入;首先在语义聚合层引入一阶语义聚合而后将一阶语义聚合扩展到各层,实现高阶语义聚合;
所述一阶语义聚合包括:
交互嵌入传播层通过聚合交互物品的嵌入来细化用户的嵌入,以及通过聚合交互用户的嵌入来细化物品的嵌入;一阶语义聚合分别如式(1)和式(2)所示:
Figure FDA0003851676260000011
Figure FDA0003851676260000012
其中,eu表示通过交互嵌入传播层的语义聚合得到的用户u的嵌入;
AGG(·)是聚合函数;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
ei表示物品i的嵌入;
Hi代表物品i的一阶邻居集合,即和物品i发生过交互的用户集合;
社交嵌入传播层通过聚合朋友来细化用户的嵌入,将在社交嵌入传播层进行语义聚合的用户嵌入记为c,则社交嵌入传播层的一阶语义聚合过程如式(3)所示:
Figure FDA0003851676260000013
其中,cu表示通过社交嵌入传播层的语义聚合得到的用户u的嵌入;
cv表示通过社交嵌入传播层的语义聚合得到的用户v的嵌入;
用户v是用户u的一阶好友,v≠u;
AGG(·)是聚合函数;
Fu代表用户u的朋友集合;
所述高阶语义聚合通过叠加多个一阶语义聚合层,实现高阶语义的聚合;所述高阶语义聚合包括:社交嵌入传播层的语义聚合和交互嵌入传播层的语义聚合:
所述社交嵌入传播层的语义聚合包括:
社交嵌入传播层的语义聚合通过叠加多个社交嵌入传播层来捕获更高阶的朋友信号以达到加强用户嵌入的目的,该过程的数学表达如式(4)和式(5)所示:
Figure FDA0003851676260000021
Figure FDA0003851676260000022
其中,
Figure FDA0003851676260000023
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
Fu代表用户u的朋友集合;
Fv代表用户v的朋友集合;
Figure FDA0003851676260000024
是指通过社交嵌入传播层的语义聚合得到的第k层的用户v的嵌入向量;
Figure FDA0003851676260000025
是指通过社交嵌入传播层的语义聚合得到的第k+1层的用户v的嵌入向量;
Figure FDA0003851676260000026
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
|·|表示求集合中元素的个数;
所述交互嵌入传播层的语义聚合包括:
交互嵌入传播层的语义聚合通过叠加多个交互嵌入传播层来捕获交互高阶连通性的协同信号从而加强用户和物品嵌入,该过程的数学表达如式(6)和式(7)所示:
Figure FDA0003851676260000027
Figure FDA0003851676260000028
其中,
Figure FDA0003851676260000029
表示第k+1层的物品i的嵌入;
Hi代表物品i的一阶邻居集合;
Hu代表用户u的一阶邻居集合;
Figure FDA0003851676260000031
表示第k层的用户u的嵌入;
Figure FDA0003851676260000032
表示第k+1层的用户u的嵌入;
Figure FDA0003851676260000033
表示第k层的物品i的嵌入;
|·|表示求集合中元素的个数;
S3,在分别得到社交嵌入传播层的语义聚合嵌入向量和交互嵌入传播层的语义聚合嵌入向量之后,先将社交嵌入传播层和交互嵌入传播层的用户嵌入向量进行融合;而后将各嵌入传播层得到的各阶嵌入进行加权求和融合得到最终的用户嵌入和物品嵌入;
所述融合的过程包括:
Figure FDA0003851676260000034
其中,
Figure FDA0003851676260000035
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
Figure FDA0003851676260000036
表示通过交互嵌入传播层的语义聚合得到的第k层的用户u的嵌入;
Figure FDA0003851676260000037
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
g(·)为聚合方式;
所述最终的用户嵌入和物品嵌入包括:
Figure FDA0003851676260000038
其中,
Figure FDA0003851676260000039
是对社交嵌入传播层和交互嵌入传播层进行融合的用户u的嵌入;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
Figure FDA0003851676260000041
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
ei是物品i的嵌入;
βk是第k层对物品的嵌入进行聚合时的权重;
Figure FDA0003851676260000042
表示第k层的物品i的嵌入;
所述融合采用先逐元素相加,再行正则化的聚合方式:
Figure FDA0003851676260000043
其中,norm(·)表示行正则化;
Figure FDA0003851676260000044
表示对
Figure FDA0003851676260000045
逐元素相加;
Figure FDA0003851676260000046
表示通过交互嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入;
Figure FDA0003851676260000047
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
S4,根据物品的嵌入为用户推荐产品。
2.根据权利要求1所述的一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,所述S4包括:
使用用户与推荐物品项的内积作为预测打分,如式(12)所示:
Figure FDA0003851676260000048
其中,
Figure FDA0003851676260000049
表示预测打分的分值;
Figure FDA00038516762600000410
表示用户u的最终嵌入;
·T表示转置;
ei表示物品i的嵌入。
3.根据权利要求1所述的一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,所述的一种融合社交关系的图卷积协同过滤推荐方法可采用SRRA进行具体实施,SRRA包括以下步骤:
S-A,将用户-物品交互矩阵记为
Figure FDA00038516762600000411
这里M和N分别是用户和物品的数量,Rui是R矩阵的第u行,第i列的值,其中用户u和物品i如果有交互则Rui=1,否则Rui=0;之后可以得到用户-物品交互图的邻接矩阵,如式(14)所示:
Figure FDA0003851676260000051
其中,A为用户与物品交互图的邻接矩阵;
R为用户与物品的交互矩阵;
·T表示转置;
S-B,让第0层的嵌入矩阵为E(0)得到第k+1层的用户或者物品嵌入矩阵如式(15)所示:
Figure FDA0003851676260000052
其中,D是度矩阵;
A是邻接矩阵;
E(k)是第k层的用户或者物品嵌入矩阵;
S-C,将用户社交矩阵记为
Figure FDA0003851676260000053
其中用户u和用户v是朋友关系则Suv=1,否则Suv=0,Suv是S矩阵的第u行,第v列的值;可以得到用户社交图的邻接矩阵,如式(16)所示:
Figure FDA0003851676260000054
S-D,让第0层的嵌入矩阵为
Figure FDA0003851676260000055
得到第k+1层的用户嵌入矩阵如式(17)所示:
Figure FDA0003851676260000056
其中,P为矩阵B对应的度矩阵;
B为用户社交图的邻接矩阵;
C(k)为第k层的用户嵌入矩阵;
S-E,分别截取矩阵E(k)和矩阵C(k)的关于用户嵌入的部分,分别记为Eu (k)和Cu (k),Eu (k)和Cu (k)都表示第k层的用户嵌入矩阵,其中Eu (k)是根据用户-物品交互关系得来的,而Cu (k)是根据社交关系得来的;
则矩阵E(k)的关于物品嵌入的部分记为Ei (k),有E(k)=concat(Eu (k),Ei (k)),其中concat(Eu (k),Ei (k))表示将Eu (k)和Ei (k)进行拼接;
S-F,根据式(18)计算用户的表示:
Figure FDA0003851676260000061
其中,sum(Eu (k),Cu (k))表示对Eu (k)和Cu (k)进行求和;
norm(·)表示行正则化操作;
Eu (k)表示根据用户-物品交互关系得到的第k层的用户嵌入矩阵;
Cu (k)表示社交关系得到的第k层的用户嵌入矩阵;
S-G,根据式(19)通过融合各层的表示分别得到用户和物品的最终表示:
Figure FDA0003851676260000062
其中,
Figure FDA0003851676260000063
表示最终的用户嵌入矩阵;
k表示第k层;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
Eu (k)表示根据用户-物品交互关系得到的第k层的用户嵌入矩阵;
Figure FDA0003851676260000064
表示最终的物品嵌入矩阵;
βk是第k层对物品的嵌入进行聚合时的权重;
Ei (k)表示第k层得到的物品嵌入矩阵;
S-H,根据式(20)计算预测得分:
Figure FDA0003851676260000065
其中,
Figure FDA0003851676260000071
表示预测得分;
Figure FDA0003851676260000072
表示
Figure FDA0003851676260000073
的转置;
Figure FDA0003851676260000074
表示最终的物品嵌入矩阵;
S-I,使用BPR计算损失函数如式(21)所示:
Figure FDA0003851676260000075
其中,其中LBPR表示矩阵形式的BPR损失;
M是用户的数量;
u是用户;
i,j都是物品;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
lnσ(·)表示σ(·)的自然对数;
σ(·)是sigmoid函数;
Figure FDA0003851676260000076
是指用户u对物品i的预测打分;
Figure FDA0003851676260000077
是指用户u对物品j的预测打分;
λ表示控制L2正则化的力度用于防止过拟合;
E(0)表示第0层的嵌入矩阵;
||·||表示范数。
CN202111235558.4A 2021-10-22 2021-10-22 融合社交关系的图卷积协同过滤推荐方法 Active CN113918834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111235558.4A CN113918834B (zh) 2021-10-22 2021-10-22 融合社交关系的图卷积协同过滤推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111235558.4A CN113918834B (zh) 2021-10-22 2021-10-22 融合社交关系的图卷积协同过滤推荐方法

Publications (2)

Publication Number Publication Date
CN113918834A CN113918834A (zh) 2022-01-11
CN113918834B true CN113918834B (zh) 2022-10-28

Family

ID=79242397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111235558.4A Active CN113918834B (zh) 2021-10-22 2021-10-22 融合社交关系的图卷积协同过滤推荐方法

Country Status (1)

Country Link
CN (1) CN113918834B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756768B (zh) * 2022-06-15 2022-09-02 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品
CN116703529B (zh) * 2023-08-02 2023-10-20 山东省人工智能研究院 基于特征空间语义增强的对比学习推荐方法
CN117370672B (zh) * 2023-12-06 2024-02-23 烟台大学 基于混合结构图的用户兴趣点推荐方法、***和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428147A (zh) * 2020-03-25 2020-07-17 合肥工业大学 结合社交和兴趣信息的异源图卷积网络的社交推荐方法
CN112115378A (zh) * 2020-09-16 2020-12-22 长沙理工大学 基于图卷积协同过滤的推荐预测***以及推荐预测方法
CN112488791A (zh) * 2020-11-30 2021-03-12 中国传媒大学 一种基于知识图谱卷积算法的个性化推荐方法
CN112800334A (zh) * 2021-02-04 2021-05-14 河海大学 一种基于知识图谱和深度学习的协同过滤推荐方法及设备
CN112836125A (zh) * 2021-02-08 2021-05-25 东北师范大学 一种基于知识图谱和图卷积网络的推荐方法及其***
CN112905900A (zh) * 2021-04-02 2021-06-04 辽宁工程技术大学 基于图卷积注意力机制的协同过滤推荐算法
CN113505311A (zh) * 2021-07-12 2021-10-15 中国科学院地理科学与资源研究所 一种可根据“潜在语义空间”的旅游景点交互推荐方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150187024A1 (en) * 2013-12-27 2015-07-02 Telefonica Digital España, S.L.U. System and Method for Socially Aware Recommendations Based on Implicit User Feedback
US11443346B2 (en) * 2019-10-14 2022-09-13 Visa International Service Association Group item recommendations for ephemeral groups based on mutual information maximization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428147A (zh) * 2020-03-25 2020-07-17 合肥工业大学 结合社交和兴趣信息的异源图卷积网络的社交推荐方法
CN112115378A (zh) * 2020-09-16 2020-12-22 长沙理工大学 基于图卷积协同过滤的推荐预测***以及推荐预测方法
CN112488791A (zh) * 2020-11-30 2021-03-12 中国传媒大学 一种基于知识图谱卷积算法的个性化推荐方法
CN112800334A (zh) * 2021-02-04 2021-05-14 河海大学 一种基于知识图谱和深度学习的协同过滤推荐方法及设备
CN112836125A (zh) * 2021-02-08 2021-05-25 东北师范大学 一种基于知识图谱和图卷积网络的推荐方法及其***
CN112905900A (zh) * 2021-04-02 2021-06-04 辽宁工程技术大学 基于图卷积注意力机制的协同过滤推荐算法
CN113505311A (zh) * 2021-07-12 2021-10-15 中国科学院地理科学与资源研究所 一种可根据“潜在语义空间”的旅游景点交互推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于图卷积网络的双向协同过滤推荐算法;高飞 等;《软件》;20210731;第42卷(第7期);第32-38页 *
融合用户社会关系的双线性扩散图推荐模型;竺笈 等;《计算机科学与探索》;20210826;第1-12页 *

Also Published As

Publication number Publication date
CN113918834A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN113918832B (zh) 基于社交关系的图卷积协同过滤推荐***
CN112529168B (zh) 一种基于gcn的属性多层网络表示学习方法
CN113918833B (zh) 通过社交网络关系的图卷积协同过滤实现的产品推荐方法
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及***
CN113918834B (zh) 融合社交关系的图卷积协同过滤推荐方法
CN111310063B (zh) 基于神经网络的记忆感知门控因子分解机物品推荐方法
CN112989064B (zh) 一种聚合知识图神经网络和自适应注意力的推荐方法
Li et al. Deep probabilistic matrix factorization framework for online collaborative filtering
CN109389151B (zh) 一种基于半监督嵌入表示模型的知识图谱处理方法和装置
Liu et al. Social recommendation with learning personal and social latent factors
Wan et al. Deep matrix factorization for trust-aware recommendation in social networks
Hu et al. Bayesian personalized ranking based on multiple-layer neighborhoods
CN112417313A (zh) 一种基于知识图卷积网络的模型混合推荐方法
Xiao et al. Link prediction based on feature representation and fusion
CN110781405B (zh) 基于联合卷积矩阵分解的文档上下文感知推荐方法及***
Ballandies et al. Mobile link prediction: Automated creation and crowdsourced validation of knowledge graphs
CN113590976A (zh) 一种空间自适应图卷积网络的推荐方法
Mu et al. Auxiliary stacked denoising autoencoder based collaborative filtering recommendation
Hu et al. WSHE: User feedback-based weighted signed heterogeneous information network embedding
Huang et al. Multi-affect (ed): improving recommendation with similarity-enhanced user reliability and influence propagation
Deng et al. A Trust-aware Neural Collaborative Filtering for Elearning Recommendation.
CN114842247B (zh) 基于特征累加的图卷积网络半监督节点分类方法
Sangeetha et al. Predicting personalized recommendations using GNN
CN115344794A (zh) 一种基于知识图谱语义嵌入的旅游景点推荐方法
Chen et al. A recommender system fused with implicit social information through network representation learning

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240611

Address after: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui.

Patentee after: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: No.69 Hongguang Avenue, Banan District, Chongqing

Patentee before: Chongqing University of Technology

Country or region before: China