一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种社区搜索方法、模型训练方法及相关装置与流程

2022-11-19 10:29:31 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种社区搜索方法、模型训练 方法及相关装置。


背景技术:

2.图是一种由节点集合和连接边集合组成的数据结构,其能够反映该节点 集合中各节点之间的关联关系;在较大规模的图数据中,存在内部节点紧密 连接、但与外部节点稀疏连接的稠密子图,此类稠密子图被称为社区。社区 搜索旨在针对给定的查询节点,在图数据中搜索与该查询节点属于同一社区 的节点;社区搜索在社交网络平台上的好友推荐、广告投放、信息推荐等场 景中发挥着重要作用。
3.相关技术中,通常通过以下方式实现社区搜索:1)预先利用已有的社区 检测算法将图数据中包括的社区全部检测出来并建立索引,对于给定的查询 节点,通过查询索引来返回其所属社区内的全部节点。2)将社区定义为固定 模式的稠密子图,如k-core、k-truss、k-connected component等,采用对应的 图算法在图数据中查询节点的周边搜索这些固定模式的子图,并将搜索到的 子图中的节点作为社区搜索结果返回。
4.然而,上述社区搜索方法在实际应用中取得的效果并不理想,受限于所 采用的社区检测算法的精细度、固定的稠密子图定义模式,现有的社区搜索 方法往往难以灵活准确地针对查询节点确定社区搜索结果。


技术实现要素:

5.本技术实施例提供了一种社区搜索方法、模型训练方法及相关装置,能 够灵活准确地针对查询节点确定社区搜索结果。
6.有鉴于此,本技术第一方面提供了一种社区搜索方法,所述方法包括:
7.获取图数据的标注数据;所述图数据包括多个基础节点,所述标注数据 中包括所述图数据中的标注节点对象及其标注结果,所述标注结果包括与所 述标注节点对象所属于同一社区的基础节点;
8.根据所述图数据中各个基础节点与所述标注节点对象之间的关系、以及 所述各个基础节点的基本特征,确定所述图数据的上下文表示矩阵;所述基 础节点与所述标注节点对象之间的关系是根据所述标注结果确定的,所述上 下文表示矩阵包括所述图数据中各个基础节点的上下文表示特征;
9.根据所述上下文表示矩阵,确定所述图数据中的查询节点对象的上下文 表示特征;
10.根据所述查询节点对象的上下文表示特征、以及所述图数据中除所述查 询节点对象之外的其它基础节点的上下文表示特征,确定所述查询节点对象 的社区搜索结果;所述社区搜索结果包括所述图数据中与所述查询节点对象 所属于同一社区的基础节点。
11.本技术第二方面提供了一种模型训练方法,所述方法包括:
12.基于第一训练图数据,对图神经网络的编码器进行自监督预训练;所述 第一训练图数据包括多个训练节点,所述编码器用于根据图数据中各个基础 节点与标注节点对象之间的关系、以及所述各个基础节点的基本特征确定所 述图数据的上下文表示矩阵,所述上下文表示矩阵包括所述图数据中各个基 础节点的上下文表示特征;
13.基于多个标注训练任务,联合训练所述图神经网络,直至满足训练结束 条件;所述多个标注训练任务分别对应不同的第二训练图数据,所述标注训 练任务包括对应的第二训练图数据中的训练标注节点对象及其训练标注结果, 所述训练标注结果包括与所述训练标注节点对象所属于同一社区的训练节点 以及不属于同一社区的训练节点;所述图神经网络包括经过所述自监督预训 练得到的编码器和解码器,所述解码器用于根据图数据中查询节点对象的上 下文表示特征、以及所述图数据中除所述查询节点对象之外的其它基础节点 的上下文表示特征确定所述查询节点对象的社区搜索结果。
14.本技术第三方面提供了一种社区搜索装置,所述装置包括:
15.数据获取模块,用于获取图数据的标注数据;所述图数据包括多个基础 节点,所述标注数据中包括所述图数据中的标注节点对象及其标注结果,所 述标注结果包括与所述标注节点对象所属于同一社区的基础节点;
16.特征编码模块,用于根据所述图数据中各个基础节点与所述标注节点对 象之间的关系、以及所述各个基础节点的基本特征,确定所述图数据的上下 文表示矩阵;所述基础节点与所述标注节点对象之间的关系是根据所述标注 结果确定的,所述上下文表示矩阵包括所述图数据中各个基础节点的上下文 表示特征;
17.特征确定模块,用于根据所述上下文表示矩阵,确定所述图数据中的查 询节点对象的上下文表示特征;
18.社区搜索模块,用于根据所述查询节点对象的上下文表示特征、以及所 述图数据中除所述查询节点对象之外的其它基础节点的上下文表示特征,确 定所述查询节点对象的社区搜索结果;所述社区搜索结果包括所述图数据中 与所述查询节点对象所属于同一社区的基础节点。
19.本技术第四方面提供了一种模型训练装置,所述装置包括:
20.预训练模块,用于基于第一训练图数据,对图神经网络的编码器进行自 监督预训练;所述第一训练图数据包括多个训练节点,所述编码器用于根据 图数据中各个基础节点与标注节点对象之间的关系、以及所述各个基础节点 的基本特征确定所述图数据的上下文表示矩阵,所述上下文表示矩阵包括所 述图数据中各个基础节点的上下文表示特征;
21.联合训练模块,用于基于多个标注训练任务,联合训练所述图神经网络, 直至满足训练结束条件;所述多个标注训练任务分别对应不同的第二训练图 数据,所述标注训练任务包括对应的第二训练图数据中的训练标注节点对象 及其训练标注结果,所述训练标注结果包括与所述训练标注节点对象所属于 同一社区的训练节点以及不属于同一社区的训练节点;所述图神经网络包括 经过所述自监督预训练得到的编码器和解码器,所述解码器用于根据图数据 中查询节点对象的上下文表示特征、以及所述图数据中除所述查询节点对象 之外的其它基础节点的上下文表示特征确定所述查询节点对象的社区搜索结 果。
22.本技术第五方面提供了一种计算机设备,所述设备包括处理器以及存储 器:
23.所述存储器用于存储计算机程序;
24.所述处理器用于根据所述计算机程序,执行如上述第一方面所述的社区 搜索方法、或第二方面所述的模型训练方法的步骤。
25.本技术第六方面提供了一种计算机可读存储介质,所述计算机可读存储 介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的社 区搜索方法、或第二方面所述的模型训练方法的步骤。
26.本技术第七方面提供了一种计算机程序产品或计算机程序,该计算机程 序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储 介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处 理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的社区搜 索方法、或第二方面所述的模型训练方法的步骤。
27.从以上技术方案可以看出,本技术实施例具有以下优点:
28.本技术实施例提供了一种社区搜索方法,该方法将条件神经过程 (conditional neural process)应用到社区搜索任务中。具体的,在该方法中, 先获取图数据的标注数据,图数据包括多个基础节点,该标注数据中包括该 图数据中的标注节点对象及其标注结果,该标注结果包括与该标注节点对象 所属于同一社区的基础节点。然后,根据该图数据中各个基础节点与该标注 节点对象之间的关系和各个基础节点的基本特征,确定该图数据的上下文表 示矩阵,该上下文表示矩阵中包括该图数据中各个基础节点的上下文表示特 征;此处参考了条件神经过程中编码阶段的实现原理,基于图数据中少量的 标注数据,学习该图数据中各个基础节点之间的关联关系,以生成能够反映 社区稠密度的各个基础节点的上下文表示特征,并据此生成该图数据的上下 文表示矩阵。
29.当需要针对该图数据中的查询节点对象进行社区搜索时,可以根据该图 数据的上下文表示矩阵,确定该查询节点对象的上下文表示特征,进而,根 据该查询节点对象的上下文表示特征和该图数据中除查询节点对象之外的其 它基础节点的上下文表示特征,确定该图数据中与该查询节点对象所属于同 一社区的基础节点,组成该查询节点对象的社区搜索结果;此处参考了条件 神经过程中解码阶段的实现原理,在通过编码阶段确定出图数据的上下文表 示矩阵的情况下,可以在该上下文表示矩阵中确定查询节点对象的上下文表 示特征和其它基础节点的上下文表示特征,进而根据查询节点对象的上下文 表示特征与其它基础节点的上下文表示特征之间的相似性,从图数据中筛选 出与该查询节点对象属于同一社区的基础节点。相比现有的社区搜索方法, 本技术不需要人工设定社区搜索算法的参数以及人工定义稠密子图的模式, 因此可以更灵活准确地对查询节点对象确定社区搜索结果。
附图说明
30.图1为本技术实施例提供的一种社区搜索方法的应用场景示意图;
31.图2为本技术实施例提供的一种社区搜索方法的流程图;
32.图3为本技术实施例提供的一种图神经网络的结构示意图;
33.图4为本技术实施例提供的一种模型训练方法的流程示意图;
34.图5为本技术实施例提供的一种训练过程示意图;
35.图6为本技术实施例提供的一种社区搜索装置的结构图;
36.图7为本技术实施例提供的一种模型训练装置的结构图;
37.图8为本技术实施例提供的终端设备的结构示意图;
38.图9为本技术实施例提供的一种服务器的结构示意图。
具体实施方式
39.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实 施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本申 请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本技术保护的范围。
40.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第 三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的 顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这 里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实 施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的 包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不 必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于 这些过程、方法、产品或设备固有的其它步骤或单元。
41.目前可以通过社区搜索针对给定的查询节点,在图数据中搜索与该查询 节点属于同一社区的节点,然而受限于所采用的社区检测算法的精细度、固 定的稠密子图定义模式,现有的社区搜索方法往往难以灵活准确地针对查询 节点确定社区搜索结果。
42.为了解决上述技术问题,本技术实施例提供了一种社区搜索方法,将条 件神经过程应用到社区搜索任务中,不需要人工设定社区搜索算法的参数以 及人工定义稠密子图的模式,因此可以更灵活准确地对查询节点对象确定社 区搜索结果。
43.本技术实施例提供的一种社区搜索方法和模型训练方法是基于人工智能 (artificial intelligence,ai)实现的,人工智能是利用数字计算机或者数字计 算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知 识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计 算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以 人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机 器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
44.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也 有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯 片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等 技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语 言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
45.本技术实施例所提供的社区搜索方法和模型训练方法可以通过具有数据 处理的计算机设备实施,该计算机设备可以是终端设备或服务器,其中,服 务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群 或者分布式系统,还可以是提供云计算服务的云服务器。终端设备包括但不 限于手机、电脑、智能语音交互设备、智能家电、车载终端等。本技术实施 例可应用于各种场景,包括但不限于云技术、人工智能、智慧交
通、辅助驾 驶等。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地 连接,本技术在此不做限制。
46.该具有数据处理的计算机设备具备机器学习能力,机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸 分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的 学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善 自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径, 其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网 络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
47.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应 用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、 无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自 动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域 得到应用,并发挥越来越重要的价值。
48.本技术实施例提供的方案涉及人工智能技术中的机器学习技术,具体通 过如下实施例进行说明。
49.为了便于理解本技术提供的技术方案,接下来,将结合一种实际应用场 景,对本技术实施例提供的一种社区搜索方法进行介绍。
50.参见图1,图1为本技术实施例提供的一种社区搜索方法的应用场景示意 图。在图1所示的应用场景中,包括服务器20和终端设备10,终端设备10 中安装有用于实现社区搜索的应用程序,该应用程序对应的服务器20和终端 设备10之间可以通过网络进行交互。服务器20用于参考条件神经网络过程, 根据查询节点对象确定社区搜索结果,终端设备10用于和用户进行交互,获 取查询节点对象,并展示社区搜索结果。
51.具体的,图数据可以记为g,包括多个基础节点v(g),服务器20可以 先获取图数据的标注数据,该标注数据中包括该图数据中的标注节点对象q: {q1,

,qj}及其标注结果l:{l
q1
,

,l
qj
},该标注结果包括与该标注节点对象 所属于同一社区的基础节点。然后,根据该图数据中各个基础节点与该标注 节点对象之间的关系和各个基础节点的基本特征,确定该图数据的上下文表 示矩阵,该上下文表示矩阵中包括该图数据中各个基础节点的上下文表示特 征;此处参考了条件神经过程中编码阶段的实现原理,基于图数据g中少量 的标注数据,学习该图数据中各个基础节点v(g)之间的关联关系,以生成 能够反映社区稠密度的各个基础节点v(g)的上下文表示特征,并据此生成 该图数据的上下文表示矩阵,该图数据的上下文表示矩阵体现各个基础节点 的节点索引,将在后续的社区搜索过程中作为社区搜索的依据。
52.当需要针对该图数据中的查询节点对象q
*
进行社区搜索时,可以根据该 图数据的上下文表示矩阵,确定该查询节点对象q
*
的上下文表示特征,进而, 根据该查询节点对象q
*
的上下文表示特征和该图数据中除查询节点对象之外 的其它基础节点的上下文表示特征,确定该图数据g中与该查询节点对象q
*
所 属于同一社区的基础节点,组成该查询节点对象的社区搜索结果此处 参考了条件神经过程中解码阶段的实现原理,在通过编码阶段确定出图数据 的上下文表示矩阵的情况下,可以在该上下文表示矩阵中确定查询节点对象 q
*
的上下文表示特征和其它基础节点的上下文表示特征,进而根据查询节
点 对象q
*
的上下文表示特征与其它基础节点的上下文表示特征之间的相似性, 从图数据g中筛选出与该查询节点对象q
*
属于同一社区的基础节点。本技术 不需要人工设定社区搜索算法的参数以及人工定义稠密子图的模式,因此可 以更灵活准确地对查询节点对象q
*
确定社区搜索结果。
53.接下来,将结合附图,对本技术实施例提供的一种社区搜索方法进行介 绍。参见图2,图2为本技术实施例提供的一种社区搜索方法的流程图,该方 法包括:
54.s101,获取图数据的标注数据。
55.图数据是一种由节点集合和连接边集合组成的数据结构,其能够反映该 节点集合中各节点之间的关联关系,图数据中的节点可以具有基本特征,用 于描述节点的特性,基本特征可以为离散属性,也可以为连续属性,例如图 数据为社交网络,图数据中的节点为用户时,节点的基本特征为用户的个人 信息等。
56.需要说明的是,当图数据中的节点为用户,节点的基本特征为用户的个 人信息时,需要得到用户的授权才可以获取用户的个人信息。示例性的,可 以通过对应的应用程序显示授权提示信息,以通过该授权提示信息提示对应 的用户后台服务器请求获取其个人信息;若检测到该用户通过该授权提示信 息为后台服务器授予获取其个人信息的权限,则可以获取该用户的个人信息, 并相应地根据该用户的个人信息,确定图数据中该用户对应的节点的基本特 征;若未检测到用户为后台服务器授予获取其个人信息的权限,则后台服务 器无权获取该用户的个人信息,此时无法确定图数据中该用户对应的节点的 基本特征,或者也可以将该节点的基本特征设置为默认值。
57.图数据可以表示为g=(v,e),其中,v(g)表示图数据g中节点集合,e(g) 表示图数据g中连接边集合。图数据中的节点可以具有d个基本特征据g中连接边集合。图数据中的节点可以具有d个基本特征利用可以表示第i个节点对应的one-hot编码的d个 基本特征。
58.图数据中,存在内部节点紧密连接、但与外部节点稀疏连接的稠密子图, 此类稠密子图被称为社区。一个社区,即一个稠密子图可以表示为g

=(v

,e

), 该社区内部节点紧密连接,而社区内部节点和社区外部节点松散连接,即 |e

(g

)|>>|(u,v),u∈v

(g

),v∈v(g)\v

(g

)|,|e

(g

)|表示根据稠密子图中 的连接边确定的连接紧密度,|(u,v)|表示节点u和节点v之间的连接紧密度, u∈v

(g

)表示u为稠密子图g

=(v

,e

)中的节点,v∈v(g)\v

(g

)表示v为 图数据g中的节点,但不是该稠密子图g

中的节点,即为该稠密子图g

的外 部节点。
59.为了便于区分,将图数据中的节点称为基础节点,图数据可以具有标注 数据,标注数据包括图数据中的标注节点对象及其标注结果,标注节点对象 的数量可以为一个或多个,每个标注节点对象可以为一个标注节点,也可以 为多个标注节点构成的标注节点组合,标注节点可以为前述的图数据中的基 础节点。标注结果是标注节点对象对应的标签,可以包括与标注节点对象所 属于同一社区的基础节点,每个标注节点可以对应一个标注结果,每个标注 结果可以包括与标注节点对象所属于同一社区的一个或多个基础节点。此外, 标注结果还可以包括与标注节点对象属于不同社区的一个或多个基础节点, 其中,与标注节点对象所属于同一社区的一个或多个基础节点可以作为标注 节点对象对应的正样本节点,与标注节点对象属于不同社区的一个或多个基 础节点可以作为标注节点对象对
应的负样本对象。
60.标注节点对象记为qi,多个标注节点对象记为q={q1,

,qj|qi∈v(g)}, qi∈v(g)}表示标注节点对象qi为图数据中的一个或多个节点,标注节点对象 qi对应的标注结果记为l
qi
,多个标注节点对象分别对应的标注结果记为l={l
q1
,

,l
qj
},每个l
qi
可以包括与标注节点对象qi所属于同一社区的一个或多个 基础节点,作为标注节点对象对应的正样本节点。此外,每个l
qi
还可以包括 与标注节点对象qi属于不同社区的一个或多个基础节点,作为标注节点对象对 应的负样本对象。将标注节点对象qi对应的正样本节点记为即 为与标注节点对象qi所属于同一社区的一个或多个基础节点,将标注节点对象 对应的负样本节点记为即为与标注节点对象qi属于不同社 区且属于图数据g的一个或多个基础节点。
61.s102,根据图数据中各个基础节点与标注节点对象之间的关系、以及各 个基础节点的基本特征,确定图数据的上下文表示矩阵。
62.本技术实施例中,标注节点对象的标注结果包括图数据中与该标注节点 对象所属于同一社区的基础节点,因此,可以根据每个标注节点对象的标注 结果,确定图数据中各个基础节点与该标注节点对象之间的关系,也即确定 每个基础节点与标注节点对象是否属于同一社区。进而,可以根据各个基础 节点与标注节点对象之间的关联关系以及基础节点的基本特征,可以确定图 数据的上下文表示矩阵,图数据的上下文表示矩阵中包括该图数据中各个基 础节点的上下文表示特征,能够反映社区稠密度。此处参考了条件神经过程 中编码阶段的实现原理,基于图数据中少量的标注数据,学习该图数据中各 个基础节点之间的关联关系,以生成能够反映社区稠密度的各个基础节点的 上下文表示特征,并据此生成该图数据的上下文表示矩阵,该图数据的上下 文表示矩阵体现各个基础节点的节点索引,将在后续的社区搜索过程中作为 社区搜索的依据。这样可以充分利用标注数据指示的基础节点之间的关联关 系,使社区搜索更加准确灵活。
63.条件神经过程是随机过程的神经网络近似,随机过程例如高斯过程等, 具体来说,条件神经过程可以包括编码阶段和解码阶段,编码阶段利用编码 器进行数据处理,解码阶段利用解码器进行数据处理。已知条件神经过程的n 个输入样本x={x1,

xn},及其对应的样本标签y={y1,
…yn
},在编码阶段 可以利用输入样本和样本标签,计算得到输入样本的上下文表示矩阵,公式 如下:
[0064][0065]
其中函数作为条件神经网络的编码器,可以将一对输入 (xi,yi)编码为d维向量,该d维向量表示输入样本xi对应的上下文表示特征, 为满足可交换性质的操作符,将n个输入样本对应的d维向量聚合为一个上 下文表示矩阵h,作为输入样本的上下文表示矩阵。
[0066]
参考条件神经过程中的编码阶段,本技术实施例中,可以将标注数据作 为输入信息,其中标注节点对象作为输入样本xi,标注节点对象对应的标注结 果作为输入样本对应
的样本标签yi,条件神经网络作为图神经网络,参见图3, 为本技术实施例提供的一种图神经网络的结构示意图,图神经网络包括图编 码器和解码器,图编码器用于在编码阶段进行数据处理,解码器用于在解码 阶段进行数据处理。图神经网络可以为图卷积神经网络(graph convolutionalnetwork,gcn)、graph sage、图注意力网络(graph attention network)、异 构图神经网络(heterogenous graph neural network)或graph transformer等。
[0067]
利用图神经网络的编码器,可以确定标注节点对象的上下文表示矩阵, 而后根据标注节点对象的上下文表示矩阵得到图数据的上下文表示矩阵,图 数据的上下文表示矩阵可以作为图数据中向量化的节点索引,用于在解码阶 段实现基于查询节点对象的社区搜索。将标注数据作为输入信息,构成一个搜索任务,公式(1)可以转化为:
[0068][0069]
即利用条件神经网络的编码器可以将一对(qi,l
qi
)编码为d维向量 φ
θ
(qi,l
qi
),该d维向量作为标注节点对象qi的上下文表示矩阵,表示标注节 点对象qi的上下文表示特征,将各个标注节点对象qi的上下文表示矩阵进行聚 合得到图数据的上下文表示矩阵h。
[0070]
具体的,若标注数据中包括一个标注节点对象及其标注结果,即i=1, 则可以将标注节点对象的上下文表示矩阵作为图数据的上下文表示矩阵;若 标注数据中包括多个标注节点对象及其各自的标注结果,即i》1,可以对多 个标注节点对象各自的上下文表示矩阵进行聚合处理,得到图数据的上下文 表示矩阵,得到的图数据的上下文表示矩阵包括多个标注节点对象各自的上 下文表示矩阵,能够体现多个标注节点对象与基础节点之间的关联关系。通 常来说,标注节点对象中标注节点越多,越有利于编码器的训练,利于得到 更准确的上下文表示矩阵。
[0071]
需要说明的是,本技术实施例中多处涉及聚合处理,所谓聚合处理是指 参考待聚合的多个数据的特征,进而将待聚合的多个数据聚合为一个数据的 处理方式;常见的聚合处理方式包括但不限于求平均处理、加权求和处理等。 以对上述多个标注节点对象各自的上下文表示矩阵进行聚合处理为例,此处 的聚合处理是指同时参考多个标注节点对象各自的上下文表示矩阵所表达的 特征,聚合得到一个上下文表示矩阵的处理方式。
[0072]
标注节点对象的上下文表示矩阵,可以根据如下方式确定:针对每个标 注节点对象,通过图神经网络的编码器,根据图数据中各个基础节点与标注 节点对象之间的关系,以及各个基础节点的基本特征,确定各个基础节点在 标注节点对象的标注体系下的上下文表示特征;根据各个基础节点在标注节 点对象的标注体系下的上下文表示特征,确定标注节点对象的上下文表示矩 阵,其中图数据中各个基础节点与标注节点对象之间的关系,用于表征该接 基础节点是否为标注节点对象中的标注节点,以及是否为标注结果中的基础 节点。各个基础节点在标注节点对象的标注体系下的上下文表示特征,可以 分别表示各个基础节点和标注节点对象的关联关系,基于此确定出的标注节 点对象的上下文表示矩阵,能够表示图数据中各个基础对象与该标注节点对 象的关联关系。
[0073]
在一些可能的实现中,标注节点对象包括一个标注节点,则各个基础节 点在标注节点对象的标注体系下的上下文表示特征,即为各个基础节点在该 标注节点的标注体系
下的上下文表示特征,各个基础节点在标注节点对象的 标注体系下的上下文表示特征,可以通过如下方式确定:针对该标注节点, 通过图神经网络的编码器,根据图数据中各个基础节点与该标注节点之间的 关系,以及各个基础节点的基本特征,确定各个基础节点在该标注节点的标 注体系下的上下文特征,用于分别表征各个基础节点与该标注节点之间的关 联关系。
[0074]
在另一些可能的实现中,标注节点对象为包括多个标注节点的标注节点 组合,各个基础节点在单个标注节点的标注体系下的上下文特征,用于分别 表征各个基础节点与该标注节点之间的关联关系,各个基础节点在标注节点 对象的标注体系下的上下文表述特征,用于分别表示各个基础节点和各个标 注节点之间的关联关系,则各个节点在标注节点对象的标注体系下的上下文 表示特征,可以针对图数据中的每个基础节点,对该基础节点分别在多个标 注节点的标注体系下的上下文表示特征进行聚合处理得到。各个基础节点在 标注节点对象的标注体系下的上下文表示特征,可以通过如下方式确定:针 对标注节点组合中的每个标注节点,通过图神经网络的编码器,根据图数据 中各个基础节点与标注节点之间的关系,以及各个基础节点的基本特征,确 定各个基础节点分别在多个标注节点的标注体系下的上下文表示特征。对该 基础节点在多个标注节点的标注体系下的上下文表示特征进行聚合处理,可 以利用深度集合(deep sets)框架实现,这种聚合处理具有置换不变性。
[0075]
各个基础节点在标注节点对象的标注体系下的上下文表示特征,可以利 用k层编码器确定,k为正整数,具体的,可以通过以下方式确定:以图数 据中的任一基础节点作为目标节点,通过编码器的第k层,对图数据中目标 节点的各个邻居节点的第k-1级编码特征进行聚合处理,得到目标节点的第k 级参考特征;根据目标节点的第k-1级编码特征和第k级参考特征,确定目标 节点的第k级编码特征,也就是说,目标节点的第k层编码特征,根据目标 节点的第k-1级编码特征,以及目标节点的邻居节点的第k级编码特征确定, 当k等于k时,目标节点的第k级编码特征用于确定目标节点在标注节点对 象的标注体系下的上下文表示特征。其中k为小于或等于k的正整数,当k 等于1时,目标节点的第k-1级编码特征为初始编码特征,初始编码特征为关 系特征和目标节点的基本特征的拼接特征,关系特征用于表征目标节点与标 注节点对象之间的关系。
[0076]
具体实施时,编码器φ
θ
为k层的图神经网络,以基础节点中的目标节点v 为例,基础节点中的目标节点v的邻居节点记为(u,v)∈e(g),目 标节点v和邻居节点u之间的连接边为图数据中的连接边。编码器可以得到目 标节点在单一标注节点的标注体系下的编码特征标注节点对象为包括多 个标注节点的标注节点组合时,目标节点在标注节点对象包括的多个标注节 点的标注体系下的编码特征,经过聚合可以得到目标节点在标注节点对象的 标注体系下的编码特征;在标注节点对象包括一个标注节点时,目标节点在 标注节点对象包括的一个标注节点的标注体系下的编码特征,可以作为目标 节点在标注节点对象的标注体系下的编码特征。以下以目标节点在单一标注 节点的标注体系下的编码特征的计算方式为例进行说明。
[0077]
通过编码器的第k层,可以对目标节点的各个邻居节点的第k-1级编码特 征
进行聚合处理,得到目标节点的第k级参考特征第k层中进行 聚合处理的聚合函数表示为f
a(k)
,聚合过程可以通过如下公式表示:
[0078][0079]
根据目标节点v的第k-1级编码特征和第k级参考特征可以确 定目标节点的第k级编码特征节点的第k级编码特征可以通过第k层中的更新函数f
c(k)
实 现,第k级编码特征的确定公式如下:
[0080][0081]
当k等于1时,k-1为0,目标节点的第k-1级编码特征为初始编码特征, 记为初始编码特征可以为关系特征i
l
(v)和目标节点的基本特征的拼接特征,可以表示为关系特征i
l
(v)可以用于表 征目标节点与标注节点对象之间的关系,i
l
(v)∈{0,1},当目标节点为该标注 节点或该标注节点的标注结果中的正样本节点时,i
l
(v)=1,否则i
l
(v)=0, 得到的第k级编码特征为目标节点在该标注节点的标注体系下的上下文表示 特征。
[0082]
当k等于k时,目标节点的第k级编码特征可以表示为该编码特 征为目标节点在单个标注节点的标注体系下的上下文表示特征,以标注节点 对象包括一个标注节点为例,目标节点在标注节点对象的标注体系下的上下 文表示特征可以表示为
[0083]
针对图数据中的多个基础节点,可以均对应有其在标注节点对象的标注 体系下的上下文表示特征,根据多个基础节点在标注节点对象的标注体系下 的上下文表示特征,可以确定标注节点对象的上下文表示矩阵,之后对多个 标注节点对象的上下文表示矩阵进行聚合得到图数据的上下文表示矩阵,聚 合操作可以以为可交换操作可交换操作可以为自注意力机制、平均聚合 操作等,自注意力机制的好处在于,在聚合产生图数据的上下文表示矩阵h时, 可以为每个标注节点矩阵产生的上下文表示矩阵赋予不同的、可学习的权 重。
[0084]
例如对于每个标注节点对象qi,其上下文表示矩阵可以由全部|v(g)| 个基础节点对应的第k层的输出的d维向量组成,在标注节点对象包括一个 标注节点时,目标节点在标注节点对象的标注体系下的上下文表示特征可以 表示为标注节点对象qi的上下文表示矩阵表示为之后可以利用可交换操作将全部标注节点对象qi的上下文表示矩阵聚合 为图数据的上下文表示矩阵h。
[0085]
s103,根据上下文表示矩阵,确定图数据中的查询节点对象的上下文表 示特征。
[0086]
当需要针对该图数据中的查询节点对象进行社区搜索时,可以根据该图 数据的上下文表示矩阵,确定该查询节点对象的上下文表示特征,该查询节 点对象的上下文表示特征可以体现图数据中该查询节点对象和其他节点之间 的关联关系。查询节点对象可以为一个查询节点,也可以为包括多个查询节 点的查询节点组合,查询节点可以为图数据中的基础节点,查询节点对象记 为q
*
,查询节点可以是标注节点,也可以与标注节点不同,通常来说,标注 节点的数量较少,很难全面覆盖各种查询节点,因此查询节点与标注节点往 往不同,即q
*
∈v(g)\q。
[0087]
由于图数据的上下文表示矩阵中包括该图数据中各个基础节点的上下文 表示特征,则查询节点对象的上下文特征可以根据查询节点对象所包括的各 个查询节点的上下文表示特征确定。具体的,若查询节点对象包括一个查询 节点,则可以在上下文表示矩阵中,确定查询节点的上下文表示矩阵,作为 查询节点独享的上下文表示矩阵;若查询节点对象为包括多个查询节点的查 询节点组合,则可以在上下文表示矩阵中,确定查询节点组合中各个查询节 点各自的上下文表示特征,对查询节点组合中各个查询节点各自的上下文表 示特征进行聚合处理,可以得到查询节点对象的上下文表示特征。
[0088]
此外,若标注节点对象为包括多个标注节点的标注节点组合,确定查询 节点组合中各个查询节点各自的上下文表示特征之前,可以确定与查询节点 对象匹配的标注节点对象,这样可以根据与查询节点对象匹配的标注节点对 象的上下文表示矩阵,确定该查询节点对象对应的上下文表示矩阵,若未确 定出与查询节点对象匹配的标注节点对象,可以确定查询节点组合中各个查 询节点各自的上下文表示特征,并对查询节点组合中各个查询节点各自的上 下文表示特征进行聚合处理,可以得到查询节点对象的上下文表示特征。这 样标注节点对象对应的标注结果,可以直接作为查询节点对象的社区搜索结 果,利于提高社区搜索效率。
[0089]
s104,根据查询节点对象的上下文表示特征、以及图数据中除查询节点 对象之外的其它基础节点的上下文表示特征,确定查询节点对象的社区搜索 结果。
[0090]
在确定查询节点对象的上下文表示特征之后,可以根据该查询节点对象 的上下文表示特征和该图数据中除查询节点对象之外的其它基础节点的上下 文表示特征,确定该图数据中与该查询节点对象所属于同一社区的基础节点, 组成该查询节点对象的社区搜索结果在图数据为社交网络时,查询节 点对象为用户,社区搜索结果为与该用户属于同一社区的其他用户,可直接 应用于社交网络指定用户的社区挖掘任务、社交网络中的冷启动节点推荐任 务等。
[0091]
此处参考了条件神经过程中解码阶段的实现原理,在通过编码阶段确定 出图数据的上下文表示矩阵的情况下,可以在该上下文表示矩阵中确定查询 节点对象的上下文表示特征和其它基础节点的上下文表示特征,进而根据查 询节点对象的上下文表示特征与其它基础节点的上下文表示特征之间的相似 性,从图数据中筛选出与该查询节点对象属于同一社区的基础节点,可以更 灵活准确地对查询节点对象确定社区搜索结果。
[0092]
具体的,可以通过图神经网络的解码器,根据查询节点对象的上下文表 示特征和候选节点的上下文表示特征,确定候选节点对应的预测概率,候选 节点为图数据中除查询节点对象之外的任一基础节点,预测概率用于表征候 选节点与查询节点对象所属于同一社区的概率,这样可以确定所对应的预测 概率满足预设条件的各候选节点,组成社区搜索
结果。预测概率满足预设条 件可以包括,预设概率大于预设概率值,其中预设概率值例如0.5。
[0093]
图神经网络可以为条件神经网络,在条件神经过程的解码阶段,可以根 据测试数据x
*
和上下文表示矩阵h,得到x
*
在目标预测值y
*
上的概率预测分 布p(y
*
|x
*
,x,y),概率预测分布可以通过以下公式确定:
[0094]
p(y
*
|x
*
,x,y)=ρ
θ
(x
*
,h)
ꢀꢀ
(5)
[0095]
其中函数为条件神经网络中的解码器,与随机过程相似, 条件神经过程可通过学习数据生成的先验分布作为元模型使用,然而与随机 过程不同的是,随机过程可以显示定义数据的先验分布,具体的,可以通过 优化先验分布的超参数最大化数据似然,并通过贝叶斯公式推导出预测概率 分布p(y
*
|x
*
,x,y),条件神经过程直接建模并且明显地优化预测概率分布,从 而隐式地学习数据先验分布。
[0096]
参考条件神经网络过程的解码阶段,本技术实施例中,可以将查询节点 对象作为测试数据x
*
,上下文表示矩阵h为图数据的上下文表示矩阵h,利 用解码器确定图数据中的各个基础结果为查询节点对象的样本标签的预测概 率组成的预测概率分布,即图数据中的各个基础节点与查询节点对象属于同 一社区的预测概率分布,预测概率分布可以表示为:
[0097][0098]
属于同一社区的节点通常会有较强的关联性和较高的相似性,因此可以 根据查询节点对象的上下文表示特征和候选节点的上下文表示特征之间的向 量相似性,来确定候选节点对应的预测概率,从而衡量候选节点是否为查询 节点对象所在社区的成员,预测概率越高,候选节点和查询节点对象所属于 同一社区的可能性越大。实际操作中,可以依次将图数据中的各个其他基础 节点作为候选节点,即可得到各个其他节点对应的预测概率,多个预测概率 组合成为查询节点对象对应的预测概率分布,令f
sim
表示相似性函数,公式(6) 可以转化为:
[0099][0100]
具体实施时,可以通过欧式(l2)距离度量查询节点对象和候选节点的 相似性,并利用高斯分布表示查询节点对象对应的预测概率分布。因此公式(7)可以进一步表示为:
[0101][0102]
其中,σ为高斯分布的标准差,是解码器ρ
θ
中需要学习的参数。通过高斯 分布表示预测概率分布的好处是,可以提高深度模型的可解释性和鲁棒性。 不同的查询节点对象之间,可以共享高斯分布的均值(0)和方差(σ2),也 可以针对不同查询节点对象设置不同的均值(0)和方差(σ2),使不同查询 节点对象可以对应有不同的高斯分布,进一步提升模型整体的表达能力。
[0103]
本技术实施例中,查询节点对象可以配置有社区搜索条件,社区搜索条 件用于限制社区搜索结果的基本特征,例如节点为用户时,可以限制社区搜 索结果中的用户包括某项个人信息,例如兴趣爱好等。则在获取社区搜索结 果的过程中,可以根据查询节点对象
的上下文表示特征、以及图特征中除查 询节点对象之外的其他基础节点的上下文表示特征,确定查询节点对象的初 始社区搜索结果,基于社区搜索条件,对初始社区搜索结果包括的基础节点 进行筛选,得到社区搜索结果,从而得到更加具有针对性的社区搜索结果。
[0104]
在基于查询节点对象得到社区搜索结果后,由于社区搜索结果包括与查 询节点对象属于同一社区的基础节点,还可以根据社区搜索结果确定查询节 点对象的属性,例如根据社区搜索结果的某一属性预测查询节点对象的属性。
[0105]
本技术实施例还提供了一种模型训练方法,用于对图神经网络进行训练, 以使训练完成的图神经网络可以用于前述的社区搜索方法,参见图4,为本申 请实施例提供的一种模型训练方法的流程示意图,该方法可以包括:
[0106]
s201,基于第一训练图数据,对图神经网络的编码器进行自监督预训练。
[0107]
本技术实施例中,图神经网络的编码器用于根据图数据中各个基础节点 与标注节点对象之间的关系、以及各个基础节点的基本特征,确定图数据的 上下文表示矩阵,图数据的上下文表示矩阵包括图数据中各个基础节点的上 下文表示矩阵。在对图神经网络的训练过程中,可以先基于第一训练图数据, 对图神经网络的编码器进行自监督预训练,类似于s101中的图数据,第一训 练图数据中可以包括多个节点以及连接边,为了便于区分,将第一训练图数 据中的节点记为训练节点,对图神经网络的编码器进行自监督预训练,可以 使该编码器具备捕捉节点间关联信息的能力,具体为使该编码器可以捕捉节 点间拓扑关系、社区稠密度的节点表示,弥补一般条件神经网络编码器表示 学习能力不足的问题,缓解图神经网络对大量训练样本数据的依赖,提高图 神经网络在训练样本数据稀少情况下的泛化能力,这样可以利用少量的标注 数据进行图神经网络的训练,防止训练过拟合。
[0108]
为使图神经网络编码器可应用与社区搜索任务,该编码器的自监督预训 练任务可以与社区搜索任务密切相关,本技术实施例中,自监督预训练任务 可以包括节点对基于个性化页面排序(personalized pagerank)算法的预测任 务,以及节点组合的局部模块度(local modularity)预测任务中的至少一个, 以下将对两个自监督预训练任务进行详细说明。
[0109]
在基于个性化页面排序算法的预测任务中,可以在第一训练图数据中采 样中心节点,基于不同的中心节点训练编码器,使其能够预测第一训练图数 据中的训练节点与中心节点的个性化页面排序值。具体的,可以基于个性化 页面排序算法,根据第一训练图数据中各个训练节点之间的连接关系,以及 第一训练图数据中各个训练节点与中心节点之间的关系,确定参考相关性表 示向量,训练节点与中心节点之间的关系用于表征基础节点是否为中心节点; 之后通过编码器,根据第一训练图数据中各个训练节点与中心节点之间的关 系、以及第一训练图数据中各个训练节点的基本特征,确定预测相关性表示 向量;根据参考相关性表示向量和预测相关性表示向量,训练该编码器。在 训练该编码器的过程中,可以不断缩小参考相关性表示向量和预测相关性表 示向量之间的差距,以使编码器能够具有获取准确的预测相关性表示向量的 能力。
[0110]
第一训练图数据中各个基础节点之间的连接关系,可以根据第一训练图 数据中的连接边数据确定,作为第一训练图数据的转移概率矩阵,表示为p。 第一训练图数据中各个训练节点与中心节点v之间的关系,可以利用iv表示, iv是满足iv(v)=1的one-hot向量,
即训练节点为中心节点v时,iv为1,不为 中心节点v时,iv为0。
[0111]
参考相关性表示向量可以通过多次迭代法计算得到,在第i次迭代时,训 练节点对应的参考相关性表示向量可以表示为πv(i),其可以通过如下公式计 算得到:
[0112]
πv(i)=(1-α)*πv(i-1)*p α*ivꢀꢀꢀ
(9)
[0113]
其中,α为权重值,在πv(i)和πv(i-1)之间的差距较小时,可以认为参考 相关性表示向量收敛,则可以将πv(i)作为最终的参考相关性表示向量。
[0114]
在确定参考相关性表示向量之后,编码器可以根据第一训练图数据中各 个训练节点与中心节点之间的关系,以及第一训练图数据中各个训练节点的 基础特征,确定预测相关性表示向量,其中各个训练节点与中心节点之间的 关系可以通过iv表示,iv是满足iv(v)=1的one-hot向量,即训练节点为中心 节点v时,iv为1,不为中心节点v时,iv为0。各个训练节点的基础特征可以 表示为编码器的输入特征可以为输入特征为关系特征iv和训练节 点的基本特征的拼接特征,可以表示为编码器的 第k层可以产生d维的上下文表示矩阵作为预测相关性表示向量, 的计算方式可以参考公式(3)和公式(4)。
[0115]
之后根据参考相关性表示向量和预测相关性表示向量,训练该编码器, 具体的,可以将参考相关性表示向量和预测相关性表示向量的偏差作为损失 函数,通过最小化该偏差来训练该编码器。由于参考相关性表示向量本身是 归一化的,则可以对预测相关性表示向量进行归一化,实际操作中,可以将 预测相关性表示向量通过线性参数向量映射至一维,并由softmax函 数进行归一化得到归一化预测向量yv:
[0116][0117]
由于对于大部分真实图,参考相关性表示向量是一个低功率(power low) 分布,对于一个采用中心节点,可以使用参考相关性表示向量和预测相关性 表示向量的交叉熵作为损失函数,训练该编码器,以得到更好的训练效果。 损失函数可以表示为:
[0118][0119]
在基于个性化页面排序算法的预测任务中,可以重复执行采样中心点、 确定参考相关性表示向量、确定预测相关性表示向量的操作,每执行完一次 后,可以根据参考相关性表示向量和预测相关性表示向量按照一定梯度调整 图神经网络编码器的参数。具体的,可以在每执行完一次后,根据这一批次 得到的损失函数调整图神经网络编码器的参数,调整梯度可以根据随机梯度 下降算法确定,直到损失函数收敛或达到一定迭代次数。
[0120]
在基于节点组合的局部模块度预测任务中,可以在第一训练图数据中采 样子图数据,基于不同的采用子图数据训练图神经网络编码器,使其能够预 测该子图数据中的节点集合在第一训练图数据中的局部模块度。具体的,可 以基于局部模块度算法,根据第一
训练图数据中包括的连接边,以及第一训 练图数据中各训练节点对与子图数据之间的关系,确定参考局部模块度,其 中训练节点对与子图数据之间的关系用于表征训练节点对中的训练节点是否 均属于子图数据、以及训练节点对中的训练节点是否具有连接关系;通过编 码器,根据第一训练图数据中各个训练节点与子图数据之间的关系、以及第 一训练数据中各个训练节点的基本特征,确定预测局部模块度,训练节点与 子图数据之间的关系用于表征基训练节点是否属于子图数据;根据参考局部 模块度和预测局部模块度,训练编码器。在训练该编码器的过程中,可以不 断缩小参考局部模块度和预测局部模块度之间的差距,以使编码为能够具有 获取准确的预测局部模块度的能力。
[0121]
在第一训练图数据中采样的子图数据可以表示为g

