融合信任度和度量因子矩阵分解的兴趣点推荐方法及***
技术领域
本发明涉及信息检索推荐技术领域,具体涉及一种基于融合信任度和度量因子矩阵分解的兴趣点推荐方法及***。
背景技术
随着互联网技术的不断进步,基于社交网络的应用迅速发展,受到了业界的广泛关注,在这些社交网络中,用户拥有自己的社交关系,对事物的评价和对自己生活的分享,也可以关注好友的一些动态。因此其中包含了丰富的数据,可以通过签到信息、好友关系、评价数据等挖掘出有用的信息更好的构建用户的兴趣偏好模型,为用户推荐其可能更感兴趣,会给更好评分的景点,这种类型的推荐称之为兴趣点(Point-of-Interest,简称POI)推荐。兴趣点的推荐需要满足用户的个性化推荐服务,尽量避免信息过载问题的同时也要帮助服务提供商实现智能化信息服务,进而提升供应商的行业收入。因此,基于社交网络的旅游兴趣点推荐在现在生活中越来越重要。
个性化旅游推荐***与传统的旅游推荐相比,在考虑流行景点之外,还会将游客的衣食住行全部考虑在内,因此通过基于社交网络中的兴趣点的历史信息可以更好地挖掘用户的偏好,从而给用户更好更全面的旅游体验。但是,与其他方面的推荐***相比较,个性化旅游推荐***会面临更大的挑战,旅游数据的结构更复杂,且比较难以获取;用户的评价和历史信息很难准确表达其需求;用户的历史信息和个人信息都非常的稀少;旅游数据也是十分的稀疏,而且非常冗余。传统的推荐方法应用到个性化旅游推荐当中的效果也不尽人意,协同过滤推荐等无法很好地解决数据稀疏性、冷启动和旅游推荐面临的新城市推荐等问题。
发明内容
有鉴于此,有必要提供一种更贴近用户需求、推荐效果更好的融合信任度和度量因子矩阵分解的兴趣点推荐方法及***。
一种融合信任度和度量因子矩阵分解的兴趣点推荐方法,包括以下步骤:
步骤一,建立基于社交信任的兴趣点推荐模型:通过社交网络中挖掘的用户信息计算用户之间的直接信任度,并将用户及其之间的关系抽象为节点和边,通过单信任路径和多信任路径两种方式计算用户间接信任度,将直接信任度和间接信任度综合为用户信任关系,形成基于社交信任的兴趣点推荐模型;
步骤二,建立基于度量因子矩阵分解的兴趣点推荐模型模块:通过度量因子分解的方法将用户对兴趣点的评分转换为距离,并计算偏好距离,建立基于度量因子矩阵分解的兴趣点推荐模型;
步骤三,建立融合信任度和度量因子矩阵分解的兴趣点推荐单元:将步骤一形成的基于社交信任的兴趣点推荐模型和步骤二形成的基于度量因子矩阵分解的兴趣点推荐模型进行融合,形成兴趣点推荐单元,用于面向用户的个性化兴趣点推荐。
进一步地,步骤一中的所述社交信任包括直接信任和间接信任,所述直接信任包括显性信任和隐性信任,所述间接信任包括所述单信任路径和所述多信任路径;所述显性信任采用社交网络中存在明确的好友关系的用户,及其在社交网络上的好友数量和在社交网络上的评论的被点赞数量;所述隐性信任采用社交网络中评分项目的相似度和用户平均打分的相似度;所述单信任路径采用具有唯一信任传递路径的用户之间信任关系,信任关系的传递长度不超过3;所述多信任路径采用具有多条不同信任路径都能够到达的用户之间的信任关系,其中每条信任路径的权重值不同,综合各条信任路径的权重值,以得到该用户的最终权重值;所述直接信任度和所述间接信任度分别为依据所述直接信任和所述间接信任计算得到的关联关系及相应的数值。
其中,ru,v表示用户u和用户v的社交关系,当ru,v=0时,表示用户u和用户v没有直接的好友关系,也就是用户v没有在用户u的好友列表中,当ru,v=1表示v在u的好友列表中,有明确的好友关系,fansv指的是当用户v在用户u的好友列表中时,用户v社交网络上的粉丝数量,而sum(fans)是指用户u好友列表中所有用户在社交网络上的粉丝数量总和,pv是指当用户v存在用户u的好友列表中时,用户v在社交网络上的评论被其他用户点赞的数量,sum(p)指的是用户v好友列表中所有用户在社交网络上的评论被赞数量的总和,α1、α2和α3是公式的系数参数,且α1+α2+α3=1。
进一步地,所述隐性信任的计算公式为:
其中,
表示用户u和用户v之间的直接隐性信任关系,sim
item指的是用户u和用户v评分项目的相似度。
进一步地,所述单信任路径下的间接信任的计算公式为:
其中,
为用户u和用户v之间的一条信任路径下的间接信任度,t
i表示从用户u开始到用户v结束的一条信任传递路径上的第i个信任度,由于数据量过大,设信任路径长度阈值为k,用户之间的信任关系传递长度不超过3。
进一步地,所述多信任路径下的间接信任的计算公式为:
其中,由于单信任路径是多信任路径的特殊情况,因此,所述多信任路径是n个单信任路径的总和。
进一步地,所述基于社交信任的兴趣点中,采用融合加权的方式调节用户相似度和社交信任的平衡,形成综合相似度,将综合相似度从高到低进行排序,取排名前10的用户作为目标用户的相似用户集;综合相似用户集中的用户对目标项目的预测评分、好友对目标项目的平均打分、以及目标用户对所有兴趣点的预测打分,并进行从大到小排序,选取前N项Top-N进行推荐。
进一步地,步骤二中的建立基于度量因子矩阵分解的兴趣点推荐模型的流程包括:
步骤a,通过度量因子分解将用户对兴趣点的评分转换为距离,从评分矩阵中得到距离矩阵,并将距离矩阵进行度量因子分解得到用户和兴趣点的位置,并预测评分;
步骤b,计算偏好距离,在评分函数中融合用户和项目偏差,同时引入置信机制,将更高的置信值分配给更可靠的评级,以确保极端评级获得更高的权重;
步骤c,将用户和兴趣点的预测距离转换为评分,并将目标用户对所有兴趣点的预测打分进行从大到小排序,选取前N项Top-N进行推荐。
进一步地,步骤三中的将两种推荐模型进行融合的方式包括模型线性加权方式和模型过程融合方式,所述模型线性加权方式是通过加权因子将两个预测结果进行线性组合;将得到的组合预测评分数据按照从大到小进行排序,得到Top-N;所述模型过程融合方式,先实现基于度量因子矩阵分解,预测出用户、项目评分矩阵;然后计算用户之间的信任关系;最后在预测评分的基础上根据信任关系预测评分,将得到的组合预测评分数据按照从大到小进行排序,得到Top-N。
以及,一种融合信任度和度量因子矩阵分解的兴趣点推荐***,其用于实现如上所述的融合信任度和度量因子矩阵分解的兴趣点推荐方法,该实现***包括:
社交信任关系模块,通过社交网络中挖掘的用户信息计算用户之间的直接信任度,将用户及其之间的关系抽象为节点和边,计算用户之间的信任度;所述社交信任关系模块包括直接信任模块和间接信任模块,所述直接信任模块包括显性信任模块和隐性信任模块,所述间接信任模块包括单信任路径模块和多信任路径模块;
构建社交信任关系传递模块,用于从用户的社交影响力入手,充分分析不同信任好友对目标用户的影响,并传递信任关系,以构建数值连续的用户社交信任网络;
矩阵分解模块,用于从用户的直接偏好数据和间接行为记录中分解和学习用户和兴趣点的潜在特征;
度量因子矩阵分解模块,用于通过度量因子分解的方法将用户对兴趣点的评分矩阵转换为距离矩阵,并计算用户和兴趣点的预测距离;
模型线性加权模块,用于通过加权因子将两个预测结果进行线性组合,并计算预测推荐结果;
模型过程融合模块,用于通过基于度量因子矩阵分解预测出用户、项目评分矩阵,然后计算用户之间的信任关系,并计算预测推荐结果。
该推荐方法和实现***结合了社交信任和度量因子分解方法,很好地解决了数据稀疏问题,侧面考虑了用户好友的潜在兴趣偏好,充分利用了用户信任关系的影响。两种不同的融合方式有效地解决了用户冷启动的问题,也提高了预测的准确性。具体贡献主要有如下3点:
1)给出了一个融合用户多种社交信息的信任关系计算方法,将用户在社交网络中的粉丝数、点赞数、评论信息和用户的评分习惯等社交信息融合到了信任关系的计算当中,最后结合用户历史信息给出了一个综合的信任关系计算方法;
2)通过计算用户之间信任关系的传递,不仅计算同一用户的不同好友对目标用户的不同影响,还充分考虑了用户和非好友之间的信任关系,以有效地构建用户信任矩阵;
3)将基于社交信任的推荐模型和基于度量因子分解的推荐模型相结合,将信任关系融入矩阵分解,充分利用了用户的社交影响力,该推荐方法和实现***给出了两种结合方式,分别是模型的线性加权融合方式、模型的过程融合方式。
上述融合信任度和度量因子矩阵分解的兴趣点推荐方法及***中,从不同角度去构建用户社交关系矩阵成为研究的重点,该推荐方法和实现***利用社交网络中的用户信息以及用户间的互动信息构建用户社交信任网络,再与度量因子矩阵分解模型结合进行综合推荐。该推荐方法和实现***从不同的角度、数据广度和深度挖掘了与用户相关的信息,更真实地还原用户属性及行为,建立用户偏好模型,使用户兴趣点的推荐更加准确,更加个性化,达到了更好的推荐效果。
附图说明
图1是本发明实施例的融合信任度和度量因子矩阵分解的兴趣点推荐方法的社交信任关系图。
图2是本发明实施例的融合信任度和度量因子矩阵分解的兴趣点推荐方法的单信任路径传递关系图。
图3是本发明实施例的融合信任度和度量因子矩阵分解的兴趣点推荐方法的多信任路径传递关系图。
图4是本发明实施例的融合信任度和度量因子矩阵分解的兴趣点推荐方法的评分向距离的转化过程流程图。
图5是本发明实施例的融合信任度和度量因子矩阵分解的兴趣点推荐方法的线性加权融合推荐和过程融合推荐的框架图。
具体实施方式
本实施例以融合信任度和度量因子矩阵分解的兴趣点推荐方法为例,以下将结合具体实施例和附图对本发明进行详细说明。
请参阅图1、图2、图3、图4和图5,示出本发明实施例提供的一种融合信任度和度量因子矩阵分解的兴趣点推荐方法。
研究用户社交关系的目的是为了研究基于社交网络的推荐算法,从不同角度去构建用户社交关系矩阵,利用社交网络中的用户信息以及用户间的互动信息构建用户社交信任网络,再与度量因子矩阵分解模型结合进行综合推荐。主要步骤包括:
步骤一,基于社交信任的兴趣点推荐
目前基于社交信任推荐算法的研究大部分都是建立在网站公开的社交信任关系基础上,但绝大部分网站公开的用户社交关系都是单一数值,如,关系为信任时数值为1,非信任为0。这并不能很好地表现信任关系的准确性,因为不同的信任好友对目标用户的影响也是不同的。因此,我们从用户的社交影响力入手并通过信任的传递性去计算用户之间的信任关系,构建出数值连续型的用户社交信任网络,充分分析不同信任好友对目标用户的影响。如图1所示,将社交信任分为直接信任和间接信任,其中直接信任又分为显性信任和隐性信任两部分,而间接信任中存在单路径传递和多路径传递两种情况。这里的隐性信任是指除去间接信任能传递到的用户外的其余非好友用户。
1.直接信任的计算
利用社交网络中的信息挖掘用户信任关系是构建信任网络的关键。大部分社交网络中的信任信息都是二值型的(信任与不信任),导致信息不充分,无法展现出用户对好友集中不同好友的区别,但一般点评网络中都会给出用户-景点评分和评论信息,因此,我们要挖掘网络中给出的信息去完善信任关系。这里改进了已有信任关系的计算方法,利用网络信息进行信任关系挖掘.我们根据网络中的数据,表示用户集合中用户间的信任关系。而信任关系又可分为直接信任和间接信任,直接信任指直接相连的两个用户的信任关系,可进一步分为显性信任和隐性信任。显性信任是指用户之间存在明确的好友关系,当用户之间不存在好友关系时也不完全说明用户间不存在信任关系,我们需要根据网络中的信息去计算用户的隐性信任。
显性信任
随着社交网络的发展,用户社交信息已经成为计算信任关系的重要信息,其中社交中明确的好友关系、好友间的社交互动行为以及好友的社交影响力都可以很好地被用来计算用户间的信任关系。当用户u和用户v在社交网络中存在明确的好友关系,用户v在网络平台的粉丝数量和评论的点赞数等社交行为,都会用来作为计算显性信任的一部分。显性信任用
表示,计算公式为:
其中ru,v表示用户u和用户v的社交关系,当ru,v=0时,表示u和v没有直接的好友关系,也就是v没有在u的好友列表中,当ru,v=1表示v在u的好友列表中,有明确的好友关系。fansv指的是当用户v在用户u的好友列表中时,用户v社交网络上的粉丝数量,而sum(fans)是指用户u好友列表中所有用户在社交网络上的粉丝数量总和。pv是指当用户v存在用户u的好友列表中时,用户v在社交网络上的评论被其他用户点赞的数量,sum(p)指的是用户i好友列表中所有用户在社交网络上的评论被赞数量的总和。另外α1、α2和α3是公式的系数参数,且α1+α2+α3=1。
隐性信任
社交网络中明确的好友关系比较稀疏,当两个用户为非明确好友关系,即ru,v=0时,也不代表他们是非信任关系,因此需要通过挖掘数据去计算他们之间的隐性信任关系。可以通过挖掘用户在社交网络中的关系,根据评分项目的相似性和用户平均打分的相似性,来推导用户的隐性信任,计算公式为:
其中,
表示用户u和用户v之间的直接隐性信任关系,sim
item指的是用户u和用户v评分项目的相似度,见式(3)表示:
其中,I(u)表示用户u游玩过的景点集合,I(v)表示用户v游玩过的景点集合,I(u)∩I(v)表示用户u和v去过的相同的兴趣点,num(u,v,n)用来计算相同兴趣点的数量,见式(4)表示:
而simaverage_score(n,v)是用来表示用户u和用户v对所有参与评价项目的平均打分值的相似度。不同的用户的打分习惯不同,有些用户的打分偏好比较高,有些则比较低,因此打分习惯也成为衡量用户相似度的一个标准,见式(5)表示:
其中,S(u)和S(v)分别是用户u和用户v的历史所有项目打分的平均值。
综上,我们根据直接显性信任和直接隐性信任关系,融合得到用户之间的直接信任关系,可以将直接信任关系用如下式(6)表示:
2.间接信任的计算
通过社交网络中的数据,我们可以很容易地得到用户之间的显性信任关系,但这些直接信任关系无法很好地表达所有用户之间的信任关系,用户与好友的好友可能也会存在很强的信任关系。为解决上述问题,该推荐方法和实现***借鉴已有的一种综合考虑数学模型和社会网络模型的信任传递模型。该模型首先将信任关系传递中的用户和这种传递关系抽象为节点和边,然后根据用户数据建立信任传递模型,主要用来计算间接信任关系,分为两种情况,分别是单信任路径上信任度的计算方式和多信任路径上综合信任度的复合计算方式。
单信任路径传递
单信任路径传递是信任从网络一个节点传递到没有直接关联的另一节点,并且只能通过有且仅有的一条链路才能到达。如图2所示。用户u到用户v存在唯一的信任传递路径,其中实线部分是指用户之间存在直接信任关系,虚线则是表示用户之间的间接信任关系。
设信任路径长度阈值为k,间接信任计算公式为:
其中,
为用户u和用户v之间的一条信任路径下的间接信任度;t
i表示从用户u开始到用户v结束的一条信任传递路径上的第i个信任度,由于数据量过大,假定用户之间的信任关系传递长度不会超过3,因此,这里的k值取3。
多信任路径传递
多信任路径传递是指信任传递从一个用户传递到另一个没有直接关联的用户,可以通过多条不同的信任路径都能到达。单信任路径传递可以理解为多信任路径传递的一种特殊情况。多信任路径传递情况如图3所示。
用户u到用户v存在多条信任传递路径,首先可以计算相邻用户间的信任度作为单信任路径时的间接信任度,并且在不同的传递路径中,相同两用户之间的多条信任路径计算的间接信任度全部不同。两个用户之间的信任传递路径越多,用来计算用户间信任关系的客观因素就越多。我们需要考虑每条传递路径的重要性,因为信任度在社交网络中的传递具有弱传递性,信任路径越长,后面的单信任路径的影响力就越小。这里将两个用户之间的多条信任路径按长短顺序进行排序,通过求解OWA算子为每条单路径赋予权重。有如下公式:
F(x)=x2 (8)
其中,w
j指的是将两个用户间的信任路径根据长度排序后的第j条信任路径的权重值,根据求得的权重值去综合多路径的信任值,以计算间接信任
计算公式为:
由于单路径传递是多路径传递的一种特殊情况,所以这里我们直接定义间接传递为
3.基于社交信任的兴趣点推荐模型
针对目标用户对某个兴趣点的评分,通过加权计算该用户的相似用户的打分来进行预测是传统协同过滤算法的思想。但随着互联网的发展,社交网络的中用户和兴趣点的信息和数量不断的增加,数据的稀疏性也越来越高,并且新用户跟新项目所导致的冷启动问题也大大降低了传统推荐算法的推荐效果。在推荐的过程中引入信任关系已经成是目前研究的热点。经研究证明,可以利用用户之间的信任度来代替相似度,引入信任关系能有效地提高推荐结果的准确性。
用户间的相似度通过Person相似度方法去计算。其公式为:
其中,u,v是我们的目标用户,Iu,v是指目标用户都评过分的兴趣点。我们融合用户相似度与上述计算的用户信任度,根据融合加权的方式来调节用户相似度跟信任关系的平衡,有效避免了相似度小而信任大的问题,公式如下:
其中,
表示用户u和用户v之间的信任关系。W
u,v就是融合信任关系和用户相似度的综合相似度。将综合相似度从高到低进行排序,取排名前10的用户作为目标用户的相似用户集。
接下来,用这个综合相似度对项目进行评分预测,预测公式如下:
其中,S为目标用户的相似用户集,P
trust(u,i)为目标用户u对目标项目i的预测评分,
为目标用户u的平均打分,r
v,i为目标用户的好友v对目标项目i的真实打分,
为好友v对项目的平均打分。我们将目标用户u对所有兴趣点的预测打分进行从到小排序,选取前Top-N进行推荐。
步骤二,基于度量因子矩阵分解的兴趣点推荐
传统的矩阵分解在推荐算法领域的应用一直都有着很好的效果,但随着数据量的增大,数据维度的上升,传统的矩阵分解方法已经不能满足现有的需要。因此,越来越多的学者在传统矩阵分解的基础进行了研究。
1.评分向距离的转换
度量因子矩阵分解是目前推荐研究的一个新方向。我们将度量因子矩阵分解引入到兴趣点推荐中,目标是通过因子分解来分解度量向量空间,从而学习用户和兴趣点的位置。矩阵分解通过将偏好矩阵(从显式/隐式反馈)分解为潜在矩阵来学习用户和兴趣点的潜在特征。偏好矩阵也可以看作相似矩阵。由于相似性和距离是两个相反的概念,我们首先需要将用户对兴趣点的评分转换为距离。
通过度量因子分解的方法将用户对兴趣点的评分转换为距离,其中最大评分指的是评分或反馈结果的最大值。根据真实数据集,通过用户的评分,利用式(14)将评分信息转换为偏好距离。
Distance(u,i)=MaxScore-Sore(u,i) (14)
评分矩阵的最大分值为5,通过这种转换运算,在可以保持距离分布的同时,将偏好(也就是相似性)转换为距离,这种转换可以应用于显式和隐式反馈。而这里主要还是将用户对兴趣点的显示反馈进行转换,在Euclidean空间中,通常使用Euclidean距离来测量两点之间的距离。
由于其表现形式简单易懂,拥有良好的性能,同时为了避免计算平方根的麻烦,在这里也选择Euclidean距离。假设用户和兴趣点在度量向量空间中的位置用Pu∈Rk和Qi∈Rk表示,我们用平方欧几里得距离测量用户和兴趣点之间的距离,见式(15)表示:
图4简单地说明了度量因子矩阵分解过程。首先用式(14)从评分矩阵中得到距离矩阵,然后将距离矩阵进行度量因子分解,得到用户和兴趣点的位置。然后根据需要可以很容易地恢复偏好矩阵的每个条目并预测评分。
2.偏好距离的计算
可以将这种方法应用于推荐***中,对于打分进行预测,仅考虑观察到的交互数据就足够并且很有效。假设有一组评分数据,先通过以下公式将评分矩阵R转换为距离矩阵:
Yui=Rmax-Rui (16)
其中,Rmax是最高的评分。如果Rmax=5,Rui真实评分为3,那么距离Yui=5-3=2。与矩阵分解相同,用户或项目的个体影响也很重要。例如,有些项目倾向于获得更高的评分,有些用户倾向于给出较低的评分。因此,我们将用户和项目偏差融合到我们的评估方法中,最终评分函数如下:
其中,
表示预测距离,b
u和b
i分别是用户和偏差项,μ是全局偏差,相当于根据训练数据构建的平均距离。一般来说,可以添加一个超参数τ将μ缩放到一个更合适的值。要考虑的另一个重要方面是评分数据的可靠性和稳定性。很多预测评分的算法忽略了评分噪声的影响,并假定所有评分都可以被视为事实存在的。尽管如此,并非得到的所有评分都应有相同的权重。例如,有些用户被要求在不同的时间对同一项目进行两次评分时,可能会给出两个不同的分数。以前的研究表明,极端评级(如1和5)比中等评级(如2、3和4)更可靠。为了缓解这种情况,我们为每个评分增加一个置信值c
ui,并得到以下损失函数:
需要注意的是置信值cui可以表示许多因素。我们设计了一种新的置信机制,将更高的置信值分配给更可靠的评级。
cui=1+α·g(Rui-Rmax/2) (19)
其中,g(·)可以是绝对值函数、平方函数,甚至是对数函数。α是控制置信度大小的超参数,Rmax为评分最大值。这种信心机制确保极端评级获得更高的权重。
3.基于度量因子矩阵分解的兴趣点推荐模型
当推荐任务是排序时,只有隐式反馈才可用。在许多现实世界的应用中,隐式数据(如采购记录、聆听跟踪和单击)比显式反馈更容易获得,从而使隐式反馈成为主要关注点。我们遵循以前的研究,将隐式反馈定义为二进制值,1表示相似,0表示其他情况。
首先,使用以下转换将隐式反馈转换为距离:
Yui=a·(1-Rui) (20)
由于Rui等于0或1,因此,如果Rui=0,距离Rui=a;如果Rui=1,距离Rui=0,这使得控制用户和项目距离非常灵活,这里的a仅仅代表距离。
对于排序任务,考虑到未观察到的交互作用(负样本)通常是有益的。例如,贝叶斯个性化排序和协作度量学习是通过对每一个观察到的交互抽样一个负项,以成对的方式进行训练。在这项工作中,由于我们想直接将距离分解为用户和项目嵌入,所以采用了逐点丢失方法。
L(P,Q)=∑(u,i)∈Rcui(Yui-D(u,i))2 (21)
接下来考虑所有未观察到的交互。其中,cui是置信值,Yui是真实距离,D(u,i)是预测距离,这里置信函数也可以表示为对隐式反馈的观察,例如用户给兴趣点进行点赞,对不同地点的网上浏览时间和次数,也可以将其转换为数值比例。由于这些信息通常在公共可用的数据集中不存在,所以置信函数在不同情况进行调整。最后我们将预测的距离根据如下公式转化为评分:
Ptag(u,i)=Rmax-D(u,i) (22)
其中,Rmax是最大评分值,D(u,i)是用户和兴趣点的预测距离。得到评分后,我们同样将目标用户u对所有的兴趣点的预测打分进行从到小排序,选取前Top-N进行推荐。
模型不仅可以迫使用户和他们的首选项更近,而且可以将未被查询的项推开。与大多数基于度量学习的模型不同的是,这个模型还可以在用户偏好范围之外进行有效的限制,这种方法中的置信机制提供了负项侵入用户偏好范围的可能性,这有利于推荐任务,因为它可以从负候选对象中选择项目进行过滤。模型的另一个重要特征是,它可以间接地将大量存在共享项目的用户聚集在一起。这一特性使我们更容易地得到用户之间的关系,这无论是对用户之间的信任关系的计算还是对项目的推荐都提供了很大的帮助。
步骤三,融合信任度和度量因子矩阵分解的兴趣点推荐
第一,通过社交网络中挖掘的用户信息计算用户之间的直接信任度,并将用户及其之间的关系抽象为节点和边,通过单信任路径和多信任路径两种方式计算用户间接信任度,将直接信任度和间接信任度综合为用户信任关系,形成一个推荐模型。第二,构建信任关系矩阵,进而转换成距离矩阵,通过度量因子矩阵分解得到用户和兴趣点的潜在距离矩阵,进而预测出所有用户和兴趣点之间的距离,形成另一个推荐模型。最后,通过两种方式对上述两种模型进行融合。
1.模型线性加权融合方式
综上所述的两种推荐模型,提出了如图5所示的模型线性加权融合的完整推荐框架(图中的上半部分),以实现特定的用户-兴趣点个性化评分预测。
具体见下面的社交信任和度量因子矩阵分解的线性加权融合过程,如算法1所示。
Algorithm 1.Linear Weighting Fusion of Social Trust and Metric FactorMatrix Decomposition Input:rating matrix R,numUsers m,numItems n Output:MAE,RMSE
Algorithm 1分为3步实现:(1)计算用户之间的信任关系,基于社交信任关系进行推荐(第1行~第13行);(2)基于度量因子矩阵分解进行推荐(第14行~第17行);(3)模型线性结合,预测评分,计算推荐算法的性能衡量指标MAE(Mean Absolute Error)和RMSE(RootMean Squard Error)(第18行~第20行)。
由于传统的矩阵分解推荐只考虑用户和项目之间的评分关系,忽略了用户之间的社交关系,没有将用户之间的信任关系考虑进去,通过对信任关系的分析进一步对用户进行了建模,在最终的推荐方式上,选择混合加权的方式融合了两种推荐方法的优势,通过加权因子将两个预测结果进行线性组合。具体预测公式如下:
P(u,i)=λPtrust(u,i)+(1-λ)Ptag(u,i) (23)
其中,Ptrust指基于信任关系的推荐得到的预测评分(计算方法见式(10))。Ptag(u,i)指通过度量因子分解得到的预测评分(计算方法见式(22))。我们将得到的组合预测评分数据按照从大到小进行排序,得到Top-N。
2.模型过程融合方式
除了线性加权融合,这里还给出了模型过程融合的推荐框架,如图5所示(图中的下半部分)。先通过度量因子矩阵分解得出用户对兴趣点的预评分,在这个评分的基础上利用社交信任进一步的预测评分,这样有效的解决了用户数据的稀疏问题和用户冷启动等问题。
这种融合方式就是通过对社交网络数据的挖掘和分析,先将用户-兴趣点评分矩阵转化为距离矩阵,通过度量因子分解,得到预测的距离矩阵,进而转化为预测评分矩阵,再基于信任关系在初步预测评分的基础上进行推荐。首先根据度量因子推荐预测出所有用户和兴趣点之间的距离,然后转换为预测评分。在这个基础上再根据社交网络中计算的信任关系去进行推荐。具体见下面的社交信任和度量因子矩阵分解的过程融合方式,如算法2所示。
Algorithm 2.Process Fusion of Social Trust and Metric Factor MatrixDecomposition Input:rating matrix R,numUsers m,numItems n Output:MAE,RMSE
Algorithm 2分4步实现:(1)基于度量因子矩阵分解,预测出用户-项目评分矩阵(第1行~第6行);(2)计算用户之间的信任关系(第7行~第16行);(3)在预测评分的基础上根据信任关系预测评分,计算推荐算法的性能衡量指标MAE和RMSE(第17行~第21行)。
该推荐方法和实现***结合了社交信任和度量因子分解方法,很好地解决了数据稀疏问题,侧面考虑了用户好友的潜在兴趣偏好,充分利用了用户信任关系的影响。两种不同的融合方式有效地解决了用户冷启动的问题,也提高了预测的准确性。具体贡献主要有如下3点:
1)给出了一个融合用户多种社交信息的信任关系计算方法,将用户在社交网络中的粉丝数、点赞数、评论信息和用户的评分习惯等社交信息融合到了信任关系的计算当中,最后结合用户历史信息给出了一个综合的信任关系计算方法;
2)通过计算用户之间信任关系的传递,不仅计算同一用户的不同好友对目标用户的不同影响,还充分考虑了用户和非好友之间的信任关系,以有效地构建用户信任矩阵;
3)将基于社交信任的推荐模型和基于度量因子分解的推荐模型相结合,将信任关系融入矩阵分解,充分利用了用户的社交影响力,该推荐方法和实现***给出了两种结合方式,分别是模型的线性加权融合方式、模型的过程融合方式。
上述融合信任度和度量因子矩阵分解的兴趣点推荐方法及***中,从不同角度去构建用户社交关系矩阵成为研究的重点,该推荐方法和实现***利用社交网络中的用户信息以及用户间的互动信息构建用户社交信任网络,再与度量因子矩阵分解模型结合进行综合推荐。该推荐方法和实现***从不同的角度、数据广度和深度挖掘了与用户相关的信息,更真实地还原用户属性及行为,建立用户偏好模型,使用户兴趣点的推荐更加准确,更加个性化,达到了更好的推荐效果。
需要说明的是,以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。