论文翻译——用于大型社交网络的推荐系统:主要挑战及解决方案回顾

Recommender Systems for Large-Scale Social Networks: A review of challenges and solutions

Punished in: ELSEVIER, Volume 78, Part 1, January 2018, Pages 413-418
Author: Magdalini Eirinaki, Jerry Gao, Iraklis Varlamis, Konstantinos Tserpes
Keywords: Recommender systems Social networks Scalability Big data

概述

社交网络对人们生活中的网络、通信和内容分享都极为重要。社交网络每天都会产生难以计数的大量数据,其数据结构的异构性、庞大的数据和动态性构成了一个不断发展的研究领域。当使用推荐系统挖掘这些数据的内在价值,其产的成果可用于解决社交参与、成员招募和朋友推荐等一系列有趣的问题。
本次工作中,我们回顾了大型社交网络推荐系统的各个方面——该领域存在的各种挑战及其中一些问题的解决方案。

1. 介绍

在过去的几十年间,人工智能和知识管理领域取得了长足的进步。通过分析原始数据以创建智能解决方案的做法已成功地应用于工商业、科学界及社交媒体等多个领域。在线社交网络和推荐系统的结合不仅使商业公司推出更具影响力的产品和服务帮助它们推广业务,同时也为社交网络平台针对每个用户提供个性化内容、改善使用体验、吸引新用户创造了机会。与此同时,这种改变也向该领域的研究人员提出了新的挑战。大量在线社交互动造成了社交网络的加速扩张;在线评论、相关排序和永久或临时关联引起的信息多样化、对评论家及意见领袖的信任与否的数据变得更为真实。以上这些方面还只是让社交网络与推荐系统的结合成为大数据研究的理想案例的部分原因。

在这项工作中,我们专注于大规模推荐系统,包括利用潜在社交网络优势,专注社交联系的多样性和波动性,处理社交图谱扩展的速度和大小问题,测试传统推荐系统和当前解决方案的可扩展性,以上这些将把推荐系统带入一个新的高度。

2. 推荐系统和社交网络

推荐系统中使用的最流行的技术是内容过滤和协同过滤。此类系统中的每个用户通常都由一个用户资料库表示,其中包括该用户已评分(或购买)的“商品”。在内容过滤中,建议根据新物品与用户资料库中已存在物品的相似性来推荐它们,为此需要每个物品的详细信息。另一方面,协同过滤方法对物品是“不可知”的。取而代之的是他们使用用户给予的评分,根据其用户评分模式查找相似的用户(或物品)。协作过滤系统的通用性质是它们获得广泛成功的原因,因为它们被用来推荐各种产品,例如电影、音乐、新闻、书籍、研究文章、搜索查询、社交标签等。

虽然包含评级的双向用户物品图曾经是此类系统的唯一输入,但这种结构已不足以表示所有可用信息,例如内容、上下文、社交信息和元数据。最终研究人员尝试将更多用户信息、上下文信息(空间、实际、社交等)及时间演变的信息融入推荐系统。

2.1 超越用户项目评级:上下文感知推荐系统

情境感知推荐系统(CARS)通过使它们适应用户的特定情境来生成更多相关的推荐。推荐系统必须考虑的上下文因素与目标用户的时间、位置和目的有关。根据用户上下文可以是静态的或随时间变化的[1] 。CARS承担一个预过滤步骤,其中上下文信息用于选择相关物品集;一个经典推荐步骤,根据预测的收视率对相关项目进行排名;一个上下文后过滤步骤,对输出进行重新排序和过滤传统推荐器[2]。

上下文感知系统结合了社交网络中来自多个来源的信息,以优化上下文空间并解决主要的推荐系统问题,例如“可扩展性”和“冷启动”问题[3]。 例如,上下文信息[4]以特定于用户的和特定于项目的潜在因素编码或反映出来。 通过对用户和具有相似上下文的项目进行分组,将用户项评分矩阵划分为多个分区,并将矩阵分解应用于生成的子矩阵。

一个上下文感知的多媒体推荐系统,该系统将用户偏好(在前一项的元数据中),意见(用户评论中的文字评论),行为(过去的项的观察和动作)和反馈(以评分的形式表示)一并考虑在内在[5]中提出了相同的框架。

2.1.1 时间感知推荐系统

可以将时间感知推荐系统(TARS)视为专注于以时间形式利用上下文信息的专用CARS。 他们认为,随着新商品的出现和新趋势的出现,用户的偏好会随着时间的流逝而变化,并且用户的品味会不断发展。 反过来,这会影响商品的流行度,而商品的流行度不断变化,将旧商品带到用户偏好的尾巴,而将新商品推向高潮[6]。

在推荐系统中处理用户偏好的时间动态带来了新的挑战,因为每个用户兴趣的变化都不同于概念漂移问题[7]。 在具有多个用户和项目的社交网络中,许多不同的功能会同时发生变化并相互影响,而在一般概念漂移问题中,仅跟踪单个概念。 使用滑动窗口和首选项衰减函数会增加已经稀疏的问题的稀疏性(因为过去的信息被丢弃或丢失),通常可以避免。 在文章[8]中,Koren扩展了静态矩阵分解模型和相关的基线预测变量,其功能可以捕获用户和项目偏见的逐渐漂移,并引入了timeSVD ++算法,该算法优于其前身。

文献中已经使用了几种技术,通过提高最近的评级并惩罚较旧的评级来采用CF算法进行时间变化,例如离散时间窗[9]或连续衰减函数[10]。 最近,已经提出了一种基于关联规则和社区识别方法的算法来处理推荐系统中的漂移问题[11]。 贝叶斯概率张量分解[12]也被证明是一种合适的时间CF模型。

2.1.2 位置感知推荐系统

正如Chen和Tsai[13]所讨论的,位置感知推荐系统(LARS)主要通过旅行和旅游业中的场所推荐系统而变得流行。诸如Facebook Places和Foursquare之类的基于位置的社交网络(LBSN)的出现,为研究人员增加了可用数据和挑战[14]。 LARS在通过空间标准划分用户位置双向评级图表时利用位置评级,以便采用空间上靠近用户的位置,而忽略距离较远的位置,以最大程度地提高系统可扩展性而不牺牲推荐质量的方式[15]。 LARS由两个组件组成,一个离线建模组件,它通过捕获项目共现模式并利用项目内容来学习每个用户的兴趣和每个位置的本地偏好,以及一个在线推荐程序组件,该组件自动组合所学到的知识。用户的本地偏好并产生前k个推荐[16,17]。

时间是位置感知推荐系统中的关键因素,因此位置或活动推荐的最新方法采用统一的时空框架[18-20]。

2.1.3 社区感知或社交推荐系统

社区意识或“社交推荐系统”已获得研究人员的关注,因为他们利用社交关系来改善推荐流程。 在文章[21]中的作者将社交推荐的定义狭义地定义为“任何以在线社交关系作为附加输入的推荐,即通过附加的社交信号增强现有推荐引擎”。 文献[22]的更广泛定义是指针对社交媒体领域的推荐系统。

该研究领域的主要前提是,用户的偏好比未知用户的偏好受其朋友的偏好的影响更大。 假设项目等级可用并且用户网络内存在某种形式的影响/信任传播,则此类尝试会增强社交数据的典型推荐过程。 例如,一种常见的方法是通过使用从用户的评分和/或他们的社交关系得出的相似性来形成用户的邻居,从而增强基于内存的协作过滤过程,重点是信任。

社区感知系统采用用户偏好,用户连接性或任何其他社交信息,以便检测用户群,从而将推荐问题划分为较小的问题。基于社交网络中同质性的概念,用户的喜好可能与她的朋友的喜好相似或受其影响,这样的系统设法填补了冷启动问题的空白并找到了用户之间的相似之处[23]。这可以通过协同分解来完成,其中假设用户在评级和社交空间中都共享相同的偏好矢量(例如[24]),采用集成方法,其中推荐结果是通过以下方法的线性组合得出的:两个系统(例如[25])或正则化,其中优先考虑基于社交的评分(例如[26])。例如,在文献[27]中,作者提出了一种偏好感知的社区检测方法,以根据用户的社交关系对其进行分组,而在文献[28]中,则使用用户的社交信息(用户到用户的友谊网络)对用户进行分类。将大型的用户到项目的二分图分成较小的分区,并在较窄的社交环境中执行协作过滤。当用户属于多个社区(即我们有重叠的社区)时,在用户-用户图上使用基于多标签传播的方法[29]。

