一种基于粒子群随机游走的角色识别方法与流程

文档序号:13736994阅读:325来源:国知局
一种基于粒子群随机游走的角色识别方法与流程

本发明涉及一种社会网络分析技术,具体涉及一种基于粒子群随机游走的角色识别方法。



背景技术:

社会行为网络化进程的发展加快了网络结构的复杂化和动态化,例如信息交互网络、科学家合作网络、社交网络和生物网络等。社会网络分析方法是一种对社会网络行为者之间的关系进行量化的社会学分析方法。在社会网络研究中,角色识别是一个非常重要的研究问题,它对分析和理解社会网络结构、了解网络结构时态演变对角色的影响、预测用户行为、研究用户之间的关系和信息交互过程具有重要意义。在社会网络的特定环境中行为个体都扮演着特定角色,通常通过网络用户的行为特点和网络属性来定义,从而刻画用户位置、行为、资源或虚拟身份的刻画,并且角色也随着时间的变化而不断的改变和演化。目前随着如facebook、twitter、google+、微博等社交媒体的快速增长带来的海量数据信息,以及科研合作网、跨组织企业协同工作网络的发展产生了大规模的复杂网络结构,都为社会网络角色识别提出了新的挑战。

目前社会网络角色识别方法主要包括四种:(1)基于社会地位或资源的社会网络分析方法;(2)基于用户行为分析的数学方法(如图论、度的计算等);(3)基于用户交互信息的内容分析方法;(4)机器学习方法。但是,随着大规模动态社会网络带来的海量数据、复杂网络结构以及角色演化等挑战,使得传统社会网络角色识别方法难以达到理想的效果。例如,laurent等人提出小决策树的机器学习方法识别广播新闻节目中的角色识别问题(boostingbonsaitreesforefficientfeaturescombination:applicationtospeakerroleidentification,2014)。airoldi等人提出一个针对关系数据的混合成员随机块模型和一个快速近似后推断的通用变分推理,允许一个对象同时属于多个不同的簇中(mixedmembershipstochasticblockmodels,2015)。fu等人考虑了角色随时间演化的特性,提出了动态混合成员块模型,但是忽略了用户之间的明确或隐含的交互信息(dynamicmixedmembershipblockmodelforevolvingnetworks,2009)。基于lda主题模型和吉普斯采样的概率角色识别方法则缺乏从全局角度精细分析。zhang等人根据马尔可夫(markov)逻辑网络,提出了基于关系数据的网络意见领袖角色识别方法,但是缺乏对时间因素的考虑(identifyingnetworkpublicopinionleadersbasedonmarkovlogicnetworks,2014)。基于内容分析的角色识别通常只关注个人信息和网络信息,而忽略了潜在角色的挖掘,当出现主题漂移时,难以到达理想效果。也有学者提出通过主成分分析方法(pca)得到子群体,进而最大化一种主题标准以识别主题角色,以及通过派系过滤方法(cpm)和基于兴趣多目标最优化方法识别关键角色等。



技术实现要素:

本发明从仿生角度出发设计一种基于粒子群随机游走的角色识别方法,将粒子群优化算法作为基本框架,以马尔可夫随机游走模型作为每一代的启发式规则,基于集成学习思想,将粒子群的局部解融合为全局解,并利用其更新马尔可夫链,从而得到角色识别结果;并且引入时间因子,对社会网络结构的演变进行分析,获得对用户角色演化的预测。

一种基于粒子群随机游走的角色识别方法:包括以下步骤:

步骤一、社会网络数据预处理:对采集到的社会网络数据进行预处理,使用数据预处理技术对噪音的、杂乱的、非结构化的,无法直接进行分析的数据进行清洗或关联。

步骤二、社会网络结构分析:将社会网络构建成为一个由节点以及节点之间的边组成的图结构g=(v,e),其中v表示所有节点的集合,e为所有边的集合;设置a为图g的n×n邻接矩阵,n表示v中的节点个数;

步骤2.1,分析节点的度中心性:节点的度中心性表示为dci=∑j∈n(i)aij,其中n(i)表示节点i的邻居节点集合;当g为无权图时,对于如果则aij=1,否则aij=0;当g为加权图时,wij表示边eij的权重,则aij=wij;

步骤2.2,分析介度中心性:介度中心性表示为其中gjk(i)表示节点j和k之间通过节点i的最短路径的条数;

步骤2.3,分析基于随机游走的中心性:将节点的影响力引入转移矩阵函数πij=∑i∈neb(j)tpijpij,其中neb(j)表示节点j的所有邻居节点,表示节点j的邻居节点i对除节点j的邻居节点外的信息转移概率;在无向图中,di表示节点i的度,在有向图中,di则为节点i的出度;tpij越大,表示其在网络中信息权威性越高;依据随机游走理和连续时间马尔可夫链理论,引入时间老化因子α∈(0,1),则权威性度量值为arj=α+(1-α)∑πijar(i);

步骤三、时序网络结构形式化:将步骤二中的社会网络图结构d=(v,e)构建成为一个时间有序的子图序列d=<s1,s2,...st>,其中st=<vt,et>是动态网络d在t时刻的子图快照,vt为st的节点集合,et为st的边集合,t为动态网络长度;

步骤四、网络结构特征提取:提取步骤二中所述的节点的度中心性、介数中心性、基于随机游走中心性,以及自网络包含的边数、参与三角形的个数作为基本特征,利用聚集函数sum和mean递归式的对邻居节点的基本特征进行计算得到递归特征,为每个节点计算特征值,直到没有新特征产生为止;由此得到快照st的特征矩阵其中n为节点个数,nt为在t时刻的特征个数;针对动态网络d进行特征提取得到了特征矩阵序列f=<f1,f2,...,ft>;其中三角形的个数为表示该节点在网络结构中与其他节点构成三角形的个数其确定方法如图4所示,节点n1的参与三角形个数为2。

步骤五、基于粒子群随机游走的角色识别:包括以下步骤:

步骤5.1、初始化粒子群,第一代粒子群由马尔可夫随机游走方法产生,设置种群规模、最大速度区间、初始位置和初始速度;

步骤5.2,在迭代过程中,计算每个粒子的适应度值,寻找个体极值和全局极值;基于随机游走的粒子飞行过程中,每个粒子受到转移概率和适应度目标函数的双重指导;转移矩阵由动态网络d的邻接矩阵p表示,p=<p1,p2,...,pt>,适应度值矩阵由步骤四中的特征矩阵序列f=<f1,f2,...,ft>表示,其中pt=(pij)n×n表示在时刻t的邻接矩阵,假设粒子群在当前t时刻位于节点i,则粒子在下一步访问节点j的转移概率表示为那么粒子群的访问概率矩阵即可表示为

步骤5.3,根据适应度函数的高低进行降序排序,将大于最小信任度阈值δ的粒子作为核心粒子,进而下一代粒子按照粒子群算法的速度和位置更新公式进行更新,通过集成方法将所有粒子的局部解叠加成全局解;如果当前粒子的适应度值由优于下一代适应度值,则下一代更新速度不变;使适应度值趋于收敛,收敛后的结果便是所有粒子群信息融合的结果;依据对上述过程,将t个时间快照分别进行上述粒子群迭代过程,形成t个时间片段下的时序粒子群适应度矩阵结果;

步骤六、根据收敛后的t个时间片段下的粒子群适应度矩阵序列<f1,f2,...,ft>和核心粒子序列<c1,c2,...,ct>,计算相邻时间片t和t+1时刻的粒子之间的余弦相似性,表示如下:其中ε为当前网络最小相似性阈值。

进一步地,所述步骤六中的当相邻时间片的粒子之间的余弦相似性越高,则说明核心粒子的角色越稳定,其重要性越高;如果从任意时间t到任意时间s之间的余弦相似度保持较高的稳定性,说明该网络结构具有较好的稳定性。

有益效果

与现有技术相比,本发明具有如下特点:

(1)通过对节点的基本特征和迭代特征的描述,能够较好的反映出节点的动态行为特征,有效提高对动态社会网络描述的适应性和准确性。

(2)在面向大规模社会网络研究方法上进行改进,对大规模网络信息采用粒子群优化算法和并行化的计算方式,将粒子群优化算法作为基本框架,以马尔可夫随机游走模型作为启发式规则与适应度函数相结合,基于集成学习思想,有效提高了大规模网络并行化处理的效率问题,并且将基于局部的个体用户角色和全局的社会角色进行集成,具有较好的适应性,在角色预测结果上有明显的提高。

(3)在动态社会网络的角色识别中引入时间,对用户角色演化过程和角色分布进行了更准确的描述和预测,有效提高对社会网络演化过程的定量分析。

附图说明

图1为一种基于粒子群随机游走的角色识别方法实施流程图;

图2为本发明中社会网络结构分析与特征提取示意图;

图3为本发明中角色识别的算法流程图;

图4为本发明中确定三角形的个数的方法。

具体实施方式

现在结合附图对本发明进一步详细说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

如图1所示,本发明提供了一种社会网络角色识别方法体系,根据本发明的步骤将各个步骤分别对应如图1所示的以下模块:网络结构分析模块、时序网络结构形式化模块、社会网络结构特征提取模块、基于粒子群随机游走的角色识别模块和用户角色演化分析模块。

步骤一、社会网络数据预处理:对采集到的社会网络数据进行预处理,使用数据预处理技术对噪音的、杂乱的、非结构化的,无法直接进行分析的数据进行清洗或关联。

本方法在进行社会网络结构分析之前,采集到的社会网络数据通常是有噪音的、杂乱的、非结构化的,无法直接进行分析的数据,需要进行清洗和关联。数据清洗主要从数据准确性、完整性、一致性、唯一性等方面进行处理。对用户profile数据、用户关系数据、信息交互数据等进行考察,对遗漏数据进行默认值填充,对异常或孤立点数据进行消除,对噪声数据进行平滑处理。进一步,对所有数据集进行归一化处理,从而得到结构化的网络数据。对于复杂网络结构中,用户有可能在不同类型的网络中表现出不同角色,因此,对数据进行关联也十分重要。采用多源账号关联技术,将具有相同或相似的特征关联到同一用户上,便于跨平台社会网络分析。

在步骤二中将社会网络结构主要从社会网络的拓扑结构进行社会网络角色的分析,将社会网络抽象为一个由节点以及节点之间的边组成的图结构g=(v,e),其中v表示所有节点的集合,e是所有边的集合,a表示图g的n×n邻接矩阵,n表示v中的节点个数。本发明主要采用基于局部属性的度中心性、基于全局属性的介度中心性和基于随机游走的中心性方法进行社会网络结构描述的手段。如图2所示包括:计算度中心性、计算介度中心性及计算随机游走的中心性。步骤二过程包括:

步骤2.1、分析节点的度中心性。节点的度中心性能够高效的度量节点的影响力和重要性。节点的度中心性可以表示为dci=∑j∈n(i)aij,其中n(i)表示节点i的邻居节点集合,当g为无权图时,对于如果则aij=1,否则aij=0;在加权图g中,wij表示边eij的权重,则aij=wij。

步骤2.2、分析介度中心性。介度中心性是基于节点对网络连通的控制能力来定义的,它表示网络中任意两个节点之间最短路径经过该节点的数量,因此也能够反映出该节点的重要性。介度中心性可以表示为其中gjk(i)表示节点j和k之间通过节点i的最短路径的条数。通常,介度中心性作为对节点是否为桥节点的量化,成为衡量该节点是否是社会网络中的联系者角色的一个重要指标。

步骤2.3、分析基于随机游走的中心性。基于随机游走的中心性是衡量节点在局部和全局网络结构中均具有较大社会影响力和权威性的重要手段,因此将节点的影响力引入转移矩阵函数πij=∑i∈neb(j)tpijpij,其中neb(j)表示节点j的所有邻居节点,表示节点j的邻居节点i对除节点j的邻居节点外的信息转移概率。在无向图中,di表示节点i的度,在有向图中,di则为节点i的出度,tpij越大,表示其在网络中信息权威性越高。依据随机游走理和连续时间马尔可夫链理论,引入时间老化因子α∈(0,1),则权威性度量值为arj=α+(1-α)∑πijar(i)。

步骤三、时序网络结构形式化。由于社会网络随时间变化,其网络结构也在发生演变,因此构造动态社会网络d=(v,e),并将d看作为一个时间有序的子图序列d=<s1,s2,...st>,其中st=<vt,et>是动态网络d在t时刻的子图快照,vt为st的节点集合,et为st的边集合,t为动态网络长度。将动态网络分解为时间序列子图后,就可以对每个时刻的网络快照进行角色分析,进而分析角色随时间的演化。

步骤四、网络结构特征提取。通过高维特征取值向量保存节点的完整信息,采用refex迭代特征产生方法,为每个节点提取基本特征和迭代特征,基本特征包括节点的局部特征,如步骤2所述的节点度、介数中心性、基于随机游走中心性,以及自网络包含的边数、参与三角形的个数作为基本特征,利用聚集函数sum和mean递归式的对邻居节点的基本特征进行计算得到递归特征,为每个节点计算特征值,直到没有新特征产生为止。由此得到快照st的特征矩阵其中n为节点个数,nt为在t时刻的特征个数,因此,针对动态网络d进行特征提取得到了特征矩阵序列f=<f1,f2,...,ft>。

如图2所示,在上述过程的基础上构建一种基于粒子群随机游走的角色识别方法,包括基于随机游走的粒子群初始化、基于转移概率和适应度矩阵的迭代、确定核心粒子和时序粒子群适应度矩阵,具体如下:

步骤五、基于粒子群随机游走的角色识别。如图3所示,将网络中的每个节点初始化为某一种群的粒子,从马尔可夫随机理论出发,粒子群以基于随机游走的转移概率作为启发式规则,根据适应度函数的高低确定核心粒子,粒子群根据马尔可夫转移概率和适应度值的双重指引下寻找最优解,在粒子群迭代过程中,每个粒子群引导本社区粒子随自己落脚在多目标最优点,从而产生不同的用户角色。具体过程如下:

步骤5.1,初始化粒子群,第一代粒子群由马尔可夫随机游走方法产生,设置种群规模、最大速度区间、初始位置和初始速度。

步骤5.2,在迭代过程中,计算每个粒子的适应度值,寻找个体极值和全局极值。基于随机游走的粒子飞行过程中,每个粒子受到转移概率和适应度目标函数的双重指导。转移矩阵由动态网络d的邻接矩阵p表示,p=<p1,p2,...,pt>,适应度值矩阵由步骤4中的特征矩阵序列f=<f1,f2,...,ft>表示,其中pt=(pij)n×n表示在时刻t的邻接矩阵,假设粒子群在当前t时刻位于节点i,则粒子在下一步访问节点j的转移概率表示为那么粒子群的访问概率矩阵即可表示为由于矩阵m考虑了适应度值带来的影响,因此局部角色识别将越来越明显。

步骤5.3,根据适应度函数的高低进行降序排序,将大于最小信任度阈值δ的粒子作为核心粒子,进而下一代粒子按照粒子群算法的速度和位置更新公式进行更新,通过集成方法将所有粒子的局部解叠加成全局解。如果当前粒子的适应度值由优于下一代适应度值,则下一代更新速度不变。使适应度值趋于收敛,收敛后的结果便是所有粒子群信息融合的结果。依据对上述过程,将t个时间快照分别进行上述粒子群迭代过程,形成t个时间片段下的时序粒子群适应度矩阵结果。

步骤6,根据收敛后的t个时间片段下的粒子群适应度矩阵序列<f1,f2,...,ft>和核心粒子序列<c1,c2,...,ct>,计算相邻时间片t和t+1时刻的粒子之间的余弦相似性,表示如下:最小相似性阈值为ε,由当前网络的规模而定。当相邻时间片的粒子之间的相似性越高,则说明核心粒子的角色越稳定,其重要性越高。如果从时间t到时间s之间的余弦相似度保持较高的稳定性,也能说明该网络结构具有较好的稳定性。

基于上述描述的直观优点,通过实验验证了本发明方法在社会网络角色识别应用中的鲁棒性,取得了较好的角色识别和角色预测效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1