软件学报  2018, Vol. 29 Issue (2): 340-362   PDF    
融合社交信息的矩阵分解推荐方法研究综述
刘华锋1,2, 景丽萍1,2, 于剑1,2     
1. 交通数据分析与挖掘北京市重点实验室(北京交通大学), 北京 100044;
2. 北京交通大学 计算机与信息技术学院, 北京 100044
摘要: 随着社交网络的发展,融合社交信息的推荐成为推荐领域中的一个研究热点.基于矩阵分解的协同过滤推荐方法(简称矩阵分解推荐方法)因其算法可扩展性好及灵活性高等诸多特点,成为研究人员在其基础之上进行社交推荐模型构建的重要原因.围绕基于矩阵分解的社交推荐模型,依据模型的构建方式对社交推荐模型进行综述.在实际数据上,对已有代表性社交推荐方法进行对比,分析各种典型社交推荐模型在不同视角下的性能(如整体用户、冷启动用户、长尾物品).最后,分析了基于矩阵分解的社交推荐模型及其求解算法存在的问题,并对未来研究方向与发展趋势进行展望.
关键词: 推荐系统     矩阵分解     社交推荐     社交网络     协同过滤    
Survey of Matrix Factorization Based Recommendation Methods by Integrating Social Information
LIU Hua-Feng1,2, JING Li-Ping1,2, YU Jian1,2     
1. Beijing Key Laboratory of Traffic Data Analysis and Mining(Beijing Jiaotong University), Beijing 100044, China;
2. School of Computer Science and Technology, Beijing JiaoTong University, Beijing 100044, China
Foundation item: National Natural Science Foundation of China (61370129, 61375062, 61632004)
Abstract: With the increasing of social network, social recommendation becomes hot research topic in recommendation systems. Matrix factorization based (MF-based) recommendation model gradually becomes the key component of social recommendation due to its high expansibility and flexibility. Thus, this paper focuses on MF-based social recommendation methods. Firstly, it reviews the existing social recommendation models according to the model construction strategies. Next, it conducts a series of experiments on real-world datasets to demonstrate the performance of different social recommendation methods from three perspectives including whole-users, cold start-users, and long-tail items. Finally, the paper analyzes the problems of MF-based social recommendation model, and discusses the possible future research directions and development trends in this research area.
Key words: recommendation system     matrix factorization     social recommendation     social network     collaborative filtering    

随着互联网技术的发展, 人们在线获取的数据也越来越丰富.然而, 大量无关冗余数据严重干扰了人们对有用信息的选择, 我们称这种现象为信息过载.以搜索引擎为代表的信息检索系统有效地帮助用户获取信息, 但是搜索引擎仅仅使用关键字作为信息过滤条件, 无法满足用户对信息的个性化需求.因此, 推荐系统成为帮助用户获取有用信息的必要工具[1].其主要目标是依据用户的兴趣偏好、需求信息、行为等信息为用户推荐可能最感兴趣的物品或信息, 因此, 也被称为个性化推荐系统.近几十年来, 越来越多的个性化推荐方法相继被提出来, 依据模型构建方式, 这些方法可大致分为3类:基于内容的方法(content-based method)[2]、基于协同过滤的方法(collaborative filtering based method)[3-10]和混合推荐方法(hybrid recommendation method)[11-13].相关综述文章可参阅文献[14-16].

在众多推荐方法中, 协同过滤推荐算法由于其仅利用评分信息而受到工业界与学术界的广泛关注.协同过滤算法研究可追溯到GroupLens研究组提出的基于用户的协同过滤算法(user-based collaborative filtering)[3], 其核心思想是为, 用户推荐与其偏好相同的用户所喜欢的物品.随后, 基于物品的协同过滤(item-based collaborative filtering)算法[4-6]和基于矩阵分解的协同过滤(matrix factorization based collaborative filtering)算法[10]等相继被提出go.基于矩阵分解的协同过滤算法(简称矩阵分解推荐方法)因其在Netflix Prize比赛上大放异彩而受到越来越多研究人员的关注.该方法将用户对物品的评分信息以矩阵形式表示, 通过对矩阵的分解操作挖掘低维隐特征空间, 并将用户与物品在该低维空间上进行重表示, 进而以用户物品向量间的内积来刻画用户物品之间的关联性.然而评分矩阵存在数据高度稀疏与分布不均匀等特点, 这些特点进一步导致了推荐性能低、冷启动、长尾等问题[15, 16].

针对上述问题, 研究人员通过引入额外信息来解决冷启动问题, 并在一定程度上取得了较好的推荐结果, 例如, 合著信息(co-authorship)[17]和社交信息[18, 19]为用户提供了关联信息; 物品内容描述与评论信息为物品增加了有用的信息保障[9]; 也包括来自其他领域的信息同时服务于用户和物品[20].文献[16]对在协同过滤算法基础上融合额外附加信息(side information)进行模型构建的一系列推荐算法进行了综述.目前, 诸如Facebook、Twitter、Google+、LinkedIn、微博等社交网络平台的快速发展, 为用户间社交关系的构建提供了信息来源.在社交网络中, 用户间是否存在社交关系往往依赖于用户之间是否相互信任, 这种信任关系从某种程度上来说提供了用户的偏好信息.依据社交关系理论[18, 19], 社交网络中拥有较强社交关系的用户在某些方面往往具有相似偏好且互相影响, 因此有助于构建个性化推荐系统.对社交推荐的研究最早可追溯到1997年Kautz等人提出的ReferralWeb系统[21], 其在传统协同过滤模型上融合社交网络, 为用户提供更加精准、高效的推荐结果.由此证明社交关系的融合为推荐系统提供了可靠的数据支持, 在提升推荐精度的同时, 为解决冷启动问题也提供了新思路[22-25].

基于矩阵分解的推荐模型因其算法可扩展性好及灵活性高等诸多特点, 成为研究人员构造社交推荐模型的重要基础模型[26-41].相对于已有的推荐系统综述文章[14-16, 22], 本文主要综述基于矩阵分解的社交推荐模型.首先对基本的矩阵分解推荐模型进行介绍, 分析矩阵分解技术的优点, 并探讨引入社交信息对推荐的作用.然后, 依据使用社交数据的类型, 将社交推荐模型进行分类综述, 从最初利用用户间的直接社交信息, 到近年来利用社区发现算法获得用户间的间接社交关系构建的社交推荐模型.同时, 依据社交推荐模型的构建方式对其进行梳理:(1)依据用户社交关系, 矫正当前用户的隐变量表示[27-29, 33, 35-37, 39]; (2)同步分解评分矩阵和社交矩阵获取推荐隐变量[26, 30-34].随后, 在实际数据上进行实验对比, 验证近年来不同类型社交推荐模型的性能, 分析社交信息对推荐性能的影响.最后分析现有基于矩阵分解的社交推荐方法存在的问题, 包括社交信息利用不充分、推荐结果可解释性不强等.同时, 从模型求解方面分析已有算法的计算效率, 指出其难以适用于大规模数据的问题.本文针对上述问题, 提出了可能的解决思路, 并对未来的研究方向进行了展望.

本文第1节介绍社交信息与推荐的关联性.第2节介绍推荐中常用的矩阵分解模型.第3节分类介绍融合社交信息的矩阵分解推荐方法.第4节在社交推荐常用公开数据集上, 对已有社交推荐算法进行性能对比.第5节分析现有方法存在的问题, 提出相应的解决方案, 并对未来可能的研究方向和发展趋势加以展望.

1 社交与推荐

互联网的飞速发展, 极大地促进着社交网络的形成, 并已成为用户创造与共享信息的重要平台.如今, 互联网上活跃着众多社交网络服务, 如Facebook、Twitter、Google+、LinkedIn、微博等社交网络中, 大量活跃用户的网络行为给社交网络分析提供了支持, 同时也为其他跨学科问题提供了数据和场景.社交网络的本质是描绘用户间的社交关系.社交关系的建立依赖于用户间的社交活动、真实社会关系以及社交需求等, 在很大程度上引导着用户社交行为.

社交关系大致可分为信任式社交关系和好友式社交关系[29].两者的区别主要体现在如下两点.

(1) 社交关系的维度粗细.

信任式社交关系为单向关系, 而好友式社交关系则为双向关系, 如facebook、twitter、微博等均为单向信任式社交关系, 豆瓣和qq等则为双向好友式社交关系.好友式社交关系往往是在现实社会中已是好友关系的前提下构建的, 而信任式社交关系可以看作是好友式社交关系的前提.信任关系细分之下又可分为信任与被信任, 信任的用户潜在即为“想成为好友的用户”, 而被信任的用户为“想与我成为好友的用户”.因此, 信任式社交关系比好友式社交关系更加精细.

(2) 用户间的品位相似度.

信任关系构建的前提是具有相似的偏好与品位, 即在用户i认为与用户k有相似品位的前提下才与用户k建立信任关系.然而这一特点并不完全适用于好友式社交关系的构建.在好友式社交关系中, 互为好友的用户之间可能在某些方面存在一定的相似品位, 同时也可能完全不具备任何共同爱好.因此, 不同的社交关系所能挖掘的信息也不尽相同.

依据社交网络中用户社交关系的构建特点, 社交信息能够在一定程度上表示用户的偏好信息.传统推荐方法假定用户相互独立, 忽略了用户之间的相互作用.然而现实生活中, 人们在做决策时会向朋友寻求建议或意见, 好友的喜好在一定程度上影响最终选择.全球著名的市场调研公司尼尔森在2015年发布的一项调查报告中指出, 超过八成(85%)的中国受访者在一定程度上信赖来自于朋友或家人的推荐(http://www.nielsen.com/cn/zh/press-room/2015/Advertising-In-China-Driving-Trust-And-Action.html).因此, 为了考虑用户间的相互影响, 研究人员引入社交信息扩展传统推荐模型, 提出了一系列社交推荐模型(social recommendation)[26-43], 期望较好地模拟真实场景下的推荐过程.

社交推荐方法与传统推荐方法相比有如下优点.

(1) 推荐精度高.相对于仅仅使用评分数据或是购买行为等单一用户数据进行推荐的传统推荐模型, 社交信息的引入, 能够更加精准地挖掘用户偏好.因此, 社交推荐模型往往在推荐精度方面高于传统推荐模型.

(2) 有效解决用户冷启动问题.传统推荐模型往往存在因数据稀疏、分布不均等特点造成的冷启动问题, 社交信息的引入, 为用户提供了额外的偏好信息, 因此, 社交推荐能够部分解决冷启动问题.

(3) 增加用户对推荐结果的信任度.由于社交信息的构建依赖于信任关系或是好友关系, 因此, 依赖社交关系进行推荐往往具有很强的说服力, 从而增加用户对推荐结果的信任度.

(4) 推荐结果具备一定的可解释性.依赖社交关系给出推荐的解释信息是增加用户对推荐结果信任度的保障, 如“你的好友A, B和30位其他用户都喜欢这个物品”的解释信息, 为说服用户购买商品提供了良好的推荐说明.

因此, 社交推荐一直成为推荐领域近年来的重要研究方向之一, 一系列社交推荐模型相继被提出来, 如基于矩阵分解的社交推荐模型[26-41]、基于近邻的社交推荐模型[42]、基于图的社交推荐模型[43, 44]等.与后两类社交推荐模型相比, 基于矩阵分解的社交推荐模型具备推荐精度高、可扩展性好、灵活性高等优点, 这也是前者成为主流社交推荐方法的主要原因.

2 问题场景与定义

传统推荐系统仅仅关注于用户与物品的联系[10], 如用户对物品是否关注.因此, 用户与物品间的关系通常可表示成如图 1(a)所示的二部图形式.假设用户数为n, 物品数为m, 如果某个物品jnj(nj<<n)个用户相关联, 则该物品可被表示成一个列向量Rj(nj=|Rj|), 如图 1(b)所示.如果用户i对物品j进行了评分, 则评分矩阵中的元素Rij代表相应的评分值; 否则, Rij=0(空值)表示用户i未对物品进行评分, 即该评分信息需要进行预测.因此, 整体评分信息可用矩阵$ R \in {\mathbb{R}^{K \times n}} $表示.

Fig. 1 Representation of user historical behavior information 图 1 用户历史行为信息表示

社交推荐中, 用户间的社交信息通常表示成网络形式, 如图 2(a)所示.同样, 为了计算与存储方便, 社交信息和评分信息一样能够表示成矩阵形式.社交关系的表示分两种.

Fig. 2 Representation of social relation between users 图 2 用户间社交关系表示

●  一种为纯粹的连接与非连接关系, 如图 2(b)所示:若用户i与用户k具有社交关系, 则社交关系矩阵中的元素Sik=1;否则, Sik=0.

●  社交关系的另一种表现形式为通过额外信息计算所得的关联强度.通常, 简单的连接关系并不能很好地表示用户间的关联强度, 目前已有多种关系强度度量方法被提出来, 并用于表示用户间的社交关系强度[23, 26-28], 如皮尔逊相关系数(Pearson correlation coefficient, 简称PCC)、余弦相似度(cosine similarity, 简称CS)等.如, 图 2(c)为通过余弦相似度计算得到用户社交关系强度所得社交关系矩阵.皮尔逊相关系数与余弦相似度计算公式如下:

$ {S_{ik\_PCC}} = \frac{{\sum\nolimits_{j \in I(i) \cap I(k)} {({R_{ij}} - {{\bar R}_i})({R_{kj}} - {{\bar R}_k})} }}{{\sqrt {\sum\nolimits_{j \in I(i) \cap I(k)} {{{({R_{ij}} - {{\bar R}_i})}^2}} } \sqrt {\sum\nolimits_{j \in I(i) \cap I(k)} {{{({R_{kj}} - {{\bar R}_k})}^2}} } }} $ (1)
$ {S_{ik\_CS}} = \frac{{\sum\nolimits_j {{R_{ij}}{R_{kj}}} }}{{\sqrt {\sum\nolimits_j {R_{ij}^2} } \sqrt {\sum\nolimits_j {R_{kj}^2} } }} $ (2)

其中, I(i)与I(k)分别表示用户i与用户k的评分物品集合, RiRk表示用户i与用户k的平均评分数.由上述计算公式可知, 当两用户具有少量共同评分项时, 其相似性较高.这有悖于我们对用户间相似度确定的标准.因此, 研究者引入共同评分数阈值, 当共同评分数小于阈值时, 对相似度进行缩放[45, 46].

2.1 矩阵分解

矩阵分解(matrix factorizaiton, 简称MF)推荐模型最早源于Simon Funk在博客上公布的Funk-SVD算法(http://sifter.org/~simon/journal/20061211.html).如图 3(a)所示, 其基本思想是, 从评分矩阵R中学习用户和物品在低维隐空间上的表示UV[11], 对应的优化模型为

$ {J_{MF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _r}(||U||_F^2 + ||V||_F^2) $ (3)
Fig. 3 Basic idea of matrix factorization model 图 3 矩阵分解模型基本思想

其中, U=[U1, U2, …, Un]∈$ {\mathbb{R}^{K \times n}} $为用户特征矩阵, Ui表示用户i的特征向量(偏好向量), V=[V1, V2, …, Vm]∈ $ {\mathbb{R}^{K \times m}} $为物品特征矩阵, Vj表示物品j的特征向量, K表示隐变量个数.上式中的第1项$ ({R_{ij}} - U_i^T{V_j}) $表示真实评分值与预测评分值的误差, 第2项$ (||U||_F^2 + ||V||_F^2) $用于控制模型的复杂度以避免模型过拟合, 参数αr用于平衡上述两项的贡献度.

为了追求计算的高效性, 一般采用基于梯度下降(gradient descent, 简称GD)的批量梯度下降法(batch gradient descent, 简称BGD)或随机梯度下降法(stochastic gradient descent, 简称SGD)对上述模型进行求解.在每一次迭代中, BGD对所有用户与物品的特征向量迭代执行公式(4)和公式(5)的操作.而对于SGD, 在每一次迭代更新时并没有公式(4)和公式(5)中的求和项, 仅仅使用随机选定的一个评分值:

$ U_i^{(\tau + 1)} = U_i^{(\tau )} + \gamma \left( {\sum\limits_{{R_{ij}} \ne 0} {{e_{ij}}{V_j}} - {\alpha _r}U_i^{(\tau )}} \right) $ (4)
$ V_j^{(\tau + 1)} = V_j^{(\tau )} + \gamma \left( {\sum\limits_{{R_{ij}} \ne 0} {{e_{ij}}{U_i}} - {\alpha _r}V_j^{(\tau )}} \right) $ (5)

其中, $ {e_{ij}} = {R_{ij}} - U_i^T{V_j} $表示观测评分值与预测评分值间的误差, γ为用于控制迭代更新步长的学习率, τ表示迭代更新的序列标号.

2.2 概率矩阵分解

与此同时, Salakhutdinov等人从概率的角度对于上述矩阵分解模型进行解释, 提出了概率矩阵分解模型(probabilistic matrix factorization, 简称PMF)[47], 如图 3(b)所示.假定真实观测评分Rij与预测评分$ U_i^T{V_j} $的差值符合均值为0, 方差为σ2的高斯分布, 即$ p({R_{ij}} - U_i^T{V_j}|0, {\sigma ^2}) $.因此, 真实观测评分值服从均值为$ U_i^T{V_j} $、方差为σ2的高斯分布.由于假定所有观测评分值均相互独立, 可得:

$ p(R|{U^T}V, {\sigma ^2}) = \prod\limits_{i = 1}^n {\prod\limits_{j = 1}^m {{{[N({R_{ij}}|g(U_i^T{V_j}), {\sigma ^2})]}^{{R_{ij}}}}} } $ (6)

其中, N(x|μ, σ2)表示均值为μ方差为σ2的高斯分布, g(x)=1/(1+exp(-x))为logistic函数.

假定用户和物品的特征矩阵UV满足均值为0、方差分别为$ \sigma _U^2 $$ \sigma _V^2 $的高斯分布, 同时假定用户特征矩阵U中各用户的特征向量满足独立同分布, 物品特征矩阵V中各物品的特征向量也满足独立同分布, 则有:

$ p(U|\sigma _U^2) = \prod\limits_{i = 1}^n {N({U_i}|0, \sigma _U^2I)} $ (7)
$ p(V|\sigma _V^2) = \prod\limits_{j = 1}^m {N({V_j}|0, \sigma _V^2I)} $ (8)

利用贝叶斯规则, 特征矩阵UV的后验分布可通过如下方法计算:

$ \left. \begin{array}{l} p(U, V|R, {\sigma ^2}, \sigma _U^2, \sigma _V^2) \propto p(R|U, V, {\sigma ^2})p(U|\sigma _U^2)p(V|\sigma _V^2) = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\prod\limits_{i = 1}^n {\prod\limits_{j = 1}^m {{{[N({R_{ij}}|U_i^T{V_j}, {\sigma ^2})]}^{{R_{ij}}}}} } \prod\limits_{i = 1}^n {N({U_i}|0, \sigma _U^2I)} \prod\limits_{j = 1}^m {N({V_j}|0, \sigma _V^2I)} \end{array} \right\} $ (9)

最大化特征矩阵UV的后验概率, 等价于最小化上式的负对数.因此, 当超参数(σ, σU, σV)固定时, 可得如下目标函数:

$ {J_{PMF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(U_i^T{V_j}))}^2}} + \frac{{{\sigma ^2}}}{{\sigma _U^2}}||U||_F^2 + \frac{{{\sigma ^2}}}{{\sigma _V^2}}||V||_F^2 + C $ (10)

其中, C为不依赖于参数的常数.为计算方便, 假定超参数σU, σV相同, 则上述目标函数等价于传统矩阵分解模型(3).故, 传统矩阵分解模型适用的梯度类优化方法也能用于此模型的求解.同时, 也可依照概率模型求解方法, 即使用最大期望算法(expectation maximization, 简称EM)或者马尔可夫链蒙特卡洛算法(Markov chain Monte Carlo, 简称MCMC)等求解参数UV的最大似然估计(maximum likelihood estimation, 简称MLE)[47-49].

3 融合社交信息的矩阵分解模型

正如上文所述, 矩阵分解推荐模型具备推荐精度高、可扩展性好、灵活性高等特点.最早开展相关研究的是Ma等人于2008年提出的SoRec模型[26].近10年来, 不断有新的基于矩阵分解的社交推荐模型被提出来[25-38], 其发展轨迹如图 4所示.

Fig. 4 History of matrix factorization based recommendation models by integrating social information 图 4 融合社交信息的矩阵分解推荐模型历史

依据矩阵分解推荐模型构建方式, 上述融合社交信息的推荐方法大致分为两类:一是基于用户特征矩阵共享表示的[26, 30-34], 二是基于用户特征矩阵重表示的[27-29, 33, 35-37, 39].用户特征矩阵共享表示是指同步分解评分矩阵和社交关系矩阵, 两者共享用户特征矩阵.用户特征矩阵重表示是指从评分矩阵所得用户特征矩阵时受制于社交网络中关联用户的信息, 其关联用户包括与当前用户具有直接社交关系或间接社交关系的用户, 后者主要体现在无直接关联但拥有相同兴趣爱好的用户之间.因此, 本文将依据社交网络中用户直接关系与间接关系对第2种社交推荐方法进行分类介绍.

3.1 用户特征矩阵共享表示

基于用户特征矩阵共享表示的推荐模型假定用户特征矩阵同时隐藏于评分信息与社交信息中, 其模型可以统一表示为

$ J = \sum\limits_{{R_{ij}} \ne 0} {l({R_{ij}}, {F_{ij}})} + {\alpha _u}\sum\limits_{i, k} {l({S_{ik}}, {P_{ik}})} + {\alpha _r}\varphi (\theta ) $ (11)

第1项是针对用户历史行为信息R设置, 如评分信息, Rij表示用户i对物品j的评分.Fij=f(Ui, Vj)代表通过待求解的用户特征向量(Ui)和物品特征向量(Vj)拟合评分信息的函数, 如$ {F_{ij}} = f({U_i}, {V_j}) = U_i^T{V_j} $.第2项是针对用户社交关系S设计的, Sik表示用户i和用户k的社交关联度, 通常基于余弦相似度(2)、皮尔逊相似度(1)或其他相似度度量方法计算得来; Pik=h(Ui, Zk)代表通过待求解的用户特征向量Ui和社交特征向量Zk拟合用户社交关系的函数.第3项是前两项所包含变量θ={{Ui, Vj, …}i=1, …, n; j=1, …, m}的正则约束项.通常, 约束正则项可由不同范数描述, 如L1, L2, Lp(0≤p<1)等.因此可以看出, 评分矩阵分解为用户特征矩阵和物品特征矩阵, 社交关系矩阵分解为用户特征矩阵, 用户特征矩阵作为共享分解表示的中介关联着评分信息与社交信息.

SoRec[26]作为既是第1个基于矩阵分解的社交推荐模型, 也是第1个基于用户特征矩阵共享表示的社交推荐模型, 为后续研究人员进行社交推荐的研究起着关键的引导作用, 如图 5(a)所示.

Fig. 5 Framework of social recomendation 图 5 社交推荐框架

该模型在原有概率矩阵分解推荐模型的基础上增加用户社交关系矩阵, 同时将其分解为用户特征矩阵与社交特征矩阵.其中, 用户特征矩阵与评分矩阵分解所得的用户特征矩阵是共享的.如上述定义的统一模型所示, SoRec定义的$ \sum\nolimits_{i, k} {l({S_{ik}}, {P_{ik}})} $可表示为如下形式:

$ \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - {P_{ik}})}^2}} = \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(U_i^T{Z_k}))}^2}} $ (12)

其中, Sik是通过计算用户连接关系度得来的[50], Z=[Z1, Z2, …, Zn]∈ $ {\mathbb{R}^{K \times n}} $表示社交特征矩阵, g(x)=1/(1+exp(-x))为logistic函数.SoRec的目标函数可写为

$ {J_{SoRec}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(U_i^T{V_j}))}^2}} + {\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(U_i^T{Z_k}))}^2}} + \\{\alpha _r}(||U||_F^2 + ||V||_F^2 + ||Z||_F^2) $ (13)

此后, 陆续有其他基于用户特征矩阵共享表示的推荐模型被提出来.与SoRec社交信息构建方式不同, Yang等人[31]提出了基于信任与被信任关系的社交推荐模型TrustMF.依据信任关系的有向性, TrustMF将每一个用户映射为两个不同的K维特征向量, 分别称为信任者特征向量(truster-specific feature vector)Bi和被信任者特征向量(trustee-specific feature vector)Wi.BiWi分别刻画了用户i所受其信任用户的影响与对信任其的用户的影响.因此, 依据共享特征表示的统一模型定义, 用户i与用户k间信任关系强度Sik可以表示成如下形式:

$ \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - {P_{ik}})}^2}} = \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(B_i^T{W_k}))}^2}} $ (14)

可以看出, TrustMF对社交信息的分解形式与SoRec一致.但正如TrustMF中所指出的, 两者对于社交关系的建模方式完全不一样.SoRec仅仅是从纯数学角度进行建模, 分解得到的社交特征矩阵并不存在实际含义.而TrustMF从信任关系产生角度进行考虑, 分别对信任与被信任行为进行建模.Yang等人首先提出了Truster-MF模型, 该模型假定信任者特征向量Bi等价于用户特征向量Ui, 因此, 通过共享用户特征空间将评分矩阵R与社交矩阵S同步分解.为防止过拟合, 针对不同正则化参数应采用不同惩罚权重[51].因此, Truster-MF模型整体目标函数如下:

$ \left. \begin{array}{l} {J_{Truster - MF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(B_i^T{V_j}))}^2}} + {\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(B_i^T{W_k}))}^2}} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\alpha _r}\left( {\sum\limits_i {({n_{{b_i}}} + {m_{{b_i}}})||{B_i}||_F^2} + \sum\limits_j {{n_{{v_j}}}||{V_j}||_F^2} + \sum\limits_k {{m_{{w_k}}}||{W_k}||_F^2} } \right) \end{array} \right\} $ (15)

其中, $ {n_{{b_i}}} $$ {n_{{v_j}}} $表示用户i和物品j的评分个数, $ {m_{{b_i}}} $表示用户i信任的用户个数, $ {m_{{w_k}}} $表示信任用户k的用户个数, g(x)=1/(1+exp(-x))为logistic函数.同时, 针对被信任关系, Yang等人也提出了Trustee-MF模型.与Truster-MF不同, Trustee-MF假定被信任者特征向量Wi等价于用户特征向量Ui, 因此, Trustee-MF模型整体目标函数如下:

$ \left. \begin{array}{l} {J_{Trustee{\rm{ - }}MF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(W_i^T{V_j}))}^2}} + {\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(B_i^T{W_k}))}^2}} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\alpha _r}\left( {\sum\limits_i {({n_{{w_i}}} + {m_{{w_i}}})||{W_i}||_F^2} + \sum\limits_j {{n_{{v_j}}}||{V_j}||_F^2} + \sum\limits_k {{m_{{b_k}}}||{B_k}||_F^2} } \right) \end{array} \right\} $ (16)

其中, $ {n_{{w_i}}}, {n_{{v_j}}} $表示用户i和物品j的评分个数; $ {m_{{b_k}}} $表示用户k信任的用户个数; $ {m_{{w_i}}} $表示信任用户i的用户个数.

对用户-物品评分信息进行预测时, Yang等人提出了如下融合策略:

$ {\hat R_{ij}} = g\left( {{{\left( {\frac{{B_i^r + W_i^e}}{2}} \right)}^T}\left( {\frac{{V_j^r + V_j^e}}{2}} \right)} \right) \cdot {R_{\max }} $ (17)

其中, $ B_i^r, V_j^r $是由Truster-MF模型(13)获得的信任者特征向量和物品特征向量, $ W_i^e, V_j^e $是由Trustee-MF模型(14)获得的被信任者特征向量和物品特征向量, Rmax为原始评分值的最大值.

为了放松TrustMF中限定信任者特征向量Bi和被信任者特征向量Wi等价于用户特征向量Ui的强约束条件, Yang等人在TrustMF基础上提出了新的模型TrustPMF[34].该模型以概率思想引入, 假定用户和物品的特征矩阵UV以及信任者和被信任者特征矩阵BW满足均值为0的高斯分布.同时假定用户特征向量Ui近似于信任者特征向量Bi, 用户特征向量Ui近似于被信任者特征向量Wi.因此, 除了高斯先验以外, 假定用户特征向量在信任者特征向量上的条件分布为$ p(U|B, \sigma _N^2) = \prod\nolimits_{i = 1}^n {N({U_i}|{B_i}, \sigma _N^2I)}, $在被信任者特征向量上的条件分布为$ p(U|W, \sigma _W^2) = \prod\nolimits_{i = 1}^n {N({U_i}|{W_i}, \sigma _M^2I)}, $其中, 方差$ \sigma _N^2 $表示UiBi的近似程度, $ \sigma _M^2 $表示UiWi的近似程度.

依据贝叶斯理论, 用户、物品、信任者以及被信任者特征向量的联合后验概率可表示为

$ \left. {\begin{array}{*{20}{l}} \begin{array}{l} p(U,V,B,W|R,S,{\sigma ^2},\sigma _U^2,\sigma _V^2,\sigma _N^2,\sigma _M^2,\sigma _B^2,\sigma _W^2) \propto p(R|U,V,{\sigma ^2})p(S|B,W,{\sigma ^2})\\ p(U|\sigma _U^2)p(V|\sigma _V^2) \end{array}\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;p(U|B,\sigma _N^2)p(U|W,\sigma _M^2)p(B|\sigma _B^2)p(W|\sigma _W^2)} \end{array}} \right\} $ (18)

最大化特征矩阵U, V, B, M的后验概率, 等价于最小化上式的负对数.因此, 可得如下目标函数:

$ \left. {\begin{array}{*{20}{l}} \begin{array}{l} {J_{TrustPMF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(U_i^T{V_j}))}^2}} + {\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - g(B_i^T{W_k}))}^2}} + \\{\beta _1}\sum\limits_{i = 1}^n {||{U_i} - {B_i}||_F^2} + {\beta _2}\sum\limits_{i = 1}^n {||{U_i} - {W_i}||_F^2} + \end{array}\\ {\;\;\;\;\;{\alpha _r}\left( {\sum\limits_{i = 1}^n {({n_{{u_i}}})||{U_i}||_F^2} + \sum\limits_{j = 1}^m {({n_{{v_j}}})||{V_j}||_F^2} + \sum\limits_{i = 1}^n {({m_{{b_i}}})||{B_i}||_F^2} + \sum\limits_{i = 1}^n {({m_{{w_k}}})||{W_k}||_F^2} } \right)} \end{array}} \right\} $ (19)

其中, $ {n_{{u_i}}}, {n_{{v_j}}} $表示用户i和物品j的评分个数; $ {m_{{b_i}}} $表示用户i信任的用户个数; $ {m_{{w_k}}} $表示信任用户k的用户个数; g(x)=1/(1+exp(-x))为logistic函数.可以看出, TrustPMF采用二范数约束用户特征向量与信任者特征向量和被信任者特征向量间的近似表示.因此, 相对于TrustMF, TrustPMF更符合实际情况.

与上述将社交信息分解成两个特征向量内积形式方法不同, Tang等人提出了融合局部与全局社交信息的社交推荐模型LOCABAL[30].当然, 其本质还是属于评分矩阵与社交矩阵同步分解.所谓局部社交信息, 即用户与其好友之间的关系, 拥有朋友关系的用户之间往往具有相似的品位.而全局社交信息表明:当用户寻求建议或作出决策时, 社交网络中声誉高的用户可能影响该用户的决策.因此, 可将不同视角的社交关系应用于推荐系统以提升推荐性能.

根据社交关系理论, 拥有较强社交关系的用户往往具有相似的品位.通过寻找每一个用户的最近邻用户, 并依据相邻两用户评分向量间的余弦相似度评估彼此间的社会关系强度.根据基本矩阵分解模型, 每一个用户可由特征向量Ui表示, 且相应的隐特性关联强度可由矩阵H$ {\mathbb{R}^{K \times n}} $刻画, 如公式(20)所示:

$ \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - {P_{ik}})}^2}} = \sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - U_i^TH{U_k})}^2}} $ (20)

最小化公式(20), 可确保用户在隐空间上的表示具备与社交关系S一致的局部信任关系.

与此同时, 社交关系的全局视角揭示了用户在整个社交网络中的声誉.声誉高的用户往往具有较大的社会影响力.其中, 用户i的声誉分数定义为ωi=1/(1+log(ri)), ri∈[1, n]表示用户在全局社交网络中的排名, 可通过PageRank算法[52]计算得到的.若ri=1, 则表示用户i拥有最高的声誉, 声誉分数ωi为最大值.因此, 当评分矩阵R分解时, 对每一个用户特征向量加上相应的权重(声誉分数).

通过结合局部与全局的社交信息, LOCABAL模型的整体目标函数如下:

$ {J_{LOCABAL}} = \sum\limits_{{R_{ij}} \ne 0} {{\omega _i}{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _u}\sum\limits_{i = 1}^n {\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - U_i^TH{U_k})}^2}} } + \\{\alpha _r}(||U||_F^2 + ||V||_F^2 + ||H||_F^2) $ (21)

Fang等人[32]研究了将信任信息Sik分解成4个维度进行衡量:善意(benevelence)、正直(integrity)、能力(competence)、可预测性(predictability).善意B(i, k)表示用户k对用户i的偏好关心程度, 正直I(k)表示用户k对符合道德规范和艺术价值标准的认可程度, 能力Co(i, k)表示用户k对用户i所期盼的用户行为的执行力, 可预测性Pr(i, k)表示用户k的行为透明度.因此, 社交信任关系Sik所受的影响能够表示成Fik={bi, , B(i, k), I(k), Co(i, k), Pr(i, k)}, 则社交关系能够分解成如下形式:

$ \sum\limits_{{S_{ik}} \ne 0} {{{(\lambda s({U_i}, {U_k}) + (1 - \lambda )f({F_{ik}}) - {S_{ik}})}^2}} $ (22)

其中, s(Ui, Uk)表示特征向量UiUk的相似度, f(Fik)表示利用支持向量回归进行信任维度整合.将多维信任信息集成到概率矩阵分解模型中, 可得FangPMF的整体目标函数:

$ {J_{FangPMF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{(\lambda s({U_i}, {U_k}) + (1 - \lambda )f({F_{ik}}) - {S_{ik}})}^2}} + \\{\alpha _r}(||U||_F^2 + ||V||_F^2) $ (23)
3.2 用户特征矩阵重表示

正如上一节中所述, 基于联合分解评分矩阵与社交矩阵的用户特征矩阵共享表示方法是目前较为流行的社交推荐模型构建方式之一.另一种主流方式为利用社交关系对用户特征向量进行重表示, 其推荐模型可统一概括成如下形式:

$ J = \sum\limits_{{R_{ij}} \ne 0} {\sum\limits_{i, k} {l({R_{ij}}, {S_{ik}}, {F_{ij}})} } + {\alpha _u}\sum\limits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} + {\alpha _r}\varphi (\theta ) $ (24)

其中, 第1项是针对用户历史行为信息R与社交关系S设置, 其中, Rij表示用户i对物品j的评分信息; Sik表示用户i对用户k的社交关系强度.用户特征矩阵的重表示即通过用户关系修正上式中第1项的用户特征向量来实现社交推荐, 如$ {F_{ij}} = f({U_i}, {V_j}) = {({U_i} + \sum\nolimits_{p \in {N_i}} {{U_p}} )^T}{V_j}, $其中, Ni表示通过社交关系所得用户i的近邻用户集.此外, 用户特征矩阵重表示亦或是通过上式第2项中限定用户特征向量与好友特征向量近似相等, 通常, 近似程度还受到社交关系强度Sik的影响.第3项是针对前两项所包含变量θ={{Ui, Vj, …}i=1, …, n; j=1, …, m}的正则约束项.因此, 用户特征矩阵重表示模型相对于共享表示方法更简明易懂.

依据先前的划分规则, 我们将社交关系分类为直接社交关系与间接社交关系, 并对已有方法进行分类综述.

3.2.1 直接社交关系

在Ma等人提出SoRec社交推荐模型之后, 又提出了一个加权社交信息的推荐模型(recommendations with social trust ensemble, 简称RSTE)[27].RSTE模型在对目标用户进行评分预测时不仅利用用户的偏好信息, 还综合考虑用户所信任好友的偏好.因此, RSTE模型将用户i对物品j的预测评分与用户i的信任好友对物品j的预测评分进行加权平均, 得到用户i对物品j的最终预测评分.其最终目标函数如下:

$ {J_{RSTE}} = \sum\limits_{{R_{ij}} \ne 0} {{{\left( {{R_{ij}} - g\left( {\alpha U_i^T{V_j} + (1 - \alpha )\sum\limits_{k \in {N_i}} {{S_{ik}}U_k^T{V_j}} } \right)} \right)}^2}} + {\alpha _r}(||U||_F^2 + |||V||_F^2) $ (25)

如上述定义的统一模型所示, RSTE定义的$ \sum\nolimits_{{R_{ij}} \ne 0} {\sum\nolimits_{i, k} {l({R_{ij}}, {S_{ik}}, {F_{ij}})} } $可表示为如下形式:

$ \mathop \sum \limits_{{R_{ij}} \ne 0} \mathop \sum \limits_{i, k} l({R_{ij}}, {S_{ik}}, {F_{ij}}) = \mathop \sum \limits_{{R_{ij}} \ne 0} ({R_{ij}} - g(\alpha U_i^T + (1 - \alpha )\mathop \sum \limits_{k \in {N_i}} {S_{ik}}U_k^T){V_j}){)^2} $ (26)

其中, α用于衡量用户偏好与好友偏好间的权重关系.可以看出, RSTE模型中用户特征向量被重表示为

$ (\alpha U_i^T + (1 - \alpha )\sum\nolimits_{k \in {N_i}} {{S_{ik}}U_k^T} ). $

尽管RSTE模型在一定程度上利用了社交信息以提升推荐精度, 但是该算法仅仅考虑好友偏好对用户最终预测评分的影响, 而未考虑用户间偏好信息的传播.为此, Jamali等人基于社交网络中信任传播机制提出了一种新型社交推荐模型SocialMF[28].SocialMF假定用户的偏好信息在很大程度上取决于其所信任的好友的偏好信息, 因此, 用户特征向量可以表示成其信任好友的特征向量的加权平均:

$ {U_i} = \sum\limits_{k \in {N_i}} {{S_{ik}}{U_k}} $ (27)

同样地, SocialMF从概率思想引入, 假定用户和物品的特征矩阵UV满足均值为0的高斯分布, 最终预测评分满足高斯噪声.同时, 由于用户特征向量是在其所信任好友的特征向量的基础上构建而来, 故假定用户特征向量的条件分布为

$ p(U|S, \sigma _U^2, \sigma _S^2) \propto p(U|\sigma _U^2)p(U|S, \sigma _S^2) $ (28)

依据贝叶斯规则, 可得用户特征向量U与物品特征向量V的后验分布:

$ p(U, V|R, S, {\sigma ^2}, \sigma _U^2, \sigma _V^2, \sigma _S^2) \propto p(R|U, V, {\sigma ^2})p(U|S, \sigma _U^2, \sigma _S^2)p(V|\sigma _V^2) $ (29)

通过取负对数, 删除与参数无关的项, 可得SocialMF模型的目标函数:

$ {J_{SocialMF}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - g(U_i^T{V_j}))}^2}} + {\alpha _u}\sum\limits_i {{{\left( {{U_i} - \sum\limits_{k \in {N_i}} {{S_{ik}}{U_k}} } \right)}^T}} \left( {{U_i} - \sum\limits_{k \in {N_i}} {{S_{ik}}{U_k}} } \right) + \\{\alpha _r}(||U||_F^2 + ||V||_F^2) $ (30)

SoReg是Ma等人于2011年在WSDM上提出的一种社交正则化推荐模型[29].该模型构建思路与SocialMF类似, 即假定用户特征向量应该和好友的特征向量相似.为此, 提出了使用社交信息对用户特征向量做规则化处理, 从而利用好友的偏好信息来影响用户的最终预测评分, 其概率图模型如图 5(b)所示.

此外, SoReg首次提出了信任关系与好友关系的不同, 认为信任关系的建立依赖于用户间具有相似的兴趣偏好, 而好友关系的建立则更多地依赖于用户在现实世界中的社交关系.为此, 针对不同类型社交关系, 提出了两种不同的模型:(1)基于平均值的正则化SoRega; (2)基于个体的正则化SoRegi.由于第2种假设更加符合社交关系对用户偏好的影响, 因此, 我们重点介绍第2种方法的构建.

基于个体正则化方法SoRegi的基本假设与SocialMF类似, 即认为用户的偏好应与其好友的偏好一致, 但对于不同关系强度的好友应加以区分, 有效限制了用户偏好与其不同好友间偏好的差异.为此, 如上述定义的统一模型所示, SoRegi定义的$ \sum\nolimits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} $可表示为如下形式:

$ \sum\limits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} = \sum\limits_i {\sum\limits_{k \in {N_i}} {{S_{ik}}||{U_i} - {U_k}||_F^2} } $ (31)

因此, SoRegi模型的整体目标函数如下:

$ {J_{SoRe{g_i}}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _u}\sum\limits_i {\sum\limits_{k \in {N_i}} {{S_{ik}}||{U_i} - {U_k}||_F^2} } + {\alpha _r}(||U||_F^2 + ||V||_F^2) $ (32)

Guo等人在SVD++模型[53]基础上引入了社交信息, 从而提出TrustSVD模型[33].将用户显式信任关系与评分信息一样看作隐式反馈信息, 在原有SVD++模型上加入社交反馈信息, 重新构建预测评分:

$ \sum\limits_{{R_{ij}} \ne 0} {{{\left( {{R_{ij}} - \mu - {b_i} - {b_j} - {{\left( {{U_i} + |R(i){|^{ - \frac{1}{2}}}\sum\limits_{p \in R(i)} {{I_p}} + |S(i){|^{ - \frac{1}{2}}}\sum\limits_{k \in S(i)} {{W_k}} } \right)}^T}{V_j}} \right)}^2}} $ (33)

其中, μ为全局评分的均值, bi表示用户i所做评分相对于平均评分的偏差, bj表示物品j的评分相对于平均评分的偏差, Ip表示物品p对用户特征向量的影响因子, Wk表示用户k对用户特征向量的影响因子(社交特征向量), R(i)表示用户i的评分物品集合, S(i)表示用户i的社交关联用户集合.

因文献[32]重点分析TrustSVD相对于SVD++的差异为引入隐式社交反馈信息对用户特征矩阵进行重表示, 因此, 我们将其归类为用户特征矩阵重表示类别.但实际上, TrustSVD在加入隐式社交反馈信息对用户特征矩阵进行重表示的同时, 也对社交关系矩阵进行分解, 构成用户特征矩阵和社交特征矩阵, 这表明TrustSVD本质上使用了用户特征矩阵重表示与共享表示两种策略.因此, TrustSVD模型的整体目标函数如下:

$ \left. {\begin{array}{*{20}{l}} \begin{array}{l} {J_{TrustSVD}} = \\ \sum\limits_{{R_{ij}} \ne 0} {{{\left( {{R_{ij}} - \mu - {b_i} - {b_j} - {{\left( {{U_i} + |R(i){|^{ - \frac{1}{2}}}\sum\limits_{p \in R(i)} {{I_p}} + |S(i){|^{ - \frac{1}{2}}}\sum\limits_{k \in S(i)} {{W_k}} } \right)}^T}{V_j}} \right)}^2}} + \end{array}\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\alpha _u}\sum\limits_{{S_{ik}} \ne 0} {{{({S_{ik}} - U_i^T{W_k})}^2}} + {\alpha _r}(\varphi ({b_i},{b_j},{U_i},{V_j},{I_p},{W_k}))} \end{array}} \right\} $ (34)

其中, φ(bi, bj, Ui, Vj, Ip, Wk)表示对变量的正则约束项.需要指出的是, TrustSVD针对不同正则化参数同样采用不同惩罚权重, 但与TrustMF不同的是, TrustSVD认为受欢迎的用户和物品由于更小的可能过拟合而应受到较少的惩罚, 评分数少的用户和物品因更可能过拟合而应具备更强的正则化.

3.2.2 间接社交关系

上一节对利用直接社交关系的基于用户特性向量重表示的推荐模型进行了详细介绍, 本节将对利用用户间接社交关系的推荐模型进行综述.直接社交关系显性存在于社交网络中, 而间接社交关系又称为隐型社交关系, 往往表现在并无直接关联但拥有相同兴趣爱好的用户之间.为此, 有学者采用社区发现算法挖掘用户间的隐型社交关系[54-59], 并利用隐型社交关系构建社交推荐模型[36, 37].整个推荐过程分阶段实现.

最近, Li等人提出了重叠社区正则化的融合社交信息推荐模型MFC[36].已有重叠社区发现算法CMP[54], BIGCLAM[55], CESNA[56]被用来从社交网络中挖掘社团(获取用户-社团隶属信息Zih), 划分到同社区中的用户具有相似的品位.由于用户自身偏好的多样性, 单个用户可能同时隶属于多个社区.如上述定义的统一模型所示, MFC定义的$ \sum\nolimits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} $可表示为如下形式:

$ \sum\limits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} = \sum\limits_i {\sum\limits_{I_{ih}^Z \ne 0} {{Z_{ih}}} } \sum\limits_{k \in {M_{ih}}} {{S_{ik}}||{U_i} - {U_k}||_F^2} $ (35)

其中,

●   $ I_{ih}^Z $为指示函数:若$ I_{ih}^Z = 1 $则表明用户i属于社区h; $ I_{ih}^Z = 0 $表明用户i不属于社区h;

●  Mih表明与用户i共同隶属于社区h的用户集合.

可以看出, MFC的社交正则化部分即为SoReg社交正则化在不同重叠社区用户上的细分.

因此, MFC模型的整体目标函数如下:

$ {J_{MFC}} = \sum\limits_{{R_{ij}} \ne 0} {{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _u}\sum\limits_i {\sum\limits_{I_{ih}^Z \ne 0} {{Z_{ih}}} } \sum\limits_{k \in {M_{ih}}} {{S_{ik}}||{U_i} - {U_k}||_F^2} + {\alpha _r}(||U||_F^2 + ||V||_F^2) $ (36)

针对现有推荐模型假定社交关系具有同构关系这一简单猜想, Tang等人提出了基于社交维度的推荐模型(recommendation with social dimensions, 简称SoDimRec)[37].社交维度表示了一组可能并不具有社交关系, 但兴趣偏好相似的用户集合.SoDimRec采用传统社区发现算法识别用户社交维度(社团)[59], 并在此基础上构建社交推荐模型.依据社交网络的同质性和异构性[60, 61], SoDimRec假定每一个社交维度k存在一个对应的偏好向量$ {\hat U_k}, $若用户属于某一社交维度, 则用户特征向量应与社交维度偏好向量相似.依据上述定义的统一模型, SoDimRec中的社交关系对用户特征向量重表示可由下式实现:

$ \sum\limits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} = \sum\limits_i {\sum\limits_{k \in I(G)} {{S_{ik}}||{U_i} - {{\hat U}_k}||_F^2} } $ (37)

