时间:
引言
社交推荐作为推荐系统中的一个重要任务,近年来受到学术界的广泛关注。其核心思想是利用用户间的社交联系提高推荐系统的性能。基于同质性假设和社交影响理论,拥有相似兴趣的用户往往表现出相似的行为模式和评价行为,同时用户的评价也受到其社交圈的影响。
早期的社交推荐方法主要依赖矩阵分解(Matrix Factorization, MF)技术。Ma 等提出 SoRec(Social Recommendation),分解用户 - 物品评分矩阵和用户 - 用户社交关系矩阵,获取潜在的用户表示和物品特征表示。随后,基于 MF 的变体方法不断涌现,这些方法利用用户的社交信息约束矩阵分解过程,得到更精准的用户嵌入和物品嵌入。Yang 等在 MF 的基础上,提出 TrustMF 和 TrustPMF,融入社交邻居的信任影响,将社交邻居的偏好作为辅助信息,从而提升推荐的准确性。Jamali 等和 Ma 等将用户的社交关系作为正则项,约束 MF 的目标,使用户的偏好更贴近其社交网络的偏好。然而,这些基于 MF 的推荐方法在处理复杂关系时表现相对较弱,可能影响推荐的准确性。
深度学习凭借强大的非线性特征学习能力,在推荐系统中逐渐受到广泛关注,通过学习用户和物品之间的交互关系以及社交关系,能准确捕获用户和物品的特征表示,提升社交推荐的性能。Wu 等提出 DiffNet(Influence Diffusion Neural Network),通过社交网络上的逐层信息传播过程,递归融合邻居信息,学习用户高阶邻居信息。Chen 等提出 EATNN(Efficient Adaptive Transfer Neural Network),利用神经网络模拟社交域和交互域之间的相互作用。Fan 等提出 DeepSoR(Deep Neural Network Model on Social Relations for Recommendation),利用深度神经网络学习社交关系中的非线性用户表示,并将其与概率矩阵分解(Probabilistic MF, PMF)结合。Zhao 等构建 SMR-MNRL(Multimodal Network Representation Learning for Social-Aware Movie Recommendation),结合电影的文本信息、电影海报图像、评分和社交关系等多种模态数据进行推荐。
近年来,图神经网络(Graph Neural Networks, GNN)因其在处理图数据方面的显著优势,在社交推荐任务中也取得巨大成功。Fan 等提出 GraphRec(GNN Framework for Social Recommendations)和 GraphRec+,利用社交图、用户 - 物品图和物品 - 物品图的信息,全面学习用户和物品的特征表示。Wu 等提出 DiffNet++,分析社交网络中的信息传播和用户兴趣的影响,预测用户行为。Yang 等提出 ConsisRec,通过区分一致的用户邻居解决社交不一致问题。Xü 等提出 SR-HGNN(Social Recommendation Framework with Hierarchical GNN),旨在准确表达用户的语义信息。Salamat 等提出 HeteroGraphRec,将物品纳入图中生成异构图,并使用注意机制进行推荐预测。Chen 等提出 GDSRec(Graph-Based Decentralized Collaborative Filtering for Social Recommendation),将评分的偏差视为向量,融入学习用户和物品表示的过程中。上述方法都可有效利用图数据,提升评分预测的性能。
尽管基于 GNN 的推荐方法取得一定效果,但对于社交关系较少的用户,推荐效果受到一定限制。现有的方法往往直接使用显性的社交关系进行建模,这可能会对推荐效果产生不利影响。尤其是在用户社交联系较少时,间接社交关系的利用显得尤为重要。即使用户之间无直接的社交联系,也可通过识别偏好相近的用户群体以提高推荐质量。为了解决这一问题,Li 等提出 MFC 和 MFC+,将社区关系融入矩阵分解方法中,发现隐式的社交关系。然而,在挖掘隐式的社交关系时,仅考虑社交信息而忽略用户的行为信息(如评分数据)可能导致无法有效提取隐式的社交关系。因此,在社交推荐中,综合考虑用户的社交信息和行为信息,有效挖掘和利用潜在的社交关系显得至关重要,这将有助于充分利用社交关系,提高推荐的准确性。
为了解决上述挑战,本文在 Xü 等工作的基础上,提出社交影响增强的图神经网络推荐方法(GNN Recommendation Based on Enhanced Social Influence, GNNES),利用用户与物品之间的评分数据,挖掘用户的隐式社交关系。利用互信息最大化方法,获得蕴含局部信息和全局信息的用户表示,提升用户在社交域的表征能力。此外,考虑到用户在交互过程中对不同物品存在偏好差异,尝试将可学习机制融入图注意力网络,捕捉用户对不同物品的偏好,学习用户和物品间不同的交互关系。为了挖掘对用户和物品交互及社交关系的上下文信息,构建改进的贝叶斯个性化排序(Bayesian Personalized Ranking, BPR)损失函数,为评分预测任务提供有效的用户特征表示和物品特征表示。
1 社交影响增强的图神经网络推荐方法
在社交推荐场景中,本文假设用户集 U={u₁, …, uᵢ, …, u_N},物品集 V={v₁, …, vⱼ, …, v_M}。将用户和物品的评分矩阵 R=(rᵢⱼ)(N×M) 视为用户和物品的交互图 Gᴿ={U, V, Eᵣ},其中,rᵢⱼ表示为用户 uᵢ对物品 vⱼ的评分,Eᵣ表示用户和物品之间的交互关系评分。用户社交图表示为 Gˢ,其邻接矩阵为 T。若用户 uⱼ、uᵢ之间存在关系 tᵢⱼ=1,否则 tᵢⱼ=0。基于上述定义,本文研究的目标是通过用户 - 物品交互图 Gᴿ和社交图 Gˢ,预测 Gᴿ中缺失的评分值。本文提出社交影响增强的图神经网络推荐方法(GNNES),整体架构如图 1 所示。首先,在重构社交关系图上,利用互信息最大化的图学习模块,融合用户在社交网络中的全局特征与局部特征。然后,设计可学习机制的图注意力网络模块,学习用户和物品的嵌入表示,考虑用户和物品之间的交互关系,为不同邻居学习差异性权重。在获得用户和物品的嵌入表示后,通过评分预测层,预测用户评分。
最后,设计一个改进的 BPR 损失函数,探索用户 - 物品交互信息,为评分预测任务提供有效的特征表示。1.1 社交图的重构分析用户对物品的评分数据,可深入了解用户之间的隐式关系。当两位用户对同一物品表现出相似的喜好时,表明用户之间存在潜在的社交关联。为了更准确地反映这种关系本文重构社交图 G°。在图 G中节点表示用户边表示用户间存在社交关系,边上的权重反映用户之间的相似性。本文在计算用户间的相似度时不仅考虑被用户 i、f 共同评价的物品 i,还利用用户 i 对所有物品的平均评分 r̄ᵢ,相似度计算公式如下:Sᵢբ=Σ(j∈I (i)∩I (f))(rᵢⱼ-r̄ᵢ)(rբⱼ-r̄բ)/√[Σ(j∈I (i)∩I (f))(rᵢⱼ-r̄ᵢ)²Σ(j∈I (i)∩I (f))(rⱼⱼ-r̄բ)²]其中,I (i) 表示与用户 i 交互的物品集,I (f) 表示与用户 f 交互的物品集。为了保持与邻接矩阵范围的一致,通过映射函数f (Sᵢբ)=0.5 (Sᵢբ+1)将用户相似度 Sᵢբ的范围从 - 映射到。通过上述方法得到相似度矩阵 S=(Sᵢբ)(N×N),可作为社交图 G的邻接矩阵反映用户间的亲疏关系。
1.2 基于互信息最大化的图学习
在重构的社交图中学习用户节点的特征表示时,不仅学习用户与其朋友的信息,还需关注全局社交关系的影响。为此,本文利用互信息最大化方法,保持用户局部特征与全局社交图特征的一致性。在实现过程中采用编码 e_(s,αᵢ)⁰∈{0,1}^N 表示用户 uᵢ初始的向量表示矩阵形式表示为
Eₛ⁰=(e_(s,uᵢ)⁰)(N×N)
进一步地,定义消息传播层,获得每个用户节点的嵌入表示 e(s,μᵢ),其矩阵形式表示为
Eₛ=σ(Dₛ^(-1/2) SDₛ^(-1/2) Eₛ⁰Wₛ)
其中,σ(・) 表示 PRelLU(Parametric Rectified Linear Unit)非线性激活函数,Wₛ∈R^(N×d) 表示可学习参数矩阵,d 表示嵌入维度,D 表示 s 的度矩阵,
Dₛ=diag (D₁₁,D₂₂,…,D_NN)
对角线上元素
Dᵢᵢ=Σ(j=1)^N Sᵢⱼ。
将用户的嵌入表示 e_(s,μᵢ) 视为局部表示。为了捕捉在重构社交图上的全局特征表示,进一步定义全局社交图的特征表示:
rₛ=sigmoid (Σ(i=1)^N e_(s,uᵢ) Dᵢᵢ / Σ(i=1)^N Σ(i=1)^N Sᵢⱼ)
采用双线性函数作为判别器 Δ(・),计算用户的局部表示属于全局图表示的概率分数,具体定义为
D (e_(s,uᵢ),rₛ)=e_(s,uᵢ)^T W₁ rₛ
其中 W₁∈R^(d×d) 表示可学习的变换矩阵。正样本是用户更新后的嵌入表示 e_(s,wᵢ),而负样本 e_(i,μᵢ)^n 是通过对初始用户向量表示 e_(s,μⱼ)⁰进行随机打乱而生成的。
通过最小化交叉熵损失优化判别器,能准确区分正、负样本用户局部 - 全局特征对,具体表示为
L_MI=-1/(N_pos+N_neg)[Σ(i=1)^N_pos ln⊘(e_(s,uᵢ),rₛ)+Σ(i=1)^N_neg ln [1-𝒟(e_(s,uᵢ)^n,rₛ)]]
其中,N_pos 表示正样本数量,N_neg 表示负样本数量。通过最小化损失函数 L_MI,在重构社交图中学习的用户嵌入表示 e_(s,uᵢ) 融入全局的社交信息提高用户对兴趣偏好的感知。
1.3 基于图注意力网络的嵌入学习
为了充分利用用户与物品间的交互信息(评价分数),本文将可学习机制融入图注意力网络中,根据用户和物品之间的关联程度,调整邻居节点特征的重要性捕获用户和物品的特征信息。用户 uᵢ对物品 vⱼ的评价是在 1,2,…,K 评分范围内进行的。以本文使用的数据集为例,评分范围为 1,2,…,5,涵盖 5 个等级,这些等级反映用户对物品的不同评价。基于这些评分等级将交互图 Gᴿ中物品节点 vⱼ细化分解,形成 K 个物品节点 vⱼ¹,vⱼ²,…,vⱼ^K,使用户和物品之间的多等级关系得以在图 G_Mᴿ={U,V',Eᵣ} 上呈现。在图 G_Mᴿ中用户集合 U 中的节点数为 N,而物品集 V * 中的节点数为 KM,整个图的总节点数为 N+KM。
在多等级交互图 G_Mᴿ中将用户 uᵢ的编码 e_(ωᵢ)∈{0,1}^N 及物品 vⱼ^k 的编码 e_(eⱼ^k)∈R^(K×M) 作为图卷积网络的输入。为了增强用户的表示,将从社交图中学习到的用户嵌入表示 e_(s,uᵢ) 与交互图用户的编码 e_uᵢ融合得到初始的用户嵌入向量表示:
e_uⱼ⁰=W₂・e_uᵢ ∥ W₃・e_(s,uᵢ)
其中,W₂∈R^(d_t/2×N),W₃∈R^(d_t/2×d) 表示可学习的参数矩阵,dᵣ表示嵌入维度,表示拼接操作。相应地将物品 e_sⱼ编码映射为初始的物品嵌入向量表示
e_vⱼ⁰=W₄・e_vⱼ
其中 W₄∈R^(dᵢ×KM) 表示可学习的参数矩阵。本文通过在用户和物品多等级的交互图上传播信息,更新用户和物品嵌入向量。
在连接的用户和物品之间进行消息的嵌入传播,包括消息构建和消息聚合两个主要操作过程。
在消息构建阶段针对用户 uᵢ定义消息构建函数:
m_nᵢ=Σ((j,k)∈Nᵢ) e_(iⱼ^k)⁰
类似地物品 vⱼ^k 的消息构建函数:
m_iⱼ=Σ(i∈N_j,k) e_uᵢ⁰
其中,Nᵢ表示与用户 uᵢ连接的物品集合,N_j,k 表示与物品 vⱼ^k 连接的用户集合。这两个函数分别捕捉与用户连接的物品集合和与物品连接的用户集合的信息,并融入邻居信息。
在消息聚合阶段,为了关注和学习不同邻居节点间的重要性差异,将可学习机制融入图注意力网络中,设计一个多层感知机网络,自适应学习注意分数,更精确地提取重要的邻居特征。具体物品注意分数:
a_vⱼ^k=softmax (W_v⁽³⁾・ReLU (W_v⁽²⁾・ReLU (W_v⁽¹⁾・e_vⱼ^k⁰ + b_v⁽¹⁾) + bₛ⁽²⁾) + bₛ⁽³⁾)
其中:Wᵣ⁽¹⁾∈R^(dᵢ×dᵢ),W_v⁽²⁾∈R^(dᵢ×dᵢ),Wₛ⁽³⁾∈R^(1×d_t) 表示参数矩阵;b_v⁽¹⁾,b_v⁽²⁾,b_v⁽³⁾表示偏置。进一步定义用户 uᵢ的消息聚合函数经过第个传播层后获得的用户 u₂嵌入表示:
e_uᵢ⁽¹⁾=σ(m_(uᵢ-uᵢ) + Σ((j,k)∈Nᵢ) a_vⱼ m_uᵢ)
其中 σ(・) 为激活函数。考虑用户 uᵢ的自连接 m_(wᵢ+wᵢ)=e_wᵢ⁰保留用户节点原始的特征信息。
类似地,物品节点的信息聚合过程表示为
e_iⱼ⁽¹⁾=σ(m_vⱼ^b←vⱼ^b + Σ(i∈N_j,k) a_uᵢ m_iⱼ)
其中 m_vⱼ^b←vⱼ^b=e_vⱼ^k⁰^k 表示物品的自连接。用户注意分数 a_uᵢ也是通过多层感知机网络计算得到的即
a_uᵢ=softmax (W_u⁽³⁾・ReLU (W_u⁽²⁾・ReLU (W_u⁽¹⁾・e_uᵢ⁰ + b_u⁽¹⁾) + b_u⁽²⁾) + b_u⁽³⁾)
其中:W_α⁽¹⁾∈R^(dᵢ×dᵢ),W_u⁽²⁾∈R^(d₁×d₁),W_u⁽³⁾∈R^(1×d_t) 表示参数矩阵;b_u⁽¹⁾、b_u⁽²⁾、b⁽³⁾表示偏置。这样的设计使模型既捕捉到邻居重要信息的传递,又能保留节点自身的特征。
基于定义的消息聚合函数,得到物品节点的嵌入表示和用户节点的嵌入表示。为了学习高阶的语义信息,堆叠 L 个消息传播层,用户或物品能逐步获取从邻居节点传播的高阶消息。这一过程表示为:
e_uᵢ⁽ˡ⁺¹⁾=σ(m_uᵢ←uᵢ⁽ˡ⁾ + Σ((j,h)∈Nᵢ) a_vⱼ⁽ˡ⁾ m_uᵢ⁽ˡ⁾)
e_iⱼ⁽ˡ⁺¹⁾=σ(m_vⱼ^k - vⱼ^k⁽ˡ⁾ + Σ(i∈N_j,k) a_uᵢ⁽ˡ⁾ m_iⱼ⁽ˡ⁾)
其中 l=0,1,…,L-1。通过多层的消息传播模型能捕捉到更丰富的节点间关系,提升推荐的准确性。融合 L 个消息传播层的输出生成用户 II 和物品 vⱼ^k 嵌入表示:
E_uᵢ=(e_uᵢ⁽¹⁾∥e_uᵢ⁽²⁾∥…∥e_uᵢ⁽ᴸ⁾)
E_vⱼ^k=(e_vⱼ^⁽¹⁾⁽¹⁾∥e_vⱼ^k⁽²⁾∥…∥e_vⱼ^k⁽ᴸ⁾)
最后将不同评分等级的物品特征表示 E_vⱼ¹,E_sⱼ²,…,E_sⱼ^K 采用平均操作,得到最终的物品特征表示 E_vⱼ。
1.4 评分预测层
在评分预测层中,将学习到的用户潜在表示 E_uᵢ和物品潜在表示 E_vⱼ合并到两层全连接网络中,用于预测评分 rᵢⱼ',具体形式为:
E_uᵢ,vⱼ=E_uᵢ∥E_sⱼ
rᵢⱼ'=ReLU (W_p²ReLU (W_p¹E_uᵢ,yⱼ + b_p¹) + b_p²)
其中:W_p¹∈R^(dᵢ×2dᵢ),W_p²∈R^(1×d_t) 表示可学习的参数矩阵;b_p¹、b_p² 表示偏置项。
1.5 联合损失函数
在图卷积网络中,为了更准确捕获用户偏好和物品属性,提出一种改进的 BPR 损失函数,旨在优化用户特征表示 E_uⱼ和物品特征表示 E_eⱼ。
在用户和物品的交互中抽取用户 uᵢ非交互物品作为负样本 vⱼ^k⁻,利用双线性函数计算正样本特征表示 E_sⱼ^(*)+ 和负样本特征表示 E_eⱼ^k⁻之间的差异,交互损失函数为:
sᵢ,ⱼ^k=1/τ(E_uᵢW₁ˢE_sⱼ^T - max (E_uᵢW₁ˢE_vⱼ^T))
Lᵢ=-1/φ(Aᵢ)Σ((i,j,k⁺)∈Oᵢ) ln (exp (sᵢ,ⱼ^k⁺)-exp (sᵢ,ⱼ^k⁻))
其中,sᵢ,ⱼ^k⁺表示用户对正样本物品的偏好分数,sᵢ,ⱼ^k⁻表示用户对负样本物品的偏好分数,φ(Aᵢ) 表示用户和物品交互的邻接矩阵中非零元素的数量,W₁ˢ∈R^(dᵢ×dⱼ) 表示可学习的权重矩阵,τ 表示缩放的超参数,max (・) 表示向量中最大的元素,避免极端值对分数的影响。
在社交关系方面,定义社交损失函数,该函数对比用户在社交关系与非社交关系中的特征差异,优化用户的特征表示。具体地,从不存在社交关系的用户中抽取负样本 uᵢ₋,利用双线性函数计算正负样本对分数,具体表示为:
sᵢ,i'=1/τ(E_uᵢW₂ˢE_uᵢ'^T - max (E_uᵢW₂ˢE_uᵢ'^T))
Lₛ=-1/φ(S)Σ((i,i⁺)∈Oₛ) ln (exp (sᵢ,i⁺)-exp (sᵢ,i⁻))
其中,sᵢ,i⁺表示用户的正样本对计算分数,sᵢ,i⁻表示用户的负样本对计算分数,φ(S) 表示社交图的邻接矩阵中非零元素的数量,W₂ˢ∈R^(dᵢ×dᵢ) 表示可学习的权重矩阵。
此外,为了将预测评分与真实评分之间的差异最小化,在评分预测层采用均方误差作为损失函数,该损失数学表达式为:
L_R=1/2Σ(i=1)^NΣ(j=1)^M Iᵢⱼ(rᵢⱼ - rᵢⱼ')²
其中,Iᵢⱼ(・) 为指示函数,当用户和物品之间有交互时,Iᵢⱼ=1,否则 Iᵢⱼ=0。
本文结合改进的 BPR 损失和评分预测层的损失,构建一个联合损失函数:
L=L_R+λ₁Lᵢ+λ₂Lₛ
用于平衡不同损失的权重,其中 λ₁>0,λ₂>0,均为超参数。
2 实验及结果分析
2.1 实验数据集
本文选择 Ciao、Epinions、Douban 这 3 个真实的社交推荐数据集,用于评估方法性能。Ciao 数据集的数据来自英国的一个消费者评论网站。Epinions 数据集是一个基于社交的产品评论平台的公开数据集。Douban 数据集收集于中国豆瓣社交平台。用户可为物品进行打分(分数范围为 {1,2,…,5}),也可与他人建立社交关系,将不同的评分分数视为不同的交互类型。在每个数据集上,本文按照文献中相同的数据百分比的设置,将数据分为训练集、验证集、测试集,分别占总数据 x%,0.5 (1-x%),0.5 (1-x%)。在实验中,本文将 x 设置为 60 和 80。
2.2 实验设置及对比方法
本文在 pytorch 框架下进行实验,采用 Adam(Adaptive Moment Estimation)优化器,学习率设为 0.001。在社交表示学习过程中,从 {250,500,1000,1500} 中搜索社交关系编码器的最佳嵌入维度。同时,针对用户和物品交互图,图关注网络模块的维度在 {8,16,32,64} 内进行调整。在 Ciao 数据集上设置超参数 λ₁=0.25,λ₂=0.15;在 Epinions 数据集上设置 λ₁=0.1,λ₂=0.15;在 Douban 数据集上设置 λ₁=λ₂=0.05。
在实验过程中,为了提升训练效率,采用提前停止策略,如果验证集上的均方根误差(Root Mean Square Error, RMSE)连续 5 个迭代周期未下降,停止训练模型。
所有实验均在配备 GeForce GTX 1080Ti 显卡的工作站上进行。
本文选择均方根误差和平均绝对误差(Mean Absolute Error, MAE)作为评估预测精度的指标。RMSE 和 MAE 值越小,表示预测精度越高。尽管这些指标的相对改进幅度较小,但之前的研究表明,即使是小幅度的 RMSE 或 MAE 的改进也可能对推荐系统的整体性能产生显著影响。
2.3 对比实验结果
本文选择如下方法作为对比方法:SoRec、TrustMF、SocialMF、文献 [11] 方法、PMF、GraphRec+、DiffNet++、ConsisRec、SRHGNN、HeteroGraphRec、GDSRec、Sim⁃GraphRec(SGR)、SR⁃AIR(Attentive Implicit Relation Embedding for Social Recommendation)。
在 Ciao、Epinions 和 Douban 数据集上,采用 RMSE 和 MAE 作为性能评价指标,进行对比实验。在训练集占比分别为 80% 和 60% 时。在 2 种训练集占比下,GNNES 在 3 个数据集上的 RMSE 和 MAE 值都为最优,由此验证 GNNES 的有效性。相比传统社交推荐方法,GNNES 充分考虑图结构信息,采用图神经网络编码用户和物品的节点表示,使 GNNES 在建模过程中能更全面地利用社交关系,捕获更丰富的社交信息。
相比 SR⁃HGNN,GNNES 在建模过程中进一步探索潜在的社交关系,从而捕获更好的社交信息,使 GNNES 在推荐性能上更具优势。相比其它基线方法,GNNES 将社交信息整合到图神经网络中。相比消息传递方法(如 ConsisRec、HeteroGraphRec、GraphRec++、DiffNet++、SGR、SR⁃AIR),GNNES 在用户的嵌入学习中,学习用户之间的隐式社交关系和全局信息,能较全面地理解用户间的联系和影响。
2.4 消融实验结果
为了研究 GNNES 中不同模块的作用,在 Ciao、Epinions、Douban 数据集上进行一系列的消融实验,验证模块的有效性。
首先,评估互信息最大化在捕获局部 - 全局用户嵌入表示上的有效性,使用两种具有代表性的图神经网络架构替换本文的社交关系编码器:图卷积网络(Graph Convolutional Network, GCN)和图注意力网络(Graph Attention Network, GAT),分别简记为 GNNES⁃GCN 和 GNNES⁃GAT。
虽然 GCN 和 GAT 在融合用户之间的信息方面均取得较优结果,但 GNNES 通过最大化用户依赖的局部表示和全局表示之间的互信息,进一步提升推荐性能。
此外,本文分别验证重构社交关系的影响和改进的 BPR 损失(L 和 Lᵢ)的有效性,一方面对比原始的用户关系 GNNES⁃OR 和重构后的社交关系 GNNES 的性能。重构的社交关系有助于提升推荐性能,隐式的用户关系可有效捕捉不同的用户偏好,从而有利于学习嵌入表示。
另一方面,为了验证改进的 BPR 损失对用户和物品嵌入学习过程的影响,生成两个变体方法:1) GNNES⁃REC,未使用本文设计的 BPR 损失;2) GNNES⁃BPR,采用传统的 BPR 损失。本文设计的改进 BPR 损失具有较明显的优势。相比 GNNES⁃BPR,GNNES 在推荐性能方面具有明显提升。这一结果证实本文改进 BPR 损失的有效性。
2.5 超参数讨论
首先讨论社交关系用户的嵌入维度 d。在学习用户的局部 - 全局嵌入表示中,经验性地考虑嵌入维度 d=250,500,1000,1500,则 d 对性能的影响。较大维度的数值并不一定具有更优性能,因为可能存在过拟合问题。因此,在 Ciao、Epinions 和 Douban 数据集上,维度大小分别设置为 500、250 和 1000。
再讨论交互图中嵌入维度 dᵗ。在用户 - 物品交互图的图注意力网络中讨论不同嵌入维度的影响。考虑嵌入维度 dᵗ=8,16,32,64,则 d₂对性能的影响。在 Ciao、Epinions 数据集上,当 dᵗ=16 时预测精度均最高,而在 Douban 数据集上,dₛ=32 时预测精度最佳。因此在最终的实验设置中,在 Ciao、Epinions 数据集上,经验性设置 dᵗ=16,在 Douban 数据集上经验性设置 dᵗ=32。
然后,讨论图注意力网络的层数。增加基于注意力机制的图神经网络的传播层数可提高推荐效果。在层数的选取中,设计 2 层、3 层、4 层,则层数对 GNNES 性能的影响。具有 3 个嵌入传播层的方法获得最优性能。然而,随着层数的增加,性能略有下降,可能因为深度图神经网络会出现过拟合现象。最后讨论改进损失中的参数 τ。
3 结束语
本文提出社交影响增强的图神经网络推荐方法(GNNES),挖掘用户间隐式的社交关系,进一步提升推荐性能。具体而言,利用用户和物品之间的评分信息重构用户社交图,采用互信息最大化方法有效提取用户的社交特征。GNNES 中包含全局社交图信息和用户局部信息,可全面反映用户的社交属性。同时,设计基于可学习机制的图注意力网络模块,自适应调整不同邻居的权重,准确捕获重要邻居的信息。最后,通过联合损失为评分预测任务提供准确的用户特征表示和物品特征表示。在评分预测任务中,将物品的历史信息融入推荐系统框架中,有助于推荐系统学习到更丰富的物品语义信息。因此,如何有效地将用户信息和物品信息整合到推荐系统中,是今后一个值得研究的课题。
代星月;叶海良;曹飞龙,中国计量大学,202403