首页 / 知识图谱平台

知识图谱平台实质审查 发明

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种知识图谱平台。

相关背景技术

[0002] 知识图谱,在图书情报界被称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形。它在检索领域被广泛地应用,例如,他可以应用于我们所熟知的搜索引擎谷歌搜索,聊天机器人,大数据风控等。但由于知识图谱中图的节点数量庞大,节点之间的关系复杂,给对知识图谱的检索带来了巨大的挑战。
[0003] 现有技术中,在对知识图谱进行检索时,需要先将部分知识图谱的数据从存储系统中搬移到通用处理器的内存中,再对内存中的知识图谱数据进行检索。
[0004] 但由于通用处理器的内存容量远远小于存储系统的存储容量,导致需要经过多次搬移才能够将全部的知识图谱数据搬移至内存中,进而对知识图谱的全部数据进行遍历,以完成检索。因此,上述方案中,由于在检索时,需要对知识图谱数据进行多次搬移,导致对知识图谱进行检索的效率较低。

具体实施方式

[0037] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0038] 首先对本申请所涉及的名词进行解释:
[0039] 闪存:Flash Memory,是一种电子式可擦除编程存储器。与传统的磁盘介质相比,闪存具有读写带宽高、访问延迟低、功耗低、稳定性强的特点,目前已经开始在数据中心、个人电脑以及移动设备上普及。闪存以页为单位进行读写,在闪存需要重写一个页之前,需要先进行擦除操作。闪存以块为单位进行擦除,一个闪存块中包含几百个闪存页。以闪存为基础构建的SSD(Solid State Drive,固态盘)采用FTL(Flash Translation Layer,闪存转换层)对闪存的读写擦除进行管理,并向软件系统提供与传统磁盘相同的读写接口。闪存转换层主要负责地址映射、垃圾回收、磨损均衡和ECC(Error Correction Code,错误检查和纠正)校验等;
[0040] FPGA:Field Programmable Gate Array,现场可编程门阵列,是一种基于可配置逻辑单元(Configurable Logic Block)和可编程导线(Programmable Interconnects)以阵列方式进行构造的半导体器件。随着FPGA技术的发展,越来越多的专用计算与存储模块也集成到了FPGA芯片的内部以提高其计算与存储的能力,如数字信号处理单元(DSP)、块存储单元(BRAM)、高带宽存储器(HBM)等。FPGA芯片的特点是可以为特定功能定制专用的电路架构,性能高、能效性好,此外FPGA具有非常好的可编程性和灵活性,程序员可以对FPGA进行反复擦写与编程,使其适应不同的计算场合与负载;
[0041] 知识图谱:Knowledge Graph,本质上是语义网络(Semantic Network)的知识库,是结构化的知识和事实的表示,由实体、关系和语义描述构成。实体可以是现实世界中的对象和抽象概念,关系代表实体之间的联系,实体的语义描述及其关系包含具有明确定义的类型和属性含义。知识图谱在搜索引擎、自然语言处理、问答系统等领域中被广泛使用。如一个社交网络图谱里,“人”是实体,其也可以包含“学校”实体。人和人之间的关系可以是“朋友”,也可以是“同事”关系。人和学校之间的关系可以是“在读”或者“毕业”的关系。
[0042] 从最初的谷歌搜索,到现在的聊天机器人,大数据风控,证券投资,智能医疗,以及推荐系统等,知识图谱的应用越来越广泛。知识图谱能够支持精确检索,举例来说,针对用户需要检索的某一个问题,通过知识图谱检索能够给用户返回一个最接近的正确答案。所以,知识图谱中需要包括海量的数据以支持此种功能。
[0043] 由于知识图谱中图的节点数量庞大,节点之间的关系复杂,导致知识图谱需要海量(通常是TB级)的存储系统对其进行存储。如果用户想要在知识图谱中找到所需的知识,就需要对庞大的图进行搜索或检索。在传统的计算平台中,在进行检索时,需要先将部分知识图谱的数据搬移到通用处理器的内存中,然后对内存中的知识图谱数据进行检索。但是,内存的容量(通常是GB级)远远小于存储系统的存储容量,这就需要经过将存储系统中的数据进行多次搬移,才可以实现对知识图谱的全部数据进行遍历,以完成检索。因此,现有技术中,由于在检索时需要对知识图谱数据进行多次搬移,导致知识图谱的检索效率较低。
[0044] 本申请提供的知识图谱平台,旨在解决现有技术的如上技术问题。
[0045] 下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0046] 实施例一
[0047] 图1为本申请实施例一提供的一种知识图谱平台的结构示意图。如图1所示,所述知识图谱平台包括:前端处理平台11和后端处理平台12,所述后端处理平台12包括集成设置的存储单元和现场可编程门阵列处理单元;
[0048] 所述存储单元,被配置为存储知识图谱数据;
[0049] 所述前端处理平台11,被配置为接收访问请求,并对所述访问请求进行解析获得检索实体;
[0050] 所述现场可编程门阵列处理单元,与所述前端处理平台11和所述存储单元连接,被配置为根据所述检索实体,基于所述存储单元存储的知识图谱数据进行信息检索,以及,向所述前端处理平台11返回检索结果。
[0051] 其中,举例来说,检索实体可以为“人”,“学校”,或者还可以为其它实体,本实施例中对此不作限定。现场可编程门阵列处理单元可以为特定功能定制专用的电路架构,且具有较好的可编程性和灵活性,因此,便于开发人员根据需要对其进行编程处理。
[0052] 其中,本实施例中对存储单元的类型不作限定,在一种实施方式中,所述存储单元包括闪存。一方面,由于闪存的存储容量大,所以,采用闪存作为存储单元可以支持将全部知识图谱数据一次性放入,便于后续检索时从闪存中直接获取知识图谱数据,从而提高了检索效率;另一方面,由于闪存还具有读写带宽高的特点,基于这一特点,可以提高检索过程中的知识图谱数据获取速度,进而提高检索效率。
[0053] 实际应用中,对前端处理平台组成部分的类型不作限定,在一种实施方式中,所述前端处理平台包括通用处理器和内存单元;所述通用处理器,与所述内存单元连接,被配置为接收访问请求,并对所述访问请求进行解析获得检索实体;以及,将所述检索实体存储在所述内存单元中;所述现场可编程门阵列处理单元与所述内存单元连接,还被配置为获取存储在所述内存单元中的所述检索实体。其中,通用处理器为CPU(Central Processing Unit,中央处理器),内存单元为CPU的内存;访问请求为知识图谱检索请求。在一个示例中,用户通过点击按钮发起知识图谱检索请求,通用处理器便可接收到该知识图谱检索请求,并对知识图谱检索请求进行解析,以获得检索实体,之后,将该检索实体存入内存单元中,由于现场可编程门阵列处理单元是与内存单元具备连接关系的,所以,现场可编程门阵列处理单元可从内存单元中获取该检索实体。本实施方式中,通过通用处理器从知识图谱检索请求中解析出检索实体,并传输给现场可编程门阵列处理单元,可以支持后续现场可编程门阵列处理单元根据该检索实体进行知识图谱检索。
[0054] 实际应用中,可对存储单元和现场可编程门阵列处理单元进行集成处理,具体地,在一种实施方式中,所述存储单元和所述现场可编程门阵列处理单元集成设置在同一PCB(印制电路板)板卡。本实施方式中,一方面,将存储单元和现场可编程门阵列处理单元设置在同一PCB板卡上,可以在用户需要使用知识图谱平台时,只需将板卡插入自己的个人电脑中即可,该操作简单,便于用户使用;另一方面,对存储单元和现场可编程门阵列处理单元进行集成处理,还可以减小它们的占用空间。
[0055] 实际应用中,现场可编程门阵列处理单元和存储单元之间的通信方式可以为单通道通信,也可以为多通道通信,本实施例中对现场可编程门阵列处理单元和存储单元之间的通信方式不作限定。在一种实施方式中,所述现场可编程门阵列处理单元和所述存储单元之间采用多通道通信方式。本实施方式中,采用多通道的通信方式,可以加快现场可编程门阵列处理单元从存储单元中获取知识图谱数据的速度,因此可以提高检索效率。
[0056] 本实施例提供的知识图谱平台,包括:前端处理平台和后端处理平台,所述后端处理平台包括集成设置的存储单元和现场可编程门阵列处理单元。其中,前端处理平台用于接收访问请求,并对所述访问请求进行解析获得检索实体;现场可编程门阵列处理单元用于根据所述检索实体,对从存储单元中获取的知识图谱数据进行检索,并将检索结果返回给前端处理平台。本方案中,由于现场可编程门阵列处理单元可直接从存储单元中获取知识图谱数据进行检索,无需对知识图谱数据进行多次搬移,所以,能够提高知识图谱检索效率。
[0057] 实际应用中,在实施例一的基础上,上述知识图谱平台还包括其他部分,下面将以一具体实施例进行示例性说明。
[0058] 实施例二
[0059] 图2为本申请实施例二提供的基于闪存和FPGA的集成板卡设计方案示意图。如图2所示,在实施例一的基础上,所述后端处理平台还包括:DDR(双倍速率同步动态随机存储器)内存单元;所述现场可编程门阵列处理单元包括:知识图谱检索模块、DDR内存控制模块、第一通信处理模块以及第二通信处理模块;
[0060] 其中,所述知识图谱检索模块与DDR内存控制模块和所述第二通信处理模块连接,所述DDR内存控制模块与所述DDR内存单元、第一通信处理模块以及第二通信处理模块连接;所述第一通信处理模块与所述前端处理平台连接;所述第二通信处理模块与所述存储单元连接;
[0061] 第一通信处理模块,被配置为获取所述检索实体,并通过所述DDR内存控制模块向所述知识图谱检索模块发送所述检索实体;
[0062] 所述知识图谱检索模块,被配置为通过所述第二通信处理模块向所述存储单元发送获取请求;
[0063] 所述存储单元,被配置为通过所述第二通信处理模块向DDR内存控制模块发送相应的知识图谱数据,以使DDR内存控制模块将所述知识图谱数据存储至所述DDR内存单元;
[0064] 所述知识图谱检索模块,被配置为通过DDR内存控制模块获取所述DDR内存单元中存储的知识图谱数据进行检索;以及,依次通过所述DDR内存控制模块和所述第一通信处理模块,向所述前端处理平台返回检索结果。
[0065] 其中,DDR(Double Data Rate,双倍速率同步动态随机存储器)内存单元为图2中FPGA芯片的内存单元,用于缓存从内存单元获取的检索实体和从存储单元(闪存存储单元)获取的知识图谱数据。本实施例中,对DDR内存控制模块的类型不作限定,在一个示例中,可以为DDR IP核,DDR IP核是具有内存控制功能的硬件描述语言程序,它可以用于控制向DDR内存单元中存储数据和从DDR内存单元中获取数据,还可以用于传输检索实体数据和知识图谱数据。本实施方式中,由于DDR IP核可以移植到FPGA芯片中,便于FPGA芯片的生产制造。
[0066] 本实施例中,对知识图谱检索模块的类型不作限定,在一个示例中,知识图谱检索模块可以为知识图谱检索IP核,类似地,知识图谱检索IP核是具有知识图谱检索功能的硬件描述语言程序,它用于根据检索实体数据进行知识图谱检索。本实施方式中,由于知识图谱检索IP核可以移植到FPGA芯片中,便于FPGA芯片的生产制造
[0067] 实际应用中,在一个示例中,第一通信处理模块获取前端平台的内存单元中的检索实体数据,并将该检索实体数据发送至知识图谱检索模块;知识图谱检索模块根据接收到的检索实体数据向存储单元发送获取知识图谱数据请求;存储单元在接收到获取知识图谱数据请求后,通过第二通信处理模块向DDR内存控制模块发送与获取知识图谱数据请求对应的知识图谱数据;DDR内存控制模块在接收到所述知识图谱数据后,再控制将知识图谱数据存储至DDR内存单元;知识图谱检索模块,通过DDR内存控制模块获取DDR内存单元中存储的知识图谱数据进行检索,并将检索结果返回至前端平台的内存单元中,以支持向用户展示检索结果。
[0068] 本实施方式中,通过将IP核移植到FPGA芯片中,简化了FPGA芯片的生产制造流程,提高了芯片制造效率。
[0069] 本实施例中,对第一通信处理模块的组成部分不作限定,在一个示例中,所述处理单元和所述前端处理平台通过PCIe(计算机高速串行总线)接口连接;所述第一通信处理模块包括:PCIe控制模块;所述PCIe控制模块,被配置为采用NVMe(非易失性内存主机控制器接口协议)通信协议,接收所述检索实体。具体地,举例来说,处理单元和前端处理平台通过PCIe接口进行连接,PCIe控制模块控制检索实体数据在基于NVMe通信协议的PCIe上进行传输。其中,本实施例中,对PCIe控制模块的类型不作限定,在一个示例中,PCIe控制模块可以为PCIe IP核,PCIe IP核可以实现数据转换,例如,将检索实体数据转换为FPGA芯片能够处理的机器码。本实施方式中,通过PCIe IP核将检索实体数据转换为FPGA芯片能够处理的机器码,可便于后续步骤中FPGA芯片基于该机器码进行知识图谱检索。
[0070] 本实施例中,对第二通信处理模块的组成部分不作限定,在一个示例中,所述第二通信处理模块包括:SERDES(串行器/解串器)模块和存储控制模块;SERDES模块,与知识图谱检索模块连接,被配置为将所述获取请求转化为串行信号;所述存储控制模块,与所述SERDES模块和所述存储单元连接,被配置为将所述串行信号进行编码,并将编码后的信号发送至所述存储单元。具体地,SERDES模块将获取知识图谱数据请求转化为串行信号;存储控制模块将该串行信号进行编码,以获得存储单元能够读取的编码格式的信号,并将该信号发送至存储单元。其中,本实施例中,对SERDES模块的类型不作限定,在一个示例中,SERDES模块可以为SERDES IP核,SERDES IP核可以将机器码转化为串行信号;本实施例中,对存储控制模块的类型不作限定,在一个示例中,存储控制模块可以为闪存控制IP核,闪存控制IP核用于将串行信号转化为存储单元能够读取的编码格式的信号。本实施方式中,通过将机器码转化为存储单元能够读取的编码格式的信号,使得存储单元可以读取FPGA芯片发送的获取知识图谱数据请求,并向FPGA芯片返回对应的知识图谱数据,以实现知识图谱检索过程。
[0071] 本实施例中,通过将IP核移植到FPGA芯片中,以支持知识图谱检索功能,简化了FPGA芯片的生产制造流程,提高了芯片制造效率,
[0072] 实施例三
[0073] 图3为本申请实施例三提供的另一知识图谱平台的结构示意图。如图3所示,在实施例一提供的知识图谱平台的基础上,所述知识图谱平台还包括:IO(输入/输出)控制器;所述IO控制器,被配置为控制所述后端处理平台中各模块之间的信息传输。本实施方式中,通过IO控制器实现前端处理平台,FPGA芯片,以及闪存存储单元(存储单元)之间的信息传输,以支持实现知识图谱检索功能。
[0074] 本实施例中,对IO控制器的组成部分不作限定,在一个示例中,所述IO控制器包括命令解析器和调度器。其中,通用I/O命令解析器用于在IO控制器的控制下,根据PCIe传送过来的机器码解析获得命令,例如,读命令和写命令,以使CPU可以通过所述命令控制对图中的闪存存储单元进行读写操作;知识图谱解析器用于在IO控制器的控制下,根据PCIe传送过来的检索实体的机器码解析获得用于进行知识图谱检索的命令,例如,读命令,请求命令,写命令,以使FPGA芯片可以通过所述命令控制对图中的闪存存储单元进行读写,以及获取知识图谱数据的操作。其中,IO控制器中还包括请求调度器,请求调度器可以根据优先级感知的访存调度,对闪存存储单元接收到的多个命令按照执行优先级进行排序,以使闪存存储单元按照所述多个命令的排序执行命令;请求调度器还可以根据数据布局感知的访存调度,对需要获取的知识图谱数据按照数据布局确定获取的先后顺序,以使闪存存储单元按照该顺序进行知识图谱数据的返回操作。
[0075] 基于图3提供的知识图谱平台,其包括由通用处理器构成的用于知识图谱访问请求解析的前端处理平台与基于闪存和FPGA联合构建的存算一体化后端平台,则其可以实现的知识图谱检索方法为:前端处理平台用于对知识图谱的访问请求进行解析,并将解析的检索实体发给后端平台进行信息检索,后端平台的FPGA根据前端的实体搜索请求,在基于闪存的知识图谱数据库中进行信息检索,检索采用基于FPGA的图搜索加速器对知识图谱中的实体检索请求进行快速处理,检索的信息通过PCIe返回给前端处理平台并对用户进行可视化呈现。
[0076] 本实施例中,通过IO控制器实现前端处理平台,FPGA芯片,以及闪存存储单元之间的信息传输,以支持实现知识图谱检索功能。
[0077] 实施例四
[0078] 图4为本申请实施例四提供的知识图谱检索的处理流程示意图。在一个示例中,用户通过向知识图谱平台发送检索请求指令,随后就可以接收到该平台返回的检索结果,其内部的具体处理流程如图4所示。首先,通用处理器对知识图谱的访问请求进行解析,解析的结果是需要检索的知识图谱中的实体;然后,知识图谱的访问请求可以按照独立处理的方式,也可以按照批处理的方式在基于闪存与FPGA的知识图谱存算一体化平台上进行处理;随后,FPGA根据前端的实体搜索请求(检索请求微指令),在基于闪存的知识图谱数据库中进行信息检索,检索采用基于FPGA的图搜索加速器对知识图谱中的实体检索请求进行快速处理;最后,检索的信息通过PCIe返回给前端平台并对用户进行可视化呈现。其中,通用处理器对知识图谱的访问请求进行解析的结果还包括实体之间的关系。
[0079] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
[0080] 应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

当前第1页 第1页 第2页 第3页
相关技术
知识图谱相关技术
舒继武发明人的其他相关专利技术