基于异质图的社区发现方法和装置与流程
- 国知局
- 2025-01-10 13:15:16
本说明书一个或多个实施例涉及计算机领域,尤其涉及基于异质图的社区发现方法和装置。
背景技术:
1、在数学领域,图是由一组顶点(也称为节点或点)以及一组连接这些顶点的边(也称为弧或线)组成的组合结构,用来模拟实体之间的关系。在图结构中具有两个基本要素,分别为顶点和边。其中,顶点,是图中的基本单位,代表实体或对象。边,也称为连接边,是图中连接两个顶点的线段,代表顶点之间的某种关系或连接。图数据中可能包含了用户的隐私数据。
2、图结构包括同质图和异质图。同质图:图中所有顶点属于同一类别,并具有相同类型的边。异质图:图中包含不同类型的顶点和边,顶点和边根据其属性和意义被划分为不同的类别。
3、当前,常常基于图算法来解决社区发现等问题。可以理解的是,图算法为一系列在图数据上执行的算法。社区发现:是在图数据中识别具有相似性或密集连接的顶点群组的过程,这些群组内部的连接密度比外部的连接密度要高。现有技术中,常常基于同质图进行社区发现,未提供稳定有效的基于异质图的社区发现方案。
技术实现思路
1、本说明书一个或多个实施例描述了一种基于异质图的社区发现方法和装置,能够得到稳定有效的社区发现结果。
2、第一方面,提供了一种基于异质图的社区发现方法,所述异质图包括代表m个用户的m个实体顶点,以及代表用户的n类特征的各个可选特征取值的若干个辅助顶点,任一实体顶点与该用户的实际特征取值对应的辅助顶点之间具有连接边,方法包括若干轮图迭代,其中至少一轮图迭代包括:
3、对于每个代表当前社区的实体顶点,进行局部移动处理;所述局部移动处理包括:遍历与其满足预设关系的各个邻居实体顶点,确定将该实体顶点移动到邻居实体顶点所代表社区后的确定性指标的增益;根据所述增益,确定是否进行所述移动;所述确定性指标根据社区中各个实体顶点关联的各类辅助顶点的特征取值的分布而确定;
4、针对局部移动处理后得到的各个社区,将任一社区中的若干实体顶点聚合成一个新的实体顶点代表该社区。
5、在一种可能的实施方式中,所述n类特征包括用户进行预设网络操作时的操作特征。
6、进一步地,所述预设网络操作包括登录操作、领券操作或点击操作,所述操作特征包括操作基于的应用程序、操作基于的手机型号或操作基于的网络协议地址。
7、在一种可能的实施方式中,在所述若干轮图迭代之前,所述方法还包括:
8、初始化m个社区,每个社区包含一个实体顶点。
9、在一种可能的实施方式中,所述预设关系包括:与其具有至少一个共同连接的辅助顶点的二度邻居实体顶点;或者,与其具有多个共同连接的辅助顶点的二度邻居实体顶点。
10、在一种可能的实施方式中,在所述若干轮图迭代之前,所述方法还包括:
11、若所述异质图中的第一实体顶点和第二实体顶点之间满足所述预设关系,则将第一实体顶点和第二实体顶点加入辅助图中,并在所述辅助图中添加二者之间的连接边;
12、所述遍历与其满足预设关系的各个邻居实体顶点,包括:
13、在所述辅助图中,查找与其具有连接边的实体顶点,作为与其满足预设关系的邻居实体顶点。
14、在一种可能的实施方式中,任一社区的确定性指标采用如下方式确定:
15、根据社区中各个实体顶点关联的任一类辅助顶点的各个特征取值的加权出现次数,确定该社区中该类辅助顶点的信息熵;信息熵反映了特征取值的分布;
16、根据该类辅助顶点的信息熵,确定该类辅助顶点的确定性指标;其中,信息熵越小,确定性指标越大;
17、基于对各类辅助顶点的确定性指标进行加权求和,得到该社区的确定性指标。
18、进一步地,所述确定该社区中该类辅助顶点的信息熵,包括:
19、根据社区中各个实体顶点关联的任一类辅助顶点的各个特征取值的加权出现次数与实体顶点数目m的比值,确定各个特征取值的出现概率;
20、根据各个特征取值的出现概率,计算特征取值的不确定性,得到该社区中该类辅助顶点的初始信息熵;
21、判断初始信息熵是否小于或等于预设数值;
22、若判断出初始信息熵小于或等于预设数值,则保留初始信息熵不变;
23、若判断出初始信息熵大于预设数值,则更新初始信息熵为所述预设数值。
24、进一步地,所述特征取值的加权出现次数采用如下方式确定:
25、根据社区中各个实体顶点分别连接的所述特征取值对应的辅助顶点的次数,以及连接边的边权重,确定所述特征取值的加权出现次数。
26、在一种可能的实施方式中,所述方法还包括:
27、将任一社区中的若干实体顶点与同一辅助顶点之间的若干连接边聚合成一个新的连接边,所述新的连接边的边权重为聚合前的若干连接边的边权重之和。
28、在一种可能的实施方式中,所述根据所述增益,确定是否进行所述移动,包括:
29、判断是否存在所述增益为正的邻居实体顶点;
30、若存在所述增益为正的邻居实体顶点,则将该实体顶点移动到所述增益最大的邻居实体顶点所在社区;
31、若不存在所述增益为正的邻居实体顶点,则不进行所述移动。
32、在一种可能的实施方式中,所述至少一轮图迭代还包括:
33、判断当前轮次得到的各个社区相对于上一轮次得到的各个社区的社区数量是否减少;
34、若社区数量减少,触发下一轮次的图迭代,否则终止图迭代。
35、在一种可能的实施方式中,所述若干轮图迭代形成多层级社区,第n+1轮图迭代得到的社区与第n轮图迭代得到的社区之间形成层级关系。
36、第二方面,提供了一种基于异质图的社区发现装置,所述异质图包括代表m个用户的m个实体顶点,以及代表用户的n类特征的各个可选特征取值的若干个辅助顶点,任一实体顶点与该用户的实际特征取值对应的辅助顶点之间具有连接边,装置用于执行若干轮图迭代中的至少一轮图迭代,包括:
37、移动单元,用于对于每个代表当前社区的实体顶点,进行局部移动处理;所述局部移动处理包括:遍历与其满足预设关系的各个邻居实体顶点,确定将该实体顶点移动到邻居实体顶点所代表社区后的确定性指标的增益;根据所述增益,确定是否进行所述移动;所述确定性指标根据社区中各个实体顶点关联的各类辅助顶点的特征取值的分布而确定;
38、聚合单元,用于针对所述移动单元进行局部移动处理后得到的各个社区,将任一社区中的若干实体顶点聚合成一个新的实体顶点代表该社区。
39、第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
40、第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
41、通过本说明书实施例提供的方法和装置,在至少一轮图迭代中,首先对于每个代表当前社区的实体顶点,进行局部移动处理;所述局部移动处理包括:遍历与其满足预设关系的各个邻居实体顶点,确定将该实体顶点移动到邻居实体顶点所代表社区后的确定性指标的增益;根据所述增益,确定是否进行所述移动;所述确定性指标根据社区中各个实体顶点关联的各类辅助顶点的特征取值的分布而确定;然后针对局部移动处理后得到的各个社区,将任一社区中的若干实体顶点聚合成一个新的实体顶点代表该社区。由上可见,本说明书实施例,能够充分利用辅助顶点信息进行社区发现,同时避免了将辅助顶点添加到社区中,有效适配了异质图结构。此外,提出了一种新的用于社区发现的确定性指标的指标计算方式,根据社区中各个实体顶点关联的各类辅助顶点的特征取值的分布,来评估该社区的紧密度,基于确定性指标通过若干轮图迭代,确定各个实体顶点归属的社区,无随机性问题,多次计算结果一致,从而能够得到稳定有效的社区发现结果。
本文地址:https://www.jishuxx.com/zhuanli/20250110/351924.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。