,子图数据中的节点集 合记为v(g

),子图数据可以通过在第一训练图数据上的随机游走采样得到。 第一训练图数据中包括的连接边表示为e(g),参考局部模块度lq(g

)可以通 过如下公式表示:
[0122][0123]
其中,δ(u,v)为第一训练图数据中的训练节点u和训练节点v构成的训练 节点对的关系参数,可以为:
[0124][0125]
第一训练图数据中各训练节点对与子图数据之间的关系用于表征训练节 点对中的训练节点是否均属于子图数据、以及训练节点对中的训练节点是否 具有连接关系,∑
u,v∈v(g)
δ(u,v)可以表示属于子图数据且具有连接关系的训 练节点对的数量。
[0126]
编码器可以根据第一训练图数据中各个基础节点与子图数据之间的关系、 以及第一训练数据中各个基础节点的基本特征,确定预测局部模块度,其中 第一训练图数据中各个训练节点与子图数据之间的关系可以通过ig′
∈ {0,1}
v(g)
表示,ig′
∈{0,1}
v(g)
为一个二值向量,满足ig′
[u]=1当且仅当节点u 被子图g

采样到。各个训练节点的基础特征可以表示为编码器的输入 特征为输入特征为关系特征ig′
和训练节点的基本特征的拼接特征, 考公式(3)和公式(4)。
[0127]
之后根据参考局部模块度和预测局部模块度,训练该编码器,具体的, 可以将参考局部模块度和预测局部模块度的偏差作为损失函数,通过最小化 该偏差来训练该编码器。由于参考相关性表示向量本身是归一化的,则可以 对预测局部模块度进行归一化,实际操作中,可以将预测局部模块度通过线 性参数向量映射至一维,并由sigmoid函数进行归一化得到归一化预 测局部模块度yg′

