CN111858957B - 一种知识图谱自动构建方法及系统 - Google Patents
一种知识图谱自动构建方法及系统 Download PDFInfo
- Publication number
- CN111858957B CN111858957B CN202010702337.2A CN202010702337A CN111858957B CN 111858957 B CN111858957 B CN 111858957B CN 202010702337 A CN202010702337 A CN 202010702337A CN 111858957 B CN111858957 B CN 111858957B
- Authority
- CN
- China
- Prior art keywords
- information table
- concept
- entity
- class
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010276 construction Methods 0.000 title claims abstract description 25
- 238000013499 data model Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 3
- 230000000452 restraining effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 240000008168 Ficus benjamina Species 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000019771 cognition Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种知识图谱自动构建方法及系统,通过预先生成的对知识进行分粒度结构化抽象的第一信息表和第二信息表,约束各个知识类别的实例需要具备的属性及知识实例间可以存在和必须定义的关联关系,创建实例信息表,然后将结构化的数据导入图形数据库,生成知识结构与图形数据库的数据模型建的映射关系,最后自动将创建的实例信息表导入数据库中,生成领域知识图谱。经过图谱结构化,各知识实例之间通过关系直接关联或长路径的关系间接关联,使得汽车领域的知识具备统一的结构和语义关联,进而促进了知识的共享和重用。
Description
技术领域
本发明涉及汽车领域知识处理技术领域,尤其涉及一种知识图谱自动构建方法及系统。
背景技术
目前,在汽车领域,由于各个企业对领域的相关知识认知、分类方式不同,且汽车的知识涉及动力、机械、电子等多个领域,以及涉及设计、制造、维修、销售等多种场景,以及知识一般分散于各种设计文档、专利文档和结构定义不同的表格、数据库之中,使得汽车领域没有一套标准化的知识分类和结构化组织方案。
因此,如何使得汽车领域的知识具备统一的结构和语义关联,进而促进知识的共享和重用,是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种知识图谱自动构建方法,能够通过构建的知识图谱使得汽车领域的知识具备统一的结构和语义关联,进而促进知识的共享和重用。
本发明提供了一种知识图谱自动构建方法,包括:
获取预先生成的第一信息表和第二信息表,其中,所述第一信息表和所述第二信息表具有相同的表头,均包括概念实体名称;
对所述第二信息表进行解析,生成实例信息表;
分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。
优选地,所述对所述第二信息表进行解析,生成实例信息表,包括:
按行顺序读取并解析所述第二信息表,每当概念实体不为空时,建立一个新的以当前的概念实体命名的实例信息表;
通过继承字段,获取所述当前的概念实体继承链上父概念所定义的属性和关系字段,加入列名称集合;
读取所述当前的概念实体所定义的属性和关系字段,加入列名称集合。
优选地,所述分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型,包括:
按行顺序读取并解析所述第一信息表和所述第二信息表的每一行,每当概念实体不为空时,自动创建一个表示数据模型结构的类;
通过继承字段,确定所述表示数据模型结构的类所继承的已经存在的类;
对于概念实体的每一个属性及关系,根据对应的约束定义,在类中加入对应的类属性定义和约束。
优选地,所述对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱,包括:
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型的类,实例化该类对象,为类的属性和关系赋值。
优选地,所述第一信息表的生成过程包括:
确定物理实体及物理实体间的关系、概念实体及概念实体间的关系和实体属性;
对实体进行归类,确定出的关系和属性,以及基于所述关系和属性确定出值域、值数目和存在性。
优选地,所述第二信息表的生成过程包括:
至少基于所述第一信息表中概念实体名称对应的至少一个概念实体生成所述第二信息表。
一种知识图谱自动构建系统,包括:
获取模块,用于获取预先生成的第一信息表和第二信息表,其中,所述第一信息表和所述第二信息表具有相同的表头,均包括概念实体名称;
第一生成模块,用于对所述第二信息表进行解析,生成实例信息表;
第二生成模块,用于分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
第三生成模块,用于对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。
优选地,所述第一生成模块具体用于:
按行顺序读取并解析所述第二信息表,每当概念实体不为空时,建立一个新的以当前的概念实体命名的实例信息表;
通过继承字段,获取所述当前的概念实体继承链上父概念所定义的属性和关系字段,加入列名称集合;
读取所述当前的概念实体所定义的属性和关系字段,加入列名称集合。
优选地,所述第二生成模块具体用于:
按行顺序读取并解析所述第一信息表和所述第二信息表的每一行,每当概念实体不为空时,自动创建一个表示数据模型结构的类;
通过继承字段,确定所述表示数据模型结构的类所继承的已经存在的类;
对于概念实体的每一个属性及关系,根据对应的约束定义,在类中加入对应的类属性定义和约束。
优选地,所述第三生成模块具体用于:
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型的类,实例化该类对象,为类的属性和关系赋值。
优选地,所述系统还包括:用于生成所述第一信息表的第四生成模块,所述第四生成模块具体用于:
确定物理实体及物理实体间的关系、概念实体及概念实体间的关系和实体属性;
对实体进行归类,确定出的关系和属性,以及基于所述关系和属性确定出值域、值数目和存在性。
优选地,所述系统还包括:用于生成所述第二信息表的第五生成模块,所述第五生成模块具体用于:
至少基于所述第一信息表中概念实体名称对应的至少一个概念实体生成所述第二信息表。
一种设备,包括:至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的任一种知识图谱自动构建方法。
一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述的任一种知识图谱自动构建方法。
综上所述,本发明公开了一种知识图谱自动构建方法,当需要自动构建汽车领域的知识图谱时,首先获取预先生成的第一信息表和第二信息表,其中,第一信息表和第二信息表具有相同的表头,均包括概念实体名称;对第二信息表进行解析,生成实例信息表;分别对第一信息表和第二信息表进行解析,生成第一信息表和第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;对所有实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。本发明通过第一信息表和第二信息表将知识结构化整理,通过模型转换技术将知识结构与图形数据库的数据模型进行映射,将整理后的知识自动导入图形数据库生成知识图谱,构建的知识图谱使得汽车领域的知识具备统一的结构和语义关联,进而促进知识的共享和重用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种知识图谱自动构建方法实施例1的方法流程图;
图2为发明公开的一种知识图谱自动构建系统实施例1的结构示意图;
图3为本发明公开的一种第一信息表的示意图;
图4为本发明公开的一种第二信息表的示意图;
图5为本发明公开的一种实例信息表的示意图;
图6为本发明公开的一种汽车领域的知识图谱示意图;
图7为本发明公开的一种设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种知识图谱自动构建方法实施例1的方法流程图,所述方法可以包括以下步骤:
S101、获取预先生成的第一信息表和第二信息表,其中,第一信息表和第二信息表具有相同的表头,均包括概念实体名称;
当需要自动构建汽车领域的知识图谱时,首先获取预先生成的第一信息表和第二信息表。
其中,第一信息表是确定的汽车领域内最通用的、相对抽象的概念类型,约束概念的实例对象所拥有的属性(属性值是int、float、string等基本类型)和关系(关系值在图谱中是一个实例节点)。
具体的,在生成第一信息表时,通过确定本领域存在的物理实体及实体的和实体间关系(如汽车、配件、汽车与配件的选配关系)、概念实体(如经销商、行政区域)、概念间关系(经销商“位于”行政单位)、实体属性(如名称,概念解释,特点等),并对实体归类,得出普遍存在的关系和属性,然后确定对应的一个“元概念”并对其可以拥有的关系及属性进行值域、值数目、存在性的确定。如图3所示,为本发明提供的一种汽车领域的第一信息表的示意图。
如图3所示,对于第一信息表,每一行都是一个概念的属性或关系约束,其中:
label:表示约束概念所属的标签大类,便于在图形数据库中检索;
name:表示所约束的概念实体名,是概念实体的主键,不同的概念实体不可以重名;
IsA:表示定义所继承的父概念;
attribute/relation:表示定义的是概念的一个属性还是一个关系。
属性的约束字段包括:
property name:表示若约束的是属性,则定义属性名;
value:表示若约束的是属性且存在默认值,则在该字段定义默认值;
value Type:表示若约束的是属性,约束属性的类型;
关系的约束字段包括:
relationship type:表示若约束的是关系,则定义关系类型;
tail:表示若约束的是关系,则在该字段定义尾节点的类型约束;
range:表示若约束的是关系且关系的尾节点只能出现在一个有限的枚举集合里;
数量约束包括:
optional:表示定义该概念的实例时,对应的属性或关系是否必须赋值;
multiplicity:表示定义该概念的实例时,对应的属性或关系最多只能有一个值还是多个值。
如图3所示,对元概念层进行如下定义:
Concept:表示所有概念的基类,约束了所有概念都有name属性,可以存在isA(继承)关系,hasSynonym关系(拥有同义词),hasRelatedWord关系(拥有关联词);
Thing:表示继承于Concept,用于表达物理世界中存在的事物及概念;
Word,表示继承于Concept,用于定义领域术语;
操作类型,表示继承于Thing,定义汽车使用场景中对的操作汽车配件的操作;
汽车概念实体,表示定义汽车上存在的配件、系统、功能等。汽车概念实体可以拥有“简称”、“概念”和“特点”属性,以定义实例的相应概念解释和特点描述。hasComponent用于汽车配件/系统与其子配件/子系统间的关联,isPartOf是hasComponent的逆关系。hasConfig关联汽车概念实体与其拥有的配置之间的关系;
CVT是compound value type的缩写,即复杂值类型,用于定义用由多个字段组成的数据。例如度量值是一个CVT,它必须拥有单位属性,数值属性和量纲属性。
同时,获取预先生成的第二信息表。其中,第二信息表中的概念直接继承于第一信息表中的元概念,或是从一个已经存在的概念派生出来。除了继承于父类(super-concept)的属性和关系定义,每个概念实体更清晰而具体的定义了该类型实例需要具备的属性和关系,即该类型知识的结构。
具体的,在生成第二信息表时,生成方式与生成第一信息表几乎一致,只是第二信息表的概念层是相对于第一信息表的元概念层更具体更特定的知识类别定义,因此会为每个概念加入更特定的属性和关系(例如配件拥有位置、工作原理、更换周期等属性)。需要说明的是,第二信息表的概念层定义的每个概念都继承于第一信息表的元概念层的一个概念,并将对应super-class填在label列。如图4所示,为本发明提供的一种汽车领域的第二信息表的示意图。
如图4所示,对于第二信息表,每一行都是一个概念的属性或关系约束,其中:
label:表示约束概念所属的标签大类,便于在图形数据库中检索;
name:表示所约束的概念实体名,是概念实体的主键,不同的概念实体不可以重名;
IsA:表示定义所继承的父概念;
attribute/relation:表示定义的是概念的一个属性还是一个关系。
属性的约束字段包括:
property name:表示若约束的是属性,则定义属性名;
value:表示若约束的是属性且存在默认值,则在该字段定义默认值;
value Type:表示若约束的是属性,约束属性的类型;
关系的约束字段包括:
relationship type:表示若约束的是关系,则定义关系类型;
tail:表示若约束的是关系,则在该字段定义尾节点的类型约束;
range:表示若约束的是关系且关系的尾节点只能出现在一个有限的枚举集合里;
数量约束包括:
optional:表示定义该概念的实例时,对应的属性或关系是否必须赋值;
multiplicity:表示定义该概念的实例时,对应的属性或关系最多只能有一个值还是多个值。
如图4所示,对概念层进行如下定义:
配件,是汽车概念实体的子概念,用于表示车的物理配件。除了继承于上层概念“Concept”和“汽车概念实体”的name、别称等字段之外,配件需要被结构化的特征信息有:功能点、位置(被装配在车的什么位置)、工作原理、更换周期、出厂日期、注意事项及质保政策。
功能,继承于Concept,用于定义领域术语。
故障:是一个CVT,用于关联配件可能出现的故障类型及相应解决方案。用于故障现象、故障点和解决方案三个字段。
S102、对第二信息表进行解析,生成实例信息表;
在获取到第二信息表后,进一步对获取到的第二信息表进行解析,生成实例信息表。
具体的,在生成实例信息表时,按行顺序读取并解析第二信息表,则每当第二信息表的name不为空时,建立一个新的以当前概念名命名的实体定义表,通过isA字段,获取其继承链上父概念所定义的属性/关系字段,加入Column set(没有具体意义,就是个程序处理的变量名称,即“列名称集合”)集合,接下来按行读取对该概念的属性/关系定义并加入Column set,直到读取到下一行存在name值。因此,基于Column set中的每个元素,为新建立的实体定义表增加一列。例如,根据图4中的“配件”概念定义,所生产的“配件实例信息表”如图5所示。
S103、分别对第一信息表和第二信息表进行解析,生成第一信息表和第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
然后,根据获取到的第一信息表和第二信息表,生成每个概念实体对应的图形数据库的数据模型。其中,数据模型是图形数据库中数据特征的抽象,描述的内容有三部分:数据结构,数据操作和数据约束。
具体的,本发明以neo4j图形数据库的neomodel为例,定义汽车领域知识结构与基于数据模型间的映射关系。对于每一个第一信息表和第二信息表所定义的概念,都基于neomodel的api(neomodel是neo4j数据库的OGM(Object Graph Mapper)的python库,提供api接口,帮助将结构化的数据导入neo4j图形数据库。Api(应用程序编程接口)创建一个表示数据模型结构的类(Class),基于其isA关系的定义,在生成的class定义中建立对应继承关系。同时,对于该概念的每一个属性及关系,根据对应的约束定义,在neomodel的对应class的类数据结构定义中,添加属性和关系,及这些属性/关系的基数约束。例如:
概念=neomodel.StringProperty(required=False)
每读到一行关系约束,则在class中加入对应的类关系约束代码,例如:
功能点=RelationshipTo('Function','功能点')
直到读取到下一行存在name值。则一个概念对应的数据模型class生成完毕。当整张concept表遍历结束后,所有概念对应的数据模型生成完毕。
S104、对所有实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。
最后,对每个实例定义表的每一行,调用对应数据模型,在图形数据库中构建数据实例,所有实例定义表导入完毕后,领域知识图谱也构建完成。
具体的,对每个实例定义表的每一行,调用实例所对应概念的数据模型的类(在python代码中定义的class),实例化该类对象,为类的属性、关系赋值。而neomodelapi调用后,会在neo4j中自动创建对应的实体节点及关系。如图6所示,为本发明提供的一种汽车领域生成的知识图谱的部分样例。
综上所述,本发明通过第一信息表和第二信息表将知识结构化整理,通过模型转换技术将知识结构与图形数据库的数据模型进行映射,将整理后的知识自动导入图形数据库生成知识图谱,构建的知识图谱使得汽车领域的知识具备统一的结构和语义关联,进而促进知识的共享和重用。
如图2所示,为本发明公开的一种知识图谱自动构建系统实施例1的结构示意图,所述系统可以包括:
获取模块201,用于获取预先生成的第一信息表和第二信息表,其中,第一信息表和第二信息表具有相同的表头,均包括概念实体名称;
当需要自动构建汽车领域的知识图谱时,首先获取预先生成的第一信息表和第二信息表。
其中,第一信息表是确定的汽车领域内最通用的、相对抽象的概念类型,约束概念的实例对象所拥有的属性(属性值是int、float、string等基本类型)和关系(关系值在图谱中是一个实例节点)。
具体的,用于生成第一信息表的第四生成模块在生成第一信息表时,通过确定本领域存在的物理实体及实体的和实体间关系(如汽车、配件、汽车与配件的选配关系)、概念实体(如经销商、行政区域)、概念间关系(经销商“位于”行政单位)、实体属性(如名称,概念解释,特点等),并对实体归类,得出普遍存在的关系和属性,然后确定对应的一个“元概念”并对其可以拥有的关系及属性进行值域、值数目、存在性的确定。如图3所示,为本发明提供的一种汽车领域的第一信息表的示意图。
如图3所示,对于第一信息表,每一行都是一个概念的属性或关系约束,其中:
label:表示约束概念所属的标签大类,便于在图形数据库中检索;
name:表示所约束的概念实体名,是概念实体的主键,不同的概念实体不可以重名;
IsA:表示定义所继承的父概念;
attribute/relation:表示定义的是概念的一个属性还是一个关系。
属性的约束字段包括:
property name:表示若约束的是属性,则定义属性名;
value:表示若约束的是属性且存在默认值,则在该字段定义默认值;
value Type:表示若约束的是属性,约束属性的类型;
关系的约束字段包括:
relationship type:表示若约束的是关系,则定义关系类型;
tail:表示若约束的是关系,则在该字段定义尾节点的类型约束;
range:表示若约束的是关系且关系的尾节点只能出现在一个有限的枚举集合里;
数量约束包括:
optional:表示定义该概念的实例时,对应的属性或关系是否必须赋值;
multiplicity:表示定义该概念的实例时,对应的属性或关系最多只能有一个值还是多个值。
如图3所示,对元概念层进行如下定义:
Concept:表示所有概念的基类,约束了所有概念都有name属性,可以存在isA(继承)关系,hasSynonym关系(拥有同义词),hasRelatedWord关系(拥有关联词);
Thing:表示继承于Concept,用于表达物理世界中存在的事物及概念;
Word,表示继承于Concept,用于定义领域术语;
操作类型,表示继承于Thing,定义汽车使用场景中对的操作汽车配件的操作;
汽车概念实体,表示定义汽车上存在的配件、系统、功能等。汽车概念实体可以拥有“简称”、“概念”和“特点”属性,以定义实例的相应概念解释和特点描述。hasComponent用于汽车配件/系统与其子配件/子系统间的关联,isPartOf是hasComponent的逆关系。hasConfig关联汽车概念实体与其拥有的配置之间的关系;
CVT是compound value type的缩写,即复杂值类型,用于定义用由多个字段组成的数据。例如度量值是一个CVT,它必须拥有单位属性,数值属性和量纲属性。
同时,获取预先生成的第二信息表。其中,第二信息表中的概念直接继承于第一信息表中的元概念,或是从一个已经存在的概念派生出来。除了继承于父类(super-concept)的属性和关系定义,每个概念实体更清晰而具体的定义了该类型实例需要具备的属性和关系,即该类型知识的结构。
具体的,用于生成第二信息表的第五生成模块在生成第二信息表时,生成方式与生成第一信息表几乎一致,只是第二信息表的概念层是相对于第一信息表的元概念层更具体更特定的知识类别定义,因此会为每个概念加入更特定的属性和关系(例如配件拥有位置、工作原理、更换周期等属性)。需要说明的是,第二信息表的概念层定义的每个概念都继承于第一信息表的元概念层的一个概念,并将对应super-class填在label列。如图4所示,为本发明提供的一种汽车领域的第二信息表的示意图。
如图4所示,对于第二信息表,每一行都是一个概念的属性或关系约束,其中:
label:表示约束概念所属的标签大类,便于在图形数据库中检索;
name:表示所约束的概念实体名,是概念实体的主键,不同的概念实体不可以重名;
IsA:表示定义所继承的父概念;
attribute/relation:表示定义的是概念的一个属性还是一个关系。
属性的约束字段包括:
property name:表示若约束的是属性,则定义属性名;
value:表示若约束的是属性且存在默认值,则在该字段定义默认值;
value Type:表示若约束的是属性,约束属性的类型;
关系的约束字段包括:
relationship type:表示若约束的是关系,则定义关系类型;
tail:表示若约束的是关系,则在该字段定义尾节点的类型约束;
range:表示若约束的是关系且关系的尾节点只能出现在一个有限的枚举集合里;
数量约束包括:
optional:表示定义该概念的实例时,对应的属性或关系是否必须赋值;
multiplicity:表示定义该概念的实例时,对应的属性或关系最多只能有一个值还是多个值。
如图4所示,对概念层进行如下定义:
配件,是汽车概念实体的子概念,用于表示车的物理配件。除了继承于上层概念“Concept”和“汽车概念实体”的name、别称等字段之外,配件需要被结构化的特征信息有:功能点、位置(被装配在车的什么位置)、工作原理、更换周期、出厂日期、注意事项及质保政策。
功能,继承于Concept,用于定义领域术语。
故障:是一个CVT,用于关联配件可能出现的故障类型及相应解决方案。用于故障现象、故障点和解决方案三个字段。
第一生成模块202,用于对第二信息表进行解析,生成实例信息表;
在获取到第二信息表后,进一步对获取到的第二信息表进行解析,生成实例信息表。
具体的,第一生成模块203用于在生成实例信息表时,按行顺序读取并解析第二信息表,则每当第二信息表的name不为空时,建立一个新的以当前概念名命名的实体定义表,通过isA字段,获取其继承链上父概念所定义的属性/关系字段,加入Column set(没有具体意义,就是个程序处理的变量名称,即“列名称集合”)集合,接下来按行读取对该概念的属性/关系定义并加入Column set,直到读取到下一行存在name值。因此,基于Column set中的每个元素,为新建立的实体定义表增加一列。例如,根据图4中的“配件”概念定义,所生产的“配件实例信息表”如图5所示。
第二生成模块203,用于分别对第一信息表和第二信息表进行解析,生成第一信息表和第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
然后,根据获取到的第一信息表和第二信息表,生成每个概念实体对应的图形数据库的数据模型。其中,数据模型是图形数据库中数据特征的抽象,描述的内容有三部分:数据结构,数据操作和数据约束。
具体的,本发明以neo4j图形数据库的neomodel为例,定义汽车领域知识结构与基于数据模型间的映射关系。第二生成模块203对于每一个第一信息表和第二信息表所定义的概念,都基于neomodel的api(neomodel是neo4j数据库的OGM(Object Graph Mapper)的python库,提供api接口,帮助将结构化的数据导入neo4j图形数据库。Api(应用程序编程接口)创建一个表示数据模型结构的类(Class),基于其isA关系的定义,在生成的class定义中建立对应继承关系。同时,对于该概念的每一个属性及关系,根据对应的约束定义,在neomodel的对应class的类数据结构定义中,添加属性和关系,及这些属性/关系的基数约束。例如:
概念=neomodel.StringProperty(required=False)
每读到一行关系约束,则在class中加入对应的类关系约束代码,例如:
功能点=RelationshipTo('Function','功能点')
直到读取到下一行存在name值。则一个概念对应的数据模型class生成完毕。当整张concept表遍历结束后,所有概念对应的数据模型生成完毕。
第三生成模块204,用于对所有实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。
最后,对每个实例定义表的每一行,调用对应数据模型,在图形数据库中构建数据实例,所有实例定义表导入完毕后,领域知识图谱也构建完成。
具体的,第三生成模块204用于对每个实例定义表的每一行,调用实例所对应概念的数据模型的类(在python代码中定义的class),实例化该类对象,为类的属性、关系赋值。而neomodelapi调用后,会在neo4j中自动创建对应的实体节点及关系。如图6所示,为本发明提供的一种汽车领域生成的知识图谱的部分样例。
综上所述,本发明通过第一信息表和第二信息表将知识结构化整理,通过模型转换技术将知识结构与图形数据库的数据模型进行映射,将整理后的知识自动导入图形数据库生成知识图谱,构建的知识图谱使得汽车领域的知识具备统一的结构和语义关联,进而促进知识的共享和重用。
所述知识图谱自动构建系统包括处理器和存储器,上述获取模块、第一生成模块、第二生成模块和第三生成模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行知识图谱自动构建。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述知识图谱自动构建方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述知识图谱自动构建方法。
如图7所示,本发明实施例提供了一种设备70,设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述的知识图谱自动构建方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取预先生成的第一信息表和第二信息表,其中,所述第一信息表和所述第二信息表具有相同的表头,均包括概念实体名称;
对所述第二信息表进行解析,生成实例信息表;
分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱。
可选地,所述对所述第二信息表进行解析,生成实例信息表,包括:
按行顺序读取并解析所述第二信息表,每当概念实体不为空时,建立一个新的以当前的概念实体命名的实例信息表;
通过继承字段,获取所述当前的概念实体继承链上父概念所定义的属性和关系字段,加入列名称集合;
读取所述当前的概念实体所定义的属性和关系字段,加入列名称集合。
可选地,所述分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型,包括:
按行顺序读取并解析所述第一信息表和所述第二信息表的每一行,每当概念实体不为空时,自动创建一个表示数据模型结构的类;
通过继承字段,确定所述表示数据模型结构的类所继承的已经存在的类;
对于概念实体的每一个属性及关系,根据对应的约束定义,在类中加入对应的类属性定义和约束。
可选地,所述对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱,包括:
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型的类,实例化该类对象,为类的属性和关系赋值。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种知识图谱自动构建方法,其特征在于,包括:
获取预先生成的第一信息表和第二信息表,其中,所述第一信息表和所述第二信息表具有相同的表头,均包括概念实体名称;
对所述第二信息表进行解析,生成实例信息表;
分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱;
所述对所述第二信息表进行解析,生成实例信息表,包括:
按行顺序读取并解析所述第二信息表,每当概念实体不为空时,建立一个新的以当前的概念实体命名的实例信息表;
通过继承字段,获取所述当前的概念实体继承链上父概念所定义的属性和关系字段,加入列名称集合;
读取所述当前的概念实体所定义的属性和关系字段,加入列名称集合;
基于列名称集合中的每个元素,为新的以当前的概念实体命名的实例信息表增加每列内容。
2.根据权利要求1所述的方法,其特征在于,所述分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型,包括:
按行顺序读取并解析所述第一信息表和所述第二信息表的每一行,每当概念实体不为空时,自动创建一个表示数据模型结构的类;
通过继承字段,确定所述表示数据模型结构的类所继承的已经存在的类;
对于概念实体的每一个属性及关系,根据对应的约束定义,在所述表示数据模型结构的类中加入对应的类属性定义和约束。
3.根据权利要求1所述的方法,其特征在于,所述对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱,包括:
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型的类,实例化该类对象,为类的属性和关系赋值。
4.根据权利要求1所述的方法,其特征在于,所述第一信息表的生成过程包括:
确定物理实体及物理实体间的关系、概念实体及概念实体间的关系和实体属性;
对实体进行归类,确定出的关系和属性,以及基于所述关系和属性确定出值域、值数目和存在性。
5.根据权利要求1所述的方法,其特征在于,所述第二信息表的生成过程包括:
至少基于所述第一信息表中概念实体名称对应的至少一个概念实体生成所述第二信息表。
6.一种知识图谱自动构建系统,其特征在于,包括:
获取模块,用于获取预先生成的第一信息表和第二信息表,其中,所述第一信息表和所述第二信息表具有相同的表头,均包括概念实体名称;
第一生成模块,用于对所述第二信息表进行解析,生成实例信息表;
第二生成模块,用于分别对所述第一信息表和所述第二信息表进行解析,生成所述第一信息表和所述第二信息表概念实体名称下每个概念实体对应的图形数据库的数据模型;
第三生成模块,用于对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型,生成知识图谱;
所述第一生成模块具体用于:
按行顺序读取并解析所述第二信息表,每当概念实体不为空时,建立一个新的以当前的概念实体命名的实例信息表;
通过继承字段,获取所述当前的概念实体继承链上父概念所定义的属性和关系字段,加入列名称集合;
读取所述当前的概念实体所定义的属性和关系字段,加入列名称集合;
基于列名称集合中的每个元素,为新的以当前的概念实体命名的实例信息表增加每列内容。
7.根据权利要求6所述的系统,其特征在于,所述第二生成模块具体用于:
按行顺序读取并解析所述第一信息表和所述第二信息表的每一行,每当概念实体不为空时,自动创建一个表示数据模型结构的类;
通过继承字段,确定所述表示数据模型结构的类所继承的已经存在的类;
对于概念实体的每一个属性及关系,根据对应的约束定义,在所述表示数据模型结构的类中加入对应的类属性定义和约束。
8.根据权利要求6所述的系统,其特征在于,所述第三生成模块具体用于:
对所有所述实例信息表的每一行,分别调用概念实体对应的图形数据库的数据模型的类,实例化该类对象,为类的属性和关系赋值。
9.根据权利要求6所述的系统,其特征在于,还包括:用于生成所述第一信息表的第四生成模块,所述第四生成模块具体用于:
确定物理实体及物理实体间的关系、概念实体及概念实体间的关系和实体属性;
对实体进行归类,确定出的关系和属性,以及基于所述关系和属性确定出值域、值数目和存在性。
10.根据权利要求6所述的系统,其特征在于,还包括:用于生成所述第二信息表的第五生成模块,所述第五生成模块具体用于:
至少基于所述第一信息表中概念实体名称对应的至少一个概念实体生成所述第二信息表。
11.一种设备,其特征在于,包括:至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至5任一项所述的知识图谱自动构建方法。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至5任一项所述的知识图谱自动构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010702337.2A CN111858957B (zh) | 2020-07-20 | 2020-07-20 | 一种知识图谱自动构建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010702337.2A CN111858957B (zh) | 2020-07-20 | 2020-07-20 | 一种知识图谱自动构建方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858957A CN111858957A (zh) | 2020-10-30 |
CN111858957B true CN111858957B (zh) | 2024-05-14 |
Family
ID=73001186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010702337.2A Active CN111858957B (zh) | 2020-07-20 | 2020-07-20 | 一种知识图谱自动构建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858957B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239238B (zh) * | 2021-06-17 | 2024-03-15 | 上海海洋大学 | 一种面向半结构化领域数据的知识图谱自动构建方法 |
CN113434701A (zh) * | 2021-07-16 | 2021-09-24 | 山东大学 | 一种车联网知识图谱的构建、更新方法及系统 |
CN115048533B (zh) * | 2022-06-21 | 2023-06-27 | 四维创智(北京)科技发展有限公司 | 知识图谱构建的方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609052A (zh) * | 2017-08-23 | 2018-01-19 | 中国科学院软件研究所 | 一种基于语义三角的领域知识图谱的生成方法及装置 |
CN110704631A (zh) * | 2019-08-16 | 2020-01-17 | 北京紫冬认知科技有限公司 | 医疗知识图谱的构建方法及装置 |
JP2020035332A (ja) * | 2018-08-31 | 2020-03-05 | 富士通株式会社 | タイプ推定方法、情報処理装置およびタイプ推定プログラム |
CN111159365A (zh) * | 2019-11-26 | 2020-05-15 | 国网湖南省电力有限公司 | 调度模型本体智能问答系统的实现方法、系统及存储介质 |
CN111309868A (zh) * | 2020-02-20 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种知识图谱构建、检索方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145744B (zh) * | 2017-05-08 | 2018-03-02 | 合肥工业大学 | 医学知识图谱的构建方法、装置及辅助诊断方法 |
-
2020
- 2020-07-20 CN CN202010702337.2A patent/CN111858957B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609052A (zh) * | 2017-08-23 | 2018-01-19 | 中国科学院软件研究所 | 一种基于语义三角的领域知识图谱的生成方法及装置 |
JP2020035332A (ja) * | 2018-08-31 | 2020-03-05 | 富士通株式会社 | タイプ推定方法、情報処理装置およびタイプ推定プログラム |
CN110704631A (zh) * | 2019-08-16 | 2020-01-17 | 北京紫冬认知科技有限公司 | 医疗知识图谱的构建方法及装置 |
CN111159365A (zh) * | 2019-11-26 | 2020-05-15 | 国网湖南省电力有限公司 | 调度模型本体智能问答系统的实现方法、系统及存储介质 |
CN111309868A (zh) * | 2020-02-20 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种知识图谱构建、检索方法及装置 |
Non-Patent Citations (1)
Title |
---|
自然灾害应急知识图谱构建方法研究;杜志强;李钰;张叶廷;谭玉琪;赵文豪;;武汉大学学报(信息科学版)(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858957A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858957B (zh) | 一种知识图谱自动构建方法及系统 | |
Czarnecki et al. | Cool features and tough decisions: a comparison of variability modeling approaches | |
CN109343857B (zh) | 线上部署机器学习模型的方法、设备和存储介质 | |
Ezran et al. | Practical software reuse | |
US20050065955A1 (en) | Method of building persistent polyhierarchical classifications based on polyhierarchies of classification criteria | |
US20060168557A1 (en) | Methods and apparatus for implementing model-based software solution development and integrated change management | |
Igamberdiev et al. | An integrated multi-level modeling approach for industrial-scale data interoperability | |
Rademacher et al. | Graphical and textual model-driven microservice development | |
US20070022106A1 (en) | System design using a RAS-based database | |
WO2000075849A2 (en) | Method and apparatus for data access to heterogeneous data sources | |
Klusch | Semantic web service description | |
US20050160401A1 (en) | System and method for adding user-defined objects to a modeling tool | |
Wardhana et al. | Transformation of sysml requirement diagram into owl ontologies | |
CN101771712B (zh) | 一种Web服务注册管理方法 | |
Bokowski | Coffeestrainer: Statically-checked constraints on the definition and use of types in java | |
Brito et al. | A requirements model for quality attributes | |
Landolfi et al. | An ontology based semantic data model supporting a MaaS digital platform | |
CN114996319B (zh) | 基于规则引擎的数据处理方法、装置、设备及存储介质 | |
Pons et al. | Traceability across refinement steps in UML modeling | |
CN115841359A (zh) | 一种对象生成方法、装置、设备及存储介质 | |
CN101013363A (zh) | 一种基于领域本体的软构件分类注册方法 | |
Eiter et al. | Reasoning about evolving nonmonotonic knowledge bases | |
CN116431835B (zh) | 汽车认证领域自动化知识图谱构建方法、设备和介质 | |
CN117421252B (zh) | 代码检测方法、装置及计算机可读存储介质 | |
Kumar Shrivastava et al. | Evolution of Object Oriented Analysis & Design in Software Engineering. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |