1.一种网络社区发现方法,其特征是,包括:
获取网络节点信息,其中,所述网络为互联网社交网络,网络的节点为互联网社交网络中的用户或既有用户群组或经聚类得到的用户群组,节点之间的连接边表示节点对应的用户或用户群组之间的相互关注者关系;
计算网络中各节点的中心度指标,其中节点的中心度指标反应每个节点对应的用户或用户群组与其他用户或用户群组的相关性;
根据计算得到的节点中心度指标选择初始核心节点;
利用SimRank函数迭代计算节点之间的相似度,以确定真正的核心节点;
对于每个非核心节点,选择距离最近的真正核心节点,并加入该真正核心节点的社区集合,得到对于各真正核心节点的初始社区;
计算不同初始社区之间的紧密度指标;
根据初始社区之间的紧密度指标对初始社区进行合并,得到社区划分集合;
其中,所述计算网络中各节点的中心度指标,按照以下公式计算:式中,Important(vi)、di皆表示节点i的中心度指标值,n表示网络的节点数量,aij表示节点i和节点j之间是否存在连接边,aij=1表示存在,aij=0表示不存在;
所述SimRank函数的数学表达式为:
式中,s(a,b)表示节点a与节点b之间的相似度,c为取值0到1之间的阻尼系数,I(a)表示节点a的入边邻节点集合,|I(a)|表示I(a)中元素的数量;
对于待发现社区的网络,定义其网络图为无向网络图G,无向网络图G的邻接矩阵为A,矩阵A的列归一化矩阵为Q,则相似矩阵S表示为:T
S=(c·QSQ)+(1‑c)·I
T
式中,Q为向后转移矩阵 的转置,I表示单位矩阵;
所述利用SimRank函数迭代计算节点之间的相似度,以确定真正的核心节点,包括:设置初始相似矩阵为S0=I;
利用下述公式进行迭代计算,直至迭代收敛时,得到稳定相似矩阵:T k
S=(c·QSQ)+(1‑c)·I
根据稳定相似矩阵确定真正的核心节点;
所述计算不同初始社区之间的紧密度指标为:对于任意两个不同社区Ci和Cj,两者的紧密度指标按照下式计算:式中,Edgesinternal(Ci∪Cj)和Edgesexternal(Ci∪Cj)表示新的合并后的社区的内部边和外部边,Edgesinternal(Ci)和Edgesexternal(Ci)表示Ci社区的内部边和外部边。
2.根据权利要求1所述的方法,其特征是,所述根据计算得到的节点中心度指标选择初始核心节点为:将中心度指标大于预设中心度指标阈值的节点作为初始核心节点。
3.根据权利要求1所述的方法,其特征是,根据初始社区之间的紧密度指标对初始社区进行合并为:将紧密度指标大于预设紧密度指标阈值的两个不同社区进行合并;
其中,所述预设紧密度指标阈值取值范围为1~2。
4.一种基于权利要求1‑3任一项所述方法的网络社区发现装置,其特征是,包括:网络节点信息获取模块,被配置用于获取网络节点信息,其中,所述网络为互联网社交网络,网络节点为互联网社交网络中的用户或既有用户群组或经聚类得到的用户群组;
中心度指标计算模块,被配置用于计算网络中各节点的中心度指标;
初始核心节点选择模块,被配置用于根据计算得到的节点中心度指标选择初始核心节点;
真正核心节点确定模块,被配置用于利用SimRank函数迭代计算节点之间的相似度,以确定真正的核心节点;
初始社区划分模块,被配置用于对于每个非核心节点,选择距离最近的真正核心节点,并加入该真正核心节点的社区集合,得到对于各真正核心节点的初始社区;
社区紧密度指标计算模块,被配置用于计算不同初始社区之间的紧密度指标;
以及,社区合并模块,被配置用于根据初始社区之间的紧密度指标对初始社区进行合并,得到社区划分集合。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征是,该计算机程序被处理器执行时,实现如权利要求1‑3任一项所述的网络社区发现方法。