时序图节点嵌入策略的研究
吴安彪
,
袁野
,
马玉亮
,
王国仁
软件学报 ![]() ![]() |
![]() |
基于计算机超高速的运算能力, 人们设计出了面向高维数据、多层次的神经网络的模型.在深度学习领域中的图数据方向, 由于图数据结构的非欧式属性, 在神经网络研究初期, 人们并没有找到一种针对图数据行之有效的网络模型.所以, 如何将高维度的图数据结构抽象成低维度、结构性的向量, 然后通过神经网络对得出的节点向量进行参数训练, 是一件非常有挑战性的工作.
2009年, Scarselli等人[1]首次提出了图神经网络模型(graph neural network model, 简称GNN)的概念, 并且文中的基本也是通过整合邻居节点的属性来进行对节点的向量化表达, 给出了一种图表达学习的研究雏形, 一定程度上指导了后来一些研究者们在基于属性图表达学习方向的研究思路, 但是在当时并未引起学者们的广泛关注.直到2014年, 随着DeepWalk[2]算法的提出, 真正引爆了人们对图(节点)嵌入的研究热潮.受启发于自然语言处理中的word2vec[3]算法, DeepWalk算法设计出了一种非常简单且有效的面向节点的向量表达方式, 即通过skip-gram[3]模型训练各个节点随机游走出的序列(节点ID序列), 进行计算节点间的相似性和节点向量.而后在基于DeepWalk算法的基础上, 研究者们陆续提出了LINE[4], PTE[5], node2vec[6]以及stru2vec[7]等节点嵌入算法, 但是这些算法都没有脱离DeepWalk算法的原有框架, 本质上说, 相比较于DeepWalk算法, 这些算法只是在节点游走策略上更倾向于节点游走的有偏性, 即在关注节点拓扑结构的情况下定义出节点的游走概率.在2018年, Dong等人[8]给出了DeepWalk, LINE, PTE和node2vec这4种算法的矩阵表达形式, 更进一步说明了这些算法在思想上的统一性.
虽然这种基于游走策略的图表达学习在一定程度上可以保留节点拓扑结构这一属性, 特别是基于有偏游走策略的方法如node2vec等, 并且在实验中取得了令人满意的结果, 但是基于游走策略的算法同样也有一个非常明显的缺点, 即完全忽略了节点间的属性值对实验结果的作用, 这就使得在某些属性图的数据集上无法达到令人满意的效果.在2017年, Hamilton等人[9]设计了一种名为GraphSAGE的新型采样策略, 首先, 节点v对邻居节点vi(节点v的所采样的第i个邻居)进行采样; 而后对采样后的节点vi再次向下一层节点vij(节点vi所采样的的第j个邻居)进行采样; 然后由外向内对所采样的节点特性信息进行聚合, 从而得到节点v的一个新的聚合后的特征向量.GraphSAGE算法虽然考虑了节点特征向量这一因素, 但在一定程度上弱化了对节点拓扑结构属性的保留.同年, Kipf[10]提出了一种半监督分类的图卷积网络(graph convolutional networks, 简称GCN).与GraphSAGE的策略有所不同, 文献[10]中通过共享权值对单一节点所有邻居节点特征进行卷积操作, 本质可以看成加权求和, 并且由公式
${\alpha _{i, j}} = \frac{{\exp (LeakyReLU({{\vec a}^T}[W{{\vec h}_i}||W{{\vec h}_j}]))}}{{\sum\nolimits_{k \in {N_i}} {\exp (LeakyReLU({{\vec a}^T}[W{{\vec h}_i}||W{{\vec h}_j}]))} }}.$ |
由于各个邻居节点特征向量的不同, 所以权重系数也会不同, 且共享权重参数W在学习的过程中不断变化, 那么节点间的权重系数也会随着训练的过程而改变.
时序图(temporal graph, 亦被称为temporal network[12, 13], time-varying graph[14, 15])是一种节点边上带有时间标签的基于时间的动态图, 对时序图数据的分析工作在生物信息网络、在线社交网络和道路交通网络等有着重要的应用价值.在生物信息网络中, 生物功能的连接并不是一直活跃的[16], 如在蛋白质互作用网络[17]和基因调控网络中[18], 其中的生物结构体的联系是存在一定的先后顺序的, 而通过分析这些结构体在不同时间段相互关系, 可以更容易确定出它们在网络中的功能.在道路交通网络[19-21]中, 可以结合交通网络中的历史数据, 向用户进行某一时刻的路径推荐或可达性查询等相关工作; 在社交网络中[22-24], 可以通过记录用户间的具体互动, 更精准地刻画用户间的关系.
现有的关于节点嵌入的研究工作更多的是在关注如何更好地在节点表达向量中保存节点的结构属性, 但是在时序图中, 节点间的拓扑结构是随时间动态变化的, 因为节点之间的联系是时序性的, 表明了某种特定信息在节点间传播的先后顺序, 而这种情况尚未被研究者们充分地考虑在图嵌入策略中.
在网络图里, 时序性不仅仅只限于两相连节点间的时序性, 如图 1(a)中的顶点1和顶点2的连接关系只在时刻t1和t2是存在的, 且当不考虑边静态(1, 3)时, 只是单纯地从拓扑结构上看, 在顶点1和2之间是存在可达路径1→2→3的; 但是一旦考虑时间因素, 如果在静态边(2, 3)上的时间戳为t3且t3>t2>t1, 则顶点1和顶点2之间便不再存在可达路径.除了连接时序性和路径时序性以外, 节点的属性有时也会是时序性的, 以图 1(b)中的顶点1为例, 节点在不同的时刻可能会有不同的属性.这一现象在电商网络中是非常明显的, 在推荐系统领域中是一个非常棘手且待解决的挑战.
![]() |
Fig. 1 Instance of temporal graph 图 1 时序图示例 |
基于时序图相比较于静态图所特有的时间属性, 面向时序图的图神经网络模型可总结有如下挑战.
(1) 节点可达性: 如果两个顶点vi, vj仅仅在拓扑结构上存在一条可达路径, 但是在实际情况下并没有任何想连接的可能, 则节点vi在采样时去整合顶点vj的信息是不合适的;
(2) 多边性: 两顶点在一个时间跨度之下不同的时刻会存在多条时间相关的边, 如图 1(c)中的顶点a和顶点b分别在时刻3和时刻5存在两条边, 那么在节点做游走或信息整合时, 需要考虑选择哪条边更为合适?
(3) 路径选择: 选择不同基于时间的路径则会直接影响起始点游走长度或聚合节点信息的多少.如图 1(c)中的顶点b和顶点d, 如果在顶点b到顶点c时选择时刻6的路径, 则顶点b无法到达顶点d; 而选择时刻2的路径时则可达.所以, 准确地选择一条尽可能正确的路径, 才可以整合到尽可能准确的信息;
(4) 路径时间跨度: 当一个顶点沿着一条路径进行游走或者进行信息聚合时, 如果这条路径的时间跨度过大, 那么在靠近路径顶端的顶点和靠近路径起始位置的顶点应该是不能够享有相同的权重系数的.如图 1(c)中由顶点a到顶点f的一条路径(〈a, b, c, e, f〉), 可以看出: 当在路径的a和e之间, 时间跨度只有7;但是当到达顶点f时, 时间跨度陡增为50, 此时可能顶点f对顶点a的影响已经微乎其微了, 但是如果把顶点f的信息整合都顶点a中去, 则不仅使顶点a整合后的信息显得冗余甚至是错误的.所以, 随着时间的增长, 应该弱化联系时间更长的顶点对起始点的影响.
虽然现如今在图嵌入领域已经出现众多研究成果, 但是当对这些研究工作的实验结果进行分析时, 发现了一个非常明显且普遍的问题, 即, 基于不同策略的图表达学习在不同类型图数据上的实验结果是存在差异性的.这是因为有些图数据对其本身的拓扑结构具有很强的敏感性, 而对其自身的属性等因素并不敏感.对于这种类型的图数据, 使用游走策略的节点嵌入方法往往可以得到更好的实验结果; 而对其自身属性等因素较为敏感的图数据, 显然更适用于卷积策略的图表达策略.基于此发现, 可以认识到: 在现有的理论框架和技术水平之下, 想要通过一种统一的图学习模型来进行对所有类型图数据进行图表达的尝试是几乎不可行的.所以, 为了应对面向时序图表达学中的挑战, 本文旨在设计出一种对自身时序性敏感的图数据嵌入学习方法, 以得到一种更符合时序图特性的图表达学习方式.
本文创新点如下:
(1) 整合现有的图嵌入思想和时序图相关特性, 设计出一种新型的、可以满足对时序图数据进行分析的时序图嵌入策略;
(2) 为解决不同类型时序图节点间活跃性差异巨大的问题, 设计出一种自适应、满足时序可达性的节点游走模型, 尽可能地保留在不同的时间段节点和其周围节点联系的时间性质;
(3) 为了尽可能快速地得到节点在不同时间段所游走出的节点序列, 通过将在游走过程中的节点存在双向、时序多叉树中.如此, 在游走结束后, 可以简单且快速地得到节点的游走序列;
(4) 在嵌入方法特性和图拓扑结构的基础上, 尝试通过提出重要节点采样的方式来缩减面向单节点的神经网络模型的训练时间;
(5) 在不同类型的真实时序图数据集上进行了面向时序图不同任务的实验, 以此验证了本文中所设计方法的通用性、准确性以及高效性.
本文第1节对时序图相关的基本定义和时序图嵌入问题定义进行说明.第2节给出一种基本的、时序性的游走方法.第3节提出一种更有效的面向时序图的游走策略.在第4节中进行重要节点采样的工作.第5节中对在时序图上的各项实验分析进行说明.第6节中对相关工作进行说明.
1 问题定义本节将对一些基本的问题进行梳理, 对所面向的研究对象时序图的类型进行介绍, 对基本的概念做出定义.并在表 1中对本文所常用到的一些符号的意义进行简要说明.
![]() |
Table 1 Labels and meanings 表 1 常用符号表示 |
一般情况下, 时序图边都是离散型表达, 如图 2(a), 节点u在时刻t指向节点v的边表示为(u, v, t, λ), 其中, λ表示到达时间, 即节点u在t时刻出发经λ时间达到节点v.在本文中, 由于并没有涉及到节点间基于时间的路径查询等问题[25], 更注重的是节点u到达节点v的时刻, 从而无需刻意考虑l, 所以在实际操作中, 可以将t=λ+t来看待.如此, 在本文中的时序图便可以简化为(u, v, t)的形式, 其中, t=λ+t.以图 2(a)中顶点a和顶点b为例, 假如在0时刻由a向b发出信息, 经历λ=1个时间单位到达, 则其边上权重为1.而在社交网络数据集中, 由于消息的即时性往往将l=0做处理.而对于另外一种情况, 如果λ表示联系持续时间, 即在t时刻两节点建立联系, 持续λ个时间单位, 基于最早到达的原则, 将λ忽略处理, 两节点边上的权重赋值为t.需要注意的是: 在真实地数据集上, 数据表示形式中的两节点的联系往往都是即时性的, 所以在λ这个层面上无需做过多考虑.在此种类型的离散型时序图便是本文所研究的对象.
![]() |
Fig. 2 Instance of different types of temporal graph 图 2 不同类型时序图示例 |
除此之外, 还有种特殊的时序图亦称时变图(time-dependent graph)[26, 27], 其边上的权重是由时间相关的函数f(t)所决定, 非离散的, 如图 2(b)所示.此种类型的时序图由于应用范围实在有限, 所以并不在本文研究范围之内.
定义 1(时序图). 给定时序网络GT(V, E, TE, X)表示为节点间带有时序关系的有向时序图.V表示节点的集合, V={v1, …, vn}, E表示边的集合, 且|V|=n, |E|=m.TE表示图中所有节点之间存在联系时刻的集合, T(u, v)表示在节点u和v之间存在联系的时刻的集合, 如图 2(a), T(a, c)={2, 6}, 且T(u, v)∈TE.X表示节点特征向量集合, X={x1, …, xn}, 其中, xi表示节点vi的特征向量.
定义 2(到达时间). 给定时序图GT(V, E, TE, X), 在时序图GT中, 则由节点u到达节点v的时间表示为Arr(u, v), 且Arr(u, v)=T(u, v)+λ.
由于在本文中将λ=0处理, 所以以图 2(a)为例, Arr(a, b)=T(a, b)={1}, Arr(a, c)=T(a, c)={2, 6}.
定义 3(时序可达路径).
给定时序图GT(V, E, TE, X), 在时序图GT中, 路径〈v1, v2, …, vk〉满足时序可达当且仅当
以图 2(a)为例, 顶点a到顶点f存在3条时序可达路径: 〈a, b, c, f〉, 〈a, c, f〉和〈a, d, f〉, 以路径〈a, d, f〉为例, 若顶点a到顶点d的到达时间由4变为9, 则路径〈a, d, f〉为非时序可达路径, 因为在时刻9之后, 顶点d和f之间的联系便中断了.
定义 4(时序图表达学习). 给定时序图GT(V, E, TE, X), 时序图节点的表达学习可以形式化地表示为: 通过学习函数f, 在采样节点满足时序可达的条件下, 将节点vi映射到一个维度为d的向量, 且d≪|V|, 即:
$f: V \rightarrow Z, Z=\left\{z_{1}, \ldots, z_{n}\right\}, z_{i} \in R^{d} , $ |
其中, 向量zi对应节点vi最终的向量表达形式.
2 游走策略在时序图中的限制和不足基于以上对时序图的定义、特征以及应用场景的介绍, 下面对由于受时序图本身特性所限的节点表达问题所面临的限制或挑战进行分析.尽可能地分析出问题的症结所在, 是解决问题的第1步, 然后才能针对症结做出对应的解决策略.
● 限制1:游走序列不能有效地保留时间因素
在基于游走策略的节点表达学习时, 首先需要得到一个节点的游走序列, 以图 3中顶点a和o为例, 当不考虑顶点间的时序关系时, 顶点a可以通过〈a, f, n, o〉和〈a, e, l, f, n, o〉两个路径到达顶点o, 并以此得到〈a, f, n, o〉和〈a, e, l, f, n, o〉两个游走序列.顶点a和o的远近只能说明两者在拓扑距离上是接近的.当考虑时序关系时, 由于路径〈a, e, l, f, n, o〉不满足时序可达性, 所以顶点a只能通过路径〈a, f, n, o〉达到顶点o.
![]() |
Fig. 3 Random walk paths selection in temporal graph 图 3 时序图节点游走路径选择 |
这样, 便可在牺牲些许“拓扑”属性的前提下, 更好地保留节点间的时序属性.这在对节点间对时间敏感的实验结果中无疑是更友好的.并且仅仅在拓扑结构上相近的点并不见得就是真的“亲近”, 当他们不满足时序可达时, 可能表明在实际情况中两顶点并没有过多的联系, 仅仅受制于拓扑关系, 而使得他们看起来很“亲近”而已.
● 限制2:局部拓扑结构的动荡变化
有时在很小的时间跨度内, 在一个图的局部范围内, 节点间关系的动态变化有限, 对单一节点vi在不同的时刻游走会得到很多的重复路径.以图 3中的顶点a和d为例, 在2和4时刻, 顶点a在路径4上走出的满足时序可达路径是相同的; 而当时间的跨度相对较大, 到达8时刻时, 就可以得到一个不同的时序可达路径.当节点间的联系时刻突然发生了较大的变化时, 有可能在和其相关的局部拓扑结构会发生了一些“动荡”, 这个时候可以在动荡之后的时刻进行重新游走, 以得出一个新的路径, 而在动荡之前, 可以尽可能少地采样.
这种现象在实际的网络图中也是普遍存在的, 以最典型的交通网络图为例, 在不同的时刻(早高峰、晚高峰和平时), 每个路段的通行时间是不同的, 如此便导致了局部连通性的变化, 等由始发地A行驶到目的地B时, 在不同的时刻可能就需要选取不同的路径.
● 限制3:不同类型的时序网络中动态变化率差异极大
在不同类型的时序网络中, 各个节点间联系频率的差异是非常明显的.有的可能是以毫秒级来计算的(通信服务网络等), 而有的可能是以分钟、小时, 甚至以天来计算(邮件网络等).针对这种情况, 对于如何设计一种自适应的节点采样策略, 如此可以在不同类型的时序网络数据中解决限制二所面临的问题, 便成了一个很大的挑战.
● 限制4:采样路径的时间跨度问题
考虑到时间的变化对时序图中的拓扑结构和节点间的关系属性影响很大, 所以一个节点受其相近邻居的影响也应该是局限在一定的时间范围之内的.正如在真实的一个网络中(脑网络、交通网络抑或邮件网络), 脑网络中的一个神经元a1在时刻t1发送到另一个神经元的信息并不会永无休止地在这个网络中一直传递下去, 经过若干个神经元后, 在时刻ti传递到神经元ai, 而在经过若干个时刻后, 有一个信息从神经元中ai发出, 而这个信息可能只是单纯的由神经元ai发出, 已经和初始神经元a1无半点关系, 所以在此时刻以后的时序路径应该归属于神经元ai而不是a1.这种现象在时序网络中应该是一种很常见的现象, 特别是在社交网络中, 信息往往都是即时性的, 这种现象应该更为常见.
所以当对初始节点vi进行满足时序可达性的路径上进行采样时, 随着采样路径中节点的增加, 路径的时间跨度也就越大, 这个时候应该检测路径尾部的节点和初始节点vi虽然满足时序可达性, 但是两者相互间的关联性是否是间接地借助中间节点完成的, 且传递的性质是否已经发生了变化.
3 基本的时序节点嵌入策略结合现有游走策略的嵌入方法和节点间的时序性, 一种最简单的时序图嵌入策略就是在节点游走的过程中记录游走序列中最新节点的到达时刻, 进而对下一个可以游走的节点的进行选择.
首先, 需要将时序图GT转化为一种更方便操作的静态图, 如图 4所示.图 4(a)是原始的时序图GT, 图 4(b)是转化后所对应的静态图.在图 4(b)中, 具有相同颜色的节点表示在不同时刻的同一个节点.以顶点a为例, 在图 4(a)中, 顶点a分别和顶点b~d在1, 2, 4和6这4个时刻存在联系, 则在图 4(b)中, 有4个与之对应颜色相同的顶点a1, a2, a4, a6, 同时按时间顺序由较早时刻的顶点依次指向较晚时刻的顶点, 如图 4(b)中颜色和顶点相同的边所示.图 4(b)中顶点的下标表示顶点u到达邻居顶点v的时刻, 或从邻居顶点v到达自身u的时刻, 即顶点在不同时刻的出边和入边, 如其中带箭头黑色边所示.
![]() |
Fig. 4 Instance of temporal graph 图 4 时序图示例 |
在仅考虑节点间的时序可达的条件下, 首先将时序图转化为静态图, 图 4所示; 然后结合现有的节点随机游走策略, 借助于自然语言处理中的skip-gram模型, 设计出一种最基本的基于时序图的节点嵌入算法.
算法的基本思想: 首先, 在时序图中, 受时间因素所限, 节点会丧失游走的“自由”度, 当初始节点v游走到节点u后, 需要选择所要游走u的邻居节点{u1, u2, …, un}时, 需要首先判断节点u的访问时刻Arr(v, u)是否小于等于和其邻居节点ui的最大联系时刻
算法1. Basic时序嵌入.
输入: 时序图GT(V, E, TE), Skip-Gram模型, 游走步长L;
输出: 时序图节点表达向量Z.
1. WL, ul=Ø; //WL: 所有节点游走序列集合, ul: 节点u的游走序列
2. FOR node u in GT
3. ul=u //对节点u初始化其游走序列
4. WHILE |ul| L //控制游走长度
5. u=ul[-1] //取出游走序列的尾部节点作为再次游走的起始点
6. FOR node v in Nu //Nu表示u的邻居节点集合
7. Rand choose node v in V∈Nu and Visit(u)≤max(T(u, v)) //有时序可达的节点存在
8. Visit(v)=t for t in T(u, v) and t>Visit(u) //记录节点v的游走到达时间
9. ul=ul∪v //更新节点v的游走序列ul
10. IF ∀vin Umax(T(u, v))>Visit(u)
11. BREAK //不满足时序可达, 游走终止
12. END FOR
13. END WHILE
14. WL=WL∪ul //更新游走序列WL
15. END FOR
16.z=Skip-Gram(WL) //返回所有节点的向量表达
在第3行, 首先将节点u本身作为有序列的起始点; 第5行表示从现有的游走序列中的尾部取出节点作为下一次游走的起始点; 第7行~第11行表示当游走序列停留在节点u上时, 从其邻居节点集合Nu中随机选择一个满足时序可达的节点v到u的游走序列ul中去, 如果没有满足时序可达的邻居节点, 则游走停止; 第14行~第16行表示首先记录所有节点的游走序列(第14行), 然后通过skip-gram模型得到各个节点的向量表达.
但是需要注意的是: 这种基本的时序图嵌入策略无法很好地解决在第2节中所提到的各个限制, 特别是无法自动识别出不同类型时序图的动态变化率和采样路径的时间跨度问题.基于此, 进一步对基本算法进行改进, 以更好地应对以上限制.
4 对基本时序节点嵌入策略的改进由于不同类型时序图的动态变化率有很大的差异, 相对的也就决定了在不同类型的时序图中采样路径的时间跨度也会有很大的不同.由于前一节所提出的Basic算法无法有效地解决这两种问题, 所以在Basic算法的基础上, 本节提出了一种自适应时序图动态变化的新型嵌入策略.
4.1 自适应时序节点嵌入基于上一节中提出的基本嵌入策略所面临问题的基础上, 本小节提出一种改进的自适应时序图节点采样策略ATGEB.策略思想: 网络的动态变化是因为信息在其中的流通, 信息通过用户间建立联系进行传播.而信息同样也在随着时间的改变而发生变化, 即信息在时序网络中是有“传播寿命”的.不同的信息Infi和Infj在网络中传播的时间跨度可能有完全重合、部分重合以及完全分离这3种情况.在全局的角度下, 很难通过时间来区分这些不同的信息; 但是一旦具体到各个单一节点u中去分析信息的传播时, 便可能通过节点间的联系间接地保存这些信息特征.假设信息Infi和Infj的传播时间跨度都是[t1, t2], 当信息分别传播到节点ui, uj时, 便可以通过观察在[t1, t2]间与两节点抱有联系的节点来间接地区分两种信息, 因为不同的信息所作用的节点也可能是不同的.
通过这种思想, 可以对节点ui在不同的信息Infi下进行游走, 这样尽可能保留节点ui在不同类型信息传播下和其相邻节点的时序关系.但是需要注意的是: 正常情况下, 出于对用户隐私保护的需求, 研究者是无法得到这些具体信息的传播途径的.结合信息自身传播的特性, 可以从节点活跃时刻集合入手来进行问题的研究.
节点u与其邻居节点Nu的联系时刻
首先对Tu中的各个时刻进行排序, 得
通过DBSCAN将Tu聚类后会得到若干各集合类
这种无监督的聚类方式可以很好地解决不同类型时序图中节点活动频率有差异的问题, 因为将对象半径E设置好之后, 便可以对各个时刻进行自动聚类.如果某一节点u非常规律地向其邻居节点发送信息, 即AFu保持不变, 如此便间接说明了所传递“信息”的相似性甚至大概率表明一直都是在传递同一种信息, 而通过这种自适应的聚类方式, 便可以将Tu中的元素聚类到同一种类型中去, 如此便可以在一定程度上减少了在不同时间段重复采样的可能, 避免造成采集数据过分冗余.
算法2. ATGEB.
输入: 时序图GT(V, E, TE), Skip-Gram模型;
输出: 时序图节点表达向量Z.
1. WL, ul=Ø; //WL: 所有节点游走序列集合, ul: 节点u的游走序列
2. FOR node u in GT
3. Tu, ul=Ø //初始化节点u的活跃(和相邻接点存有关联)时刻和游走序列
4. FOR node v in Nu //Nu为节点u的邻居节点
5. Tu=Tu∪(T(u, v))
6.
7.
8. FOR C in Ci
9. ul=ul∪PathTree(u, C) //汇总各个时间段的游走序列来更新u的游走序列
10. END FOR
11. END FOR
12. WL=WL∪ul //更新游走序列WL
13. END FOR
14. Z=Skip-Gram(WL) //返回所有节点的向量表达
针对在不同时间段Ci中节点u如何向其相邻节点进行游走的问题(第9行), 在算法3中做出详细说明.其主要思路是: 在节点u在其邻居节点Nu选取一个节点v, 节点v在时间段Ci内和u存在联系, 且存在联系时刻T∈Tu接近或等于时间段的起始值min(Ci).然后由选取的节点v向外发散游走, “追踪”信息的传播路径.
算法3. PathTree.
输入: 时序图GT(V, E, TE), 节点u, 时间段Ci;
输出: 节点u在时间段Ci内的游走序列ul.
1. u.prev, u.next=Ø, u.name=u //prev, next分别保存前序、后续节点
2. Q.pull(u), TL=Ø //u作为树的根节点, TL保存树的叶子节点地址
3. WHILE Q is not empty //构造游走树
4. u←Q.push
5. FOR each node v in Nu
6. IF Nu=Ø //无邻居节点则将其记录为叶子结点并终止游走
7. TL.pull(u) //记录其为叶子结点
8. BREAK
9. ELIF T(u, v) exist in [min(Ci), max(Ci)] and u.Arru max(Ci) //判断是否在规定时间段内可达
10. v.Arrv=t for t in T(u, v) and t>=Arru //记录游走到新节点的到达时间
11. v.prev=u, v.name=v; //指出前序节点方便游走序列的提取
12. u.next.pull(v) //保存后续节点
13. Q.pull(v)
14. ELIF T(u, v) not exist in [min(Ci), max(Ci)]
15. TL.pull(u) //在规定时间内不可达, 则此路径终止将其设置为叶子结点
16. END FOR
17. END WHILE
18. FOR tree leaves tl in TF: //通过叶子节点查询多条游走路径
19. list=Ø //初始化游走序列
20. WHILEtl!=Ø
21. list=list∪tl.name //获取节点名字
22. tl=tf.prev //通过叶子节点向根节点进行节点序列的查询
23. END WHILE
24. ul=ul∪tl //得到一个关于节点u的序列集合
25. END FOR
26. RETURN ul //返回节点u在规定时间段内的游走序列
结合示例图 5对算法3进行详细说明.首先需要说明: 图 5中的树是一个多叉时序可达树, 即有根节点到叶子结点是满足时序可达的.在第1行中, 对根节点的名字、后续节点集合和前序节点做初始化.需要注意的是: 由于是多叉树, 所以树的非叶子节点保留其各个后续节点的地址集合, 而前序节点保存一个单一的地址.第5行~第8行: 表示节点的邻居为空, 则将此节点记录为叶子结点, 将其地址记录到叶子结点集合TL中.第9行~第13行: 如果有满足需求的邻居节点v, 即在时间段内Ci满足可达关系, 则更新节点v的到达时间、前后序节点地址, 记录节点名字, 并将其放入树中.第14行、第15行表示节点u无满足可达性的邻居节点存在, 则将u作为树的叶子节点, 并将其地址记录到TL中去.
![]() |
Fig. 5 Random walk paths selection in temporal graph 图 5 时序图节点游走路径选择 |
而后, 第18行~第24行表示通过在TL所记录的叶子结点地址进行游走序列提取.如图 5(b)所示: 首先, 通过f以此向上直到root顶点a, 得到一个节点序列ul1='f, c, b, a'.需要注意的是: 这个序列是和真实序列相反的, 所以在算法实现时, 需要将每次提出的节点名字放在序列最前面, 这样便可以得到真实的序列ul1='a, b, c, f'.第24行中的ul表示节点的在这个时间段内的序列集合, 以图 5(b)为例, 即ul=[[a, b, c, f], [a, c, e], [a, c, f], [a, d, f]].这样便可得到了一个节点u在时间段Ci内和信息Infi相关的游走序列集合.
4.2 嵌入准确性的简要分析首先简要介绍skip-gram模型在节点嵌入中的运行原理, 从节点的表达向量是如何得出的角度进行分析.如图 6所示, 节点的one-hot向量由隐藏层加权后到输出层分类, 通过计算在移动窗口w内节点和其余各个节点的概率值和softmax层的输出值的差异作为损失量, 进行向后传递更新各层的权重值, 然后通过移动窗口进行持续更新.最后, 通过隐藏层H的权重值得到相应节点的向量表达Z.
![]() |
Fig. 6 Instance for nodes embedding 图 6 节点向量嵌入示意图 |
假设时序网络中存在用户传递的信息I个: Inf1, Inf2, …, InfI, 同时存在的节点标签(类)L个: Lab1, Lab2, …, LabL.而不同标签的用户对不同信息的敏感度是不一样的, 这也就说明标签决定了用户对不同信息的接收和传播的概率是不同的, 即通过不同的信息用户“接触”到不同的用户.反之可以推断, 若干种信息Infi, Infj, …, Infk可以间接决定用户的标签, f(Infi, Infj, …, Infk)=Labi, 所以通过用户所接收或传播的信息类别, 可以更准确地判断出其所属的标签.
在节点分类的神经网络中, 两个节点的向量相似度越高, 也就意味着同属于一种类的可能性越高, 即:
$\left[\operatorname{sim}\left(z_{i}, z_{j}\right)>\operatorname{sim}\left(z_{i}, z_{k}\right)\right] \approx\left[P\left(u_{i}, u_{j} \in L a b_{l}\right)>P\left(u_{i}, u_{k} \in L a b_{l}\right)\right]$ |
将在图 6中的用户列表示为U, softmax层表示为输出层O, 隐藏层表示为H, 对于一个已经训练好的skip-gram模型, 对于属于同Lab的用户节点u和v, 假设其经softmax层输出后的前w个类对应用户分别为(
上述主要描述了在进行节点嵌入网络中的向前传播机制, 基于此, 进一步说明隐藏层的更新方式.假设节点u在一个游走序列ul中, 以u为中心所构成的一个大小为w的窗口Winu={u1, …, u, …, uw}, 则在此窗口内的网络训练误差
所以, 通过以上的分析可知: 对于属于同Label的节点u和v, 要使得两者的嵌入向量zu, zv相似, 则需要使得在所有游走序列ul中的分别以u和v为中心的移动窗口Winu, Winv中出现的高频率节点集合尽可能高地重合, 且同属相同的Label的节点应该有着相似的重合度.因为如果不同的Label的节点有了相似的重合度, 便也意味着可以得到相似的表达向量z, 而这显然与两者的Label不同这一前提是矛盾的.
对于同Label两节点u和v, 设其可能的游走节点的集合分别为
在图数据结构中, 由于其复杂的拓扑结构, 通常都会有大量的节点在很短的距离内聚集在一个社区中.而通过节点嵌入算法的思想可以看出: 在一个密集的社区内, 其中大量的节点会游走出很相似的序列, 进而也会产生相似的向量表达.而这些非常相似向量并属于同一种类Ci的话, 那么在进行节点分类的任务工作中, 如果应用要在尽可能短的时间内, 且可以承受模型有一定误差的这种需求的话, 是否可以通过采样同一类型中具有相似向量节点中的若干个节点向量进行神经网络中参数的训练呢?这样便可以在尽可能短的时间内训练出神经网络中的参数权重.
对于节点ui, uj和uk, 其所对应的游走序列分别为uil, ujl和ukl, 如果ui和uj的距离d(ui, uj)>d(uj, uk), 说明节点ui相较于节点uk更接近于uj.则在一般情况下, 两节点的共同邻居同样也满足
根据以上分析可知: 可以选取图中的若干个稠密子图g1, g2, …, gm作为密集社区来选取重要节点, 稠密子图gi需要满足对于任意两节点vi, vj∈gi, 两节点的距离
![]() |
Fig. 7 k-core communities in graph 图 7 图的k-core划分 |
文献[28]中的kr-Clique算法旨在找出所有满足需求的社区, 但是在本文中这是没有必要的, 重要节点的采样旨在选取相对于节点类Ci更具有代表性的节点向量作为训练样本集进行训练, 而无需选取所有的节点.在这种思想的指导下, 可以在图中选取若干个度数较大的节点
对于中心节点和重要节点的选取工作, 本小节通过一种类似于影响力最大问题中基于节点度的启发式算法[29]进行选取, 详见算法4所示.
算法4. INS(important nodes sampling)算法.
输入: 时序图GT(V, E, TE), 节点类, C1, C2, …, Cc, 中心节点个数N;
输出: 重要节点的向量集合ZIN.
1. krC=Ø, i=0, ZIN=Ø //krC表示已选取的社区节点集合
2. WHILE (i<N)
3. FOR node u in W=GT∩krC
4. Chose ui as central nodes if d(ui)>d(uj)|(uj∈W) //选择节点度数最大的节点作为中心节点
5.
6. FOR j in range(r) //社区节点间的最大跳跃数
7. WHILE BN1!=Ø
8. v=BN1.pop //通过边界点选取新的节点进入社区
9.
10. END WHILE
11. BN1=BN2, BN2=Ø //通过BN2更新边界点BN1
12. EBD FOR
13. END FOR
14. Chose important nodes S in krCui in a certain proportion //选取重要节点集合S
15.
16.END WHILE
17. RETURN ZIN //返回重要节点向量集合
第1行的krC表示已经选取的社区节点集合, i控制社区中心节点选取的数量.第3行、第4行表示在选取新的中心节点ui时, 使得ui不在已经选取的社区中, 即与现存的所有的中心节点的距离都要至少大于等于2, 且ui的度数在剩余节点中保持最大, 这样可以在图中尽可能广的范围内选取中心节点, 而不是集中在图的某一个局部地区.以图 7为例, 首先选取a为中心节点选取一个(3, 3)-Clique, 然后在剩余节点中, 将b作为中心节点.第5行~第12行表示以节点ui为中心的
而以上的重要节点的选取都是在稠密社区的基础上完成的, 但是在实际的图数据中, 有很多的节点或者新的连通结构体都是游离在这些社区之外.为了使得选取的节点不仅仅具有代表性, 还应更具有统一性, 所以最后还需要在这些“游离”的节点中按照同样的比例随机选取节点添加到训练样本集合ZIN中去.
6 实验和评估在算法实验的设计和验证上, 为了充分验证算法在不同类型数据上的表现, 本文选取了4种在节点(边)规模上、时序边分布、稠密度等图结构方向都有明显不同的真实数据集作为输入数据, 并在节点聚类、链接预测、节点分类和节点时序可达检测这4个方向对算法进行验证.
6.1 实验数据和参数设置(1) 实验数据
数据集D0[30]和D1[31]分别取自两个名为Bitcoin OTC和Bitcoin Alpha的比特币交易平台, 主要注意的是: 这两个数据集为用户的金融交易数据, 非普通的社交网络, 用户与其邻居只存在一次联系, 从数据中的时序边等于静态边可以看出.数据集D2[32]和D3[32]分别取自名为Math Overflow和Super User的堆交换网站中的时序网络数据.各个数据集节点规模、静态边、时序边以及节点的活跃频率的分布情况详见表 2.并且从表 2的数据可以看出: 各个数据集在不同的指标上有很大的差异, 满足了实验需求.
![]() |
Table 2 Info of data sets 表 2 实验数据集信息 |
(2) 对比算法
本文除了在数据集上完成了本文所提出的算法, 同样对以下3种算法在数据集上进行了复现作为对比.由于其中某些算法不支持时序性可达的游走策略, 在数据集上进行复现选择将数据作为静态图看待, 即忽略边上的时间戳:
● DeepWalk.首先, 将时序图GT中的时间戳删除, 将其转化为静态有向图; 然后, 在静态图的基础上通过DeepWalk算法对节点进行向量化表达;
● Node2vec.和DeepWalk算法相比, node2vec算法的不同之处在于: 当游走经过节点t到达u后, 向邻居节点v进行游走时, 首先需要计算u的每个邻居节点的游走概率apq(t, v), 然后借助于Alias采样方法选择下一步游走的节点v.游走的概率计算公式见公式(1):
${\alpha _{pq}}(t, v) = \left\{ {\begin{array}{*{20}{l}} {1/p, {\rm{ if }}\;{d_{tv}} = 0}\\ {{\rm{1, if }}\;{d_{tv}} = 1}\\ {1/q, {\rm{ if }}\;{d_{tv}} = 2} \end{array}} \right.$ | (1) |
其中, dtv表示两节点路径长度.在本次实验中, p设置为0.25, q的值设置为4, 然后通过Alias算法进行游走采样;
● CTDNE[33].这种算法的思想与本文的Basic和DeepWalk算法一致, 只是节点在游走的过程中, 作者设置一个节点对时间相关的概率, 即有偏采样, 以此来左右节点对邻居节点的选择.
(3) 实验环境
64位操作系统: Windows10, CPU: i5-8400@2.80Hz, 内存为24G, 硬盘500GB, 编程环境为Python 3.7.
(4) 参数设置:
在通过skip-gram生成节点向量时, 窗口大小设置为5;节点的游走步长L分别设置为10, 20, 30, 40和50;节点u生成的向量zu的维度大小d=100;学习率r=0.01, 在分类任务中的损失函数为交叉熵损失函数.
6.2 节点聚类在节点聚类的实验中, 通过两种方式来对各个算法的聚类效果进行评测: 跨类的静态边EC(edges crossing clusters)和时序边TC(temporal edges crossing clusters)的数量.假设通过节点的表达向量将节点聚类为N类: C1, C2, …, CN, 用Cv表示节点v所属的类.则
为了尽可能公允地分析实验的结果, 在实际的实验中, 分别将节点聚类成4类和5类, 然后在计算出各种算法在不同聚类的情况下的表现.详情如图 8和图 9所示, 其中, TC(i)和EC(i)中的i表示的是节点的游走长度: 由10~50.
![]() |
Fig. 8 Node clustering in temporal graph 图 8 时序图节点聚类 |
![]() |
Fig. 9 Analysis for important nodes sampling 图 9 重要节点采样分析 |
图 8中的各个子图的纵坐标表示数量, 横坐标表示在TC和EC下的节点游走的长度L: 10~50.由图 8(a)和图 8(b)中的数据可以看出: 本文的方法在起始阶段会更快地收敛, 但是随着游走长度的增加逐渐趋于平稳.这是因为受采样策略所限, 因为一旦采样策略受时间所限, 则其游走长度到达一定的长度后便会自动终止.可以看出, 本文的方法基本上会在30步以后趋于平稳.由此可知, 游走的序列长度大部分应该在30步以内.在图 8(a)和图 8(b)中可以看出: ATGEB在前期有一定的优势, 但是随着游走长度的增加, 便和DeepWalk和node2vec保持基本一致.但是在图 8(c)和图 8(d)中可以看出, 后两种方法在在数据集D2和D3中更有优势.通过此实验, 旨在表明对于传统的节点聚类问题上, 基于时序节点嵌入的策略对数据集的属性较为敏感, 即对某些特定类型的数据集有一定的优势, 但不如传统的DeepWalk和node2vec这类算法可以较好地应用在各类型数据中.
6.3 连接预测和可达性检测在此次实验中, 首先在链接预测的任务中, 分别对每个节点v选取样本向量, 选取节点v的1/2|Nv|个邻居节点作为正样本, z(u, v)=zu+zv, 其中, ‘+’表示拼接, 相应的类为1, 表示两节点有边, 然后在图中随机选取同样数目节点
![]() |
Table 3 Accuracy of link prediction and temporal achievability (%) 表 3 链接预测和时序可达性检测准确性 (%) |
首先需要说明的是: 时序图节点的嵌入在链接预测的问题上受限于其游走策略的影响, 其结果有很大的可能性弱于普通游走策略的, 特别是在节点间联系时刻很少的情况下.正如表 3所示: 在数据集D0和D1中, 基于时序采样的方法在链接预测上有明显的弱势.因为从D0和D1中的数据信息可以看出, 节点间的联系是非常单一的.由于是货币交易网络, 用户间在全局范围内只有一次联系, 即时序边和静态边相同, 这也就导致任何基于时序游走策略的方法的游走长度都会更大程度地受时间因素所限制.但是当随着用户联系次数增加, 本文所提出的算法和DeepWalk和Node2vec的差距也就越小, 在数据集D2中只有微小的差距, 而在D3数据中生成了更好的实验结果.
在节点间的时序可达性检测问题上, 形势则会发生改变.在此问题上, 传统游走策略的准确度会有明显的下降.因为传统的游走策略是完全没有考虑节点间的时序关系的, 即节点的表达向量中并没有充分保存节点间的时序特性, 而基于时序图游走的策略在采样过程中遵循时序可达这一条件的.并且从中可以看出: ATGEB在数据集D0和D1中有着明显的优势, 而在D2和D3中不如前者更明显.这是因为在后两种的数据集中, 节点的活跃频率更高, 节点间的联系更频繁, 节点的路径所满足时序可达性的几率也就越大(相较于前两种数据集).
6.4 节点分类和重要节点采样在本小节的实验测试中, 主要集中在节点的分类和重要节点的采样.在重要节点的采样中, 对比了对于不同训练集且选取方式不同下的训练时间和结果.其中的训练集的选取方式有3种: 一是正常取20%的数据集S作为训练集; 一种随机取十分之一S规模的数据集作为训练集; 最后一种是在第4节中所介绍的重要节点采样的方式, 同样选取和第2种同等数量的数据集作为训练集.然后对比在完全相同的神经网络中的训练时间和测结果的变化情况, 来判断重要节点的采样是否可以通过在尽可能少的误差内用更短的时间训练数据.
在测试的时序图数据集中并没有对节点所属的类进行标注, 所以在此次实验中, 通过两种方式对节点进行标注3种类型来进行模拟实验验证.因为在实际的数据集中, 属于相同类的节点相对而言都有更短的跳数距离, 基于此, 通过以下两种方式对节点进行模拟标注分类.
● 第1种方式是选取若干个距离尽可能远的节点u1, …, uk, 分别标注为C1, C2, C3, 然后以这些节点为中心, 取得这些节点相近邻居的集合
● 第2种方式是中心节点在选取临近节点时需要满足时序可达, 得到集合
通过这两种方式的对比, 来尽可能真实、客观地评价本文方法的实验结果.而之所以没有使用对节点进行随机标注3种类型的方式, 因为随机标注的策略会导致本来非常相似的两个向量赋予了不同的类, 导致最后只能识别出一种类型, 经过实验而放弃了这种策略.尽管如此, 这种模拟的方法还是难免出现上述问题, 只能做到尽可能的准确.
实验的结果见表 4, 从中可以看出: 在考虑节点间的时序性时, 传统的采样方法在结果上都会呈现出不同程度的下降; 基于时序游走策略的方法可以更好地保留节点间的时序关系, 从而得出更好地实验结果.在图 9中, 注意: 由于有的数据集规模较小训练时间较短, 为了更方便看清实验的结果, 左子图的横坐标并不是按比例绘制的.同时, 以第1种方式(不考虑时序性)的采样策略进行重要节点采样的结果对比.其中, 在各个对应数据下方, 左边的数据集为随机选取的结果, 相邻右边的数据集为通过重要节点策略选取的节点的实验结果.结合左右两个子图可以看出, 重要节点采样的策略可以在一定的误差损失范围内(本实验中可以控制在2%以内)且在更短的时间完成神经网络模型的训练.
![]() |
Table 4 Accuracy of nodes classification (%) 表 4 节点分类准确性 (%) |
和静态图不同, 时序图中的边会随时间呈现出两种相互转化的状态: 活跃和非活跃.时序图中的顶点只有在边处于活跃状态下是存在联系的.现实中有很多时序网络的例子, 如:
(1) 通信网络: 电邮和手机通讯、短信等都是非常典型的点对点时序网络;
(2) 一对多的信息传播网络: 这种时序网络特点是单一用户向其余多个用户传播信息;
(3) 生物信息网络: 如脑神经元网络、代谢网络和蛋白质互作用网络等.
如今, 在数据库领域, 面向时序图的研究工作主要集中在可达性查询、最短时序路径和到达时间预测[25-27]等方向.
图节点嵌入的工作最早引起人们的注意始于DeepWalk[2]算法的提出, DeepWalk算法开创性地将图的随机游走策略和自然语言处理中的skip-gram[3]文字向量化表达模型相结合, 通过这种极具创新性的方法完成了图节点的向量化表达工作.而后的研究者们[4-7]在DeepWalk算法的基础上, 希望通过一种有偏采样的方式对这种方法进行改进, 进而设计出了不同的节点采样策略, 如node2vec, LINE, PTE以及stru2vec等节点嵌入方法.虽然这些算法在相应的图数据集上, 在链接预测和节点分类等问题上都宣称取得了更好的实验效果, 但是相较于DeepWalk算法并没有质的提升, 并且不同的采样策略在不同的数据集上效果有时会出现明显的差异.由此给后续研究者们在研究节点嵌入表达问题上提供了启发, 即: 在现有神经网络框架训练能力有限的今天, 图节点嵌入的向量化表达的研究需要着眼于研究者所想要解决的具体问题和图数据所属的拓扑结构特征.如在异质图上做节点嵌入和在知识图谱上的研究方式是不同的, 而当所要解决的问题不同时, 如做节点分类和商品推荐, 也会因所研究问题的不同而做出符合问题实际需要的研究策略.
社区发现[28, 34, 35]是一个在图数据挖掘中经久不衰的研究方向.在问题的起始阶段, 研究者们主要致力于将拓扑距离相近的网络用户聚集在一起, 形成一个社区.而随着问题的深入研究和现实一些实际的应用需求, 研究者们更倾向于将“兴趣点”一致的用户聚集在一起, 形成一个基于共同“兴趣点”的社区.在这个社区中, 各个用户通常有着共同的兴趣或类似的属性, 如此可以通过这些兴趣点, 更精准地向用户推荐他们感兴趣的信息或者所需商品.
8 展望本文的研究工作主要集中在面向无属性的时序图节点嵌入问题上, 并进行了相关实验, 在各个方面验证了所提出算法的有效性和可扩展性.在属性缺失的时序图上是无法使用图卷积的思想对节点进行表达学习的, 所以本文中的嵌入策略无法有效地将节点的属性信息嵌入到节点向量中去.在未来的研究工作中: (1) 将考虑基于属性时序图的节点表达工作的研究, 拟在现有图卷积思想的基础上研究节点属性和节点时序关系的关联, 进而提出一种可以在属性时序图上进行时序图卷积的图表达学习的策略; (2) 本文也尝试了面向图数据的重点采样工作, 在后续的研究工作中, 会对样本节点做出更充分的考虑, 不仅仅只是局限于节点的拓扑结构, 同样也将考虑节点间的属性关系, 借助于图数据相关挖掘算法进行重要节点的选取, 力求使得所选取的节点向量更具有代表性和统一性, 从而能更好、更快地在神经网络中训练出所需的权重参数.
[1] |
Scarselli F, Gori M, Tsoi AC, Hagenbuchner M, Monfardini G. The graph neural network model. IEEE Trans. on Neural Networks, 2009, 20(1): 61-80.
[doi:10.1109/TNN.2008.2005605] |
[3] |
Mikolov T, Chen K, Corrado G, Dean J. Efficient estimation of word representations in vector space. arXiv: 1301.3781v3.
|
[10] |
Kipf TN, Welling M. Semi-Supervised classification with graph convolutional networks. In: Proc. of the ICLR (Poster). 2017.
|
[11] |
Velickovic P, Cucurull G, Casanova A, Romero A, Liò P, Bengio Y. Graph attention networks. In: Proc. of the ICLR (Poster). 2018.
|
[12] |
Wang YS, Yuan Y, Ma YL, Wang GR. Time-dependent graphs: Definitions, applications, and algorithms. Data Science and Engineering, 2019, 4(4): 352-366.
[doi:10.1007/s41019-019-00105-0] |
[13] |
Takaguchi T, Yano Y, Yoshida Y. Coverage centralities for temporal networks. European Physical Journal B, 2016, 89(2): 35.
[doi:10.1140/epjb/e2016-60498-7] |
[14] |
Frand D, Masoud TO, Jörg-Rüdiger S. Shortest paths in FIFO time-dependent networks. Algorithmica, 2012, 62(1-2): 416-435.
[doi:10.1007/s00453-010-9461-6] |
[16] |
Przytycka TM, Singh M, Slonim DK. Toward the dynamic interactome: It's about time. Briefings in Bioinformatics, 2010, 11(1): 15-29.
[doi:10.1093/bib/bbp057] |
[17] |
Han JD, Bertin N, Hao T, et al. Evidence for dynamically organized modularity in the yeast protein-protein interaction network. Nature, 2004, 430(6995): 88-93.
[doi:10.1038/nature02555] |
[18] |
Lèbre S, Becq J, Devaux F, et al. Statistical inference of the time-varying structure of gene-regulation networks. BMC Systems Biology, 2010, 4(1): 1-16.
[doi:10.1186/1752-0509-4-1] |
[19] |
Wu H, Cheng J, Ke Y, et al. Efficient algorithms for temporal path computation. IEEE Trans. on Knowledge & Data Engineering, 2016, 28(11): 2927-2942.
http://dl.acm.org/doi/10.1109/TKDE.2016.2594065 |
[23] |
Panzarasa P, Opsahl T, Carley KM. Patterns and dynamics of users' behavior and interaction: Network analysis of an online community. Journal of the American Society for Information Science and Technology, 2009, 60(5): 911-932.
[doi:10.1002/asi.21015] |
[26] |
Yuan Y, Lian X, Wang GR, Ma YL, Wang YS. Constrained shortest path query in a large time-dependent graph. Proc. of the VLDB Endow, 2019, 12(10): 1058-1070.
[doi:10.14778/3339490.3339491] |
[28] |
Bron C, Kerbosch J. Finding all cliques of an undirected graph (algorithm 457). Commun. ACM, 1973, 16(9): 575-576.
[doi:10.1145/362342.362367] |
[34] |
Wang Y, Jian X, Yang ZH. Query optimal k-plex based community in graphs. Data Science and Engineering, 2017, 2(4): 257-273.
[doi:10.1007/s41019-017-0051-3] |
[35] |
Fan WF, Hu CM. Big graph analyses: From queries to dependencies and association rules. Data Science and Engineering, 2017, 2(1): 36-55.
[doi:10.1007/s41019-016-0025-x] |
[2] |
Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online learning of social representations. In: Proc. of the 20th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2014. 701-710.
|
[4] |
Tang J, Qu M, Wang MZ, Zhang M, Yan J, Mei QZ. LINE: Large-scale information network embedding. In: Proc. of the 24th Int'l Conf. on World Wide Web. 2015. 1067-1077.
|
[5] |
Tang J, Qu M, Mei QZ. PTE: Predictive text embedding through large-scale heterogeneous text networks. In: Proc. of the 21st ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2015. 1165-1174.
|
[6] |
Grover A, Leskovec J. node2vec: Scalable feature learning for networks. In: Proc. of the 22nd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2016. 855-864.
|
[7] |
Leonardo FRR, Pedro HPS, Daniel RF. struc2vec: Learning node representations from structural identity. In: Proc. of the 23rd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2017. 385-394.
|
[8] |
Qiu JZ, Dong YX, Ma H, Li J, Wang KS, Tang J. Network embedding as matrix factorization: Unifying DeepWalk, LINE, PTE, and node2vec. In: Proc. of the 11th ACM Int'l Conf. on Web Search and Data Mining. 2018. 459-467.
|
[9] |
Hamilton W, Ying Z, Leskovec J. Inductive representation learning on large graphs. In: Advances in Neural Information Processing Systems. 2017. 1024-1034.
|
[15] |
Rossi L, Musolesi M, Torsello A. On the k-anonymization of time-varying and multi-layer social graphs. In: Proc. of the 9th Int'l Conf. on Web and Social Media. 2015. 377-386.
|
[20] |
Li J, Han ZC, Cheng H, Su J, Wang PY, Zhang JF, Pan LJ. Predicting path failure in time-evolving graphs. In: Proc. of the 25th ACM SIGKDD Int'l Conf. on Knowledge Discovery & Data Mining. 2019. 1279-1289.
|
[21] |
Hu JL, Yang B, Guo CJ, Jensen CS, Xiong H. Stochastic origin-destination matrix forecasting using dual-stage graph convolutional, recurrent neural networks. In: Proc. of the IEEE Int'l Conf. on Data Engineering. 2020. 1417-1428.
|
[22] |
Kumar S, Hamilton WL, Leskovec J, Jurafsky D. Community interaction and conflict on the Web. In: Proc. of the World Wide Web Conf. 2018. 933-943.
|
[24] |
Bai C, Kumar S, Leskovec J, Metzger M, Nunamaker JF, Subrahmanian VS. Predicting visual focus of attention in multi-person discussion videos. In: Proc. of the Int'l Joint Conf. on Artificial Intelligence. 2019. 4504-4510.
|
[25] |
Wu HH, Huang YZ, Cheng J, Li JF, Ke YP. Reachability and time-based path queries in temporal graphs. In: Proc. of the IEEE Int'l Conf. on Data Engineering. 2016. 145-156.
|
[27] |
Yuan Y, Lian X, Wang GR, Chen L, Ma YL, Wang YS. Weight-Constrained route planning over time-dependent graphs. In: Proc. of the IEEE Int'l Conf. on Data Engineering. 2019. 914-925.
|
[29] |
Chen W, Wang YJ, Yang SY. Efficient influence maximization in social networks. In: Proc. of the 15th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2009. 199-207.
|
[30] |
Kumar S, Spezzano F, Subrahmanian VS, Faloutsos C. Edge weight prediction in weighted signed networks. In: Proc. of the IEEE Int'l Conf. on Data Mining. 2016. 221-230.
|
[31] |
Kumar S, Hooi B, Makhija D, Kumar M, Subrahmanian VS, Faloutsos C. REV2: Fraudulent user prediction in rating platforms. In: Proc. of the ACM Int'l Conf. on Web Search and Data Mining. 2018. 333-341.
|
[32] |
Paranjape A, Benson AR, Leskovec J. Motifs in temporal networks. In: Proc. of the 10th ACM Int'l Conf. on Web Search and Data Mining. 2017. 601-610.
|
[33] |
Nguyen GH, Lee JB, rossi RA, Ahmed NK, Koh E, Kim S. Continuous-Time dynamic network embeddings. In: Companion Proc. of the Web Conf. 2018. 2018. 969-976.
|