掌桥专利:专业的专利平台
掌桥专利
首页

动态图嵌入方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 13:49:36


动态图嵌入方法、装置、电子设备及存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种动态图嵌入方法、装置、电子设备及存储介质。

背景技术

现实生活中的很多场景能够抽象成为网络,比如,社交网络、学术网络、电商网络等。这些由真实数据构成的网络实际上是一种图结构,为了能够准确地分析图结构,首先需要使用合理有效的方法将图中的节点映射为一个低维向量空间,得到节点的低维向量表示,然后再利用节点的低维向量表示完成一些下游任务,比如节点分类、聚类、链路预测、图结构重建等。因此,节点表示的准确与否直接关系到下游任务的准确率。学习节点的低维向量来表示图结构的过程称为图嵌入。

最早的图嵌入算法大多基于静态同构图来研究,例如DeepWalk(深度游走),Struc2Vec等,这种图结构只具有一种类型的节点和边。由于静态同构的图结构过于简单,无法准确表示复杂的场景,后来又出现了研究静态异构图的一些算法,如metapath2vec,HAN(Heterogeneous Graph Attention Network,异构图注意力网络)等,这种图结构具有多种类型的节点和边。但是以上两种图结构都忽略了图的演变过程。考虑图的演变过程的嵌入算法称为动态图嵌入,最近的研究有HTNE(Hawkes process based Temporal NetworkEmbedding,基于霍克斯过程的时间网络嵌入),dySAT(Dynamic Self Attention,动态自注意网络)等。但目前基于动态图的嵌入算法中,有的算法直接将上一时刻的训练参数作为下一时刻的初始值进行训练,还有一些算法使用循环神经网络处理动态图随时间的演变过程,但基本上都是简单地套用LSTM(Long Short-Term Memory,长短期记忆网络),对图随着时间演变的处理都十分生硬,不能准确地学习到动态图演变的信息。

发明内容

针对现有技术存在的问题,本发明提供一种动态图嵌入方法、装置、电子设备及存储介质。

第一方面,本发明提供一种动态图嵌入方法,包括:

针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定所述目标更新周期初始时刻各边的边活跃度;

基于所述目标更新周期初始时刻各边的边活跃度,确定所述目标更新周期初始时刻各节点的节点活跃度;

基于所述目标更新周期初始时刻各节点的节点活跃度,确定所述目标更新周期初始时刻各节点对应的初始嵌入向量;

基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

可选地,所述基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定所述目标更新周期初始时刻各边的边活跃度,包括:

若确定所述目标更新周期初始时刻的目标边为上一更新周期初始时刻已存在的边,则基于上一更新周期初始时刻所述目标边的边活跃度和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度;或者,

若确定所述目标更新周期初始时刻的目标边不是上一更新周期初始时刻已存在的边,则基于所述目标边的边活跃度初始值和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度。

可选地,所述基于上一更新周期初始时刻所述目标边的边活跃度和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度,包括:

若确定上一更新周期内所述目标边未被激活,则基于上一更新周期初始时刻所述目标边的边活跃度和衰减因子,确定所述目标更新周期初始时刻所述目标边的边活跃度;或者,

若确定上一更新周期内所述目标边被激活至少一次,则基于上一更新周期初始时刻所述目标边的边活跃度、恢复因子和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度。

可选地,所述基于所述目标边的边活跃度初始值和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度,包括:

若确定上一更新周期内所述目标边未被激活,则将所述目标边的边活跃度初始值作为所述目标更新周期初始时刻所述目标边的边活跃度;或者,

若确定上一更新周期内所述目标边被激活至少一次,则基于所述目标边的边活跃度初始值、恢复因子和上一更新周期内所述目标边的被激活次数,确定所述目标更新周期初始时刻所述目标边的边活跃度。

可选地,所述基于所述目标更新周期初始时刻各边的边活跃度,确定所述目标更新周期初始时刻各节点的节点活跃度,包括:

确定所述目标更新周期初始时刻与目标节点相关联的每一条边;

将所述与目标节点相关联的每一条边的边活跃度进行求和后的结果,作为所述目标更新周期初始时刻所述目标节点的节点活跃度。

