«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (9): 97-105  DOI: 10.19678/j.issn.1000-3428.0059000
0

引用本文  

贾俊杰, 刘鹏涛, 陈旺虎. 融合社交信息的矩阵分解改进推荐算法[J]. 计算机工程, 2021, 47(9), 97-105. DOI: 10.19678/j.issn.1000-3428.0059000.
JIA Junjie, LIU Pengtao, CHEN Wanghu. Improved Matrix Factorization Algorithm Using Social Information for Recommendation[J]. Computer Engineering, 2021, 47(9), 97-105. DOI: 10.19678/j.issn.1000-3428.0059000.

基金项目

国家自然科学基金(61967013);甘肃省高等学校创新能力提升项目(2019A-006)

作者简介

贾俊杰(1974-), 男, 副教授, 主研方向为数据挖掘、隐私保护;
刘鹏涛, 硕士;
陈旺虎, 教授

文章历史

收稿日期:2020-07-20
修回日期:2020-09-01
融合社交信息的矩阵分解改进推荐算法
贾俊杰 , 刘鹏涛 , 陈旺虎     
西北师范大学 计算机科学与工程学院, 兰州 730070
摘要:矩阵分解的推荐模型具有推荐精度高和易扩展等特点,已成为目前融合社交信息构建推荐系统的主要模型,但在分解过程中,用户偏好矩阵和物品特征矩阵初始赋值的随机性影响了推荐的性能,忽略了物品以及用户之间隐含的联系与区别。为此,提出一种基于社交信息的矩阵分解改进算法。将评分值分别与社交信息和物品的特征属性相结合,构建用户相似网络与物品相似网络,同时应用社区划分充分挖掘用户、物品之间的潜在关系,并按不同类型节点的近邻差异性,通过建立核心、非核心节点的偏好向量与特征向量得到矩阵分解初始矩阵。在公开数据集上的实验结果表明,该算法的推荐性能优于MF、SR2等同类型算法,运行迭代次数明显降低。
关键词推荐算法    社交信息    相似网络    社区发现    矩阵分解    
Improved Matrix Factorization Algorithm Using Social Information for Recommendation
JIA Junjie , LIU Pengtao , CHEN Wanghu     
College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China
Abstract: The recommendation models using matrix factorization have high accuracy and scalability, and they are preferred by most researchers in building a recommendation system that integrates social information.However, in the process of factorization, the random initial assignment of the user preference matrix and the item feature matrix affects the recommendation performance, as it ignores the potential connections and differences between items and users. Therefore, an improved matrix factorization algorithm based on social information is proposed.By integrating the ratings with social information and item feature attributes, the user similarity network and the item similarity network are constructed respectively.At the same time, the community division is used to fully explore the potential relationships between users and items.Then according to the difference of the neighbors between different types of nodes, the preference vector and eigenvector of the core nodes and non-core nodes are established to obtain the initial matrix of matrix decomposition.Experimental results on the public data set show that the proposed algorithm displays better recommendation performance than MF, SR2 and other algorithms, and significantly reduces the number of required iterations.
Key words: recommendation algorithm    social information    similarity network    community discovery    matrix factorization    

开放科学(资源服务)标志码(OSID):

0 概述

互联网的飞速发展使得人们获取信息的方式发生了巨大的变革。从初始的查阅资料到以关键词为载体的搜索引擎时代,每个人都不自觉地成为信息的创造者。但在一味地追求速度的同时,也承受了大量冗余信息带来的干扰。而推荐系统作为一种信息过滤的工具,将用户在主动搜索中遇到的困扰转变为被动接受有价值的信息,使人们的生活变得更加简单、快捷。推荐系统通过分析用户的历史行为数据与需求偏好,向用户主动推荐有价值的信息。按建模方式的不同,推荐系统可分为基于内容的推荐方法、基于协同过滤方法和混合方法。

在众多的推荐方法中,矩阵分解作为协同过滤推荐方法的一种类型,因在Netflix Prize比赛上取得了较好的效果,吸引了越来越多研究学者的关注。但由于用户对物品的评分值稀疏程度较高,大部分评分数据为零值,显然以这种方式产生的推荐结果并不准确[1-2]随着各类社交网站朝着更加人性化与智能化的方面发展,人与人之间的交往越来越依赖于Twitter、Facebook、微博等社交网站,由此产生了大量的社交信息,也为推荐系统带来了新的机遇。研究表明,具有较强社交关系的用户之间的相似程度更高[3],因此社交信息作为一种辅助信息,被应用于推荐系统中增加数据来源,以提高推荐性能。许多研究是将社交信息与评分信息相结合,通过划分社区寻找与目标用户相似的近邻,根据近邻对用户的影响程度预测目标用户评分。实验结果表明,引入社交信息矩阵分解推荐提高了推荐性能,当评分数据稀疏时推荐性能有明显的提升,但是还存在以下问题:在矩阵分解初始化时,用户偏好矩阵$ \boldsymbol{U} $和物品特征矩阵$ \boldsymbol{V} $初始赋值的随机性导致结果不确定性,并且容易陷入局部最优,影响推荐性能;传统推荐模型忽略了用户以及物品之间隐含的联系与区别;未考虑不同近邻对不同类型节点的影响程度具有差异性,其中社区内的节点按重要程度分为核心节点与非核心节点,近邻包含社区内与社区外两部分节点。

为解决上述问题,本文提出一种基于社交信息的改进矩阵分解算法IMF。将评分值与社交信息相结合建立用户相似网络,同时与物品的特征属性相结合确立物品相似网络并进行社区划分。按节点的重要程度将社区内的节点分为核心与非核心节点,构造用户相似网络中核心节点的偏好向量,以及物品相似网络中核心节点的特征向量,并根据不同的近邻对非核心节点的影响程度,创建用户相似网络中非核心节点的偏好向量,以及物品相似网络中非核心节点的特征向量。最后合并核心节点和非核心节点对应的偏好向量与特征向量,得到矩阵分解初始矩阵$ \boldsymbol{U} $$ \boldsymbol{V} $

1 相关工作

近年来,随着矩阵分解研究的进一步深入,引入社交信息的推荐系统理论体系更加成熟与完善。现阶段利用社交信息来改善推荐性能的方法主要有基于图的推荐[4-5]、基于深度学习推荐[6-7]和基于矩阵分解推荐[8]。而矩阵分解具有简单、推荐精度高和易扩展等特点,成为研究者构建推荐系统的首选模型[9],按用户间社交信息是否直接相连可分为基于直接信任的矩阵分解模型和基于间接社交信息的矩阵分解模型。

