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

一种图谱学习的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:28:50


一种图谱学习的方法、装置、电子设备及存储介质

技术领域

本申请涉及数据处理领域,具体涉及一种图谱学习的方法及装置、电子设备及存储介质。

背景技术

现实生活中的大量的服务数据都可以用图来表示,万事万物皆有联系,节点+关系的表示足以包罗万象。例如人类的社交网络,个体为节点,人与人之间的各种关系作为边;电商服务中,用户和商品也可以构建图网络。

现有技术中关于图神经网络的研究都假设了一个静态的网络结构。然而,大多数现实生活中的互动系统,如社会网络或生物互动本质上是动态的,单纯的采集空间信息的数据不利于提升下游具体服务的模型性能。

因此,如何将采集到的更丰富的数据信息应用到后续模型上,提升下游具体服务的模型性能成为亟待解决的问题。

发明内容

有鉴于此,本申请实施例提供了一种图谱学习的方法、装置、电子设备及计算机可读存储介质。本申请实施例提供的上述方法,以解决现有技术中只采集节点的空间信息,不能为下游具体服务提供丰富的数据信息,提升下游具体服务的模型性能的问题。

本申请一实施例提供一种图谱学习的方法,该方法包括:

对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列;

对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

可选地,该方法还包括:

获得目标节点的时空属性信息之后,将目标节点的时空属性信息与目标节点的非时空属性信息作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

可选地,该方法还包括:

将目标节点的当前信息与目标节点缓存的历史信息进行融合,作为目标节点更新后的历史信息。

可选地,对时空序列中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息,包括:

利用注意力机制计算包含相同目标节点的时空序列对应的编码矩阵序列的权重,并根据所述权重求和,获得目标节点的时空属性信息。

可选地,对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合,包括:

时空序列集合由多个相邻节点的时空序列组成,并且时空序列集合中的时空序列以相同的节点为起始节点。

可选地,时空序列集合中每一个时空序列包含节点的个数相同。

可选地,对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合,还包括:

时空序列记录有节点的时间信息和空间信息。

可选地,根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到对各个节点的编码矩阵,包括:

确定各个节点的编码矩阵的维度,所述各个节点的编码矩阵的维度由时空序列的拓扑距离M和时间分成的片数N共同确定,其中,各个节点的编码矩阵的维度为M*N。

可选地,根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到对各个节点的编码矩阵,包括:

根据时空序列集合中的时空序列,对时空序列集合中的任一节点进行编码,得到对该节点的编码矩阵。

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

对节点的编码矩阵进行初始化,得到M*N阶零矩阵;

遍历时空序列集合中的每个时空序列,将节点的时间信息和空间信息编码在编码矩阵中;

遍历结束后获得节点的编码矩阵。

可选地,将节点的时间信息和空间信息编码在编码矩阵中,包括:

当节点出现在任一时空序列中的某一位置,并且时间为某一时间时,将编码矩阵中包含该空间信息和时间信息的元素的数值加1。

本申请一实施例提供一种图谱学习的装置,该装置包括:

采样单元,对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

编码单元,根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得所述时空序列集合中每一个时空序列的编码矩阵序列;

获得单元,对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

可选地,该获得单元还包括:

获得目标节点的时空属性信息之后,将目标节点的时空属性信息与目标节点的非时空属性信息作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

可选地,该获得单元还包括:

将目标节点的当前信息与目标节点缓存的历史信息进行融合,作为目标节点更新后的历史信息。

可选地,该编码单元还用于:

通过长短期记忆网络得到每一个时空序列的编码矩阵序列。

可选地,该获得单元还用于:

利用注意力机制计算包含相同目标节点的时空序列对应的编码矩阵序列的权重,并根据所述权重求和,获得目标节点的时空属性信息。

可选地,该采样单元还用于:

时空序列集合由多个相邻节点的时空序列组成,并且时空序列集合中的时空序列以相同的节点为起始节点。

可选地,该采样单元还用于:

时空序列集合中每一个时空序列包含节点的个数相同。

可选地,该采样单元还用于:

时空序列记录有节点的时间信息和空间信息。

可选地,该编码单元还用于:

确定各个节点的编码矩阵的维度,所述各个节点的编码矩阵的维度由时空序列的拓扑距离M和时间分成的片数N共同确定,其中,各个节点的编码矩阵的维度为M*N。

可选地,该编码单元还用于:

根据时空序列集合中的时空序列,对时空序列集合中的任一节点进行编码,得到对该节点的编码矩阵。

可选地,该编码单元还用于:

对节点的编码矩阵进行初始化,得到M*N阶零矩阵;

遍历时空序列集合中的每个时空序列,将节点的时间信息和空间信息编码在编码矩阵中;

遍历结束后获得节点的编码矩阵。

可选地,该编码单元还用于:

当节点出现在任一时空序列中的某一位置,并且时间为某一时间时,将编码矩阵中包含该空间信息和时间信息的元素的数值加1。

本申请一实施例还提供一种电子设备,该电子设备包括:

处理器和存储器;

存储器用于存储图谱学习的方法的程序,该程序在被处理器读取执行,执行如下操作:

对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列;

对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

本申请一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时,执行如下操作:

对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列;

对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

本申请实施例所提供的技术方案,对图谱中节点的原始时空信息进行采样,获得该图谱中节点的时空序列集合;根据该时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵,根据各个节点的编码矩阵序列获得时空序列集合中每一个时空序列的编码矩阵序列;对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。在本申请实施例提供的技术方案中,对图谱中节点的信息进行采样时,采集了节点的时空信息,利用采集到的更丰富的数据信息获得节点的时空序列集合,从而对时空序列中的各个节点进行编码,获得每一个时空序列的编码矩阵序列,进一步融合具有相同目标节点的时空序列对应的编码矩阵序列,获得目标节点的时空属性信息;进而可以将时空信息应用到图谱中,为下游任务提供更丰富的特征,提升下游具体服务的模型性能。

附图说明

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

图1是本申请实施例提供的图神经网络的示意图;

图2a是本申请实施例提供的以节点A为目标节点的图计算示意图;

图2b是本申请实施例提供的以节点B为目标节点的图计算示意图;

图3是本申请实施例提供的图神经网络的示意图;

图4是本申请实施例提供的利用邻接矩阵来表示的图神经网络的示意图;

图5是本申请实施例提供的图谱学习的方法的流程图;

图6是本申请实施例提供的时空图谱的示意图;

图7是本申请实施例提供的图谱学习的方法的流程图;

图8是本申请实施例提供的获得目标节点的当前信息和节点更新后的历史信息的结构示意图;

图9是本申请实施例提供的图谱学习的装置的框图;

图10是本申请实施例提供的电子设备的逻辑结构示意图。

具体实施方式

本申请实施例提供了一种图谱学习的方法,采集图谱中节点的时空信息,将更丰富的数据信息应用到图谱中,用采集到的更丰富的数据信息获得节点的时空序列集合,从而对时空序列中的各个节点进行编码,进一步融合具有相同目标节点的时空序列对应的编码矩阵,获得目标节点的时空属性信息。将时空信息应用到图谱中,为下游任务提供更丰富的特征,提升下游具体服务的模型性能。

为了使本领域的技术人员能够更好的理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请进行清楚、完整地描述。但本申请能够以很多不同于下述描述的其他方式进行实施,因此,基于本申请提供的实施例,本领域普通技术人员在不经过创造性劳动的情况下,所获得的所有其他实施例,都应属于本申请保护的范围。

需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

近年来图神经网络(GraphNeural Network,GNN)受到大家越来越多的关注,在文本分类(Text Classification)、序列标注(Sequence Labeling)、神经机器翻译(NeuralMachine Translation)、关系抽取(Relation Extraction)、事件抽取(EventExtraction)、图像分类(Image Classification)、视觉推理(Visual Reasoning)、语义分割(Semantic Segmentation)等领域图神经网络都有了一些应用。

图神经网络的基本思想,是基于节点的局部邻域信息对节点进行嵌入。也就是通过神经网络聚合每个节点及其周围节点的信息。如图1所示,为图神经网络的一种示意图。在图1中图神经网络有A~F这6个节点,且节点之间的连接关系在图中已示出,其中,节点之间有连线表示节点间有关系。

图2a为本申请实施例提供的以节点A为目标节点的图计算示意图,图2b为本申请实施例提供的以节点B为目标节点的图计算示意图。在图2a中,节点A为目标节点,在第一层中与节点A相关的有节点B、节点C和节点D;在第二层中与节点B相关的有节点A、节点C,与节点C相关的有节点A、节点B、节点E和节点F,与节点D相关的有节点A。在图2b中,节点B为目标节点,在第一层中与节点B相关的有节点A、节点C;在第二层中与节点A相关的有节点B、节点D,与节点C相关的有节点A、节点B、节点E和节点F。

图计算中可以以任一节点作为目标节点,节点在每一层都会有嵌入,并且该模型可以达到任意深度,同时第零层的节点的嵌入就是输入的特征向量。

图由节点和边组成,如图3所示,为另一图神经网络的示意图。图中的节点可以表示实体对象(比如一个用户、一件商品、一辆车、一张银行卡等都可以作为节点),边可以代表事件或者实体之间的特殊关系(比如用户和商品之间的购买关系)。如图4所示,为利用邻接矩阵来表示图3的图神经网络的示意图。其中,在邻接矩阵的某一位置上元素为1,表示该位置所在的行的节点与所在的列的节点间有连接关系。如图4中的4-1所示,该元素在邻接矩阵的第三行第四列,相对应的节点为节点v4和v3,该元素为1,表示节点v3和节点v4存在连接关系。同理,若元素为0,表明该位置对应的两个节点间不存在连接关系。利用图4的邻接矩阵来表示图3神经网络的示意图,损失了节点与节点连接的边上的具体特征信息。

在上述两个示例中节点和节点之间的关系为是否存在连接关系,其中所涉及的连接关系是静态的,即现有技术中关于图神经网络的研究都假设了一个静态的网络结构,在采集数据信息的时候只采集节点与节点之间是否有连接关系的空间信息的数据,而忽略节点与节点之间的边上的时间信息的数据,不能同时捕捉多维度信息,进而不能为下游任务提供更丰富的特征,不利于提升下游具体服务的模型性能。例如从北京到深圳,将北京、深圳这两个地方抽象为节点,现有的图谱学习技术中只关注北京到深圳这两个节点之间的连接关系抽象出来的距离活距离,而忽略了北京到深圳这两个节点之间经过各个中间城市的时间、距离的相关关系等信息。

针对上述问题,本申请提供了一种图谱学习的方法及装置。对图谱中的原始时空信息进行采样,获得图谱中节点的时空序列集合;根据时空序列集合中的时空序列,对时空序列集合中各个节点进行分别编码,得到各个节点的编码矩阵,将各个节点的编码矩阵组成时空序列集合的编码矩阵序列,再对时空序列集合中具有相同目标节点的时空序列进行编码,并且将包含相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

下面结合具体实施例及附图对本申请所述的方法、装置、电子设备以及计算机可读存储介质做进一步详细说明。应理解的是,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。

下面结合图5,对本申请一实施例提供的图谱学习的方法进行详细的说明,图5为本申请实施例提供的图谱学习的方法的流程图。需要说明的是,该流程示意图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,同时,在某些情况下,可以以不同于该流程示意图中示出的逻辑顺序执行所示出的步骤。

如图5所示,本申请一实施例提供的图谱学习的方法包括以下步骤:

步骤S501,对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合。

图谱中节点的原始时空信息记录有节点的空间信息和时间信息,其中节点与节点的边上记录有节点之间的时间信息。可以将包含有时间信息和空间信息的图谱称为时空图谱。

