CN113761289A - 图学习方法、框架、计算机系统及可读存储介质 - Google Patents
图学习方法、框架、计算机系统及可读存储介质 Download PDFInfo
- Publication number
- CN113761289A CN113761289A CN202110144656.0A CN202110144656A CN113761289A CN 113761289 A CN113761289 A CN 113761289A CN 202110144656 A CN202110144656 A CN 202110144656A CN 113761289 A CN113761289 A CN 113761289A
- Authority
- CN
- China
- Prior art keywords
- sampling
- attribute
- interface
- type
- preset
- 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
Images
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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种图学习方法、框架、计算机系统及可读存储介质,包括利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,预设接口使用TensorFlow和PyTorch分别实现,利用TensorFlow和PyTorch共同提供的Dataset和Transform处理采样数据,得到处理后的采样数据,将处理后的采样数据输入给学习模型,以使学习模型学习样本图。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种图学习方法、框架、计算机系统及可读存储介质。
背景技术
图(Graph)是一种基于实体及其关系构成的网络,现实世界中有很多复杂系统都可以使用图的相关特性进行描述和分析,比如社交网络,电子商务,文献引用网络,蛋白质交互网络,城市交通网络,知识图谱等。相比于欧几里得空间中的数据,比如图像,视频,语音和自然语言等,图能够表达实体之间更复杂的关系。
近几年出现了许多基于现有深度学习框架的图深度学习框架。基于TensorFlow的图深度学习框架有Euler,Spektral,NeuGraph等。基于PyTorch的图深度学习框架有PyG,DGL,PyTorch-BigGraph,Geo2DR。其中PyTorch-BigGraph只适合图嵌入算法,不能应用基于属性图的GNN相关算法。AliGraph和NeuGraph由于未开源,具体实现未知。
发明内容
有鉴于此,本公开提供了一种同时基于TensorFlow和PyTorch的图学习方法、框架、计算机系统及可读存储介质。
本公开的一个方面提供了一种图学习方法,包括:
利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,所述预设接口使用TensorFlow和PyTorch分别实现;
利用TensorFlow和PyTorch共同提供的Dataset和Transform处理所述采样数据,得到处理后的采样数据;
将所述处理后的采样数据输入给学习模型,以使所述学习模型学习所述样本图。
根据本公开的实施例,其中,所述属性索引的类型包括Hash索引和Range索引;
所述Hash索引支持点和/或边属性值相等或不等的过滤条件;
所述Range索引支持点和/或边属性值存在、不存在、大于、小于、大于等于、小于等于中任一项的过滤条件;
其中,所述过滤条件用于过滤所述样本图的点和/或边。
根据本公开的实施例,所述预设接口包括点边采样接口、邻居采样接口、随机游走接口和子图采样接口中的至少一类;
所述利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据包括:
根据预设采样类型,获取与所述预设采样类型对应的预设接口;
分别使用TensorFlow和PyTorch实现所述预设接口,对所述样本图进行采样,得到采样数据。
其中,当所述预设采样类型包括点边采样时,获取所述点边采样接口;当所述预设采样类型包括邻居采样时,获取所述邻居采样接口;当所述预设采样类型包括随机采样时,获取所述随机采样接口;当所述预设采样类型包括子图采样时,获取所述子图采样接口。
根据本公开的实施例,其中,所述预设接口还包括属性查询接口,所述方法包括:
利用所述属性查询接口,获取指定点和/或边的待查询属性,以及,所述待查询属性的维度,所述待查询属性包括稀疏值、稠密值和字符串值中的至少一种;
按照所述待查询属性的维度,截取所述待查询属性。
根据本公开的实施例,其中,当所述预设采样类型包括点边采样时,获取所述点边采样接口之后,还包括:
获取所述筛选出来的点和/或边的权重;
根据所述筛选出来的点和/或边的权重,构建概率分布图;
在所述概率分布图上进行至少一次随机抽样,得到所述采样数据。
根据本公开的实施例,其中,所述点边采样接口的参数包括点或边的类型、个数、属性索引的类型、属性索引的操作符、属性值;
所述邻居采样接口的参数包括顶点集合、边的类型、个数、Topk邻居的K值、属性索引的类型、属性索引的操作符、属性值;
所述属性查询接口的参数包括顶点或边的集合、待查询属性、属性的维度;
所述随机游走接口的参数包括指定顶点集合、边的类型、随机游走序列的长度、由随机游走序列生成上下文序列的窗口大小、随机游走控制返回当前顶点概率的参数、随机游走控制深度优先搜索或广度优先搜索的参数、属性索引的类型、属性索引的操作符、属性值;
所述子图采样接口的参数包括指定顶点集合、每跳邻居的边的类型、每跳邻居的个数、属性索引的类型、属性索引的操作符、属性值。
根据本公开的实施例,所述学习模型支持DeepWalk模型、Node2vec模型、Line、MetaPath2Vec模型、GraphSage模型、Graph Attention networks模型。
根据本公开的实施例,所述学习模型支持统一的自定义模型,所述方法还包括:
构建统一的自定义模型,所述自定义模型包括model_fn函数和input_fn函数,所述model_fn函数用于定义模型的执行逻辑,所述input_fn函数用于定义处理后的采样数据;
调用train函数,将所述自定义模型作为所述学习模型进行训练。
本公开的另一个方面提供了一种图学习框架,包括:
采样模块,用于利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,所述预设接口使用TensorFlow和PyTorch分别实现;
处理模块,用于利用TensorFlow和PyTorch共同提供的Dataset和Transform处理所述采样数据,得到处理后的采样数据;
输入模块,用于将所述处理后的采样数据输入给学习模型,以使所述学习模型学习所述样本图。
根据本公开的实施例,所述属性索引的类型包括Hash索引和Range索引;
所述Hash索引支持点和/或边属性值相等或不等的过滤条件;
所述Range索引支持点和/或边属性值存在、不存在、大于、小于、大于等于、小于等于中任一项的过滤条件;
其中,所述过滤条件用于过滤所述样本图的点和/或边。
根据本公开的实施例,所述预设接口包括点边采样接口、邻居采样接口、随机游走接口和子图采样接口中的至少一类;
所述采样模块包括:
获取子模块,用于根据预设采样类型,获取与所述预设采样类型对应的预设接口;
采样子模块,用于分别使用TensorFlow和PyTorch实现所述预设接口,对所述样本图进行采样,得到采样数据。
其中,当所述预设采样类型包括点边采样时,获取所述点边采样接口;当所述预设采样类型包括邻居采样时,获取所述邻居采样接口;当所述预设采样类型包括随机采样时,获取所述随机采样接口;当所述预设采样类型包括子图采样时,获取所述子图采样接口。
根据本公开的实施例,还包括:
第一筛选模块,用于在所述样本图中筛选出符合预设点和/或边的类型的点和/或边;
获取模块,用于获取所述样本图中筛选出来的点和/或边的属性值,以及,预先设定的属性索引的类型和所述属性索引的类型所支持的过滤条件;
第二筛选模块,用于在所述样本图中筛选出符合所述预先设定的属性索引的类型和所述过滤条件的点和/或边;
数据采样模块,对所述点和/或边进行预设采样类型的采样,得到所述采样数据。
根据本公开的实施例,所述预设接口还包括属性查询接口,所述确定模块包括:
属性获取子模块,用于利用所述属性查询接口,获取指定点和/或边的待查询属性,以及,所述待查询属性的维度,所述待查询属性包括稀疏值、稠密值和字符串值中的至少一种;
属性截取子模块,用于按照所述待查询属性的维度,截取所述待查询属性。
根据本公开的实施例,还包括:
权重获取模块,用于获取所述筛选出来的点和/或边的权重;
图构建模块,用于根据所述筛选出来的点和/或边的权重,构建概率分布图;
抽样模块,用于在所述概率分布图上进行至少一次随机抽样,得到所述采样数据。
根据本公开的实施例,所述点边采样接口的参数包括点或边的类型、个数、属性索引的类型、属性索引的操作符、属性值;
所述邻居采样接口的参数包括顶点集合、边的类型、个数、Topk邻居的K值、属性索引的类型、属性索引的操作符、属性值;
所述属性查询接口的参数包括顶点或边的集合、待查询属性、属性的维度;
所述随机游走接口的参数包括指定顶点集合、边的类型、随机游走序列的长度、由随机游走序列生成上下文序列的窗口大小、随机游走控制返回当前顶点概率的参数、随机游走控制深度优先搜索或广度优先搜索的参数、属性索引的类型、属性索引的操作符、属性值;
所述子图采样接口的参数包括指定顶点集合、每跳邻居的边的类型、每跳邻居的个数、属性索引的类型、属性索引的操作符、属性值。
根据本公开的实施例,所述学习模型支持DeepWalk模型、Node2vec模型、Line、MetaPath2Vec模型、GraphSage模型、Graph Attention networks模型。
根据本公开的实施例,所述学习模型支持统一的自定义模型,所述图学习框架还包括:
构建模块,用于构建统一的自定义模型,所述自定义模型包括model_fn函数和input_fn函数,所述model_fn函数用于定义模型的执行逻辑,所述input_fn函数用于定义处理后的采样数据;
调用模块,用于调用train函数,将所述自定义模型作为所述学习模型进行训练。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
根据本公开的实施例,包括点和/或边属性索引参数的预设接口分别使用TensorFlow和PyTorch实现,提供了统一的图数据接口,使得训练学习模型不再关心样本图的存储方式,可扩展性强。同时,采用TensorFlow和PyTorch共同提供的Dataset和Transform处理所述采样数据,为训练学习模型提供了统一的训练接口,使得数据处理与模型训练解耦,提升接口代码的复用性,其中,Dataset可以并行预取,有效提升模型训练速度,Transform可以实现灵活的数据转换/处理,扩展性强。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用图学习方法的示例性系统架构;
图2示意性示出了根据本公开实施例的图学习方法的流程图;
图3示意性示出了根据本公开实施例采样过程的流程图;
图4示意性示出了根据本公开另一实施例的图学习方法的流程图;
图5示意性示出了根据本公开的实施例的图学习框架的框图;
图6示意性示出了根据本公开实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种图学习方法、框架、计算机系统及可读存储介质。该方法包括利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,预设接口使用TensorFlow和PyTorch分别实现,利用TensorFlow和PyTorch共同提供的Dataset和Transform处理采样数据,得到处理后的采样数据。将处理后的采样数据输入给学习模型,以使学习模型学习样本图。
图1示意性示出了根据本公开实施例的可以应用图学习方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的图学习方法一般可以由服务器105执行。相应地,本公开实施例所提供的图学习框架一般可以设置于服务器105中。本公开实施例所提供的图学习方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的图学习框架也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的图学习方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的图学习框架也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
例如,样本图可以原本存储在终端设备101、102、或103中的任意一个(例如,终端设备101,但不限于此)之中,或者存储在外部存储设备上并可以导入到终端设备101中。然后,终端设备101可以在本地执行本公开实施例所提供的图学习方法,或者将样本图发送到其他终端设备、服务器、或服务器集群,并由接收该样本图的其他终端设备、服务器、或服务器集群来执行本公开实施例所提供的图学习方法。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的图学习方法的流程图。
如图2所示,该方法包括操作S201~S203。
在操作S201,利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,预设接口使用TensorFlow和PyTorch实现。
在操作S202,利用TensorFlow和PyTorch共同提供的Dataset和Transform处理采样数据,得到处理后的采样数据。
在操作S203,将处理后的采样数据输入给学习模型,以使学习模型学习样本图。
在本公开中,样本图可以来自存储有样本图的图存储服务器,具备可扩展性,也可以来源于本地的文件系统。更多的,针对超大规模的图,一般采用分布式文件系统或分布式图存储服务。
在本公开中,该样本图支持同构/异构图,有属性/无属性图,有权/无权图,有向/无向图。其中,同构图指只有同一种类型的顶点的图,异构图指有多种类型的顶点的图。有属性图是指点边都带有一个或多个属性值的图,属性值支持稀疏值,稠密值和字符串值。有权图指点边都带有权重的图。有向/无向图指顶点之间的边是否带有方向的图。
在本公开中,学习模型支持DeepWalk模型、Node2vec模型、Line、MetaPath2Vec模型、GraphSage模型、Graph Attention networks模型。
其中,DeepWalk是经典无偏随机游走的无监督算法。
Node2vec是配置随机游走控制返回当前顶点概率的参数p、随机游走控制深度优先搜索或广度优先搜索的参数q,实现偏向广度优先搜索(BFS,Breath First Search)或深度优先搜索(DFS,Deep First Search)游走的无监督算法。
Line是灵活利用1阶,2阶邻居信息的无监督算法。MetaPath2Vec是应用于异构图的Node2vec算法。
GraphSage是基于邻居采样汇聚的GCN算法。
Graph Attention networks是采用Attention机制进行邻居汇聚的GCN算法。
本公开的属性索引包括Hash索引和/或Range索引,Hash索引支持属性值相等或不等的过滤条件,Range索引支持属性值存在、不存在、大于、小于、大于等于、小于等于中任一项的过滤条件,其中,过滤条件用于过滤样本图的点和/或边。
根据本公开,包括点和/或边属性索引参数的预设接口分别使用TensorFlow和PyTorch实现,提供了统一的图数据接口,使得训练学习模型不再关心样本图的存储方式,可扩展性强。同时,采用TensorFlow和PyTorch共同提供的Dataset和Transform处理采样数据,为训练学习模型提供了统一的训练接口,使得数据处理与模型训练解耦,提升接口代码的复用性,其中,Dataset可以并行预取,有效提升模型训练速度,Transform可以实现灵活的数据转换/处理,扩展性强。
在本公开其中一个实施例中,预设接口包括点边采样接口、邻居采样接口、随机游走接口和子图采样接口中的至少一类,操作S201包括:根据预设采样类型,获取与预设采样类型对应的预设接口;分别使用TensorFlow和PyTorch实现预设接口,对样本图进行采样,得到采样数据。
其中,当预设采样类型包括点边采样时,获取点边采样接口;当预设采样类型包括邻居采样时,获取邻居采样接口;当预设采样类型包括随机采样时,获取随机采样接口;当预设采样类型包括子图采样时,获取子图采样接口。
图3示意性示出了根据本公开实施例采样过程的流程图。
如图3所示,该方法包括操作S301~S304。
在操作S301,在样本图中筛选出符合预设点和/或边的类型的点和/或边。
在操作S302,获取样本图中筛选出来的点和/或边的属性值,以及,预先设定的属性索引的类型和属性索引的类型所支持的过滤条件。
在操作S303,在样本图中筛选出符合预先设定的属性索引的类型和过滤条件的点和/或边。
在操作S304,对点和/或边进行预设采样类型的采样,得到采样数据。
在本公开实施例中,待进行属性索引的点和/或边的类型可以由用户进行设定,或者随机选择。预设接口还包括属性查询接口,在操作S303中:获取筛选出来的点和/或边的待查询属性,待查询属性包括稀疏值、稠密值和字符串值中的至少一种;按照待查询属性的维度,截取待查询属性。
在本公开实施例中,点边采样接口的参数包括点或边的类型、个数、属性索引的类型、属性索引的操作符、属性值。
邻居采样接口的参数包括顶点集合、边的类型、个数、Topk邻居的K值、属性索引的类型、属性索引的操作符、属性值
属性查询接口的参数包括顶点或边的集合、待查询属性、属性的维度
随机游走接口的参数包括指定顶点集合、边的类型、随机游走序列的长度、由随机游走序列生成上下文序列的窗口大小、随机游走控制返回当前顶点概率的参数、随机游走控制深度优先搜索或广度优先搜索的参数、属性索引的类型、属性索引的操作符、属性值。
子图采样接口的参数包括指定顶点集合、每跳邻居的边的类型、每跳邻居的个数、属性索引的类型、属性索引的操作符、属性值。
在本公开中,根据采用的学习模型的类型,确定预设接口的种类。示例性的,当学习模型为Deepwalk模型时,预设接口包括点边采样接口、邻居采样接口、随机游走接口。
在本公开中,点边采样是通过点边上的权重进行采样,对于无权图,权重都是1.0,首先按照样本图中点边的类型和提前建立索引的属性点边筛选出来,然后根据筛选出来的点边权重构建一个概率分布,最后在此概率分布基础上多次随机抽样得到最终的采样结果。统一的点边采样接口实现如下:
SampleNode(type,count,index_name,index_op,attribute_value)
SampleEdge(type,count,index_name,index_op,attribute_value)
其中,type表示点/边的类型参数,count表示个数参数,index_name表示属性索引的类型参数,index_op表示属性索引的操作符参数,可选值相等/不等/存在/不存在/大于/小于/大于等于/小于等于,attribute_value表示属性值参数,可以是多个值,值之间使用逗号分割。
在本公开实施例中,点边采样的过程为:利用点边采样接口,在样本图中筛选出符合预设点和/或边的类型的点和/或边;获取筛选出来的点和/或边的权重;根据筛选出来的点和/或边的权重,构建概率分布图;在概率分布图上进行至少一次随机抽样,得到采样数据。
在本公开中,邻居采样是指基于指定顶点的邻居采样,包括带权邻居采样和按权重取TopK邻居,邻居采样也同样支持按照边的类型和属性进行采样,统一的邻居采样接口包括以下几种接口,其实现如下:
SampleNeighbor(nodes,edge_type,count,index_name,index_op,attribute_value)
GetTopKNeighbor(nodes,edge_type,K,index_name,index_op,attribute_value)
GetFullNeighbor(nodes,edge_type,index_name,index_op,attribute_value)
其中,nodes表示顶点集合参数,edge表示边的类型参数,count表示个数参数,KTopK表示邻居的K值参数,index_name表示属性索引的类型参数,index_op表示属性索引的操作符参数,可选值相等/不等/存在/不存在/大于/小于/大于等于/小于等于,attribute_value表示属性值参数,可以是多个值,值之间使用逗号分割。SampleNeighbor的实现类似点边的采样,只是筛选的点都是邻居,GetTopKNeighbor通过建立一个按照邻居权重的排序的最小堆实现获取Top K个邻居。GetFullNeighbor获取所有满足指定边类型和属性的邻居。
在本公开实施例中,邻居采样的过程为:利用邻居采样接口,根据顶点集合,在样本图数据中获得基于该顶点的所有邻居,在所有邻居中筛选出符合边的类型的邻居,获取该邻居的属性值,以及,属性索引的类型和属性索引的类型所支持的过滤条件(也即属性索引的操作符),在样本图中筛选出符合属性索引的类型和过滤条件的邻居,得到目标邻居。对于SampleNeighbor,根据筛选出来的目标邻居的权重构建一个概率分布图,在此概率分布图基础上多次随机抽样得到最终的采样数据。对于GetTopKNeighbor,将筛选出来的目标邻居的权重建立最小堆树,截取前K个邻居。对于GetFullNeighbor,得到的目标邻居即为采样数据。
在本公开中,属性查询包括查询点边属性的稀疏值(Sparse),稠密值(Dense)和字符串值(string)接口,统一的属性查询接口以下几种接口,其实现如下:
GetNodeSparseAttribute(nodes,attribute_name,attribute_dim)
GetNodeDenseAttribute(nodes,attribute_name,attribute_dim)
GetNodeStringAttribute(nodes,attribute_name,attribute_dim)
GetEdgeSparseAttribute(Edges,attribute_name,attribute_dim)
GetEdgeDenseAttribute(Edges,attribute_name,attribute_dim)
GetEdgeStringAttribute(Edges,attribute_name,attribute_dim)
其中,nodes表示顶点集合参数,Edges表示边集合参数,attribute_name表示属性名字参数,attribute_dim表示属性的维度参数。
在本公开实施例中,属性查询的过程为:利用属性查询接口,获取指定点和/或边的待查询属性,以及,待查询属性的维度,待查询属性包括稀疏值、稠密值和字符串值中的至少一种,按照待查询属性的维度,截取待查询属性。
在本公开中,随机游走是指根据一定的概率规则进行多次邻居采样得到一系列顶点序列,统一的随机游走接口实现如下:
RandomWalk(nodes,edge_type,walk_length,context_size,p,q,index_name,index_op,attribute_value)
其中,nodes表示指定顶点集合参数,edge_type表示边的类型参数,walk_length表示随机游走序列的长度,context_size表示由随机游走序列生成上下文序列的窗口大小参数,p表示随机游走控制返回当前顶点概率的参数,q表示随机游走控制BFS或DFS的参数,index_name表示属性索引的类型参数,index_op表示属性索引的操作符参数,可选值相等/不等/存在/不存在/大于/小于/大于等于/小于等于,attribute_value表示属性值参数,可以是多个值,值之间使用逗号分割。
在本公开实施例中,随机采样的过程为:1)按照指定顶点集合作为游走的起点,在样本图中筛选出符合边的类型的邻居,并获取邻居的属性值,以及,属性索引的类型和属性索引的类型所支持的过滤条件(属性索引的操作符);2)在样本图中筛选出符合预先设定的属性索引的类型和过滤条件的目标邻居;3)根据控制返回当前顶点概率的参数p和控制BFS或DFS的参数q,在目标邻居基础上,抽样得到下一个游走顶点4)此游走顶点作为新的游走起点,重复上述步骤,直到游走序列的长度为止,5)按照随机游走序列窗口大小context_size生成上下文序列,得到采样数据。
在本公开中,子图采样是指直接采样得到一个完整的子图,子图包括点、边、多跳邻居以及点边的属性。子图采样可以使得GNN更加高效的采样。统一的子图采样接口实现如下:
Subgraph(nodes,metapath,hops,index_name,index_op,attribute_value)
其中,nodes表示指定顶点集合参数,metapath表示每跳邻居的边的类型参数,hops表示每跳邻居的个数参数,index_name表示属性索引的类型参数,index_op表示属性索引的操作符参数,可选值相等/不等/存在/不存在/大于/小于/大于等于/小于等于,attribute_value表示属性值,可以是多个值,值之间使用逗号分割。
在本公开实施例中,子图采样的过程为:1)按照指定顶点集合作为子图的中心点,在样本图中筛选出符合第i跳中心点的边的类型的邻居,并获取邻居的属性值,以及,属性索引的类型和属性索引的类型所支持的过滤条件(属性索引的操作符);2)在样本图中筛选出符合预先设定的属性索引的类型和过滤条件的目标邻居;3)根据筛选出来的目标邻居的权重构建一个概率分布,4)在此概率分布基础上多次随机抽样,直到第i跳的个数为止,5)将4)的顶点作为新的中心点,重复上述步骤,直到hops的长度为止,6)采样得到所有的顶点为采样数据。
图4示意性示出了根据本公开另一实施例的图学习方法的流程图。本公开图2中的学习模型还支持统一的自定义模型。
如图4所示,该方法还包括操作S301~S302。
在操作S401,构建统一的自定义模型,自定义模型包括model_fn函数和input_fn函数,model_fn函数用于定义模型的执行逻辑,input_fn函数用于定义处理后的采样数据;
在操作S402,调用train函数,将自定义模型作为学习模型进行训练。
在本公开中,学习模型支持统一的自定义模型,提供常用图算法Layers,实现模型组件化,自定义模型实现如下:
在训练该自定义模型时,首先分别实现model_fn函数和input_fn函数,然后调用train函数启动该自定义模型进行训练。
在本公开其中一个实施例中,利用Parameter Server和All reduce分布式训练策略,训练学习模型。
在本公开中,在Parameter Server架构中,集群中的节点被分为两类:parameterserver和worker。其中parameter server存放模型的参数,而worker负责计算参数的梯度。在每个迭代过程,worker从parameter sever中获得参数,然后将计算的梯度返回给parameter server,parameter server聚合从worker传回的梯度,然后更新参数,并将新的参数广播给worker。
All reduce分布式训练使用的算法是Ring-allreduce,集群中每个设备都是worker,并且形成一个环,没有中心节点来聚合所有worker计算的梯度。在一个迭代过程,每个worker完成自己的mini-batch训练,计算出梯度,并将梯度传递给环中的下一个worker,同时它也接收从上一个worker的梯度。
更多的,本公开可以采用CPU和GPU多种分布式训练模型,包括单机单卡、单机多卡、多机单卡以及多机多卡。
图5示意性示出了根据本公开的实施例的图学习框架的框图。
如图5所示,图学习框架500包括采样模块510、处理模块520、输入模块530。
采样模块510,用于利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,预设接口使用TensorFlow和PyTorch分别实现。
处理模块520,用于利用TensorFlow和PyTorch共同提供的Dataset和Transform处理采样数据,得到处理后的采样数据。
输入模块530,用于将处理后的采样数据输入给学习模型,以使学习模型学习样本图。
在本公开其中一个实施例中,属性索引的类型包括Hash索引和Range索引;
Hash索引支持点和/或边属性值相等或不等的过滤条件;
Range索引支持点和/或边属性值存在、不存在、大于、小于、大于等于、小于等于中任一项的过滤条件;
其中,过滤条件用于过滤样本图的点和/或边。
在本公开其中一个实施例中,预设接口包括点边采样接口、邻居采样接口、随机游走接口和子图采样接口中的至少一类;
采样模块包括:
获取子模块,用于根据预设采样类型,获取与预设采样类型对应的预设接口;
采样子模块,用于分别使用TensorFlow和PyTorch实现预设接口,对样本图进行采样,得到采样数据。
其中,当预设采样类型包括点边采样时,获取点边采样接口;当预设采样类型包括邻居采样时,获取邻居采样接口;当预设采样类型包括随机采样时,获取随机采样接口;当预设采样类型包括子图采样时,获取子图采样接口。
在本公开其中一个实施例中,图学习框架500还包括:
第一筛选模块,用于在样本图中筛选出符合预设点和/或边的类型的点和/或边;
获取模块,用于获取样本图中筛选出来的点和/或边的属性值,以及,预先设定的属性索引的类型和属性索引的类型所支持的过滤条件;
第二筛选模块,用于在样本图中筛选出符合预先设定的属性索引的类型和过滤条件的点和/或边;
数据采样模块,对点和/或边进行预设采样类型的采样,得到采样数据。
在本公开其中一个实施例中,预设接口还包括属性查询接口,确定模块包括:
属性获取子模块,用于利用属性查询接口,获取指定点和/或边的待查询属性,以及,待查询属性的维度,待查询属性包括稀疏值、稠密值和字符串值中的至少一种;
属性截取子模块,用于按照待查询属性的维度,截取待查询属性。
在本公开其中一个实施例中,图学习框架500还包括:
权重获取模块,用于获取筛选出来的点和/或边的权重;
图构建模块,用于根据筛选出来的点和/或边的权重,构建概率分布图;
抽样模块,用于在概率分布图上进行至少一次随机抽样,得到采样数据。
在本公开其中一个实施例中,点边采样接口的参数包括点或边的类型、个数、属性索引的类型、属性索引的操作符、属性值。
邻居采样接口的参数包括顶点集合、边的类型、个数、Topk邻居的K值、属性索引的类型、属性索引的操作符、属性值。
属性查询接口的参数包括顶点或边的集合、待查询属性、属性的维度。
随机游走接口的参数包括指定顶点集合、边的类型、随机游走序列的长度、由随机游走序列生成上下文序列的窗口大小、随机游走控制返回当前顶点概率的参数、随机游走控制深度优先搜索或广度优先搜索的参数、属性索引的类型、属性索引的操作符、属性值。
子图采样接口的参数包括指定顶点集合、每跳邻居的边的类型、每跳邻居的个数、属性索引的类型、属性索引的操作符、属性值。
在本公开其中一个实施例中,学习模型支持DeepWalk模型、Node2vec模型、Line、MetaPath2Vec模型、GraphSage模型、Graph Attention networks模型。
在本公开其中一个实施例中,学习模型支持统一的自定义模型,图学习框架还包括:
构建模块,用于构建统一的自定义模型,自定义模型包括model_fn函数和input_fn函数,model_fn函数用于定义模型的执行逻辑,input_fn函数用于定义处理后的采样数据;
调用模块,用于调用train函数,将自定义模型作为学习模型进行训练。
在本公开其中一个实施例中,还包括训练模型,训练模块,用于利用ParameterServer和All reduce分布式训练策略,训练学习模型。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,采样模块510、处理模块520、输入模块530中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,采样模块510、处理模块520、输入模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,采样模块510、处理模块520、输入模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中图学习框架与本公开的实施例中图学习方法部分是相对应的,图学习系统部分的描述具体参考图学习方法部分,在此不再赘述。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种图学习方法,包括:
利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,所述预设接口使用TensorFlow和PyTorch分别实现;
利用TensorFlow和PyTorch共同提供的Dataset和Transform处理所述采样数据,得到处理后的采样数据;
将所述处理后的采样数据输入给学习模型,以使所述学习模型学习所述样本图。
2.根据权利要求1所述的方法,其中,所述属性索引的类型包括Hash索引和Range索引;
所述Hash索引支持点和/或边属性值相等或不等的过滤条件;
所述Range索引支持点和/或边属性值存在、不存在、大于、小于、大于等于、小于等于中任一项的过滤条件;
其中,所述过滤条件用于过滤所述样本图的点和/或边。
3.根据权利要求1所述的方法,其中,所述预设接口包括点边采样接口、邻居采样接口、随机游走接口和子图采样接口中的至少一类;
所述利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据包括:
根据预设采样类型,获取与所述预设采样类型对应的预设接口;
分别使用TensorFlow和PyTorch实现所述预设接口,对所述样本图进行采样,得到采样数据。
其中,当所述预设采样类型包括点边采样时,获取所述点边采样接口;当所述预设采样类型包括邻居采样时,获取所述邻居采样接口;当所述预设采样类型包括随机采样时,获取所述随机采样接口;当所述预设采样类型包括子图采样时,获取所述子图采样接口。
4.根据权利要求3所述的方法,其中,
在所述样本图中筛选出符合预设点和/或边的类型的点和/或边;
获取所述样本图中筛选出来的点和/或边的属性值,以及,预先设定的属性索引的类型和所述属性索引的类型所支持的过滤条件;
在所述样本图中筛选出符合所述预先设定的属性索引的类型和所述过滤条件的点和/或边;
对所述点和/或边进行预设采样类型的采样,得到所述采样数据。
5.根据权利要求4所述的方法,其中,所述预设接口还包括属性查询接口,所述方法包括:
利用所述属性查询接口,获取指定点和/或边的待查询属性,以及,所述待查询属性的维度,所述待查询属性包括稀疏值、稠密值和字符串值中的至少一种;
按照所述待查询属性的维度,截取所述待查询属性。
6.根据权利要求3所述的方法,其中,当所述预设采样类型包括点边采样时,获取所述点边采样接口之后,还包括:
获取所述筛选出来的点和/或边的权重;
根据所述筛选出来的点和/或边的权重,构建概率分布图;
在所述概率分布图上进行至少一次随机抽样,得到所述采样数据。
7.根据权利要求5所述的方法,其中,
所述点边采样接口的参数包括点或边的类型、个数、属性索引的类型、属性索引的操作符、属性值;
所述邻居采样接口的参数包括顶点集合、边的类型、个数、Topk邻居的K值、属性索引的类型、属性索引的操作符、属性值;
所述属性查询接口的参数包括顶点或边的集合、待查询属性、属性的维度;
所述随机游走接口的参数包括指定顶点集合、边的类型、随机游走序列的长度、由随机游走序列生成上下文序列的窗口大小、随机游走控制返回当前顶点概率的参数、随机游走控制深度优先搜索或广度优先搜索的参数、属性索引的类型、属性索引的操作符、属性值;
所述子图采样接口的参数包括指定顶点集合、每跳邻居的边的类型、每跳邻居的个数、属性索引的类型、属性索引的操作符、属性值。
8.根据权利要求1所述的方法,所述学习模型支持DeepWalk模型、Node2vec模型、Line、MetaPath2Vec模型、GraphSage模型、Graph Attention networks模型。
9.根据权利要求1所述的方法,所述学习模型支持统一的自定义模型,所述方法还包括:
构建统一的自定义模型,所述自定义模型包括model_fn函数和input_fn函数,所述model_fn函数用于定义模型的执行逻辑,所述input_fn函数用于定义处理后的采样数据;
调用train函数,将所述自定义模型作为所述学习模型进行训练。
10.一种图学习框架,包括:
采样模块,用于利用包括点和/或边属性索引参数的预设接口对样本图进行采样,得到采样数据,所述预设接口使用TensorFlow和PyTorch分别实现;
处理模块,用于利用TensorFlow和PyTorch共同提供的Dataset和Transform处理所述采样数据,得到处理后的采样数据;
输入模块,用于将所述处理后的采样数据输入给学习模型,以使所述学习模型学习所述样本图。
11.一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110144656.0A CN113761289A (zh) | 2021-02-02 | 2021-02-02 | 图学习方法、框架、计算机系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110144656.0A CN113761289A (zh) | 2021-02-02 | 2021-02-02 | 图学习方法、框架、计算机系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761289A true CN113761289A (zh) | 2021-12-07 |
Family
ID=78786593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110144656.0A Pending CN113761289A (zh) | 2021-02-02 | 2021-02-02 | 图学习方法、框架、计算机系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761289A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
-
2021
- 2021-02-02 CN CN202110144656.0A patent/CN113761289A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
CN114742691B (zh) * | 2022-05-19 | 2023-08-18 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288049B (zh) | 用于生成图像识别模型的方法和装置 | |
US10877947B2 (en) | Deduplication of metadata for places | |
CN110520871A (zh) | 训练机器学习模型 | |
CN110807515A (zh) | 模型生成方法和装置 | |
US10650048B2 (en) | Managing complex service dependencies in a data integration system | |
CN111368973B (zh) | 用于训练超网络的方法和装置 | |
CN111406264A (zh) | 神经架构搜索 | |
US20190281407A1 (en) | Group-based sequential recommendations | |
WO2017181866A1 (en) | Making graph pattern queries bounded in big graphs | |
CN110634047A (zh) | 一种推荐房源的方法、装置、电子设备及存储介质 | |
US20180197302A1 (en) | Method and apparatus for determining to-be-superimposed area of image, superimposing image and presenting picture | |
CN111104599B (zh) | 用于输出信息的方法和装置 | |
CN111340220B (zh) | 用于训练预测模型的方法和装置 | |
KR101765296B1 (ko) | 사용자 생성 분석수단을 제공하는 데이터 분석도구 제공 장치 및 방법 | |
US20130081053A1 (en) | Acquiring and transmitting tasks and subtasks to interface devices | |
CN111311480A (zh) | 图像融合方法和装置 | |
CN111353601A (zh) | 用于预测模型结构的延时的方法和装置 | |
US9300712B2 (en) | Stream processing with context data affinity | |
CN114863214A (zh) | 图像生成模型训练、图像生成方法、装置、介质及设备 | |
CN116894188A (zh) | 业务标签集更新方法、装置、介质及电子设备 | |
US11979309B2 (en) | System and method for discovering ad-hoc communities over large-scale implicit networks by wave relaxation | |
CN113761289A (zh) | 图学习方法、框架、计算机系统及可读存储介质 | |
CN114730316A (zh) | 用于以电子方式生成电子信息的动态可视层次化表示的计算机化系统和方法 | |
CN111158881A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
US9075670B1 (en) | Stream processing with context data affinity |
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 |