一种用户人群扩散方法及装置与流程

文档序号:18197059发布日期:2019-07-17 05:55阅读:511来源:国知局
一种用户人群扩散方法及装置与流程

本发明涉及数据处理技术领域,尤其涉及一种用户人群扩散方法及装置。



背景技术:

人群扩散主要是数据管理平台(datamanagementplatform,dmp)中的一个重要组件,首先给定种子用户,然后根据种子用户生成一个更大的扩散人群,使得该扩散人群与给定的种子用户尽可能相似,并且投放效果(如,点击率,转化率等)尽可能好。

目前,主流的人群扩散方法为facebook等使用的lookalike方法。包括:首先计算其他用户与种子用户的相似得分,然后根据相似得分确定扩散规模范围内的用户。主要思路包括:将种子用户作为正样本,其他用户作为负样本,设计画像相关的特征(如,兴趣、人口属性等),使用机器学习算法训练得到lookalike模型,使用lookalike模型对其他用户进行相似度打分。其中,lookalike是人群扩散的一种方法,给定一个人群进而返回一个人群,使得该人群与给定人群的画像、属性、行为(点击、转化、互动)等尽可能相似。但是,lookalike只考虑到了用户之间画像的相似度,人群扩散的准确性不够高,在社交平台投放社交互动效果不理想。



技术实现要素:

本发明实施例提供一种用户人群扩散方法及装置。可以提高人群扩散的准确性。

第一方面,本发明实施例提供了一种用户人群扩散方法,包括:

获取多个用户之间的社交信息;

根据所述多个用户之间的社交信息构建多个社区,并计算所述多个社区中每个社区的特征属性;

根据所述每个社区的所述特征属性,从所述多个社区中选取目标社区,并计算所述目标社区中每个用户的社交得分;

根据所述目标社区中每个用户的画像信息,计算所述目标社区中每个用户的兴趣得分;

根据所述目标社区中每个用户的所述兴趣得分以及所述社交得分,确定所述种子用户经扩散后的用户人群。

其中,所述特征属性包括社区质量,所述计算所述多个社区中每个社区的特征属性包括:

根据所述多个用户之间的社交信息,计算所述多个用户之间的边影响力以及所述多个用户中每个用户的自身影响力;

计算所述多个社区中每个社区的局部模块度;

根据所述每个社区的局部模块度、所述每个社区中用户之间的边影响力以及所述每个社区中用户的自身影响力,计算所述每个社区的社区质量。

其中,所述f(u,v)为用户u对用户v的边影响力,所述message(u,v)为预设时长内所述用户u给所述用户v发信息的次数,所述comment(u,v)为所述预设时长内所述用户u给所述用户v的评论次数,所述like(u,v)为所述预设时长内所述用户u给所述用户v的点赞次数,所述a、所述b以及所述c为常数。

其中,所述node_inf(u)为所述用户u的自身影响力,所述node_inf(i)为用户i的自身影响力,所述f(u,v)为所述用户u对所述用户v的边影响力,所述f(j,i)为用户j对所述用户i的边影响力,所述m为常数。

其中,所述计算所述多个社区中每个社区的局部模块度包括:

统计关联的两个用户同时在一个社区的个数、以及所述关联的两个用户中任何一个在该社区的个数;

将所述关联的两个用户同时在一个社区的个数除以所述关联的两个用户中任何一个在该社区的个数,计算该社区的局部模块度。

其中,所述根据所述每个社区的局部模块度、所述每个社区中用户之间的边影响力以及所述每个社区中的用户的自身影响力,计算所述每个社区的社区质量包括:

根据所述每个社区中用户之间的边影响力,计算所述每个社区中用户之间平均边影响力,以及根据所述每个社区中的用户的自身影响力,计算所述每个社区中的用户的平均自身影响力;

计算所述每个社区的局部模块度、所述每个社区中用户之间平均边影响力以及所述每个社区中的用户的平均自身影响力的加权平均值作为所述每个社区的社区质量。

其中,所述特征属性还包括种子用户与所述每个社区的匹配度;其中,所述flc为所述种子用户与所述每个社区的匹配度,所述seednumc为属于所述多个社区中社区c的种子用户的数量,所述seednum为所有所述种子用户的数量,所述csizec为所述社区c中所有用户的数量。

其中,所述根据所述每个社区的所述特征属性,从所述多个社区中选取目标社区包括:

计算所述每个社区的社区质量以及所述种子用户与所述每个社区的匹配度的加权平均值作为所述每个社区的社区综合打分;

选取所述社区综合打分最高的社区作为所述目标社区。

其中,所述p(u)为用户u的社交得分,所述p(i)为用户i的社交得分,所述f(i,j)为所述用户i对用户j的边影响力,所述f(u,j)为所述用户u对所述用户j的边影响力,所述n为常数。

其中,所述根据所述目标社区中每个用户的所述兴趣得分以及所述社交得分,确定所述种子用户经扩散后的用户人群包括:

计算所述目标社区中每个用户的所述兴趣得分和所述社交得分的加权平均值;

若所述目标社区中某个用户的所述加权平均值大于预设阈值,则将该用户确定为所述种子用户经扩散后的用户人群。

第二方面,本发明实施例提供了一种用户人群扩散方法的装置,包括:

信息获取模块,用于获取多个用户之间的社交信息;

属性确定模块,用于根据所述多个用户之间的社交信息构建多个社区,并计算所述多个社区中每个社区的特征属性;

第一计算模块,用于根据所述每个社区的所述特征属性,从所述多个社区中选取目标社区,并计算所述目标社区中每个用户的社交得分;

第二计算模块,用于根据所述目标社区中每个用户的画像信息,计算所述目标社区中每个用户的兴趣得分;

用户确定模块,用于根据所述目标社区中每个用户的所述兴趣得分以及所述社交得分,确定所述种子用户经扩散后的用户人群。

其中,所述特征属性包括社区质量,所述社区构建模块具体用于:

根据所述多个用户之间的社交信息,计算所述多个用户之间的边影响力以及所述多个用户中每个用户的自身影响力;

计算所述多个社区中每个社区的局部模块度;

根据所述每个社区的局部模块度、所述每个社区中用户之间的边影响力以及所述每个社区中用户的自身影响力,计算所述每个社区的社区质量。

其中,所述f(u,v)为用户u对用户v的边影响力,所述message(u,v)为预设时长内所述用户u给所述用户v发信息的次数,所述comment(u,v)为所述预设时长内所述用户u给所述用户v的评论次数,所述like(u,v)为所述预设时长内所述用户u给所述用户v的点赞次数,所述a、所述b以及所述c为常数。

其中,所述node_inf(u)为所述用户u的自身影响力,所述node_inf(i)为用户i的自身影响力,所述f(u,v)为所述用户u对所述用户v的边影响力,所述f(j,i)为用户j对所述用户i的边影响力,所述m为常数。

其中,所述社区构建模块,还用于统计关联的两个用户同时在一个社区的个数、以及所述关联的两个用户中任何一个在该社区的个数;将所述关联的两个用户同时在一个社区的个数除以所述关联的两个用户中任何一个在该社区的个数,计算该社区的局部模块度。

其中,所述社区构建模块,还用于根据所述每个社区中用户之间的边影响力,计算所述每个社区中用户之间平均边影响力,以及根据所述每个社区中的用户的自身影响力,计算所述每个社区中的用户的平均自身影响力;计算所述每个社区的局部模块度、所述每个社区中用户之间平均边影响力以及所述每个社区中的用户的平均自身影响力的加权平均值作为所述每个社区的社区质量。

其中,所述特征属性还包括种子用户与所述每个社区的匹配度;其中,所述flc为所述种子用户与所述每个社区的匹配度,所述seednumc为属于所述多个社区中社区c的种子用户的数量,所述seednum为所有所述种子用户的数量,所述csizec为所述社区c中所有用户的数量。

其中,所述得分计算模块,还用于计算所述每个社区的社区质量以及所述种子用户与所述每个社区的匹配度的加权平均值作为所述每个社区的社区综合打分;选取所述社区综合打分最高的社区作为所述目标社区。

其中,所述p(u)为用户u的社交得分,所述p(i)为用户i的社交得分,所述f(i,j)为所述用户i对用户j的边影响力,所述f(u,j)为所述用户u对所述用户j的边影响力,所述n为常数。

其中,所述用户确定模块具体用于:

计算所述目标社区中每个用户的所述兴趣得分和所述社交得分的加权平均值;

若所述目标社区中某个用户的所述加权平均值大于预设阈值,则将该用户确定为所述种子用户经扩散后的用户人群。

第三方面,本发明实施例提供了一种用户人群扩散方法的装置,包括:接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:

获取多个用户之间的社交信息;

根据所述多个用户之间的社交信息构建多个社区,并计算所述多个社区中每个社区的特征属性;

根据所述每个社区的所述特征属性,从所述多个社区中选取目标社区,并计算所述目标社区中每个用户的社交得分;

根据所述目标社区中每个用户的画像信息,计算所述目标社区中每个用户的兴趣得分;

根据所述目标社区中每个用户的所述兴趣得分以及所述社交得分,确定所述种子用户经扩散后的用户人群。

本发明的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行上述各方面所述的方法。

实施本发明实施例,对于一个种子用户,经过预处理后,通过社区综合打分得到优质社区,然后在优质社区内进行影响力传播得到社交得分,最后结合社交得分与传统lookalike得到的兴趣得分,得到最终得分,并通过最终得分对用户进行排序,确定种子用户经扩散后的用户人群,从而提高了用户扩散的准确性,提高在社交平台投放社交互动效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种用户人群扩散系统的架构示意图;

图2是本发明实施例提供的一种用户人群扩散方法的流程示意图;

图3是本发明实施例提供的一种社区分布图;

图4是本发明实施例提供的一种准实时扩散的流程示意图;

图5是本发明实施例提供的一种用户人群扩散装置的结构示意图;

图6是本发明另一实施例提供的一种用于人群扩散装置的结构示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。

本发明实施例提供的一种应用平台,该应用平台可以应用于查找相似人群。在该应用平台上,用户可以选择创建人群方式“相似人群”,在“扩展倾向”选项中选择“社交互动”,投放平台选择“微信朋友圈”后,用户提供种子用户,设置扩展规模后点击“创建人群”,从而得到扩散后的用户人群(号码包)。

如图1所示,图1是本发明实施例提供的一种用户人群扩散系统的架构示意图。用户人群扩散系统包括准实时扩散和离线挖掘。其中,离线挖掘包括社交信息计算模块和兴趣偏好计算模块两个部分,分别用于提供社交信息和画像信息两部分基础信息。准实时扩散包括预处理模块、初选模块以及混排模块,其中,预处理模块用于对种子用户(种子包)进行账号映射、正例精选或负例精选,初选模块用于根据每个社区的社区质量来完成优质社区的选择,混排模块用于根据兴趣得分以及社交得分,确定种子用户经扩散后的结果号码包(扩散后的用户人群)。基于该用于人群扩散系统,下面详细介绍用户人群扩散的具体实施步骤。

如图2所示,图2是本发明实施例提供的一种用户人群扩散方法的流程示意图。如图所示,本发明实施例中的方法包括:

s201,获取多个用户之间的社交信息。其中,社交信息可以包括预设时长内用户v给用户u发信息的次数、预设时长内用户u给用户v的评论次数、预设时长内用户u给用户v的点赞次数等等。

s202,根据多个用户之间的社交信息构建多个社区,并计算多个社区中每个社区的特征属性。

在一种实现方式中,上述特征属性可以包括社区质量,计算多个社区中每个社区的社区质量具体步骤如下:

具体实现中,可以首先利用louvain算法进行社区发现得到社区聚类结果,根据社区聚类结果构建多个社区,每个社区包括至少一个用户。如图3所示,图3是本发明实施例提供的一种社区分布图。该社区分布图包括社区c和社区d,社区c包括5个用户,社区d包括2个用户,每个用户对应一个节点,相互影响的两个节点之间存在连接线。其中,每个节点的系数可以表示该用户的自身影响力,连接线上的权值可以表示用户之间的边影响力。

在实际应用中,可以根据多个用户之间的社交信息,计算多个用户之间的边影响力以及多个用户中每个用户的自身影响力。然后计算多个社区中每个社区的局部模块度,其中,局部模块度表示存在相互影响的两个用户同时在一个社区的分布情况。最后根据每个社区的局部模块度、每个社区中用户之间的边影响力以及每个社区中用户的自身影响力,计算每个社区的社区质量。

其中,f(u,v)为用户u对用户v之间的边影响力,message(u,v)为预设时长内用户u给用户v发信息的次数,comment(u,v)为预设时长内用户u给用户v的评论次数,like(u,v)为预设时长内用户u给用户v的点赞次数,a、b以及c均为常数。

其中,node_inf(u)为用户u的自身影响力,node_inf(i)为用户i的自身影响力,f(u,v)为用户u对用户v的边影响力,f(j,i)为用户j对用户i的边影响力,m为常数,m的取值包括但不限于0.15。

进一步的,可以统计关联的两个用户同时在一个社区的个数、以及关联的两个用户中任何一个在该社区的个数。例如,如图3所示,用户u和用户v之间存在连接线,表明用户v和用户u是关联的两个用户,并且用户u和用户v同属于社区c。用户m和用户n之间存在连接线,表明用户m和用户n是关联的两个用户,但是用户m和用户n属于不同的社区,只有用户m在社区c内。将关联的两个用户同时在一个社区的个数除以关联的两个用户中任何一个在该社区的个数,计算该社区的局部模块度。例如,局部模块度其中,

进一步可选的,在利用louvain算法进行社区发现得到社区聚类结果之后,可以对用户数量大于预设数量的社区进行进一步划分。例如,可以将用户数量大于预设阈值的社区内的用户取出,构成子图,使用louvain算法进一步做社区发现,得到更小的社区结果,从而起到优化社区的目的。

进一步的,可以根据每个社区中用户之间的边影响力,计算每个社区中用户之间平均边影响力,以及根据每个社区中的用户的自身影响力,计算每个社区中的用户的平均自身影响力;计算每个社区的局部模块度、每个社区中用户之间平均边影响力以及每个社区中的用户的平均自身影响力的加权平均值作为每个社区的社区质量。

例如,每个社区中用户的平均自身影响力每个社区中的用户之间的平均边影响力其中,∑iincnode_inf(i)为在社区c中所有用户的自身影响力之和,nodenumc为社区c中所有用户的人数,∑i,jincf(i,j)为社区c中关联的两个用户之间的边影响力之和,∑ijaijδ(ci,cj)为关联的两个用户同时在社区c的个数之和。

最后,计算局部模块度qc、每个社区中用户的平均自身影响力avernodeinfc以及每个社区中的用户之间的平均边影响力averlinkinfc加权平均值作为社区质量,社区c的社区质量cqualityc=k0+k1*qc+k2*avernodeiinfc+k3*averlinkinfc。其中,k0,k1、k2和k3均为预设常数。

如图4所示,图4是本发明实施例提供的一种准实时扩散的流程示意图。该流程包括在线和离线两个部分。在离线部分,可以根据自身影响力、边影响力以及社区的局部模块度,计算每个社区的社区质量,并将每个社区的社区质量提交给在线部分进行初选。

在另一种实现方式中,上述特征属性可以包括种子用户与每个社区的匹配度。计算种子用户与每个社区的匹配度的具体步骤如下:

其中,其中,flc为种子用户与社区c的匹配度,seednumc为属于多个社区中社区c的种子用户的数量,seednum为所有种子用户的数量,csizec为社区c中所有用户的数量。

在另一种实现方式中,上述特征属性可以包括种子用户与每个社区的匹配度和社区质量。具体计算方法上面已经介绍,此处不再赘述。

s203,根据每个社区的特征属性,从多个社区中选取目标社区,并计算目标社区中每个用户的社交得分。

具体实现中,可以选取社区质量最高的社区作为目标社区,或选取种子用户与某个社区的匹配度最高的社区作为目标社区。

可选的,可以计算每个社区的社区质量以及种子用户与每个社区的匹配度的加权平均值作为每个社区的社区综合打分;选取社区综合打分最高的社区作为目标社区。例如,社区综合打分cscorec=α*flc+β*cqualityc。其中,cqualityc为社区c的社区质量,flc为种子用户与社区c的匹配度,α,β为常数。按照该方法分别计算其他社区的社区质量、以及种子用户与其他社区的匹配度,得到多个社区的社区综合打分。最后比较多个社区的社区综合打分,选取社区综合打分最高的社区。

其中,时间t=0时,所有节点的社交得分初始值为用户的自身影响力,种子用户的节点的社交得分初始值为种子用户自身影响力和预设权重ω之和。时间t≥1时,每个节点按照公式更新社交得分,直到没有节点社交得分改变或到达预设时间,传播结束。p(i)为用户i的社交得分,f(i,j)为用户i对用户j的边影响力,f(u,j)为用户u对用户j的边影响力,n为常数。

s204,根据目标社区中每个用户的画像信息,计算目标社区中每个用户的兴趣得分。

具体实现中,可以获取目标社区中每个用户的画像信息,然后提出画像特征,最后按照传统lookalike方法根据画像特征计算得到每个用户的兴趣得分。其中,画像信息包括年龄、性别、兴趣等等。又如图4所示,在离线部分,根据画像信息提取画像特征,然后将画像特征提交给在线部分,由混排模块计算每个用户的兴趣得分。

s205,根据目标社区中每个用户的兴趣得分以及社交得分,确定种子用户经扩散后的用户人群。

具体实现中,可以计算目标社区中每个用户的兴趣得分和社交得分的加权平均值;若目标社区中某个用户的加权平均值大于预设阈值,则将该用户确定为种子用户经扩散后的用户人群,其中,扩散后的用户人群可以包括一个或多个用户。若目标社区中某个用户的加权平均值不大于预设阈值,则将该用户确定为非种子用户经扩散后的用户人群。

又如图4所示,在离线部分提供了社区质量的基础信息后,对用户给定的种子用户进行实时扩散。包括:首先对种子用户进行预处理(如,账号映射、正例选择或负例选择等等),然后计算种子用户与每个社区的匹配度,然后通过社区综合打分选取优质社区,其次在优质社区内进行影响力传播得到社交得分,最后结合社交得分与传统lookalike得到的兴趣得分,得到最终得分,并通过最终得分对用户进行排序,确定种子用户经扩散后的用户人群。

需要说明的是,社区综合打分、以及社区与种子的匹配度的计算方式不限于上述方式。社区综合打分可以使用其他指标,如紧密度、模块度或边的数量等等。社区与种子的匹配度也可以使用其他指标,如种子用户到社区中心的距离、种子用户构成的图与社区内用户构成的图的覆盖度等等。

在本发明实施例中,对于一个种子用户,经过预处理后,通过社区综合打分得到优质社区,然后在优质社区内进行影响力传播得到社交得分,最后结合社交得分与传统lookalike得到的兴趣得分,得到最终得分,并通过最终得分对用户进行排序,确定种子用户经扩散后的用户人群,从而提高了用户扩散的准确性,提高在社交平台投放社交互动效果。

