CN117196043B - 基于本体的知识推理方法、系统及电子设备 - Google Patents
基于本体的知识推理方法、系统及电子设备 Download PDFInfo
- Publication number
- CN117196043B CN117196043B CN202311465582.6A CN202311465582A CN117196043B CN 117196043 B CN117196043 B CN 117196043B CN 202311465582 A CN202311465582 A CN 202311465582A CN 117196043 B CN117196043 B CN 117196043B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- relation
- rule
- reasoning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000007781 pre-processing Methods 0.000 claims abstract description 28
- 238000012546 transfer Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种基于本体的知识推理方法、系统及电子设备,属于知识推理技术领域,所述方法包括:获取规则字符串,以及,获取图数据,规则字符串表征知识推理条件,图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;对规则字符串进行解析,得到规则字符串对应的语法树;将语法树转换为查询语句,并根据图数据执行查询语句,得到推理结果。由于图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,在图数据中包括本体之间的各种推理关系,查询语句是根据知识推理条件对应的规则字符串处理得到的,因而根据图数据执行查询语句能够得到准确的推理结果,实现利用语义网规则语言描述的推理规则进行知识推理。
Description
技术领域
本申请涉及知识推理技术领域,特别涉及一种基于本体的知识推理方法、系统及电子设备。
背景技术
语义网规则语言(Semantic Web Rule Language,SWRL)是由以语义的方式呈现规则的一种语言,SWRL的规则部分概念是由RuleML(Rule Markup Language,规则标记语言)所演变而来,再结合OWL(Ontology Wed Language,网络本体语言)本体论形成。
基于推理规则的知识推理能够实现对未知知识的发现和挖掘,因此,如何基于SWRL描述的推理规则进行知识推理具有重要语义。然而,当前基于SWRL描述的推理规则功能单一,并没有给出如何利用SWRL描述的推理规则进行知识推理的具体方案。
发明内容
鉴于上述问题,本申请实施例提供了一种基于本体的知识推理方法、系统及电子设备,以便克服上述问题或者至少部分地解决上述问题。
本申请实施例的第一方面,公开了一种基于本体的知识推理方法,所述方法包括:
获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;
对所述规则字符串进行解析,得到所述规则字符串对应的语法树;
将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果。
可选地,对所述规则字符串进行解析,得到所述规则字符串对应的语法树,包括:
将所述规则字符串拆解为词语语序;
对所述词语语序中的每个词语进行解析,得到每个词的规则信息,所述规则信息包括边信息、变量信息、操作符、推理类型;
根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树。
可选地,所述操作符包括并列关系、选择关系、否定关系;根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树,包括:
当所述操作符为并列关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个并列关系的父节点下;
当所述操作符为选择关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个选择关系的父节点下;
当所述操作符为否定关系时,将所述变量信息对应的被否定实体单独作为一个子节点与否定标记连接到一个否定关系的父节点下。
可选地,将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果,包括:
递归所述语法树,得到每个子树的叶子节点;
获取所述叶子节点的参数变量,并根据所述参数变量确定叶子节点查询语句;
根据所述图数据执行所述叶子节点查询语句,得到叶子节点查询结果;
将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果;
将所述语法树的每个子树对应的所述子树查询结果进行组合,得到推理结果。
可选地,所述逻辑运算包括逻辑与、逻辑或、逻辑非;将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果,包括:
当逻辑运算是逻辑与时,将进行逻辑与运算的所有叶子节点查询结果按照对应关系形成链路;
当逻辑运算是逻辑或时,将进行逻辑或运算的所有叶子节点查询结果进行合并;
当逻辑运算是逻辑非时,将进行逻辑或非运算的所有叶子节点查询结果进行过滤。
可选地,所述推理规则包括关系推理和概念推理;
其中,所述关系推理包括传递逻辑、等价逻辑、对称逻辑、反对称逻辑,所述关系推理表征根据多个条件输入推理出当前知识模型中不存在的新关系;
所述概念推理表征根据多个条件输入推理出当前知识模型中不存在的新概念。
可选地,将本体数据按照推理规则预处理为图数据,包括:
根据所述本体数据创建节点数据和边数据,所述边数据包括本体数据属性和关系属性;
根据推理规则、所述节点数据和所述边数据,创建关系数据;
根据所述关系数据得到图数据。
可选地,根据推理规则、所述节点数据和所述边数据,创建关系数据,包括:
在所述本体数据具有传递逻辑时,创建第一节点数据根据第一关系到第二节点数据,创建所述第二节点数据根据所述第一关系到第三节点数据,以及,创建所述第一节点数据根据所述第一关系到所述第三节点数据;
在所述本体数据具有等价逻辑时,创建第四节点数据根据第二关系到第五节点数据,创建所述第五节点数据根据第三关系到所述第四节点数据,所述第二关系和所述第三关系等价;
在所述本体数据具有对称逻辑时,创建第六节点数据根据第四关系到第七节点数据,创建所述第七节点数据根据所述第四关系到所述第六节点数据,所述第四关系是对称逻辑关系;
在所述本体数据具有反对称逻辑时,创建第八节点数据根据第五关系到第九节点数据,所述第五关系是反对称逻辑关系。
本申请实施例的第二方面,公开了一种基于本体的知识推理系统,包括:
推理规则解析器,所述推理规则解析器用于获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;并对所述规则字符串进行解析,得到所述规则字符串对应的语法树;
推理规则执行模块,所述推理规则执行模块用于将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果。
本申请实施例的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面所述的基于本体的知识推理方法的步骤。
本申请实施例包括以下优点:
在本申请实施例中,获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,进而对规则字符串进行解析,得到规则字符串对应的语法树,将语法树转换为查询语句,并根据图数据执行查询语句,得到推理结果。由于图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,在图数据中包括了本体之间的各种推理关系,查询语句是根据知识推理条件对应的规则字符串处理得到的,因而根据图数据执行查询语句能够得到准确的推理结果,从而实现利用语义网规则语言描述的推理规则进行知识推理。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于本体的知识推理方法的步骤流程图;
图2是本申请实施例提供的一种语法树的示意图;
图3是本申请实施例提供的一种关系推理的示意图;
图4是本申请实施例提供的一种概率推理的示意图;
图5是本申请实施例提供的一种传递逻辑推理的示意图;
图6是本申请实施例提供的一种等价逻辑推理的示意图;
图7是本申请实施例提供的一种对称逻辑推理的示意图;
图8是本申请实施例提供的一种反对称逻辑推理的示意图;
图9是本申请实施例提供的一种语法树生成方法的流程图;
图10是本申请实施例提供的一种推理规则执行的流程图;
图11是本申请实施例提供的一种本体数据预处理的流程图;
图12是本申请实施例提供的一种基于本体的知识推理系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1所示,图1是本申请实施例提供的一种基于本体的知识推理方法的步骤流程图。本申请实施例提供的一种基于本体的知识推理方法可以包括步骤S110至步骤S130:
步骤S110:获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的。
本申请实施例中,规则字符串是输入的知识推理条件,一般地,推理规则语句的结构分为推理结果和推理条件两部分,两部分由“<-”连接,例如,Parent(y)<- has_parent(x,y) ^ man(y),其中“Parent(y)”为推理结果,“has_parent(x,y) ^ man(y)”为推理条件。在进行知识推理时,以规则字符串的方式输入推理条件。本体数据是指具体的概念或类,例如,将本体数据按照推理规则进行预处理得到图数据,其中,图数据中的节点为本体数据(即概率或类),节点之间的边表示本体数据之间关系。具体地,对本体数据中隐含的逻辑关系属性进行处理得到图数据,例如,A和B之间具有逻辑的关系R,则在构建图数据时,根据逻辑的关系R对A和B之间的属性数据进行构建,得到图数据。
步骤S120:对所述规则字符串进行解析,得到所述规则字符串对应的语法树。
本申请实施例中,对规则字符串解析包括两部分:一是校验规则字符串的合法性,即对语法规则的符合性检测和条件输入涉及的知识节点的存在性检查;二是通过词法分析和语法分析完成抽象语法树的生成,即对满足合法性的规则字符串进行识别和提取规则字符串中的表达式、操作符号和推理结论,最终形成对应的语法树。示例的,图2是本申请实施例提供的一种语法树的示意图。
步骤S130:将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果。
本申请实施例中,对语法树进行校验,确保语法树结构和逻辑的准确性,之后对推理规则部分进行整理,通过递归查询语法树中各部分(即叶子节点)的推理结果,以及子树之间的逻辑关系,去重合并查询结果,最终根据推理结论部分提取对应的推理结果。
综上所述,在本申请实施例中,获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,进而对规则字符串进行解析,得到规则字符串对应的语法树,将语法树转换为查询语句,并根据图数据执行查询语句,得到推理结果。由于图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,在图数据中包括了本体之间的各种推理关系,查询语句是根据知识推理条件对应的规则字符串处理得到的,因而根据图数据执行查询语句能够得到准确的推理结果,从而实现利用语义网规则语言描述的推理规则进行知识推理。
在一种可选的实施例中,所述推理规则包括关系推理和概念推理;其中,所述关系推理包括传递逻辑、等价逻辑、对称逻辑、反对称逻辑,所述关系推理表征根据多个条件输入推理出当前知识模型中不存在的新关系;所述概念推理表征根据多个条件输入推理出当前知识模型中不存在的新概念。
本申请实施例中,推理规则是基于语义网规则语言描述的推理规则,针对关系推理,图3是本申请实施例提供的一种关系推理的示意图,例如,当存在概念(类)A、B、C,且存在图3中的(a)所示意的关系时,即A和B之间存在关系has_parent,B和C之间存在关系has_parent,则推理:has_grandfather(X,Z)<- has_parent(X,Y) ^ has_parent(Y,Z)成立,其中,X、Y、Z表示概念或类别变量,推理结果如图3中的(b)所示。
针对概念推理,图4是本申请实施例提供的一种概率推理的示意图,例如,当存在实体a、b,且存在图4中的(a)所示意的关系(即a和b之间存在关系has_parent,b的实例instance Of为man)时,则推理:parent(y)<- has_parent(x,y) ^ man(y)成立,其中,x、y表示实体变量,推理结果如图4中的(b)所示。
进一步地,针对关系推理中的传递逻辑,图5是本申请实施例提供的一种传递逻辑推理的示意图,当存在概念(类)A、B、C具备传递逻辑的关系R1时,如图5中的(a)所示,则推理规则:R2(X,Z)<- R1(X,Y) ^R1(Y,Z)成立,其中R2为新的关系,图5中的(b)为传递逻辑的推理结果。
针对关系推理中的等价逻辑,图6是本申请实施例提供的一种等价逻辑推理的示意图,当存在概念(类)D、E、F、G、H,关系R3、R4、R5时,且R3与R5为等价关系,如图6中的(a)所示,则推理规则:R6(X,Z)<- R3(X,Y) ^R4(Y,Z)成立,图6中的(b)为等价逻辑的推理结果,由于R3与R5为等价关系,所有R5可以作为R3存在。
针对关系推理中的对称逻辑,图7是本申请实施例提供的一种对称逻辑推理的示意图,当存在概念(类)I、G、K、L和关系R8,具备对称属性的关系R7时,如图7中的(a)所示,则推理规则:R9(X,Z)<- R7(X,Y) ^R8(Y,Z)成立,图7中的(b)为对称逻辑的推理结果,由于R7存在对称逻辑,所以存在G通过R7指向K的同时,也存在K通过R7指向G,其余R7关系同理。
针对关系推理中的反对称逻辑,图8是本申请实施例提供的一种反对称逻辑推理的示意图,当存在概念(类)M、N、O、P,关系R11,具备反对称属性的关系R10时,如图8中的(a)所示,则推理规则:R12(X,Z)<- R10(X,Y) ^R11(Y,Z)成立,图8中的(b)为反对称逻辑的推理结果,由于R10存在反对称逻辑,所以在存在N通过R10指向O的同时,不存在O通过R10指向N,其余R10关系同理。
进一步地,在推理规则中涉及的逻辑运算主要包括逻辑与、逻辑或和逻辑非。其中,逻辑与的运算符表示为“^”,逻辑或的运算符表示为“|”,逻辑非的运算符表示为“!”。对于组合逻辑推理,通过使用“[]”将多个关系归拢为一组。针对规则的条件部分,优先处理括号内的内容,然后再处理的运算符,即“|”、“^”、“!”,其中运算符按优先级自高向低排序为“|”、“^”、“!”。
本申请实施例中,推理规则是基于语义网规则语言描述的推理规则,基于本申请实施例提供的推理规则,能够对本体数据中隐含的逻辑关系属性(即,传递逻辑、等价逻辑、对称逻辑、反对称逻辑)进行处理得到图数据。以便在进行知识推理时,能够基于图数据得到准确的推理结果,从而实现利用语义网规则语言描述的推理规则进行知识推理。
在一种可选的实施例中,对所述规则字符串进行解析,得到所述规则字符串对应的语法树,包括步骤A1至步骤A3:
步骤A1:将所述规则字符串拆解为词语语序。
步骤A2:对所述词语语序中的每个词语进行解析,得到每个词的规则信息,所述规则信息包括边信息、变量信息、操作符、推理类型。
步骤A3:根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树。
本申请实施例中,将规则字符串进行拆分为词语语序,例如,针对规则字符串[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)] | R4(X,Z),对应的词语语序为[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]、R4(X,Z)。在一种具体的实施方式中,为了保证知识推理的准确性,在步骤A1将规则字符串拆解为词语语序之前,还对规则字符串的格式进行校验,即对语法规则的符合性检测和条件输入涉及的知识节点的存在性检查。
在得到词语语序之后,对每个词语进行解析,得到规则信息。其中,边信息是指变量的属性关系,变量信息是指具体的概率(类)的信息,操作符具体包括并列关系、选择关系、否定关系,推理类型包括关系推理和实例推理。最后根据每个词的规则信息,对词语语序进行递归计算,具体地,检查词语语序中的词语是否存在“[]”,如果存在则分离“[]”部分与剩余部分,进而针对每部分内容,根据规则信息构建语法树。
进一步地,所述操作符包括并列关系、选择关系、否定关系;根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树,包括:
当所述操作符为并列关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个并列关系的父节点下;
当所述操作符为选择关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个选择关系的父节点下;
当所述操作符为否定关系时,将所述变量信息对应的被否定实体单独作为一个子节点与否定标记连接到一个否定关系的父节点下。
具体地,在语法树中并列关系用“and”表示,选择关系用于“or”表示,否定关系用“not”表示。针对R5(X,Z)<- [R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)] | R4(X,Z)的推理规则,生成的语法树如图2所示,具体的,将[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]| R4(X,Z)拆解为词语语序:[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]、R4(X,Z),进而确定出每个词的规则信息,并将初始无节点的语法树作为根存储,根据每个词的规则信息,进行递归计算形成语法树。
例如,对于[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]这个词语,[R1(X,Y)、R2(Y,Z)和!R3(X,Z)具有并列关系,因此将R1(X,Y)、R2(Y,Z)和!R3(X,Z)分别作为子节点连接到一个并列关系的父节点下;词语!R3(X,Z)具有否定关系,因此将!R3(X,Z)单独作为一个子节点与否定标记连接到一个否定关系的父节点下;[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]和R4(X,Z)具有选择关系,因此将[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]和R4(X,Z)分别作为子节点连接到一个选择关系的父节点下,最终得到图2所示意的语法树。
图9是本申请实施例提供的一种语法树生成方法的流程图。首先校验规则字符串格式的正确性,并对规则字符串进行拆分,得到词语语序;进而对词语语序中的每个词语进行解析,得到每个词的规则信息,其中,规则信息包括边信息、变量信息、操作符、推理类型;最后根据每个词的规则信息,对词语语序进行递归计算,得到规则字符串对应的语法树,即检查词语语序中的词语是否存在“[]”,如果存在则分离“[]”部分与剩余部分,进而针对每部分内容,根据规则信息(如,操作符、边信息、变量信息)规整语法树数据,进而组织最终返回的语法树数据,得到语法树。
本申请实施例中,将推理条件对应的规则字符串处理语法树,实现将规则字符串以图结构的数据进行表征,以便于后续基于语法树得到查询语句,并基于查询语句得到推理结果。
在一种可选的实施例中,将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果,包括步骤B1至步骤B5:
步骤B1:递归所述语法树,得到每个子树的叶子节点。
步骤B2:获取所述叶子节点的参数变量,并根据所述参数变量确定叶子节点查询语句。
步骤B3:根据所述图数据执行所述叶子节点查询语句,得到叶子节点查询结果。
步骤B4:将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果。
步骤B5:将所述语法树的每个子树对应的所述子树查询结果进行组合,得到推理结果。
本申请实施例中,叶子节点是指语法树中最小子节点,子树是指叶子节点对应的父节点,以图2所示意的语法树为例,R1(X,Y)、R2(Y,Z)和!R3(X,Z)对应的节点为叶子节点,[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]对应的节点为子树。通过对语法树进行递归得到叶子节点,进而获取叶子节点的参数变量,其中,叶子节点的参数变量是指节点信息和边数据。例如,对于叶子节点R1(X,Y),对应的参数变量为X和Y,边数据为R1。
进而根据节点信息和边数据确定查询语句,由于图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,在图数据包括了本体之间的各种推理关系,因此根据图数据执行查询语句,能够得到对应的叶子节点查询结果。最后将子树的每个叶子节点对应的叶子节点查询结果按照逻辑运算进行组合,得到子树查询结果,例如,将叶子节点R1(X,Y)、R2(Y,Z)和!R3(X,Z)的查询结果按照逻辑运算进行组合,得到子树[R1(X,Y)^R2(Y,Z) ^ !R3(X,Z)]的查询结果。
进一步地,所述逻辑运算包括逻辑与、逻辑或、逻辑非;将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果,包括:
当逻辑运算是逻辑与时,将进行逻辑与运算的所有叶子节点查询结果按照对应关系形成链路;
当逻辑运算是逻辑或时,将进行逻辑或运算的所有叶子节点查询结果进行合并;
当逻辑运算是逻辑非时,将进行逻辑或非运算的所有叶子节点查询结果进行过滤。
示例地,针对R5(X,Z)<- [R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)] | R4(X,Z)对应的语法树(如图2所示),对“R1(X,Y) ^R2(Y,Z)”进行逻辑与运算时,获取一条以X为起点,通过R1途径Y,最终通过R2到达Z的链路。对“[R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)]”和“R4(X,Z)”进行逻辑或运算时,获取各部分所有符合推理结论中起点为X、结束为Z的结果。对“R1(X,Y) ^R2(Y,Z) ^ !R3(X,Z)”进行逻辑非运算时,“!R3(X,Z)”是对“R1(X,Y) ^R2(Y,Z)”中的结果进行过滤,剔除所有以X为起点通过R3到达Z的结果。
图10是本申请实施例提供的一种推理规则执行的流程图。首先初始化图数据库连接,即确定图数据,并检查语法树的正确性,递归所述语法树得到每个子树的叶子节点,进而获取叶子节点的参数变量(节点信息和边信息),即检查推理结论,获取结论的参数变量。并根据参数变量整理推理规则部分,具体包括:根据当前规则类型获取查询语句(包括关系型推理或实例推理),并执行查询语义,以获取相关查询结果,在检查当前规则是否存在子查询,在不存在子查询的情况下,根据操作符合并查询结果;进而将查询结果进行合并去重,提取推理结论部分,将推理结果数据进行区中,得到最终的推理结果。在具体实施时,根据参数变量确定叶子节点查询语句;根据图数据执行叶子节点查询语句,得到叶子节点查询结果。将子树的每个叶子节点对应的叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果,最后将语法树的每个子树对应的子树查询结果进行组合,得到推理结果。
在一种可选的实施例中,将本体数据按照推理规则预处理为图数据,包括步骤C1至步骤C3:
步骤C1:根据所述本体数据创建节点数据和边数据,所述边数据包括本体数据属性和关系属性。
步骤C2:根据推理规则、所述节点数据和所述边数据,创建关系数据。
步骤C3:根据所述关系数据得到图数据。
本申请实施例中,关系属性包括传递逻辑、等价逻辑、对称逻辑、反对称逻辑;推理规则为基于语义网规则语言描述的推理规则,包括关系推理规则和实例推理规则;节点数据是指具体的概率(类)或实例。本体数据是指本体任务的全量数据,本体任务不同对应的本体数据也不同。在具体实施时,确定本体任务对应的本体数据,进而根据该本体数据创建节点数据和边数据,并根据推理规则、节点数据和所述边数据,创建关系数据。
进一步地,根据推理规则、所述节点数据和所述边数据,创建关系数据,包括:
在所述本体数据具有传递逻辑时,创建第一节点数据根据第一关系到第二节点数据,创建所述第二节点数据根据所述第一关系到第三节点数据,以及,创建所述第一节点数据根据所述第一关系到所述第三节点数据;
在所述本体数据具有等价逻辑时,创建第四节点数据根据第二关系到第五节点数据,创建所述第五节点数据根据第三关系到所述第四节点数据,所述第二关系和所述第三关系等价;
在所述本体数据具有对称逻辑时,创建第六节点数据根据第四关系到第七节点数据,创建所述第七节点数据根据所述第四关系到所述第六节点数据,所述第四关系是对称逻辑关系;
在所述本体数据具有反对称逻辑时,创建第八节点数据根据第五关系到第九节点数据,所述第五关系是反对称逻辑关系。
具体地,针对传递逻辑,若A、B间存在具有传递属性的关系R1,B、C间存在具有传递属性的关系R1,则创建A-R1>B(表示A通过R1到B)数据、B-R1>C(表示B通过R1到C)数据、A-R1>C(表示A通过R1到C)数据。针对等价逻辑,若关系R2与R3等价,A与B间存在关系R2,则创建A-R2>B(表示A通过R2到B)数据,A-R3>B(表示A通过R3到B)数据。针对对称逻辑,若A、B间存在具有对称逻辑的关系R4,则创建A-R4>B(表示A通过R4到B),B-R4>A(表示B通过R4到A)。针对反对称逻辑,若A、B间存在具有反对称逻辑的关系R5,则创建A-R5>B(表示A通过R4到B)。
图11是本申请实施例提供的一种本体数据预处理的流程图。首先初始化图数据库连接,即确定初始化的图数据;并获取本体数据,即本体任务的全量数据,进而根据本体任务ID创建图空间,将本体数据按照推理规则进行预处理,转换为图数据。具体的,根据本体数据创建class节点数据,以及创建边数据,其中,边数据包括本体数据属性和关系属性;进而根据推理规则、节点数据和边数据,创建实例节点数据和创建预定义的关系数据(概念与实例关系、概念与概念的父子关系,属性与属性的父子关系、概念与概念的父子关系),入库相关数据,并查询符合传递关系的子图,创建对应的关系数据最后记录图空间与本体任务关系得到图数据。
本申请实施例还提供了一种基于本体的知识推理系统,参照图12所示,图12是本申请实施例提供的一种基于本体的知识推理系统的结构示意图,所述系统包括:
推理规则解析器,所述推理规则解析器用于获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;并对所述规则字符串进行解析,得到所述规则字符串对应的语法树;
推理规则执行模块,所述推理规则执行模块用于将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果。
本申请实施例中,推理规则解析器规则字符串进行校验、解析并获取对应的语法树;进而推理规则执行模块基于语法树转化为查询语句,并执行查询语句,得到推理结果。由于图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的,在图数据包括了本体之间的各种推理关系,因而根据图数据执行查询语句能够得到准确的推理结果,从而实现利用语义网规则语言描述的推理规则进行知识推理。
进一步地,所述基于本体的知识推理系统还包括:推理规则预处理模块、推理结果可视化模块、推理结果导出模块、推理规则编辑器以及图数据库。
其中,推理规则预处理模块将本体数据按照语义网规则语言描述的推理规则进行预处理,得到图数据。具体包括将本体知识数据中的隐含逻辑属性进行预处理,例如,A与B节点间存在具有对称逻辑的关系R,在数据实际存储中,将存储两条边,分别为A通过R到达B、B通过R到达A。该推理规则预处理模块作为推理执行的前提存在。图数据库用于存储推理规则预处理模块预处理得到的图数据。推理规则编辑器供推理规则的编辑能力,用过通过推理规则编辑器输入规则字符串。推理结果可视化模块依托可视化渲染服务,将知识推理生成的知识子图的模型数据进行可视化渲染,在绘图板上实现推理结果可视化展示。推理结果导出模块,将推理结果中包含的局部知识模型数据进行格式化组装,导出成文件。基于知识推理的推理结果知识子图的模型数据,系统依托知识模型交换服务可以将其导出为OWL、RDF(Resource Description Framework,资源描述框架)和XML(Extensible MarkupLanguage,可扩展标记语言)等通用格式知识模型文件。
本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时本申请实施例所述的基于本体的知识推理方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于本体的知识推理方法、系统及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种基于本体的知识推理方法,其特征在于,所述方法包括:
获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;
对所述规则字符串进行解析,得到所述规则字符串对应的语法树;
将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果;
其中,将本体数据按照语义网规则语言描述的推理规则预处理为图数据,包括:根据所述本体数据创建节点数据和边数据,所述边数据包括本体数据属性和关系属性;根据推理规则、所述节点数据和所述边数据,创建关系数据;根据所述关系数据得到图数据;
所述根据推理规则、所述节点数据和所述边数据,创建关系数据,包括:在所述本体数据具有传递逻辑时,创建第一节点数据根据第一关系到第二节点数据,创建所述第二节点数据根据所述第一关系到第三节点数据,以及,创建所述第一节点数据根据所述第一关系到所述第三节点数据;在所述本体数据具有等价逻辑时,创建第四节点数据根据第二关系到第五节点数据,创建所述第五节点数据根据第三关系到所述第四节点数据,所述第二关系和所述第三关系等价;在所述本体数据具有对称逻辑时,创建第六节点数据根据第四关系到第七节点数据,创建所述第七节点数据根据所述第四关系到所述第六节点数据,所述第四关系是对称逻辑关系;在所述本体数据具有反对称逻辑时,创建第八节点数据根据第五关系到第九节点数据,所述第五关系是反对称逻辑关系;
将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果,包括:递归所述语法树,得到每个子树的叶子节点;获取所述叶子节点的参数变量,并根据所述参数变量确定叶子节点查询语句;根据所述图数据执行所述叶子节点查询语句,得到叶子节点查询结果;将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果;将所述语法树的每个子树对应的所述子树查询结果进行组合,得到推理结果。
2.根据权利要求1所述的方法,其特征在于,对所述规则字符串进行解析,得到所述规则字符串对应的语法树,包括:
将所述规则字符串拆解为词语语序;
对所述词语语序中的每个词语进行解析,得到每个词的规则信息,所述规则信息包括边信息、变量信息、操作符、推理类型;
根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树。
3.根据权利要求2所述的方法,其特征在于,所述操作符包括并列关系、选择关系、否定关系;根据所述每个词的规则信息,对所述词语语序进行递归计算,得到所述规则字符串对应的语法树,包括:
当所述操作符为并列关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个并列关系的父节点下;
当所述操作符为选择关系时,将所述变量信息对应的至少两个实体分别作为子节点连接到一个选择关系的父节点下;
当所述操作符为否定关系时,将所述变量信息对应的被否定实体单独作为一个子节点与否定标记连接到一个否定关系的父节点下。
4.根据权利要求1所述的方法,其特征在于,所述逻辑运算包括逻辑与、逻辑或、逻辑非;将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果,包括:
当逻辑运算是逻辑与时,将进行逻辑与运算的所有叶子节点查询结果按照对应关系形成链路;
当逻辑运算是逻辑或时,将进行逻辑或运算的所有叶子节点查询结果进行合并;
当逻辑运算是逻辑非时,将进行逻辑或非运算的所有叶子节点查询结果进行过滤。
5.根据权利要求1所述的方法,其特征在于,所述推理规则包括关系推理和概念推理;
其中,所述关系推理包括传递逻辑、等价逻辑、对称逻辑、反对称逻辑,所述关系推理表征根据多个条件输入推理出当前知识模型中不存在的新关系;
所述概念推理表征根据多个条件输入推理出当前知识模型中不存在的新概念。
6.一种基于本体的知识推理系统,其特征在于,包括:
推理规则解析器,所述推理规则解析器用于获取规则字符串,以及,获取图数据,所述规则字符串表征知识推理条件,所述图数据是将本体数据按照语义网规则语言描述的推理规则进行预处理得到的;并对所述规则字符串进行解析,得到所述规则字符串对应的语法树;
推理规则执行模块,所述推理规则执行模块用于将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果;
其中,将本体数据按照语义网规则语言描述的推理规则预处理为图数据,包括:根据所述本体数据创建节点数据和边数据,所述边数据包括本体数据属性和关系属性;根据推理规则、所述节点数据和所述边数据,创建关系数据;根据所述关系数据得到图数据;
所述根据推理规则、所述节点数据和所述边数据,创建关系数据,包括:在所述本体数据具有传递逻辑时,创建第一节点数据根据第一关系到第二节点数据,创建所述第二节点数据根据所述第一关系到第三节点数据,以及,创建所述第一节点数据根据所述第一关系到所述第三节点数据;在所述本体数据具有等价逻辑时,创建第四节点数据根据第二关系到第五节点数据,创建所述第五节点数据根据第三关系到所述第四节点数据,所述第二关系和所述第三关系等价;在所述本体数据具有对称逻辑时,创建第六节点数据根据第四关系到第七节点数据,创建所述第七节点数据根据所述第四关系到所述第六节点数据,所述第四关系是对称逻辑关系;在所述本体数据具有反对称逻辑时,创建第八节点数据根据第五关系到第九节点数据,所述第五关系是反对称逻辑关系;
将所述语法树转换为查询语句,并根据所述图数据执行所述查询语句,得到推理结果,包括:递归所述语法树,得到每个子树的叶子节点;获取所述叶子节点的参数变量,并根据所述参数变量确定叶子节点查询语句;根据所述图数据执行所述叶子节点查询语句,得到叶子节点查询结果;将子树的每个叶子节点对应的所述叶子节点查询结果,按照逻辑运算进行组合,得到子树查询结果;将所述语法树的每个子树对应的所述子树查询结果进行组合,得到推理结果。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一项所述的基于本体的知识推理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311465582.6A CN117196043B (zh) | 2023-11-07 | 2023-11-07 | 基于本体的知识推理方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311465582.6A CN117196043B (zh) | 2023-11-07 | 2023-11-07 | 基于本体的知识推理方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117196043A CN117196043A (zh) | 2023-12-08 |
CN117196043B true CN117196043B (zh) | 2024-02-06 |
Family
ID=89003814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311465582.6A Active CN117196043B (zh) | 2023-11-07 | 2023-11-07 | 基于本体的知识推理方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117196043B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649266A (zh) * | 2016-11-29 | 2017-05-10 | 北京科技大学 | 一种本体知识的逻辑推理方法 |
CN110197281A (zh) * | 2019-05-17 | 2019-09-03 | 华南理工大学 | 一种基于本体模型和概率推理的复杂事件识别方法 |
CN113487032A (zh) * | 2021-07-15 | 2021-10-08 | 上海海洋大学 | 一种水产品haccp知识推理系统及方法 |
WO2022269630A1 (en) * | 2021-06-21 | 2022-12-29 | Indian Institute Of Technology - Madras (Iit Madras) | A system and method for bug identification and fault localization through domain-ontology |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10050842B2 (en) * | 2014-07-23 | 2018-08-14 | Cisco Technology, Inc. | Network control and management using semantic reasoners in a network environment |
US20220121816A1 (en) * | 2020-10-16 | 2022-04-21 | Bioinventors & Entrepreneurs Network, Llc | Semantic data acquisition, storage and presentation system |
-
2023
- 2023-11-07 CN CN202311465582.6A patent/CN117196043B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649266A (zh) * | 2016-11-29 | 2017-05-10 | 北京科技大学 | 一种本体知识的逻辑推理方法 |
CN110197281A (zh) * | 2019-05-17 | 2019-09-03 | 华南理工大学 | 一种基于本体模型和概率推理的复杂事件识别方法 |
WO2022269630A1 (en) * | 2021-06-21 | 2022-12-29 | Indian Institute Of Technology - Madras (Iit Madras) | A system and method for bug identification and fault localization through domain-ontology |
CN113487032A (zh) * | 2021-07-15 | 2021-10-08 | 上海海洋大学 | 一种水产品haccp知识推理系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于语义Web的受控自然语言系统推理模型;王缓缓;李虎;石永;;计算机科学(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117196043A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442702B2 (en) | Code completion | |
Noy et al. | Tracking changes during ontology evolution | |
Göde et al. | Studying clone evolution using incremental clone detection | |
US20160275180A1 (en) | System and method for storing and searching data extracted from text documents | |
CN110515973B (zh) | 一种数据查询的优化方法、装置、设备及存储介质 | |
Sacramento et al. | Web application model generation through reverse engineering and UI pattern inferring | |
Higo et al. | Generating simpler ast edit scripts by considering copy-and-paste | |
EP3846089A1 (en) | Generating a knowledge graph of multiple application programming interfaces | |
CN113238937B (zh) | 一种基于代码精简与误报过滤的编译器模糊测试方法 | |
Demey et al. | A Conceptual Markup Language that supports interoperability between Business Rule modeling systems | |
Saini et al. | Domobot: An ai-empowered bot for automated and interactive domain modelling | |
CN117196043B (zh) | 基于本体的知识推理方法、系统及电子设备 | |
Liu et al. | An XML-enabled data extraction toolkit for web sources | |
CN116776981A (zh) | 基于大型预训练语言模型的api关系推理方法及系统 | |
CN111563094A (zh) | 一种数据查询方法及装置、电子设备、计算机可读存储介质 | |
CN115794869A (zh) | 语义查询可视化构建与生成的实现方法及装置 | |
CN112114812B (zh) | 一种应用于工业机器人编程语言的语法检查方法 | |
CN114579203A (zh) | 脚本文件检查方法、装置、电子设备及存储介质 | |
Chen et al. | Research on industrial software testing knowledge database based on ontology | |
CN113434658A (zh) | 火电机组运行问答生成方法、系统、设备及可读存储介质 | |
Tao et al. | Assessing similarity-based grammar-guided genetic programming approaches for program synthesis | |
Thamviset et al. | Structured web information extraction using repetitive subject pattern | |
Fraternali et al. | Almost rerere: An approach for automating conflict resolution from similar resolved conflicts | |
Ovchinnikova et al. | Automatic ontology extension: Resolving inconsistencies | |
Paligiannis | Handling of schema evolution in machine learning pipelines |
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 |