一种基于社区划分的社交网络多源谣言溯源方法及系统与流程

文档序号:19123993发布日期:2019-11-13 01:56阅读:473来源:国知局
一种基于社区划分的社交网络多源谣言溯源方法及系统与流程

本发明涉及社交网络技术分析技术领域,尤其涉及一种基于社区划分的社交网络多源谣言溯源方法及系统。



背景技术:

溯源是社交网络的一项重要研究内容,在寻找谣言传播源、推断传染病起源等方面有着非常重要的意义和作用。多源谣言溯源方法大致可以分为两类:基于聚类的方法和基于邻接矩阵的方法。基于聚类的方法出发点是为了将不同感染源感染区域分开,在感染区域内进行溯源,这样处理将多源降低为单源,大大降低了溯源难度,但目前这类方法假定各感染区域互不相交,很难区分位于不同感染区域重合部分的节点;另外,传统的单源溯源方法,假设感染网络中所有节点先验估计值相同,缺乏合理性。

基于邻接矩阵的方法一般计算简单,复杂度较低,但需要知道源节点数量,在现实生活中很难实现;此类方法从整体出发寻找多个源节点,但忽略了各个源节点覆盖问题。

综上所述,现有的多源谣言溯源方法存在以下不足:溯源率较低、错误距离较大。



技术实现要素:

鉴于上述的分析,本发明实施例旨在提供一种基于社区划分的社交网络多源谣言溯源方法及系统,用以解决现有的多源谣言溯源方法存在的溯源率较低、错误距离较大等问题。

本发明的目的主要是通过以下技术方案实现的:

一种基于社区划分的社交网络多源谣言溯源方法,包括以下步骤:

根据给定社交网络的感染部分进行基于拓扑势的社区划分,得到有重合区域的多个社区,每个社区内的节点构成一个子网络,保存每个社区内节点的数量及名称;

根据社区划分后得到的每一个子网络的节点数量及名称,在每一子网络上运用单源谣言溯源方法,计算每一社区中的每个节点作为源节点的可能性;

选择各社区中作为源节点可能性最大的节点,得到多源节点。

在上述方案的基础上,本发明还做了如下改进:

进一步,所述单源谣言溯源方法包括:

计算子网络中每个节点作为源节点的先验估计值及后验估计值;

基于所述先验估计值及后验估计值计算得到该子网络中的每个节点作为源节点的可能性。

进一步,所述节点先验估计值的计算公式为:

其中,p(v)为子网络中任意节点ν作为源节点的先验估计值;vni为节点ν邻居中被感染数量;vn为节点ν邻居数量;n代表子网络节点数量。

进一步,所述节点后验估计值的计算公式为:

其中,r(v)为子网络中任意节点v作为源的后验估计值;gi是子网络;u是gi的某个节点;tuv代表gi中以节点u为源,向远离ν节点方向感染的节点数量;n代表子网络节点数量。

进一步,所述计算子网络中的每个节点作为源节点的可能性计算公式为:

np(v)=p(v)r(v)

其中,v为该子网络中任意节点,np(v)是节点v为源节点的可能性;p(v)是v为源节点的先验估计值;r(v)是v为源节点的后验估计值。

另一方面,本发明实施例提供了一种基于社区划分的社交网络多源谣言溯源系统,包括社区划分模块、源节点计算模块和源节点选择模块;

所述社区划分模块,用于根据给定社交网络的感染部分进行基于拓扑势的社区划分,得到有重合区域的多个社区,每个社区内的节点构成一个子网络,保存每个社区内节点的数量及名称;

所述源节点计算模块,用于根据社区划分后得到的每一个子网络的节点数量及名称,在每一子网络上运用单源谣言溯源方法,计算每一社区中的每个节点作为源节点的可能性;

所述源节点选择模块,用于选择各社区中作为源节点可能性最大的节点,得到多源节点。

进一步,所述源节点计算模块包括节点先验估计值计算模块、节点后验估计值计算模块和源节点计算子模块;

所述节点先验估计值计算模块,用于计算子网络中每个节点作为源节点的先验估计值;

所述节点后验估计值计算模块,用于计算子网络中每个节点作为源节点的后验估计值;

所述源节点计算子模块,用于根据先验估计值及后验估计值计算得到该子网络中的每个节点作为源节点的可能性。