其中, I(G)表示用户i所在的社交维度的集合, Sik表示用户i与社交维度k的关联强度.

此外, SoDimRec还定义了用户间的弱依赖关系[62].由于同属于一个社交维度的用户间可能并不存在社交关系, 因此, Tang等人假定若用户间不存在社交关系, 但同属于一个社团的用户间存在弱依赖关系.同样, 假定存在弱依赖关系的用户, 其特征向量应该近似相等.则依据所定义的统一模型, SoDimRec的弱依赖关系可表示成如下形式:

$ \sum\limits_{i, k} {l({U_i}, {U_k}, {S_{ik}})} = \sum\limits_i {\sum\limits_{k \in I(G)} {\sum\limits_{j \in {H_{ik}}} {{S_{ijk}}||{U_i} - {U_j}||_F^2} } } $ (38)

其中, Hik表示与用户i隶属于社交维度k且具有弱依赖关系的用户集合; Sijk表示用户i与用户j在社交维度k中的弱依赖连接强度, 其定义了两用户间的兴趣相似度.

综上, 推荐模型SoDimRec的整体目标函数定义为

$ \left. \begin{array}{l} {J_{SoDimRec}} = \sum\limits_{{R_{ij}} \ne 0} {{\omega _i}{{({R_{ij}} - U_i^T{V_j})}^2}} + {\alpha _H}\sum\limits_i {\sum\limits_{k \in I(G)} {{S_{ik}}||{U_i} - {{\hat U}_k}||_F^2} } + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\alpha _W}\sum\limits_i {\sum\limits_{k \in I(G)} {\sum\limits_{j \in {H_{ik}}} {{S_{ijk}}||{U_i} - {U_j}||_F^2} } } + {\alpha _r}(||U||_F^2 + ||V||_F^2 + ||\hat U||_F^2) \end{array} \right\} $ (39)

其中, αHαW分别用于控制异构性模块和弱依赖连接模块的贡献度.

LoCo是Suvash等人提出的用于解决用户冷启动问题的社交推荐模型[39].他们通过分析3类典型解决冷启动问题的社交推荐模型——社交近邻方法(social neighborhood)[63]、联合矩阵分解(collective matrix factorization)[64]、特征映射矩阵分解(matrix factorization with feature mapping)[65], 从线性回归的角度得出其本质模型构建规律, 从而提出了低秩冷启动社交推荐模型LoCo.LoCo将用户划分为热启动用户mwa(warm-start users)和冷启动用户mco(cold-start users), 即, 至少有1个历史行为信息的用户和无任何历史行为信息的用户.模型的训练依赖于热启动用户信息, 整体模型如下:

$ {J_{LoCo}} = ||{R_{wa}} - {S_{wa}}W||_F^2 + {\alpha _r}||W||_F^2 $ (40)

其中, Swa为已有的热启动用户社交元信息(social metedata), 如用户群组隶属信息; W为相应的权重.

利用奇异值分解方法对社交信息矩阵进行分解, SwaUΣVT, 其中, 矩阵U, V分别为满足低秩正交特性的用户特征矩阵和物品特征矩阵.同样, 对于权重信息W可等价于VZ, Z为新的权重信息.因此, 上述模型可看作是主成分回归分析.整体目标函数如下:

$ {J_{LoCo}} = ||{R_{wa}} - {S_{wa}}W||_F^2 + {\alpha _r}||W||_F^2 = ||{R_{wa}} - U\Sigma {V^T}VZ||_F^2 + {\alpha _r}||Z||_F^2 $ (41)

其中, 用户特征矩阵被重表示为UΣVTV.

3.3 算法复杂度分析

由于本文综述的社交推荐模型是基于矩阵分解方法, 因此均能采用梯度下降法进行模型的求解.故各算法的时间复杂度主要包括对目标函数和各变量梯度的计算.由于各社交推荐模型均含有不同的变量, 故表 1仅列出了算法的整体计算复杂度.

Table 1 Overall computation complexity of each social recommendation 表 1 各社交推荐模型整体计算复杂度

表 1中, K为隐空间中特征的个数, t为梯度下降迭代次数, |R|和|S|分别表示评分矩阵与社交关系矩阵中非零元个数, m表示单个用户的平均评分物品数, s表示用户平均社交关系数, f表示用户隶属的平均社区个数, c=max(r, p)由于评分矩阵与社交关系矩阵均具有高度稀疏性, 因此$ \bar r < < |R|, \bar p < < |S|. $各算法的整体复杂度与评分矩阵和社交关系矩阵中的观测值个数均呈线性关系.由于LoCo模型的计算复杂度依赖于用户社交元数据Swa的随机奇异值分解与权重信息Z的计算, 因此, 其计算复杂度为$ O({K^3} + K({m_{wa}}\bar m + n\bar f) + {K^2}(m + f)) $其中, mwa表示至少有1个历史行为信息的用户数.

表 1仅仅显示了计算各变量梯度与目标函数时的整体复杂度, 相对于利用直接社交关系的推荐模型, 利用间接社交关系的推荐模型往往还需要在模型构建前进行相应的间接社交关系的挖掘.因此, 对于整体计算复杂度, 利用间接社交关系的推荐模型往往高于利用直接社交关系的推荐模型.

4 算法评估

为了分析已有社交推荐方法在不同数据集及不同评测指标下的表现, 我们分别对各算法进行了如下测试.

4.1 数据集

由于我们关注的是社交推荐, 因此, 为了比较不同信息对推荐结果的影响, 本文采用了4个含有用户评分信息和社交关系的公开数据集对不同算法进行测试, 这4个数据集分别从基于社交网络的评价网站抓取所得:FilmTrust(www.trust.mindswap.org/FilmTrust/), Ciao(www.ciao.co.uk), Epinions(www.epinions.com)和Douban (www.douban.com).其中, Douban中的社交关系为无向朋友关系, 而FilmTrust, Ciao与Epinions为有向信任关系.对于无向朋友关系, 我们假定其为双向信任关系.

