社区划分方法、装置、计算机设备及存储介质与流程

专利2022-05-09  63


本申请涉及计算机技术领域,具体涉及一种社区划分方法、装置、计算机设备及存储介质。



背景技术:

社会网络(socialnetwork)是由许多节点构成的一种社会结构,节点通常是指个人或组织,社会网络代表各种社会关系,社会网络关注的是人们之间的互动和联系,社会互动会影响人们的社会行为。在社会网络中,有的用户之间的连接较为紧密,有的用户之间的连接关系较为稀疏,在这样的网络中,连接较为紧密的部分可以被看成一个社区,其内部的节点之间有较为紧密的连接,而在两个社区间则相对连接较为稀疏,这便称为社区结构。

目前,常用的社区划分方法包括louvain算法,初始时将每个节点当作一个社区,然后依次将每个节点与之相邻节点合并在一起,计算它们的模块度增益,如果模块度增益大于0,就将该节点放入该相邻节点所在社区,依此直至算法稳定,即所有节点所属社区不再变化。采用该方法虽然实现了社区划分,但社区划分的准确度并不高。



技术实现要素:

本申请实施例提供一种社区划分方法、装置、计算机设备及存储介质,可以提高社区划分的准确度。

第一方面,本申请实施例提供了一种社区划分方法,包括:

调用无监督学习模型对用户群进行社区划分;

对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵;

根据所述信息熵,对所述无监督学习模型的参数进行更新;

调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤,直至确定所述无监督学习模型更新完毕;

调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。

第二方面,本申请实施例还提供了一种社区划分装置,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行上述的社区划分方法。

第三方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括上述的社区划分装置。

第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述的社区划分方法。

本申请实施例提供了一种社区划分方法、装置、计算机设备及存储介质,通过调用无监督学习模型对用户群进行社区划分,并对划分的多个社区进行分类纯度计算,获得每个社区对应的信息熵,根据每个社区对应的信息熵,对无监督学习模型的参数进行更新,调用参数更新后的无监督学习模型再次进行社区划分,并再次获得划分的社区对应的信息熵,根据信息熵再次对无监督学习模型的参数进行更新,直至确定无监督学习模型更新完毕,之后,调用更新完毕的无监督学习模型对待划分用户进行社区划分,并输出社区划分结果。由于采用信息熵对无监督学习模型进行了导向性的参数更新,获得了高精度的无监督学习模型,因此,基于该无监督学习模型进行社区划分,提高了社区划分的准确度。

附图说明

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

图1是本申请实施例提供的一种社区划分方法的步骤示意流程图;

图2是本申请实施例提供的一种对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤示意流程图;

图3是本申请实施例提供的一种根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵的步骤示意流程图;

图4是本申请一实施例提供的一种对louvain模型进行调参的流程示意图;

图5是本申请一实施例提供的一种社区划分装置的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

社会网络是由许多节点构成的一种社会结构,节点通常是指个人或组织,社会网络代表各种社会关系,社会网络关注的是人们之间的互动和联系,社会互动会影响人们的社会行为。在社会网络中,有的用户之间的连接较为紧密,有的用户之间的连接关系较为稀疏,在这样的网络中,连接较为紧密的部分可以被看成一个社区,其内部的节点之间有较为紧密的连接,而在两个社区间则相对连接较为稀疏,这便称为社区结构。

目前,常用的社区划分方法包括louvain算法,初始时将每个节点当作一个社区,然后依次将每个节点与之相邻节点合并在一起,计算它们的模块度增益,如果模块度增益大于0,就将该节点放入该相邻节点所在社区,依此直至算法稳定,即所有节点所属社区不再变化。采用该方法虽然实现了社区划分,但社区划分的准确度并不高。

为了解决上述问题,本申请的实施例提供了一种社区划分方法、装置、计算机设备及存储介质,用于实现提高社区划分的准确度。

请参阅图1,图1是本申请一实施例提供的社区划分方法的流程示意图。其中,该社区划分方法可以应用于上述的社区划分装置、计算机设备中。以下将以社区划分方法应用于计算机设备中为例进行详细说明。

如图1所示,该社区划分方法具体包括步骤s101至步骤s105。

s101、调用无监督学习模型对用户群进行社区划分。

其中,无监督学习模型包括但不限于louvain模型。通过获取用户群对应的样本数据,该样本数据包括但不限于三元组数据,如节点、关系、属性三元组数据。以用户群为银行客户为例,可以通过查询银行中的图数据库,获取银行客户的三元组数据,作为样本数据。

将获得的样本数据输入无监督学习模型中,对用户群进行社区划分。如将样本数据输入louvain模型中,对用户群进行社区划分,获得社区划分的结果。

s102、对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵。

为了提高社区划分的准确度,对上述步骤中社区划分的结果进行评估。在一实施方式中,通过对划分的多个社区进行分类纯度计算,获得多个社区中每个社区对应的信息熵。其中。信息熵表征社区分类的混乱程度,信息熵与社区分类的混乱程度正相关,信息熵越低,社区分类的混乱程度越低,也即社区划分的准确度越高;反之,信息熵越高,社区分类的混乱程度越高,也即社区划分的准确度越低。

示例性的,在进行社区划分后,可从划分的多个社区中选取若干个社区来进行社区划分结果的评估。例如,选取前十名风险最大的社区来对社区划分的结果进行评估。具体地,对选取的若干个社区进行分类纯度计算,获得该若干个社区中每个社区对应的信息熵。

在一些实施例中,如图2所示,步骤s102具体可以包括子步骤s1021和子步骤s1022。

s1021、获取每个所述社区中的用户的用户数据信息。

其中,用户数据信息包括用户的信用评分数据、征信数据中至少一种。例如,通过银行系统获取划分的各个社区中的用户的信用评分数据、征信数据等用户数据信息。

s1022、根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

根据用户数据信息,可以对用户进行正常用户和风险用户的标记,用来对社区划分的结果进行评估。示例性的,通过根据用户数据信息,对各个社区进行用户的分类纯度计算,获得每个社区对应的信息熵,基于信息熵对社区划分的结果进行评估。

在一些实施例中,如图3所示,步骤s1022具体可以包括子步骤s1021和子步骤s1022。

s10221、根据所述用户数据信息,确定每个所述社区中的每个用户对应为不同用户类型的概率。

其中,用户类型包括正常用户、风险用户等。例如,对于某个划分的社区中的任意一个用户,根据获取到的该用户的用户数据信息,确定该用户为正常用户的概率为p(x1),对应地,该用户为风险用户的概率为p(x2),其中,p(x1)和p(x2)之和为1。若用户的信用评分数据、征信数据越佳,则p(x1)的值越大,p(x2)值越小;反之,则p(x1)的值越小,p(x2)值越大。

依此,确定出每个社区中各个用户i对应为正常用户的概率p(xi1)和风险用户的概率p(xi2)。

s10222、根据所述概率,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

确定了每个社区中各个用户i对应为正常用户的概率p(xi1)和风险用户的概率p(xi2)之后,分别对每个社区进行用户的分类纯度计算,获得每个社区对应的信息熵h(x)。

示例性的,按照以下公式进行每个社区对应的信息熵h(x)计算:

信息熵h(x)作为社区划分结果的评估指标,能够衡量社区分类的混乱程度,混乱程度越低,信息熵h(x)的值就越低,说明对用户进行社区划分的结果越准确。

s103、根据所述信息熵,对所述无监督学习模型的参数进行更新。

获得各个社区对应的信息熵h(x)后,根据各个社区对应的信息熵h(x),若其中存在较大值的信息熵h(x),也即说明无监督学习模型对用户进行社区划分的结果不够准确。此时,根据各个社区对应的信息熵h(x),对无监督学习模型的参数进行调整更新。

s104、调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述步骤s102。

也即,在无监督学习模型更新后,通过更新的无监督学习模型再次进行社区划分,并根据新划分的社区,确定每个社区对应的信息熵h(x)。具体操作过程可参考上述步骤中所述,在此不再赘述。

基于获得的最新的信息熵h(x),确定无监督学习模型是否可以满足要求,也即调用无监督学习模型进行社区划分的准确度是否达到要求。若满足要求,则无监督学习模型更新完毕。反之,则需要继续根据信息熵h(x),对无监督学习模型的参数进行调整更新。

示例性的,每当重新基于更新的无监督学习模型进行社区划分,并获得划分的社区对应的信息熵后,将当前获得的信息熵与前一次获得的信息熵进行比较。若当前获得的信息熵低于前一次获得的信息熵,则确定无监督学习模型的精度提高,无监督学习模型的调参方向是正确的。

示例性的,针对于划分的多个社区对应的多个信息熵,若当前获得的多个信息熵总体上相比前一次获得的多个信息熵降低,则无监督学习模型的调参方向是正确的,无监督学习模型的精度提高。

示例性的,当无监督学习模型的精度达到预设要求时,例如,无监督学习模型的精度达到银行对反欺诈团伙检测的需求时,确定无监督学习模型更新完毕。

示例性的,若计算获得的每个社区对应的信息熵均小于预设阈值,确定无监督学习模型更新完毕。例如,划分的社区对应的信息熵为0,即分类纯度最高,一个社区中的所有用户都为同一种用户类型,此时,确定无监督学习模型更新完毕。

需要说明的是,该预设阈值的具体数值可根据实际情况进行灵活设置,在此不做限定。

下面以无监督学习模型为louvain模型为例,对louvain模型的更新进行举例说明。如图4所示,louvain模型的更新流程如下:

步骤1、采集用户群的样本数据x1、x2、x3......xn;

步骤2、将样本数据x1、x2、x3......xn输入louvain模型,进行社区划分处理;

步骤3、输出社区划分结果;

步骤4、计算划分的社区对应的信息熵,判断信息熵是否满足阈值要求或者分类纯度是否达到要求;

步骤5、若否,则根据信息熵,对louvain模型的参数进行调整更新,并重新返回步骤2,循环上述步骤,直至信息熵满足阈值要求或者分类纯度达到要求,louvain模型更新完毕。

s105、当确定所述无监督学习模型更新完毕后,调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。

当确定无监督学习模型更新完毕后,采用该更新完毕的无监督学习模型,对待进行社区划分的若干用户进行社区划分操作,并输出社区划分结果。例如,在计算机设备上显示各个社区划分结果。

上述实施例通过调用无监督学习模型对用户群进行社区划分,并对划分的多个社区进行分类纯度计算,获得每个社区对应的信息熵,根据每个社区对应的信息熵,对无监督学习模型的参数进行更新,调用参数更新后的无监督学习模型再次进行社区划分,并再次获得划分的社区对应的信息熵,根据信息熵再次对无监督学习模型的参数进行更新,直至确定无监督学习模型更新完毕,之后,调用更新完毕的无监督学习模型对待划分用户进行社区划分,并输出社区划分结果。由于采用信息熵对无监督学习模型进行了导向性的参数更新,获得了高精度的无监督学习模型,因此,基于该无监督学习模型进行社区划分,提高了社区划分的准确度。

请参阅图5,图5为本申请实施例提供的一种社区划分装置的示意性框图。如图5所示,社区划分装置500可以包括处理器510和存储器520。处理器510和存储器520通过总线连接,该总线比如为i2c(inter-integratedcircuit)总线。

具体地,处理器510可以是微控制单元(micro-controllerunit,mcu)、中央处理单元(centralprocessingunit,cpu)或数字信号处理器(digitalsignalprocessor,dsp)等。

具体地,存储器520可以是flash芯片、只读存储器(rom,read-onlymemory)磁盘、光盘、u盘或移动硬盘等。

其中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现如下步骤:

调用无监督学习模型对用户群进行社区划分;

对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵;

根据所述信息熵,对所述无监督学习模型的参数进行更新;

调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤,直至确定所述无监督学习模型更新完毕;

调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。

在一些实施例中,所述信息熵表征社区分类的混乱程度,所述信息熵越低,社区分类的混乱程度越低。

在一些实施例中,所述处理器在实现所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵时,用于实现:

获取每个所述社区中的用户的用户数据信息;

根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

在一些实施例中,所述处理器在实现所述根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵时,用于实现:

根据所述用户数据信息,确定每个所述社区中的每个用户对应为不同用户类型的概率;

根据所述概率,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

在一些实施例中,所述用户数据信息包括信用评分数据、征信数据中至少一种,所述用户类型包括正常用户、风险用户。

在一些实施例中,所述处理器在实现所述确定所述无监督学习模型更新完毕时,用于实现:

当所述无监督学习模型的精度达到预设要求时,确定所述无监督学习模型更新完毕;或

当每个所述社区对应的所述信息熵小于预设阈值时,确定所述无监督学习模型更新完毕。

在一些实施例中,所述处理器还用于实现:

每当获得所述信息熵后,将当前获得的所述信息熵与前一次获得的所述信息熵进行比较;

若当前获得的所述信息熵低于前一次获得的所述信息熵,则确定所述无监督学习模型的精度提高,所述无监督学习模型的调参方向正确。

上述实施例通过调用无监督学习模型对用户群进行社区划分,并对划分的多个社区进行分类纯度计算,获得每个社区对应的信息熵,根据每个社区对应的信息熵,对无监督学习模型的参数进行更新,调用参数更新后的无监督学习模型再次进行社区划分,并再次获得划分的社区对应的信息熵,根据信息熵再次对无监督学习模型的参数进行更新,直至确定无监督学习模型更新完毕,之后,调用更新完毕的无监督学习模型对待划分用户进行社区划分,并输出社区划分结果。由于采用信息熵对无监督学习模型进行了导向性的参数更新,获得了高精度的无监督学习模型,因此,基于该无监督学习模型进行社区划分,提高了社区划分的准确度。