可选地,所述基于所述目标更新周期初始时刻各节点的节点活跃度,确定所述目标更新周期初始时刻各节点对应的初始嵌入向量,包括:

将所述目标更新周期初始时刻各节点的节点活跃度分别乘以一个相同的向量,得到的结果作为目标更新周期初始时刻各节点对应的初始嵌入向量。

可选地,所述方法还包括:

若确定所述动态图中的目标节点的不活跃时长超过预设值,则将所述目标节点从所述动态图中移除,并在所述目标节点再次活跃时,将所述目标节点作为新节点加入所述动态图。

第二方面,本发明还提供一种动态图嵌入装置,包括:

第一确定模块,用于针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定所述目标更新周期初始时刻各边的边活跃度;

第二确定模块,用于基于所述目标更新周期初始时刻各边的边活跃度,确定所述目标更新周期初始时刻各节点的节点活跃度;

第三确定模块,用于基于所述目标更新周期初始时刻各节点的节点活跃度,确定所述目标更新周期初始时刻各节点对应的初始嵌入向量;

引导模块,用于基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述第一方面所述的动态图嵌入方法的步骤。

第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述第一方面所述的动态图嵌入方法的步骤。

本发明提供的动态图嵌入方法、装置、电子设备及存储介质,通过利用边活跃度和节点活跃度分析动态图的演变过程,将基于节点活跃度的初始嵌入向量作为每个更新周期的初始嵌入向量引导动态图嵌入,能够更好地学习到动态图演变的信息,从而有效提升下游任务的准确率。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的动态图嵌入方法的流程示意图;

图2是本发明提供的动态图嵌入的模型框架示意图;

图3是本发明提供的动态社交网络的初始构建状态示意图;

图4是本发明提供的动态社交网络从初始状态经一次更新后的状态示意图;

图5是本发明提供的将节点活跃度映射为初始嵌入向量的过程示意图;

图6是本发明提供的动态图嵌入装置的结构示意图;

图7是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于动态图的嵌入算法研究是比较新的一个方向,虽然近两年出现了一些研究动态图嵌入的算法,但这些算法对图随着时间演变的处理都十分生硬。有的算法直接将上一时刻的训练参数作为下一时刻的初始值进行训练,还有一些算法使用循环神经网络处理动态图随时间的演变过程,但基本上都是简单地套用LSTM。这些算法都没有分析动态图的演变过程中,节点和边会发生什么变化,与静态图相比,动态图能体现哪些信息。

针对上述问题,本发明各实施例提供一种解决方案,考虑动态图在演变过程中,会存在不同活跃程度的节点,对节点进行活跃度的计算,并利用节点的活跃度引导动态网络的嵌入,且针对长期不活跃的节点进行模型优化,能够更好地学习到动态图演变的信息,从而有效提升下游任务的准确率。

图1为本发明提供的动态图嵌入方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤100、针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度;

具体地,本发明实施例中,为了实现动态图嵌入,可以首先根据多个固定时间间隔的静态图快照来构建动态图,该固定时间间隔即为动态图的更新周期。

例如,可以设图G={V,E},其中,V称为图G的节点集,E称为图G的边集。e

动态图表示图G会随着时间的变化而变化,可以规定动态图每隔一定的时间会更新一次,更新周期为T。因此,定义动态图G={G

考虑到随着动态图的演变,不同时刻建立的边对节点的影响是不同的,本发明实施例中,对不同时刻建立的边提出边活跃度的概念,h(e

边活跃度可以随着动态图的更新进行更新,对于节点i和节点j中的其中一条边e

由于某一时刻的边活跃度是由历史的所有交互通过累积得到的,因此针对动态图的任一更新周期,例如某一目标更新周期,都可以基于该目标更新周期的上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定该目标更新周期初始时刻各边的边活跃度。其中,在某一时刻,如果节点i和节点j再次以已有的边e

例如,G

步骤101、基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度;

具体地,考虑随着动态图的演变,不同时刻建立的边对节点的影响不同,直接用节点的度数(即与一个节点相连的全部的边的数量)衡量节点在图中的活跃度并不合理,本发明实施例中,在定义了边活跃度的基础上,引入了节点活跃度的概念。

因此,针对动态图的任一更新周期,例如某一目标更新周期,确定该目标更新周期初始时刻各边的边活跃度之后,可以根据该目标更新周期初始时刻各边的边活跃度来确定目标更新周期初始时刻各节点的节点活跃度。

例如,对于节点i来说,与节点i相关联的所有边的集合为E(i),则可以基于E(i)中每一条边的边活跃度确定节点i的节点活跃度。

步骤102、基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量;

具体地,以往的动态图嵌入算法,其每个更新周期中的初始嵌入向量大多使用one-hot编码(即独热编码或一位有效编码)或者随机初始化,没有考虑动态图本身的特性,因此在开始训练时不能利用动态图本身的一些信息,嵌入向量的更新完全依赖有监督学习,容易产生冷启动问题或者过拟合问题。

本发明实施例中,引入边活跃度和节点活跃度的概念,节点活跃度能够有效地衡量节点在动态图演变过程中的活跃程度,因此针对动态图的任一更新周期,例如某一目标更新周期,可以在确定该目标更新周期初始时刻各节点的节点活跃度之后,利用各节点的节点活跃度经过适当地变换作为各节点对应的初始嵌入向量,引导动态图嵌入的学习过程。

步骤103、基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

具体地,在得到各更新周期初始时刻各节点对应的初始嵌入向量(即基于节点活跃度的初始嵌入向量)之后,可以以各初始嵌入向量为基础,结合各种具体的动态图嵌入算法,例如邻居聚合或者注意力模型等,引导动态图嵌入。

本发明实施例提供的动态图嵌入方法,通过利用边活跃度和节点活跃度分析动态图的演变过程,将基于节点活跃度的初始嵌入向量作为每个更新周期的初始嵌入向量引导动态图嵌入,能够更好地学习到动态图演变的信息,从而有效提升下游任务的准确率。

可选地,所述基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度,包括:

若确定目标更新周期初始时刻的目标边为上一更新周期初始时刻已存在的边,则基于上一更新周期初始时刻目标边的边活跃度和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度;或者,

若确定目标更新周期初始时刻的目标边不是上一更新周期初始时刻已存在的边,则基于目标边的边活跃度初始值和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

具体地,对于某一目标更新周期,其初始时刻对应的动态图中所存在的各条边,其中既可能会有上一更新周期初始时刻就存在的边,也可能会有在上一更新周期内新增的边,即该边在上一更新周期初始时刻并不存在,但是出现在该目标更新周期初始时刻对应的动态图中。

本发明实施例中,在确定目标更新周期初始时刻各边的边活跃度时,对于任一条边,例如某一目标边,可以根据目标更新周期初始时刻该目标边是否为上一更新周期初始时刻已存在的边,来确定相应的边活跃度计算方法。

例如,若确定目标更新周期初始时刻的该目标边为上一更新周期初始时刻已存在的边,则基于上一更新周期初始时刻该目标边的边活跃度和上一更新周期内该目标边的被激活次数,确定目标更新周期初始时刻该目标边的边活跃度。

若确定目标更新周期初始时刻的该目标边不是上一更新周期初始时刻已存在的边,则可以基于该目标边的边活跃度初始值和上一更新周期内该目标边的被激活次数,确定目标更新周期初始时刻该目标边的边活跃度。

可选地,所述基于上一更新周期初始时刻目标边的边活跃度和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度,包括:

若确定上一更新周期内目标边未被激活,则基于上一更新周期初始时刻目标边的边活跃度和衰减因子,确定目标更新周期初始时刻目标边的边活跃度;或者,

若确定上一更新周期内目标边被激活至少一次,则基于上一更新周期初始时刻目标边的边活跃度、恢复因子和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

具体地,对于某一目标更新周期,其初始时刻对应的动态图中所存在的各条边,其中可能会有上一更新周期初始时刻就存在的边,对于这些边中的某一目标边,可以基于上一更新周期初始时刻该目标边的边活跃度和上一更新周期内该目标边的被激活次数,来确定目标更新周期初始时刻该目标边的边活跃度。

具体地,当前时刻的边活跃度是由历史的所有交互通过累积得到的,可以定义衰减因子α和恢复因子β来体现边活跃度的累积,其中,α∈(0,1),β∈(0,1)。

具体地,若确定上一更新周期内该目标边未被激活,则可以基于上一更新周期初始时刻该目标边的边活跃度和衰减因子α,来确定目标更新周期初始时刻该目标边的边活跃度。

例如,如果上一更新周期内节点i和j之间的某一条边e

具体地,若确定上一更新周期内该目标边被激活至少一次,则可以基于上一更新周期初始时刻该目标边的边活跃度、恢复因子β和上一更新周期内该目标边的被激活次数,来确定目标更新周期初始时刻该目标边的边活跃度。

例如,如果上一更新周期内节点i和j之间的某一条边e

可选地,所述基于目标边的边活跃度初始值和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度,包括:

若确定上一更新周期内目标边未被激活,则将目标边的边活跃度初始值作为目标更新周期初始时刻目标边的边活跃度;或者,

若确定上一更新周期内目标边被激活至少一次,则基于目标边的边活跃度初始值、恢复因子和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

具体地,对于某一目标更新周期,其初始时刻对应的动态图中所存在的各条边,其中可能会有上一更新周期内新增的边,对于这些边中的某一目标边,可以基于该目标边的边活跃度初始值和上一更新周期内该目标边的被激活次数,来确定目标更新周期初始时刻该目标边的边活跃度。

具体地,若确定上一更新周期内该目标边未被激活,则可以将该目标边的边活跃度初始值作为目标更新周期初始时刻该目标边的边活跃度。

具体地,若确定上一更新周期内该目标边被激活至少一次,则可以基于该目标边的边活跃度初始值、恢复因子β和上一更新周期内该目标边的被激活次数,来确定目标更新周期初始时刻该目标边的边活跃度。

例如,某一条边e

通过上述方式得到的边活跃度,能够体现在动态图的不断更新中两个节点之间的关联边的活跃程度。

可选地,所述基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度,包括:

确定目标更新周期初始时刻与目标节点相关联的每一条边;

将与目标节点相关联的每一条边的边活跃度进行求和后的结果,作为目标更新周期初始时刻目标节点的节点活跃度。

具体地,由于边活跃度是随着动态图的更新,不断迭代得到的,蕴含了这条边所连接的两个节点之间的活跃程度。因此,对于每个节点,可以用这个节点相连的所有边的边活跃度之和代表这个节点的活跃度。

节点i的节点活跃度x

本发明实施例中,确定目标更新周期初始时刻各边的边活跃度之后,对于任一节点,可以先确定目标更新周期初始时刻与该节点相关联的每一条边,再对与该节点相关联的每一条边的边活跃度进行求和,将得到的结果作为目标更新周期初始时刻该节点的节点活跃度。

可选地,所述基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量,包括:

将目标更新周期初始时刻各节点的节点活跃度分别乘以一个相同的向量,得到的结果作为目标更新周期初始时刻各节点对应的初始嵌入向量。

具体地,本发明实施例中,得到目标更新周期初始时刻各节点的节点活跃度之和,对于任一节点,可以使用一个共享的权重向量用于将节点活跃度从实数映射为向量,即将目标更新周期初始时刻各节点的节点活跃度分别乘以一个相同的向量,得到的结果作为目标更新周期初始时刻各节点对应的初始嵌入向量。其中,共享权重向量即所有节点共享的同一个相同的向量,例如可以是一个n×1维的向量,n可以根据实际需要让节点嵌入成的维度而灵活设置,在此不做限制,比如可以是128或256等等。

由于权重向量是共享的,给不同的节点活跃度乘以一个相同的向量,其结果仍能体现节点的活跃度。在得到各更新周期初始时刻各节点对应的初始嵌入向量之后,可以以各初始嵌入向量为基础,结合各种具体的动态图嵌入算法,引导动态图嵌入。

可选地,所述方法还包括:

若确定动态图中的目标节点的不活跃时长超过预设值,则将目标节点从动态图中移除,并在目标节点再次活跃时,将目标节点作为新节点加入动态图。

具体地,在现实的动态图中,随着时间的推移,会存在长期不活跃的节点,这种节点长期不活跃,但是动态图中却保留着节点活跃时对其它节点产生的影响,虽然这个影响会随着动态图的演化而衰减,但本质上还是会产生影响。以社交网络为例,如果某节点在动态网络中几年都不再活跃,但是网络中却保留着几年前节点活跃时对其它节点产生的影响,这种影响可以认为是一种“负”贡献,一个是因为几年不活跃节点大概率不会再次活跃,另一个是因为即使再次活跃,几年之间节点的交互习惯会变得与以前不同。因此不必再保留这种节点在网络中的贡献,可以在确定动态图中的某个节点不活跃时长超过预设值时,将该节点从动态图中移除,当该节点再次活跃时,把它当做新节点加入动态图中来进行动态图嵌入计算。其中不活跃时长的预设值可以灵活设置,例如1年或3年等等,在此不做限制。

当网络中的某些节点长期不活跃时,将节点从网络中移除,这样不仅能减少模型的计算复杂度,还会消除节点在网络中产生的负贡献,提升模型的性能。当这些节点在长期不活跃后再次活跃时,把它当成一个新节点来加入网络即可。

本发明实施例提供的动态图嵌入方法,通过对长期不活跃节点进行移除,减少了动态图嵌入的计算复杂度,能够有效提升计算效率。

图2为本发明提供的动态图嵌入的模型框架示意图,如图2所示,分别将动态图G在不同时刻的静态图,即G

下面以动态社交网络为例,结合图1的过程,对本发明上述实施例进行举例说明。

图3为本发明提供的动态社交网络的初始构建状态示意图,图4为本发明提供的动态社交网络从初始状态经一次更新后的状态示意图。如图3和图4所示,该社交网络是一个动态社交关系网络,网络中的节点与节点之间的关系有关注、浏览和收藏三种关系,对应本发明所述节点之间可能有多条边的情况。

在初始时刻构建动态社交网络如图3所示,此时,所有的边均为新增边,边活跃度为初始值h

此后,网络经过时间周期T更新一次,更新后遍历所有存在的边,按照边在一个更新周期内是否被激活进行边活跃度的更新,如图4为初始时刻的社交网络经过一次更新后的网络。在动态图的一次更新后,进行如下判断更新边活跃度:

1、所有新增的边,边活跃度为h

2、更新之前已经存在的边,判断更新周期内是否进行了激活,如果有,则边活跃度增加,否则边活跃度衰减。具体地,图3中的3条边在经历一次更新后,需要判断在更新周期T内是否被激活,在社交网络场景中,激活意为产生交互。例如在网络构建的初始时刻,a1与a2具有一条浏览关系的边,a1与a3之间也具有一条浏览关系的边,经历一次更新后,在更新周期T内:a1再次浏览了a2发表的内容,则a1与a2之间的浏览关系的边会被激活,边活跃度会跟据恢复因子的值做适当的增加;a1没有浏览a3发表的内容,则a1与a3之间的浏览关系的边在此次更新中没有被激活,边活跃度会跟据衰减因子的值做适当的减少。特别地,由于社交网络的关注关系属于不经常改变的,即对同一个节点,不会发生频繁的关注与取消关注的操作,因此a1与a2在建立关注关系后,边会随着网络的更新而逐渐减弱。

随着动态图的每一次更新,都会根据上述判断计算边活跃度,并根据更新后的边活跃度来计算节点活跃度,节点活跃度的值由与节点相连的所有边的边活跃度相加得到。得到更新后的节点活跃度后,利用节点活跃度作为初始嵌入向量,进行动态图嵌入。

以注意力模型做动态图嵌入为例,来说明节点活跃度作为初始嵌入向量引导动态图嵌入的过程。以往使用注意力模型的嵌入算法在开始训练时都是将节点随机初始化,再利用有监督训练不断迭代从而得到最终的嵌入,其缺点是没有引入其它监督信息,容易对标签过拟合。将节点活跃度引入注意力模型中,可以引导注意力模块的学习。

节点活跃度是一个全局的属性,用来衡量一个节点在整个网络中是否活跃。在动态图的每个更新周期的开始,节点活跃度经过和共享权重向量相乘,映射为向量后,作为初始嵌入向量应用在注意力模型中,图5为本发明提供的将节点活跃度映射为初始嵌入向量的过程示意图。这种方式下,活跃度大的邻居节点相对于活跃度小的邻居节点来说,影响更大,用来在初始时刻引导注意力模型的学习。随着训练迭代,注意力模型会学习到节点的其它信息,并更新节点嵌入,从而使得节点嵌入不完全由活跃度主导。

下面对本发明提供的动态图嵌入装置进行描述,下文描述的动态图嵌入装置与上文描述的动态图嵌入方法可相互对应参照。

图6为本发明提供的动态图嵌入装置的结构示意图,如图6所示,该装置包括:

第一确定模块600,用于针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度;

第二确定模块610,用于基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度;

第三确定模块620,用于基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量;

引导模块630,用于基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

可选地,所述第一确定模块600,用于:若确定目标更新周期初始时刻的目标边为上一更新周期初始时刻已存在的边,则基于上一更新周期初始时刻目标边的边活跃度和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度;或者,若确定目标更新周期初始时刻的目标边不是上一更新周期初始时刻已存在的边,则基于目标边的边活跃度初始值和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

可选地,所述基于上一更新周期初始时刻目标边的边活跃度和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度,包括:若确定上一更新周期内目标边未被激活,则基于上一更新周期初始时刻目标边的边活跃度和衰减因子,确定目标更新周期初始时刻目标边的边活跃度;或者,若确定上一更新周期内目标边被激活至少一次,则基于上一更新周期初始时刻目标边的边活跃度、恢复因子和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

可选地,所述基于目标边的边活跃度初始值和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度,包括:若确定上一更新周期内目标边未被激活,则将目标边的边活跃度初始值作为目标更新周期初始时刻目标边的边活跃度;或者,若确定上一更新周期内目标边被激活至少一次,则基于目标边的边活跃度初始值、恢复因子和上一更新周期内目标边的被激活次数,确定目标更新周期初始时刻目标边的边活跃度。

可选地,所述第二确定模块610,用于:确定目标更新周期初始时刻与目标节点相关联的每一条边;将与目标节点相关联的每一条边的边活跃度进行求和后的结果,作为目标更新周期初始时刻目标节点的节点活跃度。

可选地,所述第三确定模块620,用于:将目标更新周期初始时刻各节点的节点活跃度分别乘以一个相同的向量,得到的结果作为目标更新周期初始时刻各节点对应的初始嵌入向量。

可选地,所述装置还包括:

移除模块640,用于若确定动态图中的目标节点的不活跃时长超过预设值,则将目标节点从动态图中移除,并在目标节点再次活跃时,将目标节点作为新节点加入动态图。

在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。

图7为本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行上述各实施例提供的任一所述动态图嵌入方法的步骤,例如:针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度;基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度;基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量;基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例提供的任一所述动态图嵌入方法的步骤,例如:针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度;基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度;基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量;基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的任一所述动态图嵌入方法的步骤,例如:针对动态图的目标更新周期,基于上一更新周期初始时刻各边的边活跃度和上一更新周期内各边的被激活次数,确定目标更新周期初始时刻各边的边活跃度;基于目标更新周期初始时刻各边的边活跃度,确定目标更新周期初始时刻各节点的节点活跃度;基于目标更新周期初始时刻各节点的节点活跃度,确定目标更新周期初始时刻各节点对应的初始嵌入向量;基于各更新周期初始时刻各节点对应的初始嵌入向量,引导动态图嵌入。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 动态图嵌入方法、装置、电子设备及存储介质
  • 域名多重图嵌入表示方法、装置、电子设备及介质
技术分类

06120113822330