基于直接信任的矩阵分解模型将直接相连的用户信任关系作为社交信息,1表示有社交关系,反之为0,认为有社交关系的用户之间具有相似的偏好[10],利用这种社交信息来优化推荐性能。2008年MA等[8]首先将社交信息与评分信息相结合,并进行分解提出SoRec(Social Recommendation)模型。随后相关研究者基于社交信息提出许多矩阵分解推荐模型。2010年JAMALI等[10]将信任传播机制引入到矩阵分解模型中,提出社交推荐SocialMF(Social Matrix Factorization)算法。2011年MA等[11]将用户的信任关系作为正则化约束条件,提出基于社交信息正则化的矩阵因子分解框架SR2(Social Regularization model2)。2015年GUO等[12]通过对4个真实数据集分析,认为推荐模型不仅要考虑评分与信任的显性影响,同时还要兼顾评分与信任的隐性影响,提出TrustSVD(Trust Singular Value Decomposition)算法。2018年XIONG等[13]结合用户评分以及用户信任信息构建项目排序模型,提出一种基于信任的面向top-k排序算法。2020年ZHANG等[14]将用户评分与信任关系合并为一个混合矩阵,提出融合社交信息的随机梯度下降矩阵分解算法,然而用户间的直接信任表现为显示社交关系,当与用户直接相连的朋友数量很少时,这种显式社交关系对推荐性能的提升效果不佳。

为提升推荐的效率,一些文献利用用户间的相关程度构建社交网络,通过社区划分挖掘用户没有直接联系但相似的近邻,得到用户间隐藏的间接关系。由于这种关系同时包含了用户直接社交信息与间接联系,称其为基于间接社交信息的矩阵分解模型。2015年LI等[15]利用现有的重叠社区发现算法,计算目标用户分别与社区和社区内用户的相似度,构建目标用户的偏好向量,提出重叠社区正则化的矩阵分解推荐模型。2016年TANG等[16]引入社交维度,认为用户在同一社交维度中处于不同的社区,同时捕捉社交关系的异构性和间接性,提出基于社交维度的推荐框架SoDimRec(Social Dimension Recommendation)。2018年HU等[17]将时间因素与评分信息相结合提出重叠社区发现算法,依据用户与社区内用户间的相似度建立用户偏好模型,提出基于重叠社区的矩阵分解算法。2019年CHEN等[18]融合用户的社会地位和同质性建立用户信任关系网络,提出了一种新的基于社交矩阵分解的推荐方法,同时XIONG等[19]将评分信息与社交网络结构信息相结合得到扩展的间接社交关系,通过计算目标用户与社区内其他用户的影响程度,提出基于影响力的矩阵分解推荐算法。

基于间接社交信息的矩阵分解模型忽略了用户以及物品之间的潜在联系与区别,而且未考虑不同近邻对各节点影响程度的差异性对推荐结果带来的影响,以及$ \boldsymbol{U} $$ \boldsymbol{V} $初始赋值的随机性对推荐性能的影响。因此,有必要设计一种新的推荐模型,在提高推荐结果的准确度基础上,同时提高推荐算法的运行效率。

2 相关技术 2.1 相似网络

在社交网络中,社交信息表现为用户之间通过某种方式建立的关联关系,这种关联关系在日常生活中随处可见,如朋友关系、同事关系等。然而,在含有社交信息的推荐系统中,用户间的社交信息按是否直接相连通常以0、1表示,1表示有社交关系,反之为0,如表 1表 2所示。为便于计算,社交信息和评分信息都用矩阵形式存储。这种直接连接的方式,显然不能反映用户间的社交关系强度,并且无法表示用户间隐藏的间接社交关系,用户间的社交关系强度反映了他们之间的交互程度,间接社交关系表现为用户之间虽然没有直接的联系但有相似的喜好。研究结果表明,社交关系可以通过评分信息利用用户间的关联强度表示,皮尔逊相关系数是度量用户间关联强度的常用方法[9],相似度越大,社交关系越强。相似网络如图 1所示。图 1(a)为体现用户间的社交关系强度与间接联系,在直接相连的社交关系基础上结合基于评分信息的社交关系,采用用户相似网络$ {G}_{u}=({F}_{u}, E) $表示用户间社交联系,其中:$ {F}_{u}=\left\{{F}_{u}^{i}\right|i=\mathrm{1, 2}, \cdots , n\} $为用户顶点集;$ E=\left\{{E}_{ij}\right|i, j=\mathrm{1, 2}, \cdots , n\} $表示边集,相似度大于给定阈值的节点间添加边,边权值为用户间的社交关系强度。如表 2所示,用户u2与u1有直接社交联系,而u2与u12没有直接社交联系,但结合评分信息,可得到图 1(a)中的带有关联强度的社交关系网络。

下载CSV 表 1 评分信息 Table 1 Rating information
下载CSV 表 2 社交关系 Table 2 Social relations
Download:
图 1 相似网络示意图 Fig. 1 Schematic diagram of similar network

用户相似网络体现了用户间直接联系与间接联系。如图 1(b)所示,为挖掘物品之间隐藏潜在联系,本文将物品的特征属性与评分值相结合作为度量指标,构建物品相似网络$ {G}_{\mathrm{v}}=({F}_{\mathrm{v}}, E) $,其中:$ {F}_{\mathrm{v}} $表示物品顶点集;$ E $表示物品之间的边集。具体实现为:按物品的属性特征,具有相同属性的物品之间添加连边,建立初始的物品相似网络;依据物品的评分值按皮尔逊相关系数得到物品之间的相似度,大于阈值的物品间添加连边,边权值为物品间的相关程度,权值越接近1,物品之间相关程度越高。如表 1所示,$ {\mathrm{v}}_{1}\mathrm{、}{\mathrm{v}}_{2}\mathrm{、}{\mathrm{v}}_{3} $都为电子类物品具有相同的属性,初始物品相似网络中它们之间只是简单的连接,但结合评分值通过相似性计算最终得到图 1(b)带有权值的物品相似网络。

2.2 社区发现

社区发现是分析社交网络内部结构与演变过程的常用方法。由于社交网络中节点的度数呈幂律分布[20],在社区划分的过程中,以度数高的节点为中心向四周度数低的节点逐步扩散[21-22],通常用模块度最大化[21]评估节点扩散的程度,以模块度不再发生变化时社区划分完成。模块度公式如下:

$ Q=\frac{1}{2m}\sum \limits_{c}\left(\underset{}{\sum in-\frac{\sum to{t}^{2}}{2m}}\right)\mathrm{ } $ (1)

其中:$ \sum in $为社区$ c $内部边权重和;$ \sum tot $为外部节点与社区$ c $内节点相连的边权重之和;$ m $为图中所有边的权重和。

在社交网络中,社区划分的原则是社区内部节点之间联系紧密,社区间节点联系稀疏。现实中处于同一社区的节点偏好相似,不同社区的节点偏好相异,因此社区发现可以更好地掌握同一社区内对象的相似偏好,以便于进行精准的商品推荐等应用分析。如图 2所示,对用户、物品相似网络的社区划分,可以在社区中寻找目标节点的近邻。

Download:
图 2 社区划分示意图 Fig. 2 Schematic diagram of community division
2.3 推荐系统 2.3.1 协同过滤推荐

协同过滤(Collaborative Filtering,CF)[23-24]是基于“兴趣喜好相似的用户在未来会尽可能多地呈现出相关性”这种假设被提出的,依据用户的历史行为记录,预测对用户最感兴趣物品并推荐给他。协同过滤可分为基于用户的协同过滤、基于物品的协同过滤和矩阵分解推荐。

基于用户的协同过滤寻找与目标用户评分相似的近邻,通过近邻预测目标尚未打分的物品评分值,选取预测评分值较高的物品向目标推荐。目标用户i对物品j的预测评分Pij可用公式描述为:

$ {P}_{ij}=\frac{\sum \limits_{k\in l}\mathrm{s}\mathrm{i}\mathrm{m}(i, k){\widehat{p}}_{kj}}{\sum \limits_{k\in l}\mathrm{s}\mathrm{i}\mathrm{m}(i, k)}\mathrm{ }\mathrm{ } $ (2)

其中:sim(ik)为用户间的相似程度,以皮尔逊相关系数来衡量他们的相似度;$ l $为用户i相似邻居用户集;$ \widehat{p} $kj为邻居用户对物品j的评分。相反基于物品的协同过滤,寻找与目标物品评分相似的邻居物品,通过相似的邻居预测用户对目标尚未打分的评分值,选取预测评分值较高的物品向用户推荐,预测评分如式(2)所示。本文采用基于用户、物品的协同过滤分别对用户、物品相似网络中的核心节点未评分的物品预测评分值。

2.3.2 矩阵分解推荐

矩阵分解作为协同过滤推荐模型的一个类别,一般的做法是:采用评分矩阵$ {\boldsymbol{R}}^{m\times n} $表示$ m $个用户对$ n $个项目的评分;将$ \boldsymbol{R} $矩阵分解为2个低维度的用户偏好矩阵$ \boldsymbol{U}=[{U}_{1}, {U}_{2}, \cdots , {U}_{n}]\in {\boldsymbol{R}}^{m\times k} $与物品特征矩阵$ \boldsymbol{V}=[{V}_{1}, {V}_{2}, \cdots , {V}_{n}]\in {\boldsymbol{R}}^{n\times k} $,用户偏好矩阵表示用户对k个物品属性特征的喜好程度,物品特征矩阵为物品在k个属性特征的隶属程度;随机地对$ \boldsymbol{U} $$ \boldsymbol{V} $赋予初始值,不断迭代使得$ \boldsymbol{U} $$ \boldsymbol{V} $的内积预测值$ \widehat{\boldsymbol{R}} $与真实值$ \boldsymbol{R} $的误差达到最小。误差函数如下:

$ \begin{array}{l}\stackrel{}{\underset{\boldsymbol{U}, \boldsymbol{V}}{\mathrm{m}\mathrm{i}\mathrm{n}}}F(\boldsymbol{U}, \boldsymbol{V})=\sum \limits_{i=1}^{n}\sum \limits_{j=1}^{m}{w}_{ij}({R}_{ij}-{\boldsymbol{U}}_{i}{\boldsymbol{V}}_{j}^{\mathrm{{\rm T}}}{)}^{2}+\\ \frac{\beta }{2}\left(\right|\left|\boldsymbol{U}\right|{|}_{F}^{2}+\left|\right|\boldsymbol{V}\left|{|}_{F}^{2}\right)\end{array} $ (3)

其中:$ \left|\right|\boldsymbol{U}|{|}_{F}^{2}+|\left|\boldsymbol{V}\right|{|}_{F}^{2} $作为惩罚项防止过拟合。

2.3.3 融合社交信息的矩阵分解推荐

与矩阵分解不同,融合社交信息的矩阵分解推荐利用社交信息以此寻找目标用户相似的近邻,按近邻对目标用户的影响程度进一步修正用户的偏好向量,得到扩展的矩阵分解推荐模型:

$ \begin{array}{l}\stackrel{}{\underset{\boldsymbol{U}, \boldsymbol{V}}{\mathrm{m}\mathrm{i}\mathrm{n}}}F(\boldsymbol{U}, \boldsymbol{V})=\sum\limits _{i=1}^{n}\sum\limits _{j=1}^{m}{w}_{ij}({R}_{ij}-{\boldsymbol{U}}_{i}{\boldsymbol{V}}_{j}^{\mathrm{{\rm T}}}{)}^{2}+\\ \lambda \sum \limits_{i, k}L({\boldsymbol{U}}_{i}, {\boldsymbol{U}}_{k}, {S}_{ik})+\frac{\beta }{2}\left(\right|\left|\boldsymbol{U}\right|{|}_{F}^{2}+\left|\right|\boldsymbol{V}\left|{|}_{F}^{2}\right)\end{array} $ (4)

其中:$ {\boldsymbol{U}}_{k} $为用户$ i $的近邻偏好向量;$ {S}_{ik} $为用户$ i $$ k $的社交关系强度;第2项通过限制偏好向量与近邻偏好向量近似相等,以此提高推荐效率,通常近似强度依赖于的社交关系强度$ {S}_{ik} $

由于社区内的节点按重要程度分为核心节点与非核心节点,近邻包含所属社区内与社区外两部分节点,传统推荐模型忽略了不同近邻对不同类型节点的影响程度具有差异性。并且在目标函数求解的过程中,$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $初始赋值的随机性影响了推荐性能,降低了算法运行效率。

3 推荐算法框架

为解决上述推荐系统中现存的问题,本文将社交信息、物品的特征属性与评分值相结合,充分挖掘用户、物品之间的潜在联系,针对不同类型节点的近邻差异性,建立核心节点和非核心节点分别在用户相似网络中的偏好向量与物品相似网络中的特征向量,得到矩阵分解初始矩阵$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $,提出一种基于社交信息的矩阵分解改进算法IMF。

IMF算法步骤如下:

步骤1   构建用户、物品相似网络并划分社区。

