CN106649731A - 一种基于大规模属性网络的节点相似性搜索方法 - Google Patents
一种基于大规模属性网络的节点相似性搜索方法 Download PDFInfo
- Publication number
- CN106649731A CN106649731A CN201611207256.5A CN201611207256A CN106649731A CN 106649731 A CN106649731 A CN 106649731A CN 201611207256 A CN201611207256 A CN 201611207256A CN 106649731 A CN106649731 A CN 106649731A
- Authority
- CN
- China
- Prior art keywords
- node
- attribute
- path
- similarity
- nodes
- 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/951—Indexing; Web crawling techniques
Abstract
本发明公开了一种基于路径采样的大规模属性网络节点相似性搜索方法。该方法基于富含节点属性的属性网络,构建属性增广图,并在增广图中采样R条路径,基于Katz指标的原则,根据采样的路径计算节点的相似性,最终返回请求节点的前k个最相似性节点。本发明综合考虑了节点的结构相似性和属性相似性,可以更准确衡量大规模属性网络中的节点相似性;运用路径采样的技术计算节点之间的相似性,提高了算法在大规模网络中的相似性搜索效率,并且能在一定置信度下保证相似性的误差范围。采用本发明的方案将能对上亿节点的属性网络进行快速有效地节点相似性检索。
Description
技术领域
本发明涉及信息检索领域,具体地说,涉及一种基于路径采样的大规模属性网络节点相似性搜索方法。
背景技术
给定一个网络(也称为图)及一个查询节点,在该网络中搜索与该查询节点最相似的k个节点具有诸多应用,比如图聚类、图查询及用户推荐等。目前,随着各类在线社交网络、物联网和语义网的发展,网络的规模近几年快速扩大,像Facebook和Twitter甚至已经达到了数十亿节点。并且这些网络的节点存在大量属性特征,而节点的属性也可以刻画节点相似性特性。面对如此大规模且拥有节点属性的网络,如何有效结合属性进行快速搜索相似的节点是一个具有挑战性的任务。
现有的基于图的相似性搜索方法主要基于两种原则:第一种是考虑节点的局部信息(比如邻居和属性),Jaccard指数和Salton指数就是基于该原则下的相似性度量指标;第二种是基于在图中的全局随机游走,Personalized PageRank算法和SimRank算法就是基于该原则下的相似性搜索算法。这两种原则下的各类算法都具有一定的局限性:基于局部信息的算法仅仅考虑了节点的局部信息,当节点之间的局部信息没有交叉时,这种方法就失效了;基于全局随机游走的相似性搜索算法需要迭代矩阵运算,时间和空间复杂度都比较高,不适用于大规模网络当中。
最近的研究中,Zhang等提出的Panther算法是一种新的基于路径采样的方法,在给定误差范围和置信度的情况下可以快速准确的估计大规模网络当中所有节点之间结构相似性。路径采样的方法考虑的是网络的全局信息,并且路径随机采样的技术可以大大提高查询的效率。尽管如此,该方法并没有考虑节点的属性特征,并且该方法在查询单个节点相似性时会采样出过多不相关路径,大大影响了查询效率。考虑到常见的各类网络(比如在线社交网络、物联网和语义网等)都具有节点属性特征(称之为属性网络),且通常网络规模非常大,本发明提出一种基于路径采样的大规模属性网络节点相似性搜索方法。
发明内容
本发明针对现有方法中存在的不足与缺陷,提出一种基于路径采样的相似性度量方法,该方法能有效结合网络中节点的结构相似性和属性相似性,并在处理大规模属性时效率上有较大提升。所谓结构相似性是指节点在网络拓扑结构上具有相似的特征,比如节点的邻居之间相似或者频繁出现在同一条路径当中。本发明中考虑的属性均为二值属性,而所谓属性相似性是指节点之间共同属性的数量。
为了实现上述目的,本发明采用的技术方案包括如下步骤:
S1、根据给定的属性网络,构建出一个属性增广图;
S2、根据构建出的属性增广图,初始化传播概率;
S3、根据传播概率,在属性增广图中进行单源路径采样,当路径数量达到R值时停止采样,并对这些路径进行索引;
S4、运用索引的路径计算出节点相似性;
S5、对相似性进行排序,返回搜索节点。
步骤S1中,用G(V,E,VA,W,WA)表示一个无向加权的属性网络,其中V是节点的集合,E是边的集合,A是属性的结合,W是一个矩阵代表边的权值,WA是一个用来表示节点-属性关系的|V|×|VA|二值矩阵。属性增广图是在原图的基础上,加入属性作为新的节点,加入节点的属性关系作为新的边。具体地,给定一个属性网络G,它的属性增广图GA构建流程如下:GA中节点集合由G的节点集合V和属性集合VA构成,这里将V称为GA的结构节点集合,VA称为GA的属性节点集合;GA中边集合由G的边集合E以及节点与属性的关系构成的边的集合EA构成,(v,a)∈EA当且仅当WA (v,a)=1,且边的权值都为1。最终构成的属性增图可以表示为GA=(V∪VA,E∪EA,W∪WA)。
步骤S2是在S1构建的属性增广图GA基础上进行转移概率的计算,这些转移概率是为了用于S3中路径的随机游走采样。GA中有两种节点:结构节点和属性节点,在进行路径采样的时候,这两类节点之间可以组合成四种随机游走方式,它们的转移概率是不一样的。具体地,对于一个结构节点u∈V,它可以转移到一个结构节点或者一个属性节点,并且选择任何一类节点的概率是相同的。假设一个结构边(u,v)的权值用ωuv表示,那么从一个结构节点u转移到结构节点v的概率为:
其中,N(u)表示u的邻居集合。节点的不同属性对节点具有不同的重要性,且属性出现的概率越大,这种重要性就越弱。为了区分属性节点在路径采样时的不同重要性,将一个结构节点u转移到一个属性节点a的概率定义为:
其中,p(a)是属性在所有结构节点中出现的概率,A(u)是u的属性集合。
对于一个属性节点a,它随机游走至一个结构性节点,且转移概率为:
其中,|VA|是拥有属性a的结构节点的数量。两个属性节点之间的转移概率为0,即:p(a,b)=0,b∈VA。
至此,两类节点的四种转移概率计算完毕。
步骤S3会根据S2计算的转移概率对属性增广图GA进行路径采样。给定采样路径长度T,误差范围ò,以及置信度1-δ,可以计算出需要采样的路径数R。给定一个查询节点v,步骤S3会反复在属性增广图GA采样一条长度为T的路径,直至路径的总量达到R。图1描述了路径采样的流程图,具体的流程如下:
S31首先,在[0,T-1]区间生成一个随机整数r;
S32然后,产生一个空的数组p[],该数组表示一条采样的路径,且p[r]=v,记录当前数组下标i=r;
S33从节点p[i]开始,当i>0时,根据转移概率随机游走进入下一个节点v',如果v'是一个结构节点,则p[i-1]=v',i=i-1,重复第S33步;当i=0时,记录当前数组下标i=r;
S34从节点p[i]开始,当i<T-1时,根据转移概率随机游走进入下一个节点v',如果v'是一个结构节点,则p[i+1]=v',i=i+1,重复第S34步;
S35路径p[]生成完毕,对该路径的所有节点建立“节点-路径”索引,当路径总数小于R时进入第S31步,继续采样下一条路径。
步骤S4计算节点的相似性。本发明的相似性指标是基于Katz指标的原则计算的,具体原理是:网络中的两个节点越频繁地出现在相同路径,那么它们相似性就越高。所以,基于步骤S3所采样出来的所有路径,根据“节点-路径”索引,分别统计查询节点v与其他节点u共同出现在相同路径的次数|Puv|,然后计算节点u与查询v的相似性为
步骤S5将根据步骤S4中计算节点的相似性对所有节点进行堆排序,并返回请求v的最相似的k个节点。堆排序一种利用堆积树(堆)数据结构所设计的排序算法,在该算法下返回k个搜索结果的需要的时间复杂度为O(|V|logk)。
较之现有的相似性搜索方法,本发明具有以下独特的优点:
(1)在搜索相似性节点时,本发明不仅考虑节点的结构相似性,而且还考虑了节点的属性相似性,可以更准确衡量大规模属性网络中的节点相似性。
(2)本发明的方法运用路径采样的技术进行计算节点之间的相似性,速度比传统的相似性搜索算法要快很多,并且能在一定置信度下保证相似性的误差范围。
本发明在路径采样时,仅仅请求的节点进行路径采样,避免了大量的不相关路径,节省了采样所需的空间和时间,提高了算法在大规模网络中的相似性搜索效率。
附图说明
图1为路径采样的流程图;
图2为本发明具体实施案例1提供的属性网络;
图3为本发明具体实施案例1根据提供属性网络构建的属性增广图;
图4为本发明具体实施案例1根据属性增广图采样的路径;
图5为本发明具体实施案例1采样路径构建的“节点-路径”索引;
图6为本发明具体实施案例2的性能对比。
具体实施方式
为了更清楚地描述本发明的方法的计算过程及方法的优势,以下结合附图通过2个具体实施例对本发明进一步详细说明。
实施例1
在实施例1中,给定一个5个节点5个属性且边权值都为1的属性网络G,并给定一个查询节点v1,以及参数T=3,ò=0.5,δ=0.1,c=0.3,求在该网络下与v1最相似的3个节点。该网络如图2所示。
根据步骤S1,构建该网络的增广图。对原网络中的节点及边,在增广网络中分别建立对应的结构节点集合{v1,v2,v3,v4,v5}及结构边集合{(v1,v2),(v1,v3),(v2,v3),(v3,v4),(v4,v5)};对原网络的节点属性,在增广网络中分别建立对应的属性节点集合{a1,a2,a3,a4,a5}及属性边集合{(v1,a1),(v1,a2),(v1,a3),(v2,a1),(v2,a2),(v3,a1),(v3,a3),(v3,a4),(v4,a1),(v4,a4),(v5,a1),(v5,a5)}。构建出来的属性增广图如图3所示。
步骤S2会根据构建出的属性增广图计算该图的转移概率。首先,计算所有属性在网络当中出现的概率:p(a1)≈0.42、p(a2)≈0.08、p(a3)=p(a4)=p(a5)≈0.17。然后,计算节点的转移概率,以结构节点v1为例,它有两条结构边分别指向结构节点v2、v3,因为所有结构边的权值都为1,所以它转移至节点v2、v3的概率都相同,具体计算公式为:它有三条属性边指向属性节点a1、a3、a5,并且转移至这三个属性节点的分别概率为:
以属性节点a1为例,它有5条属性边,分别指向5个结构节点,其转移概率分别为:它转移到其他节点的概率都为0,它们计算结果如图3所示。同理,分别计算网络中剩余的其他边之间的转移概率。
根据步骤S3,那么在该网络下,要保证误差范围ò,以及置信度1-δ,需要采样的最低路径数量为R≈5,根据该值,开始对增广图进行路径采样,具体的流程如下:
首先,采样第一条路径p1,在[0,T-1]区间生成一个随机整数r,这里本案例生成的随机数为0,所以p1[0]=v1;
然后,记录当前数组下标i=r=0,因为i=0,所以不需要p1[0]的前半段路径;
接着,采样p1的后半段路径。记录当前数组下标i=0,从p[0]中的节点v1开始,以等概率的伯努利分布确定准备跳转到下一个节点类型的概率,这里本案例确定下一个节点类型为属性节点,而节点v1包含三个属性{a1,a3,a5},根据转移概率组成的多项式分布生成的随机数,确定随机游走进入下一个节点为a3。再以a3为起点,它只能转移至一个结构节点,并根据转移概率确定下一个节点为v3,以此类推,知道路径当中包含了三个结构节点,最终采样的路径p1={v1,v3,v3}。接着同样按步骤S31~S35,继续采样剩下的路径p2、p3、p4、p5,最终采样的路径如图4所示。这里需要注意的是,为了图示描述清晰,图将路径中的属性节点也保留在路径当中,在实际计算时,路径中仅仅包含T个结构节点。对每条路径,都会对该路径建立节点下的索引,比如,对p1路径,分别在v1、v3、v3三个节点下对p1进行索引,最终构成的“节点-路径”索引如图5所示。
接着,根据步骤S4,对网络中的节点进行相似性计算。具体计算公式及各个节点的相似性为:
最后,根据步骤S5,运用堆排序算法对所有节点的相似性进行堆排序,返回最相似的三个节点为:v3、v2,v5。
实施例2
发明人运用ER随机网络模型生成一组不同规模的随机属性网络,并且在该组随机网络下,运用本发明以及现有的一种其他方法Panther进行了2组对比实例。在第一组实例中,生成一个拥有100000个节点、1000000条边以及5000个属性的属性网络当中,分别运用本发明以及Panther方法在不同误差范围下进行相似性节点搜索,并记录相应的运行时间。在第二组实例中,生成一组节点个数范围为[100000,1000000],边个数范围为[1000000,10000000]及属性个数为5000的随机属性网络,分别运用本发明以及Panther方法在不同边个数下进行相似性节点搜索,并记录相应的运行时间。其对比结果如图6所示,可以看出在两组对比实验下,本发明的运行时间都比Panther方法要低很多,在误差范围为0.0001时甚至能达到3000倍的时间加速,说明本发明的运行效率要明显高于Panther。
上述具体实施方案及实例仅为本专利的优选实施方案及实例,不能理解为对本专利的实施方式的限定。对于所属区域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (7)
1.一种基于路径采样的大规模属性网络节点相似性搜索方法,所述包括下述步骤:
S1、根据给定的属性网络,构建出一个属性增广图;
S2、根据构建出的属性增广图,初始化传播概率;
S3、根据传播概率,在属性增广图中进行单源路径采样,当路径数量达到R值时停止采样,并对这些路径进行索引;
S4、运用索引的路径计算出节点相似性;
S5、对相似性进行排序,返回搜索节点。
2.根据权利要求1所述的方法,其中,所述的步骤S1具体包括:
用G(V,E,VA,W,WA)表示一个无向加权的属性网络,其中V是节点的集合,E是边的集合,A是属性的结合,W是一个矩阵代表边的权值,WA是一个用来表示节点-属性关系的|V|×|VA|二值矩阵;属性增广图是在原图的基础上,加入属性作为新的节点,加入节点的属性关系作为新的边。
3.根据权利要求2所述的方法,具体地,给定一个属性网络G,它的属性增广图GA构建流程如下:GA中节点集合由G的节点集合V和属性集合VA构成,这里将V称为GA的结构节点集合,VA称为GA的属性节点集合;GA中边集合由G的边集合E以及节点与属性的关系构成的边的集合EA构成,(v,a)∈EA当且仅当WA (v,a)=1,且边的权值都为1,最终构成的属性增图可以表示为GA=(V∪VA,E∪EA,W∪WA)。
4.根据权利要求3所述的方法,其中,所述步骤S2具体包括:
步骤S2是在S1构建的属性增广图GA基础上进行转移概率的计算,GA中有两种节点:结构节点和属性节点,在进行路径采样时,这两类节点之间可以组合成四种随机游走方式,它们的转移概率是不一样的,具体地,对于一个结构节点u∈V,它可转移到一个结构节点或者一个属性节点,并且选择任何一类节点的概率是相同的,假设一个结构边(u,v)的权值用ωuv表示,那么从一个结构节点u转移到结构节点v的概率为:
其中,N(u)表示u的邻居集合,节点的不同属性对节点具有不同的重要性,且属性出现的概率越大,这种重要性就越弱,为了区分属性节点在路径采样时的不同重要性,将一个结构节点u转移到一个属性节点a的概率定义为:
其中,p(a)是属性在所有结构节点中出现的概率,A(u)是u的属性集合;
对于一个属性节点a,它随机游走至一个结构性节点,且转移概率为:
其中,|VA|是拥有属性a的结构节点的数量,两个属性节点之间的转移概率为0,即:p(a,b)=0,b∈VA。
5.根据权利要求4所述的方法,其中,所述步骤S3具体包括:
所述步骤S3会根据所述步骤S2计算的转移概率对属性增广图GA进行路径采样,给定采样路径长度T,误差范围ò,以及置信度1-δ,可以计算出需要采样的路径数R,给定一个查询节点v,步骤S3会反复在属性增广图GA采样一条长度为T的路径,直至路径的总量达到R,具体的流程如下
S31:在[0,T-1]区间生成一个随机整数r;
S32:产生一个空的数组p[],该数组表示一条采样的路径,且p[r]=v,记录当前数组下标i=r;
S33:从节点p[i]开始,当i>0时,根据转移概率随机游走进入下一个节点v',如果v'是一个结构节点,则p[i-1]=v',i=i-1,重复第S33步;当i=0时,记录当前数组下标i=r;
S34:从节点p[i]开始,当i<T-1时,根据转移概率随机游走进入下一个节点v',如果v'是一个结构节点,则p[i+1]=v',i=i+1,重复第S34步;
S35:路径p[]生成完毕,对该路径的所有节点建立“节点-路径”索引,当路径总数小于R时进入第S31步,继续采样下一条路径。
6.根据权利要求5所述的方法,其中,所述步骤S4具体包括:
相似性指标是基于Katz指标的原则计算的,网络中的两个节点越频繁地出现在相同路径,那么它们相似性就越高,因此,基于所述步骤S3所采样出来的所有路径,根据“节点-路径”索引,分别统计查询节点v与其他节点u共同出现在相同路径的次数|Puv|,然后计算节点u与查询v的相似性为
7.根据权利要求6所述的方法,其中,所述步骤S5具体包括:
所述步骤S5将根据所述步骤S4中计算节点的相似性对所有节点进行堆排序,并返回请求v的最相似的k个节点,返回k个搜索结果的需要的时间复杂度为O(|V|logk)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207256.5A CN106649731A (zh) | 2016-12-23 | 2016-12-23 | 一种基于大规模属性网络的节点相似性搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207256.5A CN106649731A (zh) | 2016-12-23 | 2016-12-23 | 一种基于大规模属性网络的节点相似性搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649731A true CN106649731A (zh) | 2017-05-10 |
Family
ID=58827764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611207256.5A Pending CN106649731A (zh) | 2016-12-23 | 2016-12-23 | 一种基于大规模属性网络的节点相似性搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649731A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276793A (zh) * | 2017-05-31 | 2017-10-20 | 西北工业大学 | 基于概率跳转随机游走的节点重要性度量方法 |
CN108924246A (zh) * | 2018-07-25 | 2018-11-30 | 东北大学 | 一种支持用户私有ip发现的跨屏追踪方法 |
CN110011838A (zh) * | 2019-03-25 | 2019-07-12 | 武汉大学 | 一种动态网络PageRank值的实时跟踪方法 |
CN110322318A (zh) * | 2019-06-18 | 2019-10-11 | 中国平安财产保险股份有限公司 | 一种客户分群方法、装置及计算机存储介质 |
CN111613047A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
-
2016
- 2016-12-23 CN CN201611207256.5A patent/CN106649731A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276793A (zh) * | 2017-05-31 | 2017-10-20 | 西北工业大学 | 基于概率跳转随机游走的节点重要性度量方法 |
CN107276793B (zh) * | 2017-05-31 | 2020-04-03 | 西北工业大学 | 基于概率跳转随机游走的节点重要性度量方法 |
CN108924246A (zh) * | 2018-07-25 | 2018-11-30 | 东北大学 | 一种支持用户私有ip发现的跨屏追踪方法 |
CN108924246B (zh) * | 2018-07-25 | 2021-01-01 | 东北大学 | 一种支持用户私有ip发现的跨屏追踪方法 |
CN111613047A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN111613047B (zh) * | 2019-02-26 | 2022-07-08 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN110011838A (zh) * | 2019-03-25 | 2019-07-12 | 武汉大学 | 一种动态网络PageRank值的实时跟踪方法 |
CN110011838B (zh) * | 2019-03-25 | 2021-08-03 | 武汉大学 | 一种动态网络PageRank值的实时跟踪方法 |
CN110322318A (zh) * | 2019-06-18 | 2019-10-11 | 中国平安财产保险股份有限公司 | 一种客户分群方法、装置及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Berahmand et al. | Community detection in complex networks by detecting and expanding core nodes through extended local similarity of nodes | |
CN106802956B (zh) | 一种基于加权异构信息网络的电影推荐方法 | |
CN106649731A (zh) | 一种基于大规模属性网络的节点相似性搜索方法 | |
CN103106279B (zh) | 一种同时基于节点属性以及结构关系相似度的聚类方法 | |
CN111563192B (zh) | 实体对齐方法、装置、电子设备及存储介质 | |
CN103559252A (zh) | 给游客推荐其很可能会浏览的景点的方法 | |
Ahmed et al. | Space-efficient sampling from social activity streams | |
CN104199826A (zh) | 一种基于关联分析的异构媒体相似性计算方法和检索方法 | |
CN103810260A (zh) | 基于拓扑特性的复杂网络社团发现方法 | |
CN110598061A (zh) | 一种多元图融合的异构信息网嵌入方法 | |
CN106951526B (zh) | 一种实体集扩展方法及装置 | |
CN113111185A (zh) | 一种用于知识图谱补全任务的关键路径构建方法和系统 | |
He et al. | Neurally-guided semantic navigation in knowledge graph | |
Wu et al. | Retrospective higher-order markov processes for user trails | |
Wickman et al. | A Generic Graph Sparsification Framework using Deep Reinforcement Learning | |
Chhabra et al. | Missing value imputation using hybrid k-means and association rules | |
CN116127178A (zh) | 基于属性多重异构信息网络的网络文章影响力评估方法 | |
Zhang et al. | Latent dirichlet truth discovery: Separating trustworthy and untrustworthy components in data sources | |
Zhiyuli et al. | Hsem: highly scalable node embedding for link prediction in very large-scale social networks | |
CN110348469A (zh) | 一种基于DeepWalk网络嵌入模型的用户相似度度量方法 | |
CN109885758A (zh) | 一种基于二部图的新型随机游走的推荐方法 | |
Ohama et al. | An extension of the infinite relational model incorporating interaction between objects | |
Yan et al. | Tackling the achilles heel of social networks: Influence propagation based language model smoothing | |
Dutta et al. | Clustering-based web page prediction | |
Tiwari et al. | Link Prediction in Social Networks using Histogram Based Gradient Boosting Regression Tree |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |