热点资讯
Trust钱包官网入口 你的位置:TrustWallet官方app下载 > Trust钱包官网入口 > TrustWallet钱包下载 社会化推荐系统研究
TrustWallet钱包下载 社会化推荐系统研究发布日期:2025-05-02 04:03    点击次数:112

推荐系统作为一种有效的信息过滤手段,是当前解决信息过载问题及实现个性化信息服务的有效方法之一.目前,主流推荐系统可以分为4类[1]:基于内容的推荐、协同过滤推荐、基于知识的推荐和组合推荐.

● 基于内容的推荐源于信息检索技术,不依赖于用户对项目的评价信息,侧重考察候选推荐项目与用户特征的匹配程度;

● 协同过滤推荐主要包括两类:

Ø 一类是基于模型的方法.此方法利用概率统计模型或者机器学习方法,在训练集上构建用户特征模型(比如线性规划模型、统计模型、贝叶斯模型、概率相关模型、决策树模型、图模型、最大熵模型等),依此进行推荐.优点在于稳定性好;缺点是训练时间长、计算复杂性高;

Ø 另一类是启发式方法,也是目前应用比较普遍的一种协同过滤推荐方法.该方法需要建立用户-项目评分矩阵,根据相似用户具有相似偏好的假设进行推荐.在用户评分信息充分的情况下,通过相似度的计算,可以快速为用户找到偏好相似的其他用户,从而实现协同推荐;但是在冷启动情况下,即用户评分信息很少,或者没有评分信息时,就显得无能为力了.因为在这种情况下,此方法找不到与该用户有相似评分模型的其他用户,也就不能基于相似用户的偏好也相似地假设进行推荐;

● 基于知识的推荐是一种基于特定领域规则或实例的推理方法,其优点在于不需要建立用户需求偏好模型,缺点是难以制定合理的推理规则;

● 组合推荐是为了克服上述各种推荐技术的弱点,对3种推荐方法的组合应用,其中,基于内容的推荐与协同过滤推荐组合是目前应用比较广泛的一种.

为了解决冷启动问题,学者们提出了社会化(social recommendation)推荐方法[2,3].这种方法主要根据用户之间的社会关系信息构建用户之间的社会化关系网络,对于一个新用户,只要网络中存在一个用户与此用户有直接或者间接的社会关系,就可以根据这种社会关系和已知用户兴趣模型,对新用户产生适宜推荐.这种推荐策略是合理、科学的,一方面源于社会网络分析(social network analysis,简称SNA)的重要研究成果[4]:网络社区中,相互联系的群体,受社会因素的相互影响,往往表现出相似的兴趣爱好及行为规范;另一方面,伴随着具有Web 2.0特征的社会化网络的广泛应用,特别是在线社交网络的盛行,网络用户之间的活动行为表现得越来越社区化和网络化.此外,在线社会化网络的数据分析结果也证明了社会化推荐模型的正确性,而且用户的社会属性信息确实能够提高推荐系统的性能.这使得社会化推荐系统逐渐发展成为一个独立的研究方向,引起国内外学者的研究热情.

目前,社会化推荐系统逐渐成为了推荐系统领域的重要研究方向之一.有许多大学和研究机构对社会化推荐系统的理论、方法及应用展开了深入研究[5,6,7,8,9,10,11,12,13,14].同时,ACM推荐系统年会(ACM Conf. on Recommender Systems,简称RecSys)自2009年开始涉及社会化推荐系统的专题讨论会(Workshop on Recommender Systems & the Social Web[15]),在2011年的专题研讨会上指出了社会化推荐系统领域的几个发展和研究主题[16],讨论了该领域的研究热点和难点:(1) 案例研究及新的社会化推荐应用;(2) 以社区为基础的系统体制(economy of community-based systems):利用推荐系统鼓励用户持久地参与;(3) 社会化网络与大众分类法的进展:朋友、标签、书签、博客、音乐、社区推荐等等;(4) 推荐系统的跨界应用,Web 2.0用户界面及多媒介的推荐系统;(5) 系统知识创作和综合人工智能;(6) 在推荐过程中直接涉及的用户或者社团推荐应用;(7) 利用大众分类法、社会化网络信息、交互信息、用户背景及社团等的推荐方法;(8) 有信任和信誉意识的社会化推荐;(9) 利用本体论或者微格局的语义网络推荐系统;(10) 社会化推荐技术的经验评估:成功和失败方法.在2013年专题讨论会[17]上,又进一步提出以下4个发展方向:(1) 异构网络上的社会化推荐;(2) 社会化推荐中的隐私保护问题;(3) 移动社会化推荐;(4) 社交网络与用户-项目关系网络的融合推荐.社会化推荐系统满足了互联网中新问题和新技术发展要求,具有较高的研究价值和应用前景.特别是移动互联网发展与应用,移动社会化推荐系统的研究也逐渐引起学术界和工业界的极大关注,并且取得了阶段性研究成果[18],例如移动业务推荐[19]、移动商务推荐[20,21,22]、基于位置的移动推荐服务[23,24]等等.此外,移动社交网络的位置签到与位置共享功能的出现,为获取用户日常社会活动时空数据提供了新的途径,从而推动了基于位置的社会化网络推荐系统兴起与发展[25,26,27,28].

本文主要关注当前社会化推荐领域的主流研究与应用进展,希望为未来的应用研究提供一定的参考与帮助.第1节概括社会化推荐系统的基本概念、形式化定义、基本框架模型及典型信任推理算法.第2节对社会化推荐生成技术进行归类和对比分析.第3节对社会化推荐系统中有待深入研究的难点和发展热点进行分析与展望.最后是结束语.

1 社会化推荐系统

推荐系统作为个性化服务的重要实现技术之一,起初主要分析用户-项目二元关系,构建用户的偏好模型,发现用户可能感兴趣的项目集,并主动推荐给用户,达到个性化服务的目的.但是随着推荐应用场景的不断扩展,仅仅依据用户-项目的二元关系,直接为用户生成推荐结果往往是偏颇、不合时宜的.例如:有的用户在旅游目的地想主动接收一些风味特色餐厅或者地域特产商店的信息;用户处于意志低沉状态时,不再愿意接受深沉的音乐,即使他平时比较喜欢这种音乐.考虑用户上下文信息(如时间、位置、周围人员、情绪、活动状态、网络条件等)的上下文推荐系统[29],满足了不同上下文环境下用户对信息的个性化需求,具有普适性和个性化两方面的优点.

Web 2.0的迅速发展和广泛应用,促使传统推荐系统融合用户的社会属性信息进行推荐.在传统推荐系统中,大多数根据个体用户对项目的历史评分数据,建立用户兴趣偏好模型,并依此为用户产生推荐结果.随着Twitter,Facebook,Orkut,MySpace,YouTube等在线社交网络的流行,用户社会属性信息及社会行为数据的收集更加容易,用户社会行为不仅仅是用户个人兴趣和爱好的体现,而且在一定程度上受到与其有社会关系的其他用户的影响.在一个虚拟社区平台中,用户间行为表现往往具有较大的相似性.社会实际生活中,社会成员之间相互推荐或者相互影响的现象也经常发生.例如:游戏玩家之间相互推荐好玩的游戏;食客之间相互推荐美食.更有甚者,把亲属或者朋友的意见作为个人决策的重要依据.因此,社会化推荐系统考虑影响用户行为偏好的社会属性因素,并将其应用到推荐中,不仅能够提高推荐的效果,而且能够使得推荐系统更符合人类生活的社会化特征.这也使得社会化推荐系统具有深远的现实意义和重要的社会价值.

1.1 社会化推荐系统的形式化定义

一般推荐系统的描述性定义[30]是由Resnick和Varian于1997年给出:利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买哪些商品,模拟销售人员协助客户完成购买过程.社会化推荐系统是在一般推荐系统的基础上,把用户社会关系信息(比如亲属关系、朋友关系等)作为重要影响因子引入推荐生成过程中,从而提高推荐系统的性能.在此角度上讲,社会化推荐是一种把社会关系信息作为附加输入的推荐方法[31].伴随着社交网络的发展,社会化推荐的目标项目不仅包括普通项目(电影、图书等),还包括标签、朋友和社团等.可利用的数据源也不仅包括用户社会关系和用户-项目评分数据,还包括社会标签、用户的互动关系和用户点击行为等.在此应用背景下,社会化推荐是以社会媒体为推荐目标的推荐方法[32].其中,文献[33]把这两者称为社会化推荐系统的狭义定义和广义定义.