如图6所示,为时空图谱的一种示意图。在该时空图谱中,有节点A~节点G,节点与节点之间的时间信息,即边上的信息为t0~t4,其中t的下标越大表示这两个节点的连接关系发生的时间越晚,在后续与节点组成时空序列的时候越靠前,同时可以筛选时间信息不符合的时空序列。如图6所示,可以组成时空序列A→D→C,箭头上的时间信息为t4、t3;但是不能组成时空序列A→C→D,因为A→C的时间信息为t4,C→D的时间信息为t3。利用t4>t3>t2>t1>t0表示节点间的时间信息的先后顺序,越大的时间信息表示对应的节点间的连接关系越靠后发生。在该时空图谱中,除了表示节点与节点之间有连接关系,同时示出了节点与节点之间具体的时间连接关系。例如,节点A与节点D之间的时间信息t4,表示节点A与节点D之间有连接关系,且边上的时间信息为t4,这两个节点的连接关系发生的时间在该时空图谱图中最晚。

节点与节点之间有连接关系,可以记为两个节点之间的拓扑距离为1。

其中,拓扑为把实体抽象为与其大小、形状无关的点,把连接实体的线路抽象成线,以图的形式标识点与线之间的方法,研究点、线之间的连接关系。在本申请中,即就是两个节点之间有连接关系,那么两个节点之间的拓扑距离就为1。如果是多个节点的串式连接,那么多个节点的拓扑距离可以进行叠加。若图6中的时空图谱的一时空序列为A→E→G,箭头上的时间信息依次为t4、t2,那么该时空序列的拓扑距离为2,并且该时空序列有3个节点。

本步骤用于对图谱中节点的原始时空信息进行采样,以获得图谱中节点的时空序列集合。其中,时空序列集合由多个空间相邻节点的时空序列组成,并且该时空序列集合中的时空序列以相同的节点为起始节点。时空序列集合中每一个时空序列包含节点的个数相同,节点之间的距离也相同。采样得到的时空序列集合中的每一个时空序列都为拓扑距离为M、M+1个节点的时空序列。

以图6示出的时空图谱为例,对该图谱中节点的原始时空信息进行采样,以节点A为起始节点,时间信息t4>t3>t2>t1>t0,即t4晚于t3晚于t2晚于t1晚于t0。时空序列中的时间信息的顺序为t4、t3、t2、t1、t0。在一个示例中,以A节点为起始节点,可以得到时空序列:

A→D→C→B,箭头上的时间信息依次是t4、t3、t2;

A→E→F→G,箭头上的时间信息依次是t4、t2、t0;

A→B→C→H,箭头上的时间信息依次是t3、t2、t1;

A→D→H→C,箭头上的时间信息依次是t4、t3、t1;

A→D→C→H,箭头上的时间信息依次是t4、t3、t1。

为上述5个时空序列命名,依次为w_1、w_2、w_3、w_4、w_5。即就是,得到如下时空序列集合S:{w_1、w_2、w_3、w_4、w_5}。其中,时空序列集合S中每个时空序列有4个节点,并且每个时空序列的拓扑距离为3。

以上为对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合。获得的时空序列集合中的时空序列包含的节点个数相同,也以相同的节点为起始节点。时空序列集合中的数据信息包含节点的空间信息和节点之间的时间信息。

步骤S502,根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列。

本步骤用于对上述时空序列集合中的各个节点进行编码,得到每个节点的编码矩阵,再根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列。

对节点进行编码之前,要先确定节点的编码矩阵的维度。节点的编码矩阵的维度由空间信息和时间信息共同确定,具体的,编码矩阵的维度由时空序列的拓扑距离和节点之间的时间分成的片数共同确定。其中,时空序列的拓扑距离可以记为M,节点之间的时间分成的片数可以记为N;其中,时间分成的片数为该时空图谱中节点之间的边上时间信息的数量。那么该时空序列集合中的时空序列的各个节点的编码矩阵的维度为M*N。其中,时空序列的拓扑距离比时空序列的节点个数小1。

以上述时空序列集合S为例,每个时空序列的节点个数为4,拓扑距离为3,时空序列集合中节点之间的时间信息有t0、t1、t2、t3、t4,即该时间分成的片数为5,即N为5。那么在上述示例中各个节点的编码矩阵的维度为3*5。

确定节点的编码矩阵的维度后,对时空序列集合中的任一节点进行编码,得到对该节点的编码矩阵。获得该节点的编码矩阵的步骤如下:

初始化该节点的编码矩阵,得到M*N阶零矩阵;

遍历时空序列集合中的每个时空序列,将节点的时间信息和空间信息编码在编码矩阵中;

遍历结束后获得该节点的编码矩阵。

在一实施例中,可以把时空序列的拓扑距离记为编码矩阵的行向量,节点之间的时间分成的片数记为编码矩阵的列向量。将节点的时间信息和空间信息编码在编码矩阵中,可以是时空序列中的某一节点到起始节点的拓扑距离为m,即该节点出现在该时空序列的除起始节点之外的第m个位置;当时空序列中的某一时间信息为n,即将时间分成的片数按照从小到大排列,从其他节点指向该节点的时间信息排列在第n个位置。此时可以记该节点针对该时空序列的编码矩阵为I[m][n]。其中,当该节点出现在任一时空序列中的某一位置,并且时间为某一时间时,将编码矩阵中包含该空间信息和时间信息的元素的数值加1。以上述示例为例,那么该节点的编码矩阵I[m][n]=I[m][n]+1。将该节点出现在每一时空序列中的空间信息和时间信息都按照上述方式依次编码在编码矩阵中,采用累加的方式获得最终该节点的编码矩阵。

下面示出了获得节点的编码矩阵的具体过程:以上述时空序列集合中的节点B为例,初始化节点B的编码矩阵,得到3*5阶零矩阵,即当时节点B的编码矩阵

遍历时空序列集合S中的每个序列,找到节点B所包含的时空信息,即时间信息和空间信息。

矩阵的行向量依次为位置1、位置2和位置3,矩阵的列向量依次为时间t0、t1、t2、t3和t4。

在时空序列w_1中,节点间的相互关系为A→D→C→B,箭头上的时间信息依次为t4、t3、t2。与节点B相关的有节点B在除节点A之外的位置3上,且节点C→节点B的时间信息为t2。节点B出现在时空序列w_1的位置3,且时间为t2,将编码矩阵中第3行第3列位置对应的元素的数值加1,即I

在时空序列w_2中,不存在节点B。

在时空序列w_3中,节点间的相互关系为A→B→C→H,箭头上的时间信息依次是t3、t2、t1。节点B出现在时空序列w_3的位置1,且节点A→节点B的时间信息为t3,在上一个编码矩阵I

在时空序列w_4、w_5中,不存在节点B。

遍历结束时空序列集合中的时空序列后,得到节点B的编码矩阵为

同样的,以节点C为例,在时空序列w_1中,节点间的相互关系为A→D→C→B,箭头上的时间信息依次为t4、t3、t2。与节点C相关的有节点C在除节点A之外的位置2上,其节点D→节点C的时间信息为t3。节点C出现在时空序列w_1的位置2,且时间为t3,将编码矩阵中第2行第4列位置对应的元素的数值加1,即I

以同样的方式遍历时空序列集合中的其他时空序列,根据此编码方式,得到节点C的编码矩阵

利用同样的方式,对时空序列集合中的每一个节点重复编码操作,得到D节点的编码矩阵

E节点的编码矩阵

F节点的编码矩阵

G节点的编码矩阵

H节点的编码矩阵

通过对时空序列集合S中的每一个节点的空间和时间进行编码得到每一个节点关于时间和空间的编码矩阵,将时间信息和空间信息编码在节点的编码矩阵中,体现了节点在时间和空间上的分布,为图计算提供了更加丰富的数据特征。

