社会化推荐系统综述
2020-01-06张岐山翁丽娟
张岐山,翁丽娟
福州大学 经济与管理学院,福州350108
1 引言
近年来,随着信息技术的飞速发展,以论坛、QQ、微博、微信、博客、脸书等为代表的社交媒体受到了广大网民的欢迎,同时得到了极其广泛的应用。社交媒体具有十分丰富的网络信息资源,并且具有方便快捷、交互简单、传播迅速等优点,然而也正是由于这些优点,人们更加广泛地使用社交媒体,推动了互联网信息呈现出爆炸式增长,进而导致目标信息容易被淹没在海量数据中。面对海量非结构化信息过载问题,使用推荐系统可以为用户有效地过滤冗余信息,提高服务质量,因此推荐系统变得十分重要[1-5]。对于信息消费者而言,推荐系统能帮助他们快速地从大量冗余信息中筛选出有用的信息;对于信息提供者而言,推荐系统不仅帮他们决定提供哪种信息给消费者,同时消费者也会因为服务质量好而提高忠诚度[6]。
然而,推荐系统面临着数据稀疏性、冷启动和系统本身性能等方面的问题,这些问题对推荐系统造成了较大的影响,在很大程度上降低了推荐准确性。为了解决这方面的问题,研究人员将用户或项目的社会关系属性信息(如标签信息、关注关系和信任关系等)作为重要的影响因素融入到传统的推荐框架中[7-8],从而提出社会化推荐方法[9-10]。该方法经过研究证明是有效的;一方面是因为信息获取变得更容易,随着社交媒体发展,用户的社会关系属性信息相对于以前更容易获得;另一方面是因为旁人意见可以影响一个人的决定,现实生活中用户经常有向自己的熟人(如朋友、同学或同事等)征求意见、传播信息的倾向[11-12],而熟人的意见往往能够影响一个人的决定,这就意味着用户的社交网络关系可以帮助他们过滤信息。
当前,社会化推荐系统在国内外已经成为一个热门课题,并有众多研究人员对此展开了研究,且获得了相应成果。特别是从2007 年起,基本每年都会举办ACM推荐系统年会,从2009年开始,有关社会化推荐系统的专题研讨会都会择期召开[13]。2011年的专题讨论会,指出了社会化推荐系统的几个重要主题和所面临的研究热点和难点[14],为社会化推荐系统研究提供了方向性指南;2013年的主题研讨会,在之前的讨论基础之上又进一步提出了社会化推荐系统的4 个研究方向[15],进一步扩宽了该领域的研究道路,为社会化推荐系统研究提供了更为有力的抓手,丰富了社会化推荐系统研究的理论体系。截止目前,社会化推荐系统仍处于蓬勃发展阶段,有许多挑战性问题需要进一步探索。本文对社会化推荐系统研究进行了回顾与总结,并挖掘社会化推荐系统研究的热点主题和未来发展趋势,希望能从梳理中找出新的突破点,以期为该领域后续的相关学者提供一些有益的借鉴和参考。
2 传统的推荐系统
传统推荐系统关注面比较有限,通常只关注用户和项目之间的二元关系[16],即用户对项目是否关注或评分。通常用表示用户,n 为用户数量,用表示项目,m 为项目数量;用户与项目之间的关系如图1(a)所示。评分矩阵R 中的Rij表示用户ui对项目vj进行评分,R ∈Rn×m,用空值表示用户没有对该项目进行评分,则用户对项目的评分信息只能根据已经获取到的相关资料进行综合性预测,如图1(b)所示。
图1 用户历史行为信息
Resnick与Varian最早提出推荐系统的定义[12],在他们提出推荐系统定义之后随即就出现各种相关的推荐方法,接下来对最主要的3种推荐方法进行介绍。
2.1 基于内容的推荐
基于内容的推荐来源于对信息检索[17]和信息过滤的研究[18],主要是推荐与用户之前偏好信息相类似的项目。该方法主要是通过对项目信息内容进行挖掘以及提取,找出项目之间的关系并计算出相似度,从而依托相似度向用户推荐相关的项目;项目内容特征通常通过关键词展现出来,而关键词的信息量则是用TF-IDF 计算[19],TF 是指词频(Term Frequency),IDF 是逆文本频率指数(Inverse Document Frequency)。
然而,基于内容的推荐存在以下几点不足[20-21]。
(1)有限的内容分析:这些系统难以应用于多媒体数据等本身具有自动特征提取的领域。
(2)过度特殊化:向用户推荐的项目只限制在和用户之前的偏好存在相似之处的项目。
(3)新用户问题:基于内容的推荐是在用户有足够多的评分项目前提下进行的,然而当用户没有评分项目时,该方法就无法进行推荐,即冷启动问题。
2.2 协同过滤推荐
协同过滤是当前应用范围最为广泛的一种推荐方法[5,22-24],该方法通过提取出用户-项目评分数据,并对数据进行分析从而预测用户的偏好,主要分为基于内存的方法[25]和基于模型的方法[26-29]。
2.2.1 基于内存的协同过滤推荐
基于内存的方法主要依托用户-项目评分矩阵或样本进行预测[23],其根据研究对象不同,可以进一步分为基于用户的方法[30-31]和基于项目的方法[5,32]。通过查找与目标用户评分相似的用户,然后将这部分用户所感兴趣的项目推荐给目标用户,称之为基于用户的方法。通过计算项目在评分数据上的相似程度,然后由相似项目的评分加权和来预测评分矩阵里缺失的评分,则称之为基于项目的方法。通常会采用Jaccard 相似度、余弦相似度或皮尔逊相关系数等方法来计算用户之间或项目之间的相似度。
2.2.2 基于模型的协同过滤推荐
基于模型的方法采用数据挖掘和机器学习算法对评分数据样本进行训练学习并建立模型,通过模型来预测未知评分[33]。该方法主要利用矩阵分解、关联算法、聚类算法、分类算法以及回归算法等进行研究。其中矩阵分解[22,34]因其较高的准确性和可扩展性在近几年得到广泛应用[35-36]。
矩阵分解的基本思路是通过用户-项目评分矩阵来学习用户和项目在低维潜在空间上的矩阵表示U 和V[37],对应的优化模型如下:
协同过滤推荐能有效避免基于内容推荐的一部分缺点,而且该方法不需要太多对应数据领域的专业知识;然而,协同过滤仍然不能有效避免用户冷启动、数据稀疏性等问题[21,23]。文献[38]在协同过滤推荐的基础上融合TextRank 和word2vec 训练用户行为序列,能够解决过拟合问题,但依然在冷启动上存在瓶颈。
2.3 混合推荐
为了克服基于内容推荐和协同过滤推荐存在的缺点,提出了混合推荐方法,该方法把基于内容推荐和协同过滤推荐两种方法结合了起来。以下是目前采用的3种不同结合方法:
(1)在协同过滤推荐过程中融入基于内容推荐的特征。将内容中提取出的特征和部分项目评分数据作为基本参数,然后计算用户与用户之间的相似度,这种混合方法能在一定程度上解决数据稀疏性问题。
(2)在基于内容推荐过程中融入协同过滤推荐的特征。该方法是通过对内容的特征矩阵进行分解,进而降低特征矩阵的维度,过滤特征矩阵当中不相关的维度。
(3)整体式混合方式。首先将基于内容的推荐和协同过滤推荐两种方法分别单独实现,接下来利用不同的机制,比如投票机制[39]或者评分的线性组合机制[37],将两种方法单独实现后的结果进行组合,从而生成最后的推荐。
3 社会化推荐系统
近年来,各种各样的社交媒体的出现使得网民之间的交流互动变得更方便、更频繁;社交媒体的普遍使用导致互联网上的信息以前所未有的速度增长,这为社会化推荐系统创造了良好的发展环境,在很大程度上促进了该领域的发展。
3.1 社会化推荐系统的概念
社会化推荐系统自1997 年被提出以来,吸引了许多研究机构和学者的关注。文献[40]将其划分为狭义定义和广义定义两种,其中狭义的社会化推荐系统指的是一切融入了社交关系的推荐系统,比如利用额外的社交信号来增强现有的推荐引擎,该定义假设当用户之间存在社交关系,则他们就互相关联[1,41-42],他们的偏好就很有可能相似或相互影响。正是基于这种假设,进而推导出社会化推荐系统能通过社交关系提高推荐准确度。广义的社会化推荐系统指的是一切针对社交媒体领域的推荐系统,该定义包括在社交媒体领域推荐任何对象的推荐系统,这些对象可以是项目、标签以及社区等,利用的数据源也不仅是社交信息,还包括各种可利用的社交媒体数据,比如社会化标签[43]、用户与用户之间存在的交互信息[44]以及用户个人的点击行为[45]等。
3.2 社会化推荐系统与传统推荐系统两者之间存在的差异
随着社交媒体的日益普及,网民可以方便地参与到网络活动中,由此也产生各种各样的社交关系。在社会化推荐系统中,除了评分数据这一数字化联系外,用户与用户之间还存在着各种各样的联系。在社会化推荐系统中,用户之间的社交关系通常用S 来表示,Sij=1是指用户ui和用户uj之间存在联系,反之Sij=0。正是因为用户之间有着各种各样的联系,使得社会化推荐系统与传统推荐系统有所区别,两者主要差异如表1所示。
表1 社会化推荐系统与传统推荐系统的主要差异
(1)传统推荐系统仅利用评分信息向目标用户推荐项目,其假设用户与用户之间不存在任何关联关系,个体之间是相互独立同分布的;然而在现实社会中,这是不存在的,用户之间多多少少都会有社交关系,包括有向关系和无向关系。而社会化推荐系统则在传统推荐系统的基础之上融入了社交关系,假设存在社交关系的用户拥有相似的偏好,并利用评分信息和社交关系向目标用户推荐项目,使得推荐系统与现实生活情景更加接近,如图2所示,此处仅列举有向关系。
图2 用户社交关系
(2)社会化推荐系统运用了社会网络分析方法[46],该方法被广泛用来研究行动者之间的关系。行动者包含的对象可以有很多种,比如国家、组织、群体、社区、个人等,他们之间的关系模式反映出的现象或数据是网络分析中的焦点。社会网络分析是一种极为重要的研究思想,它在数据挖掘领域、数据可视化、知识管理、统计分析、小世界理论、信息传播等方面均有所涉及。社会化推荐系统能够有效利用社会网络分析的研究成果(如异构网络、社区发现等)更为准确地向用户推荐项目。而传统推荐系统因为没有融入社交关系,因此并未采用社会网络分析方法,导致其推荐准确度相较于社会化推荐系统的准确度低。
(3)由于互联网信息量急剧增加,社交媒体环境下的推荐需要处理的数据量比传统推荐需要处理的数据量更大,而且数据冗余和噪声更多,因此,社会化推荐系统需要拥有更强的数据处理能力。相较于传统推荐系统主要利用用户评分数据,社会化推荐系统采集的数据主要是用户隐式反馈数据,它具备更低的采集成本、更丰富的数据量、对用户的干扰程度更小等优势,因而社会化推荐系统能有效缓解数据稀疏性的问题。
社会化推荐系统是传统推荐系统的延伸,由于社交媒体环境比传统环境面临更加复杂的信息提供环境和数据特征,只有在充分、准确提取和预测用户在社交媒体环境下产生的各种数据中蕴含的用户偏好后,才能有效生成准确度更高的推荐。同时,社交媒体快速发展所产生的丰富的社会化网络数据,使得用户对推荐系统的实时性和准确性要求更高,而传统推荐系统并不能满足用户需求,社会化推荐系统利用社交关系可以准确地向用户推荐项目,有效提高了推荐性能。
3.3 典型的社会化推荐系统
根据第2 章介绍的传统推荐系统可以分成3 种,同样地,社会化推荐系统也可以分成以下3 种:基于内容的社会化推荐系统、基于协同过滤的社会化推荐系统和组合的社会化推荐系统。基于协同过滤的社会化推荐系统是目前应用最普遍的推荐系统[40,47],其框架主要由两部分组成:(1)基本的协同过滤模型;(2)社交信息模型。
由于协同过滤推荐有基于内存和基于模型两种方法,因此,基于协同过滤的社会化推荐系统也相应地有基于内存的社会化推荐系统和基于模型的社会化推荐系统之分。不同的社会化推荐系统会采用不同的方法进行推荐,接下来将对这些方法进行分类总结。
3.3.1 基于内存的社会化推荐系统
基于内存的社会化推荐系统的基本思想主要是通过查找和目标用户具有相关性的用户,然后将相关性用户所感兴趣的项目推荐给目标用户,而这些与目标用户相关的用户是通过评分信息与社交信息得到的。已有的基于内存的社会化推荐方法有TidalTrust[48]、MoleTrust[1,49]等。
(1)TidalTrust
TidalTrust 假设用户之间是通过信任关系进行连接;并且非相邻用户之间的信任值是通过改进的广度优先搜索算法查找从用户ui到用户uj的路径推断得出。路径如果越短,那么信任值的推断就越准确。如果信任值大于给定阈值,那么就认为这个用户就是与目标用户具有相关性的用户。该算法能够将源用户到目标用户之间路径的长度和最小信任域值结合在一起,然而,该算法对于关系比较疏远的用户,比如间接好友,其信任值推断的准确性也会明显下降。
(2)MoleTrust
MoleTrust的基本思想与TidalTrust类似,但MoleTrust设置了最大路径长度,并且只选取从源用户到目标用户长度小于最大路径长度的路径进行考虑。该算法首先构造从源用户到其他用户之间的有向非循环图,同时固定路径长度;其次利用第一步得到的有向非循环图来计算源用户到目标用户之间的信任值;其计算方法是:依次在有向非循环图中算出不同的路径长度的信任值,最后算出所有邻接于目标用户边的信任值均值,并将该均值作为源用户对目标用户的信任值。该算法将已对目标项目进行评分并且在最大路径长度内的用户当作是与目标用户相关的用户。MoleTrust对信任值的计算与平常社交习惯非常类似,它是按照层次顺序进行的,且该算法具有省时、高效的优点,但其仍然具有不足之处,主要体现在该算法没有考虑信任值在传播的过程中会逐渐降低。
3.3.2 基于模型的社会化推荐系统
基于模型的社会化推荐系统一般都是采用矩阵分解方法,因为矩阵分解方法具有推荐效果准确、可扩展性好、实现复杂度低的优点。基于矩阵分解的社会化推荐方法的基本思想是在矩阵的优化分解的基础上融入了用户的各种社交关系信息,目的是挖掘出更好的潜在特征向量[44,50-51]。已有的基于矩阵分解的社会化推荐方法有SoRec[41]、TrustMF[52]、TrustPMF[53]、LOCABAL[54]、SoReg[3]、SocialMF[55]、RSTE[56]等。根据现有矩阵分解推荐模型的建立方式,上述基于矩阵分解的社会化推荐方法主要分成两种[57]:基于用户特征矩阵共享表示和基于用户特征矩阵重表示。
(1)基于用户特征矩阵共享表示
基于用户特征矩阵共享表示是指通过共享用户特征矩阵,然后将评分矩阵和社交关系矩阵进行同步分解。SoRec就是其中的一种模型,它既作为第一个基于矩阵分解的社会化推荐模型,同时也是第一个基于用户特征矩阵共享表示的社会化推荐模型,如图3所示。
图3 用户特征矩阵共享表示—SoRec
该模型在用户特征矩阵和项目特征矩阵两个矩阵的基础上融合了社交特征矩阵,使其能够反映用户的社交关系会影响用户对项目的兴趣判断,同时用户特征矩阵被评分矩阵和社交关系矩阵所共享。其对应的目标函数如下:
其中,Rij是用户ui对项目vj的评分,Sik是用户ui和用户uk的社交关联度,为社交特征矩阵,为Logistic函数;g(UiTVj)表示利用待求解的用户偏好向量Ui和项目特征向量Vj来拟合评分数据的函数,是利用待求解的用户偏好向量Ui和社交特征向量Zk来拟合用户社交关表示正则约束项。系的函数;
SoRec 方法通过分解用户间的社交关系矩阵从而对用户存在的潜在特征进行学习,同时通过共享用户特征矩阵进而能够达到使用朋友的偏好信息进行推荐的目的,有效解决了数据稀疏性和预测精度差的问题,复杂性分析表明该方法可以适用于较大的数据集,特别是在用户拥有较少或没有评分的情况下;但该方法存在的不足之处就是它把社交关系矩阵分解成用户特征矩阵与社交特征矩阵缺乏自然规律解释,不能反映真实世界的推荐过程。
文献[52]构造了一种社会化推荐模型TrustMF,它融合了评分数据和信任数据。该模型将每个用户ui映射为信任者特征向量Bi与被信任者特征向量Wi,Bi与Wi是两个不同的d 维潜在特征向量,它们分别指的是用户ui的“信任他人”和“被他人信任”行为。
该方法分别对信任行为和被信任行为进行建模,建立了Truster-MF模型和Trustee-MF模型,并假设信任者特征矩阵B(被信任者特征矩阵W)与用户特征矩阵U 是互相等价的,提出了融合策略—TrustMF,对评分信息进行预测,其公式如下:
TrustMF 模型通过对两层稀疏信息、用户的传统评分数据和用户之间的社交信任网络进行整合来提高推荐性能,强调用户在做决策的过程中会相互影响,该模型能够较为准确地反映现实世界中的推荐过程,但文献[52]作者之后认为信任者特征向量Bi(被信任者特征向量Wi)与用户特征向量Ui不是完全等价的关系,两者之间只能通过一定概率近似,于是又提出了TrustPMF模型。该模型假设用户特征矩阵U 、项目特征矩阵V 、信任者特征矩阵B 以及被信任者特征矩阵W 都服从均值为0 的高斯分布,同时假设在信任者特征向量的条件下用户特征向量的概率分布是,在被信任者特征向量上的条件分布是,其中,方差指的是用户特征向量Ui与信任者特征向量Bi之间的近似程度,指的是用户特征向量Ui与被信任者特征向量Wi之间的近似程度。
由贝叶斯推导可知,用户特征向量、项目特征向量、信任者特征向量和被信任者特征向量的联合后验概率分布如下:
求解特征矩阵U 、V 、B、W 的后验概率最大值相当于计算公式(4)的负对数的最小值,因此可以得到以下目标函数:
其中,nui和nvj分别表示用户ui和项目vj的评分个数;mbi表示用户ui信任的用户个数;mwk表示信任用户uk的用户个数;为Logistic函数。由于TrustPMF是在TrustMF基础上引入概率思想,因此该模型更为通用,并且能够以更灵活的方式结合浏览和评分偏好来进一步提高推荐精度,所以该方法更加符合现实世界的推荐过程;然而该方法只结合信任关系(正面关系),忽略了不信任关系(负面关系),其推荐准确度还有待进一步提高。
还有一种比较典型的基于用户特征矩阵共享表示的推荐模型,即LOCABAL 模型,它以社交关系理论为基础,认为两个拥有社交关系的用户ui与uk的偏好向量Ui与Uk可以通过相关矩阵H 进行关联,H ∈RK×K是获取用户偏好相关性的矩阵,且该模型认为拥有较强社交关系的用户通常拥有相似的偏好。LOCABAL 算法的基本原理是首先通过查找每个用户的最近邻用户,然后根据相邻两个用户评分向量之间的相似度判断出这两个用户之间的社交关联度,该相似度是采用余弦相似度计算得到。对应的目标函数如下:
LOCABAL 模型根据社会相关理论捕捉局部社交关系,使用用户声誉评分获得全局社交关系,该算法将不同视角的社交关系应用到推荐系统中,能够有效提升推荐性能。但是现实生活中用户偏好和社交关系是不断变化的,该方法没有将时间信息融入到社会化推荐系统中。
(2)基于用户特征矩阵重表示
用户特征矩阵重表示指的是通过评分矩阵获取用户特征矩阵的时候,社交网络中具有关联关系的用户信息会对该行为产生影响。SoReg就是其中的一种模型,它既是一种社交正则化推荐模型,又是一种基于用户特征矩阵重表示的社会化推荐模型。该模型假设用户的偏好与其好友的偏好具有相似性,通过利用社交关系信息对用户特征向量进行规则化处理,接下来通过好友的偏好信息来影响用户ui对项目vj的最终预测评分,如图4所示。
图4 用户特征矩阵重表示—SoReg
SoReg 模型认为信任关系和好友关系在许多方面是不同的,信任生成过程是一个不需要用户确认关系的单方面行为,只需依靠用户之间具有相似的偏好即可,而好友关系则是现实世界中的合作和相互关系,比如同学、同事等。针对不同类型的社交关系,SoReg 提出了基于平均值和基于个体的两种正则化方法。由于基于平均值的正则化方法对那些好友有不同偏好的用户不敏感,这会造成信息丢失,导致用户特征向量建模不准确,所以这里重点介绍基于个体的正则化方法。该方法认为应该对不同关系强度的好友加以区分,这样可以有效限制用户偏好与其不同好友偏好间的差异。其对应的目标函数如下:
SoReg模型具有通用性,并且能够准确地对用户特征向量进行建模,该模型利用用户的所有社交关系,但在现实世界中,用户通常在做决定前不会征询所有朋友的意见;此外,该模型潜在假设项目之间是相互独立的,忽略了项目之间普遍存在着关联关系的事实。
文献[55]则构造了一种社会化推荐模型SocialMF,该模型在矩阵分解模型的基础上融合了信任传播。SocialMF 认为目标用户的潜在特征向量会受到其所信任用户的潜在特征向量的影响,也就是目标用户潜在特征向量是其所信任用户潜在特征向量的加权平均;同时,该模型假设用户特征矩阵U 、项目特征矩阵V 都满足均值为0的高斯分布,从而有效避免了过拟合。用户特征矩阵U 和项目特征矩阵V 的后验概率分布可以表示为如下公式:
通过对式(8)的后验概率分布公式取负对数,可以获得SocialMF模型的目标函数:
SocialMF模型通过对信任传播进行建模,就算用户没有评分数据,只要他拥有社交关系,就可以学习得到他的特征向量。因此,该模型能够显著提高冷启动用户的推荐准确性,但现实世界中也存在冷启动项目,该模型需要进一步有效学习冷启动项目的特征向量,从而提高推荐准确度。
与上述两个社交正则化推荐模型不一样,RSTE 是一个加权社交信息的推荐模型,该模型假设目标用户对不同项目有着不同的偏好,并且他们很容易受到所信任用户的影响,因此目标用户最终的决定是他自己的偏好和他所信任用户的偏好之间的平衡。RSTE模型通过将目标用户ui对项目vj的预测评分与目标用户ui所信任用户对项目vj的预测评分进行加权平均计算,所得到的结果就是用户ui对项目vj的预测评分。其对应的目标函数如下:
其中,α 用于平衡用户偏好和所信任用户偏好之间的权重关系。
RSTE模型在一定程度上利用了社交信息以提升推荐精度,该模型不仅适用于推荐系统,而且也适用于社会搜索、信息检索、数据挖掘等热门研究课题。但是该算法仅仅考虑好友偏好对用户最终预测评分的影响,而未考虑用户间偏好信息的传播,在评分矩阵和社交关系矩阵都非常稀疏的情况下,用户间偏好信息的传播是不可避免的。
各类基于协同过滤的社会化推荐系统的优缺点归纳如表2所示。其中,基于内存的社会化推荐系统能够计算社交网络中存在路径相连的用户之间的信任值,因此其适用于朋友、社团、微博等社交网络推荐;而基于模型的社会化推荐系统能够对评分矩阵以及社交关系进行建模,因此其适用于基于项目评分预测的推荐。
4 社会化推荐系统展望
在这个社交网络快速发展的时代,推荐系统能够结合社交关系信息,为用户提供更为准确的个性化推荐,日益准确的推荐将社会化推荐系统的发展带进一个良性循环的发展环境,这又在很大程度上促进了社会化推荐系统的发展。但是社会化推荐系统仍然存在以下几个方向值得深入研究:
表2 基于协同过滤的社会化推荐系统比较
(1)用户隐私保护
社会化推荐系统不可避免地会使用涉及到用户隐私的一些信息,这造成一些对隐私敏感的用户不愿意使用推荐系统。2010 年,Netflix Prize 比赛就是因为涉及到用户隐私而被取消。因此,用户隐私保护至关重要,如何做到既能保护用户隐私又能进行社会化推荐是一个值得关注的重要研究方向。
(2)用户兴趣及社交关系的动态变化
用户兴趣和社交关系并不是一成不变的,它们会随着时间而改变,这种动态信息对于推荐系统非常重要。与设计更复杂的学习算法相比,数据的动态变化对推荐准确度的影响更为显著[4]。Rana等人[58]最先定义了动态推荐系统,认为涉及到时间语境、新颖性、多样性、动态环境和时间特征等参数中的任何一个都被称为动态推荐系统。邓明通等人[59]通过用户历史反馈数据分析用户的多样性偏好,并引入时间衰减函数,动态调整用户的历史评分数据,有效缓解了用户冷启动问题,并提高了推荐结果的多样性。赵海燕等人[60]充分考虑社会网络中的朋友在推荐时产生的影响的不同和变化,还原了用户更为真实的社会网络,从而学习得到更为准确的用户、项目特征矩阵,提高推荐精度。文献[61]将用户的动态观点引入到社会化推荐模型中,有效改善了用户冷启动问题,同时降低了计算复杂度。然而目前大部分学者研究的社会化推荐都是基于静态的用户兴趣以及社交关系,忽略了数据的动态变化对推荐结果的影响,导致推荐效果不够准确。因此,将数据的动态变化特征融入到社会化推荐系统将是未来的一个发展方向。
(3)负面关系在推荐系统上的应用
目前,现有的社会化推荐系统大都是基于用户与用户之间的正面关系向用户进行推荐,如朋友关系和信任关系。然而,在真实社交网络中,用户之间除了正面关系,还有负面关系,比如不信任或不喜欢。在社会化推荐系统中,利用负面关系进行推荐甚至比利用正面关系更为重要。文献[62]构建了一种新模型,这种模型在基于矩阵分解的社会化推荐模型的基础上融合了信任关系和不信任关系,从而大大改善了推荐的质量,能够有效缓解数据稀疏和冷启动用户等问题。
(4)跨媒体数据的融合
用户通常拥有多个社交媒体账号,而目前社交媒体之间没有进行数据的共享,这就无法实现更精准的推荐,甚至造成重复推荐。比如当一个用户成为京东的新用户时,如果他是淘宝老用户,那么可以将他在淘宝上的浏览记录、购买记录等融合到京东,这样不仅可以在一定程度上解决冷启动问题,而且还能实现更精确地为用户推荐项目。同时,跨媒体数据的融合能够降低推荐成本,比如用户在京东上购买了某款产品,那么淘宝就不会重复给他推荐这款产品,这样不仅可以防止推荐资源浪费,还可以防止对用户造成干扰。
5 总结
社会网络以及社交媒体的出现给推荐系统带来了全新的发展机遇,也因此产生了社会化推荐系统。在这个社交媒体高度发达、信息呈现爆炸式增长的当代,作为推荐系统研究领域较为活跃的一个研究方向,越来越多的专家学者开始关注社会化推荐系统。本文对社会化推荐系统的概念进行梳理,比较了社会化推荐系统与传统推荐系统两者之间的区别,回顾总结了社会化推荐系统的研究现状,并对该领域的发展趋势进行展望,目的在于让人们对社会化推荐系统能够有更为全面和深入地了解,希望能为社会化推荐系统研究领域的学者提供有益的帮助。