Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种ego网络社交圈子识别方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:西安交通大学

摘要:一种ego网络社交圈子识别方法,将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边来构建ego网络;结合ego网络结构信息和节点属性信息来建模边之间的相似性;初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度使用average‑linkage层次聚类方法进行聚类,得到层次聚类算法对应的树状图;选取合适的阈值来截取树状图以获得对应的边社交圈子,并将边社交圈子转化为节点社交圈子;提取社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类,用该方法识别社交圈子简单准确。

主权项:1.一种ego网络社交圈子识别方法,其特征在于,包括如下步骤:步骤1:构建用户的ego网络:将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边;步骤2:结合ego网络结构信息和节点属性信息来建模边之间的相似性;其中,边之间的相似性采用相似度S进行判断,相似度S的定义如下:S=a×Ss+1-a×SA其中,Ss是结构相似度,SA是属性相似度,a是结构相似度和属性相似度之间的权衡系数;两条边eik和ejk的结构相似度Ss定义如下: 两条边eik和ejk的属性相似度SA定义如下: Aeij=Ai∪Aj其中,Ai是节点i的属性集,Aj是节点j的属性集;步骤3:初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度采用层次聚类方法进行聚类,得到树状图;步骤4:选取阈值截取树状图,获得边社交圈子,并将边社交圈子转化为节点社交圈子;其中,采用基于分区密度的方法选取阈值截取树状图,或采用基于相似度分布的方法选取阈值截取树状图;采用基于分区密度的方法选取阈值截取树状图的具体过程为:根据树状图,计算每个层次对应的边社交圈子划分所具有的分区密度,选择最大的分区密度值所对应的边社交圈子作为最终的结果,并将边社交圈子转换为节点社交圈子;其中,分区密度定义D如下: 其中,M表示所有边的数量,mc表示社交圈子c中的边的数量,Dc是社交圈子c的边密度,Dc定义如下: nc表示社交圈子c的节点数量;采用基于相似度分布的方法选取阈值截取树状图的具体过程为:首先,将相似度划分为具有相等长度的N个间隔,并计算落在每个间隔中的相似度值的数量,然后将相似度值作为水平x轴,将相似度值的数量作为垂直y轴,用一个多项式拟合相似度的经验分布: 其中,n≥3,是要估计的参数,间隔的中心是x1,x2,...,xN,并且间隔中的计数分别是y1,y2,...,yN;对于每个n,采用多项式最小化真实值和预测值之间的残差平方和: 然后,利用均方误差MSE评估拟合多项式,选择具有最小MSE的阶数为n*的多项式作为拟合曲线;均方误差MSE定义如下: 其中,是第i个例子的预测值,yi是对应的真实值;最后,通过求解下面的等式计算拟合曲线的拐点: 将阈值设置为满足上面的等式的最小x;步骤5:提取节点社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类;首先,用Facebook和Google+数据集手动的标记社交圈子的种类lc,然后,对于每一个社交圈子,提取它的网络结构特征和属性特征并组成一个特征向量p是特征的数量,xi是第i个特征的值;每个训练实例包括特征向量和对应的圈子种类lc;然后采用分类方法对获得的社交圈子进行分类;分类方法包括朴素贝叶斯、支持向量机、AdaBoost算法和GradientBoosting算法。

