一种社交网络中结合评分数据和信任关系的项目推荐方法与流程

文档序号:11591507阅读:257来源:国知局
本发明属于社交网络
技术领域
,尤其涉及一种社交网络中结合评分数据和信任关系的项目推荐方法。
背景技术
:随着web2.0的快速发展,越来越多的人在日常生活中利用社交网络进行交互,由此产生了严重的信息过载问题。因此,人们需要信息过滤技术来寻找适合自己的商品或服务。搜索引擎和top-n推荐是两个常用的信息过滤方法,但不同的兴趣爱好人使用这两种方法时,返回的结果列表却相同,因此,个性化是这两种方法面临的主要问题。而推荐系统作为信息过滤系统的一个子类,它考虑了用户的偏好并推荐给符合其偏好的项目,因此,推荐系统能有效的解决信息过载并能为用户提供个性化的服务。协同过滤是推荐系统中应用最广的算法,如亚马逊、ebay、淘宝网等电子商务网站中的推荐系统都采用了协同过滤推荐算法。虽然协同过滤推荐算法已经取得了较好的效果,但协同过滤存在一些问题,如数据稀疏性、用户冷启动和项目冷启动。数据稀疏性问题是指用户评论的项目数较少,导致用户-项目评分矩阵十分稀疏。用户冷启动是指新用户没有评分信息,系统难以为其提供个性化推荐。项目冷启动问题是指新项目没有被用户所评论,系统难以将其推荐给用户。这些问题严重降低了推荐算法的准确性和用户体验。此外,协同过滤算法忽略了用户之间的信任关系对推荐的影响,而很多研究表明,考虑用户之间的信任关系将会显著提高推荐的准确性。安徽师范大学提出的专利申请“一种基于综合评价信任的社交网络推荐模型构建方法”(申请号201610445210.0申请公布号cn106126586a)公开了一种社交网络中基于综合评价信任的推荐方法,具体步骤是:首先确认被推荐用户和邻居用户之间的信任关系。其次,建立被推荐用户和邻居用户之间评价相似度信任,建立被推荐用户和邻居用户之间社交关系相似度信任,建立被推荐用户和邻居用户之间pagerank信任。最后,求出用户间的综合评价信任值。云南大学提出的专利申请“一种基于用户和项目混合的协同过滤算法”(申请号201610316790.3申请公布号cn105976229a)公开了一种基于记忆的协同过滤推荐算法,具体步骤是:首先建立用户项目评分矩阵,计算物品之间的相似度并对结果进行排序,得到物品的“最近邻居n”。其次,计算用户之间的相似度并对结果排序,得到用户的“最近邻居k”。最后,求出项目预测评分,根据评分的排序进行推荐。桂林电子科技大学提出的专利申请“一种结合用户评论内容和评分的项目推荐方法”(申请号201610583497.3申请公布号cn106202519a)公开了一种项目推荐方法。具体步骤是:首先建立用户-项目评分矩阵和lda模型。其次,构建映射函数,设置参数得到推荐的模型表达式。最后,训练模型选出最优的参数,从而为用户产生最终的推荐结果。“一种基于综合评价信任的社交网络推荐模型构建方法”和“一种基于用户和项目混合的协同过滤算法”中存在的不足是:首先,求两个用户相似度时,只考虑了用户评分向量的相似度,未考虑这两个用户共同评论的项目数,导致所求的相似度不可靠。其次,未考虑新用户和新项目的评分信息的不足。“一种基于用户和项目混合的协同过滤算法”和“一种结合用户评论内容和评分的项目推荐方法”中存在的不足是:为目标用户进行推荐时,未考虑用户之间的信任关系,这可能导致其推荐结果并不被用户所认可,从而导致用户体验降低。综上所述,现有技术存在的问题是:目前的推荐方法存在项目冷启动问题、用户冷启动问题和数据稀疏性问题,这些问题严重降低了推荐降低了推荐系统判断用户偏好的准确性,因此,预测一个用户对一个未知项目的评分的准确度也随之降低。技术实现要素:针对现有技术存在的问题,本发明提供了一种社交网络中结合评分数据和信任关系的项目推荐方法。本发明是这样实现的,一种社交网络中结合评分数据和信任关系的项目推荐方法,所述社交网络中结合评分数据和信任关系的项目推荐方法采用基于记忆的方法,在用户相似度的基础上引入用户声誉值,项目声誉值进行项目推荐;利用训练集数据和用户之间的信任关系,按照下式计算用户的声誉值:其中,u(u)表示用户u的声誉值,exp表示以e为底的指数函数,∑表示求和符号,表示用户u对项目i的评分值,a(i)表示项目i的平均评分值,表示的绝对值,i(u)表示用户u评论过的项目组成的集合,|i(u)|表示集合i(u)的元素个数,d(u)表示用户u的入度数,d表示所有用户中最大的入度数。进一步,所述社交网络中结合评分数据和信任关系的项目推荐方法包括以下步骤:(1)采集用户数据,从社交网络中采集用户对项目的评分数据和用户之间的信任关系,并将评分数据划分为训练集和测试集;(2)计算项目声誉值,利用训练集数据,按照下式计算项目的声誉值:其中,r(i)表示项目i的声誉值,v(i)表示评论过项目i的用户集合,|v(i)|表示集合v(i)的元素个数,m表示一个常数,a(i)表示项目i的平均评分值,a(i)表示项目i所属的第i类项目的平均评分值;(3)判断用户倾向评分值,利用训练集数据中用户评论的项目数,计算用户倾向评分值,当用户评论的项目数为0时,用户倾向评分值为该用户对其所评项目的平均评分值;否则,用户倾向评分值为所有用户的对所有项目的平均评分值;(4)计算用户声誉值,利用训练集数据和用户之间的信任关系,按照下式计算用户的声誉值:其中,u(u)表示用户u的声誉值,exp表示以e为底的指数函数,∑表示求和符号,表示用户u对项目i的评分值,i(u)表示用户u评论过的项目组成的集合,|i(u)|表示集合i(u)的元素个数,d(u)表示用户u的入度数,d表示所有用户中最大的入度数;(5)计算用户相似度,使用皮尔逊系数公式计算用户之间的皮尔逊相似度,并按照下式计算用户相似度:其中,s(u,v)表示用户u和用户v的用户相似度,s(u,v)表示用户u和用户v的皮尔逊相似度;(6)计算用户信任值:(7)预测项目评分:(8)确定最佳参数组合:进一步,所述皮尔逊系数公式如下:其中,s(u,v)表示用户u和用户v的皮尔逊相似度,i∈i(u)∩i(v)表示项目i是用户u和用户v共同评论过的项目,和分别表示用户u和用户v对项目i的评分值,和分别表示用户u和用户v的平均评分值。进一步,所述(6)具体包括;1)按照下式计算用户之间的原始信任值:其中,t(u,v)表示用户u对用户v的原始信任值,u(v)表示用户v的声誉值,s(u,v)表示用户u和用户v的用户相似度,n表示用户u和用户v评论的共同项目个数,n为一常数;2)按照下式计算用户之间的信任值:其中,t(u,v)表示用户u对用户v的信任值,t表示信任关系,t=2表示用户u和用户v相互信任,t=1表示用户u不信任用户v,t=0表示用户u信任用户v而用户v不信任用户u。进一步,所述(7)包括:1)判断预测集中用户u所评论的项目i的评论数v(i)是否大于0,若大于0,则按照下式找出用户u最信任的用户:其中,w表示用户u最信任的用户,max表示求最大值符号;2)按照下式计算用户u对项目i的预测评分:其中,表示用户u对项目i的预测评分值,α、β、γ、a、b、是权衡系数,并且满足α+β+γ=1和a+b=1,表示用户w对项目i的评分值,ru表示用户u的倾向评分值,θ表示一个常数。进一步,所述(8)具体包括:1)将权衡系数α、β、γ、a、b组成一组参数组合;2)遍历参数组合中的每一个参数的取值,根据下式,分别计算多组参数组合的平均绝对误差和均方根误差:其中,w表示平均绝对误差,v表示均方根误差,m表示测试集的大小;3)选择平均绝对误差和均方根误差之和最小的一组参数组合,作为最佳参数组合。本发明的另一目的在于提供一种应用所述社交网络中结合评分数据和信任关系的项目推荐方法的社交网络。本发明的优点及积极效果为:采用基于记忆的方法,在用户相似度的基础上引入了用户声誉值,项目声誉值进行项目推荐,有效缓解了数据稀疏性问题,用户冷启动问题和项目冷启动问题,同时提高了推荐的准确性和用户满意度。本发明根据信任值的大小选出被推荐用户,而信任值由用户相似度和用户声誉值加权计算所得,两个用户评论的共同项目数越多,相似度在计算信任值中所占的比重越大,克服了现有技术中求两个用户相似度时,只考虑了用户评分向量的相似度,未考虑共同项目数的不足,使得本发明提高了对用户的偏好判断的准确度。本发明在向用户推荐项目时,考虑了项目声誉值和用户倾向评分值,克服了现有技术中未考虑新用户和新项目的评分信息的不足,使得本发明有效的缓解了用户冷启动和项目冷启动问题。本发明采用用户之间的信任关系和评分信息计算用户的声誉值,克服了现有技术中未考虑用户之间的信任关系的不足,使得本发明提升了用户体验,提高了项目推荐的准确度。附图说明图1是本发明实施例提供的社交网络中结合评分数据和信任关系的项目推荐方法流程图。图2是本发明实施例提供的w随参数a的变化图。图3是本发明实施例提供的v随参数a的变化图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例提供的社交网络中结合评分数据和信任关系的项目推荐方法包括以下步骤:s101:采集用户数据;s102:计算项目声誉值;s103:判断用户倾向评分值;s104:计算用户声誉值;s105:计算用户相似度;s106:计算用户信任值;s107:预测项目评分;s108:确定最佳参数组合。下面结合附图对本发明的应用原理作进一步的描述。如图1所示,本发明实施例提供的社交网络中结合评分数据和信任关系的项目推荐方法包括以下步骤:步骤1,采集用户数据。从社交网络中采集用户对项目的评分数据和用户之间的信任关系,并将评分数据划分为训练集和测试集两部分,训练集用于建立推荐模型,而测试集用于确定推荐模型的参数。步骤2,计算项目声誉值。项目的声誉值一定程度上代表了该项目的可信度和质量,利用训练集数据,按照下式计算项目的声誉值:其中,r(i)表示项目i的声誉值,v(i)表示评论过项目i的用户集合,|v(i)|表示集合v(i)的元素个数,m表示一个常数,a(i)表示项目i的平均评分值;a(i)表示项目i所属的第i类项目的平均评分值。步骤3,判断用户倾向评分值。用户的倾向评分值表示了该用户通常情况对一个项目的评分高低,利用训练集数据中用户评论的项目数,计算用户倾向评分值。当用户评论的项目数为0时,用户倾向评分值为该用户对其所评项目的平均评分值;否则,用户倾向评分值为所有用户的对所有项目的平均评分值。步骤4,计算用户声誉值。每一个用户有一个对应的声誉值,用户的声誉值越高,该用户越值得被其他用户信任。若用户u信任用户v,则用户u为用户v的一个入度,用户的声誉值由该用户的评分信息和该用户的入度数两者共同决定,用户的声誉值计算公式如下:其中,u(u)表示用户u的声誉值,exp表示以e为底的指数函数,∑表示求和符号,表示用户u对项目i的评分值,i(u)表示用户u评论过的项目组成的集合,|i(u)|表示集合i(u)的元素个数,d(u)表示用户u的入度数,d表示所有用户中最大的入度数。显然,用户声誉值的取值范围为[0,1]。步骤5,计算用户相似度。若社交网络中,两个用户对一些项目有相同或相似的评分,则这两个用户具有较高的相似度。使用皮尔逊系数公式计算用户之间的皮尔逊相似度,皮尔逊相似度的计算公式如下:其中,s(u,v)表示用户u和用户v的皮尔逊相似度,i∈i(u)∩i(v)表示项目i是用户u和用户v共同评论过的项目,和分别表示用户u和用户v对项目i的评分值,和分别表示用户u和用户v的平均评分值。由于皮尔逊相似度取值范围为[-1,1],为使取值结果和用户声誉值的取值结果相同,使用下式计算用户相似度:其中,s(u,v)表示用户u和用户v的用户相似度。步骤6,计算用户信任值。用户u对用户v的信任值越高,则用户u采用用户v的推荐的可能性越大。而用户u对用户v的信任值与用户v的声誉值、用户u和v的用户相似度密切相关,用户之间的原始信任值计算方式如下:其中,t(u,v)表示用户u对用户v的原始信任值,u(v)表示用户v的声誉值,s(u,v)表示用户u和用户v的用户相似度,n表示用户u和用户v评论的共同项目个数,n为一常数。原始信任值没有考虑用户之间的信任关系,而实际生活中,用户更倾向于选择朋友的信任。因此,用户之间的信任值计算方式如下:其中,t(u,v)表示用户u对用户v的信任值,t表示信任关系,t=2表示用户u和用户v相互信任,t=1表示用户u不信任用户v,t=0表示用户u信任用户v而用户v不信任用户u。步骤7,预测项目评分。要预测用户u项目i的评分,必须判断项目i的评论数v(i)是否大于0,若大于0,则按照下式找出用户u最信任的用户:其中,w表示用户u最信任的用户,max表示求最大值符号。用户u对项目i的评分与用户w对项目i的评分、项目i的声誉值和用户u的倾向评分值三者均有很大的关系。用户u对项目i的预测评分计算方式如下:其中,表示用户u对项目i的预测评分值,α、β、γ、a、b、是权衡系数,并且满足α+β+γ=1和a+b=1,表示用户w对项目i的评分值,ru表示用户u的倾向评分值,θ表示一个常数;步骤8,确定最佳参数组合。将步骤7中权衡系数α、β、γ、a、b组成一组参数组合,遍历参数组合中的每一个参数的取值,根据下式,分别计算多组参数组合的平均绝对误差和均方根误差:其中,w表示平均绝对误差,v表示均方根误差,m表示测试集的大小。最后,选择平均绝对误差和均方根误差之和最小的一组参数组合,作为最佳参数组合,使用该组参数时,模型的性能达到最优。下面结合实验对本发明的应用效果作详细的描述。本发明实验采用真实数据集epinions(http://more.datatang.com/data/1663),该数据集包括用户对项目的评分以及用户之间的信任关系,具体数据见表1。本发明采用五折交叉验证来进行测试,即随机将评分数据分为5份,轮流使用其中4份作为训练集,剩下的1份作为测试集进行实验,最后将5组实验结果(w和v)的平均值作为最终的实验结果。表1epinions数据集用户数项目数评价数信任关系数49289139738664824487183通过实验,本发明选择常数n=12,θ=0.6,m=1,a(i)=4;参数α=0.1,β=0.8,γ=0.1,a=0.85,b=0.15。此时,本发明的推荐准确度最高,推荐效果达到最佳。表2w随参数α和β的变化表表3v随参数α和β的变化表结合表2和表3,本发明最后取α=0.1,β=0.8,γ=0.1,此时,项目推荐的准确度达到最佳。(1)参数γ=1-α-β,所以当参数α和β的值确定时,γ的值也确定了;(2)该实验中,常数n=12,θ=0.6,m=1,a(i)=4;(3)该实验中,参数a=0.85,b=0.15;结合图2和图3,本发明最后取a=0.85,b=0.15,此时,项目推荐效果达到最佳。(1)参数b=1-a,所以当参数a的值确定时,b的值也确定了;(2)该实验中,常数n=12,θ=0.6,m=1,a(i)=4;(3)该实验中,参数α=0.1,β=0.8,γ=0.1。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1