请参考图5,图5是本发明实施例提供的一种用户人群扩散装置的结构示意图。如图所示,本发明实施例中的装置包括:

信息获取模块501,用于获取多个用户之间的社交信息。其中,社交信息可以包括预设时长内用户v给用户u发信息的次数、预设时长内用户u给用户v的评论次数、预设时长内用户u给用户v的点赞次数等等。

社区构建模块502,用于根据多个用户之间的社交信息构建多个社区,并计算多个社区中每个社区的特征属性。

在一种实现方式中,上述特征属性包括社区质量,计算多个社区中每个社区的具体步骤如下:

具体实现中,可以首先利用louvain算法进行社区发现得到社区聚类结果,根据社区聚类结果构建多个社区,每个社区包括至少一个用户。如图3所示,图3是本发明实施例提供的一种社区分布图。该社区分布图包括社区c和社区d,社区c包括5个用户,社区d包括2个用户,每个用户对应一个节点,相互影响的两个节点之间存在连接线。其中,每个节点的系数可以表示该用户的自身影响力,连接线上的权值可以表示用户之间的边影响力。

在实际应用中,可以根据多个用户之间的社交信息,计算多个用户之间的边影响力以及多个用户中每个用户的自身影响力。然后计算多个社区中每个社区的局部模块度,其中,局部模块度表示存在相互影响的两个用户同时在一个社区的分布情况。最后根据每个社区的局部模块度、每个社区中用户之间的边影响力以及每个社区中用户的自身影响力,计算每个社区的社区质量。

其中,f(u,v)为用户u对用户v之间的边影响力,message(u,v)为预设时长内用户u给用户v发信息的次数,comment(u,v)为预设时长内用户u给用户v的评论次数,like(u,v)为预设时长内用户u给用户v的点赞次数,a、b以及c均为常数。

其中,node_inf(u)为用户u的自身影响力,node_inf(i)为用户i的自身影响力,f(u,v)为用户u对用户v的边影响力,f(j,i)为用户j对用户i的边影响力,m为常数,m包括但不限于0.15。

其中,可以统计关联的两个用户同时在一个社区的个数、以及关联的两个用户中任何一个在该社区的个数。例如,如图3所示,用户u和用户v之间存在连接线,表明用户v和用户u是关联的两个用户,并且用户u和用户v同属于社区c。用户m和用户n之间存在连接线,表明用户m和用户n是关联的两个用户,但是用户m和用户n属于不同的社区,只有用户m在社区c内。将关联的两个用户同时在一个社区的个数除以关联的两个用户中任何一个在该社区的个数,计算该社区的局部模块度。例如,局部模块度其中,

进一步可选的,在利用louvain算法进行社区发现得到社区聚类结果之后,可以对用户数量大于预设数量的社区进行进一步划分。例如,可以将用户数量大于预设阈值的社区内的用户取出,构成子图,使用louvain算法进一步做社区发现,得到更小的社区结果,从而起到优化社区的目的。

进一步的,可以根据每个社区中用户之间的边影响力,计算每个社区中用户之间平均边影响力,以及根据每个社区中的用户的自身影响力,计算每个社区中的用户的平均自身影响力;计算每个社区的局部模块度、每个社区中用户之间平均边影响力以及每个社区中的用户的平均自身影响力的加权平均值作为每个社区的社区质量。

例如,每个社区中用户的平均自身影响力每个社区中的用户之间的平均边影响力其中,∑iincnode_inf(i)为在社区c中所有用户的自身影响力之和,nodenumc为社区c中所有用户的人数,∑i,jincf(i,j)为社区c中关联的两个用户之间的边影响力之和,∑ijaijδ(ci,cj)为关联的两个用户同时在社区c的个数之和。