具体来说, FilmTrust数据集(http://www.librec.net/datasets.html)由Guo等人从FilmTrust网站爬取所得[66]. FilmTrust是一个基于信任关系的电影推荐网站, 用户能够依据自身偏好对电影做出评分, 同时构建单向信任关系.Ciao数据集(http://www.jiliang.xyz/trust.html)由Tang等人于物品评论网站Ciao收集所得[67, 68].在Ciao上, 用户不仅能够对不同物品做出评分、添加评论信息, 还能和其他用户建立有向社交关系.Epinions数据集(http://www.trustlet.org/downloadedepinions.html)是由Massa等人于2003年11月~12月从评价网站Epinions上收集所得[25, 69].Epinions提供了各种商品的比较信息以供用户评分, 同时, 用户能够添加信任用户以构建有向社交网络. Douban数据集(https://www.cse.cuhk.edu.hk/irwin.king.new/pub/data/douban)是由Ma等人从社交网站Douban爬取所得[29].Douban允许用户为电影、音乐、书籍等进行评分, 同时允许用户添加好友构建社交联系.与上述3种数据集不同, Douban中用户社交关系是无向的.

不同数据集的评分范围各不相同.FilmTrust评分范围为0.5~4, 步长为0.5;Ciao, Epinions, Douban评分范围为1~5, 步长为1.4个数据集的详细统计信息见表 2, 其中, RDensity表示评分数据的稀疏程度, m表示单个用户的平均评分物品数, n表示单个物品的平均评分用户数, SDensity表示用户社交关系密度, s表示用户平均社交关系数.

Table 2 Statistic of experimental dataset 表 2 实验数据集统计

我们采用五折交叉验证, 用于推荐模型的训练与测试.具体来说, 每一个数据集被随机均等划分成5份子数据集, 在每一次测试中, 4份子数据集被用作训练集, 剩余1份用作测试集.5次实验能够保证所有子数据集均被测试, 最终测试结果为5次实验结果的均值.

4.2 评测算法与评价指标

依据第3节对社交推荐的分类综述, 我们选用8个具有代表性的模型进行测评.其中, SoRec[26], TrustMF[31]和LOCABAL[30]代表基于用户特征矩阵共享表示的方法, SoReg[29], SocialMF[28]和TrustSVD[33]代表利用直接社交关系进行用户特征矩阵重表示的方法, MFC[36]和SoDimRec[37]代表利用间接社交关系进行用户特征矩阵重表示的方法.同时, 为了表明社交信息的引入对推荐结果的影响, 我们也列出了未利用社交关系的推荐模型PMF[10, 47]的实验结果.注意:对于从概率角度引入的模型(PMF, SoRec, TrustMF, SoReg, SocialMF), 预测评分均采用logistic函数进行了范围映射, 因此在实验时, 同样对原评分值进行预处理, 使其数值大小映射到[0, 1]区间.

实验参数影响着算法的最终性能.依据文献中的参数设定规则, 我们对所有算法的隐空间特征个数K均设为10.同时, 对于不同算法迭代计算的步长(学习率)γ均设定为0.000 1, 迭代终止条件均设定为前后两次迭代误差小于0.000 001.此外, 变量初始值采用相同的初始化策略.依据文献设定其他参数, 见表 3.

Table 3 Parameter settings of different social recommendation methods 表 3 不同社交推荐方法参数设定

为了衡量评分预测的准确度, 我们采用两种常用的评价指标:平均绝对误差(mean absolute error, 简称MAE)和均方根误差(root mean squared error, 简称RMSE).这两种指标通过计算真实评分与预测评分间的误差来衡量推荐结果的准确性, 其值越小, 推荐精度越高.

$ MAE = \frac{1}{T}\sum\limits_{ij} {|{R_{ij}} - {{\hat R}_{ij}}|} $ (42)
$ RMSE = \sqrt {\frac{1}{T}\sum\limits_{ij} {{{({R_{ij}} - {{\hat R}_{ij}})}^2}} } $ (43)

其中, T表示测试集评分记录数, Rij表示真实评分值, $ {\hat R_{ij}} $表示预测评分值.

4.3 实验结果

为了有效评估各社交推荐算法的性能, 我们从整体用户、冷启动用户和长尾物品这3个角度对实验结果进行分析.整体用户角度是针对所有用户进行不同算法在不同数据集上的性能比对; 冷启动用户角度是针对冷启动用户进行的预测结果误差统计, 一般情况下, 评分数量小于5的用户称为冷启动用户[24, 27]; 长尾物品角度是针对长尾物品进行的预测误差统计[70], 对于长尾物品的确定, 我们对数据集中每一个物品评分个数进行统计, 按评分个数从大到小进行排序, 评分个数占后20%的物品则被认为是长尾物品.表 4~表 6分别展示了所有用户、冷启动用户、长尾物品的预测评分与真实评分的MAE和RMSE对比.下面我们将从这3个角度进行具体分析.

Table 4 Performance comparisons of different social recommendation methods on all users 表 4 不同社交推荐方法的整体用户上的性能对比

Table 5 Performance comparisons of different social recommendation methods on coldstart users 表 5 不同社交推荐方法的冷启动用户上的性能对比

Table 6 Performance comparisons of different social recommendation methods on long-tail items 表 6 不同社交推荐方法的长尾物品上的性能对比

针对所有用户的预测结果进行误差统计是对算法整体预测性能的有力体现, 结果见表 4.可以看出, 融合社交信息的推荐模型相对于传统协同过滤算法PMF具有很大的性能提升.同时, 实验数据集Ciao和Epinions具有较高的稀疏度(其稀疏度分别为0.036%和0.010%), 这是推荐系统面临的一大挑战.表 4中的实验结果显示, 社交信息的加入能够有效缓解评分信息过于稀疏的问题, 最终提升推荐性能.TrustSVD算法无论在MAE还是RMSE上均取得了最好的结果, 其主要原因是TrustSVD在加入隐式社交反馈信息对用户特征矩阵进行重表示的同时, 也对社交关系矩阵进行分解, 构成用户特征矩阵和社交特征矩阵, 这表明TrsutSVD本质上使用了用户特征矩阵重表示与共享表示两种策略.另外, TrustSVD沿用SVD++的思想, 引入偏置信息(bias)矫正预测评分.这些因素综合起来使其性能比其他方法预测性能更好.同时, 基于间接社交关系的社交推荐模型(MFC和SoDimRec)在多数情况下均优于基于直接社交关系的社交推荐模型, 这也在很大程度上反映出利用社区发现算法挖掘的间接社交关系能够体现用户间的兴趣相关性.LOCABAL模型由于利用局部与全局的社交关系对评分矩阵与社交关系矩阵的联合分解, 因此也取得了较好的推荐结果.此外, 相对于利用直接社交信息进行用户特征矩阵重表示的模型(SoReg, SocialMF), 基于用户特征矩阵共享表示的模型(SoRec, TrsutMF, LOCABAL)具有更好的性能表现, 具体原因可认为是基于用户特征矩阵共享表示的模型在进行特征矩阵的学习时能够更加合理而准确地利用用户评分信息与社交信息, 而用户特征矩阵重表示模型仅仅利用社交网络中关联用户进行用户特征矩阵的约束限制.

正如前文所述, 冷启动问题是推荐系统面临的主要挑战.为了有效评估不同推荐算法解决冷启动问题的能力, 我们专门选取冷启动用户进行性能测评.在交叉验证实验中, 4个数据集FilmTrust, Ciao, Epinions和Douban在训练集中的平均冷启动用户数为315, 171, 34 310和18 943, 分别占总用户数的19.2%, 2.3%, 69.6%和14.6%.可以看出, Epinions数据集中冷启动用户数占据整体用户数的很大一部分.表 5展示了不同推荐算法在冷启动用户上的推荐精度.相对于仅采用评分信息的推荐模型PMF, 融合社交信息的推荐模型在冷启动用户上均具有更好的推荐性能, 由此表明:社交信息的引入, 能够在一程度上缓解冷启动问题.TrustSVD在Ciao, Epinions和Douban数据集上的冷启动用户推荐精度均达到了最高, 而LOCABAL在FilmTrust数据集上取得了最优性能.

长尾现象也是如今电商平台所具有的一大特点.长尾现象是幂律分布的通俗提法, 体现在电商平台中则为销量占主导的产品往往只是少数, 而多数产品则被人遗忘(这类物品称为长尾物品).因此, 能否有效发掘长尾物品, 是衡量推荐系统好坏的一大标准.针对已有数据集, 我们统计物品评分数, 定义评分数少的后20%的产品为长尾物品.表 6展示了不同推荐算法在长尾物品上的预测准确度, 可以看出:MFC在FilmTrust数据集上取得了最好的性能, 而TrustSVD则在其余3个数据集上表现最佳, 同时, LOCABAL模型也取得了第二好的性能.在社交关系融合策略一致的前提下, 采用直接社交关系的SoReg与采用间接社交关系的MFC相比, MFC明显优于SoReg.该实验结果表明:间接社交关系能够更加准确地体现用户间的兴趣偏好, 更有利于提升融合社交信息的推荐性能.

此外, 为了分析社交关系如何影响推荐性能, 同时也为了验证算法在不同社交关系强度下的表现, 我们统计了不同社交强度下各社交推荐方法的预测精度.具体来说, 我们对用户社交关系数进行统计, 依据用户社交关联用户的数量, 将用户划分成7组:0~5, 6~10, 11~20, 21~50, 51~100, 101~200和>200.之后, 在测试阶段, 分别计算不同用户组的预测误差.图 6展示了不同数据集下的不同社交推荐方法在不同用户组下的推荐预测精度.从实验柱状图可以看出:在相同数据集下, 不同推荐方法在不同用户组下具有相似的误差变化趋势, 这表明社交关系数量在社交推荐方法中扮演着重要的角色.除Ciao数据集外, 其余3个数据集在社交关系数大于200时均具有较差的预测精度.可能的解释是:这些用户的社交关系构建不具备目的性, 存在随意性, 而这类随意构建社交关系的用户对社交推荐方法不具有参考意义, 极有可能降低推荐质量.

Fig. 6 Performance comparisons of different social recommendation methods on users with different social degrees for different datasets 图 6 不同社交推荐方法在不同数据集中不同用户社交强度下的性能对比

5 研究难点与热点

社交网络的分析与研究由来已久, 而随着互联网的快速发展, 社交网络也在不断变化与发展.社交网络的快速发展, 为社交推荐的研究提供了新的方向.社交网络在推荐上的引入, 一度被认为是解决冷启动问题的有效办法.同时, 融合社交信息的推荐具有更高的推荐信任度、更优的推荐性能.然而, 尽管社交推荐模型在不断被研究, 并取得了一系列的进展, 但仍然存在如下的研究难点与热点.

(1) 数据稀疏性

数据稀疏一直是推荐数据的显著特点.基于协同过滤的推荐方法本质为相似性计算, 若用户或物品不存在任何评分, 则无法进行用户对或物品对间的相似性度量, 由此导致无法给评分少的用户推荐, 同时也无法推荐未被评分的产品.社交网络为用户间提供了额外辅助信息, 有效地刻画了用户间的关联关系.依据具有社交关系的用户在一定程度上具有相似的偏好, 融合社交信息的推荐模型在一定程度上缓解了稀疏带来的冷启动问题, 同时提升了推荐性能.但是对于不存在用户行为数据和社交信息的用户, 社交推荐方法并不能产生合理、准确的推荐[28].因此, 针对数据稀疏这一特点, 往往通过融合多种信息来构建用户属性与物品属性, 从而依据更多的额外信息产生推荐.

(2) 社交关系的有效挖掘

长期以来, 利用直接社交关系进行社交推荐是研究人员主要的研究方向.近年来, 已有学者提出利用社交网络分析方法发现用户间的间接社交关系, 从而更好地进行推荐.已有的利用间接社交关系的推荐方法通常采用分段式策略:首先, 基于单纯的社交信息挖掘用户团体; 而后, 利用团体信息修正用户推荐隐变量[36, 37].然而, 这种策略存在如下问题:用户团体发现时仅依赖于社交网络信息, 忽略了用户历史评分所包含的用户偏好信息对用户团体识别的影响.为此, 如何同时利用社交关系、用户历史评分信息或其他用户信息挖掘用户间接社交关系, 是社交推荐的重要任务.

(3) 社交噪声

社交推荐方法的前提假设是拥有朋友关系的用户在某些方面往往具有相似品位.因此, 已有社交推荐方法往往依据好友的决策行为来预测目标用户的行为.然而, 社交关系的建立并非纯粹依赖相似性构建, 如某种工作关系、社会关系等.同时, 有些用户偏向于随意添加好友, 其添加好友并不存在真实或明确的意图.因此, 社交关系中常常存在与推荐无关的额外关系, 冗余的社交关系常常对推荐没有任何积极作用, 反而可能会影响推荐算法对用户偏好的判断[32].如何剔除无效的社交噪声信息、发现用户间的真实偏好相似关系, 对推荐模型的构建具有重要意义.

(4) 可解释性社交推荐

已有的多数社交推荐方法仅仅提供推荐预测的准确率, 而对于如何推荐、为何推荐却知之甚少, 这正是现有推荐系统存在的主要问题.大多推荐系统给用户的感觉就是一个“黑盒子”, 既无从了解其运作原理, 也无法获得关于推荐结果的附加信息.然而, 推荐解释的目标是让用户了解推荐产生的原因, 提高用户对推荐结果的接受度[71-73], 提升用户在系统可信度、可辨性等方面的体验[74, 75].缺乏适当解释说明的推荐系统难以获得用户的信任, 从而降低用户体验, 甚至阻碍推荐系统的发展.

然而, 社交信息的引入能够为推荐结果提供社交解释信息, 进而提高推荐信任度.如早期社交信息的使用是以辅助基于用户的协同过滤方法为主[76, 77], 并依据朋友关系对推荐结果进行后续解释.然而, 针对现如今流行的基于矩阵分解的社交推荐模型则无法产生可解释性强的推荐[78].因此, 如何有效利用用户间的社交关系构建可解释性的社交推荐模型, 是提升用户体验的重要手段.

(5) 可扩展型社交推荐模型与多源信息的融合

矩阵分解推荐模型因其较高的可扩展型成为社交推荐模型构建的首选方法, 然而, 单纯融合社交信息无法保证较大幅度地提升推荐性能[79, 80].随着数据采集技术的发展, 推荐系统已经搜集到丰富的多源信息(如物品内容描述信息、物品属性信息、物品评论信息、用户属性信息、用户社交关系等).如何设计可扩展性高的社交推荐模型, 将更多额外信息有效融入推荐模型中, 将成为多源数据推荐模型研究的重点.

(6) 社交推荐模型快速求解

高效、快速地求解推荐模型, 一直是推荐系统研究人员关注的热点问题.大数据时代, 庞大数据量的产生为推荐模型求解带来了极大的挑战.与此同时, 多源信息的引入(如社交信息等)尽管能够为推荐系统提供强有力的数据支持, 但也加剧了推荐模型的复杂度.社交推荐的主流模型是基于矩阵分解的协同过滤, 其主要思想是:通过矩阵分解获得用户和物品在隐特征空间上的表示, 并用其拟合评分信息来设定目标优化函数.这类目标函数的优化求解往往采用随机梯度下降法[10].随机梯度下降法由于其计算复杂度低且易于并行化在推荐领域受到广泛关注.并行化随机梯度下降法能够在很大程度上加快推荐模型的求解, 目前已有多种相关算法被提出来[81, 82].然而社交信息的引入, 往往使得基于矩阵分解的推荐模型更加复杂, 从而无法而合理有效地对数据进行划分而达到并行加速效果.因此, 如何有效地划分数据、设计融合多源信息的并行优化算法、高效而快速地为用户提供高质量推荐结果, 成为推荐时代面临的核心问题.

(7) 社交信息动态变化的影响

用户行为信息具有动态变化的特点, 已有文献开始关注基于时序行为的推荐方法的研究[83-85].然而现实生活中, 由于人际关系的复杂性与网络环境的实时性, 决定了社交网络同样具有动态变化性[86], 即真实社交网络中个体间的关系及个体状态都是动态变化的.已有社交推荐方法往往基于静态社交关系设计, 忽略了推荐数据的动态变化特点, 从而无法实时地为社交推荐提供可靠的资源.因此, 如何有效地刻画社交网络动态变化的特点, 提出基于动态社交网络的社交推荐模型, 将成为社交推荐研究的难点之一.

(8) 用户隐私信息的保护

个性化推荐系统利用用户行为信息、个人属性信息等为用户提供推荐, 这种个人信息具备较强的隐私性, 用户可能会出于对隐私泄露的担心而放弃对推荐系统的信任[87].Netflix prize比赛极大地推动了推荐系统的发展.然而由于美国联邦政府交易委员会认为大赛会损害用户隐私, 同时, Netflix为了防止官司缠身, 遂于2010年3月宣布取消Netflix prize大赛.由此可见, 对于用户隐私信息的保护极其重要.针对个性化推荐中隐私保护方法的研究, 也将成为研究者关注的热点.

(9) 前沿理论与方法在推荐上的应用

近年来, 深度学习在语音和图像上的巨大成功引起了人们的强烈关注.推荐系统作为一支独立的学科, 如何与深度学习相结合, 创造出更大价值, 也成为推荐系统研究领域的一大方向.在基于矩阵分解方法使得Netflix prize比赛陷入僵局之时, 受限玻尔兹曼机(restricted Boltzmann machine, 简称RBM)的出现为推荐方法提供了新的思路[88].此后, 陆续有相关基于深度学习的推荐方法被提出来[85, 89, 90].2016年, 推荐系统大会RecSys还专门针对深度学习与推荐系统设立了专门研讨会.由此可见, 深度学习在推荐上的应用具有广阔的前景.

6 总结

作为推荐领域的重要研究方向, 社交推荐方法近年来在推荐领域获得了广泛的关注, 尤其是基于矩阵分解的社交推荐方法得到了快速发展.社交信息的引入, 为推荐系统的研究提供了新的方向, 也极大促进了推荐系统的发展.本文依据社交推荐模型构建方式的不同对其进行了分类综述, 其目的在于全面完善地了解基于矩阵分解的社交推荐模型构建过程, 为新的社交推荐模型构建提供思路.其次, 通过在真实数据集上的实验对比, 验证典型基于矩阵分解的社交推荐模型的性能, 分析社交信息对推荐性能的影响.最后, 指出现有社交推荐模型在数据稀疏性、可解释性、快速求解等方面存在的问题.希望本文对基于矩阵分解的社交推荐模型的综述能够为相关学者提供一定程度的帮助, 同时更好地促进社交推荐方法的研究.

参考文献
[1]
Ricci F, Rokach L, Shapira B, Kantor P. Recommender Systems Handbook. Springer-Verlag, 2015: 1–29. [doi:10.1007/978-0-387-85820-3]
[2]
Balabanovic M, Shoham Y. Fab:Content-Based, collaborative recommendation. Communications of the ACM, 1997, 40(3): 66–72. [doi:10.1145/245108.245124]
[3]
Resnick P, Iacovou N, Suchak Mtrom P. GroupLens: An open architecture for collaborative filtering of netnews. In: Proc. of the 1994 ACM Conf. on Computer Supported Cooperative Work. 1994. 175-186. [doi: 10.1145/192844.192905]
[4]
Deshpande M, Karypis G. Item-Based top-n, recommendation algorithms. ACM Trans. on Information Systems, 2004, 22(1): 143–177. [doi:10.1145/963770.963776]
[5]
Konstan JA, Miller BN, Maltz D, Herlocker JL, Gordon LR, Riedl J. GroupLens:Applying collaborative filtering to usenet news. Communications of the ACM, 2000, 40(3): 77–87. [doi:10.1145/245108.245126]
[6]
Linden G, Smith B, York J. Amazon.com recommendations:Item-to-Item collaborative filtering. IEEE Internet Computing, 2003, 7(1): 76–80. [doi:10.1109/MIC.2003.1167344]
[7]
Herlocker JL, Konstan JA, Borchers A, Riedl J. An algorithmic framework for performing collaborative filtering. In: Proc. of the 22nd Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 1999. 230-237. [doi: 10.1145/312624.312682]
[8]
Fouss F, Pirotte A, Renders JM, Saerens M. Random-Walk computation of similarities between nodes of a graph with application to collaborative recommendation. IEEE Trans. on Knowledge and Data Engineering, 2007, 19(3): 355–369. [doi:10.1109/TKDE.2007.46]
[9]
Tian G, Jing L. Recommending scientific articles using bi-relational graph-based iterative RWR. In: Proc. of the 7th ACM Conf. on Recommender Systems. 2013. 399-402. [doi: 10.1145/2507157.2507212]
[10]
Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems. Computer, 2009, 42(8): 30–38. [doi:10.1109/MC.2009.263]
[11]
Claypool M, Gokhale A, Mir T, Mir T, Murnikov P, Netes D, Sartin M. Combining content-based and collaborative filters in a online newspaper. In: Proc. of the ACM SIGIR Workshop on Recommender Systems. 1999.
[12]
Pazzani MJ. A framework for collaborative, content-based and demographic filtering. Journal of Artificial Intelligence Review, 1999, 13(5-6): 393–408. [doi:10.1023/A:1006544522159]
[13]
Good N, Schafer JB, Konstan JA, Borchers Al, Sarwar B, Herlocker J, Riedl J. Combining collaborative filtering with personal agents for better recommendations. In: Proc. of the National Conf. on Artificial Intelligence. 1999. 439-446.
[14]
Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems:A survey of the state-of-the-art and possible extensions. IEEE Trans. on Knowledge and Data Engineering, 2005, 17(6): 734–749. [doi:10.1109/TKDE.2005.99]
[15]
Wang GX, Liu HP. A survey of personalized recommendation system. Computer Engineering and Applications, 2012, 48(7): 66–76(in Chinese with English abstract). [doi:10.3778/j.issn.1002-8331.2012.07.018]
[16]
Shi Y, Larson M, Hanjalic A. Collaborative filtering beyond the user-item matrix:A survey of the state of the art and future challenges. ACM Computing Surveys, 2014, 47(1): 1–45. [doi:10.1145/2556270]
[17]
Li J, Xia F, Wang W, Chen Z, Asabere NY, Jiang H. Acrec: A co-authorship based random walk model for academic collaboration recommendation. In: Proc. of the 23rd Int'l Conf, on World Wide Web. ACM Press, 2014. 1209-1214. [doi: 10.1145/2567948.2579034]
[18]
Marsden PV, Friedkin NE. Network studies of social influence. Sociological Methods & Research, 1993, 22(1): 127–151. [doi:10.1177/0049124193022001006]
[19]
Wasserman S, Faust K. Social network analysis:Methods and Applications. Cambridge: Cambridge University Press, 1994.
[20]
Koenigstein N, Dror G, Koren Y. Yahoo! music recommendations: Modeling music ratings with temporal dynamics and item taxonomy. In: Proc. of the 5th ACM Conf. on Recommender Systems. ACM Press, 2011. 165-172. [doi: 10.1145/2043932.2043964]
[21]
Kautz H, Selman B, Shah M. Referral Web:Combining social networks and collaborative filtering. Communications of the ACM, 1997, 40(3): 63–65. [doi:10.1145/245108.245123]
[22]
Cui C, Shen J, Nie L, Hong R, Ma J. Augmented collaborative filtering for sparseness reduction in personalized POI recommendation. ACM Trans. on Intelligent Systems and Technology, 2017, 8(5): Article No.71. [doi:10.1145/3086635]
[23]
Tang J, Hu X, Liu H. Social recommendation:A review. Social Network Analysis and Mining, 2013, 3(4): 1113–1133. [doi:10.1007/s13278-013-0141-9]
[25]
Massa P, Avesani P. Trust-Aware recommender systems. In: Proc. of the ACM Conf. on Recommender Systems. New York: ACM Press, 2007. 17-24. [doi: 10.1145/1297231.1297235]
[26]
Ma H, Yang H, Lyu MR, King I. SoRec: Social recommendation using probabilistic matrix factorization. In: Proc. of the 17th ACM Conf. on Information and Knowledge Management. New York: ACM Press, 2008. 931-940. [doi: 10.1145/1458082.1458205]
[27]
Ma H, King I, Lyu MR. Learning to recommend with social trust ensemble. In: Proc. of the 32nd Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. New York: ACM Press, 2009. 203-210. [doi: 10.1145/1571941.1571978]
[28]
Jamali M, Ester M. A matrix factorization technique with trust propagation for recommendation in social networks. In: Proc. of the 4th ACM Conf. on Recommender Systems. New York: ACM Press. 2010. 135-142. [doi: 10.1145/1864708.1864736]
[29]
Ma H, Zhou DY, Liu C, Lyu MR, King I. Recommender systems with social regularization. In: Proc. of the 4th ACM Int'l Conf. on Web Search and Data Mining. New York: ACM Press, 2011. 287-296. [doi: 10.1145/1935826.1935877]
[30]
Tang JL, Hu X, Gao HJ, Liu H. Exploiting local and global social context for recommendation. In: Proc. of the 23rd Int'l Joint Conf. on Artificial Intelligence. AAAI Press, 2013. 2712-2718.
[31]
Yang B, Lei Y, Liu DY, Liu JM. Social collaborative filtering by trust. In: Proc. of the 23rd Int'l Joint Conf. on Artificial Intelligence. AAAI Press, 2013. 2747-2753.
[32]
Fang H, Bao Y, Zhang J. Leveraging decomposed trust in probabilistic matrix factorization for effective recommendation. In: Proc. of the 28th AAAI Conf. on Artificial Intelligence. AAAI Press, 2014. 30-36.
[33]
Guo G, Zhang J, Yorke-Smith N. TrustSVD: Collaborative filtering with both the explicit and implicit influence of user trust and of item ratings. In: Proc. of the 29th AAAI Conf. on Artificial Intelligence. AAAI Press, 2015. 123-129.
[34]
Yang B, Lei Y, Liu DY, Liu JM. Social collaborative filtering by trust. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2017, 39(8): 1633–1647. [doi:10.1109/TPAMI.2016.2605085]
[35]
Liu X, Tong JJ, Song M. Collaborative recommendation based on social community detection. Journal of China Universities of Posts and Telecommunications, 2014, 21(Supplement 1): 20–25, 45. [doi:10.1016/S1005-8885(14)60517-3]
[36]
Li H, Wu DM, Tang WB, Mamoulis N. Overlapping community regularization for rating prediction in social recommender systems. In: Proc. of the 9th ACM Conf. on Recommender Systems. New York: ACM Press, 2015. 27-34. [doi: 10.1145/2792838.2800171]
[37]
Tang JL, Wang SH, Hu X, Yin DW, Bi YZ, Chang Yi, Liu H. Recommendation with social dimensions. In: Proc. of the 30th AAAI Conf. on Artificial Intelligence. AAAI Press, 2016. 251-257.
[38]
Chaney AJB, Blei DM, Eliassi-Rad T. A probabilistic model for using social networks in personalized item recommendation. In: Proc. of the 9th ACM Conf. on Recommender Systems. New York: ACM Press, 2015. 43-50. [doi: 10.1145/2792838.2800193]
[39]
Sedhain S, Menon AK, Sanner S, Xie L, Braziunas D. Low-Rank linear cold-start recommendation from social data. In: Proc. of the 31th AAAI Conf. on Artificial Intelligence. AAAI Press, 2017. 1502-1508.
[40]
Shen Y, Jin R. Learning personal+ social latent factor model for social recommendation. In: Proc. of the 18th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2012. 1303-1311. [doi: 10.1145/2339530.2339732]
[41]
Ma H. An experimental study on implicit social recommendation. In: Proc. of the 36th Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. New York: ACM Press, 2013. 73-82. [doi: 10.1145/2484028.2484059]
[42]
Kharrat FB, Elkhlifi A, Faiz R. Empirical study of social collaborative filtering algorithm. In: Proc. of the Asian Conf. on Intelligent Information and Database Systems. Berlin, Heidelberg: Springer-Verlag, 2016. 85-95. [doi: 10.1007/978-3-662-49390-8_8]
[43]
Jamali M, Ester M. Trustwalker: A random walk model for combining trust-based and item-based recommendation. In: Proc. of the 15th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2009. 397-406. [doi: 10.1145/1557019.1557067]
[44]
Jamali M, Ester M. Using a trust network to improve top-N recommendation. In: Proc. of the 3rd ACM Conf. on Recommender Systems. New York: ACM Press, 2009. 181-188. [doi: 10.1145/1639714.1639745]
[45]
Herlocker J, Konstan JA, Riedl J. An empirical analysis of design choices in neighborhood-based collaborative filtering algorithms. Journal of Information Retrieval, 2002, 5(4): 287–310. [doi:10.1023/A:1020443909834]
[46]
Herlocker JL, Konstan JA, Borchers A, Riedl J. An algorithmic framework for performing collaborative filtering. In: Proc. of the 22nd Annual Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. New York: ACM Press, 1999. 230-237. [doi: 10.1145/312624.312682]
[47]
Salakhutdinov R, Mnih A. Probabilistic matrix factorization. In: Proc. of the 20th Int'l Conf. on Neural Information Processing Systems. 2007. 1257-1264.
[48]
Salakhutdinov R, Mnih A. Bayesian probabilistic matrix factorization using Markov chain Monte Carlo. In: Proc. of the 25th Int'l Conf. on Machine Learning. 2008. 880-887. [doi: 10.1145/1390156.1390267]
[49]
Jing LP, Wang P, Yang L. Sparse probabilistic matrix factorization by Laplace distribution for collaborative filtering. In: Proc. of the 24th Int'l Conf. on Artificial Intelligence. AAAI Press, 2015. 1771-1777.
[50]
Schölkopf B, Hofmann T, Zhou DY. Semi-Supervised learning on directed graphs. In: Proc. of the 17th Int'l Conf. on Neural Information Processing Systems. 2005. 1633-1640.
[51]
Zhou Y, Wilkinson D, Schreiber R, Pan R. Large-Scale parallel collaborative filtering for the netflix prize. In: Proc. of the Int'l Conf. on Algorithmic Applications in Management. 2008. 337-348. [doi: 10.1007/978-3-540-68880-8_32]
[52]
Page L. The PageRank citation ranking:Bringing order to the Web. Stanford Digital Libraries Working Paper, 1998, 9(1): 1–14. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.1768
[53]
Koren Y. Factorization meets the neighborhood: A multifaceted collaborative filtering model. In: Proc. of the 14th Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2008. 426-434. [doi: 10.1145/1401890.1401944]
[54]
Palla G, Derényi I, Farkas I, Vicsek T. Uncovering the overlapping community structure of complex networks in nature and society. Journal of Nature, 2005, 435(7043): 814–818. [doi:10.1038/nature03607]
[55]
Yang J, Leskovec J. Overlapping community detection at scale: A nonnegative matrix factorization approach. In: Proc. of the 6th ACM Int'l Conf. on Web Search and Data Mining. New York: ACM Press, 2013. 587-596. [doi: 10.1145/2433396.2433471]
[56]
Yang J, McAuley J, Leskovec J. Community detection in networks with node attributes. In: Proc. of the IEEE 13th Int'l Conf. on Data Mining. IEEE Press, 2013. 1151-1156. [doi: 10.1109/ICDM.2013.167]
[57]
Tang L, Liu H. Scalable learning of collective behavior based on sparse social dimensions. In: Proc. of the 18th ACM Conf. on Information and Knowledge Management. New York: ACM Press, 2009. 1107-1116. [doi: 10.1145/1645953.1646094]
[58]
Leskovec J, Huttenlocher D, Kleinberg J. Predicting positive and negative links in online social networks. In: Proc. of the 19th Int'l Conf. on World Wide Web. New York: ACM Press, 2010. 641-650. [doi: 10.1145/1772690.1772756]
[59]
Wang F, Li T, Wang X, Zhu S. Community discovery using nonnegative matrix factorization. Journal of Data Mining and Knowledge Discovery, 2011, 22(3): 493–521. [doi:10.1007/s10618-010-0181-y]
[60]
Sun Y, Han J. Mining heterogeneous information networks:Principles and methodologies. Synthesis Lectures on Data Mining and Knowledge Discovery, 2012, 3(2): 1–159. [doi:10.2200/S00433ED1V01Y201207DMK005]
[61]
McPherson M, Smith-Lovin L, Cook JM. Birds of a feather:Homophily in social networks. Annual Review of Sociology, 2001, 27(1): 415–444. [doi:10.1146/annurev.soc.27.1.415]
[62]
Tang L, Liu H. Relational learning via latent social dimensions. In: Proc. of the 15th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2009. 817-826. [doi: 10.1145/1557019.1557109]
[63]
Sedhain S, Sanner S, Braziunas D, Christensen J. Social collaborative filtering for cold-start recommendations. In: Proc. of the 8th ACM Conf. on Recommender Systems. New York: ACM Press, 2014. 345-348. [doi: 10.1145/2645710.2645772]
[64]
Krohn-Grimberghe A, Drumond L, Freudenthaler C, Schmidt-Thieme L. Multi-Relational matrix factorization using bayesian personalized ranking for social network data. In: Proc. of the 5th ACM Int'l Conf. on Web Search and Data Mining. New York: ACM Press, 2012. 173-182. [doi: 10.1145/2124295.2124317]
[65]
Gantner Z, Drumond L, Freudenthaler C, Rendle S, Schmidt-Thieme L. Learning attribute-to-feature mappings for cold-start recommendations. In: Proc. of the 2000 IEEE Int'l Conf. on Data Mining. IEEE Press, 2010. 176-185. [doi: 10.1109/ICDM.2010.129]
[66]
Guo G, Zhang J, Yorke-Smith N. A novel Bayesian similarity measure for recommender systems. In: Proc. of the 23rd Int'l Joint Conf. on Artificial Intelligence. AAAI Press, 2013. 2619-2625.
[67]
Tang J, Gao H, Liu H. mTrust: Discerning multi-faceted trust in a connected world. In: Proc. of the 5th ACM Int'l Conf. on Web Search and Web Data Mining. New York: ACM Press, 2012. 93-102. [doi: 10.1145/2124295.2124309]
[68]
Tang J, Gao H, Liu H, Das Sarma A. eTrust: Understanding trust evolution in an online world. In: Proc. of the 18th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2012. 253-261. [doi: 10.1145/2339530.2339574]
[69]
Massa P, Souren K, Salvetti M, Tomasoni D. Trustlet, open research on trust metrics. Scalable Computing:Practice and Experience, 2008, 9(4): 31–43. http://dblp.uni-trier.de/db/journals/scpe/scpe9.html#MassaSST08
[70]
Anderson C. The long tail:Why the future of business is selling less of more. Journal of Product Innovation Management, 2006, 24(3): 274–276. http://dl.acm.org/citation.cfm?id=1201366
[71]
Herlocker JL, Konstan JA, Riedl J. Explaining collaborative filtering recommendations. In: Proc. of the 2000 ACM Conf. on Computer Supported Cooperative Work. New York: ACM Press, 2000. 241-250. [doi: 10.1145/358916.358995]
[72]
Gedikli F, Jannach D, Ge M. How should I explain? A comparson of different explanation types for recommender systems. Journal of Human-Computer Studies, 2014, 72(4): 367–382. [doi:10.1016/j.ijhcs.2013.12.007]
[73]
Cramer H, Evers V, Ramlal S, van Someren M, Rutledge L, Stash N, Aroyo L, Wielinga B. The effects of transparency on trust in and acceptance of a content-based art recommender. Journal of User Modeling and User-Adapted Interaction, 2008, 18(5): 455–496. [doi:10.1007/s11257-008-9051-3]
[74]
Friedrich G, Zanker M. A taxonomy for generating explanations in recommender systems. Journal of AI Magazine, 2011, 32(3): 90–98. [doi:10.1609/aimag.v32i3.2365]
[75]
Sharma R, Ray S. Explanations in recommender systems:An overview. Int'l Journal of Business Information Systems, 2016, 23(2): 248–262. [doi:10.1504/IJBIS.2016.078909]
[76]
Symeonidis P, Nanopoulos A, Manolopoulos Y. Providing justifications in recommender systems. IEEE Trans. on Systems, Man, and Cybernetics-Part A:Systems and Humans, 2008, 38(6): 1262–1272. [doi:10.1109/TSMCA.2008.2003969]
[77]
Wang B, Ester M, Bu J, Cai D. Who also likes it? Generating the most persuasive social explanations in recommender systems. In: Proc. of the 28th AAAI Conf. on Artificial Intelligence. AAAI Press, 2014. 173-179.
[78]
Abdollahi B, Nasraoui O. Explainable matrix factorization for collaborative filtering. In: Proc. of the 25th Int'l Conf. on Companion on World Wide Web. 2016. 5-6. [doi: 10.1145/2872518.2889405]
[79]
Kouki P, Fakhraei S, Foulds J, Eirinaki M, Getoor L. Hyper: A flexible and extensible probabilistic framework for hybrid recommender systems. In: Proc. of the 9th ACM Conf. on Recommender Systems. New York: ACM Press, 2015. 99-106. [doi: 10.1145/2792838.2800175]
[80]
Hu GN, Dai XY, Song Y, Huang SJ, Chen JJ. A synthetic approach for recommendation: Combining ratings, social relations, and reviews. In: Proc. of the 24th Int'l Joint Conf. on Artificial Intelligence. AAAI Press, 2015. 1756-1762.
[81]
Gemulla R, Nijkamp E, Haas PJ, Sismanis Y. Large-Scale matrix factorization with distributed stochastic gradient descent. In: Proc. of the 17th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. New York: ACM Press, 2011. 69-77. [doi: 10.1145/2020408.2020426]
[82]
Zhao SY, Li WJ. Fast asynchronous parallel stochastic gradient descent: A lock-free approach with convergence guarantee. In: Proc. of the 30th AAAI Conf. on Artificial Intelligence. AAAI Press, 2016. 2379-2385.
[83]
Koren Y. Collaborative filtering with temporal dynamics. Journal of Communications of the ACM, 2010, 53(4): 89–97. [doi:10.1145/1721654.1721677]
[84]
Sun GF, Wu L, Liu Q, Zhu C, Chen EH. Recommendations based on collaborative filtering by exploiting sequential behaviors. Ruan Jian Xue Bao/Journal of Software, 2013, 24(11): 2721–2733(in Chinese with English abstract). http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=4478&journal_id=jos
[85]
Wu CY, Ahmed A, Beutel A, Smola AJ, Jing H. Recurrent recommender networks. In: Proc. of the 10th ACM Int'l Conf. on Web Search and Data Mining. New York: ACM Press, 2017. 495-503. [doi: 10.1145/3018661.3018689]
[86]
York SN. Dynamic Social Networks. New York: Springer-Verlag, 2014. DOI:10.1007/978-1-4614-6170-8_100447
[87]
Wang GX, Wang LJ, Liu HP. Study progress of privacy protection techniques used in personalized recommendation system. Journal of Aplication Research of Computers, 2012, 29(6): 2001–2008(in Chinese with English abstract). [doi:10.3969/j.issn.1001-3695.2012.06.001]
[88]
Salakhutdinov R, Mnih A, Hinton G. Restricted Boltzmann machines for collaborative filtering. In: Proc. of the 24th Int'l Conf. on Machine Learning. New York: ACM Press, 2007. 791-798. [doi: 10.1145/1273496.1273596]
[89]
Hamel P, Lemieux S, Bengio Y, Eck D. Temporal pooling and multiscale learning for automatic annotation and ranking of music audio. In: Proc. of the ISMIR. 2011. 729-734.
[90]
Elkahky AM, Song Y, He X. A multi-view deep learning approach for cross domain user modeling in recommendation systems. In: Proc. of the 24th Int'l Conf. on World Wide Web. 2015. 278-288. [doi: 10.1145/2736277.2741667]
[15]
王国霞, 刘贺平. 个性化推荐系统综述. 计算机工程与应用, 2012, 48(7): 66–76. [doi:10.3778/j.issn.1002-8331.2012.07.018]
[24]
孟祥武, 刘树栋, 张玉洁, 胡勋. 社会化推荐系统研究. 软件学报, 2015, 26(6): 1356–1372. http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=4831&journal_id=jos
[84]
孙光福, 吴乐, 刘淇, 朱琛, 陈恩红. 基于时序行为的协同过滤推荐算法. 软件学报, 2013, 24(11): 2721–2733. http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=4478&journal_id=jos
[87]
王国霞, 王丽君, 刘贺平. 个性化推荐系统隐私保护策略研究进展. 计算机应用研究, 2012, 29(6): 2001–2008. [doi:10.3969/j.issn.1001-3695.2012.06.001]