开放科学(资源服务)标志码(OSID):
随着互联网技术的发展及社交媒体的普及,网络社交逐渐成为人们拓展社交关系的重要途径。传统社交推荐算法通过矩阵分解[1-3]获得用户特征和项目特征表示,在一定程度上解决了数据稀疏问题,但通过矩阵分解方式获得的用户和项目特征的表示准确度较低。为解决这一问题,学者们将用户间的社交关系对用户和项目的影响加入推荐算法[4-5],之后还将地理位置[6]、群组信息[7]、连接关系[8]等其他附加信息与社交关系相融合,然而随着信息产业的发展,互联网上的个人隐私保护[9-10]受到了广泛关注,可获取的用户和项目的显式信息非常有限,因此挖掘用户和项目的潜在关联关系具有重要意义[11-13]。
为准确描述用户和项目特征,并进一步说明某一用户对其他用户和评分项目的影响力传播过程,马帅等[14-15]使用图神经网络来增强社交推荐,何昊晨等[16-18]利用节点表示用户和项目特征,通过图结构对影响力扩散过程进行建模,更好地模拟现实生活中用户复杂的社交关系。然而,多数社交推荐算法将社交关系看作是静态的。WU等[19]提出DiffNet模型,将用户之间的社交信任关系在图结构中进行迭代计算,最终形成用户之间的动态影响力进行传播。另外,多数算法将社交影响力假设为恒定权重,为缓解这一问题使算法更贴合现实情况,张浩博等[20-21]将注意力机制融入算法,WU等[22-23]在社交关系动态建模的基础上加入注意力机制,对用户特定的注意力权重进行分配计算。
上述社交推荐算法在一定程度上捕获了社交影响力的传播特征,加强了对用户和项目特征的学习,提升了算法预测精度,但用户和项目缺乏对高阶相关特征的学习,并且只是简单地将图结构中与当前节点存在关联的所有邻居节点进行聚合,未区分节点和边的类型,同时仅对用户间的社交影响力进行分析,忽略了项目间的相互影响,其中注意力机制在一定程度上提升了算法预测精度,但对邻居节点的权重分配可解释性较差。为充分挖掘存在高阶相关性特征的用户或项目间的关系,增强推荐模型的可解释性,本文将用户和项目的初始特征与潜在特征进行融合,利用融合后的特征进行影响力迭代获得更新后的特征,最终将用户和项目特征聚合进行评分预测。
1 相关工作 1.1 传统评分预测模型传统评分预测模型将评分矩阵进行矩阵分解,得到用户和项目的低维潜在特征,对应的用户和项目特征进行内积运算,获得预测评分,如式(1)所示:
{\widehat{r}}_{ai}={\mathit{\boldsymbol{{v}}}}_{i}^{\mathrm{T}}{\mathit{\boldsymbol{{u}}}}_{a} | (1) |
其中:
SVD++在此基础上将每个用户交互过的项目特征作为辅助信息融入用户特征,如式(2)所示:
{\widehat{r}}_{ai}={\mathit{\boldsymbol{{v}}}}_{i}^{\mathrm{T}}\left({\mathit{\boldsymbol{{u}}}}_{a}+\frac{1}{{R}_{a}}\sum\limits_{j\in {R}_{a}}{\mathit{\boldsymbol{{y}}}}_{j}\right) | (2) |
其中:
DiffNet模型[19]将用户-项目对作为输入,预测用户是否对该项目感兴趣,主要分为嵌入层、融合层、影响力扩散层和预测层四部分。
1)嵌入层使用
2)融合层将嵌入层的用户特征矩阵与提取的用户初始特征矩阵
{\mathit{\boldsymbol{{h}}}}_{a}^{0}=g({\mathit{\boldsymbol{{W}}}}^{0}\times \left[{\mathit{\boldsymbol{{x}}}}_{a}, {\mathit{\boldsymbol{{p}}}}_{a}\right]) | (3) |
其中:
同理,提取的项目初始特征矩阵为
{\mathit{\boldsymbol{{v}}}}_{i}=\sigma (\mathit{\boldsymbol{{F}}}\times \left[{\mathit{\boldsymbol{{q}}}}_{i}, {\mathit{\boldsymbol{{y}}}}_{i}\right]) | (4) |
其中:
3)影响力扩散层模拟用户社交影响力的动态传播过程,将融合后的用户特征
{\mathit{\boldsymbol{{h}}}}_{a}^{k+1}={s}^{(k+1)}({\mathit{\boldsymbol{{W}}}}^{k}\times \left[{\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{k+1}, {\mathit{\boldsymbol{{h}}}}_{a}^{k}\right]) | (5) |
{\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{k+1}=\mathrm{P}\mathrm{o}\mathrm{o}\mathrm{l}\left({\mathit{\boldsymbol{{h}}}}_{b}^{k}\left|b\in {S}_{a}\right.\right) | (6) |
其中:
4)预测层用户a的最终特征由影响力扩散层迭代k次得到的用户特征
{\mathit{\boldsymbol{{u}}}}_{a}={\mathit{\boldsymbol{{h}}}}_{a}^{k}+\sum\limits_{i\in {R}_{a}}\frac{{\mathit{\boldsymbol{{v}}}}_{i}}{\left|{R}_{a}\right|} | (7) |
在图神经网络中,多数算法不区分节点类型,例如,假设用户a、b交互过项目i,那么存在a↔i↔b相互联系,当用户a对用户b进行影响力传递时,会先通过项目i影响用户a的特征,再由用户b影响项目i的特征,最终用户a的影响力传递到用户b,如式(8)、式(9)所示:
{\mathit{\boldsymbol{{v}}}}_{i}=\delta ({\mathit{\boldsymbol{{u}}}}_{a}, \forall a\in {R}_{i}) | (8) |
{\mathit{\boldsymbol{{u}}}}_{a}=\delta ({\mathit{\boldsymbol{{v}}}}_{i}, \forall i\in {R}_{a}) | (9) |
其中:
HIN模型[24]提出将同类型节点进行聚合的思想。假设以用户为起点,找到a↔i↔b这条通路,保留同类型节点即保留用户节点而忽略项目节点,那么存在a↔b相互联系,用户间和项目间影响力传播的过程如式(10)、式(11)所示:
{\mathit{\boldsymbol{{u}}}}_{a}=\delta ({\mathit{\boldsymbol{{u}}}}_{b}, \forall b\in {R}_{i}) | (10) |
{\mathit{\boldsymbol{{v}}}}_{i}=\delta ({\mathit{\boldsymbol{{v}}}}_{j}, \forall j\in {R}_{a}) | (11) |
不同于异构影响力传播方式,本文将节点类型和边类型进行分类,见图 1,节点类型包含用户和项目两类。从聚合同类型节点特征的角度估计节点间的影响力,因此在仅考虑用户集合时,图结构中包含3种用户间关系,如图 1(a)~图 1(c)所示,其中关系1为显式信任关系,关系2和关系3为隐式信任关系。在仅考虑项目集合时,图结构存在如图 1(d)所示的项目关联关系4。隐式关系可以缓解显式信息稀疏导致推荐性能不佳的问题,因此边类型分为直接好友、基于用户的潜在好友、基于项目的潜在好友和关联项目4类。
![]() |
Download:
|
图 1 边的分类 Fig. 1 Classification of edges |
直接好友通过用户-用户社交图直接获得,基于项目的潜在好友根据用户-项目评分图获得,对相同的项目感兴趣的两个用户有相似的偏好,可能成为好友,因此笔者认为交互过同一个项目的用户即为潜在好友。基于用户的潜在好友可以通俗地理解为“朋友的朋友是朋友”,但并不是所有“朋友的朋友”都可称为用户的潜在好友。
以图 2为例,用户的社交关系非常复杂,“朋友的朋友”可能是用户自身,也可能是他的直接好友,如用户a与b、c的关系,因此在基于用户的潜在好友中,首先将用户a的直接好友与其自身排除。用户与“朋友的朋友”关系强度也不同,如用户a与e有一个共同好友b,用户a与g有两个共同好友c和d,那么用户g比用户e更可能是a的潜在好友,a对g的影响可能更大。在影响力传播时,笔者认为邻居好友对用户的影响是相同的且和为1,那么用户e受到a的影响程度实际比用户g要大,与实际情况不符。针对该情况,假设用户与“朋友的朋友”的共同好友数大于等于t时,认为其是基于用户的潜在好友。实验结果证明,当t=2时效果最佳。在实验中,t的初始值为1,通过不断增大t值来观察其对实验结果的影响。当t < 2时,用户与“朋友的朋友”的潜在信任关系数较多,如两个用户的共同好友仅为中介服务人员、老师、医生等社交圈复杂的用户时,容易存在较大偶然性,不足以区分是否为真正偏好相似的潜在好友关系。当t逐渐增大时,由于数据集中的显式数据稀疏,符合条件的基于用户的潜在好友越来越少,推荐性能降低。
![]() |
Download:
|
图 2 基于用户的潜在好友 Fig. 2 Potential friends based on users |
在用户特征聚合时,通过直接好友、用户的潜在好友和项目的潜在好友这3条路径均使用平均池化操作进行特征聚合,如式(12)~式(14)所示:
{\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{{k}_{s}+1}=\mathrm{A}\mathrm{G}\mathrm{G}\left({\mathit{\boldsymbol{{h}}}}_{b}^{{k}_{s}}\left|b\in {S}_{a}\right.\right) | (12) |
{\mathit{\boldsymbol{{h}}}}_{{F}_{a}}^{{k}_{f}+1}=\mathrm{A}\mathrm{G}\mathrm{G}\left({\mathit{\boldsymbol{{h}}}}_{b}^{{k}_{f}}\left|b\in {F}_{a}\right.\right) | (13) |
{\mathit{\boldsymbol{{h}}}}_{{U}_{a}}^{{k}_{u}+1}=\mathrm{A}\mathrm{G}\mathrm{G}\left({\mathit{\boldsymbol{{h}}}}_{b}^{{k}_{u}}\left|b\in {U}_{a}\right.\right) | (14) |
其中:
传统社交推荐算法在挖掘用户潜在好友时,通常基于协同过滤方法并以用户为关注重点,将项目看作用户建立关系时的辅助信息,认为交互过同一个项目的用户即为潜在好友。然而,项目不是一个独立不变的个体,受到用户的影响,项目之间也是相互联系相互影响的。两个关联性不强的项目通常通过用户的交互行为产生关联。为挖掘项目间的隐式关系提升推荐精度,本文提出以下假设:在评分图中以项目为中心,同一个用户交互过的项目也被认为存在关联,称为项目关联,如图 1中关系4所示,存在关联的项目可能相互影响,使各自的特征发生改变。使用
{\mathit{\boldsymbol{{v}}}}_{i}^{{k}_{i}+1}=\mathrm{A}\mathrm{G}\mathrm{G}\left({\mathit{\boldsymbol{{v}}}}_{j}^{{k}_{i}}\left|j\in {L}_{i}\right.\right) | (15) |
社交影响力在社交网络中不断传播扩散,潜在特征受好友、潜在好友和交互项目的影响不断变化。为了更好地捕捉高阶相关特征,使用动态影响力传播模型模拟该过程对潜在特征造成的影响。假设
1)使用式(3)的融合方式,将用户潜在特征与用户初始特征
{\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{0}=g\left({\mathit{\boldsymbol{{W}}}}_{s}^{0}\times \left[{\mathit{\boldsymbol{{x}}}}_{a}, {\mathit{\boldsymbol{{p}}}}_{{S}_{a}}\right]\right) | (16) |
{\mathit{\boldsymbol{{h}}}}_{{F}_{a}}^{0}=g\left({\mathit{\boldsymbol{{W}}}}_{f}^{0}\times \left[{\mathit{\boldsymbol{{x}}}}_{a}, {\mathit{\boldsymbol{{p}}}}_{{F}_{a}}\right]\right) | (17) |
{\mathit{\boldsymbol{{h}}}}_{{U}_{a}}^{0}=g\left({\mathit{\boldsymbol{{W}}}}_{u}^{0}\times \left[{\mathit{\boldsymbol{{x}}}}_{a}, {\mathit{\boldsymbol{{p}}}}_{{U}_{a}}\right]\right) | (18) |
{\mathit{\boldsymbol{{v}}}}_{i}^{0}=\sigma \left({\mathit{\boldsymbol{{F}}}}^{0}\times \left[{\mathit{\boldsymbol{{q}}}}_{i}, {\mathit{\boldsymbol{{y}}}}_{i}\right]\right) | (19) |
2)用户与直接好友、基于用户的潜在好友、基于项目的潜在好友和项目之间的影响在影响力扩散层进行传播并更新用户与项目特征,如式(20)~式(23)所示:
{\mathit{\boldsymbol{{h}}}}_{{a}_{s}}^{{k}_{s}+1}={s}^{({k}_{s}+1)}\left({\mathit{\boldsymbol{{W}}}}_{s}^{{k}_{s}}\times \left[{\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{{k}_{s}+1}, {\mathit{\boldsymbol{{h}}}}_{{S}_{a}}^{{k}_{s}}\right]\right) | (20) |
{\mathit{\boldsymbol{{h}}}}_{{a}_{f}}^{{k}_{f}+1}={f}^{({k}_{f}+1)}\left({\mathit{\boldsymbol{{W}}}}_{f}^{{k}_{f}}\times \left[{\mathit{\boldsymbol{{h}}}}_{{F}_{a}}^{{k}_{f}+1}, {\mathit{\boldsymbol{{h}}}}_{{F}_{a}}^{{k}_{f}}\right]\right) | (21) |
{\mathit{\boldsymbol{{h}}}}_{{a}_{u}}^{{k}_{u}+1}={u}^{({k}_{u}+1)}\left({\mathit{\boldsymbol{{W}}}}_{u}^{{k}_{u}}\times \left[{\mathit{\boldsymbol{{h}}}}_{{U}_{a}}^{{k}_{u}+1}, {\mathit{\boldsymbol{{h}}}}_{{U}_{a}}^{{k}_{u}}\right]\right) | (22) |
{\mathit{\boldsymbol{{v}}}}_{i}^{{k}_{i}+1}={i}^{({k}_{i}+1)}\left({\mathit{\boldsymbol{{F}}}}^{{k}_{i}}\times \left[{\mathit{\boldsymbol{{v}}}}_{i}^{{k}_{i}+1}, {\mathit{\boldsymbol{{v}}}}_{i}^{{k}_{i}}\right]\right) | (23) |
其中:函数
3)用户a和项目i的最终特征如式(24)所示:
{\mathit{\boldsymbol{{u}}}}_{a}={\mathit{\boldsymbol{{h}}}}_{{a}_{s}}^{{k}_{s}}+\alpha {\mathit{\boldsymbol{{h}}}}_{{a}_{f}}^{{k}_{f}}+{\mathit{\boldsymbol{{h}}}}_{{a}_{u}}^{{k}_{u}}+\sum\limits_{i\in {R}_{a}}\frac{{\mathit{\boldsymbol{{v}}}}_{i}^{{k}_{i}}}{\left|{R}_{a}\right|} | (24) |
其中:
4)使用基于成对排序损失函数进行模型训练,如式(25)所示:
\underset{{\mathit{\pmb{\Theta}}}}{\mathrm{m}\mathrm{i}\mathrm{n}}\ L(\mathit{\boldsymbol{{R}}}, \widehat{\mathit{\boldsymbol{{R}}}})=\sum\limits_{a=1}^{M}\sum\limits_{(i, j)\in {Z}_{a}}\sigma ({\widehat{r}}_{ai}-{\widehat{r}}_{aj})+\lambda {‖{\mathit{\pmb{\Theta}}}‖}^{2} | (25) |
其中:L表示损失函数;R为原数据集的评分矩阵;
本文异构信任推荐算法(GraphTrust)的整体框架如图 3所示。首先将用户和项目的初始特征与潜在特征进行融合,然后将融合后的特征通过不同的影响力迭代获得更新后的特征,最后将用户和项目特征进行内积预测用户是否对项目感兴趣。
![]() |
Download:
|
图 3 GraphTrust算法整体框架 Fig. 3 Overall frame of GraphTrust algorithm |
算法1 GraphTrust算法
输入 融合后的用户特征
输出 用户的Top-K推荐
1)通过式(20)~式(23)对用户和项目特征进行更新:
(1)根据式(20)对用户与直接好友的影响力进行传播并更新用户特征;
(2)根据式(21)对基于用户的潜在好友的影响力进行传播并更新用户特征;
(3)根据式(22)对基于项目的潜在好友的影响力进行传播并更新用户特征;
(4)根据式(23)对项目之间的影响力进行传播并更新项目特征。
2)生成最终用户特征和项目特征:
(1)根据更新后的用户特征和用户的历史交互项目特征作为辅助信息生成最终用户特征;
(2)融合后的项目特征作为最终项目特征。
3)将最终用户特征和最终项目特征做内积运算,预测用户对项目的评分。
3 实验设计与结果分析 3.1 数据集选取选取Yelp和Flickr两个公开数据集[18]来评估GraphTrust算法。Yelp是一个在线点评网站数据集,在网站中用户可以给商家打分、发表评论、与朋友交流互动等,用户根据自己的体验在0~5分内给出评分。Flickr是一个社交分享平台数据集,用户在平台上分享照片,其他好友通过点赞的形式表示自己的喜好。Yelp和Flickr两个数据集过滤了低于2分评分的记录和低于2个社交好友的用户,以及用户交互次数低于2的项目,处理后的数据集统计信息如表 1所示。数据集随机选取每个用户5%的评分记录作为测试集,10%的评分记录作为验证集,其余数据作为训练集。
![]() |
下载CSV 表 1 数据集统计信息 Table 1 Dataset statistics |
选取Top-K推荐中常用的两个评价指标:命中率(Hits Ratio,HR)和归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG)。两个指标的值越大,算法性能越好。由于数据集中用户未交互的项目较多,为了提高效率,每次为用户随机选取1 000个未交互项目进行评价,并将这些项目与用户排名过程中喜欢的项目结合,重复10次该过程,取平均排名结果。
3.3 对比实验分析为验证GraphTrust算法的有效性,选取如下算法作为对比:基于矩阵表示社交信息的SocialMF[4]和TrustSVD[5]算法,基于图神经网络的NGCF[17]和GraphRec[18]社交推荐算法,社交影响力动态扩散建模的DiffNet[19]和DiffNet++[23]算法。GraphTrust-F表示在GraphTrust算法中仅保留图 1中的关系1和关系2,GraphTrust-FU表示在GraphTrust算法中仅保留图 1中的关系1、关系2和关系3,GraphTrust-I表示在GraphTrust算法中仅保留图 1中的关系1和关系4。
使用TensorFlow进行实验,设置潜在特征维度D为16、32和64,根据文献[4-5, 17-19, 23]中推荐的参数加以调试选取最优参数,在初始化潜在特征时选取较小的随机值,正则化参数为0.001,学习率为0.001。Batch-size大小设置为512,使用Adam优化器对模型进行优化。表 2为算法在不同潜在特征维度参数下HR@10和NDCG@10的结果,其中最优指标值用加粗字体标示。
![]() |
下载CSV 表 2 社交推荐算法在不同潜在特征维度下的HR@10和NDCG@10结果 Table 2 Results of HR@10 and NDCG@10 of social recommendation algorithms under different potential feature dimensions |
由表 2可以看出,GraphTrust推荐精度高于对比算法,当特征维度D=16、D=32和D=64时,在Yelp数据集上,HR比最优对比算法分别提升了7.7%、9.1%和13.2%,NDCG分别提升了10.8%、15.7%和20.4%,在Flickr数据集中,HR比最优对比算法分别提升了19.5%、19.8%和22.2%,NDCG分别提升了20.3%、24.8%和25.5%。随着数据集评分和社交密度的增大,算法整体性能进一步提升,验证了GraphTrust的有效性。基于图神经网络的GraphRec和NGCF社交推荐算法在HR和NDCG上多数优于基于矩阵表示社交信息的SocialMF和TrustSVD算法,这说明图神经网络可以根据特定的数据和场景,将图设定为同构图或异构图、静态图或动态图,利于学习复杂的社交关系和高阶相关特征来提升推荐精度。每个节点不仅受到显式关系所表示的一阶节点的影响,还受到高阶结构的影响,因此考虑社交影响力动态扩散的DiffNet和DiffNet++能更好地模拟现实生活中的影响力流动,使推荐结果更优。GraphTrust在动态建模基础上,将图神经网络中的节点和边进行分类,通过不同类型的边在不同节点间进行影响力传播扩散,捕捉隐藏在高阶网络结构中的影响力扩散特征,使得用户和项目的潜在特征随着影响力传播过程最终达到平衡状态。实验结果表明,GraphTrust算法性能优于最优对比算法。异构网络中不同类型的节点和边通常带有不同的语义信息,对用户偏好的影响也不同,本文通过区分节点和边类型的重要程度并分别考虑不同节点和边类型的影响,得到最终预测评分,使得推荐过程具有较好的可解释性。
3.4 消融实验分析用户间的影响力可以缓解社交影响力在高阶传播时被分散导致影响力不足的问题。通过增加基于用户的潜在好友来调整高阶传播时边的权重,由图 4可以看出,相比于每次传播使用相同权重的DiffNet,GraphTrust-F能更好地捕捉高阶传播时的社交影响力,赋予新的权重分配弥补影响力传播不足的问题,使得推荐效果有所提升。但是,GraphTrust-F仅通过一种潜在好友关系对用户节点进行特征学习,相对于更新用户和节点特征的DiffNet++仍有一定差距。
![]() |
Download:
|
图 4 Yelp数据集上DiffNet与GraphTrust-F的NDCG@10结果对比 Fig. 4 Comparison of NDCG@10 results between DiffNet and GraphTrust-F on Yelp dataset |
由图 5可看出,GraphTrust-FU通过潜在好友调整高阶传播的权重,同时将社交影响力通过不同类型的边进行扩散传播,相比于加入注意力机制的DiffNet+型效果更优。
![]() |
Download:
|
图 5 Yelp数据集上DiffNet与GraphTrust-FU的NDCG@10结果对比 Fig. 5 Comparison of NDCG@10 results between DiffNet and GraphTrust-FU on Yelp dataset |
根据项目间影响力的假设进行实验,在GraphTrust算法中仅保留对项目改进的部分,即GraphTrust-I。由图 6可以看出,相对于项目是独立个体的观点,由用户交互而产生影响使得项目间相互联系这一假设是成立的,GraphTrust-I在D取16、32和64时的NDCG@10比DiffNet++分别提升了3.3%、4.2%和8.5%,比DiffNet模型分别提升了7.9%、7.3%和15.9%,提升效果显著。GraphTrust利用项目节点更新项目特征的分类,这种更新方式相对于不区分节点类型更新项目节点的DiffNet++有小幅提升,相对于不更新项目节点,仅把项目节点作为辅助信息加入到用户特征的DiffNet提升较多。因为将更新后的项目特征进行聚合,可以缓解用户的社交关系稀疏导致推荐精度降低这一问题,进而提升了推荐性能。
![]() |
Download:
|
图 6 Yelp数据集上DiffNet与GraphTrust-I的NDCG@10结果对比 Fig. 6 Comparison of NDCG@10 results between DiffNet and GraphTrust-I on Yelp dataset |
在不同潜在特征维度D下对GraphTrust算法性能进行实验验证。由图 7可以看出,当潜在特征维度过小时,用户和项目的特征无法被充分表示,随着潜在特征维度的增大,算法效果不断提升。在16≤D≤64时增长较快,在超过64时推荐精度增长缓慢,逐渐趋于平缓。这说明虽然潜在特征维度增大可以表示更多的特征,但增大到一定维度时,无关特征也会被考虑在内,导致实验结果差异较小但计算复杂度相对增加,且容易出现过拟合的风险,因此本文选取潜在特征维度D为16、32和64进行实验验证。
![]() |
Download:
|
图 7 潜在特征维度对GraphTrust性能的影响 Fig. 7 Impact of potential feature dimensions on GraphTrust performance |
传统基于图神经网络的社交推荐算法通常忽略了用户间的多种社交关系,且对于项目节点关注较少。本文提出一种基于图神经网络的异构信任推荐算法GraphTrust,通过挖掘用户的多种潜在好友和不同的社交关系实现影响力动态传播,同时模拟项目间的影响力传播过程更新项目特征,并将其作为用户特征的辅助特征进行评分预测。对比实验结果表明,GraphTrust算法在Yelp和Flickr数据集上相较于其他算法具有明显的性能提升。消融实验结果验证了在用户交互行为的作用下项目之间存在相互影响。目前多数研究仅将社交和评分关系加入到推荐算法中,而现实生活中还存在许多交互信息,因此后续将考虑用户与用户、用户与项目以及项目与项目之间的多种交互行为,并对用户和项目冷启动问题进行相关研究,进一步提升算法推荐精度。
[1] |
SALAKHUTDINOV R, MNIH A. Probabilistic matrix factorization[C]//Proceedings of International Conference on Neural Information Processing Systems. [S. l. ]: Curran Associates Inc., 2007: 1257-1264.
|
[2] |
AHARON M, ELAD M, BRUCKSTEIN A. K-SVD: an algorithm for designing overcomplete dictionaries for sparse representation[J]. IEEE Transactions on Signal Processing, 2006, 54(11): 4311-4322. DOI:10.1109/TSP.2006.881199 |
[3] |
KOREN Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]//Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2008: 426-434.
|
[4] |
JAMALI M, ESTER M. A matrix factorization technique with trust propagation for recommendation in social networks[C]//Proceedings of the 4th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2010: 135-142.
|
[5] |
GUO G B, ZHANG J, YORKE-SMITH N. TrustSVD: collaborative filtering with both the explicit and implicit influence of user trust and of item ratings[C]//Proceedings of the 29th AAAI Conference on Artificial Intelligence. Palo Alto, USA: AAAI Press, 2015: 123-129.
|
[6] |
孟祥福, 张霄雁, 唐延欢, 等. 基于地理-社会关系的多样性与个性化兴趣点推荐[J]. 计算机学报, 2019, 42(11): 2574-2590. MENG X F, ZHANG X Y, TANG Y H, et al. A diversified and personalized recommendation approach based on geo-social relationships[J]. Chinese Journal of Computers, 2019, 42(11): 2574-2590. (in Chinese) DOI:10.11897/SP.J.1016.2019.02574 |
[7] |
王刚, 蒋军, 王含茹, 等. 基于联合概率矩阵分解的群推荐方法研究[J]. 计算机学报, 2019, 42(1): 98-110. WANG G, JIANG J, WANG H R, et al. Study of group recommendation based on probabilistic matrix factorization[J]. Chinese Journal of Computers, 2019, 42(1): 98-110. (in Chinese) |
[8] |
刘峰, 王宝亮, 邹荣宇, 等. 基于随机游走的网络表示学习推荐算法[J]. 计算机工程, 2021, 47(9): 90-96, 105. LIU F, WANG B L, ZOU R Y, et al. Recommendation algorithm using network representation learning based on random walk[J]. Computer Engineering, 2021, 47(9): 90-96, 105. (in Chinese) |
[9] |
YADAV A, CHAKRAVERTY S, SIBAL R. A survey of implicit trust on social networks[C]//Proceedings of International Conference on Green Computing and Internet of Things(ICGCIoT). Washington D. C., USA: IEEE Press, 2016: 1511-1515.
|
[10] |
OARD D, KIM J. Implicit feedback for recommender systems[C]//Proceedings of AAAI Workshop on Recommender Systems. Palo Alto, USA: AAAI Press, 1998: 81-83.
|
[11] |
ZHANG C X, YU L, WANG Y, et al. Collaborative user network embedding for social recommender systems[C]//Proceedings of 2017 SIAM International Conference on Data Mining. Philadelphia, USA: Society for Industrial and Applied Mathematics, 2017: 381-389.
|
[12] |
LING Z H, XIAO Y Y, WANG H Y, et al. Extracting implicit friends from heterogeneous information network for social recommendation[M]. Berlin, Germany: Springer, 2019.
|
[13] |
AHMADIAN S, JOORABLOO N, JALILI M, et al. A social recommender system based on reliable implicit relationships[J]. Knowledge-Based Systems, 2020, 192: 105371. DOI:10.1016/j.knosys.2019.105371 |
[14] |
马帅, 刘建伟, 左信. 图神经网络综述[J]. 计算机研究与发展, 2022, 59(1): 47-80. MA S, LIU J W, ZUO X. Survey on graph neural network[J]. Journal of Computer Research and Development, 2022, 59(1): 47-80. (in Chinese) |
[15] |
刘志鑫, 张泽华, 张杰. 基于多层次多视角的图注意力Top-N推荐方法[J]. 计算机科学, 2021, 48(4): 104-110. LIU Z X, ZHANG Z H, ZHANG J. Top-N recommendation method for graph attention based on multi-level and multi-view[J]. Computer Science, 2021, 48(4): 104-110. (in Chinese) |
[16] |
何昊晨, 张丹红. 基于多维社交关系嵌入的深层图神经网络推荐方法[J]. 计算机应用, 2020, 40(10): 2795-2803. HE H C, ZHANG D H. Recommendation method based on multidimensional social relationship embedded deep graph neural network[J]. Journal of Computer Applications, 2020, 40(10): 2795-2803. (in Chinese) |
[17] |
WANG X, HE X N, WANG M, et al. Neural graph collaborative filtering[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM Press, 2019: 165-174.
|
[18] |
FAN W Q, MA Y, LI Q, et al. Graph neural networks for social recommendation[C]//Proceedings of 2019 World Wide Web Conference. New York, USA: ACM Press, 2019: 417-426.
|
[19] |
WU L, SUN P J, FU Y J, et al. A neural influence diffusion model for social recommendation[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM Press, 2019: 235-244.
|
[20] |
张浩博, 薛峰, 刘凯. 基于半自动编码器的协同过滤推荐算法[J]. 计算机工程, 2021, 47(3): 125-130. ZHANG H B, XUE F, LIU K. Collaborative filtering recommendation algorithm based on semi-autoencoder[J]. Computer Engineering, 2021, 47(3): 125-130. (in Chinese) |
[21] |
李琳, 唐守廉. 基于多层注意力表示的音乐推荐模型[J]. 电子学报, 2020, 48(9): 1672-1679. LI L, TANG S L. Hierarchical attention representation model for music recommendation[J]. Acta Electronica Sinica, 2020, 48(9): 1672-1679. (in Chinese) |
[22] |
WU Q T, ZHANG H R, GAO X F, et al. Dual graph attention networks for deep latent representation of multifaceted social effects in recommender systems[C]//Proceedings of 2019 World Wide Web Conference. New York, USA: ACM Press, 2019: 2091-2102.
|
[23] |
WU L, LI J W, SUN P J, et al. DiffNet++: a neural influence and interest diffusion network for social recommendation[EB/OL]. [2021-07-11]. https://arxiv.org/abs/2002.00844.
|
[24] |
SHI C, HU B B, ZHAO W X, et al. Heterogeneous information network embedding for recommendation[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(2): 357-370. |