确定各个节点的编码矩阵后,再通过每一个节点的编码矩阵获得时空序列集合S的每一个时空序列的编码矩阵序列。

在本申请一实施例中,通过长短期记忆网络(LSTM,Long Short-Term Memory)对每一个时空序列进行编码,得到每一个时空序列的编码矩阵序列。其中,长短期记忆网络,是具有记忆长短期信息的能力的神经网络。

具体的,可以将每一个时空序列的编码矩阵序列记为e,针对具体的时空序列和目标节点,可以将相应的角标计入编码矩阵序列的标号中。例如,时空序列为w_1,目标节点为C,针对目标节点C的该时空序列的编码矩阵序列可以记为

步骤S503,对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

在该步骤中,目标节点可以是时空序列的末尾节点,即对时空序列集合具有相同起始节点和末尾节点的时空序列对应的编码矩阵进行融合处理。

在获得具有相同起始节点和末尾节点的时空序列对应的编码矩阵序列后,由于不同时空序列可能对最终的预测任务的贡献不同,通过部署注意力机制来计算时空序列的注意权重。可以通过全连接的层和Softmax函数来实现注意机制。具体来说,给定一个目标节点及其时空序列集合,计算时空序列集合中每个时空序列的注意权重,再将目标节点的每一个时空序列的注意权重求和,得到目标节点的时空属性信息。

在上述示例中,时空序列A→B→C→H和A→D→C→H的末尾节点相同,即目标节点为H,将步骤S502得到的这两个时空序列分别对应的编码矩阵序列

在本申请一实施例中,目标节点H,时空序列w_3、w_5,关于该目标节点的时空序列集合为s

其中,

该动态节点嵌入

至此,本申请一实施例获得了目标节点的时空属性信息,目标节点的属性信息中包含节点的时间信息和空间信息,为下游任务进行最终预测提供了更丰富的数据特征。

本申请另一实施例提供一种图谱学习的方法,获得目标节点的时空属性信息之后,还可以进一步获得目标节点的当前信息和目标节点更新后的历史信息。

请参看图7,该图提供了一种图谱学习的方法,即在获得目标节点的时空属性之后,所述方法还包括:

步骤S504,将目标节点的时空属性信息与目标节点的非时空属性信息作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

在目标节点中嵌入了节点的时间拓扑特征的时空属性信息,主要用来获得图计算中节点基于的时间属性和空间属性的特征。除了利用时空属性信息表示节点的属性之外,还有其他非时空属性的信息来表示节点的属性。在本申请一实施例中,将附加的静态节点特征和边缘特征连接起来,作为节点的边信息,在信息聚合器中生成目标节点的属性特征。生成的目标节点的属性特征可以用如下方式表示:

/>

其中,

进一步的,将目标节点的时空属性信息与目标节点的非时空属性信息,以城市为例,城市的进出客流量、海拔高度、人均GDP等,作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

本步骤用于将目标节点的时空属性信息和非时空属性信息共同构成目标节点的当前信息。

步骤S505,将目标节点的当前信息与目标节点缓存的历史信息进行融合,作为目标节点更新后的历史信息。

在本申请一实施例中,为了有效进行长期的时空图谱学习,利用一个具有缓存模块的消息更新器,用于更新包含历史状态的节点嵌入。具体的,将消息聚合器在t时刻生成的目标节点的属性特征和缓存模块中缓存的t-1时刻目标节点的历史信息进行融合,将融合后的目标节点嵌入到消息更新器中,得到下游预测任务的最新节点嵌入。其中,消息更新器可以由一个循环单元GRU实现。GRU消息更新器将目标节点的当前信息和目标节点缓存的历史信息进行融合,得到目标节点更新后的历史信息,如下所示:

其中,

请参看图8,该图提供了获得目标节点的时空属性信息后,获得目标节点的当前信息和节点更新后的历史信息的结构示意图。

将目标节点的节点时空属性信息、静态节点特征和边缘特征连接起来,在信息聚合器中生成目标节点的属性特征。将目标节点的属性特征作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