从学科渊源上讲,社会化推荐系统是在社会化网络分析理论的基础上,将用户社会属性信息加权融合到传统推荐系统中,在缓解传统推荐系统中数据稀疏性及冷启动问题的同时,还提高了推荐系统的性能.社会化网络分析是社会化网络理论中一个重要工具,对人与人之间、群体之间、组织之间、计算机之间或者其他信息/知识处理体之间的关系进行描述,并对其价值进行评估.社会化网络分析将个体之间的关系视为主要考虑因素,个体本身的属性处于从属地位.虚拟网络中,大量个体之间的各种互动关系而形成拓扑网络,称为在线社会化网络(online social network).有学者[34]将其视为传统社会化网络(social network)的一部分,或者视为同一个概念.

结合社会化推荐系统基本框架模型,根据一般推荐系统的形式化定义[1],社会化推荐系统的形式化定义为:

设U为所有用户的集合,I为可以推荐给用户的所有项目的集合;设G=(gi,TrustWallet官网j)M×M为所有用户社会关系矩阵, Trust钱包下载其中,M=|U|,N=|I|;映射μ:U×I→R对推荐结果的评价效用函数,其中,R是一定范围内的全序非负实数集,称为推荐的效用值,Y=|{uy|uy∈U,x≠y,gx,y≠0,gx,y∈G}|,表示与用户ux存在社会关系的用户总数.社会化推荐系统要研究的问题是:在具有已定社会关系的用户群体中,根据所有项目在用户群体中的评价情况,主动地为用户推荐满足其偏好需求的、效用度最大的项目集I,即:

$\forall {u_x} \in U,{I^} = \arg {\max _{i \in I}}\left( {{\mu _i} + \alpha \mu ({u_x},i) + \beta \frac{1}{Y}\sum\limits_y^Y {\mu ({u_y},i} )} \right)$ (1)

其中,∀α,β∈[0,1]且α+β=1,μi为偏倚变量,表示项目i∈I在用户群体中的流行声誉度.这里的用户群体可以是全体用户(例如在因子分解机模型中,偏倚变量表示的就是项目在全体用户中流行声誉度,而且所有项目的偏倚变量都相等),也可以是部分用户(例如可以只考虑与用户ux存在社会关系的用户群体).

1.2 社会化推荐系统的基本框架

目前,研究人员在社会化推荐系统方面做了大量的工作,取得了一些研究成果,大部分利用社会化网络结构特征、项目在社会群体中的流行度及用户间的社会关系信息对推荐策略的影响,提出不同的社会化推荐框架模型[5,21,22,23,35].结合社会化推荐生成技术的特点及系统流程,我们给出了社会化推荐系统的层次化基本框架(如图 1所示),依次包括如下4层:

Fig. 1 Basic framework of social recommender systems 图 1 宜昌市1月份日

(1) 数据采集层:获取用户基本社会属性信息、用户对项目的点评记录信息及用户社交活动日志等信息;

(2) 数据预处理:采集到相关数据之后,需要对这些数据进行预处理及清洗,其处理结果作为社会化推荐系统的结构化输入.主要包括:用户重要社会属性信息的筛选和清洗;用户-项目评分矩阵的建立;用户间信任关系的确定、社会化网络模型的构建及信任值的计算等;

(3) 社会化推荐层:社会化推荐系统的核心层,不仅考虑基于用户-项目评分矩阵的基本推荐技术的实现,还要重点考虑用户社会化网络关系对推荐结果的影响,其中,影响力的大小及这种影响如何作用在推荐生成技术中,是目前社会化推荐生成技术的重要研究内容.例如:在社会化矩阵分解中,社会化网络关系往往直接作用在矩阵分解的用户及项目潜在特征向量的提取过程中;但是在基于矩阵分解的因子学习模型中,用户的社会化网络关系对推荐结果的影响体现在模型参数上,不作用于用户-项目潜在特征向量的提取过程中;

(4) 社会化推荐结果的呈现和评价:把推荐结果呈现给用户时,需要根据用户显示或者隐式反馈,利用准确度、可用性、多样性等评价指标评价社会化推荐系统的性能,并据此进行适度的扩展和改进.

1.3 社会关系和网络模型的构建

从图 1社会化推荐系统的基本框架可以看出:社会关系及网络模型的建立是紧随在数据收集模块之后,对用户社交活动数据进行挖掘,确立用户之间的社会关系,建立社会关系网络.这是社会化推荐系统有别于一般推荐系统的主要特征,也是社会化推荐系统的一个重要研究内容.它的主要任务是:考察哪些社会关系可能对用户行为和兴趣偏好有重要引导性影响,以及这种引导性影响是如何对用户的行为偏好产生影响;综合权衡这些影响因素的作用效果,改善最终的推荐结果,提高社会化推荐系统的性能.

目前,在社会化推荐系统中应用最多的社会关系网络是评分网络和信任网络.评分是在线项目(电影、图书等)推荐系统的基础,可以从用户对项目使用反馈评价中直接提取.信任关系是目前社会化推荐系统中应用最广的一种社会网络关系,用户信任关系模型的建立及信任度衡量算法的研究,是社会化网络分析的一个重要课题.在P2P(peer-to-peer network,对等网络)领域,对信任关系的研究已经有了许多优秀的模型和算法;但是社会化网络环境下,用户之间的信任关系的研究还处于起步阶段[36],其中:文献[37]从心理学、社会学、计算机科学等领域对信任关系的不同定义规则出发,论述了目前对信任关系的类型、特征及计算模型的研究成果;然后从社会化网络的特征角度,给出了社会化网络中个体用户的社会资本和社会信任的定义,并讨论了它们之间的差异性;最后,从社会信任关系的产生过程及信任值的计算方法,全面分析、总结了信任信息的收集模型、社会信任的评估模型和社会信任传播模型等方面的研究现状及成果.

目前,已有的信任度计算方法可以分为全局信任机制和局部信任机制[38]:局部信任机制主要考虑每一个人的个性化、主观性观点,并根据不同的用户预测不同的信任值;全局信任机制是整个信任网络中所有用户对某个用户的整体评价,是用户的全局声誉(reputation).例如,可以利用PageRank 算法计算用户的声誉.此外,Ziegler[39]等人分别从网络视角(network perspective)、计算源点(computation locus)和链接评估(link evaluation)这3个方面把信任机制进一步细化(如图 2所示),其中,全局信任机制不适合基于信任的个性化推荐系统.表 1给出了适应社会化网络的典型信任推理算法的对比研究.

Fig. 2 Trust metric classification 图 2 信任机制类型 Table 1 Comparison of classical trust reference algorithms表 1 社会化网络中典型信任推理算法对比

这些信任推理算法的异同点:

● 首先,他们都是局部群组信任机制,都只能计算信任网络中存在路径相连的用户之间的信任值;

● Advagato算法[40]和Appleseed算法[39]都是把用户分成入门、进阶和高阶等3种不同类型,每种类型间信任关系的强弱都不相同,前者采用网络流模型来计算用户的信任值,后者采用激活扩散机制来计算信任值;

● TidalTrust算法[41]和MoleTrust算法[42]都是基于宽度优先搜索顺序迭代计算源用户与目标用户之间的信任值,二者的区别在于搜索源用户与目标用户之间路径设置上的差异;

https://www.bitpieazl.com

● 不同于上述4种信任推理算法,Sunny算法[39]是一种典型的基于贝叶斯网络的社会信任推荐算法,其准确率略好于其他信任推理算法.

2 社会化推荐生成技术

社会化推荐生成技术也可以分成基于内容的推荐、协同过滤推荐、基于知识的推荐和组合推荐,其中,绝大多数都是融合用户的社会化信息的协同过滤推荐方法[31,33,44,45].文献[33]从基于记忆和基于模型的协同过滤推荐方法的角度,重点讨论了社会化推荐系统中协同过滤推荐方法的研究进展,并把基于协同过滤的社会化推荐系统形式化地描述成如下形式:

一个社会化推荐的协同过滤模型(a social recommendation CF model)=一个基本的协同过滤模型(a basic CF model) +一个社会化信息模型 (a social informantion model).

伴随着网络分析、矩阵分解等方法在社会化推荐系统中应用,最近几年,人们又提出多种比较典型的社会化推荐生成方法,主要包括基于网络图模型的推荐方法、矩阵分解方法、因子分解机模型、概率模型等.本节我们将对这些推荐生成算法进行分类总结和优缺点分析.

2.1 基于网络图模型的推荐方法

图是社会化网络关系最自然、直接的表示形式,其中,节点代表网络社会中的用户或项目,加权的边代表他们之间的连接关系.目前,把用户-项目评分网络图结构及用户之间社会关系网络图的基本特征(power-law,small word和scale-free)应用到推荐系统中,出现了多种社会化推荐方法[46,47,48,49,50,51,52,53,54,55,56,57,58],主要包括基于图结构的推荐方法[46,47]和链接预测方法[48,49,50,51,52,53,54,55,56,57,58].

(1) 基于图结构的推荐方法

基于图结构的推荐方法主要利用把用户-项目二分图,或者用户社会关系图的拓扑结构和基本特征信息,采用图拓扑模型分析、子图划分等网络分析方法及半监督学习方法,设计社会化推荐算法.此方法只适合于0-1二分类推荐系统,不能应用于评分预测的推荐系统.例如:文献[46]利用用户朋友间的社会化关系拓扑图,提出了一种三度分离的子图分割方法,并把由二度分离出来的用户视为目标用户的候选朋友;文献[47]以用户-项目对建立网络互动二分图,定义了用户-项目之间的一种联合互动关系图结构,提出一种基于图核(graph kernel)的分类推荐方法,此方法一般不需要关注图中边的权重值,只重点研究图的拓扑结构,显然,此方法对图的孤立点的推荐是无能为力的,即,存在冷启动问题.

(2) 链接预测方法

该方法把推荐问题转化为图中的边链接预测问题,这也是社会化推荐系统中常见的方法之一.首先建立用户-推荐目标网络图,常常采用复杂网络分析中的随机漫步和监督学习等算法[48,49],实现用户与目标项目的边链接预测.在评分预测推荐系统中,一般建立用户信任网络或者用户信任网络与用户-项目网络相融合的异构网络,把用户间的信任值作为用户信任网络边权重,把用户对项目的评分作为用户-项目网络边权重.借助于协同过滤或者基于用户(项目)的推荐方法的基本思想,采用随机漫步等方法,预测用户与推荐候选目标项之间的链接评分,其中,用户间的社会关系以信任值的形式作用在链接评分预测中,帮助解决用户-项目评分系统中数据稀疏性和冷启动问题.TrustWalker模型[50]、基于随机漫步的混合协同过滤模型[51]及混合式随机漫步模型[52]是几个比较典型的实例.

在社交网络推荐系统中,用户间存在明显的社交网络关系图,这可以直接应用于边链接预测推荐系统中.大都借鉴PageRank算法的基本思想,把PageRank值作为社交网络关系图中边的权重,并依此预测社交网络图中任意两个节点之间的链接权重.例如:文献[53]证明了Twitter社交网络既是一种无标度网络,又是一种小世界网络,并把整个Twitter社交网络模拟成有向加权图,每个节点的Rank值为其所有入度连接点的Rank值与出度数比值之和,并采用带重启的随机漫步方法计算两个节点之间的连接度,从而实现对Twitter社交网络中的好友推荐.文献[54]利用Web应用环境下用户对各种资源的标签化命名关系构建一个异构的社会化网络结构,把信息推荐问题转换成排序问题,当用户搜索或者浏览信息时,为其提供信息推荐服务,提出一种基于异构社会化网络的随机漫步排序模型和异构社会化网络不同类型的边权值成对学习算法.文献[55]在社会化网络中应用带重启的随机漫步算法,把社会化网络中边连接预测问题转换成以两个节点用户的基本属性和互动属性构成的边特征向量为输入的边权重函数的监督学习问题;此外,在社会化网络边链接预测中,还可以利用监督学习算法进行预测[56,57,58].

Wang等人[59]通过对两个基于位置的社会化网络Brightkite和Gowalla数据集中用户签到位置范围和存在朋友关系的两个用户的签到位置的分布情况进行分析,发现:虽然用户的签到位置大部分都是初次访问的,但是在每个用户已签到位置的10公里范围内,Brightkite用户初次签到位置所占比例约为67.57%,在Gowalla数据集中,这个比例达到了81.93%;同时,在这两个数据集中,用户的首次签到位置点是其朋友或朋友的朋友已签到的比例分别为23%和31%.鉴于此,构建用户间的朋友社交网络和用户-位置关系网络,借用个性化的PageRank算法的基本思想,把朋友关系信息对位置签到的影响引入到位置推荐过程中,提出了两种位置推荐算法:基于朋友关系的标签涂色算法(friendship-based bookmark-coloring algorithm,简称FBCA)和基于位置-朋友关系的标签涂色算法(location-friendship bookmark-coloring algorithm,简称LFBCA).

