本发明涉及云计算的
技术领域:
,尤其涉及一种基于云计算的知识图谱架构实现方法及系统。
背景技术:
:近年来,随着人工智能技术的发展,知识图谱的重要性逐渐凸显出来,尤其人工智能中自然语言识别与人机对话,更是离不开知识图谱,知识图谱能够用来将自然界中存在的实体以及概念,通过关系的形式关联起来。而现有的计算机领域没有一个系统的方法或者架构,将具体的知识图谱的实现方法描述以及实现,较多的存在于概念,也没有系统的实现从数据挖掘到实体关联、图谱展示的整个过程。技术实现要素:本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。鉴于上述现有存在的问题,提出了本发明。因此,本发明解决的一个技术问题是:提供一种基于云计算的知识图谱架构实现方法,结合爬虫服务、实体抽取关系抽取、图谱数据存储这三种不同的服务,并对外提供完整的数据服务。为解决上述技术问题,本发明提供如下技术方案:一种基于云计算的知识图谱架构实现方法,包括以下步骤,数据获取模块获取数据资源并存储;实体抽取模块从数据资源中进行实体抽取,得到实体信息;将实体信息传输至知识存储模块,并进行存储;实体关联模块从数据资源中进行实体关系抽取;将建立的实体关系传输至知识存储模块,并进行存储;图谱展示模块根据知识存储模块存储内容进行数据展示。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述数据获取模块通过解析网页来获取数据资源。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述解析网页还包括以下步骤,通过http请求获取网页,并将获取到的网页进行解析,从而得到网页中所有的链接地址;将得到的所有的url放入消息队列中;读取存放url的消息队列从而获取url,根据url请求网页内容,获取到网页的内容数据,将得到的数据信息存储在数据库中;从消息队列中依次取网页的url链接地址,并重复以上步骤。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述实体抽取模块进行实体抽取还包括以下步骤,将接收到的数据资源进行转化为htmldocument格式;从document对象中提取对应的实体信息。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述实体信息包括实体名称以及属性信息,属性信息包括实体基本属性、实体标签和实体描述信息。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述实体关联模块的实体关系抽取还包括以下步骤,读取从数据获取模块接收的数据资源;解析数据资源,得到该数据资源与其他实体的关系;根据该数据资源与其他实体的关系,结合实体抽取模块中的抽取的实体进行关系关联,建立实体关系。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述知识存储模块基于图数据库neo4j实现,进行数据的存储。作为本发明所述的基于云计算的知识图谱架构实现方法的一种优选方案,其中:所述知识存储模块的实现还包括以下步骤,根据实体关联模块的建立的实体关系,构建实体关系语句;执行实体关系语句,构建实体之间的关联。本发明解决的另一个技术问题是:提供一种基于云计算的知识图谱架构实现系统,使上述方法基于该系统实现。为解决上述技术问题,本发明提供如下技术方案:一种基于云计算的知识图谱架构实现系统,包括,数据获取模块,所述数据获取模块为一套爬虫系统,能够从网络上爬取数据资源并存储;实体抽取模块,所述实体抽取模块能够从数据资源中进行进行实体的抽取;实体关联模块,所述实体关联模块能够从数据资源中进行实体关系的抽取;知识存储模块,所述知识存储模块用于存储抽取出来的实体数据和实体关系;图谱展示模块,所述图谱展示模块能够根据知识存储模块存储内容进行数据展示。本发明的有益效果:本发明通过将资源获取、实体抽取和实体关系存储合理结合,从而构建成一整套可用于ai人工智能中的知识图谱,对外提供完整的数据服务,并应用于人工智能等领域中。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1为本发明第一种实施例所述基于云计算的知识图谱架构实现方法的整体流程结构示意图;图2为本发明第一种实施例所述基于云计算的知识图谱架构实现方法的另一种流程示意图;图3为基于本发明第一种实施例所述基于云计算的知识图谱架构实现方法得到实体关系结果展示示意图;图4为本发明第二种实施例所述基于云计算的知识图谱架构实现系统的整体结构示意图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。实施例1参照图1的示意,为本实施例中基于云计算的知识图谱架构实现方法的整体流程示意图。现有技术中,爬虫服务、实体抽取及实体关系的存储均已有多种方式应用于实际使用中,但并未有系统的利用三者构建一整套完整的知识图谱的方案。而本实施例中。而本实施例中提供的基于云计算的知识图谱架构实现方法能够合理的结合爬虫服务、实体抽取关系抽取、图谱数据存储这三种不同的服务,并对外提供完整的数据服务。参照图2的示意,图2为该过程的实现示意图,具体的,本实施例中提出的基于云计算的知识图谱架构实现方法,包括以下步骤,s1:数据获取模块100获取数据资源并存储。其中,数据获取模块100可以为一套爬虫系统,能够从网络上爬取数据源,并将数据存储起来,供后续实体抽取模块200和实体关联模块300进行使用。具体的,数据获取模块100通过解析网页来获取数据资源,解析网页还包括以下步骤,s1-1:通过http请求获取网页,并将获取到的网页进行解析,从而得到网页中所有的链接地址;其中,获取网页的内容可以参照如下的代码,使用正则表达式对上述代码获取到的body内容进行正则匹配,以获取到网页中所有的连接地址,具体可以参照如下的代码:将得到的所有的链接地址url放入消息队列中;其中,消息队列可以是一个存储在内存中的数据,也可以是一个具备消息存储队列方式存取的服务。读取存放url的消息队列从而获取url,根据url请求网页内容,获取到网页的内容数据,将得到的数据信息存储在数据库中;其中,数据库可以是oracle或mongodb等任意支持数据存储的服务。网页获取方式可以参照如下代码,从消息队列中依次取网页的url链接地址,并重复以上步骤。s2:实体抽取模块200从数据资源中进行实体抽取,得到实体数据。具体的,实体抽取模块200从数据获取模块100中获取数据资源,进行实体抽取还包括以下步骤,s2-1:将接收到的数据资源进行转化为htmldocument格式。其中,document是浏览器读取数据时候的一种对象,而浏览器展示的网页是将html格式的文本转化成document对象呈现在浏览器里。s2-2:从document对象中提取对应的节点信息。具体的,该过程包括以下步骤,首先构造节点的路径,参考代码如下:selector:"headmeta[property=\"og:title\"]"根据构造出的节点路径获取节点中信息,参考代码如下:val=doc.find(selector).text()抽取后得到的实体信息包括实体名称以及属性信息,属性信息包括实体基本属性、实体标签和实体描述信息。s3:将实体信息传输至知识存储模块400,并进行存储。s4:实体关联模块300从数据资源中进行实体关系抽取。实体关联模块300从数据获取模块100中获取数据资源,并进行实体关系的抽取,具体还包括以下步骤,s4-1:读取从数据获取模块100接收的数据资源。s4-2:解析数据资源,得到该数据资源与其他实体的关系。具体的,以百度百科数据源为例,选取孙悟空这个实例,解析获取到孙悟空,解析网页中的节点信息,可以得到存在如下关系,包括孙悟空的老师是唐僧、菩提祖师,师弟是沙悟净等;根据识别的节点人物关系,即可得到实体孙悟空与其它实体间的关系。s4-3:根据该数据资源与其他实体的关系,结合实体抽取模块200中的抽取的实体进行关系关联,建立实体关系。s5:将建立的实体关系传输至知识存储模块400,并进行存储。其中,知识存储模块400基于图数据库neo4j实现,负责数据的存储。具体的,知识存储模块400的实现还包括以下步骤,s5-1:根据实体关联模块300的建立的实体关系,构建实体关系语句;具体的实现方式可以参考以下语句,s5-2:执行实体关系语句,构建实体之间的关联。s6:图谱展示模块500根据知识存储模块400存储内容进行数据展示。参照图3,图谱展示模块500将实体之间关联形成一种网状的数据,图3中圆圈为实体,线条为两个实体之间的关系。用户通过图谱展示模块500可以直接查询出实体之间关系的关系。场景一:在传统方法中,实体的获取和实体关系的建立是依靠人工创建实体,以及依靠人工建立实体之间的关系,此外存储采用传统的关系型数据库,例如mysql、oracle等数据库进行实体的存储,建立实体关系。传统方法存在关系建立慢、建立复杂、查询关系效率低等缺陷。而本实施例提出的基于云计算的知识图谱架构实现方法能够通过软件依据互联网上的数据,自动识别实体、建立实体与实体之间的关系,并且采用图数据库进一步优化了数据查询操作的性能。为了验证本实施例提出的基于云计算的知识图谱架构实现方法相对于传统方法的优势,通过如下的实验进行测试。测试为在保证实体数、实体关系数一致的情况下,比对传统方案和本专利发明方案操作所需要的步数(步数为代码中的一种性能统计方法,是指代码经过多少次操作)以及耗时对比,测试结果如下:表1:测试结果参照表1可以看出,在实体关系数为1的情况下,传统方案和本实施例方法下的步数和耗时对比基本一致,但随着实体关系数的增多,传统方案在性能上的劣势逐渐显现出来,随着实体关系数增大,使用本实施例的方法下查询性能基本稳定,而传统方案查询耗时随着关系数的增加成倍数增大。应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。实施例2参照图4的示意,为实现上述基于云计算的知识图谱架构实现方法,本实施例中提出一种基于云计算的知识图谱架构实现系统。具体的,该系统包括数据获取模块100、实体抽取模块200、实体关联模块300、知识存储模块400和图谱展示模块500。其中,数据获取模块100为一套爬虫系统,能够从网络上爬取数据资源并存储;实体抽取模块200能够从数据资源中进行进行实体的抽取;实体关联模块300能够从数据资源中进行实体关系的抽取;知识存储模块400用于存储抽取出来的实体数据和实体关系;图谱展示模块500能够根据知识存储模块400存储内容进行数据展示。具体的,数据获取模块100、实体抽取模块200和实体关联模块300依靠代码实现,可以使用java、golang、nodejs等任何可以运行于linux、windows系统服务器上的代码,依托于语言所对应的编译器实现,如java需要jdk、nodejs需要node等。知识存储模块400为云存储模块,具体为存储数据实体对象、实体和实体之间关系的一种图数据库,可以是neo4j等类似的图数据库。图谱展示模块500是一套用于展示实体、实体与实体之间关系的系统,用户能够直接在图谱展示模块500进行操作,查询实体、实体与实体之间的关系。例如知识存储模块400采用图数据库neo4j实现,那么查询方式可以为neo4j的查询语句,具体的,例如查询两个实体之间的关系,可以使用如下的语句:matchp=shortestpath((n:vm{instancename:<instancename>})[*]-(m:vm{instancename<<instancename>}))returnp如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。当前第1页1 2 3 
技术特征:1.一种基于云计算的知识图谱架构实现方法,其特征在于:包括以下步骤,
数据获取模块(100)获取数据资源并存储;
实体抽取模块(200)从数据资源中进行实体抽取,得到实体信息;
将实体信息传输至知识存储模块(400),并进行存储;
实体关联模块(300)从数据资源中进行实体关系抽取;
将建立的实体关系传输至知识存储模块(400),并进行存储;
图谱展示模块(500)根据知识存储模块(400)存储内容进行数据展示。
2.如权利要求1所述的基于云计算的知识图谱架构实现方法,其特征在于:所述数据获取模块(100)通过解析网页来获取数据资源。
3.如权利要求2所述的基于云计算的知识图谱架构实现方法,其特征在于:所述解析网页还包括以下步骤,
通过http请求获取网页,并将获取到的网页进行解析,从而得到网页中所有的链接地址;
将得到的所有的url放入消息队列中;
读取存放url的消息队列从而获取url,根据url请求网页内容,获取到网页的内容数据,将得到的数据信息存储在数据库中;
从消息队列中依次取网页的url链接地址,并重复以上步骤。
4.如权利要求2或3所述的基于云计算的知识图谱架构实现方法,其特征在于:所述实体抽取模块(200)进行实体抽取还包括以下步骤,
将接收到的数据资源进行转化为htmldocument格式;
从document对象中提取对应的实体信息。
5.如权利要求4所述的基于云计算的知识图谱架构实现方法,其特征在于:所述实体信息包括实体名称以及属性信息,属性信息包括实体基本属性、实体标签和实体描述信息。
6.如权利要求5所述的基于云计算的知识图谱架构实现方法,其特征在于:所述实体关联模块(300)的实体关系抽取还包括以下步骤,
读取从数据获取模块(100)接收的数据资源;
解析数据资源,得到该数据资源与其他实体的关系;
根据该数据资源与其他实体的关系,结合实体抽取模块(200)中的抽取的实体进行关系关联,建立实体关系。
7.如权利要求5或6所述的基于云计算的知识图谱架构实现方法,其特征在于:所述知识存储模块(400)基于图数据库neo4j实现,进行数据的存储。
8.如权利要求7所述的基于云计算的知识图谱架构实现方法,其特征在于:所述知识存储模块(400)的实现还包括以下步骤,
根据实体关联模块(300)的建立的实体关系,构建实体关系语句;
执行实体关系语句,构建实体之间的关联。
9.一种基于云计算的知识图谱架构实现系统,其特征在于:包括,
数据获取模块(100),所述数据获取模块(100)为一套爬虫系统,能够从网络上爬取数据资源并存储;
实体抽取模块(200),所述实体抽取模块(200)能够从数据资源中进行进行实体的抽取;
实体关联模块(300),所述实体关联模块(300)能够从数据资源中进行实体关系的抽取;
知识存储模块(400),所述知识存储模块(400)用于存储抽取出来的实体数据和实体关系;
图谱展示模块(500),所述图谱展示模块(500)能够根据知识存储模块(400)存储内容进行数据展示。
技术总结本发明公开了一种基于云计算的知识图谱架构实现方法及系统,其特征在于:包括以下步骤,一种基于云计算的知识图谱架构实现方法,包括以下步骤,数据获取模块获取数据资源并存储;实体抽取模块从数据资源中进行实体抽取,得到实体信息;将实体信息传输至知识存储模块,并进行存储;实体关联模块从数据资源中进行实体关系抽取;将建立的实体关系传输至知识存储模块,并进行存储;图谱展示模块根据知识存储模块存储内容进行数据展示。本发明的有益效果:将资源获取、实体抽取和实体关系存储合理结合,从而构建成一整套可用于AI人工智能中的知识图谱,对外提供完整的数据服务,并应用于人工智能等领域中。
技术研发人员:张福强
受保护的技术使用者:的卢技术有限公司
技术研发日:2019.12.31
技术公布日:2020.06.09