2.2 超越简单物品推荐

推荐系统(RS)变得很流行,因为它们可以通过提供自动推荐来个性化用户体验。它们首先出现在电子商务站点[30]中,用于推荐单个项目,即客户可能感兴趣的产品。 然而,在过去的几年中,它们的使用已经跨越了多个其他领域,从数字馆藏(例如新闻和研究文章[31]到数据库查询[32,33]甚至是网络服务[34,35])。

2.2.1 分组和打包推荐

包装推荐系统通过向用户建议一组项目(包装)而不是单个项目来扩展传统RS。套餐推荐在许多应用领域中非常有用(例如,向学生推荐学术课程套餐,每周饮食套餐,旅行套餐以及电影或书籍集)。在文章[36]中,作者提出了一个系统,以推荐一个具有一组预定义技能和最低沟通成本的专家团队。在文章[37]中,基于最大流量算法的课程推荐系统用于个性化斯坦福大学课程。在文章[38]中,作者创建了旅行套餐,可以最大化用户偏好得分并满足给定的用户约束。最后,在文章[39]中,作者提出了一种包装建议的通用框架,可以满足用户的喜好并同时满足一些预算和时间限制。

为了解决主要影响以新用户为目标的推荐系统性能的冷启动问题,已经提出了组推荐系统[40,41],用于推荐可以由同一组用户立即体验的项目。位置(物理或虚拟)[42]。小组推荐还被用于构建某些“刻板印象”,可以将其应用于单用户推荐。团体推荐系统提出了许多具有挑战性的问题[43],例如,成员需要相互检查彼此的偏好,并就推荐项目进行谈判并做出最终决定[44]。

2.2.2 用户推荐/链接预测

向社交网络的用户推荐其他用户(即新连接)的问题已得到广泛研究[45,46]。当有明确的用户对用户信任信息可用时,可以使用信任传播模型来推断社交网络成员之间哪些新交互可能在不久的将来发生,并向用户推荐新连接[47-50]。在没有明确的用户对用户评分的情况下,已经采用了利用隐式用户反馈的潜在因素模型[51]。

从算法的角度来看,链接预测算法在不同方向上执行图形遍历(基于路径或基于随机游走的算法),以便计算顶点或边的最终排名,从而推荐链接。 为了处理大规模网络,提出的方法[52,53]对初始邻接矩阵进行分区,然后计算每个分区(即对角线块)的低秩近似,然后将其应用于链路预测 。在其实现中,他们使用诸如MapReduce [54],Fork Join [55],Spark [56],Pregel[57]或GraphLab[58]之类的框架处理大规模图形。

2.3 超越简单的评估指标

开发有效的推荐系统不仅限于预测用户偏好并向每个用户推荐最突出的项目[31,59]。尤其是在电子商务系统中,新商品的添加速度非常快,对于推荐系统,仅使用少数几个可用的评分,从流行商品到具有类似功能的新商品就变得很重要。该挑战在文献中被定义为“长尾巴”问题[60],可以使用基于内容的方法来利用该挑战来定义流行商品和新商品之间的相似性,并用新商品替换流行商品,或者将商品聚类到 长尾巴,并使用每个群集的汇总评分来利用稀疏评分[61]。通常,解决冷启动问题的相同方法用于解决长尾问题。

考虑到以上限制,从业务角度来看,建议的“多样性”和“新颖性”具有有效的RS的关键功能[62]。 为了增加新颖性,文章[63]中的作者颠倒了推荐任务,而不是选择要推荐给用户的项目,他们的系统决定应推荐用户推荐给每个项目的用户。 为此,他们对评级矩阵求逆,引入了最近邻算法的有趣重新表示形式,进而引入了新的邻居选择策略。

3. 大型推荐系统的主要挑战