无论是评分预测推荐系统还是社交网络推荐系统中,链接预测算法都是基于网络图模型推荐的主要方法,其中,网络结构的构建和边权重的赋值问题是此方法研究的两个核心问题.在评分预测推荐系统中,把用户的社会关系信息融合到用户-项目评分网络中,能够有效帮助缓解仅仅依靠用户-项目评分关系的推荐系统中的数据稀疏性和用户冷启动问题,但还是会存在项目冷启动问题.

Table 2 Comparison of the algorithms表 2 算法对比 2.2 矩阵分解方法

近些年来,矩阵分解方法(matrix factorization,简称MF)已经广泛应用于推荐系统中,它能够把用户-项目评分矩阵分解成两个或者多个低维矩阵的乘积实现维数的规约,用低维空间数据研究高维数据的性质,主要包括奇异值分解(singular value decomposition,简称SVD)、非负矩阵分解(nonnegative matrix factorization,简称NMF)和概率矩阵分解(probabilistic matrix factorization,简称PMF).其中,非负矩阵分解是由Lee和Seung[60]于1999年提出,在许多领域有成功应用的新的矩阵分解方法.在此方法中,可以把用户对项目的评分矩阵Rn×m分解成两个实值非负矩阵Un×k和Vk×m,使得R≈UTV:

$U = \left[ {\begin{array}{{20}{c}} {{u_{1,1}}}& \cdots &{{u_{1,n}}}\\ \vdots &{{u_{k,x}}}& \vdots \\ {{u_{k,1}}}& \cdots &{{u_{k,n}}} \end{array}} \right],V = \left[ {\begin{array}{{20}{c}} {{v_{1,1}}}& \cdots &{{v_{1,m}}}\\ \vdots &{{v_{k,i}}}& \vdots \\ {{v_{k,1}}}& \cdots &{{v_{k,m}}} \end{array}} \right],$

其中,k<min(m,n).矩阵Un×k的第x列向量Ux和Vk×m的第i列向量Vi的乘积$U_x^T{V_i}$代表用户x对项目i的预测评分,称Ux为用户x的潜在特征向量(latent feature vector),Vi为项目i的潜在特征向量.为了得到更加准确的预测值,需要对预测值与观测值之间的损失度进行优化评估,建立如下的目标优化函数:

$\sum\nolimits_{x,i} {\frac{1}{2}{{({r_{x,i}} - U_x^T{V_i})}^2}} $ (2)

利用交替的梯度下降法,可以求出上述目标函数达到最小值时的最优解Un×k和Vk×m.概率矩阵分解侧重于从条件概率最优的角度,探讨矩阵分解的概率优化分解.

(1) 社会化矩阵分解

社会化推荐系统中,矩阵分解方法关注用户的社会化网络信息对用户潜在特征向量的影响,把用户各种社会化网络关系信息融合到矩阵的优化分解过程中,以提取更优的潜在特征向量,称为社会化矩阵分解[5,61].文献[62]根据社会化网络信息在对潜在特征向量优化求解时发挥的不同作用,将社会化矩阵分解方法分成两类:

● 第1类方法称为社会正则化(social regularization),其中,两个用户x和y之间社会关系信息Sx,y对用户潜在特征向量的约束求解影响方式有两种:

&Oslash; 第1种称为社会正则化[63,64],具体实现方法如下:

$\sum\nolimits_x {\sum\nolimits_{y \in friend{s_x}} {\frac{1}{2}{{({S_{x,y}} - \langle {U_x},{U_y}\rangle )}^2}} } $ (3)

其中, < ·,· >表示向量之间的内积;

&Oslash; 第2种称为社会谱的正则化(social spectral regularization)[6,13,65]:

$\sum\nolimits_x {\sum\nolimits_{y \in friend{s_x}} {\frac{1}{2}S_{x,y}^ +