全文数据:一种ego网络社交圈子识别方法技术领域本发明属于社团划分领域,涉及一种ego网络社交圈子识别方法。背景技术社交圈识别能帮助用户将他们的朋友分组到社交圈子中,这样能有效地管理获取到的信息,在链路预测、好友推荐等领域具有重要的应用。经典的社交圈子识别方法主要利用两类信息:网络结构信息和用户属性信息。目前已有的方法可分为两类:基于节点的方法和基于边的方法。基于节点的方法将ego网络中的节点划分到不同的圈子中,而基于边的方法将ego网络中的边划分到不同的圈子中。J.McAuley方法参考McAuley的方法:J.Leskovec,J.J.Mcauley,Learningtodiscoversocialcirclesinegonetworks,in:Advancesinneuralinformationprocessingsystems,2012,pp.539–547.提出了一种基于网络结构和用户属性信息的社交圈子识别方法。对于每个社交圈子,算法根据用户属性信息的相似性学习其成员关系。它将节点成员关系关联到多个圈子,以识别重叠和层次嵌套的圈子。然而,该方法不能有效地利用结构信息,这给识别精度留下了很大的提升空间。Wang方法参考Wang的方法:M.Wang,W.Zuo,Y.Wang,Animproveddensitypeaks-basedclusteringmethodforsocialcirclediscoveryinsocialnetworks,Neurocomputing1792016219-227.提出了一种改进的基于密度峰值的聚类方法,并将其应用于基于用户属性信息和网络拓扑结构的重叠社交圈的识别。首先,该方法利用高斯核函数测量ego网络中各节点的局部密度。其次,计算每个节点到密度较高的节点的距离。然后根据决策图选择圈子中心,其中x轴表示局部密度,y轴表示到密度较高节点的距离。该方法递归地聚合社交圈子,并将每个剩余的用户分配给每次迭代中包含更高密度的最近邻居的圈子。然而,该方法的性能在很大程度上依赖于初始聚类中心的选择。Ahn方法参考Ahn的方法:Y.-Y.Ahn,J.P.Bagrow,S.Lehmann,Linkcommunitiesrevealmultiscalecomplexityinnetworks,nature46673072010761.提出了一种层次的边聚类方法,并且建立了基于边相似性的树状图。他们提出了一种基于密度的方法来确定树状图的适当的切割阈值。该方法在揭示社交圈子重叠结构方面优于基于节点的方法。但是该方法忽略了节点的属性信息,会降低识别的圈子的准确性。发明内容为克服现有技术中的问题,本发明的目的在于提供一种ego网络社交圈子识别方法。为实现上述目的,本发明的技术方案如下:一种ego网络社交圈子识别方法,包括如下步骤:步骤1:构建用户的ego网络:将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边;步骤2:结合ego网络结构信息和节点属性信息来建模边之间的相似性;步骤3:初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度采用层次聚类方法进行聚类,得到树状图;步骤4:选取阈值截取树状图,获得边社交圈子,并将边社交圈子转化为节点社交圈子;步骤5:提取节点社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类。本发明进一步的改进在于,步骤1中ego网络的定义如下:在ego网络中,节点由一个中心节点ego以及这个节点的邻居节点alters组成,边包括中心节点ego和邻居节点alters之间的边以及邻居节点alters和邻居节点alters之间的边。本发明进一步的改进在于,步骤2中,边之间的相似性采用相似度S进行判断,相似度S的定义如下:S=a×Ss+1-a×SA其中,Ss是结构相似度,SA是属性相似度,a是结构相似度和属性相似度之间的权衡系数;两条边eik和ejk的结构相似度Ss定义如下:两条边eik和ejk的属性相似度SA定义如下:其中,Ai是节点i的属性集,Aj是节点j的属性集。本发明进一步的改进在于,步骤3的具体过程为:初始时,将每条边都看作是一个单独的边社交圈子;然后,每次合并时,选择相似度最大的两个社交圈子来进行合并;重复合并过程直到合并为一个边社交圈子为止,得到层次聚类算法对应的树状图。本发明进一步的改进在于,步骤4中,采用基于分区密度的方法选取阈值截取树状图,或采用基于相似度分布的方法选取阈值截取树状图。本发明进一步的改进在于,采用基于分区密度的方法选取阈值截取树状图的具体过程为:根据树状图,计算每个层次对应的边社交圈子划分所具有的分区密度,选择最大的分区密度值所对应的边社交圈子作为最终的结果,并将边社交圈子转换为节点社交圈子;其中,分区密度定义D如下:其中,M表示所有边的数量,mc表示社交圈子c中的边的数量,Dc是社交圈子c的边密度,Dc定义如下:nc表示社交圈子c的节点数量。本发明进一步的改进在于,采用基于相似度分布的方法选取阈值截取树状图的具体过程为:首先,将相似度划分为具有相等长度的N个间隔,并计算落在每个间隔中的相似度值的数量,然后将相似度值作为水平x轴,将相似度值的数量作为垂直y轴,用一个多项式拟合相似度的经验分布:其中,n≥3,是要估计的参数,间隔的中心是x1,x2,…,xN,并且间隔中的计数分别是y1,y2,…,yN;对于每个n,采用多项式最小化真实值和预测值之间的残差平方和:然后,利用均方误差MSE评估拟合多项式,选择具有最小MSE的阶数为n*的多项式作为拟合曲线;均方误差MSE定义如下:其中,是第i个例子的预测值,yi是对应的真实值;最后,通过求解下面的等式计算拟合曲线的拐点:将阈值设置为满足上面的等式的最小x。本发明进一步的改进在于,步骤5的具体过程为:首先,用Facebook和Google+数据集手动的标记社交圈子的种类lc,然后,对于每一个社交圈子,提取它的网络结构特征和属性特征并组成一个特征向量p是特征的数量,xi是第i个特征的值;每个训练实例包括特征向量和对应的圈子种类lc;然后采用分类方法对步骤4中获得的社交圈子进行分类。本发明和现有技术相比较,具有如下有益效果:与J.McAuley方法、Wang方法、Ahn方法相比,本发明提出了一种计算有共同节点的边之间的相似度的方法,将结构相似度和属性相似度结合起来,从而获得了更准确的社交圈子;本发明训练了一种基于结构特征和属性特征的方法来识别所获得社交圈子的类别,帮助用户更有效地管理自己的社交圈子。进一步的,本发明采用基于分区密度的方法选取阈值截取树状图,或采用基于相似度分布的方法选取阈值截取树状图,这两种方法都自然地揭示了社交圈的层次结构,为用户提供了一种可行的方式,可以在不同的层次上聚集社交圈子。附图说明图1为结构相似度的一个例子。图2为一个分区密度的例子。图3为一个关于相似度分布以及它的拟合曲线的例子。图4a为基于分区密度的阈值方法对应的社交圈子的例子。图4b为基于相似度分布的阈值方法对应的社交圈子的例子。图5为四种不同的分类方法的分类准确度。图6a为本发明方法与J.McAuley方法、Wang方法、Ahn方法在Facebook,Twitter,Google+数据集上的NMI评估方法的比较结果。图6b为本发明方法与J.McAuley方法、Wang方法、Ahn方法在Facebook,Twitter,Google+数据集上的平均F1-score评估方法的比较结果。图6c为本发明方法与J.McAuley方法、Wang方法、Ahn方法在Facebook,Twitter,Google+数据集上的EQ评估方法的比较结果。图6d为本发明方法与J.McAuley方法、Wang方法、Ahn方法在Facebook,Twitter,Google+数据集上的OmegaIndex评估方法的比较结果。具体实施方式下面结合附图对本发明做详细描述。本发明提出一种ego网络社交圈子识别方法,首先构建用户的ego网络,然后结合结构和属性信息来建模用户关系的相似性,接着用聚类算法对初始化的社交圈子进行聚类,最后提取社交圈子的特征来对其进行分类,实现社交圈子的识别,具体包括以下步骤:1构建用户的ego网络:将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边;ego网络的定义如下:在ego网络中,节点由一个中心节点ego以及这个节点的邻居节点alters组成,边包括中心节点ego和邻居节点alters之间的边以及邻居节点alters和邻居节点alters之间的边。2结合ego网络结构信息和节点属性信息来建模边之间的相似性;在现实生活中,ego网络的节点对应着用户,边对应着用户之间的关系。用户之间可能会有同学、同事、家人等关系,相同的关系会组成一个社交圈子。因此可以利用这些关系之间的相似程度来进行圈子的划分。因为有共同用户的关系之间的相似度会更高,故本发明用有共同节点的边之间的相似度S来建模关系之间的相似程度,相似度S的定义如下:S=a×Ss+1-a×SA其中,Ss是结构相似度,SA是属性相似度,a是结构相似度和属性相似度之间的权衡系数。两条边eik和ejk的结构相似度Ss定义如下:两条边eik和ejk的属性相似度SA定义如下:其中,Ai是节点i的属性集,Aj是节点j的属性集。图1展示了计算结构相似度的一个例子。边e4,2和e3,2的结构相似度是:|n+4∪n+3|=7,|n+4∩n+3|=2,因此Ss=27。表1展示了节点2,3,4的属性集。边e4,2和e3,2的属性相似度是:SA=|A2,4∩A2,3||A2,4∪A2,3|=0.8。表1节点2,3,4的属性集3初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度使用average-linkage层次聚类方法进行聚类,得到层次聚类算法对应的树状图;初始时,将每条边都看作是一个单独的边社交圈子;然后,每次合并时,都选择相似度最大的两个社交圈子来进行合并;重复合并过程直到合并为一个边社交圈子为止,这样会得到层次聚类算法对应的树状图。4选取合适的阈值来截取层次聚类算法对应的树状图以获得层次聚类算法对应的边社交圈子,并将边社交圈子转化为节点社交圈子;选取合适的阈值来截取树状图的方法分为两种:基于分区密度的方法和基于相似度分布的方法。基于分区密度的选取阈值截取树状图的方法具体过程为:根据树状图,来计算每个层次对应的边社交圈子划分所具有的分区密度,选择最大的分区密度值所对应的边社交圈子来作为最终的结果,并将边社交圈子转换为节点社交圈子。分区密度定义D如下:其中,M表示所有边的数量,mc表示社交圈子c中的边的数量,Dc是社交圈子c的边密度,Dc定义如下:nc表示社交圈子c的节点数量。基于相似度分布的选取阈值截取树状图的方法具体过程为:首先,将相似度划分为具有相等长度的N个间隔,并计算落在每个间隔中的相似度值的数量。然后将相似度值作为水平x轴,将相似度值的数量作为垂直y轴。然后用一个多项式来拟合它的经验分布:其中,n≥3,是要估计的参数,间隔的中心是x1,x2,…,xN,并且间隔中的计数分别是y1,y2,…,yN。对于每个n,使用多项式来最小化真实值和预测值之间的残差平方和:然后,利用均方误差MSE来评估拟合多项式,选择具有最小MSE的阶数为n*的多项式作为拟合曲线。均方误差MSE定义如下:其中,是第i个例子的预测值,yi是对应的真实值。最后,通过求解下面的等式来计算拟合曲线的拐点:将阈值设置为满足上面的等式的最小x。图2展示了一个分区密度的例子。图3展示了一个关于相似度分布以及它的拟合曲线的例子。图4a和图4b展示了两种阈值方法对应的社交圈子的例子。5提取节点社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类;首先,用Facebook和Google+数据集来手动的标记社交圈子的种类lc。然后,对于每一个圈子,提取它的网络结构特征和属性特征并组成一个特征向量p是特征的数量,xi是第i个特征的值,xp是第p个特征的值。每个训练实例包括特征向量和对应的圈子种类lc。然后本发明用四种不同的分类方法来对步骤4中获得的社交圈子进行分类。这四种方法包括:NaiveBayes朴素贝叶斯,SVM支持向量机,AdaBoost算法和GradientBoosting算法。表2展示了本发明提取的社交圈子的网络结构特征和属性特征。图4展示了两种阈值方法对应的社交圈子。图5展示了四种不同的分类方法的分类准确度。表2社交圈子的网络结构特征和属性特征本发明的有益效果是:相比于已有经典的社交圈子识别方法,本发明提出了一种计算有共同节点的边之间的相似度的方法,将结构相似度和属性相似度结合起来,从而获得了更准确的社交圈子;本发明提出了两种方法来计算树状图的正确切割阈值,这两种策略都自然地揭示了社交圈的层次结构,为用户提供了一种可行的方式,可以在不同的层次上聚集社交圈子;本发明训练了一种基于结构特征和属性特征的方法来识别所获得社交圈子的类别,帮助用户更有效地管理自己的社交圈子。本发明的算法通过采用实验数据进行了验证。实验数据选取了三个不同的数据集:Facebook数据集,Twitter数据集,Google+数据集。数据集的具体总结如表3:表3数据集的总结在定量比较社交圈子识别的准确率结果时,本发明采用四种不同的评价指标:NMI,平均F1-score,OmegaIndex和EQ。NMI是社区划分中一个重要的评估指标,定义如下:其中,C*是识别的社交圈子,是ground-truth社交圈子。是C*和之间的互信息,被定义为:HC*是C*的信息熵:其中,是圈子中的节点数量,n表示总节点的数量。被定义为:其中,其中,被定义为:其中,平均F1-score定义如下:其中,g和g′被定义为:其中,被定义为:其中,OmegaIndex用来衡量每对节点共享的社交圈子数量的准确性,定义如下:其中,Cuv是节点u和v共享的识别的集合,是节点u和v共享的ground-truth社交圈子集合。EQ用来衡量社区的质量,定义如下:其中,m是ego网络中边的数量,Au,v是边的权重,如果节点u和v是相连的,那么Au,v等于1,否则为0。ku和kv是节点u和v的度。Ou是节点u所属社交圈子的数量。图6a、图6b、图6c和图6d展示了本发明方法Slop与J.McAuley方法、Wang方法、Ahn方法在Facebook,Twitter,Google+数据集上的不同评估方法的比较结果。比较的结果说明了相比其它三种算法,本发明算法在大部分评估方法上都表现出了更高的识别准确度。本方法将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边来构建ego网络;结合ego网络结构信息和节点属性信息来建模边之间的相似性;初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度使用average-linkage层次聚类方法进行聚类,得到层次聚类算法对应的树状图;选取合适的阈值来截取树状图以获得对应的边社交圈子,并将边社交圈子转化为节点社交圈子;提取社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类。用该方法识别社交圈子简单准确。

权利要求:1.一种ego网络社交圈子识别方法,其特征在于,包括如下步骤:步骤1:构建用户的ego网络:将用户抽象成ego网络中的一个节点,用户之间的关系抽象成ego网络中的一条边;步骤2:结合ego网络结构信息和节点属性信息来建模边之间的相似性;步骤3:初始化每条边作为一个社交圈子,然后根据社交圈子之间的相似度采用层次聚类方法进行聚类,得到树状图;步骤4:选取阈值截取树状图,获得边社交圈子,并将边社交圈子转化为节点社交圈子;步骤5:提取节点社交圈子的属性特征和结构特征,然后训练分类器来识别社交圈子的种类。2.根据权利要求1所述的一种ego网络社交圈子识别方法,其特征在于:步骤1中ego网络的定义如下:在ego网络中,节点由一个中心节点ego以及这个节点的邻居节点alters组成,边包括中心节点ego和邻居节点alters之间的边以及邻居节点alters和邻居节点alters之间的边。3.根据权利要求1所述的一种ego网络社交圈子识别方法,其特征在于:步骤2中,边之间的相似性采用相似度S进行判断,相似度S的定义如下:S=a×Ss+1-a×SA其中,Ss是结构相似度,SA是属性相似度,a是结构相似度和属性相似度之间的权衡系数;两条边eik和ejk的结构相似度Ss定义如下:两条边eik和ejk的属性相似度SA定义如下:Aeij=Ai∪Aj其中,Ai是节点i的属性集,Aj是节点j的属性集。4.根据权利要求1所述的一种ego网络社交圈子识别方法,其特征在于:步骤3的具体过程为:初始时,将每条边都看作是一个单独的边社交圈子;然后,每次合并时,选择相似度最大的两个社交圈子来进行合并;重复合并过程直到合并为一个边社交圈子为止,得到层次聚类算法对应的树状图。5.根据权利要求1所述的一种ego网络社交圈子识别方法,其特征在于:步骤4中,采用基于分区密度的方法选取阈值截取树状图,或采用基于相似度分布的方法选取阈值截取树状图。6.根据权利要求5所述的一种ego网络社交圈子识别方法,其特征在于:采用基于分区密度的方法选取阈值截取树状图的具体过程为:根据树状图,计算每个层次对应的边社交圈子划分所具有的分区密度,选择最大的分区密度值所对应的边社交圈子作为最终的结果,并将边社交圈子转换为节点社交圈子;其中,分区密度定义D如下:其中,M表示所有边的数量,mc表示社交圈子c中的边的数量,Dc是社交圈子c的边密度,Dc定义如下:nc表示社交圈子c的节点数量。7.根据权利要求5所述的一种ego网络社交圈子识别方法,其特征在于:采用基于相似度分布的方法选取阈值截取树状图的具体过程为:首先,将相似度划分为具有相等长度的N个间隔,并计算落在每个间隔中的相似度值的数量,然后将相似度值作为水平x轴,将相似度值的数量作为垂直y轴,用一个多项式拟合相似度的经验分布:其中,n≥3,是要估计的参数,间隔的中心是x1,x2,…,xN,并且间隔中的计数分别是y1,y2,…,yN;对于每个n,采用多项式最小化真实值和预测值之间的残差平方和:然后,利用均方误差MSE评估拟合多项式,选择具有最小MSE的阶数为n*的多项式作为拟合曲线;均方误差MSE定义如下:其中,是第i个例子的预测值,yi是对应的真实值;最后,通过求解下面的等式计算拟合曲线的拐点:将阈值设置为满足上面的等式的最小x。8.根据权利要求1所述的一种ego网络社交圈子识别方法,其特征在于:步骤5的具体过程为:首先,用Facebook和Google+数据集手动的标记社交圈子的种类lc,然后,对于每一个社交圈子,提取它的网络结构特征和属性特征并组成一个特征向量p是特征的数量,xi是第i个特征的值;每个训练实例包括特征向量和对应的圈子种类lc;然后采用分类方法对步骤4中获得的社交圈子进行分类。

百度查询: 西安交通大学 一种ego网络社交圈子识别方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。