进一步,所述节点先验估计值计算模块根据以下公式得到先验估计值:

其中,p(v)为子网络中任意节点ν作为源节点的先验估计值;vni为节点ν邻居中被感染数量;vn为节点ν邻居数量;n代表子网络节点数量。

进一步,所述节点后验估计值计算模块根据以下公式得到后验估计值:

其中,r(ν)为子网络中任意节点v作为源的后验估计值;gi是子网络;u是gi的某个节点;tuv代表gi中以节点u为源,向远离ν节点方向感染的节点数量;n代表子网络节点数量。

进一步,所述源节点计算子模块根据以下公式计算子网络中的每个节点作为源节点的可能性:

np(v)=p(v)r(v)

其中,v为该子网络中任意节点,np(v)是节点v为源节点的可能性;p(v)是v为源节点的先验估计值;r(v)是v为源节点的后验估计值。

与现有技术相比,本发明至少可实现如下有益效果之一:

1、在计算源节点可能性时,不仅考虑了后验估计值,还考虑了先验估计值,在节点先验估计值的计算过程中既考虑了感染节点,又兼顾了未感染节点,溯源率高,错误距离小;

2、在基于拓扑势的社区划分过程中,考虑了节点质量的差异性,利用了拓扑势场的拓扑结构,根据节点在拓扑势场中的位置进行社区发现,使得社区划分的结果更准确,效率更高;

3、通过将多源溯源转化为单源溯源,溯源方法的复杂度降低,且不需要知道源节点的数量及其他先验条件,所受限制少;

4、在社区划分过程中,考虑到社区重叠,解决了不同源节点感染区域重合问题,划分效果好,提高了系统的精确度。

本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为一个实施例中一种基于社区划分的社交网络多源谣言溯源方法流程示意图;

图2为另一个实施例中一种基于社区划分的社交网络多源谣言溯源系统结构示意图;

图3为另一个实施例中wiki-rate网络中源节点数量为2的错误距离示意图;

图4为另一个实施例中ca-astroph网络中源节点数量为2的错误距离示意图。

图5为另一个实施例中hamstersterfull网络中源节点数量为2的错误距离示意图。

图6为另一个实施例中wiki-rate网络中源节点数量为3的错误距离示意图。

图7为另一个实施例中ca-astroph网络中源节点数量为3的错误距离示意图。

图8为另一个实施例中hamstersterfull网络中源节点数量为3的错误距离示意图。

附图标记:

200-基于拓扑势社区划分模块;210-拓扑势场建立子模块;211-节点质量获取单元;212-拓扑势值获取单元;220-搜索子模块;221-代表节点判断单元;222-峰位节点判断单元;223-比较单元;230-扩展子模块;240-归属确定子模块;241-谷位判断单元;242-斜坡位判断单元;243-边缘位判断单元;300-源节点计算模块;310-节点先验估计值计算子模块;320-节点后验估计值计算子模块;330-源节点计算子模块;400-源节点选择模块。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

本发明的一个具体实施例,公开了一种基于社区划分的社交网络多源谣言溯源方法,如图1所示,包括以下步骤:

根据给定社交网络的感染部分进行基于拓扑势的社区划分,得到有重合区域的多个社区,每个社区内的节点构成一个子网络,保存每个社区内节点的数量及名称;

根据社区划分后得到的每一个子网络的节点数量及名称,在每一子网络上运用单源谣言溯源方法,计算每一社区中的每个节点作为源节点的可能性;

选择各社区中作为源节点可能性最大的节点,得到多源节点。

实施时,谣言从k个源节点传播一段时间后,会形成k个感染区域。每个感染区域是由单个源节点感染形成,所以节点内部的联系较强;而不同感染区域是由不同源节点感染形成,所以不同区域节点之间的联系会较弱。社区划分是一种聚类分析,社区内部的节点间联系紧密,社区间节点联系稀疏,所以对感染网络进行社区划分能有效识别出感染区域,基本可以保证每个社区有一个源节点。

在计算源节点可能性时,不仅考虑了后验估计值,还考虑了先验估计值,在节点先验估计值的计算过程中既考虑了感染节点,又兼顾了未感染节点,溯源率高,错误距离小。

具体地,基于拓扑势的社区划分包括:根据给定社交网络的感染部分,建立拓扑势场,计算感染部分各个节点的拓扑势值;根据各节点的拓扑势值搜索获得拓扑势场中的所有峰位节点,从所有峰位节点中选取每个社区的代表节点;依次以代表节点为中心按广度优先向外扩展,确定扩展节点的社区归属;若扩展节点位于拓扑势场的谷位,则该节点属于社区重叠部分,扩展停止;若扩展节点位于拓扑势场的斜坡位,则该节点属于该社区,扩展继续;扩展过程结束后,未被访问过的节点是孤立节点,不属于任何社区。

通过以下步骤计算社交网络感染部分各个节点υi的拓扑势值

其中,n为节点υi影响范围内的节点数,节点υi的最大影响距离为m(υi)为节点υi的质量;dij为节点υi与节点υj间的距离,用节点间的跳数进行度量;σ为影响因子,σ∈(0,+∞),用于控制节点的影响范围。影响因子σ的选取过程为:

其中,n为社交网络感染部分包含的节点总数;分别对应为节点υ1,υ2,…,υi,…,υn的拓扑势值;为标准化因子。节点υi的质量m(υi)的计算过程为:

其中,υ'i是与节点υi直接相连的邻居节点;k为节点υi的邻居节点的个数;m(υ'i)是节点υ'i的质量;n(υ'i)是节点υ'i的邻居节点的个数;d是调节因子,0≤d≤1;当调节因子d为0时,节点质量均为1,节点间无质量差异;随着d值的增大,节点间质量差异逐渐增大;当调节因子d为1时,节点间质量差异为最大。为了确保节点质量不同,突出重要节点,又避免质量差异极端化,本方法中,d的取值为节点质量从无差异到差异最大的一半位置对应的d值。

根据各节点的拓扑势值搜索获得拓扑势场中的所有峰位节点,从所有峰位节点中选取每个社区的代表节点。其中,峰位节点的搜索过程包括:比较每个节点的拓扑势值与邻居节点的拓扑势值的大小;若当前节点的拓扑势值大于所有邻居节点的拓扑势值,则当前节点位于拓扑势场的峰位,为峰位节点;若两个峰位节点的距离小于则选择拓扑势值较大的节点作为社区的代表节点,另一个节点称为合并峰位节点;否则每个峰位节点均为各自社区的代表节点。

以当前节点与自身下一跳节点的拓扑势值的大小作为谷位和斜坡位的判断依据;具体判断过程包括:若当前节点的所有邻居节点的拓扑势值均上升,且所属社区无合并峰位节点,则当前节点位于谷位;若当前节点的邻居节点的拓扑势值部分上升部分下降,且在多个峰位节点的影响范围内,则当前节点位于谷位;若当前节点的所有邻居节点的拓扑势值均下降,则当前节点位于斜坡位;若当前节点的下一跳所有节点的拓扑势值均上升,但所属社区存在合并峰位节点,且合并峰位节点是除代表节点外距离当前节点最近的峰位节点,则当前节点位于斜坡位;若当前节点的下一跳节点的拓扑势值部分上升部分下降,但当前节点只在自身所属社区的峰位节点的影响范围内,则当前节点位于斜坡位。

依次以每个代表节点为中心按广度优先向外扩展,确定扩展节点的社区归属;若扩展节点位于拓扑势场的谷位,则该节点属于社区重叠部分,扩展停止;若扩展节点位于拓扑势场的斜坡位,则该节点属于该社区,扩展继续;全部代表节点的扩展过程结束后,未被访问过的节点均位于拓扑势场的边缘位,是不属于任何社区的孤立节点。

通过基于拓扑势的社区划分过程中,考虑了节点质量的差异性,利用了拓扑势场的拓扑结构,根据节点在拓扑势场中的位置进行社区发现,使得社区划分的结果更准确,效率更高。

优选的,单源谣言溯源方法包括:计算子网络中每个节点作为源节点的先验估计值及后验估计值;基于先验估计值及后验估计值计算得到该子网络中的每个节点作为源节点的可能性。

通过将多源溯源转化为单源溯源,溯源方法的复杂度降低,且不需要知道源节点的数量及其他先验条件,所受限制少。

优选的,节点先验估计值的计算公式为:

其中,p(v)为子网络中任意节点ν作为源节点的先验估计值;vni为节点ν邻居中被感染数量;vn为节点ν邻居数量;n代表子网络节点数量。