为了有效进行长期的时空图谱学习,将消息聚合器在t时刻生成的目标节点的属性特征和在缓存模块中缓存的t-1时刻的目标节点的历史属性特征进行融合,将融合后的目标节点的属性特征作为目标节点更新后的历史信息,并将该历史信息缓存在缓存模块中。

本申请该实施例提供的图谱学习的方法,获得目标节点的时空属性之后,结合目标节点的非时空属性信息获得目标节点的当前信息。进一步为了有效进行长期的时空图谱学习,将目标节点在t时刻的当前信息与在t-1时刻的历史信息进行融合,得到目标节点更新后的历史信息。为下游任务提供更丰富的数据特征,提升下游具体服务的模型性能。

本申请第二实施例提供了一种图谱学习的装置,该装置与本申请第一实施例提供的一种图谱学习的方法相对应,在此予以简单介绍。

请参考图9,该图为本申请第二实施例提供的一种图谱学习装置框图。

本申请第二实施例提供一种图谱学习的装置,包括:采样单元901,编码单元902,获得单元903。

采样单元901,对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

编码单元902,根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中的每一个时空序列的编码矩阵序列;

获得单元903,对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

可选地,该获得单元903还包括:

获得目标节点的时空属性信息之后,将目标节点的时空属性信息与目标节点的非时空属性信息作为目标节点的当前信息,并将当前信息作为下游任务的输入信息。

可选地,该获得单元903还包括:

将目标节点的当前信息与目标节点缓存的历史信息进行融合,作为目标节点更新后的历史信息。

可选地,该编码单元902还用于:

通过长短期记忆网络得到每一个时空序列的编码矩阵序列。

可选地,该获得单元903还用于:

利用注意力机制计算包含相同目标节点的时空序列对应的编码矩阵序列的权重,并根据所述权重求和,获得目标节点的时空属性信息。

可选地,该采样单元901还用于:

时空序列集合由多个相邻节点的时空序列组成,并且时空序列集合中的时空序列以相同的节点为起始节点。

可选地,该采样单元901还用于:

时空序列集合中每一个时空序列包含节点的个数相同。

可选地,该采样单元901还用于:

时空序列记录有节点的时间信息和空间信息。

可选地,该编码单元902还用于:

确定各个节点的编码矩阵的维度,所述各个节点的编码矩阵的维度由时空序列的拓扑距离M和时间分成的片数N共同确定,其中,各个节点的编码矩阵的维度为M*N。

可选地,该编码单元902还用于:

根据时空序列集合中的时空序列,对时空序列集合中的任一节点进行编码,得到对该节点的编码矩阵。

可选地,该编码单元902还用于:

对节点的编码矩阵进行初始化,得到M*N阶零矩阵;

遍历时空序列集合中的每个时空序列,将节点的时间信息和空间信息编码在编码矩阵中;

遍历结束后获得节点的编码矩阵。

可选地,该编码单元902还用于:

当节点出现在任一时空序列中的某一位置,并且时间为某一时间时,将编码矩阵中包含该空间信息和时间信息的元素的数值加1。

本申请第三实施例提供了一种电子设备,请参考图10,该图为本申请第三实施例提供的电子设备的示意图。

该电子设备包括:

处理器1001和存储器1002;

存储器用于存储图谱学习的方法的程序,该程序在被处理器读取执行,执行如下操作:

对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列;

对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

本申请第四实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时,执行如下操作:

对图谱中节点的原始时空信息进行采样,获得图谱中节点的时空序列集合;

根据时空序列集合中的时空序列,对时空序列集合中的各个节点进行编码,得到各个节点的编码矩阵;根据各个节点的编码矩阵获得时空序列集合中每一个时空序列的编码矩阵序列;

对时空序列集合中具有相同目标节点的时空序列对应的编码矩阵序列进行融合处理,获得目标节点的时空属性信息。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

技术分类

06120115925827