步骤2   寻找每个社区的核心节点。通过度中心性衡量每个社区中节点的重要程度,重要程度较高的节点即为核心节点,其余为非核心节点。

步骤3   构建核心节点的偏好向量与特征向量。应用ALS矩阵分解[25]得到核心节点分别在用户相似网络中的偏好向量和物品相似网络中的特征向量。

步骤4   构建非核心节点的偏好向量与特征向量,依据不同的近邻对非核心节点的影响程度,分别建立非核心节点在用户相似网络中的偏好向量和物品相似网络中的特征向量。

步骤5   得到初始$ {\boldsymbol{U}}^{\mathrm{*}} $$ {\boldsymbol{V}}^{\mathrm{*}} $。将核心节点与非核心节点对应的偏好向量与特征向量相结合得到初始$ {\boldsymbol{U}}^{\mathrm{*}}\mathrm{、}{\boldsymbol{V}}^{\mathrm{*}} $

步骤6   根据$ {\boldsymbol{U}}^{\mathrm{*}}\mathrm{、}{\boldsymbol{V}}^{\mathrm{*}} $进行ALS矩阵分解求出最终$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $,ALS被证明在低秩近似问题求解和大数据集并行化取得了不错的效果[25]

步骤7 根据$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $得到用户对物品的预测评分。

3.1 核心节点偏好向量与特征向量的构建

本节依据度中心性分别查找$ {G}_{u}\mathrm{、}{G}_{v} $中每个社区的核心节点,按ALS得到在$ {G}_{u} $中核心节点的偏好向量和在$ {G}_{v} $中核心节点的特征向量。

3.1.1 核心节点查找

核心节点为社区内度数较高的节点,并且核心节点与社区内非核心节点联系紧密,因此核心节点在社区中重要程度高于非核心节点。本文采用度中心性衡量节点的重要程度,中心度较高的即为核心节点,公式如下:

$ O\left({N}_{i}\right)=\sum \limits_{j=1}^{g}{x}_{ij}\mathrm{ }\mathrm{ } $ (5)

其中:$ O\left({N}_{i}\right) $为节点$ i $的中心度;$ g $为社区内的节点数;$ {x}_{ij} $为节点$ i $$ j $的连边。由于社区内核心节点不只1个,为便于理解本文将其抽象为1个节点。如图 2显示了社区中核心节点在用户、物品相似网络中的分布,核心节点在图中标记为深色。

3.1.2 核心节点偏好向量与特征向量

性质1   在用户相似网络中,核心节点的偏好向量可近似为社区内所有节点的平均偏好向量。

性质2   在物品相似网络中,核心节点的特征向量可近似为社区内所有节点的平均特征向量。

在用户相似网络中,同一社区中节点的偏好向量相似[15],社区内非核心节点和核心节点联系紧密,因此核心节点偏好向量可近似为社区内所有节点的平均偏好向量。同理,对于物品相似网络,具有相同的性质。

在用户相似网络中,本文按性质1将社区内的非核心节点作为核心节点的近邻,采用基于用户协同过滤对核心节点未评分的物品预测评分值。为建立核心节点的偏好向量,将核心节点组成核心节点评分矩阵$ {\boldsymbol{H}}_{}^{c\times m}=[{\boldsymbol{H}}_{1}^{}, {\boldsymbol{H}}_{2}^{}, \cdots , {\boldsymbol{H}}_{c}^{}{]}^{\mathrm{T}}\in \boldsymbol{R} $,其中:$ c $为核心节点的个数;$ m $为物品数量。因为核心节点数量远小于总的节点数量,应用ALS求解核心节点偏好向量所消耗的时间非常小。最终得到核心节点的偏好向量$ {\boldsymbol{H}}_{g}^{i}\in {\boldsymbol{H}}^{c\times k1} $图 2(a)$ {\boldsymbol{H}}^{c\times k1} $为:

$ {\boldsymbol{H}}^{c\times k1}=\left[\begin{array}{l}2.47&-1.07&0.01\\ 1.18&0.63&1.39\\ 1.07&1.42&-0.21\end{array}\right] $

同样对于物品相似网络,按性质2将社区内的非核心节点作为近邻,通过基于物品的协同过滤预测核心节点尚未被打分的评分值,将得到的核心节点组成核心节点评分矩阵$ {\boldsymbol{B}}_{}^{o\times n}=[{\boldsymbol{B}}_{1}^{}, {\boldsymbol{B}}_{2}^{}, \cdots , {\boldsymbol{B}}_{o}^{}{]}^{\mathrm{T}}\in \boldsymbol{R} $,其中:$ o $为核心节点的个数;$ n $为用户数量,然后应用ALS求得核心节点的特征向量$ {\boldsymbol{B}}_{g}^{j}\in {\boldsymbol{B}}^{o\times k1} $图 2(b)$ {\boldsymbol{B}}^{o\times k1} $为:

$ {\boldsymbol{B}}^{o\times k1}=\\ {\left[\begin{array}{l}1.&00&1.08&0.54&0.41&0.57&&0.43&0.57&0.02&0.08&0.05&0.03&&0.56\\ 0.45&0.25&0.13&0.09&0.23&&0.17&0.23&0.35&1.25&0.75&0.50&&0.18\\ 0.51&1.03&0.52&0.39&-0.56&-0.42&-0.56&0.24&0.85&0.51&0.34&-0.02\end{array}\right]}^{\mathrm{T}} $
3.2 初始$ {\boldsymbol{U}}^{\mathrm{*}} $$ {\boldsymbol{V}}^{\mathrm{*}} $的确定

根据近邻对非核心节点的影响程度,依次构建不同类型的非核心节点在$ {G}_{u} $的偏好向量$ {\boldsymbol{U}}_{i}^{\mathrm{*}} $$ {G}_{v} $中特征向量$ {\boldsymbol{V}}_{j}^{\mathrm{*}} $,最后将核心节点与非核心节点对应的偏好与特征向量相结合得到初始的$ {\boldsymbol{U}}^{\mathrm{*}} $$ {\boldsymbol{V}}^{\mathrm{*}} $。在用户相似网络中,为建立非核心节点的偏好向量,传统的推荐算法通过划分社区寻找与非核心节点相似的近邻,依据近邻对非核心节点的影响程度修正偏好向量。由于非核心节点的近邻包含所属社区内与社区外两部分节点,因此不同的近邻对非核心节点的影响程度具有差异性。

性质3   社区内核心节点对非核心节点的影响程度起主导作用,距离核心节点越近影响程度越大,相似程度越高。

在用户相似网络中,根据性质1,社区内非核心节点的偏好向量近似于核心节点的偏好向量,并且核心节点的度数较高以及同一社区节点的偏好向量相似,社区间偏好相异[15],所以非核心节点偏好向量主要受所属社区内核心节点的影响。社区划分是以核心节点为中心向四周扩散的过程[19-21],非核心节点距离核心节点越近影响程度越大,偏好相似程度越高,相反相似程度越低。同理,对物品相似网络,性质3也成立。

图 2(a)所示核心节点$ {\mathrm{u}}_{2} $为明星用户,表现为被其他用户评论和点赞数最多的用户。$ {\mathrm{u}}_{1} $购买电子类产品时更倾向于向同一社区的明星用户$ {\mathrm{u}}_{2} $寻求建议。并且普通用户距离明星用户越近互动越频繁,$ {\mathrm{u}}_{4} $$ {\mathrm{u}}_{12} $相比,$ {\mathrm{u}}_{4} $与明星用户直接相连受明星用户的影响更大,偏好越相似。按性质3,依次求得非核心节点在用户相似网络中偏好向量$ {\boldsymbol{U}}_{i}^{\mathrm{*}}\in {\boldsymbol{R}}^{1\times k} $

$ {\boldsymbol{U}}_{i}^{\mathrm{*}}={\boldsymbol{H}}_{g}^{i}+{\boldsymbol{H}}_{g}^{i}\times \mathrm{s}\mathrm{i}\mathrm{m}({\boldsymbol{U}}_{i}^{}, {\boldsymbol{H}}_{g}^{i})={\boldsymbol{P}}_{i}\mathrm{ }\mathrm{ } $ (6)

其中:$ {\boldsymbol{H}}_{g}^{i}\in {\boldsymbol{H}}_{g}^{} $为非核心节点$ i $所属社区的核心节点偏好向量。如得到的用户$ {\mathrm{u}}_{1} $的偏好向量为$ {\boldsymbol{U}}_{1}^{\mathrm{*}}=\left[ {\begin{array}{*{20}{c}}3.48&-1.50&0.01\end{array}} \right] $

性质4   非核心节点除了受社区内核心节点主要影响外,同时也受社区外近邻节点的次要影响。

在用户相似网络中,不同的社区对应不同的偏好类型。因用户偏好的多样性,用户喜好多个物品特征对应多个偏好,所以用户也受社区外近邻节点的影响,但由于同一社区用户的偏好相似,受社区外近邻节点影响较小。同理,对于物品相似网络,性质4也成立。

图 2(a)所示,用户$ {\mathrm{u}}_{1} $购买电子类产品时更倾向于向同一社区的明星用户$ {\mathrm{u}}_{2} $寻求建议。同时$ {\mathrm{u}}_{1} $与社区外$ {\mathrm{u}}_{7}\mathrm{、}{\mathrm{u}}_{8} $相连,也会听取他们的意见,由于社区间偏好的差异性受$ {\mathrm{u}}_{7}\mathrm{、}{\mathrm{u}}_{8} $影响较小,因此按性质4,进一步修正非核心节点的偏好向量:

$ {\boldsymbol{U}}_{i}^{\mathrm{*}}=\omega {\boldsymbol{P}}_{i}+(1-\omega )\frac{\sum\limits _{{\boldsymbol{U}}_{l}\in L}({\boldsymbol{P}}_{i}+{\boldsymbol{P}}_{i}\times \mathrm{s}\mathrm{i}\mathrm{m} ({\boldsymbol{U}}_{j}^{}, {\boldsymbol{U}}_{l}^{}))}{\left|L\right|} $ (7)

其中:$ L $为用户的邻居节点集;$ \left|L\right| $为邻居节点的数量;$ \omega $为影响权重,按性质3、性质4取值大于0.5。修正后节点$ {\mathrm{u}}_{1} $的偏好向量$ {\boldsymbol{U}}_{1}^{\mathrm{*}}=\left[ {\begin{array}{*{20}{c}}2.23&-0.96&0.009\end{array}} \right]$。按式(6)、式(7)依次求得每个社区中非核心节点的偏好向量,结合核心节点偏好向量得到最终的用户偏好矩阵$ {\boldsymbol{U}}^{\mathrm{*}}={\left[{\boldsymbol{U}}_{1}^{\mathrm{*}}, {\boldsymbol{U}}_{2}^{\mathrm{*}}, \cdots , {\boldsymbol{U}}_{\mathrm{n}}^{\mathrm{*}}\right]}^{\mathrm{T}}\in \boldsymbol{R} $图 2(a)$ {\boldsymbol{U}}^{\mathrm{*}} $为:

$ {\boldsymbol{U}}^{\mathrm{*}}=\\ {\left[\begin{array}{l}2.23&2.47&&3.00&2.41&1.18&1.44&1.63&1.06&1.07&1.19&1.30&2.29\\ -0.97&-1.07&-1.30&-1.04&0.63&0.77&0.87&1.41&1.42&1.57&1.73&-0.99\\ 0.01&0.01&0.01&0.01&1.39&1.70&1.92&-0.21&-0.21&-0.23&-0.26&0.01\end{array}\right]}^{\mathrm{T}} $

同理,在物品相似网络中,按性质3、性质4依次构建每个社区中非核心节点的特征向量:

$ {\boldsymbol{V}}_{j}^{\mathrm{*}}={\boldsymbol{H}}_{\mathrm{g}}^{j}+{\boldsymbol{H}}_{\mathrm{g}}^{j}\times \mathrm{s}\mathrm{i}\mathrm{m}({\boldsymbol{V}}_{j}^{}, {\boldsymbol{B}}_{\mathrm{g}}^{j})={\boldsymbol{P}}_{j} $ (8)
$ {\boldsymbol{V}}_{j}^{\mathrm{*}}=\omega {\boldsymbol{P}}_{j}+(1-\omega )\frac{\sum\limits _{{\boldsymbol{V}}_{l}\in L}({\boldsymbol{P}}_{j}+{\boldsymbol{P}}_{j}\times \mathrm{s}\mathrm{i}\mathrm{m}({\boldsymbol{V}}_{j}^{}, {\boldsymbol{V}}_{l}^{}))}{\left|L\right|} $ (9)

其中:$ {\boldsymbol{B}}_{\mathrm{g}}^{i} $为非核心节点$ j $所属社区的核心节点特征向量。结合核心节点的特征向量得到最终的物品特征矩阵:$ {\boldsymbol{V}}^{\mathrm{*}}={\left[{\boldsymbol{V}}_{1}^{\mathrm{*}}, {\boldsymbol{V}}_{2}^{\mathrm{*}}, \cdots , {\boldsymbol{V}}_{m}^{\mathrm{*}}\right]}^{\mathrm{T}}\in \boldsymbol{R} $

