CN110263260A - 一种面向社交网络的社区检测方法 - Google Patents
一种面向社交网络的社区检测方法 Download PDFInfo
- Publication number
- CN110263260A CN110263260A CN201910435582.9A CN201910435582A CN110263260A CN 110263260 A CN110263260 A CN 110263260A CN 201910435582 A CN201910435582 A CN 201910435582A CN 110263260 A CN110263260 A CN 110263260A
- Authority
- CN
- China
- Prior art keywords
- node
- user node
- user
- community
- indicate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种面向社交网络的社区检测方法,属于互联网数据挖掘技术领域;提供一种面向社交网络的社区检测方法,能够准确检测出社交网络中的社区结构,且社区检测结果稳定;技术方案为:获取社交网络数据,建立邻接矩阵用来存储用户之间的关联关系,以此构成网络;根据网络构造模体,计算得到用户节点的密集度;根据网络计算得到用户节点的间隔度;计算每个非中心用户节点关于不同社区的隶属度,将这些非中心用户节点分配到隶属度最大的社区;输出最终的社区检测结果,将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
Description
技术领域
本发明一种面向社交网络的社区检测方法,属于互联网数据挖掘技术领域。
背景技术
随着信息技术的快速发展,Facebook等虚拟社交平台变得更加普及,由于越来越多的人开始使用社交平台,社交网络变得更加庞大与复杂,其中蕴含着大量有价值的信息。通常将社交网络建模为复杂网络,其中将用户抽象为网络节点,将用户之间的联系抽象为节点之间的连边。社区结构作为一种数据组织形式广泛存在于各种复杂网络中,如:在社交网络中拥有相同兴趣的用户往往形成同一社区,从中挖掘出这些信息对于商业运营和科学研究都具有非常重要的应用价值。
传统的社区检测方法认为每个节点只能归属于一个社区,即社区之间是相互独立的。近年来一些学者围绕这个问题展开了深入研究,形成了大量的研究成果,其中具有代表性的方法包括以下几类:基于模块性优化的社区挖掘方法、基于标签传播的社区挖掘方法、基于划分的社区挖掘方法和基于动力学的社区挖掘方法。
社交网络含有丰富的属性信息,社区的形成除了与节点间拓扑结构相关外,还受到节点的属性信息的影响,如:有相似背景信息的用户往往构成同一社区。然而传统的社区检测方法仅依赖拓扑关系进行社区结构的检测,忽略了节点的属性信息在社区形成中的作用。有的方法虽然考虑到了节点的属性信息,也是独立运用拓扑结构和节点属性两类信息进行社区检测,忽略了两类信息在网络社区形成过程中的共同作用。这都导致了社区检测结果可靠性不高。
发明内容
本发明一种面向社交网络的社区检测方法,克服了现有技术存在的不足,提供一种面向社交网络的社区检测方法,能够准确检测出社交网络中的社区结构,且社区检测结果稳定。
为了解决上述技术问题,本发明采用的技术方案为:一种面向社交网络的社区检测方法,包括以下步骤:
S1:获取社交网络数据,建立邻接矩阵用来存储用户之间的关联关系,以此构成网络G=<V,E,F>;
S2:根据网络G=<V,E,F>构造模体,并计算模体中与每条边相连的两个用户节点间的属性同质值HG(i,j)、模体的属性同质值Ht和用户节点间的属性-结构连接强度aij,从而得到用户节点的密集度Deni;
S3:根据网络G=<V,E,F>,计算相邻用户节点间的直接相似度DT(i,j)、不相邻用户节点间的间接相似度IT(i,j)、边ei,j相对于节点邻域Fi的边适应度边ei,j相对于节点邻域Fj的边适应度边ei,j的边适应度Fitij,从而得到用户节点的间隔度Inti;
S4:选择密集度Deni和间隔度Inti乘积最大的K个用户节点作为网络中K个社区的社区中心;
S5:计算每个非中心用户节点关于不同社区的隶属度,将这些非中心用户节点分配到隶属度最大的社区;
S6:输出最终的社区检测结果,将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
进一步的,所述步骤S1具体为:获取社交网络数据,依据社交网络中用户间的关联关系建立社交网络的邻接矩阵其中uij表示第i个用户与第j个用户之间的关联关系;若两个用户之间有关联,则uij=1,否则uij=0;以此构成网络G=<V,E,F>,其中表示由网络中的n个用户组成的集合,vi是用于表示第i个社交网络用户的节点;表示由社交网络中用户间关联关系对应的边组成的集合,其中ei,j表示第i个用户与第j个用户之间的一条连边;表示社交网络中的属性集合,其中fi表示第i个用户的属性向量,每个用户的属性向量包含d个维度。
进一步的,所述步骤S2具体为:
S21:利用相邻用户节点构造模体结构,记为其中α表示模体中包含的边的总数,β表示模体中包含的用户节点的总数;
S22:计算用户节点间的属性同质值,用于表示对应的两个社交网络用户间的属性相似程度,其取值越大,表示两个用户之间的属性相似程度越高;用户节点vi和vj之间的属性同质值的计算公式如下:
其中HG(i,j)表示用户节点vi和vj之间的属性同质值,fi和fj分别表示用户节点vi和vj的属性向量,fi d和分别表示用户节点vi和vj的第d个属性,表示用户节点vi和vj在第d个属性上的一致强度;若则否则
S23:计算第t个模体的属性同质值,计算公式如下:
其中Ht表示第t个模体的属性同质值,mt表示第t个模体中边的总数,uw和vw表示模体中由第w条边相连的两个用户节点;
S24:计算包含在模体中的任意两个用户节点之间的属性-结构连接强度,计算公式如下:
其中aij表示包含在模体中的用户节点vi和vj之间的属性-结构连接强度,Zt表示网络G=<V,E,F>中的第t个模体,{i,j}∈Zt表示用户节点vi和vj同时被包含在Zt中;
S25:对于用户节点vi,通过遍历网络中所有的用户节点计算用户节点vi的密集度,计算公式如下:
其中Deni表示用户节点vi的密集度,n为网络中的节点总数,用户节点vi的密集度定义为该用户节点与社区内其它用户节点间的属性-结构连接强度之和。
进一步的,所述步骤S3具体为:
S31:设Fi=N(i)+{vi}-{vj}和Fj=N(j)+{vj}-{vi}表示由边ei,j连接的两个节点邻域,其中{vi}表示只包含用户节点vi的集合,{vj}表示只包含用户节点vj的集合,N(i)和N(j)分别表示用户节点vi和用户节点vj的邻居节点;
S32:计算两个相邻用户节点间的直接相似度,计算公式如下:
其中DT(i,j)为用户节点vi与vj之间的直接相似度;l(i,j)为用户节点vi与vj之间的属性相似度;l(i)为用户节点vi与所有邻居节点的属性相似度总和;Y(t)为用户节点vt的度;
S33:计算两个不相邻用户节点间的间接相似度,计算公式如下:
其中IT(i,j)为用户节点vi与用户节点vj间的间接相似度,m=min(DT(i,i1),DT(i1,i2),...,DT(in,j)),dmax为设定的阈值,di,j为用户节点vi与用户节点vj之间的路径长度;
S34:计算网络G=<V,E,F>中两个用户节点vi和vj之间的相似度T(i,j),计算公式如下:
其中T(i,j)表示用户节点vi与vj间的相似度,DT(i,j)为用户节点vi与vj之间的直接相似度,IT(i,j)为用户节点vi与vj间的间接相似度;
S35:计算每条边的边适应度用于表示两个用户节点联系的紧密程度,其取值越大,两个用户联系越紧密,计算公式如下:
其中,Fitij表示边ei,j的边适应度,和分别表示边ei,j相对于节点邻域Fi和Fj的边适应度;
S36:计算边ei,j相对于节点邻域Fi的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fi的边适应度,表示节点邻域Fj内用户节点间相似度总和,vp和vq是节点邻域Fj内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fj内用户节点间相似度总和,vp是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fi内用户节点间相似度总和,vq是节点邻域Fi内不同于用户节点vi的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S37:计算边ei,j相对于节点邻域Fj的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fj的边适应度,表示节点邻域Fi内用户节点间相似度总和,vp和vq是节点邻域Fi内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vj与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,表示用户节点vj与节点邻域Fj内用户节点间相似度总和,vq是节点邻域Fj内不同于用户节点vj的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S38:对于用户节点vi,通过遍历网络中所有的用户节点,找出比用户节点vi密集度大的用户节点,用户节点vi的间隔度的计算公式如下:
其中,Inti为用户节点vi的间隔度,用户节点vj是比用户节点vi的密集度大的用户节点,Fitij为边ei,j的边适应度,Deni和Denj分别表示用户节点vi和vj的密集度。
进一步的,所述步骤S4具体为:选择密集度Deni和间隔度Inti乘积最大的K个用户节点作为网络中K个社区的社区中心,其中第k个社区的中心节点记为ck,从而得到社区中心节点集合由每个社区中心节点确定一个社区。
进一步的,所述步骤S5具体为:
S51:对于非中心节点集合中的第ρ个用户节点oρ,如果其密集度小于第k个社区中心ck的密集度,则根据以下公式计算第ρ个用户节点oρ关于第k个社区的隶属度pρk;否则pρk=0;
其中,pρk表示用户节点oρ关于第k个社区的隶属度,Fitρk表示边eρ,k的边适应度,其取值越大表示两个用户联系越紧密,Lρ表示比用户节点oρ的密集度大的社区中心节点的集合;
S52:将非中心节点分配到隶属度最大的社区。
进一步的,所述步骤S6具体为:
S61:输出社区检测后的社区集,将社区集中归属于社区ck的用户节点vi表示成行向量形式Rk=(vi,k),输出向量集{Rk},0<k≤K,K为社区个数,每行代表一个社区;
S62:将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
本发明与现有技术相比具有以下有益效果。
1.本发明融合社交网络拓扑结构信息和节点属性信息,有效提高了社区检测的精度,可以更加精准地检测出社交网络中存在的社区结构;
2.本发明基于密度峰值聚类思想设计了社交网络社区中心的快速搜索算法,可以在短时间内搜索到社区中心,大大提高了社区检测的效率。
附图说明
图1为本发明实施例提供的流程图。
图2为本发明实施例提供的Facebook社交网络数据集可视化的示意图。
图3为本发明提供的的模体结构图。
图4为本发明提供的的模体结构图。
图5为本发明提供的的模体结构图。
图6为本发明提供的N(1)={2,4,5},N(5)={1,6,7},边e1,5的邻居社区的示意图。
图7为本发明实施例提供的Facebook社交网络数据集的检测结果。
图8为采用LINK算法获得的平均召回率、平均精确率以及平均综合指标的示意图。
图9为采用COPRA算法获得的平均召回率、平均精确率以及平均综合指标的示意图。
图10为采用DPSCD算法获得的平均召回率、平均精确率以及平均综合指标的示意图。
图11为采用本发明方法获得的平均召回率、平均精确率以及平均综合指标的示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,本发明实施例一种面向社交网络的社区检测方法,包括以下步骤:
S1:获取Facebook社交网络数据,建立邻接矩阵用来存储用户之间的关联关系,以此构成网络G=<V,E,F>。如图2所示,实施例中的Facebook社交网络包括8个待检测社区,其中有61个用户节点,274条边,每个用户节点有48个属性。
步骤S1具体为:获取社交网络数据,依据社交网络中用户间的关联关系建立社交网络的邻接矩阵其中uij表示第i个用户与第j个用户之间的关联关系;若两个用户之间有关联,则uij=1,否则uij=0;以此构成网络G=<V,E,F>,其中表示由网络中的n个用户组成的集合,vi是用于表示第i个社交网络用户的节点;表示由社交网络中用户间关联关系对应的边组成的集合,其中ei,j表示第i个用户与第j个用户之间的一条连边;表示社交网络中的属性集合,其中fi表示第i个用户的属性向量,每个用户的属性向量包含d个维度。
S2:根据网络G=<V,E,F>构造模体,并计算模体中与每条边相连的两个用户节点间的属性同质值HG(i,j)、模体的属性同质值Ht和用户节点间的属性-结构连接强度aij,从而得到用户节点的密集度Deni。
步骤S2具体为:
S21:利用相邻用户节点构造模体结构,记为其中α表示模体中包含的边的总数,β表示模体中包含的用户节点的总数;其中图3表示由4个节点、4条边组成的模体,图4表示由4个节点、5条边组成的模体,图5表示4个节点、6条边组成的模体。
S22:计算用户节点间的属性同质值,用于表示对应的两个社交网络用户间的属性相似程度,其取值越大,表示两个用户之间的属性相似程度越高;用户节点vi和vj之间的属性同质值的计算公式如下:
其中HG(i,j)表示用户节点vi和vj之间的属性同质值,fi和fj分别表示用户节点vi和vj的属性向量,fi d和分别表示用户节点vi和vj的第d个属性,表示用户节点vi和vj在第d个属性上的一致强度;若则否则
S23:计算第t个模体的属性同质值,计算公式如下:
其中Ht表示第t个模体的属性同质值,mt表示第t个模体中边的总数,uw和vw表示模体中由第w条边相连的两个用户节点;
S24:计算包含在模体中的任意两个用户节点之间的属性-结构连接强度,计算公式如下:
其中aij表示包含在模体中的用户节点vi和vj之间的属性-结构连接强度,Zt表示网络G=<V,E,F>中的第t个模体,{i,j}∈Zt表示用户节点vi和vj同时被包含在Zt中;
S25:对于用户节点vi,通过遍历网络中所有的用户节点计算用户节点vi的密集度,计算公式如下:
其中Deni表示用户节点vi的密集度,n为网络中的节点总数,用户节点vi的密集度定义为该用户节点与社区内其它用户节点间的属性-结构连接强度之和。
S3:根据网络G=<V,E,F>,计算相邻用户节点间的直接相似度DT(i,j)、不相邻用户节点间的间接相似度IT(i,j)、边ei,j相对于节点邻域Fi的边适应度边ei,j相对于节点邻域Fj的边适应度边ei,j的边适应度Fitij,从而得到用户节点的间隔度Inti。
步骤S3具体为:
S31:设Fi=N(i)+{vi}-{vj}和Fj=N(j)+{vj}-{vi}表示由边ei,j连接的两个节点邻域,其中{vi}表示只包含用户节点vi的集合,{vj}表示只包含用户节点vj的集合,N(i)和N(j)分别表示用户节点vi和用户节点vj的邻居节点。如图6所示,N(1)={2,4,5},N(5)={1,6,7},边e1,5的邻居社区为F1={1,2,4},F5={5,6,7}。
S32:计算两个相邻用户节点间的直接相似度,计算公式如下:
其中DT(i,j)为用户节点vi与vj之间的直接相似度;l(i,j)为用户节点vi与vj之间的属性相似度;l(i)为用户节点vi与所有邻居节点的属性相似度总和;Y(t)为用户节点vt的度;
S33:计算两个不相邻用户节点间的间接相似度,计算公式如下:
其中IT(i,j)为用户节点vi与用户节点vj间的间接相似度,m=min(DT(i,i1),DT(i1,i2),...,DT(in,j)),dmax为设定的阈值,di,j为用户节点vi与用户节点vj之间的路径长度;
S34:计算网络G=<V,E,F>中两个用户节点vi和vj之间的相似度T(i,j),计算公式如下:
其中T(i,j)表示用户节点vi与vj间的相似度,DT(i,j)为用户节点vi与vj之间的直接相似度,IT(i,j)为用户节点vi与vj间的间接相似度;
S35:计算每条边的边适应度用于表示两个用户节点联系的紧密程度,其取值越大,两个用户联系越紧密,计算公式如下:
其中,Fitij表示边ei,j的边适应度,和分别表示边ei,j相对于节点邻域Fi和Fj的边适应度;
S36:计算边ei,j相对于节点邻域Fi的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fi的边适应度,表示节点邻域Fj内用户节点间相似度总和,vp和vq是节点邻域Fj内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fj内用户节点间相似度总和,vp是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fi内用户节点间相似度总和,vq是节点邻域Fi内不同于用户节点vi的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S37:计算边ei,j相对于节点邻域Fj的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fj的边适应度,表示节点邻域Fi内用户节点间相似度总和,vp和vq是节点邻域Fi内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vj与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,表示用户节点vj与节点邻域Fj内用户节点间相似度总和,vq是节点邻域Fj内不同于用户节点vj的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S38:对于用户节点vi,通过遍历网络中所有的用户节点,找出比用户节点vi密集度大的用户节点,用户节点vi的间隔度的计算公式如下:
其中,Inti为用户节点vi的间隔度,用户节点vj是比用户节点vi的密集度大的用户节点,Fitij为边ei,j的边适应度,Deni和Denj分别表示用户节点vi和vj的密集度。
S4:选择密集度Deni和间隔度Inti乘积最大的K个用户节点作为网络中K个社区的社区中心;
步骤S4具体为:选择密集度Deni和间隔度Inti乘积最大的K个用户节点作为网络中K个社区的社区中心,其中第k个社区的中心节点记为ck,从而得到社区中心节点集合由每个社区中心节点确定一个社区。
S5:计算每个非中心用户节点关于不同社区的隶属度,将这些非中心用户节点分配到隶属度最大的社区;
步骤S5具体为:
S51:对于非中心节点集合中的第ρ个用户节点oρ,如果其密集度小于第k个社区中心ck的密集度,则根据以下公式计算第ρ个用户节点oρ关于第k个社区的隶属度pρk;否则pρk=0;
其中,pρk表示用户节点oρ关于第k个社区的隶属度,Fitρk表示边eρ,k的边适应度,其取值越大表示两个用户联系越紧密,Lρ表示比用户节点oρ的密集度大的社区中心节点的集合;
S52:将非中心节点分配到隶属度最大的社区。
S6:输出最终的社区检测结果,将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
步骤S6具体为:
S61:输出社区检测后的社区集,将社区集中归属于社区ck的用户节点vi表示成行向量形式Rk=(vi,k),输出向量集{Rk},0<k≤K,K为社区个数,每行代表一个社区。本实施例的社区检测结果如图7所示,其中同一种形状的节点表示归属于同一个社区的社交网络用户。
S62:将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。。
技术效果评价如下。通常采用扩展模块度EQ函数来衡量社区结构检测的质量,其值越大表明社区检测效果越好,另外,还采用精确率(precision)、召回率(recall)和F1-maesure来衡量算法的性能。其中,扩展模块度EQ函数定义如式(13):
其中δ为网络中的连边总数,Qi、Qj为用户节点vi、vj所属的社区个数,uij为网络邻接矩阵中的元素,Y(i)、Y(j)分别为节点vi、vj的度,gy为第y个社区包含的节点集。
平均准确率、平均召回率和平均F1值的计算公式定义如式(14)、(15)、(16):
其中Cr(θ)={vi|pir≥θ},Cr表示第r个社区,θ为隶属关系阈值(0<θ≤1),pir表示用户节点vi关于社区r的隶属度,Ti为真实社区集。
表1为本发明与基于链接密度的算法(LINK)、基于标签传递的重叠社区发现算法(COPRA)和一种改进的基于密度峰值的社交网络聚类算法(DPSCD)在Facebook数据集上的扩展模块度EQ值比较结果。
表1
方法 | LINK | COPRA | DPSCD | 本发明 |
EQ | 0.135 | 0.342 | 0.421 | 0.516 |
从图8到图11可以看出,采用本发明方法得到的平均准确率、平均召回率和平均F1值与LINK算法、COPRA算法和DPSCD算法相比,本发明方法比LINK算法和COPRA算法稳定,并且本发明方法的平均准确率、平均召回率和平均F1值整体高于其他三种社区检测方法。
尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (7)
1.一种面向社交网络的社区检测方法,其特征在于,包括以下步骤:
S1:获取社交网络数据,建立邻接矩阵用来存储用户之间的关联关系,以此构成网络G=<V,E,F>;
S2:根据网络G=<V,E,F>构造模体,并计算模体中与每条边相连的两个用户节点间的属性同质值HG(i,j)、模体的属性同质值Ht和用户节点间的属性-结构连接强度aij,从而得到用户节点的密集度Deni;
S3:根据网络G=<V,E,F>,计算相邻用户节点间的直接相似度DT(i,j)、不相邻用户节点间的间接相似度IT(i,j)、边ei,j相对于节点邻域Fi的边适应度边ei,j相对于节点邻域Fj的边适应度边ei,j的边适应度Fitij,从而得到用户节点的间隔度Inti;
S4:选择密集度Deni和间隔度Ihti乘积最大的K个用户节点作为网络中K个社区的社区中心;
S5:计算每个非中心用户节点关于不同社区的隶属度,将这些非中心用户节点分配到隶属度最大的社区;
S6:输出最终的社区检测结果,将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
2.根据权利要求1所述的面向社交网络的社区检测方法,其特征在于,所述步骤S1具体为:获取社交网络数据,依据社交网络中用户间的关联关系建立社交网络的邻接矩阵其中uij表示第i个用户与第j个用户之间的关联关系;若两个用户之间有关联,则uij=1,否则uij=0;以此构成网络G=<V,E,F>,其中表示由网络中的n个用户组成的集合,vi是用于表示第i个社交网络用户的节点;表示由社交网络中用户间关联关系对应的边组成的集合,其中ei,j表示第i个用户与第j个用户之间的一条连边;表示社交网络中的属性集合,其中fi表示第i个用户的属性向量,每个用户的属性向量包含d个维度。
3.根据权利要求2所述的面向社交网络的社区检测方法,其特征在于,所述步骤S2具体为:
S21:利用相邻用户节点构造模体结构,记为其中α表示模体中包含的边的总数,β表示模体中包含的用户节点的总数;
S22:计算用户节点间的属性同质值,用于表示对应的两个社交网络用户间的属性相似程度,其取值越大,表示两个用户之间的属性相似程度越高;用户节点vi和vj之间的属性同质值的计算公式如下:
其中HG(i,j)表示用户节点vi和vj之间的属性同质值,fi和fj分别表示用户节点vi和vj的属性向量,fi d和分别表示用户节点vi和vj的第d个属性,表示用户节点vi和vj在第d个属性上的一致强度;若则否则
S23:计算第t个模体的属性同质值,计算公式如下:
其中Ht表示第t个模体的属性同质值,mt表示第t个模体中边的总数,uw和vw表示模体中由第w条边相连的两个用户节点;
S24:计算包含在模体中的任意两个用户节点之间的属性-结构连接强度,计算公式如下:
其中aij表示包含在模体中的用户节点vi和vj之间的属性-结构连接强度,Zt表示网络G=<V,E,F>中的第t个模体,{i,j}∈Zt表示用户节点vi和vj同时被包含在Zt中;
S25:对于用户节点vi,通过遍历网络中所有的用户节点计算用户节点vi的密集度,计算公式如下:
其中Deni表示用户节点vi的密集度,n为网络中的节点总数,用户节点vi的密集度定义为该用户节点与社区内其它用户节点间的属性-结构连接强度之和。
4.根据权利要求3所述的面向社交网络的社区检测方法,其特征在于,所述步骤S3具体为:
S31:设Fi=N(i)+{vi}-{vj}和Fj=N(j)+{vj}-{vi}表示由边ei,j连接的两个节点邻域,其中{vi}表示只包含用户节点vi的集合,{vj}表示只包含用户节点vj的集合,N(i)和N(j)分别表示用户节点vi和用户节点vj的邻居节点;
S32:计算两个相邻用户节点间的直接相似度,计算公式如下:
其中DT(i,j)为用户节点vi与vj之间的直接相似度;l(i,j)为用户节点vi与vj之间的属性相似度;l(i)为用户节点vi与所有邻居节点的属性相似度总和;Y(t)为用户节点vt的度;
S33:计算两个不相邻用户节点间的间接相似度,计算公式如下:
其中IT(i,j)为用户节点vi与用户节点vj间的间接相似度,m=min(DT(i,i1),DT(i1,i2),...,DT(in,j)),dmax为设定的阈值,di,j为用户节点vi与用户节点vj之间的路径长度;
S34:计算网络G=<V,E,F>中两个用户节点vi和vj之间的相似度T(i,j),计算公式如下:
其中T(i,j)表示用户节点vi与vj间的相似度,DT(i,j)为用户节点vi与vj之间的直接相似度,IT(i,j)为用户节点vi与vj间的间接相似度;
S35:计算每条边的边适应度用于表示两个用户节点联系的紧密程度,其取值越大,两个用户联系越紧密,计算公式如下:
其中,Fitij表示边ei,j的边适应度,和分别表示边ei,j相对于节点邻域Fi和Fj的边适应度;
S36:计算边ei,j相对于节点邻域Fi的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fi的边适应度,表示节点邻域Fj内用户节点间相似度总和,vp和vq是节点邻域Fj内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fj内用户节点间相似度总和,vp是节点邻域Fj内的用户节点,表示用户节点vi与节点邻域Fi内用户节点间相似度总和,vq是节点邻域Fi内不同于用户节点vi的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S37:计算边ei,j相对于节点邻域Fj的边适应度,计算公式如下:
其中表示边ei,j相对于节点邻域Fj的边适应度,表示节点邻域Fi内用户节点间相似度总和,vp和vq是节点邻域Fi内的任意两个不同的用户节点,表示节点邻域Fj内用户节点与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,vq是节点邻域Fj内的用户节点,表示用户节点vj与节点邻域Fi内用户节点间相似度总和,vp是节点邻域Fi内的用户节点,表示用户节点vj与节点邻域Fj内用户节点间相似度总和,vq是节点邻域Fj内不同于用户节点vj的用户节点,T(p,q)表示用户节点vp和vq之间的相似度;
S38:对于用户节点vi,通过遍历网络中所有的用户节点,找出比用户节点vi密集度大的用户节点,用户节点vi的间隔度的计算公式如下:
其中,Inti为用户节点vi的间隔度,用户节点vj是比用户节点vi的密集度大的用户节点,Fitij为边ei,j的边适应度,Deni和Denj分别表示用户节点vi和vj的密集度。
5.根据权利要求4所述的面向社交网络的社区检测方法,其特征在于,所述步骤S4具体为:选择密集度Deni和间隔度Ihti乘积最大的K个用户节点作为网络中K个社区的社区中心,其中第k个社区的中心节点记为ck,从而得到社区中心节点集合由每个社区中心节点确定一个社区。
6.根据权利要求5所述的面向社交网络的社区检测方法,其特征在于,所述步骤S5具体为:
S51:对于非中心节点集合中的第ρ个用户节点oρ,如果其密集度小于第k个社区中心ck的密集度,则根据以下公式计算第ρ个用户节点oρ关于第k个社区的隶属度pρk;否则pρk=0;
其中,pρk表示用户节点oρ关于第k个社区的隶属度,Fitρk表示边eρ,k的边适应度,其取值越大表示两个用户联系越紧密,Lρ表示比用户节点oρ的密集度大的社区中心节点的集合;
S52:将非中心节点分配到隶属度最大的社区。
7.根据权利要求6所述的面向社交网络的社区检测方法,其特征在于,所述步骤S6具体为:
S61:输出社区检测后的社区集,将社区集中归属于社区ck的用户节点vi表示成行向量形式Rk=(vi,k),输出向量集{Rk},0<k≤K,K为社区个数,每行代表一个社区;
S62:将结果反馈给社交网络分析人员,用于社交网络的舆情监控和推荐系统构建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435582.9A CN110263260A (zh) | 2019-05-23 | 2019-05-23 | 一种面向社交网络的社区检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435582.9A CN110263260A (zh) | 2019-05-23 | 2019-05-23 | 一种面向社交网络的社区检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110263260A true CN110263260A (zh) | 2019-09-20 |
Family
ID=67915277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910435582.9A Pending CN110263260A (zh) | 2019-05-23 | 2019-05-23 | 一种面向社交网络的社区检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263260A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929044A (zh) * | 2019-12-03 | 2020-03-27 | 山西大学 | 一种面向学术合作网络的社区检测方法和装置 |
CN111581532A (zh) * | 2020-05-08 | 2020-08-25 | 深圳市万佳安人工智能数据技术有限公司 | 一种基于随机块的社交网络交友推荐方法和系统 |
CN112598549A (zh) * | 2020-12-23 | 2021-04-02 | 广东技术师范大学 | 一种学习者潜在重叠社区检测方法、装置、设备及介质 |
CN113011471A (zh) * | 2021-02-26 | 2021-06-22 | 山东英信计算机技术有限公司 | 一种社交群体的划分方法、划分系统及相关装置 |
-
2019
- 2019-05-23 CN CN201910435582.9A patent/CN110263260A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929044A (zh) * | 2019-12-03 | 2020-03-27 | 山西大学 | 一种面向学术合作网络的社区检测方法和装置 |
CN111581532A (zh) * | 2020-05-08 | 2020-08-25 | 深圳市万佳安人工智能数据技术有限公司 | 一种基于随机块的社交网络交友推荐方法和系统 |
CN112598549A (zh) * | 2020-12-23 | 2021-04-02 | 广东技术师范大学 | 一种学习者潜在重叠社区检测方法、装置、设备及介质 |
CN113011471A (zh) * | 2021-02-26 | 2021-06-22 | 山东英信计算机技术有限公司 | 一种社交群体的划分方法、划分系统及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263260A (zh) | 一种面向社交网络的社区检测方法 | |
CN110110094B (zh) | 基于社交网络知识图谱的跨网络人物关联方法 | |
CN103902538B (zh) | 基于决策树的信息推荐装置及方法 | |
CN104317900A (zh) | 一种面向社交网络的多属性协同过滤推荐方法 | |
CN106453096B (zh) | 一种动态网络社区发现方法及装置 | |
CN110413707A (zh) | 互联网中欺诈团伙关系的挖掘与排查方法及其系统 | |
CN108920678A (zh) | 一种基于谱聚类与模糊集的重叠社区发现方法 | |
CN107391670A (zh) | 一种融合协同过滤和用户属性过滤的混合推荐方法 | |
CN103888541B (zh) | 一种融合拓扑势和谱聚类的社区发现方法及系统 | |
CN105678590B (zh) | 一种面向社交网络基于云模型的topN推荐方法 | |
CN105183748B (zh) | 一种基于内容和评分的组合预测方法 | |
CN101826114A (zh) | 一种基于多马尔可夫链的内容推荐方法 | |
CN106790468A (zh) | 一种分析用户WiFi活动轨迹规律的分布式实现方法 | |
CN109902235A (zh) | 基于蝙蝠优化的用户偏好聚类协同过滤推荐算法 | |
CN110232638A (zh) | 一种基于节点重要性与局部扩展的重叠社区发现方法 | |
CN108765180A (zh) | 基于影响力与种子扩展的重叠社区发现方法 | |
CN110662232B (zh) | 一种采用多粒度级联森林评估链路质量的方法 | |
CN109918562A (zh) | 一种基于用户社区和评分联合社区的推荐方法 | |
CN111259206B (zh) | 一种有向加权网络中多重影响力矩阵赋权方法 | |
CN110119478A (zh) | 一种结合多种用户反馈数据的基于相似度的物品推荐方法 | |
CN104731887B (zh) | 一种协同过滤中的用户相似度度量方法 | |
CN111681084A (zh) | 一种基于社交关系影响因素的电商平台推荐方法 | |
CN106780258A (zh) | 一种未成年人犯罪决策树的建立方法及装置 | |
CN108959652A (zh) | 基于密度峰值与社区归属度的重叠社区发现方法 | |
CN106530100A (zh) | 一种面向信任度社交网络的社区发现技术方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |