本公开涉及计算机与互联网,尤其涉及一种节点的嵌入表征确定方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、图结构数据是一种建模节点间交互的常见数据结构。许多实际应用中的交互关系都会用图结构数据进行建模,例如,在推荐系统、搜索引擎、问答系统中的许多交互关系都可以构建为图结构数据。然而,当前的图神经网络算法在学习图结构数据的嵌入表征上主要还有以下2个问题:1)针对图结构嵌入表征的通用算法多是基于启发式的随机游走类图嵌入算法。这类启发式的方法生成的节点序列一旦与实际网络中的某些特征有偏差,如:度分布、聚类特征等,就容易得到的非最优化的嵌入表征。2)在推荐领域有很多基于图结构数据的模型优化工作,但是该类工作基本都是为特定的推荐服务定制的,而非针对一般的图结构数据提出的节点的嵌入表征算法。
2、因此,本技术要解决的技术问题是如何对图结构数据中的节点的嵌入表征进行优化。
3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
技术实现思路
1、本公开的目的在于提供一种节点的嵌入表征确定方法、装置、电子设备以及计算机可读存储介质,可以通过有监督学习的方法训练获得图结构数据中节点的嵌入表征,该嵌入表征可以准确的表达节点在图结构数据中的特性。
2、本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
3、本公开实施例提供了一种节点的嵌入表征确定方法,包括:获取图结构数据,所述图结构数据的每条边所关联的两个节点分属于两个互不相交的节点集,所述图结构数据包括第一节点集和第二节点集,所述第一节点集包括第一节点,所述第二节点集包括第二节点;
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、本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序指令,该计算机程序指令存储在计算机可读存储介质中。从计算机可读存储介质读取该计算机程序指令,处理器执行该计算机程序指令,实现上述节点的嵌入表征确定方法。
29、本公开实施例提供的节点的嵌入表征确定方法、装置、电子设备、计算机可读存储介质和计算机程序产品,可以通过第一节点和第二节点的预训练嵌入表征以及第一节点和第二节点的实际关联关系对神经网络模型进行有监督学习,以便能够通过训练完成的神经网络模型获得图结构数据中节点的嵌入表征,并使得该嵌入表征可以准确的表达节点在图结构数据中的特性。
30、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。