最后,计算局部模块度qc、每个社区中用户的平均自身影响力avernodeinfc以及每个社区中的用户之间的平均边影响力averlinkinfc加权平均值作为社区质量,社区c的社区质量cqualityc=k0+k1*qc+k2*avernodeiinfc+k3*averlinkinfc。其中,k0,k1、k2和k3均为预设常数。

在另一种实现方式中,上述特征属性还包括种子用户与每个社区的匹配度。计算种子用户与每个社区的匹配度的具体步骤如下:

其中,其中,flc为种子用户与社区c的匹配度,seednumc为属于多个社区中社区c的种子用户的数量,seednum为所有种子用户的数量,csizec为社区c中所有用户的数量。

在另一种实现方式中,上述特征属性可以包括种子用户与每个社区的匹配度和社区质量。具体计算方法上面已经介绍,此处不再赘述。

第一计算模块503,用于根据每个社区的特征属性,从多个社区中选取目标社区,并计算目标社区中每个用户的社交得分。

具体实现中,可以选取社区质量最高的社区作为目标社区,或选取种子用户与某个社区的匹配度最高的社区作为目标社区。

可选的,可以计算每个社区的社区质量以及种子用户与每个社区的匹配度的加权平均值作为每个社区的社区综合打分;选取社区综合打分最高的社区作为目标社区。例如,社区综合打分cscorec=α*flc+β*cqualityc,cqualityc为社区c的社区质量,flc为种子用户与社区c的匹配度,其中,α,β为常数。按照该方法分别计算其他社区的社区质量、以及种子用户与其他社区的匹配度,得到多个社区的社区综合打分。最后比较多个社区的社区综合打分,选取社区综合打分最高的社区。

其中,时间t=0时,所有节点的社交得分初始值为用户的自身影响力,种子用户的节点的社交得分初始值为种子用户自身影响力和预设权重ω之和。时间t≥1时,每个节点按照公式更新社交得分,直到没有节点社交得分改变或到达预设时间,传播结束。p(i)为用户i的社交得分,f(i,j)为用户i对用户j的边影响力,f(u,j)为用户u对用户j的边影响力,n为常数。

第二计算模块504,用于根据目标社区中每个用户的画像信息,计算目标社区中每个用户的兴趣得分。

具体实现中,可以获取目标社区中每个用户的画像信息,然后提出画像特征,最后按照传统lookalike方法根据画像特征计算得到每个用户的兴趣得分。其中,画像信息包括年龄、性别、兴趣等等。又如图4所示,在离线部分,根据画像信息提取画像特征,然后将画像特征提交给在线部分,由混排模块计算每个用户的兴趣得分。

用户确定模块505,用于根据目标社区中每个用户的兴趣得分以及社交得分,确定种子用户经扩散后的用户人群。

具体实现中,可以计算目标社区中每个用户的兴趣得分和社交得分的加权平均值;若目标社区中某个用户的加权平均值大于预设阈值,则将该用户确定为种子用户经扩散后的用户人群,其中,扩散后的用户人群可以包括一个或多个用户。若目标社区中某个用户的加权平均值不大于预设阈值,则将该用户确定为非种子用户经扩散后的用户人群。

又如图4所示,在离线部分提供了社区质量的基础信息后,对用户给定的种子用户进行实时扩散。包括:首先对种子用户进行预处理(如,账号映射、正例精选和负例精选等等),然后计算种子用户与每个社区的匹配度,然后通过社区综合打分选取优质社区,其次在优质社区内进行影响力传播得到社交得分,最后结合社交得分与传统lookalike得到的兴趣得分,得到最终得分,并通过最终得分对用户进行排序,确定种子用户经扩散后的用户人群。

需要说明的是,社区综合打分和社区与种子的匹配度的计算方式不限于上述方式。社区综合打分可以使用其他指标,如紧密度、模块度或边的数量等等。社区与种子的匹配度也可以使用其他指标,如种子用户到社区中心的距离、种子用户构成的图与社区内用户构成的图的覆盖度等等。

