1.一种基于网络嵌入的在线社交网络用户社区发现方法,其特征在于:包括如下步骤:步骤一:根据在线社交网络用户联系数据构建社交网络模型G(V,E),其中V表示节点,一个节点表示一个用户,网络的用户总数是N,E表示连边,如果两个用户是好友关系,则这两个用户对应的节点之间有连边,网络中与节点i直接相连的邻居节点的数量用ki表示;
步骤二:采用Node2Vec网络嵌入方法将具有N个节点的社交网络模型G转化为欧氏空间的N个m维向量表征的数据点,其中第i个数据点表示为步骤三:在社交网络模型G中任取一个节点i,计算节点i的动态邻居引力其中dij表示节点i与节点j之间的距离,用二者对应向量表征的数据点之间的欧氏距离表示, 为单位向量,遍历社交网络模型G,计算所有节点的动态邻居引力;
步骤四:计算社交网络模型G中任意节点i的动态邻居引力中心性遍历社交网络模型G,计算所有节点的动态邻居引力中心性;
步骤五:在社交网络模型G中任取一个节点i,计算节点i和动态邻居引力中心性大于DNCi的所有节点之间的距离,其中的最短距离是节点i的最小距离,其中节点间的距离指的是节点对应数据点之间的欧氏距离;遍历社交网络模型G,计算所有节点的最小距离;
步骤六:选取DNC>0同时最小距离大于D的数据点添加到集合center中,其中D是所有具有连边的两个节点的距离d的平均值;
步骤七:把集合center中的每个数据点作为一个初始小社区的中心节点,将其余数据点归属到与其距离最近的中心节点所代表的小社区中,生成社交网络的初始小社区集合;
步骤八:在社交网络模型G中任取一个节点i,在节点i的邻居节点中找到距离d最近的节点,这个节点就是节点i的最相似节点,这两个节点就是最相似节点对;遍历社交网络模型G,找到所有节点的最相似节点和所有的最相似节点对;
步骤九:对任意最相似节点对,如果这两个节点处于不同的初始小社区,则合并这两个初始小社区;对所有的最相似节点对重复这个过程,直到所有的最相似节点对处于同一个社区,从而得到社交网络的二次社区结构;
步骤十:任意选取网络中有连边的两个社区合并,计算网络的模块度,如果模块度增加,则保留这次合并社区,反之则取消这次合并;重复这个过程,直到网络的模块度不再增加,获得网络的最终社区结构。