通过在节点先验估计值的计算过程中既考虑了感染节点,又兼顾了未感染节点,解决了单源溯源方法忽略先验估计重要性的问题,溯源率高,错误距离小。

优选的,节点后验估计值的计算公式为:

其中,r(v)为子网络中任意节点v作为源的后验估计值;u是gi的某个节点;gi是子网络;tuv代表gi中以节点u为源,向远离ν节点方向感染的节点数量;n代表子网络节点数量。

优选的,计算子网络中的每个节点作为源节点的可能性计算公式为:

np(v)=p(v)r(v)

其中,v为该子网络中任意节点,np(v)是节点v为源节点的可能性;p(v)是v为源节点的先验估计值;r(v)是v为源节点的后验估计值。

通过把节点的先验估计值与后验估计值的乘积作为源节点可能性大小的估量,实现了源节点的量化,简单且易于实施。

本发明的另一个具体实施例,如图2所示,提供了一种基于社区划分的社交网络多源谣言溯源系统,包括社区划分模块200、源节点计算模块300和源节点选择模块400;社区划分模块200,用于根据给定社交网络的感染部分进行基于拓扑势的社区划分,得到有重合区域的多个社区,每个社区内的节点构成一个子网络,保存每个社区内节点的数量及名称;源节点计算模块300,用于根据社区划分后得到的每一个子网络的节点数量及名称,在每一子网络上运用单源谣言溯源方法,计算每一社区中的每个节点作为源节点的可能性;源节点选择模块400,用于选择各社区中作为源节点可能性最大的节点,得到多源节点。

具体的,社区划分模块200包括:拓扑势场建立子模块210,搜索子模块220,扩展子模块230,归属子模块240。其中,拓扑势场建立子模块210包括:节点质量获取单元211和拓扑势值获取单元212;节点获取单元211计算感染网络中每个节点的质量;节点质量获取单元211计算节点质量的数学公式为:

其中,υ'i是与节点υi直接相连的邻居节点;k为节点υi的邻居节点的个数;m(υ'i)是节点υ'i的质量;n(υ'i)是节点υ'i的邻居节点的个数;d是调节因子,0≤d≤1;当调节因子d为0时,节点质量均为1,节点间无质量差异;随着d值的增大,节点间质量差异逐渐增大;当调节因子d为1时,节点间质量差异为最大。为了确保节点质量不同,突出重要节点,又避免质量差异极端化,d的取值为节点质量从无差异到差异最大的一半位置对应的d值。拓扑势值获取单元212与节点质量获取单元211相连,根据节点的质量计算获得节点的拓扑势值。拓扑势值获取单元212的数学模型为:

其中,n为节点υi影响范围内的节点数,节点υi的最大影响距离为dij为节点υi与节点υj间的距离,用节点间的跳数进行度量;σ为影响因子,σ∈(0,+∞),用于控制节点的影响范围。影响因子σ的选取过程为:

其中,n为社交网络包含的节点总数;分别对应为节点υ1,υ2,…,υi,…,υn的拓扑势值;为标准化因子。

搜索子模块220与拓扑势场建立子模块210相连。搜索模块220包括:比较单元223、峰位节点判断单元222、代表节点判断单元221;比较单元223与拓扑势值获取单元212相连,比较每个节点的拓扑势值与邻居节点的拓扑势值的大小;峰位节点判断单元222与比较单元223相连,从所有峰位节点中选取每个社区的代表节点;若当前节点的拓扑势值大于所有邻居节点的拓扑势值,则当前节点位于拓扑势场的峰位,为峰位节点;代表节点判断单元221与峰位节点判断单元222相连,若两个峰位节点的距离小于则选择拓扑势值较大的节点作为社区的代表节点,另一个节点称为合并峰位节点;否则每个峰位节点均为各自社区的代表节点。

扩展子模块230与搜索子模块220相连,依次以每个代表节点为中心按广度优先向外扩展,扩展到的节点称为扩展节点。

归属确定子模块240与扩展子模块230相连,确定扩展节点的社区归属。归属确定子模块240包括:谷位判断单元241,斜坡位判断单元242,边缘位判断单元243。谷位判断单元241与扩展子模块230相连,若当前节点的所有邻居节点的拓扑势值均上升,且所属社区无合并峰位节点,则判定当前节点位于谷位;若当前节点的邻居节点的拓扑势值部分上升部分下降,且在多个峰位节点的影响范围内,则判定当前节点位于谷位;斜坡位判断单元242与扩展子模块230相连,若当前节点的下一跳所有节点的拓扑势值均下降,则判定当前节点位于斜坡位;若当前节点的所有邻居节点的拓扑势值均上升,但所属社区存在合并峰位节点,且合并峰位节点是除代表节点外距离当前节点最近的峰位节点,则判定当前节点位于斜坡位;若当前节点的邻居节点的拓扑势值部分上升部分下降,但当前节点只在自身所属社区的峰位节点的影响范围内,则判定当前节点位于斜坡位。边缘位判断单元243与扩子展模块230相连,若当前节点既非位于峰位或谷位,也非位于斜坡位,则当前节点位于边缘位。

通过在社区划分过程中,考虑到社区重叠,解决了不同源节点感染区域重合问题,划分效果好,提高了系统的精确度。

优选的,源节点计算模块包括节点先验估计值计算模块、节点后验估计值计算模块和源节点计算子模块;节点先验估计值计算模块,用于计算子网络中每个节点作为源节点的先验估计值;节点后验估计值计算模块,用于计算子网络中每个节点作为源节点的后验估计值;源节点计算子模块,用于根据先验估计值及后验估计值计算得到该子网络中的每个节点作为源节点的可能性。

通过将源节点量化,不仅考虑了后验估计值,还应用了先验估计值,在节点先验估计值的计算过程中既考虑了感染节点,又兼顾了未感染节点,溯源率高,错误距离小。

优选的,节点先验估计值计算模块根据以下公式得到先验估计值:

其中,p(v)为子网络中任意节点ν作为源节点的先验估计值;vni为节点ν邻居中被感染数量;vn为节点ν邻居数量;n代表子网络节点数量。

优选的,节点后验估计值计算模块根据以下公式得到后验估计值:

其中,r(ν)为子网络中任意节点v作为源的后验估计值;gi是子网络;u是gi的某个节点;tuv代表gi中以节点u为源,向远离ν节点方向感染的节点数量;n代表子网络节点数量。

优选的,源节点计算子模块根据以下公式计算子网络中的每个节点作为源节点的可能性:

np(v)=p(v)r(v)

其中,v为该子网络中任意节点,np(v)是节点v为源节点的可能性;p(v)是v为源节点的先验估计值;r(v)是v为源节点的后验估计值。

通过源节点计算子模块,把节点的先验估计值与后验估计值的乘积作为源节点可能性大小的估量,实现了源节点的量化,简单且易于实施。

本发明的另一个实施例,本实施例以真实网络为例,将本发明提供的基于社区划分的社交网络多源溯源方法用于网络寻找源节点,并与其他典型多源溯源方法进行比较。选取的典型方法包括:动态年龄法(dynamicallyage,简称da)、基于最小的主特征值法(smallestdominanteigenvalue,简称msi)。本发明所述方法简称为my。为了更好地评价各种溯源算法的性能,此处引入错误距离。错误距离指标定义如下:

其中,s代表源节点,|s|代表源节点数量,代表通过溯源方法计算出来的源节点,si代表对应的源节点,代表两节点之间的距离,也就是节点间跳数,δ代表错误距离。

选取3个真实网络,分析比较所述3种溯源方法的错误距离。这3个真实网络包括:wiki-rate网络、ca-astroph网络和hamstersterfull网络。主要是源节点数量为2和3的实验,其中图3、4、5分别是wiki-rate、ca-astroph和hamstersterfull源节点数量为2的实验结果,图6、7、8是源节点数量为3的实验结果。根据实验结果,以图3为例进行分析,错误距离为0代表对应方法找到真正源节点,在wiki-rate网络中,本发明所述方法预测率远高于其余两种方法,msi次之;其次图3中本文方法对应错误距离最高频率为1,msi方法为1.5,da方法为2,这表示在大多数情况下,本发明所述方法所找到的源节点距离真正的源节点更近;最后整体观察错误距离的柱状图分布,可以看出本文所述方法的平均错误距离远小于其余两种方法。图4-8分析方法与图3类似,该处不再赘述。可以看出:本发明所述的方法都能够取得最大的预测率和最小的错误距离。即较之其他两种多源溯源方法,本发明所述方法对于识别源节点效果更佳。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

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