一种结构化数据的知识抽取方法与流程

文档序号:27835135发布日期:2021-12-07 23:20阅读:643来源:国知局
1.本发明涉及信息抽取领域,具体来说,涉及一种结构化数据的知识抽取方法。
背景技术
::2.在大数据时代,互联网及各类信息系统中存储了海量的多种类型的数据,如何有效地利用这些数据、挖掘数据价值,成为各行业探索的重要话题。随着人工智能技术逐步应用,知识图谱作为人工智能的核心技术,逐步受到重视。3.作为知识图谱构建的关键步骤,知识抽取是从各种形式数据中提取知识元素的过程。针对结构化数据,一般采用定制开发的方法进行知识抽取,但缺乏扩展性和自适应能力,不能满足多源异构数据的知识抽取需要。4.针对相关技术中的问题,目前尚未提出有效的解决方案。技术实现要素:5.本发明的目的在于提供一种结构化数据的知识抽取方法,以解决上述
背景技术
:中提出的问题。6.为实现上述目的,本发明提供如下技术方案:7.一种结构化数据的知识抽取方法,包括下列步骤:8.s1、构件抽取组件;9.s2、按照每条抽取规则指定的表格,构造一种字典数据结构,其中键为表格id,值为对应表格的一组抽取组件;10.s3、遍历步骤s2中构造的字典,对于每个键值对,基于键构造数据库连接,获取表格数据,然后将这些数据逐条发送给当前键对应的抽取组件;11.s4、抽取组件对接收的数据进行处理,依次进行全局唯一id、业务标识id、类型、属性信息抽取;12.s5、对于节点抽取组件和关系抽取组件进行进一步抽取;13.s6、重复执行上述步骤s4和步骤s5,直到所有抽取组件处理完成,每个抽取组件的结果发送给会话管理器;14.s7、重复执行上述步骤s3,直到所有表格数据处理完成;15.s8、从会话管理器中收集所有结果数据,作为结果进行输出。16.进一步的,所述步骤s1构件抽取组件包括以下步骤:17.s11、对输入参数进行解析,获取节点抽取规则和关系抽取规则;18.s12、通过获取的节点抽取规则和关系抽取规则构造一组抽取组件。19.进一步的,所述步骤s2按照每条抽取规则指定的表格,构造一种字典数据结构,其中,所述表格以字符串形式的id进行标识。20.进一步的,所述步骤s5对于节点抽取组件和关系抽取组件进行进一步抽取中,对于节点抽取组件,进一步进行节点名称抽取;21.对于关系抽取组件,进一步进行头节点id、尾节点id、关系是否有向的信息抽取。22.与现有技术相比,本发明具有以下有益效果:本发明是对表格形式的结构化数据进行知识抽取,通过指定抽取规则,实现从表格数据中提取实体、关系、事件及其属性等知识信息,可用于构建知识图谱,有良好的扩展性和自适应能力,能够满足多源异构数据的知识抽取需要。附图说明23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。24.图1是根据本发明实施例的一种结构化数据的知识抽取方法的流程图。具体实施方式25.针对结构化数据的知识抽取需求,本发明提出一种结构化数据的知识抽取方法,针对表格形式结构化数据进行知识抽取,下面,结合附图以及具体实施方式,对发明做出进一步的描述:26.请参阅图1,根据本发明实施例的一种结构化数据的知识抽取方法,包括下列步骤:27.步骤s1、构件抽取组件;28.s11、对输入参数进行解析,获取节点抽取规则和关系抽取规则;29.s12、通过获取的节点抽取规则和关系抽取规则构造一组抽取组件。30.步骤s2、按照每条抽取规则指定的表格,以字符串形式的id进行标识,构造一种字典数据结构,其中键为表格id,值为对应表格的一组抽取组件。这样可以避免重复处理一个表格;31.步骤s3、遍历第二步中构造的字典。对于每个键值对,基于键构造数据库连接,获取表格数据,然后将这些数据逐条发送给当前键对应的值,即每一个抽取组件;32.步骤s4、抽取组件对接收的数据进行处理,依次进行全局唯一id、业务标识id、类型、属性信息抽取;33.步骤s5、对于节点抽取组件,还要进行节点名称抽取;对于关系抽取组件,还要进行头节点id、尾节点id、关系是否有向的信息抽取;34.步骤s6、重复执行上述第四、第五步,直到所有抽取组件处理完成,每个抽取组件的结果发送给会话管理器;35.步骤s7、重复执行上述第三步,直到所有表格数据处理完成;36.步骤s8、从会话管理器中收集所有结果数据,作为结果进行输出。37.为了方便理解本发明的上述技术方案,以下就本发明在实际过程中的工作原理或者操作方式进行详细说明。38.在实际应用时,对于步骤s1中的参数数据结构定义如下:39.rules:={//json对象结构40.idprefix:<id前缀>,41.nodes:list[noderule],//节点抽取规则[0042]edges:list[edgerule],//关系抽取规则[0043]}[0044]noderule:={//节点规则json对象结构[0045]“tableid”:<表格id>,//表格id[0046]“id”:<id‑rule>,//节点id[0047]“name”:<raw‑or‑field>,//节点名称[0048]"type":<type‑rule>,//节点类型[0049]"props":list[prop‑rule],//节点属性[0050]"mustfields":list[field]//必填属性[0051]}[0052]edgerule:={//关系规则json对象结构[0053]“tableid”:<表格id>,//表格id[0054]“id”:<id‑rule>,//关系id[0055]“fromid”:<raw‑or‑field>,//头节点id[0056]“toid”:<raw‑or‑field>,//尾节点id[0057]"type":<type‑rule>,//关系类型[0058]"props":list[prop‑rule],//关系属性[0059]"directed":<raw‑or‑field>//关系方向,raw值仅支持true/false[0060]}[0061]prop‑rule:={//属性规则json对象结构[0062]“name”:<type‑rule>,//属性名规则[0063]“value”:<raw‑or‑field>//属性值规则[0064]}[0065]id‑rule:=“_”|raw‑or‑field//id规则_表示自动生成[0066]type‑rule:={id,name}|raw‑or‑field//类型规则[0067]raw‑or‑field:=“raw‑value”|field//raw值或字段值[0068]field:=“@field‑name”//字段值@符后为字段名称[0069]步骤s8的输出数据结构设计如下:[0070]output:={//输出数据结构json对象[0071]nodes:list[node],//节点数据[0072]edges:list[edge],//关系数据[0073]}[0074]node:={_id,id,name,type,typeid,props:list[prop]}[0075]edge:={_id,id,fromname,fromid,toname,toid,type,typeid,props:list[prop]}[0076]prop:={propname,propid,propvalue}[0077]其中:[0078]_id表示自动生成的唯一id[0079]id表示根据规则生成的业务id[0080]name表示实体名称[0081]type表示实体或关系类型名称[0082]typeid表示实体或关系类型id(规则指定)[0083]props表示实体或关系属性[0084]fromname表示头节点名称[0085]fromid表示头节点id(业务id)[0086]toname表示尾节点名称[0087]toid表示尾节点id(业务id)[0088]propname表示属性名称[0089]propid表示属性id(规则指定)[0090]propvalue表示属性值。[0091]对于s3中的字典数据结构定义如下:[0092]extractormap:={[0093](tableid‑>list[extractor])*[0094]}[0095]其中tableid为表格id;extractor是对应的抽取组件。[0096]抽取组件定义如下:[0097]extractor:=nodeextractor|edgeextractor[0098]nodeextractor:={[0099]idextractor,typeextractor,typeidextractor,propsextractor,nameextractor[0100]}[0101]edgeextractor:={[0102]idextractor,typeextractor,typeidextractor,propsextractor,fromextractor,toextractor,directionextractor[0103]}[0104]其中idextractor、typeextractor、typeidextractor、nameextractor、fromextractor,toextractor,directionextractor类型均为valueextractor。[0105]valueextractor:=rawextractor|fieldextractor|uidextractor//分别对应raw‑value、“@field‑name”和“_”[0106]propsextractor:=list[propextractor][0107]propextractor:={idextractor,nameextractor,valueextractor}//属性的id/name/value抽取器,均为valueextrator。[0108]综上所述,本发明是对表格形式的结构化数据进行知识抽取,通过指定抽取规则,实现从表格数据中提取实体、关系、事件及其属性等知识信息,可用于构建知识图谱,有良好的扩展性和自适应能力,能够满足多源异构数据的知识抽取需要。[0109]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1