3.3 预测评分

将上述计算得到用户偏好矩阵$ {\boldsymbol{U}}^{\mathrm{*}} $和物品特征矩阵$ {\boldsymbol{V}}^{\mathrm{*}} $赋值于初始的$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $,得到总体的目标函数如下:

$ \begin{array}{l}\stackrel{}{\underset{\boldsymbol{U}, \boldsymbol{V}}{\mathrm{m}\mathrm{i}\mathrm{n}}}F(\boldsymbol{U}, \boldsymbol{V})=\sum\limits _{i=1}^{n}\sum \limits_{j=1}^{m}{w}_{ij}({R}_{ij}-{\boldsymbol{U}}_{i}^{\mathrm{*}}{\boldsymbol{V}}_{j}^{\mathrm{*}\mathrm{{\rm T}}}{)}^{2}+\\ \frac{\beta }{2}\left(\right|\left|\boldsymbol{U}\right|{|}_{F}^{2}+\left|\right|\boldsymbol{V}\left|{|}_{F}^{2}\right)\end{array} $ (10)

为求解目标函数,首先对偏好向量$ {\boldsymbol{U}}_{i}^{\mathrm{*}} $求偏导:

$ \frac{\partial F}{\partial {\boldsymbol{U}}_{i}^{\mathrm{*}}}={\boldsymbol{V}}_{i}({\boldsymbol{V}}^{\mathrm{T}}{\boldsymbol{D}}_{i}\boldsymbol{V}+\alpha \boldsymbol{I})-\left(\right({\boldsymbol{R}}^{i}{)}^{\mathrm{T}}{\boldsymbol{D}}_{i}\boldsymbol{V}) $ (11)

其中:$ {\boldsymbol{D}}_{i}\in {\boldsymbol{R}}^{n\times n} $为对角矩阵,令$ \frac{\partial F}{\partial {\boldsymbol{U}}_{i}^{\mathrm{*}}} $等于0,可得式(12)。

$ {\boldsymbol{U}}_{i}^{\mathrm{*}}=\left(\right({\boldsymbol{R}}^{i}\left){\boldsymbol{D}}_{i}\boldsymbol{V}\right)({\boldsymbol{V}}^{\mathrm{T}}{\boldsymbol{D}}_{i}{\boldsymbol{V}+\alpha \boldsymbol{I})}^{-1} $ (12)

对特征向量$ {\boldsymbol{V}}_{j}^{\mathrm{*}} $求偏导,得:

$ \frac{\partial F}{\partial {\boldsymbol{V}}_{j}^{\mathrm{*}}}={\boldsymbol{V}}_{j}({\boldsymbol{U}}^{\mathrm{T}}{\boldsymbol{S}}_{j}\boldsymbol{U}+\alpha \boldsymbol{I})-\left(\right({\boldsymbol{R}}^{j}{)}^{\mathrm{T}}{\boldsymbol{S}}_{j}\boldsymbol{U}) $ (13)

其中:$ {\boldsymbol{S}}_{i}\in {\boldsymbol{R}}^{m\times m} $为对角矩阵,令$ \frac{\partial F}{\partial {\boldsymbol{V}}_{j}^{\mathrm{*}}} $等于0,可得式(14)。

$ {\boldsymbol{V}}_{j}^{\mathrm{*}}=\left(\right({\boldsymbol{R}}^{j}\left){\boldsymbol{S}}_{j}\boldsymbol{U}\right)({\boldsymbol{U}}^{\mathrm{T}}{\boldsymbol{S}}_{j}{\boldsymbol{U}+\alpha \boldsymbol{I})}^{-1} $ (14)

通过ALS对式(12)、式(14)交替迭代求解,最终获得收敛之后的$ \boldsymbol{U} $$ \boldsymbol{V} $

3.4 算法流程

本文算法可分为3个部分:第1部分为数据预处理阶段,对应步骤1、步骤2,采用LAS迭代求解获得在$ {G}_{u} $中核心节点的偏好向量$ {\boldsymbol{H}}_{g}^{i} $,同时得到在$ {G}_{v} $中核心节点的特征向量$ {\boldsymbol{B}}_{g}^{j} $;第2部分按不同近邻对不同类型节点影响程度的差异性,依次取得在$ {G}_{u} $中非核心节点的偏好向量$ {\boldsymbol{U}}_{i}^{\mathrm{*}} $$ {G}_{v} $中非核心节点的特征向量$ {\boldsymbol{V}}_{j}^{\mathrm{*}} $,对应步骤3~步骤8;最后结合核心节点与非核心节点对应的偏好向量与特征向量得到初始的$ {\boldsymbol{U}}^{\mathrm{*}}\mathrm{、}{\boldsymbol{V}}^{\mathrm{*}} $,通过ALS算法迭代求解获得最终预测评分$ \widehat{\boldsymbol{R}} $

算法1   IMF算法

输入   $ \boldsymbol{R} $

输出   $ \widehat{\boldsymbol{R}} $

1.$ {\mathrm{G}}_{\mathrm{u}}, {\mathrm{G}}_{\mathrm{v}}, {\mathrm{H}}_{}^{\mathrm{c}\times \mathrm{m}}, {\mathrm{B}}_{}^{\mathrm{o}\times \mathrm{n}} $

2.$ {\mathrm{H}}^{\mathrm{c}\times \mathrm{k}1}, {\mathrm{B}}^{\mathrm{o}\times \mathrm{k}1} $

3.$ \mathrm{w}\mathrm{h}\mathrm{i}\mathrm{l}\mathrm{e}\left(\mathrm{i}\right) $

4.$ {\mathrm{U}}_{\mathrm{i}}^{\mathrm{*}}={\mathrm{H}}_{\mathrm{g}}^{\mathrm{i}}+{\mathrm{H}}_{\mathrm{g}}^{\mathrm{i}}\mathrm{*}\mathrm{s}\mathrm{i}\mathrm{m}({\mathrm{U}}_{\mathrm{i}}^{}, {\mathrm{H}}_{\mathrm{g}}^{\mathrm{i}})={\mathrm{P}}_{\mathrm{i}} $

5.$ {\mathrm{U}}_{\mathrm{i}}^{\mathrm{*}}=\mathrm{\omega }{\mathrm{P}}_{\mathrm{i}}+(1-\mathrm{\omega })\frac{\sum \limits_{{\mathrm{U}}_{\mathrm{l}}\in \mathrm{L}}({\mathrm{P}}_{\mathrm{i}}+{\mathrm{P}}_{\mathrm{i}}\mathrm{*}\mathrm{s}\mathrm{i}\mathrm{m} ({\mathrm{U}}_{\mathrm{i}}^{}, {\mathrm{U}}_{\mathrm{l}}^{}))}{\left|\mathrm{L}\right|} $

6.$ \mathrm{e}\mathrm{n}\mathrm{d} $

7.$ \mathrm{w}\mathrm{h}\mathrm{i}\mathrm{l}\mathrm{e}\left(\mathrm{j}\right) $

8. $ {\mathrm{V}}_{\mathrm{j}}^{\mathrm{*}}={\mathrm{B}}_{\mathrm{g}}^{\mathrm{j}}+{\mathrm{B}}_{\mathrm{g}}^{\mathrm{j}}\mathrm{*}\mathrm{s}\mathrm{i}\mathrm{m}({\mathrm{V}}_{\mathrm{j}}^{}, {\mathrm{B}}_{\mathrm{g}}^{\mathrm{j}})={\mathrm{P}}_{\mathrm{j}}; $

9. $ {\mathrm{V}}_{\mathrm{j}}^{\mathrm{*}}=\mathrm{\omega }{\mathrm{P}}_{\mathrm{j}}+(1-\mathrm{\omega })\frac{\sum \limits_{{\mathrm{V}}_{\mathrm{l}}\in \mathrm{L}}({\mathrm{P}}_{\mathrm{j}}+{\mathrm{P}}_{\mathrm{j}}\mathrm{*}\mathrm{s}\mathrm{i}\mathrm{m}({\mathrm{V}}_{\mathrm{j}}^{}, {\mathrm{V}}_{\mathrm{l}}^{}))}{\left|\mathrm{L}\right|} $

10.$ \mathrm{e}\mathrm{n}\mathrm{d} $

11.$ \mathrm{U}={\mathrm{U}}^{\mathrm{*}}, \mathrm{V}={\mathrm{V}}^{\mathrm{*}} $

12.R.

4 实验结果与分析 4.1 评价指标

为验证本文算法准确性,选取公开的电影评分FilmTrust数据集。FilmTrust是一个带有信任关系的电影评分网站,用户可以对喜欢的电影评分,也可以向其他用户添加信任关系。FilmTrust数据集包含35 497条评分数据和1 853条信任关系。为评估本文算法的推荐性能,采用平均绝对误差(MAE)和均方根误差(RMSE)作为算法的评价指标。表 3为FilmTrust数据集的相关信息。

下载CSV 表 3 FilmTrust数据集统计信息 Table 3 Statistics information of FilmTrust dataset

MAE表示预测值和真实值之间绝对误差的平均值,MAE越小推荐精度越高。定义如下:

$ {M}_{\mathrm{M}\mathrm{A}\mathrm{E}}=\frac{\sum \limits_{i, j}|{\widehat{r}}_{ij}-{r}_{ij}|}{n} $ (15)

RMSE表示预测值和真实值之间的偏差平方和与预测次数n比值的平方根。RMSE反映了样本的离散程度,RMSE越小推荐精度越高。定义如下:

$ {R}_{\mathrm{R}\mathrm{M}\mathrm{S}\mathrm{E}}=\sqrt{\frac{\sum \limits_{i, j}({\widehat{r}}_{ij}-{r}_{ij}{)}^{2}}{n}} $ (16)

其中:$ {\widehat{r}}_{ij} $为预测评分值;$ {r}_{ij} $为真实值;$ n $为预测评分个数。

4.2 结果与参数分析

本文选取传统矩阵分解算法MF[10]、基于直接信任矩阵分解算法(SR2)[12]和基于间接社交关系矩阵分解算法(SoDimRec)[15]做对比。采用交叉验证的方法确定参数值,其中$ {\lambda }_{1} $$ {\lambda }_{2} $$ \beta $取值分别为10、100和0.02,学习率$ \alpha $$ k $的取值分别为0.002、15,整个实验过程中参数值不变。所有的实验均进行5次,实验结果取平均值。

表 4所示为不同算法的误差值。由表 4可知,本文算法的误差值低于其他对比算法,随着训练集的增多误差对比越明显。SR2算法相比于经典的MF算法,由于引入了直接社交关系,相应地减少了误差值。SoDimRec算法在SR2的基础上,因为考虑了每个用户之间的影响程度,建立了间接社交关系,这种关系同时包含用户的直接联系与间接联系,所以误差值进一步减少。但是这些算法仅分析了用户之间的影响程度,忽略了物品之间的潜在联系,以及不同的近邻对不同节点影响程度的差异性。而本文算法从用户与物品不同的角度,按节点影响程度的不同分别构建节点的偏好向量与特征向量,弥补了推荐模型的不足,因此本文算法相比于其他对比算法推荐效率更优。

下载CSV 表 4 不同推荐算法误差值对比 Table 4 Error value comparison of different recommendation algorithms

为验证性质3、性质4,社区中核心节点是否对非核心节点的影响起主导作用,本文对参数$ \omega $进行了实验分析。由图 3可知,当$ \omega $为0.6时误差最低,也就是说非核心节点偏好受所属社区内核心节点的影响较大,而受社区外邻居节点的影响较小,进一步证明了本文算法的正确性。

Download:
图 3 $ \boldsymbol{\omega } $取值与MAE的关系 Fig. 3 Relationship between the $ \boldsymbol{\omega } $ values and the MAE

为验证本文算法能否减少迭代收敛次数,将原数据集作为训练集,实验结果如图 4所示。可以看出,本文算法相比于其他对比算法,迭代次数很快就达到收敛并且推荐效率明显高于其他算法。因为本文算法分别从用户与项目2个角度充分挖掘它们之间的潜在联系,依据不同近邻对不同节点的影响程度的差异性构建初始的$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $,所以在提高推荐效率的同时也减少了收敛次数。在刚开始时,对比算法对$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $初始复赋值的随机性,因而误差值集中在1.37左右;本文算法由于$ \boldsymbol{U}\mathrm{、}\boldsymbol{V} $初始值是分别依据用户相似网络与物品相似网络中核心节点构建,第0次迭代误差值低于1.37。随着迭代次数的增多,传统MF算法迭代30次时才达到收敛并且误差最大。而引入社交关系的SR2与SoDimRec算法间接地修正了用户的偏好向量,迭代20次时达到收敛,推荐效率次之。本文算法因为分别从用户和物品2个方面分别修正节点的偏好向量与特征向量,所以在第4次时就已经达到收敛并且误差值较小,实验结果进一步验证了本文算法的正确性。

Download:
图 4 不同算法迭代收敛次数对比 Fig. 4 Comparison of iteration convergence times of different algorithms
5 结束语

本文通过分析现有社交信息推荐系统的缺点,提出一种基于社交信息的矩阵分解改进推荐算法IMF。将评分信息分别与社交信息和物品的特征属性相结合,充分挖掘用户、物品之间的潜在联系,依据不同类型节点的近邻差异性,分别构建矩阵分解初始的用户偏好矩阵$ \boldsymbol{U} $与物品特征矩阵$ \boldsymbol{V} $。实验结果表明,IMF算法在提高推荐效率基础上,减少了矩阵分解的迭代次数并提高了推荐效率。但是本文在构建相似网络的过程中,忽略了相似度很低的用户与物品,因此对用户进行有价值的推荐,将是下一步的研究方向。

参考文献
[1]
PORTEOUS I, ASUNCION A, WELLING M. Bayesian matrix factorization with side information and Dirichlet process mixture[C]//Proceedings of the 24th AAAI Conference on Artificial Intelligence. [S. 1. ]: AAAI Press, 2010: 563-576.
[2]
KOREN Y, BELL R M, VOLINSKY C. Matrix factorization techniques for recommender systems[J]. IEEE Computer, 2009, 42(8): 30-37. DOI:10.1109/MC.2009.263
[3]
MARDDEN P V, FRIEDKIN N E. Network studies of social influence[J]. Sociological Methods & Research, 1993, 22(1): 127-151.
[4]
JAMALI M, ESTER M. Trustwalker: a random walk model for combining trust-based and item-based recommendation[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2009: 397-406.
[5]
JAMALI M, ESTER M. Using a trust network to improve top-N recommendation[C]//Proceedings of the 3rd ACM Conference on Recommender Systems. New York, USA: ACM Press, 2009: 181-188.
[6]
FAN W Q, DERR T, MA Y, et al. Deep adversarial social recommendation[C]//Proceedings of IEEE International Joint Conference on Artificial Intelligence. Washington D.C., USA: IEEE Press, 2019: 1351-1357.
[7]
PAN Y T, HE F Z, YU H P. A correlative denoising autoencoder to model social influence for top-N recommender system[J]. Frontiers of Computer Science, 2020, 14(3): 143-151. DOI:10.1007/s11704-019-8123-3
[8]
MA H, YANG H X, LYU M R, et al. SoRec: social recommendation using probabilistic matrix factorization[C]//Proceedings of the 17th ACM Conference on Information and Knowledge Management. New York, USA: ACM Press, 2008: 931-940.
[9]
LIU H F, JING L P, YU J. Survey of matrix factorization based recommendation methods by integrating social information[J]. Journal of Software, 2018, 29(2): 340-362. (in Chinese)
刘华锋, 景丽萍, 于剑. 融合社交信息的矩阵分解推荐方法研究综述[J]. 软件学报, 2018, 29(2): 340-362.
[10]
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.
[11]
MA H, ZHOU D Y, LIU C, et al. Recommender systems with social regularization[C]//Proceedings of the 4th ACM International Conference on Web Search and Data Mining. New York, USA: ACM Press, 2011: 287-296.
[12]
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. [S. 1. ]: AAAI Press, 2015: 123-125.
[13]
XIONG L R, WANG L Y, HUANG Y Z. Approach for top-k recommendation based on LTR and social network[J]. Journal of Chinese Computer Systems, 2018, 39(12): 2577-2584.
[14]
ZHANG T W, LI W P, WANG L, et al. Social recommendation algorithm based on stochastic gradient matrix decomposition in so-cial network[J]. Journal of Ambient Intelligence Human Computing, 2020, 11(2): 601-608. DOI:10.1007/s12652-018-1167-7
[15]
LI H, WU D M, TANG W B, et al. Overlapping community regularization for rating prediction in social recommender systems[C]//Proceedings of the 9th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2015: 27-34.
[16]
TANG J L, WANG S H, HU X, et al. Recommendation with social dimensions[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence. [S. 1. ]: AAAI Press, 2016: 251-257.
[17]
HU Y, ZHANG S, YU K K, et al. Research of social recommendation method based on overlapping community[J]. Journal of Nanjing Normal University(Natural Science Edition), 2018, 41(3): 35-41. (in Chinese)
胡云, 张舒, 余侃侃, 等. 基于重叠社区发现的社会网络推荐算法研究[J]. 南京师范大学学报(自然科学版), 2018, 41(3): 35-41.
[18]
CHEN R, HUA Q Y, WANG B, et al. A novel social recommendation method fusing user's social status and Homophily based on matrix factorization technique[J]. IEEE Access, 2019, 7: 18783-18798. DOI:10.1109/ACCESS.2019.2893024
[19]
XIONG L R, SHEN S M, FAN J. Matrix factorization recommendation by integrating community structure and social influence[J]. Journal of Chinese Computer Systems, 2019, 11(40): 2411-2417. (in Chinese)
熊丽荣, 沈树茂, 范菁. 融合社区结构和社交影响力的矩阵分解推荐[J]. 小型微型计算机系统, 2019, 11(40): 2411-2417.
[20]
LIU Y H, LI F P, SUN X, et al. Social network model based on the transmission of information[J]. Journal on Communications, 2013, 34(4): 1-9. (in Chinese)
刘衍珩, 李飞鹏, 孙鑫, 等. 基于信息传播的社交网络拓扑模型[J]. 通信学报, 2013, 34(4): 1-9. DOI:10.3969/j.issn.1001-2400.2013.04.001
[21]
LI X M, XU G Q, HU T M. Community detection for multi-layer social network based on local random walk[J]. Journal of Visual Communication and Image Representation, 2018, 57: 91-98. DOI:10.1016/j.jvcir.2018.10.003
[22]
LI X M, XU GQ, JIAO L I Y, et al. Multi-layer network community detection model based on attributes and social interaction intensity[J]. Computers and Electrical Engineering, 2019, 77: 300-313. DOI:10.1016/j.compeleceng.2019.06.010
[23]
GONG S J. A collaborative filtering recommendation algorithm based on user clustering and item clustering[J]. Journal of Software, 2010, 5(7): 745-752.
[24]
SINGH M, MECHROTRA M. Impact of biclustering on the performance of biclustering based collaborative filtering[J]. Expert System with Applications, 2018, 113: 443-456. DOI:10.1016/j.eswa.2018.06.001
[25]
ZHOU Y H, WILKINSON D, SCHREIBER R, et al. Large-scale parallel collaborative filtering for the Netflix prize[C]//Proceedings of IEEE International Conference on Algorithmic Applications in Management. Washington D.C., USA: IEEE Press, 2008: 337-348.