发明内容
有鉴于此,本发明实施例提供了一种数据处理的方法及电子设备,提高了建模过程中建模数据的深度和广度,提高了模型的稳定性。
根据本发明实施例的第一方面,提供了一种数据处理的方法,包括:根据知识图谱确定建模数据;根据所述建模数据生成建模集合;根据所述建模集合训练模型;输出所述模型。
在一个实施例中,根据知识图谱确定建模数据,具体包括:在所述知识图谱的图数据库中确定实体和实体属性;在所述知识图谱的关系数据库和非关系数据库中确定所述实体和实体属性对应的第一数据;通过所述实体、所述实体属性以及所述第一数据确定实体向量化数据,并通过设定算法确定所述实体的关系数据;将所述关系数据映射到所述实体向量化数据中,确定所述建模数据。
在一个实施例中,所述设定算法为概率图模型算法。
在一个实施例中,所述建模集合包括训练集、测试集和验证集。
在一个实施例中,根据所述建模集合训练模型,具体包括:根据所述建模集合,通过机器学习训练所述模型。
在一个实施例中,所述输出所述模型,具体包括:通过配置文件输出所述模型。
根据本发明实施例的第二方面,提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一实施例中所述的方法。
根据本发明实施例的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面或第一方面任一实施例中所述的方法。
本发明实施例中,首先根据知识图谱确定建模数据,然后根据所述建模数据生成建模集合训练模型,最后输出所述模型。由于根据知识图谱处理密集查询的性能较高,因此生成建模集合的效率较高,并且根据知识图谱确定的建模数据深度和广度较高,提高了模型的稳定性。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明实施例的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1是本发明实施例的一种数据处理的方法流程图。如图1所示,所述数据处理的方法包括:
步骤S100、根据知识图谱确定建模数据。
具体的,在所述知识图谱的图数据库中确定实体和实体属性;在所述知识图谱的关系数据库和非关系数据库中确定所述实体和实体属性对应的第一数据;通过所述实体、所述实体属性以及所述第一数据确定实体向量化数据,并通过设定算法确定所述实体的关系数据;将所述关系数据映射到所述实体向量化数据中,确定所述建模数据。其中,所述设定算法为概率图模型算法。
举例说明,所述知识图谱中包括图数据库、关系数据库和非关系数据库,其中,所述图数据库可以表示为G、所述关系数据库可以表示为M、所述非关系数据库可以表示为N,所述G、M、N的关系如图2所示,其中,图数据库G中包括实体、实体属性和实体关系,关系型数据库M中包括实体时序数据,非关系数据库N中包括实体相关文本、图像等非结构数据,图数据库G与关系数据库M通过实体时序数据索引关联,图数据库G与非关系数据库N通过实体非结构数据索引关联,其中,所述实体时序数据索引和实体非结构数据索引都存储在所述图数据库G中的实体属性中。
其中,所述知识图谱可以称为data-KG,从data-KG抽取建模数据的具体过程如下:首先通过图数据库G确定实体和实体属性,再通过图数据库G中与关系数据库M和非关系数据库N的相应索引,从关系数据库M和非关系数据库N中抽取相应的建模数据,与图数据库G中的实体和实体属性一起构建实体向量化数据,同时通过概率图模型算法的应用建立实体的关系数据映射到所抽取的建模数据中。
步骤S101、根据所述建模数据生成建模集合。
具体的,所述建模集合包括训练集、测试集和验证集。
步骤S102、根据所述建模集合训练模型。
具体的,根据所述建模集合,通过机器学习训练所述模型。
举例说明,根据所述训练集、测试集和验证集,通过机器学习训练所述模型。
步骤S103、输出所述模型。
具体的,通过配置文件输出所述模型。其中,所述配置文件为config 文件,按照config文件的格式输出相应的模型,其中,config文件的格式是预先设置的。
为了更好的对上述方案进行理解,更清楚的对知识图谱进行详细说明,下面对知识图谱中的图数据库G、关系数据库M、非关系数据库N 分别进行说明。
一、图数据库G,如图3所示,其中,图3(1)为现在有的关系型数据库,3(2)为图形数据库G,当需要描述大量关系时,现有的关系型数据库已经不堪重负,只能承担较多实体但是实体间关系略显简单的情况,而对于实体间关系非常复杂的情况,常常需要在关系之中记录数据,则需要采用图形数据库,可以提升运行性能,提高系统开发效率,减少维护成本。
图数据库G在数据集增大时,性能保持不变,是因为只查询图数据库中一部分相关数据,查询的执行时间和满足查询条件的那部分遍历的图的大小成正比,而不需要遍历整个图数据库,因此保证了查询速度,在步骤S101,生成建模集合时的速度也因此得到了提高;并且图数据库 G可扩展能力强,当增加不同种类的联系、新节点(实体)和新子图时,不会破坏已有的查询或应用程序的功能,具有灵活性,而且不必在项目最初完整的设计数据库模型,可扩展性也可以减少数据迁移,从而降低维护开销和风险;图数据库G具备开发敏捷性,以图数据库为后端的应用程序可以跟上不断变化的业务环境;图数据库G具备与机器学习结合的先天优势,可以采用贝叶斯网络与马尔可夫网络中解决概率查询问题的精确推理算法与近似推理算法,其中,具体包括精确推理中的VE算法、递归约束算法和团树算法,以及近似推理中的变分近似推理和抽样近似推理算法。
图数据库中节点(实体)、关系和属性的示意图如图4所示。
二、关系数据库M,用于存储实时时序数据,例如,图数据库中的实体为“票房”,则在关系数据库中存在每天的实时票房,如表1所示:
表1
ID |
票房 |
1 |
1500万 |
2 |
5000万 |
3 |
3400万 |
4 |
5630万 |
其中,ID为索引,该索引存储在图数据库中的实体属性中,当需要查询实体“票房”时,通过索引在关系数据库M中找到对应的数据。
三、非关系型数据库N,用于存储实体相关文本,图像非结构数据。例如,图数据库中的实体为“票房”,则非关系型数据库N存储关于该票房的电影所对应的影评,通过索引存储,当需要查询该数据时,通过实体的属性中包含的索引查找,所述影评称为实体相关文本;若查询的实体是“天气”,在非关系型数据库N中可以存储当天的天气图像,通过索引查询。
本发明实施例中,首先根据知识图谱确定建模数据,然后根据所述建模数据生成建模集合训练模型,最后输出所述模型。由于根据知识图谱处理密集查询的性能较高,因此生成建模集合的效率较高,并且根据知识图谱确定的建模数据深度和广度较高,提高了模型的稳定性。
图5是本发明实施例的电子设备的示意图。图5所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器 51和存储器52。处理器51和存储器52通过总线53连接。存储器52 适于存储处理器51可执行的指令或程序。处理器51可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器51通过执行存储器52所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线53将上述多个组件连接在一起,同时将上述组件连接到显示控制器54和显示装置以及输入/ 输出(I/O)装置55。输入/输出(I/O)装置55可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置55通过输入/输出(I/O) 控制器56与系统相连。
如本领域技术人员将意识到的,本发明的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明的方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本发明各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN) 的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接 (例如通过使用因特网服务供应商的因特网)。
上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本发明的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/ 动作的过程。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。