利用社交网络结构来增强推荐过程的大规模推荐系统的主要挑战是:(a)利用所有可用信息来分析所形成的社交,评分和内容相似度图, (b)适应动态演化的图,(c)缩放至大图[28]。

3.1 数据多样性

困扰推荐系统的两个最主要问题是数据稀疏性和对新用户的冷启动推荐的性能不佳。社交网络及其为用户保留的大量个人和偏好信息,通过隐式用户偏好提取,有助于缓解冷启动问题并填补了用户项偏好数据中的许多空白[64]。

但是社交网络中所有可用信息都为用户所用,这使得最先进的协作过滤算法(例如矩阵分解[65])不足以处理新信息的数量和复杂性。因此已经提出了对流行模型的修改和扩展以便将潜在偏好或简档信息合并到现有模型中(例如,在矩阵分解中)。社会正规化[66]和基于社会的矩阵分解[67,68]是用来描述这一方向的方法的关键术语。

3.2 数据波动性

从捕获用户兴趣漂移的推荐系统的早期工作[69,70]到建模活动流中用户兴趣动态的最新工作[71],用户偏好的波动性是设计广告活动时要考虑的参数推荐系统。社交推荐系统蓬勃发展,这些推荐系统以流式交易格式生成数据,而证据表明捕获用户偏好的时间动态可提高推荐性能,这使得数据波动性成为现代推荐系统的主要挑战[72]。

文章[73]中的作者提出了一种基于流的建议的半监督框架,该框架通过在运行时向矩阵添加新维度并执行半监督学习的能力扩展了矩阵分解算法。同样[74]中的作者提出了一种新的协作进化模型,该模型基于用户项目评分矩阵的概率分解。用户和项目的因子矩阵会随着时间而变化,以便通过稀疏的历史数据来捕获用户配置文件的演变,并能够输出未来的预期用户配置文件。

3.3 数据容量

为了应对不断增长的社交网络数据量,研究人员将重点放在并行和分布式系统上,并致力于将现有推荐算法转换为并行环境。而且由于协作过滤(CF)可能是推荐系统最流行的基于模型的技术,因此在并行和分布式框架上开发了CF算法的几种实现。

在为方便处理大量数据而开发的众多框架中,CF常用的框架包括用于共享内存并行编程的OpenMP,Pthread和Java Thread,以及用于GPU计算的CUDA和OpenCL。在分布式解决方案中,基于MapReduce[76]的“键-值对”模型的Hadoop[75]已成为更新的分布式框架(例如Mahout[77]和Spark [78])的基础。Storm[79]和GraphLab[58]分别是基于图的实现和算法的竞争框架,这些图基于图的实现和算法分别基于主工作者和批量同步并行(BSP)模型。

文章[80]中的工作概述了处理大量数据的社交网络数据分析工具所面临的挑战,而文章[81]中的工作则对协作过滤算法的并行和分布式实现进行了全面调查。

文章[5]中的作者开发了针对大型社交网络的上下文感知推荐系统,该系统考虑了社交网络中可能发生的所有可能的用户与内容之间的关系。 该系统已使用Hadoop技术堆栈,AllegroGraph Triplestore和SPARK SQL工具在Apache Spark上实现。

4. 大型社交网络的推荐系统本特刊接受文章的简要回顾

从Sarwar等人的早期工作开始。 文章[82]关于可扩展的协作过滤算法,直到今天,社交网络的增长和大量的用户偏好数据已经产生了对推荐器系统的需求,该推荐器系统可以同时处理由大型社交网络生成的数据的多样性,易变性和数量。

本期特刊包含的研究工作超出了传统的用户项目评分信息,并利用了从社交网络中提取的信息。从与社交数据的多样性和数量以及用户偏好随时间变化的各种大数据角度研究了提出的解决方案。

在[83]中,Rezaeimehr等。提出一个称为时间的推荐系统TCARS。 TCARS推荐算法基于识别重叠的用户社区并为用户偏好动态建模,以最大程度地减少稀疏性影响并保持社区随时间的更新。使用TCARS所获得的结果与最新方法相当。