[0128][0129]
对于一个采样子图数据,可以将参考局部模块度和预测局部模块度的交 叉熵作为损失函数,训练该编码器,损失函数可以表示为:
[0130][0131]
当然,也可以将参考局部模块度和预测局部模块度的均方误差作为损失 函数,训练该编码器,损失函数可以表示为:
[0132][0133]
在基于节点组合的局部模块度预测任务中,可以重复执行采样子图数据、 确定参考局部模块度、确定预测局部模块度的操作,每执行完一次后,可以 根据参考局部模块度和预测局部模块度按照一定梯度调整图神经网络编码器 的参数。具体的,可以在每执行完一次,根据这一批次得到的损失函数调整 图神经网络编码器的参数,调整梯度可以根据随机梯度下降算法确定,直到 损失函数收敛或达到一定迭代次数。
[0134]
本技术实施例中,还可以将采样数据及其对应的参考数据存储至缓冲区, 以便后续从缓冲区获取采样数据及其对应的参考数据,并基于所获取的采样 数据及其对应的参考数据对编码器进行自监督预训练。其中,采样数据包括 在第一训练图数据中采样的中心节点、和在第一训练图数据中采样的子图数 据中的至少一种,当采样数据为中心节点时,参考数据为基于个性化页面排 序算法和采样数据确定的参考相关性表示向量;当采样数据为子图数据时, 参考数据为基于局部模块度算法和采样数据确定的参考局部模块度。这样可 以强化学习中采用的经验回放思想,基于所获取的采样数据及其对应的参考 数据对编码器进行自监督预训练,减少计算参考相关性表示向量和参考局部 模块度的额外开销。
[0135]
s202,基于多个标注训练任务,联合训练图神经网络,直至满足训练结 束条件。
[0136]
本技术实施例中,在对编码器进行自监督预训练后,可以基于多个标注 训练任务联合训练图神经网络,图神经网络包括经过所述自监督预训练得到 的编码器和解码器,所述解码器用于根据图数据中查询节点对象的上下文表 示特征、以及所述图数据中除所述查询节点对象之外的其它基础节点的上下 文表示特征确定所述查询节点对象的社区搜索结果。从而对自监督训练得到 的编码器进行精调模型并学习解码器,通过在多任务上的元学习捕捉到社区 搜索问题中的归纳先验,如共享某些隐式特征的稠密连接子图为同一社区, 最终使得构建的图神经网络可以快速有效地适应到一个新的社区搜索任务。
[0137]
参见图5,为本技术实施例提供的一种训练过程示意图,其中自监督预训 练针对编码器,而联合训练针对图神经网络中的编码器和解码器,对编码器 的自监督训练和对图神经网络的联合训练均可以离线进行。通过基于多标注 任务(与社区搜索任务对应)的元学习,对图神经网络做进一步训练,使得 图神经网络能够适应社区搜索任务。通过自监督预训练与多元学习结合的训 练模式,可以在无需大量标注数据的情况下,训练得到能够普适用于各种社 区搜索任务的图神经网络。
[0138]
多个标注训练任务分别对应不同的第二训练图数据,第二训练图数据中 可以具有多个节点,标注训练任务包括对应的第二训练图数据中的训练标注 节点对象
及其训练标注结果训练标注节点对象的数 量可以为一个,也可以为多个,训练标注节点对象可以包括一个或多个训练 标注节点,训练标注结果包括与训练标注节点对象所属于同一社区的基础节 点以及不属于同一社区的基础节点。
[0139]
基于多个标注任务联合训练图神经网络,可以具体为,将每个标注训练 任务拆分为支持集合(support set)和查询集合(query set);针对每个标注训 练任务,通过编码器,根据标注训练任务对应的第二训练图数据和标注训练 任务的支持集合,确定标注训练任务的预测上下文表示矩阵;针对每个标注 训练任务,根据标注训练任务的预测上下文表示矩阵和标注训练任务的查询 集合,构建标注训练任务的损失函数;根据多个标注训练任务各自的损失函 数,训练图神经网络。其中,标注训练任务的预测上下文表示矩阵可以用于 查询集合的社区搜索,其确定方式可以参考s102中图数据的上下文表示矩阵 的生成方式,标注训练任务的损失函数可以根据查询集合的社区搜索的结果 准确性确定。训练图神经网络可以通过最小化各个损失函数实现。
[0140]
多个标注训练任务可以表示为假设中的每个任务是相 互独立的,并且中已知标签的每个训练标注节点对象是相互独立的。对每个 任务支持集合表示为查询集合表示为查询集合表示为支持集合用于产生每个标注训练任务的上下文表示矩阵, 查询集合用于计算标注训练任务的损失函数。
[0141]
条件神经过程可以包括形成任务的生成过程即最大化的边缘似然 p({l1,

,ln}|{q1,

,qn},θ):
[0142][0143]
最大化公式(17),可以视为最小化以下公式:
[0144]
具体实施时,标注训练任务的损失函数可以通过如下方式构建:根据预 测上下文表示矩阵,确定查询集合中训练标注节点对象的预测上下文特征、 以及训练标注节点对象的训练标注结果中包括的节点的预测上下文特征;根 据训练标注节点对象和训练标注结果中与训练标注节点对象所属于同一社区 的节点各自的预测上下文特征,确定第一损失值;根据训练标注节点对象和 训练标注结果中与所述训练标注节点对象不属于同一社区的节点各自的预测 上下文特征,确定第二损失值;根据第一损失值和第二损失值,构建损失函 数。训练标注节点对象的预测上下文特征、以及训练标注节点对象的训练标 注结果中包括的节点的预测上下文特征,可以参考s103中查询节点对象的上 下文标识特征的确定方式进行确定,在此不做赘述。
[0145]
第一损失值用于表征训练标注节点对象的预测上下文特征的准确性,第 二损失
值用于表征训练标注节点对象的训练标注结果中包括的节点的预测上 下文特征的准确性,通过降低第一损失值和第二损失值,可以分别提高训练 标注节点对象的预测上下文特征、以及训练标注节点对象的训练标注结果中 包括的节点的预测上下文特征的生成准确性。
[0146]
具体来说,训练目标需要最大化正样本的似然概率,并且最小化负样本 的似然概率,参考公式(8),可以将公式(18)优化为:
[0147][0148]
其中,每个任务的损失函数可以表示为:
[0149][0150]
在基于多个标注训练任务,联合训练图神经网络的过程中,可以重复执 行标注训练任务的拆分、标注训练任务的预测上下文表示矩阵的确定、标注 训练任务的损失函数的构建的操作,每执行完依次后,可以根据多个标注训 练任务各自的损失函数,按照一定梯度调整图神经网络的参数。具体的,可 以在每执行完一次,根据这一批次得到的损失函数调整图神经网络的参数, 调整梯度可以根据随机梯度下降算法确定,直到损失函数收敛或达到一定迭 代次数。
[0151]
基于本技术实施例提供的一种社区搜索方法,本技术实施例还提供了一 种社区搜索装置,参见图6,为本技术实施例提供的一种社区搜索装置的结构 图,社区搜索装置600包括:
[0152]
数据获取模块601,用于获取图数据的标注数据;所述图数据包括多个基 础节点,所述标注数据中包括所述图数据中的标注节点对象及其标注结果, 所述标注结果包括与所述标注节点对象所属于同一社区的基础节点;
[0153]
特征编码模块602,用于根据所述图数据中各个基础节点与所述标注节点 对象之间的关系、以及所述各个基础节点的基本特征,确定所述图数据的上 下文表示矩阵;所述基础节点与所述标注节点对象之间的关系是根据所述标 注结果确定的,所述上下文表示矩阵包括所述图数据中各个基础节点的上下 文表示特征;
[0154]
特征确定模块603,用于根据所述上下文表示矩阵,确定所述图数据中的 查询节点对象的上下文表示特征;
[0155]
社区搜索模块604,用于根据所述查询节点对象的上下文表示特征、以及 所述图数据中除所述查询节点对象之外的其它基础节点的上下文表示特征, 确定所述查询节点对象的社区搜索结果;所述社区搜索结果包括所述图数据 中与所述查询节点对象所属于同一社区的基础节点。
[0156]
可选的,所述标注数据中包括多个标注节点对象及其各自的标注结果; 所述特征编码模块,包括:
[0157]
特征编码子模块,用于针对每个所述标注节点对象,通过图神经网络的 编码器,根据所述图数据中各个基础节点与所述标注节点对象之间的关系、 以及所述各个基础节
点的基本特征,确定所述各个基础节点在所述标注节点 对象的标注体系下的上下文表示特征;根据所述各个基础节点在所述标注节 点对象的标注体系下的上下文表示特征,确定所述标注节点对象的上下文表 示矩阵;
[0158]
第一聚合模块,用于对所述多个标注节点对象各自的上下文表示矩阵进 行聚合处理,得到所述图数据的上下文表示矩阵。
[0159]
可选的,所述标注节点对象为包括多个标注节点的标注节点组合;所述 特征子编码模块,包括:
[0160]
特征确定子模块,用于针对所述标注节点组合中的每个所述标注节点, 通过所述图神经网络的编码器,根据所述图数据中各个基础节点与所述标注 节点对象之间的关系、以及所述各个基础节点的基本特征,确定所述各个基 础节点分别在所述多个标注节点的标注体系下的上下文表示特征;
[0161]
第二聚合模块,用于针对所述图数据中的每个所述基础节点,对所述基 础节点在所述多个标注节点的标注体系下的上下文表示特征进行聚合处理, 得到所述基础节点在所述标注节点对象的标注体系下的上下文表示特征。
[0162]
可选的,所述特征编码模块具体用于:
[0163]
通过所述编码器的第k层,对所述图数据中目标节点的各个邻居节点的 第k-1级编码特征进行聚合处理,得到所述目标节点的第k级参考特征;根据 所述目标节点的第k-1级编码特征和所述第k级参考特征,确定所述目标节点 的第k级编码特征;
[0164]
其中,所述目标节点为所述图数据中的任一基础节点;所述编码器包括k 层,k为正整数,k为小于或等于k的正整数;当k等于1时,所述目标节 点的第k-1级编码特征为关系特征和所述目标节点的基本特征的拼接特征,所 述关系特征用于表征所述目标节点与所述标注节点对象之间的关系;当k等 于k时,所述目标节点的第k级编码特征用于确定所述目标节点在所述标注 节点对象的标注体系下的上下文表示特征。
[0165]
可选的,所述社区搜索模块,包括:
[0166]
概率确定模块,用于通过图神经网络的解码器,根据所述查询节点对象 的上下文表示特征和候选节点的上下文表示特征,确定所述候选节点对应的 预测概率;所述候选节点为所述图数据中除所述查询节点对象外的任一基础 节点,所述预测概率用于表征所述候选节点与所述查询节点对象所属于同一 社区的概率;
[0167]
结果确定模块,用于确定所对应的预测概率满足预设条件的各候选节点, 组成所述社区搜索结果。
[0168]
可选的,所述特征确定模块具体用于:
[0169]
在所述上下文表示矩阵中,确定所述查询节点组合中各个查询节点各自 的上下文表示特征;对所述查询节点组合中各个查询节点各自的上下文表示 特征进行聚合处理,得到所述查询节点对象的上下文表示特征。
[0170]
可选的,所述查询节点对象配置有社区搜索条件;所述社区搜索模块, 包括:
[0171]
初始结果确定模块,用于根据所述查询节点对象的上下文表示特征、以 及所述图数据中除所述查询节点对象之外的其它基础节点的上下文表示特征, 确定所述查询节点对象的初始社区搜索结果;
[0172]
筛选模块,用于基于所述社区搜索条件,对所述初始社区搜索结果包括 的基础节
点进行筛选,得到所述社区搜索结果。
[0173]
基于上述实施例提供的一种模型训练方法,本技术实施例还提供了一种 模型训练装置,参见图7,图7为本技术实施例提供的一种模型训练装置的结 构框图,该模型训练装置700包括:
[0174]
预训练模块701,用于基于第一训练图数据,对图神经网络的编码器进行 自监督预训练;所述第一训练图数据包括多个训练节点,所述编码器用于根 据图数据中各个基础节点与标注节点对象之间的关系、以及所述各个基础节 点的基本特征确定所述图数据的上下文表示矩阵,所述上下文表示矩阵包括 所述图数据中各个基础节点的上下文表示特征;
[0175]
联合训练模块702,用于基于多个标注训练任务,联合训练所述图神经网 络,直至满足训练结束条件;所述多个标注训练任务分别对应不同的第二训 练图数据,所述标注训练任务包括对应的第二训练图数据中的训练标注节点 对象及其训练标注结果,所述训练标注结果包括与所述训练标注节点对象所 属于同一社区的训练节点以及不属于同一社区的训练节点;所述图神经网络 包括经过所述自监督预训练得到的编码器和解码器,所述解码器用于根据图 数据中查询节点对象的上下文表示特征、以及所述图数据中除所述查询节点 对象之外的其它基础节点的上下文表示特征确定所述查询节点对象的社区搜 索结果。
[0176]
可选的,所述预训练模块,包括:
[0177]
第一采样模块,用于在所述第一训练图数据中采样中心节点;
[0178]
参考向量确定模块,用于基于个性化页面排序算法,根据所述第一训练 图数据中各个训练节点之间的连接关系、以及所述第一训练图数据中各个训 练节点与所述中心节点之间的关系,确定参考相关性表示向量;所述训练节 点与所述中心节点之间的关系用于表征所述训练节点是否为所述中心节点;
[0179]
预测向量确定模块,用于通过所述编码器,根据所述第一训练图数据中 各个训练节点与所述中心节点之间的关系、以及所述第一训练图数据中各个 训练节点的基本特征,确定预测相关性表示向量;
[0180]
第一训练模块,用于根据所述参考相关性表示向量和所述预测相关性表 示向量,训练所述编码器。
[0181]
可选的,所述预训练模块,包括:
[0182]
第二采样模块,用于在所述第一训练图数据中采样子图数据;
[0183]
参考局部模块度获取模块,用于基于局部模块度算法,根据所述第一训 练图数据中包括的连接边、以及所述第一训练图数据中各训练节点对与所述 子图数据之间的关系,确定参考局部模块度;所述训练节点对与所述子图数 据之间的关系用于表征所述训练节点对中的训练节点是否均属于所述子图数 据、以及所述训练节点对中的训练节点是否具有连接关系;
[0184]
预测局部模块度获取模块,用于通过所述编码器,根据所述第一训练图 数据中各个训练节点与所述子图数据之间的关系、以及所述第一训练图数据 中各个训练节点的基本特征,确定预测局部模块度;所述训练节点与所述子 图数据之间的关系用于表征所述训练节点是否属于所述子图数据;
[0185]
第二训练模块,用于根据所述参考局部模块度和所述预测局部模块度, 训练所述编码器。
[0186]
可选的,所述装置还包括:
[0187]
存储模块,用于将采样数据及其对应的参考数据存储至缓冲区,以便后 续从所述缓冲区获取所述采样数据及其对应的参考数据,并基于所获取的采 样数据及其对应的参考数据对所述编码器进行自监督预训练;
[0188]
其中,所述采样数据包括在所述第一训练图数据中采样的中心节点、和 在所述第一训练图数据中采样的子图数据中的至少一种;当所述采样数据为 所述中心节点时,所述参考数据为基于个性化页面排序算法和所述采样数据 确定的参考相关性表示向量;当所述采样数据为所述子图数据时,所述参考 数据为基于局部模块度算法和所述采样数据确定的参考局部模块度。
[0189]
可选的,所述联合训练模块,包括:
[0190]
拆分模块,用于将每个所述标注训练任务拆分为支持集合和查询集合;
[0191]
矩阵获取模块,用于针对每个所述标注训练任务,通过所述编码器,根 据所述标注训练任务对应的第二训练图数据和所述标注训练任务的支持集合, 确定所述标注训练任务的预测上下文表示矩阵;
[0192]
损失函数构建模块,用于针对每个所述标注训练任务,根据所述标注训 练任务的预测上下文表示矩阵和所述标注训练任务的查询集合,构建所述标 注训练任务的损失函数;
[0193]
第三训练模块,用于根据所述多个标注训练任务各自的损失函数,训练 所述图神经网络。
[0194]
可选的,所述损失函数构建模块,包括:
[0195]
特征获取模块,用于根据所述预测上下文表示矩阵,确定所述查询集合 中训练标注节点对象的预测上下文特征、以及训练标注节点对象的训练标注 结果中包括的节点的预测上下文特征;
[0196]
损失值确定模块,用于根据所述训练标注节点对象和所述训练标注结果 中与所述训练标注节点对象所属于同一社区的节点各自的预测上下文特征, 确定第一损失值;根据所述训练标注节点对象和所述训练标注结果中与所述 训练标注节点对象不属于同一社区的节点各自的预测上下文特征,确定第二 损失值;
[0197]
损失函数构建子模块,用于根据所述第一损失值和所述第二损失值,构 建所述损失函数。
[0198]
本技术实施例还提供了一种计算机设备,用于执行社区搜索方法或模型 训练方法,该设备具体可以是终端设备或者服务器,下面将从硬件实体化的 角度对本技术实施例提供的终端设备和服务器进行介绍。
[0199]
参见图8,图8是本技术实施例提供的终端设备的结构示意图。如图8所 示,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未 揭示的,请参照本技术实施例方法部分。该终端可以为包括手机、平板电脑、 个人数字助理(英文全称:personal digital assistant,英文缩写:pda)、销售 终端(英文全称:point of sales,英文缩写:pos)、车载电脑等任意终端设备, 以终端为计算机为例:
[0200]
图8示出的是与本技术实施例提供的终端相关的计算机的部分结构的框 图。参考图8,计算机包括:射频(英文全称:radio frequency,英文缩写: rf)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、 音频电路1260、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模 块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解, 图8中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或 更少的部件,或者组合某些部件,或者不同的部件布置。
[0201]
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储 在存储器1220的软件程序以及模块,从而执行计算机的各种功能应用以及数 据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序 区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图 像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比 如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储 器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、 或其他易失性固态存储器件。
[0202]
处理器1280是计算机的控制中心,利用各种接口和线路连接整个计算机 的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以 及调用存储在存储器1220内的数据,执行计算机的各种功能和处理数据。可 选的,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集 成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用 户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是, 上述调制解调处理器也可以不集成到处理器1280中。
[0203]
在本技术实施例中,该终端所包括的处理器1280还具有以下功能:
[0204]
获取图数据的标注数据;所述图数据包括多个基础节点,所述标注数据 中包括所述图数据中的标注节点对象及其标注结果,所述标注结果包括与所 述标注节点对象所属于同一社区的基础节点;
[0205]
根据所述图数据中各个基础节点与所述标注节点对象之间的关系、以及 所述各个基础节点的基本特征,确定所述图数据的上下文表示矩阵;所述基 础节点与所述标注节点对象之间的关系是根据所述标注结果确定的,所述上 下文表示矩阵包括所述图数据中各个基础节点的上下文表示特征;
[0206]
根据所述上下文表示矩阵,确定所述图数据中的查询节点对象的上下文 表示特征;
[0207]
根据所述查询节点对象的上下文表示特征、以及所述图数据中除所述查 询节点对象之外的其它基础节点的上下文表示特征,确定所述查询节点对象 的社区搜索结果;所述社区搜索结果包括所述图数据中与所述查询节点对象 所属于同一社区的基础节点。
[0208]
或,
[0209]
基于第一训练图数据,对图神经网络的编码器进行自监督预训练;所述 第一训练图数据包括多个训练节点,所述编码器用于根据图数据中各个基础 节点与标注节点对象之间的关系、以及所述各个基础节点的基本特征确定所 述图数据的上下文表示矩阵,所述上下文表示矩阵包括所述图数据中各个基 础节点的上下文表示特征;
[0210]
基于多个标注训练任务,联合训练所述图神经网络,直至满足训练结束 条件;所述多个标注训练任务分别对应不同的第二训练图数据,所述标注训 练任务包括对应的第
二训练图数据中的训练标注节点对象及其训练标注结果, 所述训练标注结果包括与所述训练标注节点对象所属于同一社区的训练节点 以及不属于同一社区的训练节点;所述图神经网络包括经过所述自监督预训 练得到的编码器和解码器,所述解码器用于根据图数据中查询节点对象的上 下文表示特征、以及所述图数据中除所述查询节点对象之外的其它基础节点 的上下文表示特征确定所述查询节点对象的社区搜索结果。
[0211]
可选的,所述处理器1280还用于执行本技术实施例提供的社区搜索方法 或模型训练方法的任意一种实现方式的步骤。
[0212]
参见图9,图9为本技术实施例提供的一种服务器1300的结构示意图。 该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一 个以上中央处理器(central processing units,cpu)1322(例如,一个或一个 以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344 的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332 和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序 可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中 的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330 通信,在服务器1300上执行存储介质1330中的一系列指令操作。
[0213]
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线 或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一 个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm, freebsdtm等等。
[0214]
上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。
[0215]
其中,cpu 1322用于执行如下步骤:
[0216]
获取图数据的标注数据;所述图数据包括多个基础节点,所述标注数据 中包括所述图数据中的标注节点对象及其标注结果,所述标注结果包括与所 述标注节点对象所属于同一社区的基础节点;
[0217]
根据所述图数据中各个基础节点与所述标注节点对象之间的关系、以及 所述各个基础节点的基本特征,确定所述图数据的上下文表示矩阵;所述基 础节点与所述标注节点对象之间的关系是根据所述标注结果确定的,所述上 下文表示矩阵包括所述图数据中各个基础节点的上下文表示特征;
[0218]
根据所述上下文表示矩阵,确定所述图数据中的查询节点对象的上下文 表示特征;
[0219]
根据所述查询节点对象的上下文表示特征、以及所述图数据中除所述查 询节点对象之外的其它基础节点的上下文表示特征,确定所述查询节点对象 的社区搜索结果;所述社区搜索结果包括所述图数据中与所述查询节点对象 所属于同一社区的基础节点。
[0220]
或,
[0221]
基于第一训练图数据,对图神经网络的编码器进行自监督预训练;所述 第一训练图数据包括多个训练节点,所述编码器用于根据图数据中各个基础 节点与标注节点对象之间的关系、以及所述各个基础节点的基本特征确定所 述图数据的上下文表示矩阵,所述上下文表示矩阵包括所述图数据中各个基 础节点的上下文表示特征;
[0222]
基于多个标注训练任务,联合训练所述图神经网络,直至满足训练结束 条件;所述多个标注训练任务分别对应不同的第二训练图数据,所述标注训 练任务包括对应的第
二训练图数据中的训练标注节点对象及其训练标注结果, 所述训练标注结果包括与所述训练标注节点对象所属于同一社区的训练节点 以及不属于同一社区的训练节点;所述图神经网络包括经过所述自监督预训 练得到的编码器和解码器,所述解码器用于根据图数据中查询节点对象的上 下文表示特征、以及所述图数据中除所述查询节点对象之外的其它基础节点 的上下文表示特征确定所述查询节点对象的社区搜索结果。
[0223]
可选的,cpu 1322还可以用于执行本技术实施例提供的社区搜索方法或 模型训练方法的任意一种实现方式的步骤。
[0224]
本技术实施例还提供一种计算机可读存储介质,用于存储计算机程序, 该计算机程序用于执行前述各个实施例所述的一种社区搜索方法或模型训练 方法中的任意一种实施方式。
[0225]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程 序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储 介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处 理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种 社区搜索方法或模型训练方法中的任意一种实施方式。
[0226]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
[0227]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
[0228]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
[0229]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
[0230]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:random accessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储计算机程序的介 质。
[0231]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个
”ꢀ
是指两个或
两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存 在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存 在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后 关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项 中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或 c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或
ꢀ“
a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0232]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制; 尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献