一种基于社交网络信息扩散感知的推荐方法与流程

文档序号:20999601发布日期:2020-06-05 22:32阅读:287来源:国知局
一种基于社交网络信息扩散感知的推荐方法与流程
本发明属于个性化推荐
技术领域
,尤其是一种基于社交网络信息扩散感知的推荐方法。
背景技术
:越来越多的网民喜欢在微博、推特等网络平台中通过发布一些文字、图片、视频等方式进行社交,随着时间的推移,其发布的信息量急剧增加。对于微博、推特等社交平台,用户参与度是非常重要的,用户参与度越高,利润也就越多,而且参与社交的用户还能够主动对某些产品进行推广,间接的给营销企业创造利润。通过社交网络推荐方法可以很大的提高用户参与度,提高消息推荐质量,当社交平台向用户推荐新闻、帖子等消息时,直接促成了用户对平台的参与,如果推荐的消息还能使用户自动的转发给其他用户,又促成了其他用户参与此平台,使越来越多的用户参与进来,因此使用社交网络信息扩散推荐方法提高用户对微博、推特等网络社交平台的参与度显得的尤为重要。专利201811174475.7、201810754998.2、201711321082.x、201510461144.1都充分考虑了社交网络信息扩散在用户之间的传播,精准挖掘用户的偏好,达到较高的推荐效果,其中专利201811174475.7利用用户社交网络信息的传播,计算网络用户之间的相似度,获取与用户最相近社交集合,将用户之间的相似度与最相近社交集合进行融合,预测目标用户对项目的评分值并降序排列,把预测评分最高的前k个项目推荐给目标用户,生成最佳推荐列表。李泉等人利用隐含信任度构建推荐模型,利用项目间的关联信息构建基于项目关联度的推荐模型,基于这两种推荐模型,提出了tcrmf个性化推荐模型,有效提高了推荐的准确度;ren等人结合时间和迭代优化算法,提出了一种推特汇总方法来选择最能代表用户兴趣的推文,使得推荐的推文更具备新颖性,覆盖范围广,能够多样性选择。综上所述,以往的基于社交网络的推荐方法大多存在重复推荐的问题,并没有考虑到用户自动转发在社交网络中的扩散,如果用户自动转发了某个帖子、新闻等消息时,导致与该用户兴趣相同或者关注该用户的其他用户将会通过转发或者推荐两种方式获得消息,一般向用户推荐的消息数量是有限制的,再度推荐很可能被用户自动转发相同的消息会导致系统资源的浪费,同时也没有增加推荐给用户的消息种类数量及提高推荐质量,用户参与度也不高。技术实现要素:本发明所解决的技术问题在于提供一种基于社交网络信息扩散感知的推荐方法,提高用户与社交平台的参与度、参与用户的分布范围,优化推荐质量,解决网络资源利用有限的难题。实现本发明目的技术解决方案为:首先获取社交平台用户数据集,创建初始的用户社交关系网络图;在此基础上,创建社交关系网络概率图,通过概率函数计算每个用户转发消息的边概率值,采用蒙特卡罗抽样方法获取用户将以高概率转发消息的依赖节点集,计算用户整体兴趣度,构建社交网络扩散模型;创建社交关系网络领域图,确保相同的消息不会同时推荐给2个相关性高的用户;使用经典贪婪算法找到用户独立集合,构建启发式感知推荐算法,进一步优化用户消息推荐列表;计算用户总体参与度,评价推荐质量。本发明采用以上技术方案与现有技术相比,具有以下技术效果:1、本发明的基于社交网络信息扩散感知的推荐方法能够确保不会将相同的消息同时推荐给2个相关性较高的用户,优化推荐质量,解决网络资源利用有限的难题。2、本发明的基于社交网络信息扩散感知的推荐方法能够提高用户对社交平台的参与度和参与用户的分布范围,达到社交网络信息自动扩散的效果。附图说明图1为本发明的基于社交网络信息扩散感知的推荐方法的流程图;图2为本发明步骤2中使用蒙特卡罗抽样方法计算每个用户的依赖集ri的流程图;图3为本发明步骤4中采用经典贪婪算法在领域图gn中找到一组用户独立集合is的流程图;图4为本发明的方法在实验中获得的1.5mb用户节点的平均入度(平均入度为8.8)和平均出度(平均出度为10.9)的用户数情况。具体实施方式下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。一种基于社交网络信息扩散感知的推荐方法,包括以下步骤:步骤1:获取社交平台用户数据集,创建用户社交关系网络图g(v,e),其中,v为用户节点集合,e为边集合;步骤2:为用户社交关系网络图g中每个用户重新发布消息的概率估计创建一个概率图g’(v,e,p),其中,p为每条边的概率值,所述概率图g’与用户社交关系网络图g的结构相同,通过概率函数计算概率图g’中每个用户转发消息的边概率值p,通过蒙特卡罗抽样方法获取用户以高概率转发消息的依赖节点集ri,计算用户整体兴趣度eit,构建社交网络扩散模型;步骤3:创建有向领域图gn来确保推荐的消息t不会同时推荐给相关性高的用户i和用户j;步骤4:通过经典贪婪算法找到用户独立集合is(gn,t),构建启发式感知推荐算法来优化用户消息推荐列表li;步骤5:计算用户总体参与度,评价推荐质量,用户总体参与度为确定推荐给用户的消息相关性与通过转发给用户的消息相关性之和。实施例1一种基于社交网络信息扩散感知的推荐方法,如图1所示,具体步骤如下:步骤1:获取社交平台用户数据集,创建用户社交关系网络图g(v,e),其中,v为用户节点集合,e为边集合;上述社交平台用户数据集包括社交平台用户基础数据和发布的所有消息数据集,其中,社交平台用户基础数据包括用户id、用户名称和用户关注的人,发布的所有消息数据集包括发布的消息内容和用户转发的消息数。步骤2:为用户社交关系网络图g中每个用户重新发布消息的概率估计创建一个概率图g’(v,e,p),其中,p为每条边的概率值,所述概率图g’与用户社交关系网络图g的结构相同,通过概率函数计算概率图g’中每个用户转发消息的边概率值p,通过蒙特卡罗抽样方法获取用户以高概率转发消息的的依赖节点集ri,计算用户整体兴趣度eit,构建社交网络扩散模型;1)利用概率函数p:e→[0,1]计算概率图g’中的每条边的概率值p,p值同时也相当于用户节点i和用户节点j之间的边的权值w(i,j),并设置一个概率阈值η∈[0,1],筛选出每个用户节点以大于η的概率所能到达的目标节点集合;2)针对每个用户节点的目标节点集合,采用蒙特卡罗抽样方法,如图2所示,可以准确获得可靠的目标节点集合,此时的目标节点集合作为每个用户节点i的依赖集ri,i∈v,每个用户节点i的依赖集ri代表如果有消息推荐给节点i,则节点i将通过高概率转发该消息给目标节点集合中的目标用户节点j,j∈v;其中,采用蒙特卡罗抽样方法可以准确获得依赖集ri,具体为:从概率图g’中抽取出一组确定的子图,对于每个确定的子图,计算出所有从用户节点i可到达的目标节点,这些目标节点的集合即为用户节点i的依赖节点集ri。3)计算节点i的依赖节点集ri中所有目标用户对消息t的整体用户兴趣度其中,rjt表示节点i的依赖节点集ri中的每个目标用户节点j与消息t的相关度,对于节点i,消息t的整体用户兴趣度eit越大,说明推荐消息t将会产生较大的扩散效应。步骤3:创建有向领域图gn,确保相同的消息t不会同时推荐给相关性高的用户i和j;1)初始化领域图gn(vn,en),其中vn=v,当用户节点j存在于用户节点i的依赖节点集ri中时,则用户节点i和用户节点j之间存在有向边(i,j)∈en,即存在有向边的用户i和用户j的相关性较高;2)用变量值zit表示消息t是否被推荐给用户i,如果消息t被推荐给用户i,则zit=1,反之zit=0;3)计算领域图gn中所有用户节点的最大整体用户兴趣度之和z*,然后计算限制推荐给每个用户的消息数最大值m,并确保不会将相同的消息推荐给领域图gn中存在边的任意两个节点:∑t∈tzit=mzit+zjt≤1,其中,u为领域图gn中的总用户数,t为消息集合。公式zit+zjt≤1表示存在①zit=0,zjt=0、②zit=0,zjt=1、③zit=1,zjt=0这三种情况,即在这三种情况下,可确保推荐的消息t不会同时推荐给相关性较高的用户i和j。步骤4:通过经典贪婪算法找到用户独立集合is(gn,t),如图3所示,构建启发式感知推荐算法,进一步优化用户消息推荐列表li;1)使用经典贪婪算法,在领域图gn中找到一组用户独立集合is(gn,t),所述用户独立集合is(gn,t)表示可以向该集合中的用户节点推荐消息t,同时不会违反公式zit+zjt≤1的约束,即不会将同一个消息同时经过转发和推荐给用户的现象,也就是不会产生重复推荐消息的情况;使用经典贪婪算法寻找一组用户独立集合is(gn,t)具体为:将领域图gn中的节点按照降序排列,outi表示用户节点i的出度,所有节点按顺序包含在独立集中,当节点i包含在用户独立集合is中,则删除领域图gn中节点i跟随的节点gi和边,以及跟随节点i的节点fi,将节点i的用户整体兴趣度eit计入用户独立集合is的权重wis中。2)获取每个消息t的用户独立集合is,按照用户独立集合is的权重wis对推荐的消息t进行降序排列,并按顺序为用户推荐消息,直至推荐了m个消息则停止推荐,得到用户消息推荐列表li。使用以上方法寻找用户独立集进行推荐的方式有以下2个优点:1)用户出度outi越小说明值越大,排序越靠前,并且转发消息的概率小,产生重复推荐的概率也小,因此该排序方法可优先考虑用户出度outi越小的用户节点;2)如果给对应的独立集中的用户推荐消息,权重wis权重越大,将会产生较大的扩散效应即用户将以高概率转发该消息。步骤5:计算用户总体参与度,评价推荐质量,用户总体参与度为确定推荐给用户的消息相关性与通过转发给用户的消息相关性之和。计算用户总体参与度的公式为:其中,表示根据前面求得的消息推荐列表li,计算推荐列表中的消息与用户的相关性之和,表示根据前面求得的每个用户可靠的依赖集ri,计算通过转发给用户的消息与用户的相关性之和,e(l)则表示用户总体参与度,为推荐给用户的消息相关性与通过转发给用户的消息相关性之和。实施例2如图4所示,实验随机抽取某一个时间段内至少发过一次消息的1.6mb微博用户的账号信息,包括:发布消息用户id、转发的内容、关注的用户即用户的社交关系网等信息,计算领域图中用户的跟随者即社交网络的平均出度为10.9,及用户跟随的用户即社交网络的平均入度为8.8,随机选取1.5mb用户发布的一组6k的消息集合。表1为将本发明的推荐方法与基于内容的推荐方法、基于社交意识的推荐方法和微博真实的推荐方法在用户平均参与度上进行比较,m表示推荐用户最感兴趣的消息集合。从表1中可以看出,随着m值增加,整体的用户参与度不断增加,从130%增加到192%,但是当m=15、20、25时,用户参与度降低,用户参与比率也在降低,因此随着m值增加,向用户推荐的消息相关性逐渐降低,说明并不是推荐消息越多,用户参与度越高。本发明的推荐方法,用户参与度最高,说明本发明提出的推荐方法能够提高用户参与度,优化推荐质量。表1.不同推荐方法在用户平均参与度的比较m1510152025基于内容的推荐方法245523702391238022322198基于社交意识的推荐方法440041204102379036203510微博的推荐方法339034013459342834203378本发明提出的推荐方法100901143810950105061042110190用户参与度130%181%182%185%189%192%表2为将本发明的推荐方法与基于内容的推荐方法、基于社交意识的推荐方法和微博真实的推荐方法在参与用户分布百分比上进行比较。从表2可以看出,当m=10、15时,随着用户参与度越高,参与用户分布越广,本发明的推荐方法的参与用户分布范围是最广的,进一步显示出本发明的推荐方法的优越性。表2.不同的推荐方法在参与用户分布百分比上进行比较以上所述仅是本发明的部分实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1