在文章[53]中,Corbellini等。提出了一种新颖的图形处理模型,称为分布式分区合并(DPM)。 DPM是用于处理大型社交网络的混合模型,它结合了Fork-Join编程风格的简单性以及Pregel框架的性能和可伸缩性。 DPM已针对快速计算大型网络顶点的基于路径和基于随机游走的排名的能力进行了评估,因此其在社交网络中的用户推荐系统中可用作链接预测组件的能力。

在文章[84]中,Guo等。解决了电子商务环境中用户兴趣的波动性,其中用户购买历史记录是顺序模式挖掘算法的输入,该算法为不同类别的用户兴趣漂移建模。通过结合多类别购买间隔和价格偏好信息,建议的模型使建议多样化,并提高了建议的准确性。后者使用模糊集理论进行建模,并使用真实的购买记录对建议的推荐系统进行评估,这些记录显示出相对于竞争方法的改进性能。

在文章[33]中,Margaris等人。提出了一种基于社交网络的查询个性化算法,该算法在搜索个性化信息时会考虑来自用户社交网络的影响。该算法通过(a)利用社交图来提高个性化质量和(b)提出一种有效的查询重写技术来扩展现有查询个性化算法的状态,该技术可处理个性化过程结果的映射。作者在典型的电影信息数据库中评估他们的方法,在该数据库中,过去的用户偏好和其他网络用户的影响被用来过滤匹配用户查询的长结果列表。例如,当用户搜索演员出演特定时间段的电影时,电影的排名取决于与用户偏好以及用户的朋友偏好相匹配的查询。该算法在性能,结果排序的准确性以及令人鼓舞的结果方面均经过实验验证。

在文章[85]中,Gan等。分析三角形图案与社会关系之间的相关性,并得出结论,如果一个人具有大量的社会关系,那么他的朋友之间的联系也将很大。他们发现潜在的社会关系与共同的联系相关,并证明了融合全球和地方协会的必要性。作者开发了一种新颖的方法,称为FLOWER(将全球和地方协会融合到个性化的社会推荐中),以整合全球和地方协会,并表明,基于FLOWER的方法在各种类型的社交网络设置中的社会推荐效果明显优于其他方法。

在文章[68]中,古里尼等人。提出了一种新颖的社交网络人对人推荐系统,该系统基于对用户态度的识别:情感,数量和客观性。为了在传统的社交网络上大规模地执行此操作,该系统采用了三维矩阵分解模型(每个态度一个维度),并且在分解模型中考虑了用户态度的时间变化。评估表明,推荐者的准确性和多样性随着态度和时间特征的增加而增加。

5. 结论——未来方向

为了解决评分信息的稀疏性和困扰传统协作过滤算法的冷启动问题,最近在文献中引入了几种深度学习方法,这些方法将项目评分与来自其他来源的项目主题信息相结合。例如文章1中的分层贝叶斯模型,该联合贝叶斯模型对内容信息进行深度表示学习,对评分矩阵进行协同过滤,或者在文章[87]中对堆叠降噪自动编码器进行深层网络训练,其中每一层都经过训练以最小化 重建其输入(这是上一层的输出)时出错。

深度学习也为新型建议开辟了道路,例如使用递归神经网络为点击会话数据建模的基于会话的建议文章[88],跨领域推荐系统,其中项目被映射到联合潜在空间[89]。 ,或[90]的社交信任集成学习模型。

大量的协作过滤研究工作超出了矩阵完成度[91],它基于评级矩阵的非负矩阵分解(NMF)[92]和张量分解[93,94]。还提出了加权和图正则化NMF来将来自社交图的信息合并到评级模型中,并且为了减少大图的内存需求并避免过度拟合,已将图正则化的拉普拉斯矩阵替换为其他 正则化(例如Tikhonov [95])。

最终,随着可能的建议列表的增加,既有效又新颖的建议算法的重要性不断提高[96]。 除了准确性之外,推荐项的多样性,偶然性,新颖性和新鲜度[97]以及用户对它们的熟悉度[98]以及避免用户无聊[71]是评估推荐质量的一些新标准。


  1. 86 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值