本申请的实施例中还提供一种计算机设备,该计算机设备包括上述实施例中的社区划分装置500。计算机设备通过调用无监督学习模型对用户群进行社区划分,并对划分的多个社区进行分类纯度计算,获得每个社区对应的信息熵,根据每个社区对应的信息熵,对无监督学习模型的参数进行更新,调用参数更新后的无监督学习模型再次进行社区划分,并再次获得划分的社区对应的信息熵,根据信息熵再次对无监督学习模型的参数进行更新,直至确定无监督学习模型更新完毕,之后,调用更新完毕的无监督学习模型对待划分用户进行社区划分,并输出社区划分结果。具体操作可参考本申请实施例提供的社区划分方法的步骤,在此不再赘述。

由于该计算机设备可以执行本申请实施例所提供的任一种社区划分方法,因此,可以实现本申请实施例所提供的任一种社区划分方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现上述实施例提供的社区划分方法的步骤。例如,该计算机程序被处理器加载,可以执行如下步骤:

调用无监督学习模型对用户群进行社区划分;

对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵;

根据所述信息熵,对所述无监督学习模型的参数进行更新;

调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤,直至确定所述无监督学习模型更新完毕;

调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,计算机可读存储介质可以是前述实施例的社区划分装置或计算机设备的内部存储单元,例如社区划分装置或计算机设备的硬盘或内存。计算机可读存储介质也可以是社区划分装置或计算机设备的外部存储设备,例如社区划分装置或计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种社区划分方法,因此,可以实现本申请实施例所提供的任一种社区划分方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅是本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种社区划分方法,其特征在于,包括:

调用无监督学习模型对用户群进行社区划分;

对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵;

根据所述信息熵,对所述无监督学习模型的参数进行更新;

调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤,直至确定所述无监督学习模型更新完毕;

调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。

2.根据权利要求1所述的方法,其特征在于,所述信息熵表征社区分类的混乱程度,所述信息熵越低,社区分类的混乱程度越低。

3.根据权利要求1所述的方法,其特征在于,所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵,包括:

获取每个所述社区中的用户的用户数据信息;

根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

4.根据权利要求3所述的方法,其特征在于,所述根据所述用户数据信息,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵,包括:

根据所述用户数据信息,确定每个所述社区中的每个用户对应为不同用户类型的概率;

根据所述概率,对每个所述社区进行用户的分类纯度计算,获得每个所述社区对应的所述信息熵。

5.根据权利要求4所述的方法,其特征在于,所述用户数据信息包括信用评分数据、征信数据中至少一种,所述用户类型包括正常用户、风险用户。

6.根据权利要求1至5任一项所述的方法,其特征在于,所述确定所述无监督学习模型更新完毕,包括:

当所述无监督学习模型的精度达到预设要求时,确定所述无监督学习模型更新完毕;或

当每个所述社区对应的所述信息熵小于预设阈值时,确定所述无监督学习模型更新完毕。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

每当获得所述信息熵后,将当前获得的所述信息熵与前一次获得的所述信息熵进行比较;

若当前获得的所述信息熵低于前一次获得的所述信息熵,则确定所述无监督学习模型的精度提高,所述无监督学习模型的调参方向正确。

8.一种社区划分装置,其特征在于,所述社区划分装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7中任一项所述的社区划分方法。

9.一种计算机设备,其特征在于,所述计算机设备包括如权利要求8所述的社区划分装置。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的社区划分方法。

技术总结
本申请公开了一种社区划分方法、装置、计算机设备及存储介质,该方法包括:调用无监督学习模型对用户群进行社区划分;对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵;根据所述信息熵,对所述无监督学习模型的参数进行更新;调用参数更新后的所述无监督学习模型再次进行社区划分,并返回执行所述对划分的多个社区进行分类纯度计算,获得每个所述社区对应的信息熵的步骤,直至确定所述无监督学习模型更新完毕;调用更新完毕的所述无监督学习模型对待划分用户进行社区划分,输出社区划分结果。通过信息熵对无监督学习模型进行导向性的调参,基于调参后的无监督学习模型进行社区划分,提高了社区划分的准确度。

技术研发人员:路遥
受保护的技术使用者:索信达(北京)数据技术有限公司
技术研发日:2021.04.15
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7366.html

最新回复(0)