请参考图6,图6是本发明另一实施例提出的一种用户人群扩散装置的结构示意图。如图所示,该装置可以包括:至少一个处理器601,例如cpu,至少一个通信接口602,至少一个存储器603,至少一个总线606。其中,总线606用于实现这些组件之间的连接通信。其中,本发明实施例中装置的通信接口602是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器603可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器603可选的还可以是至少一个位于远离前述处理器601的存储装置。存储器603中存储一组程序代码,该程序代码由图5中所示的各个模块组成,且处理器601用于调用存储器中存储的程序代码,通过处理器601执行图5中各个模块的操作,包括:

获取多个用户之间的社交信息;

根据所述多个用户之间的社交信息构建多个社区,并计算所述多个社区中每个社区的特征属性;

根据所述每个社区的所述特征属性,从所述多个社区中选取目标社区,并计算所述目标社区中每个用户的社交得分;

根据所述目标社区中每个用户的画像信息,计算所述目标社区中每个用户的兴趣得分;

根据所述目标社区中每个用户的所述兴趣得分以及所述社交得分,确定所述种子用户经扩散后的用户人群。

其中,特征属性包括社区质量,处理器601还用于执行如下操作步骤:

根据多个用户之间的社交信息,计算多个用户之间的边影响力以及多个用户中每个用户的自身影响力;

计算多个社区中每个社区的局部模块度;

根据每个社区的局部模块度、每个社区中用户之间的边影响力以及每个社区中用户的自身影响力,计算每个社区的社区质量。

其中,f(u,v)为用户u对用户v的边影响力,message(u,v)为预设时长内用户u给用户v发信息的次数,comment(u,v)为预设时长内用户u给用户v的评论次数,like(u,v)为预设时长内用户u给用户v的点赞次数,a、b以及c为常数。

其中,node_inf(u)为用户u的自身影响力,node_inf(i)为用户i的自身影响力,f(u,v)为用户u对用户v的边影响力,f(j,i)为用户j对用户i的边影响力,m为常数。

其中,处理器601还用于执行如下操作步骤:

统计关联的两个用户同时在一个社区的个数、以及关联的两个用户中任何一个在该社区的个数;

将关联的两个用户同时在一个社区的个数除以关联的两个用户中任何一个在该社区的个数,计算该社区的局部模块度。

其中,处理器601还用于执行如下操作步骤:

根据每个社区中用户之间的边影响力,计算每个社区中用户之间平均边影响力,以及根据每个社区中的用户的自身影响力,计算每个社区中的用户的平均自身影响力;

计算每个社区的局部模块度、每个社区中用户之间平均边影响力以及每个社区中的用户的平均自身影响力的加权平均值作为每个社区的社区质量。

其中,属性特征还包括种子用户与每个社区的匹配度,其中,flc为种子用户与每个社区的匹配度,seednumc为属于多个社区中社区c的种子用户的数量,seednum为所有种子用户的数量,csizec为社区c中所有用户的数量。

其中,处理器601还用于执行如下操作步骤:

计算每个社区的社区质量以及种子用户与每个社区的匹配度的加权平均值作为每个社区的社区综合打分;

选取社区综合打分最高的社区作为目标社区。

其中,p(u)为用户u的社交得分,p(i)为用户i的社交得分,f(i,j)为用户i对用户j的边影响力,f(u,j)为用户u对用户j的边影响力,n为常数。

其中,处理器601还用于执行如下操作步骤:

计算目标社区中每个用户的兴趣得分和社交得分的加权平均值;

若目标社区中某个用户的加权平均值大于预设阈值,则将该用户确定为种子用户经扩散后的用户人群。

需要说明的是,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的用户人群扩散方法。

需要说明的是,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上执行时,使得计算机执行上述各方面的用户人群扩散方法。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1