一种基于社会网络的协同过滤推荐方法及***
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种基于社会网络的协同过滤推荐方法及***。
背景技术
随着互联网技术的快速发展,网络服务使人们的生活变得越来越方便。面对***式增长的海量的互联网数据,人们很难顺利地找到自己真正需要的信息。由于用户对主动的个性化信息推荐服务的迫切需求,尤其是在电商领域,人们对搜索商品的过程越来越感到繁琐,所以个性化推荐***应运而生。个性化推荐***采用主动推荐的方法,通过对用户行为日志的采集和清洗,建立用户偏好模型,通过一系列基于数据挖掘和机器学习的推荐算法来预测用户对某个商品的偏好程度,根据偏好程度对筛选出的商品进行排序,并提供给用户个性化的推荐商品列表。
目前电商领域内的推荐方法主要是基于用户近期浏览、商品销量排行、商家信用排行或者价格排行等信息进行简单的推荐,这种推荐方法在一定程度上改善了用户购物体验。但是由于近年来社交网络的快速普及,人们开始以兴趣社区、图片分享等形式不断地在社交网络中分享自己的观点,于是人们之间的各种社会关系、喜好、习惯也开始在社会网络中被展现出来。这种不断建立起来的复杂的社会网络关系,包括用户对某商品的评论,朋友之间的互动等因素,对用户进行在线购物时的商品选择以及其他网络行为产生了重要的影响。所以,传统的基于用户相似度或者商品相似度的推荐方法,已无法满足推荐方法在精确度和多样化方面的需求。
发明内容
本发明的目的在于提供一种基于社会网络的协同过滤推荐方法及***,解决传统的基于用户相似度或者商品相似度的推荐方法生成的推荐结果缺乏多样性,进而导致推荐效果不佳的问题,实现了从多维度对用户喜好进行刻画,保证了推荐结果的准确性以及多样性。
为实现上述目的,本发明提供了一种基于社会网络的协同过滤推荐方法,包括以下步骤:
获取特征数据集并进行预处理;
构建项目的关联性与流行性的计算模型;
构建项目在用户社会网络关系中的推荐度的计算模型;
构建用户兴趣偏好度的计算模型;
利用预处理后的所述特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型;
根据训练后的所述项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型,计算项目的综合推荐值,根据综合推荐值产生推荐列表。
优选地,所述特征数据集包括:项目的特征信息数据、用户的历史行为数据以及用户的社会网络关系数据。
优选地,所述构建项目的关联性与流行性的计算模型,具体为,根据项目的销售量、用户好评率以及所述项目在同类项目中的排名,构建项目的关联性与流行性的计算模型。
优选地,所述构建项目在用户社会网络关系中的推荐度的计算模型,具体包括以下步骤:
计算用户与好友之间的社会相似度、社会互动度以及社会群组相似度;
根据获得的所述用户与好友之间的社会相似度、社会互动度以及社会群组相似度,计算用户之间的社会关系强度;
根据所述用户之间的社会关系强度计算项目在用户社会网络关系中的推荐度。
优选地,所述构建用户兴趣偏好度的计算模型,具体包括以下步骤:
计算用户对项目所属品牌的偏好程度;
计算用户对项目的价格偏好度,以及项目的信用偏好度;
根据所述项目的信用偏好度、用户对项目所属品牌的偏好程度以及用户对项目的价格偏好度,构建用户对项目的兴趣偏好度的计算模型。
本发明还提供了一种基于社会网络的协同过滤推荐***,包括:
数据集获取模块,用于获取特征数据集并进行预处理;
项目关联性与流行性计算模块,用于构建项目的关联性与流行性的计算模型;
社会网络关系中的项目推荐度计算模块,用于构建项目在用户社会网络关系中的推荐度的计算模型;
用户兴趣偏好度计算模块,用于构建用户兴趣偏好度的计算模型;
计算模型训练模块,用于利用预处理后的所述特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型;
综合推荐值计算模块,用于根据训练后的所述特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型,计算项目的综合推荐值,根据综合推荐值产生推荐列表。
优选地,所述数据集获取模块获取的特征数据集包括:项目的特征信息数据、用户的历史行为数据以及用户的社会网络关系数据。
优选地,所述项目关联性与流行性计算模块,用于构建项目的关联性与流行性的计算模型,具体为,所述项目关联性与流行性构建模块根据项目的销售量、用户好评率以及所述项目在同类项目中的排名,构建项目的关联性与流行性的计算模型。
优选地,所述社会网络关系中的项目推荐度计算模块具体包括:
社会关系计算单元,用于计算用户与好友之间的社会相似度、社会互动度以及社会群组相似度;
社会关系强度计算单元,用于根据获得的所述用户与好友之间的社会相似度、社会互动度以及社会群组相似度,计算用户之间的社会关系强度;
项目推荐度计算单元,用于根据所述用户之间的社会关系强度计算项目在用户社会网络关系中的推荐度。
优选地,所述用户兴趣偏好度计算模块具体包括:
品牌偏好程度计算单元,用于计算用户对项目所属品牌的偏好程度;
用户价格与项目信用计算单元,用于计算用户对项目的价格偏好度,以及项目的信用偏好度;
兴趣偏好度计算单元,用于根据所述项目的信用偏好度、用户对项目所属品牌的偏好程度以及用户对项目的价格偏好度,构建用户对项目的兴趣偏好度的计算模型。
本发明与现有技术相比,具有以下优点及突出性效果:
本发明所述的基于社会网络的协同过滤推荐方法及***,以协同过滤推荐算法为基础,融入了社会网络中的相关用户因素,将项目的关联性与流行性、用户对项目的兴趣偏好度以及项目在用户社会网络关系中的推荐度等3个关键因子融入用户兴趣模型之中,利用用户之间的信任关系,获得更多用户关联信息和相似兴趣,构建了一套较为完善的基于社会网络信息的推荐模型,保证了推荐结果的准确性和多样性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于社会网络的协同过滤推荐方法的流程图;
图2为本发明实施例公开的一种基于社会网络的协同过滤推荐方法中构建项目在用户社会网络关系中的推荐度的计算模型的流程图;
图3为本发明实施例公开的一种基于社会网络的协同过滤推荐方法中计算用户兴趣偏好度的计算模型的流程图;
图4为本发明实施例公开的一种基于社会网络的协同过滤推荐***的结构示意图;
图5为本发明实施例公开的一种基于社会网络的协同过滤推荐***中社会网络关系中的项目推荐度计算模块的结构示意图;
图6为本发明实施例公开的一种基于社会网络的协同过滤推荐***中用户兴趣偏好度计算模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例公开了一种基于社会网络的协同过滤推荐方法,包括以下步骤:
S101,获取特征数据集并进行预处理,特征数据集包括:项目的特征信息数据、用户的历史行为数据以及用户的社会网络关系数据,具体是指:项目的近期销售量、用户评价与好评率、项目在同类项目中的排名,用户的购买信息、评价信息、互动量与互动内容领域,所属关系与群组,用户的品牌偏好程度、价格偏好程度和信用偏好程度等信息。
S102,根据项目的销售量、用户好评率以及所述项目在同类项目中的排名,构建项目的关联性与流行性的计算模型。其中,项目的关联性与流行性用PR表示,计算模型的数学形式表示为
其中,a
i是平台上在线项目,x
ij是不同项目i的第j个指标数值,wj是不同指标因素j的权重值。
S103,构建项目在用户社会网络关系中的推荐度的计算模型,本发明实施例将社会网络关系定义为SNR=<U,N
U×U,P>,其中,U={u
1,u
2,…,u
m}是社会网络中的用户集,N
U×U是用户集中成员之间通过联系建立的网络。
其中
是用户u
i在社会网络关系中发表的评价、标注、留言和涉及用户u
i的交互信息等的集合。将社会项目关系定义为SCR=<A,N
U×A>其中,A={a
1,a
2…a
n}是平台上网络项目集合,N
U×A是用户和项目之间的关联网络。其中,构建项目在用户社会网络关系中的推荐度的计算模型具体包括步骤:
S201,计算用户与好友之间的社会相似度SS(u
i,f
j)、社会互动度SI(u
i,f
j)以及社会群组相似度SG(u
i,f
j)。社会相似度SS(u
i,f
j)由用户购买相似度Sim
B(u
i,f
j)和用户评价相似度Sim
E(u
i,f
j)所组成,即为,SS(u
i,f
j)=Sim
B(u
i,f
j)+Sim
E(u
i,f
j),其中,用户购买相似度Sim
B(u
i,f
j)的计算表达式为
B(u
i)和B(f
j)分别是指用户u
i和好友f
j的购买情况;用户评价相似度Sim
E(u
i,f
j)计算表达式为
其中,E(u
i)和E(f
j)分别是用户u
i和好友f
j的评价情况。
社会互动度SI(u
i,f
j)的计算表达式是
其中,
是用户u
i与好友f
j在相关内容领域的互动量,α是领域系数,F(u
i)是用户u
i的好友集合。
社会群组相似度SG(u
i,f
j)计算表达式是
其中,β表示为群组关系,F(u
i)和F(f
j)分别是用户u
i和好友f
j的好友集合。
S202,根据获得的所述用户与好友之间的社会相似度、社会互动度以及社会群组相似度,构建用户之间的社会关系强度的计算模型,其数学表达式为SR(ui,fj)=w1SS(ui,fj)+w2SI(ui,fj)+w3SG(ui,fj),其中,wi是各个影响因素的权重,SS(ui,fj)是用户ui与其好友fj之间的社会相似度,SI(ui,fj)是用户ui与其好友fj之间的社会互动度,SG(ui,fj)是用户ui与其好友fj的社会群组相似度。
然后根据用户u
i与好友f
i的社会关系强度SR(u
i,f
j),计算用户u
i在该社会网络关系中的项目关系网络推荐度,项目关系网络推荐度的计算模型的数学形式为
其中,f
j∈F∩A(a
k)是购买过项目a
k的用户u
i的那一部分好友。
S104,构建用户兴趣偏好度计算模型,具体包括步骤:
S301,构建用户u
i对项目a
k所属品牌c
i的偏好程度的计算模型,其数学表达式为:
其中,a
k是指用户曾经购买过的项目,Sum(u
i,c
j)是指用户u
i购买过的项目中属于品牌c
j的总和,count(u
i,c
j)取值为0或1,即用户u
i购买过的项目a
k属于c
j则计为1,否则计为0。
S302,计算用户对项目a
k的价格偏好度
其中,p
ik是项目a
k的实际价格,Max(p
k)是项目a
k在线平台上的最高价格,Min(p
k)是项目a
k在线平台上的最低价格。
S303,计算用户u
i对项目a
k的信用偏好度
其中,SC
ik是项目a
k的商家信用值,Max(SC
k)是项目a
k在网络平台上的商家最高信用值,Min(SC
k)是项目a
k在网络平台上的商家最低信用值。
然后根据上述用户对项目所属品牌的偏好程度、用户对项目的价格偏好度以及用户对项目的信用偏好度,构建用户ui对项目ak的兴趣偏好程度的计算模型,其数学公式为IPs(ui,ak)=w1BP(ui,φ-1(ak))+w2PP(ak)+w3SC(ak),其中,φ-1(ak)是项目ak所从属的品牌,wj是不同指标因素j的权重。
S105,利用预处理后的特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型,分别获得三个计算模型中对应的权重wj。
S106,根据训练后的所述项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型,计算项目的综合推荐值,综合推荐值的计算表达式为:PRs(ai)+SRs(ui,ak)+IPs(ui,ak),根据综合推荐值产生推荐列表。
如图4所示,本发明实施例还公开了一种基于社会网络的协同过滤推荐***,包括:
数据集获取模块401,用于获取特征数据集并进行预处理;
项目关联性与流行性计算模块402,用于构建项目的关联性与流行性的计算模型;
社会网络关系中的项目推荐度计算模块403,用于构建项目在用户社会网络关系中的推荐度的计算模型;
用户兴趣偏好度计算模块404,用于构建用户兴趣偏好度的计算模型;
计算模型训练模块405,用于利用预处理后的特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型;
综合推荐值计算模块406,用于根据训练后的特征数据集分别训练项目的关联性与流行性、项目在用户社会网络关系中的推荐度以及用户兴趣偏好度的计算模型,计算项目的综合推荐值,根据综合推荐值产生推荐列表。
数据集获取模块获取的特征数据集包括:项目的特征信息数据、用户的历史行为数据以及用户的社会网络关系数据。
其中,项目关联性与流行性构建模块,用于构建项目的关联性与流行性的计算模型,具体为,项目关联性与流行性构建模块根据项目的销售量、用户好评率以及项目在同类项目中的排名,构建项目的关联性与流行性的计算模型。
如图5所示,社会网络关系中的项目推荐度计算模块具体包括:
社会关系计算单元501,用于计算用户与好友之间的社会相似度、社会互动度以及社会群组相似度;
社会关系强度计算单元502,用于根据获得的所述用户与好友之间的社会相似度、社会互动度以及社会群组相似度,计算用户之间的社会关系强度;
项目推荐度计算单元503,用于根据所述用户之间的社会关系强度,计算项目在用户社会网络关系中的推荐度。
如图6所示,用户兴趣偏好度计算模块具体包括:
品牌偏好程度计算单元601,用于计算用户对项目所属品牌的偏好程度;
用户价格与项目信用计算单元602,用于计算用户对项目的价格偏好度,以及项目的信用偏好度;
兴趣偏好度计算单元603,用于根据所述项目的信用偏好度、用户对项目所属品牌的偏好程度以及用户对项目的价格偏好度,构建用户对项目的兴趣偏好度的计算模型。
本发明所述的基于社会网络的协同过滤推荐方法及***,通过将用户的社会网络关系合理有效地嵌入到用户兴趣相似性计算中,再和另外两个因素包括项目的流行性与关联性、用户的兴趣偏好度综合考虑,实现了一种基于社会网络的协同过滤推荐模型,在有效提高了推荐结果的准确性的同时,保证了推荐结果的多样性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。