首页 / 专利库 / 人工智能 / 知识表示与推理 / 一种利用基于特征的知识表示进行推理的方法

一种利用基于特征的知识表示进行推理的方法

阅读:598发布:2020-05-15

专利汇可以提供一种利用基于特征的知识表示进行推理的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种利用基于特征的知识表示进行推理的方法,首先定义对象的类别,然后定义特征,形成该类别上定义的所有特征的集合,在定义特征时对特征进行命名和标识,建立标识与特征的关联关系,便于集中统一管理和维护。本发明能清晰地表达有关领域的各种知识;能及时发现重复和冲突的知识;有效地解决了结构性知识的表示问题;实现了对事实知识的穷举;便于知识的共享和获取。将特征作为推理的条件并建立关于特征标识的推理规则,解决了因 知识库 规则数量太多而导致的一致性问题。将特征集标识作为推演格结构中的推理 节点 ,大大提升了其推理和检索效率,同时也解决了关于重复和冲突的规则问题,具备很强的问题求解能 力 。,下面是一种利用基于特征的知识表示进行推理的方法专利的具体信息内容。

1.一种利用基于特征的知识表示进行推理的方法,其特征在于,包括以下步骤:
步骤1:定义对象的类别;
步骤1.1:定义对象的类别;所述对象分为可枚举和不可枚举对象,或分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
所述简单对象类别由字段的组合定义;
所述复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的join运算组成;
步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习机器学习相关的分类算法保存在Algorithm Base中;
步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
步骤2:在对象类别基础上定义该类别的所有特征;
步骤2的具体实现包括以下子步骤:
步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F是由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
在类别A上定义一系列特征F1、F2、…、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
当 时,称F1,F2,…,Fn是一个完全分类,否则是不完全分类;
对任意i=1、…、n,j=1、…、n,且i≠j时, 时,称F1、F2、…、Fn是互斥特征,否则是相容性特征;
对于类别A而言,特征集是A上定义的所有特征F1、F2、…、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;
步骤2.2:对于相容性特征,指定其匹配方式,匹配方式有优先匹配和全匹配:
所述优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
所述全匹配是指返回所有匹配成功的特征集;
步骤3:在对象类别和特征的基础上定义推理规则;
将推理规则的前提条件定义为由特征组成,则推理规则表示为:
F1(x1)∧F2(x2)∧…∧Fn(xn)→h;
式中,F1(x1)、F2(x2)、…、Fn(xn)是特征,特征具有真假值,当特征为真时则说明特征满足;h是结论,当特征F1(x1)、F2(x2)、…、Fn(xn)都为真时,便得出相应结论h;
设置规则库Rule Base,用于存放构建好的推理规则;
设置结论库Conclusion Base将规则中的结论或操作结果作为后项进行保存;
步骤4:基于推理规则进行推理,得到推理结论。
2.根据权利要求1所述的利用基于特征的知识表示进行推理的方法,其特征在于:步骤
2中,在定义特征时对特征进行命名和标识 利用所述标识对特征
进行统一管理和维护,方便搜索匹配以及后续推理规则的构建。
3.根据权利要求2所述的利用基于特征的知识表示进行推理的方法,其特征在于:步骤
3中,在构建推理规则的过程中,使用特征的标识ID进行搜索匹配与推理,将作为推理规则的前项存放于Rule Base中保存,将结论或操作结果
作为后项放在Conclusion Base中进行保存,增加推理规则构建以及检索的效率,便于统一管理,减少知识库的维护工作。
4.根据权利要求2所述的利用基于特征的知识表示进行推理的方法,其特征在于:步骤
3中,推理规则中任意特征Fn(xn)是简单特征或复合特征。
5.根据权利要求2所述的利用基于特征的知识表示进行推理的方法,其特征在于:步骤
3中,当Rule Base中的两条规则,它们的前项 与后项h都一样时,说
明这两条规则彼此重复,当它们的前项一致但后项不同时,说明这两条规则彼此冲突。
6.一种利用基于特征的知识表示进行推理的方法,其特征在于,包括以下步骤:
步骤1:定义对象的类别;
步骤1.1:所述对象可以分为可枚举和不可枚举对象,也可分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
所述简单对象类别由字段的组合定义;
所述复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的join运算组成;
步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习、机器学习相关的分类算法保存在Algorithm Base中;
步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
步骤2:在对象类别基础上定义该类别的所有特征;
步骤2的具体实现包括以下子步骤:
步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F是由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
在类别A上定义一系列特征F1、F2、…、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
当 时,称F1,F2,…,Fn是一个完全分类,否则是不完全分类;
对任意i=1、…、n,j=1、…、n,且i≠j时, 时,称F1、F2、…、Fn是互斥特征,否则是相容性特征;
对于类别A而言,特征集是A上定义的所有特征F1、F2、…、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;
步骤2.2:对于相容性特征指定其匹配方式,匹配方式有优先匹配和全匹配:
所述优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
所述全匹配是指返回所有匹配成功的特征集;
步骤3:将特征集作为推演格结构中的节点进行推理;
步骤3.1:根据对象类别Type匹配特征Feature,根据特征Feature的特性不同,包括互斥性特征或相容性特征,以及相容性特征匹配方式的不同,匹配到结果包括三种:1)单一特征;2)多特征,记为特征集;3)空特征;对于单一特征,建立推演格或在推演格中进行匹配直到得出结论;对于特征集的情况,说明可能同时匹配多个规则,这时需构建多个推演格,根据结论的重要性可优先选择匹配重要结论的推演格进行推理,然后渐次选择次要结论的推演格进行推理,以达到同时匹配多种结论的效果;对于空特征,则选择当前节点右边的路径进行匹配,直到穷尽其节点下的所有子节点,这时即表示无可匹配的规则;
所述推演格,首先定义:
(1)格:考虑任意一个偏序集合(L,≤),如果对集合L中的任意元素a、b,使得a、b在L中存在一个最大下界和最小上界,则(L,≤)是一个格;
(2)规则:C1∧C2∧...∧Cn→h;
其中,C1、C2、…、Cn是条件,条件具有真假值,当条件为真时则说条件满足;h是结论,当条件C1、C2、…、Cn都为真时,便得出相应结论h;
若存在规则C1∧C2∧(Ci∨…∨Ci+n)→h,则需将该规则拆分成多个规则,分别为:C1∧C2∧Ci→h,…,C1∧C2∧Ci+n→h;
若存在规则C1∧C2∧C3→h1和h1∧C4∧C5→h,则需将这两个规则进行合并,合并后为C1∧C2∧C3∧C4∧C5→h;
若存在根据条件采取相应动作时,使用规则先得出结论,再根据结论进行相应动作;
然后设定推演格结构:
推演格是由n个有限元素组成一个具有层次关系的格,格中的元素称为节点,其中,n>
1;节点包括根节点、中间节点和叶子节点;没有前驱的节点称为根节点,根节点唯一;没有后继的节点被称为叶子节点;其余节点称为中间节点,中间节点分为两种类型:一种节点其后继还是中间节点,称为纯中间节点,另一种中间节点其后继是叶子节点,称为叶子前驱节点,根节点和中间节点对应的是规则的条件,叶子节点对应的是规则的结论,从根节点到叶子节点对应规则库中的一条规则;
推演格的构造算法是指将知识库中的知识通过一定的顺序获取,并形成推演格的过程。推演格的构造由以下六个步骤展开:
(1)初始化推演格根节点;
用户初始化代表某一现象的对象,根据其类型搜索在该类型上定义的特征集,在该特征集上找到其匹配的特征,假定该特征为C,其标识为IDC,构建Node,其Id为IDC,Node作为推演格的根节点,并作为当前根节点CurrentNode,CurrentNode的子节点为空;
(2)形成全体规则集;
通过初始化过程中初始选择的节点IDC,查找规则库中所有包含IDC的规则,假设共查到n条规则,组成规则集记作BaseRuleSet;设规则集中每条规则Rule分别有mi个特征,设每条规则对应的结论记作hi,查找到的规则如下所示:
Rule1:{IDc,IDc11,…,IDc1m1}→h1
Rule2:{IDc,IDc21,…,IDc2m2}→h2
……
Rule n:{IDc,IDcn1,…,IDcnmn}→hn
(3)计算从CurrentID到IDC的反向特征集;
设置ReverseIdSet为空,沿CurrentID反方向到根节点,每一个节点上的标识加入到ReverseIdSet中;
(4)计算规则中剩余标识分组情况;
对BaseRuleSet中每个不属于ReverseIdSet的特征进行分组计数Counts,每个Counts元素由:
[1].特征ID;
[2].计算每个特征出现在BaseRuleSet中的个数count;
[3].分别出现在哪些规则RuleSet中;
组成;
假设不重复的特征个数为n;并对Counts按count的大小排序;
(5)规则集的分割;
i=0…n,j=i+1…n; 并且x∈Counts[j].RuleSet时,则将
Counts[j].count-1,并将x从Counts[j].RuleSet中去掉;
计算i=0…n中Counts[i].count不为0的个数为k,对这k个不为0的重新按照从大到小排序;
(6)构建子节点;
如果k≠0则将构建子节点集Nodes[0],…,Nodes[k-1],其Id分别为Counts[i].Id,其子节点为空,i=0…k-1;
设置CurrentNode的子节点,分别为Nodes[0],…,Nodes[k-1],并且分别将Nodes[1],…,Nodes[k-1]和Counts[1],…,Counts[k-1]入栈,调整CurrentNode为Nodes[0],调整BaseRuleSet为Counts[0].RuleSet,转(3);
如果k=0,则构建子节点Node,其id为对应规则的结论,子节点为空,CurrentNode的子节点指向Node,如果栈为空则推演格构建完毕,否则从栈上分别弹出Count和Node,将CurrentNode调整为Node,将BaseRuleSet调整为Count.RuleSet,转(3);
这样推演格就构建完成。

说明书全文

一种利用基于特征的知识表示进行推理的方法

技术领域

[0001] 本发明属于计算机技术领域,涉及一种计算机系统求解复杂问题的方法,具体涉及一种基于特征的知识表示方法及利用其进行推理的方法。

背景技术

[0002] 现有推理决策方法包括正向推理和反向推理。
[0003] 正向推理也称正向链推理,是一种由条件推出结论的推理方式。它从一组事实出发,使用一定的推理规则,来证明目标事实或命题的成立。一般的推理过程是先向综合数据库提供一些初始已知事实,控制系统利用这些数据与知识库中的知识进行匹配,被触发的知识,将其结论作为新的事实添加到综合数据库中。重复上述过程,用更新过的综合数据库中的事实再与知识库中另一条知识匹配,将其结论更新至综合数据库中,直到没有可匹配的新知识和不再有新的事实加入到综合数据库中为止。然后测试是否得到解,有解则返回解,无解则提示运行失败。
[0004] 反向推理也称为反向链推理,又称逆向推理、目标推理。是一种由结论出发,为验证该结论的正确性去知识库中找证据的推理方式,一旦在知识库中找到证据,则表明该结论成立。其基本推理过程是提出一批假设(目标),使用一组知识逐一验证这些假设的正确性。
[0005] 在使用正向推理和反向推理之前,首先需要组织获取知识,即从数据中获得的知识必须以一定的形式表示出来,既能使人理解,又能使计算机执行均需要对知识进行表达,这一过程称为知识的表示。
[0006] 知识,就其最重要的特征而言,就是人们通过长期观察,所发现的当一些实际现象出现以后同时或者紧接着会出现另一些实际现象的反复性或规律性。是有关信息关联在一起所形成的信息结构,反映客观世界中事物之间的联系。
[0007] 知识表示:是为描述世界所做的一组约定,是知识的符号化、形式化或模型化。从计算机科学的度来看,知识表示是研究计算机表示知识的可行性、有效性的一般方法,是把人类知识表示成机器能处理的数据结构和系统控制结构的策略。简单而言,知识表示就是用易于计算机处理的方式来描述人脑的知识,将已获得的有关知识以计算机内部代码形式加以合理地描述、存储以及有效地利用,是知识获取与应用的基础,同时也是贯穿知识库的构建与应用全过程的关键问题。因此在专家系统中知识表示是专家系统中能够完成对专家的知识进行计算机处理的一系列技术手段。
[0008] 目前常见的一种知识表示的方式——基于规则的知识表示方法,也叫做产生式规则表示法,由于该方法与人类专家表示知识的方法十分相似,所以被广泛应用在各个领域中。
[0009] 产生式规则表示法,也称作基于规则的知识表示,1943年由逻辑学家E.Post提出,而后Newell和Simon在研究人类认知模型中开发了基于规则的产生式系统。在产生式系统中,知识被分为两部分:静态的知识(如事物、事件以及它们之间的关系)以事实来表示,推理和行为的过程以产生式规则来表示。一般情况下,一个产生式系统包括综合数据库(事实库)、知识库(规则库)和控制系统(推理机)三部分。综合数据库用来存放与求解问题有关的数据——事实知识以及推理的中间结果;知识库存放与求解问题相关的知识——产生式以及与规则相关的操作;控制系统是匹配事实与知识的前提,确定可选用的知识,运用知识或操作对综合数据库进行增、删、改、等动作,判定数据库的状态并适时终止系统的运行。
[0010] 产生式规则表示法包含两个部分:IF部分为前项,是前提条件;THEN部分为后项,为操作结果或者结论。它的基本语法是:
[0011] IF<前项> THEN<后项>
[0012] 对于一个规则,前项可以有多个,这些前项可以通过AND、OR关系组合。规则的后项也可以包含多个语句。如:<后项1><后项2>......<后项n>。
[0013] 请见图1,特征提取和分类是构建事实库的两个重要步骤。特征提取主要是从原始特征空间中选择出一组对分类最有效的特征,从而能有效地缩减特征向量空间维数,删除冗余特征,减少无关信息对处理过程的干扰,提高分类的准确性。特征提取后的特征空间用于分类,分类即是将未知类别属性的样本判定归属于为某一类型。分类问题在人工智能机器学习以及模式识别等领域已经获得了更广泛深入的研究。对于分类问题可以具体描述为:从一个现有的带有类别标签的数据集中寻找相同类别数据的共同特征,并以此将它们进行区分的过程。
[0014] 为了使分类器有效地进行分类判决,首先应对分类器进行训练,也就是分类器的学习过程。分类器的学习过程需经过多次重复,不断纠正错误,才能取得满足要求的类别识别率。经过学习过程的分类器,对待识别特征样本进行判别,确定其类别归属,这一过程称为判别过程或者测试过程。如果训练样本的所属类别是已知的,可在机器学习中起到监督引导的作用,称为有监督的模式分类;如果训练样本的所属类别未知,称为无监督的模式分类;如果已知部分样本的类别属性,称为半监督的模式分类。
[0015] 早期的分类问题主要采用基于规则匹配的方法,需要人工制定大量规则,建立规则库,效率较低。近年来,分类方法主要是先制定特征提取策略,再借助机器学习方法进行分类,目前主要的分类方法主要有K近邻分类法、支持向量机(SVM)、一维回归方法、基于子空间分析的方法(PCA、PLSA等)、基于神经网络的方法(ANN)、决策树、Bayes、基于张量数据的算法等等。
[0016] 综上所述,产生式规则表示法具有以下优点和局限:
[0017] 产生式规则表示法的优点:
[0018] (1)善于表达领域知识;
[0019] (2)控制和知识相分离;
[0020] (3)知识的模性强;
[0021] (4)便于实现解释推理;
[0022] (5)便于描述建议、指示及启发性知识;
[0023] (6)不受数据类型的限制,可以很好地处理数字和分类数据。
[0024] 同时产生式规则表示法也具有一些缺陷
[0025] 一、事实知识的局限:
[0026] (1)随着事实知识的逐渐增加,维护难度也逐渐增加;
[0027] (2)无法对事实知识进行穷举;
[0028] (3)难以表示结构性的知识;
[0029] (4)无法对老化、失实的知识进行更新淘汰。
[0030] 二、推理规则的局限:
[0031] (1)规则之间的逻辑关系难以确定;
[0032] (2)规则数量太大时,知识库的一致性难以维护;
[0033] (3)无法解决冲突、重复的规则的问题。

发明内容

[0034] 为了解决上述技术问题,本发明提供了一种基于特征的知识表示方法及利用其进行推理的方法,能通过智能化、可视化、数字化、交互式设备构建负责复杂问题的分析和诊断体系。
[0035] 本发明所采用的技术方案是:
[0036] 1.一种利用基于特征的知识表示进行推理的方法,其特征在于,包括以下步骤:
[0037] 步骤1:定义对象的类别;
[0038] 步骤1.1:定义对象的类别;所述对象分为可枚举和不可枚举对象,或分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
[0039] 所述简单对象类别由字段的组合定义;
[0040] 所述复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的ioin运算组成;
[0041] 步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习、机器学习相关的分类算法保存在Algorithm Base中;
[0042] 步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
[0043] 步骤2:在对象类别基础上定义该类别的所有特征;
[0044] 步骤2的具体实现包括以下子步骤:
[0045] 步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F是由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
[0046] 在类别A上定义一系列特征F1、F2、...、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
[0047]
[0048] 当 时,称F1,F2,...,Fn是一个完全分类,否则是不完全分类;
[0049] 对任意i=1、...、n,j=1、...、n,且i≠j时, 时,称F1、F2、...、Fn是互斥特征,否则是相容性特征;
[0050] 对于类别A而言,特征集是A上定义的所有特征F1、F2、...、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
[0051] 设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;
[0052] 步骤2.2:对于相容性特征,指定其匹配方式,匹配方式有优先匹配和全匹配:
[0053] 所述优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
[0054] 所述全匹配是指返回所有匹配成功的特征集;
[0055] 步骤3:在对象类别和特征的基础上定义推理规则;
[0056] 将推理规则的前提条件定义为由特征组成,则推理规则表示为:
[0057] F1(x1)∧F2(x2)∧…∧Fn(xn)→h;
[0058] 式中,F1(x1)、F2(x2)、…、Fn(xn)是特征,特征具有真假值,当特征为真时则说明特征满足;h是结论,当特征F1(x1)、F2(x2)、…、Fn(xn)都为真时,便得出相应结论h;
[0059] 设置规则库Rule Base,用于存放构建好的推理规则;
[0060] 设置结论库Conclusion Base将规则中的结论或操作结果作为后项进行保存;
[0061] 步骤4:基于推理规则进行推理,得到推理结论。
[0062] 本发明还提供了一种利用基于特征的知识表示进行推理的方法,其特征在于,包括以下步骤:
[0063] 步骤1:定义对象的类别;
[0064] 步骤1.1:所述对象可以分为可枚举和不可枚举对象,也可分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
[0065] 所述简单对象类别由字段的组合定义;
[0066] 所述复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的join运算组成;
[0067] 步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习、机器学习相关的分类算法保存在Algorithm Base中;
[0068] 步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
[0069] 步骤2:在对象类别基础上定义该类别的所有特征;
[0070] 步骤2的具体实现包括以下子步骤:
[0071] 步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F是由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
[0072] 在类别A上定义一系列特征F1、F2、...、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
[0073]
[0074] 当 时,称F1,F2,...,Fn是一个完全分类,否则是不完全分类;
[0075] 对任意i=1、...、n,j=1、...、n,且i≠j时, 时,称F1、F2、...、Fn是互斥特征,否则是相容性特征;
[0076] 对于类别A而言,特征集是A上定义的所有特征F1、F2、...、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
[0077] 设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;
[0078] 步骤2.2:对于相容性特征指定其匹配方式,匹配方式有优先匹配和全匹配:
[0079] 所述优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
[0080] 所述全匹配是指返回所有匹配成功的特征集;
[0081] 步骤3:将特征集作为推演格结构中的节点进行推理;
[0082] 步骤3.1:根据对象类别Type匹配特征Feature,根据特征Feature的特性不同,包括互斥性特征或相容性特征,以及相容性特征匹配方式的不同,匹配到结果包括三种:1)单一特征;2)多特征,记为特征集;3)空特征;对于单一特征,建立推演格或在推演格中进行匹配直到得出结论;对于特征集的情况,说明可能同时匹配多个规则,这时需构建多个推演格,根据结论的重要性可优先选择匹配重要结论的推演格进行推理,然后渐次选择次要结论的推演格进行推理,以达到同时匹配多种结论的效果;对于空特征,则选择当前节点右边的路径进行匹配,直到穷尽其节点下的所有子节点,这时即表示无可匹配的规则;
[0083] 所述推演格,首先定义:
[0084] (1)格:考虑任意一个偏序集合(L,≤),如果对集合L中的任意元素a、b,使得a、b在L中存在一个最大下界和最小上界,则(L,≤)是一个格;
[0085] (2)规则:C1∧C2∧...∧Cn→h;
[0086] 其中,C1、C2、...、Cn是条件,条件具有真假值,当条件为真时则说条件满足;h是结论,当条件C1、C2、...、Cn都为真时,便得出相应结论h;
[0087] 若存在规则C1∧C2∧(Ci∨...∨Ci+n)→h,则需将该规则拆分成多个规则,分别为:C1∧C2∧Ci→h,...,C1∧C2∧Ci+n→h;
[0088] 若存在规则C1∧C2∧C3→h1和h1∧C4∧C5→h,则需将这两个规则进行合并,合并后为C1∧C2∧C3∧C4∧C5→h;
[0089] 若存在根据条件采取相应动作时,使用规则先得出结论,再根据结论进行相应动作;
[0090] 然后设定推演格结构:
[0091] 推演格是由n个有限元素组成一个具有层次关系的格,格中的元素称为节点,其中,n>1;节点包括根节点、中间节点和叶子节点;没有前驱的节点称为根节点,根节点唯一;没有后继的节点被称为叶子节点;其余节点称为中间节点,中间节点分为两种类型:一种节点其后继还是中间节点,称为纯中间节点,另一种中间节点其后继是叶子节点,称为叶子前驱节点,根节点和中间节点对应的是规则的条件,叶子节点对应的是规则的结论,从根节点到叶子节点对应规则库中的一条规则;
[0092] 推演格的构造算法是指将知识库中的知识通过一定的顺序获取,并形成推演格的过程。推演格的构造由以下六个步骤展开:
[0093] (1)初始化推演格根节点
[0094] 用户初始化代表某一现象的对象,根据其类型搜索在该类型上定义的特征集,在该特征集上找到其匹配的特征,假定该特征为C,其标识为IDC,构建Node,其Id为IDC,Node作为推演格的根节点,并作为当前根节点CurrentNode,CurrentNode的子节点为空;
[0095] (2)形成全体规则集
[0096] 通过初始化过程中初始选择的节点IDC,查找规则库中所有包含IDC的规则,假设共查到n条规则,组成规则集记作BaseRuleSet。设规则集中每条规则Rule分别有mi个特征,设每条规则对应的结论记作hi,查找到的规则如下所示:
[0097] Rule 1:{IDc,IDc11,…,IDc1m1}→h1
[0098] Rule 2:{IDc,IDc21,…,IDc2m2}→h2
[0099] ……
[0100] Rule n:{IDc,IDcn1,…,IDcnmn}→hn
[0101] (3)计算从CurrentID到IDC的反向特征集
[0102] 设置ReverseIdSet为空,沿CurrentID反方向到根节点,每一个节点上的标识加入到ReverseIdSet中;
[0103] (4)计算规则中剩余标识分组情况
[0104] 对BaseRuleSet中每个不属于ReverseIdSet的特征进行分组计数Counts,每个Counts元素由:
[0105] [1].特征ID;
[0106] [2].计算每个特征出现在BaseRuleSet中的个数count;
[0107] [3].分别出现在哪些规则RuleSet中;
[0108] 组成;
[0109] 假设不重复的特征个数为n。并对Counts按count的大小排序;
[0110] (5)规则集的分割
[0111] i=0...n,j=i+1...n; 并且x∈Counts[j].RuleSet时,则将Counts[j].count-1,并将x从Counts[j].RuleSet中去掉;
[0112] 计算i=0...n中Counts[i].count不为0的个数为k,对这k个不为0的重新按照从大到小排序;
[0113] (6)构建子节点
[0114] 如果k≠0则将构建子节点集Nodes[0],...,Nodes[k-1],其Id分别为Counts[i].Id,其子节点为空,i=0...k-1;
[0115] 设置CurrentNode的子节点,分别为Nodes[0],...,Nodes[k-1],并且分别将Nodes[1],...,Nodes[k-1]和Counts[1],...,Counts[k-1]入栈,调整CurrentNode为Nodes[0],调整BaseRuleSet为Counts[0].RuleSet,转(3);
[0116] 如果k=0,则构建子节点Node,其id为对应规则的结论,子节点为空,CurrentNode的子节点指向Node,如果栈为空则推演格构建完毕,否则从栈上分别弹出Count和Node,将CurrentNode调整为Node,将BaseRuleSet调整为Count.RuleSet,转(3)。
[0117] 这样推演格就构建完成。
[0118] 原有的产生式规则表示方法,伴随着系统内知识和规则数量的不断增加,致使其推理效率低、知识库的维护和管理难度也直线上升。面对现如今海量的数据信息,产生式规则表示方法已无法做到及时的维护更新以及保证高效率的推理工作。
[0119] 本发明针对上述关于产生式规则表示方法的局限性,构建了“特征”与“特征集”的概念。首先定义对象的类别,然后在定义类别的基础上定义特征,形成该类别上定义的所有特征的集合(简称特征集),在定义特征时对特征进行命名和标识(ID),建立标识与特征的关联关系,便于集中统一管理和维护。上述方法能清晰地表达有关领域的各种知识;可以及时发现重复和冲突的知识;有效地解决了结构性知识的表示问题;实现了对事实知识的穷举;便于知识的共享和获取。
[0120] 将特征作为推理的条件并建立关于特征标识(ID)的推理规则,解决了因知识库规则数量太多而导致的一致性问题。同时,本发明很好地与《一种推演格及基于推演格的推理方法》发明专利CN201610985211.4进行了结合,将特征集标识作为推演格结构中的推理节点,大大提升了其推理和检索效率,同时也解决了关于重复、冲突的规则问题,具备很强的问题求解能附图说明
[0121] 图1为本发明背景技术中特征提取和分类流程;
[0122] 图2为本发明实施例流程图
[0123] 图3为本发明实施例设置的算法库、类型库、特征库、规则库以及结论库。

具体实施方式

[0124] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0125] 针对产生式规则表示法所暴露出来的缺陷,本发明认为一个好的知识表示方法应满足以下几点要求:
[0126] (1)具有良好的语法和定义;
[0127] (2)有充分的表达能力,能清晰的表达有关领域的各种知识;
[0128] (3)便于有效的推理和检索,具有较强的问题求解能力,适合于应用问题的要求,提高推理和检索的效率;
[0129] (4)便于知识共享和知识获取;
[0130] (5)对事实知识实现集中管理和维护,易于维护事实库的完整性和一致性;
[0131] (6)便于重复、冲突、错误、老化、失实等规则的检测;
[0132] (7)能融合前沿的机器学习与深度学习技术。
[0133] 本发明所要陈述的知识表达方法,则是在产生式规则表示方法基础上,对其缺陷进行改进,形成的一种全新的知识表达方法。
[0134] 请见图2,本发明提供的一种利用基于特征的知识表示进行推理的方法,包括以下步骤:
[0135] 步骤1:定义对象的类别;
[0136] 步骤1.1:定义对象的类别;
[0137] 本实施例中,对象分为可枚举和不可枚举对象,或分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
[0138] 简单对象类别由字段的组合定义;
[0139] 复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的join运算组成;
[0140] 步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习、机器学习相关的分类算法保存在Algorithm Base中;
[0141] 步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
[0142] 步骤2:在对象类别基础上定义该类别的所有特征;
[0143] 步骤2的具体实现包括以下子步骤:
[0144] 步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F是由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
[0145] 例如“人”这个对象:
[0146] i.根据性别分类可以分为男和女,其分类特征就是由类别字段(性别)和比较运算符构成——性别=男或者性别=女;
[0147] ii.根据年龄分类可以分为:婴儿、幼儿…等,其分类特征由类别字段(年龄)和比较运算符构成——婴儿=年龄≤1、幼儿=1≤年龄≤5…等;
[0148] iii.可以由多个类别字段(currentDate、birthDate)之间的运算和比较运算符构成——婴儿=currentDate-birthDate≤1、幼儿=1≤current-birthDate≤5…等;
[0149] iv.可以由多个类别字段(性别、年龄)的组合和比较运算符构成——男婴=性别=男and年龄≤1、女婴=性别=女and年龄≤1…等;
[0150] 在类别A上定义一系列特征F1、F2、...、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
[0151]
[0152] 当 时,称F1,F2,...,Fn是一个完全分类,否则是不完全分类;
[0153] 对任意i=1、...、n,j=1、...、n,且i≠j时, 时,称F1、F2、...、Fn是互斥特征,否则是相容性特征;
[0154] 对于类别A而言,特征集是A上定义的所有特征F1、F2、...、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
[0155] 设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;;
[0156] 在定义特征时对特征进行命名和标识 利用标识对特征进行统一管理和维护,方便搜索匹配以及后续推理规则的构建。
[0157] 步骤2.2:对于相容性特征指定其匹配方式,匹配方式有优先匹配和全匹配:
[0158] 优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
[0159] 全匹配是指返回所有匹配成功的特征集;
[0160] 本实施例在定义特征时对特征进行命名和标识(ID),这个标识反应类别和全局唯一。同时,利用该标识对特征进行统一管理和维护,方便搜索匹配以及后续推理规则的构建。
[0161] 本实施例中,可以对同属于同一类别的对象进行分类,而满足分类条件的就是特征。例如“人”这个对象:
[0162] i.根据性别分类可以分为男和女,其分类特征就是由类别字段(性别)和比较运算符构成——性别=男或者性别=女;
[0163] ii.根据年龄分类可以分为:婴儿、幼儿...等,其分类特征由类别字段(年龄)和比较运算符构成——婴儿=年龄≤1、幼儿=1≤年龄≤5...等;
[0164] iii.可以由多个类别字段(currentDate、birthDate)之间的运算和比较运算符构成——婴儿=currentDate-birthDate≤1、幼儿=1≤current-birthDate≤5...等;
[0165] iv.可以由多个类别字段(性别、年龄)的组合和比较运算符构成——男婴=性别=男and年龄≤1、女婴=性别=女and年龄≤1...等;
[0166] 步骤3:在对象类别和特征的基础上定义推理规则;
[0167] 通过前文对产生式规则表示法的描述可知,推理规则由前项(前提条件)和后项(操作结果或结论)组成,在这里可表达为:
[0168] C1∧C2∧…∧Cn→h
[0169] 其中,C1、C2、…、Cn是前提条件,条件具有真假值,当条件为真时则说条件满足;h是结论(或操作结果),当条件C1、C2、…、Cn都为真时,便得出相应结论h。
[0170] i.若存在规则C1∧C2∧(CiVCi+1…VCi+n)→h,则需将该规则拆分成多个规则,分别为:C1∧C2∧Ci→h,…,C1∧C2∧Ci+n→h;
[0171] ii.若存在规则C1∧C2∧C3→h1和h1∧C4∧C5→h,则需将这两个规则进行合并,合并后为C1∧C2∧C3∧C4∧C5→h;
[0172] iii.若存在根据条件采取相应动作时,使用规则先得出结论,再根据结论进行相应动作。
[0173] 本实施例中,将推理规则的前提条件定义为由特征组成,则推理规则表示为:
[0174] F1(x1)∧F2(x2)∧…∧Fn(xn)→h;
[0175] 式中,F1(x1)、F2(x2)、…、Fn(xn)是特征,特征具有真假值,当特征为真时则说明特征满足;h是结论,当特征F1(x1)、F2(x2)、…、Fn(xn)都为真时,便得出相应结论h;
[0176] 在构建推理规则的过程中,使用特征的标识(ID)进行搜索匹配与推理,将作为推理规则的前项存放于Rule Base中保存,将结论或操作结果作为后项放在Conclusion Base中进行保存,增加推理规则构建的效率,便于统一管理,减少知识库的维护工作;
[0177] 在定义特征F(x)时可知,F(x)既可以是简单特征也可以是由And和Or组合起来的复合特征。因此,推理规则中任意特征Fn(xn)也可以是复合特征;
[0178] 设置规则库Rule Base,用于存放构建好的推理规则;
[0179] 设置结论库Conclusion Base将规则中的结论或操作结果作为后项进行保存;
[0180] 当Rule Base中的两条规则,它们的前项 与后项h都一样时,说明这两条规则彼此重复,当它们的前项一致但后项不同时,说明这两条规则彼此冲突;
[0181] 步骤4:基于推理规则进行推理,得到推理结论。
[0182] 本发明还提供了一种利用基于特征的知识表示进行推理的方法,其特征在于,包括以下步骤:
[0183] 步骤1:定义对象的类别;
[0184] 步骤1.1:定义对象的类别;
[0185] 对象可以分为可枚举和不可枚举对象,也可分为简单对象和复合对象,复合对象由简单对象组合而成;对象从属于不同类别;
[0186] 简单对象类别由字段的组合定义;
[0187] 复合对象类别由简单对象类别组合而成,组合类别包括字段的组合定义,也包括多个类别对象集合的ioin运算组成;
[0188] 步骤1.2:设置算法库Algorithm Base,将系统使用到的与深度学习、机器学习相关的分类算法保存在Algorithm Base中;
[0189] 步骤1.3:设置类型库Type Base,将所有类别集中存放在Type Base中进行管理;
[0190] 步骤2:在对象类别基础上定义该类别的所有特征;
[0191] 步骤2的具体实现包括以下子步骤:
[0192] 步骤2.1:定义特征为F(x),其中x为对象,F表示x满足F所指定的分类条件,F由类别字段和比较运算符构成的简单条件或是由And和Or组合起来的复合条件;
[0193] 例如“人”这个对象:
[0194] i.根据性别分类可以分为男和女,其分类特征就是由类别字段(性别)和比较运算符构成——性别=男或者性别=女;
[0195] ii.根据年龄分类可以分为:婴儿、幼儿…等,其分类特征由类别字段(年龄)和比较运算符构成——婴儿=年龄≤1、幼儿=1≤年龄≤5…等;
[0196] iii.可以由多个类别字段(currentDate、birthDate)之间的运算和比较运算符构成——婴儿=currentDate-birthDate≤1、幼儿=1≤current-birthDate≤5…等;
[0197] iv.可以由多个类别字段(性别、年龄)的组合和比较运算符构成——男婴=性别=男and年龄≤1、女婴=性别=女and年龄≤1…等;
[0198] 在类别A上定义一系列特征F1、F2、...、Fn,A上所有对象组成的集合记为O,定义满足特征f的对象集为Of:
[0199]
[0200] 当 时,称F1,F2,...,Fn是一个完全分类,否则是不完全分类;
[0201] 对任意i=1、...、n,j=1、...、n,且i≠j时, 时,称F1、F2、...、Fn是互斥特征,否则是相容性特征;
[0202] 对于类别A而言,特征集是A上定义的所有特征F1、F2、...、Fn的集合;定义特征集为FeatureSet(A),其中A为类别,FeatureSet表示在类别A上所定义的所有特征的集合;
[0203] 设置特征库Feature Base,将所有类别上的特征集集中存放于Feature Base;
[0204] 步骤2.2:对于相容性特征指定其匹配方式,匹配方式有优先匹配和全匹配:
[0205] 优先匹配是指按照先后顺序进行匹配,返回唯一成功匹配的特征;
[0206] 全匹配是指返回所有匹配成功的特征集;
[0207] 步骤3:将特征集作为推演格结构中的节点进行推理;
[0208] 根据对象类别Type匹配特征Feature,根据特征Feature的特性不同,包括互斥性特征或相容性特征,以及相容性特征匹配方式的不同,匹配到结果包括三种:1)单一特征;2)多特征,记为特征集;3)空特征;对于单一特征,建立推演格或在推演格中进行匹配直到得出结论;对于特征集的情况,说明可能同时匹配多个规则,这时需构建多个推演格,根据结论的重要性可优先选择匹配重要结论的推演格进行推理,然后渐次选择次要结论的推演格进行推理,以达到同时匹配多种结论的效果;对于空特征,则选择当前节点右边的路径进行匹配,直到穷尽其节点下的所有子节点,这时即表示无可匹配的规则;
[0209] 所述推演格,首先定义:
[0210] (1)格:考虑任意一个偏序集合(L,≤),如果对集合L中的任意元素a、b,使得a、b在L中存在一个最大下界和最小上界,则(L,≤)是一个格;
[0211] (2)规则:C1∧C2∧...∧Cn→h;
[0212] 其中,C1、C2、...、Cn是条件,条件具有真假值,当条件为真时则说条件满足;h是结论,当条件C1、C2、...、Cn都为真时,便得出相应结论h;
[0213] 若存在规则C1∧C2∧(Ci∨...∨Ci+n)→h,则需将该规则拆分成多个规则,分别为:C1∧C2∧Ci→h,...,C1∧C2∧Ci+n→h;
[0214] 若存在规则C1∧C2∧C3→h1和h1∧C4∧C5→h,则需将这两个规则进行合并,合并后为C1∧C2∧C3∧C4∧C5→h;
[0215] 若存在根据条件采取相应动作时,使用规则先得出结论,再根据结论进行相应动作;
[0216] 然后设定推演格结构:
[0217] 推演格是由n个有限元素组成一个具有层次关系的格,格中的元素称为节点,其中,n>1;节点包括根节点、中间节点和叶子节点;没有前驱的节点称为根节点,根节点唯一;没有后继的节点被称为叶子节点;其余节点称为中间节点,中间节点分为两种类型:一种节点其后继还是中间节点,称为纯中间节点,另一种中间节点其后继是叶子节点,称为叶子前驱节点,根节点和中间节点对应的是规则的条件,叶子节点对应的是规则的结论,从根节点到叶子节点对应规则库中的一条规则;
[0218] 推演格的构造算法是指将知识库中的知识通过一定的顺序获取,并形成推演格的过程。推演格的构造由以下六个步骤展开:
[0219] (1)初始化推演格根节点
[0220] 用户初始化代表某一现象的对象,根据其类型搜索在该类型上定义的特征集,在该特征集上找到其匹配的特征,假定该特征为C,其标识为IDC,构建Node,其Id为IDC,Node作为推演格的根节点,并作为当前根节点CurrentNode,CurrentNode的子节点为空;
[0221] (2)形成全体规则集
[0222] 通过初始化过程中初始选择的节点IDC,查找规则库中所有包含IDC的规则,假设共查到n条规则,组成规则集记作BaseRuleSet。设规则集中每条规则Rule分别有mi个特征,设每条规则对应的结论记作hi,查找到的规则如下所示:
[0223] Rule 1:{IDc,IDc11,…,IDc1m1}→h1
[0224] Rule 2:{IDc,IDc21,…,IDc2m2}→h2
[0225] ……
[0226] Rule n:{IDc,IDcn1,…,IDcnmn}→hn
[0227] (3)计算从CurrentID到IDC的反向特征集
[0228] 设置ReverseIdSet为空,沿CurrentID反方向到根节点,每一个节点上的标识加入到ReverseldSet中;
[0229] (4)计算规则中剩余标识分组情况
[0230] 对BaseRuleSet中每个不属于ReverseIdSet的特征进行分组计数Counts,每个Counts元素由:
[0231] [4].特征ID;
[0232] [5].计算每个特征出现在BaseRuleSet中的个数count;
[0233] [6].分别出现在哪些规则RuleSet中;
[0234] 组成;
[0235] 假设不重复的特征个数为n。并对Counts按count的大小排序;
[0236] (5)规则集的分割
[0237] i=0...n,j=i+1...n; 并且x∈Counts[j].RuleSet时,则将Counts[j].count-1,并将x从Counts[j].RuleSet中去掉;
[0238] 计算i=0...n中Counts[i].count不为0的个数为k,对这k个不为0的重新按照从大到小排序;
[0239] (6)构建子节点
[0240] 如果k≠0则将构建子节点集Nodes[0],...,Nodes[k-1],其Id分别为Counts[i].Id,其子节点为空,i=0...k-1;
[0241] 设置CurrentNode的子节点,分别为Nodes[0],...,Nodes[k-1],并且分别将Nodes[1],...,Nodes[k-1]和Counts[1],...,Counts[k-1]入栈,调整CurrentNode为Nodes[0],调整BaseRuleSet为Counts[0].RuleSet,转(3);
[0242] 如果k=0,则构建子节点Node,其id为对应规则的结论,子节点为空,CurrentNode的子节点指向Node,如果栈为空则推演格构建完毕,否则从栈上分别弹出Count和Node,将CurrentNode调整为Node,将BaseRuleSet调整为Count.RuleSet,转(3)。
[0243] 这样推演格就构建完成。
[0244] 本实施例结合《一种推演格及基于推演格的推理方法》专利中的发明方法,将本发明中的特征集作为其推演格结构中的节点进行推理,提升推理效率。
[0245] 本发明首先通过人工或者使用深度学习和机器学习相关算法,将实体对象划分为简单对象与复合对象;针对同一类别的对象,利用人工或者深度学习、机器学习相关分类算法进行分类,从而构建对象特征,并判断特征的特性(相容或互斥)、相容特性的匹配方式(优先匹配或全匹配);由对象的特征作为推理条件形成推理规则中的前项部分,由Conclusion Base中的结论作为推理规则中的后项部分,推理规则构建完成;在实际构建推理规则的过程中,使用特征的标识(ID)进行搜索匹配与推理,增加推理规则构建的效率,便于统一管理,减少知识库的维护工作。上述方法能清晰地表达有关领域的各种知识;可以及时发现重复和冲突的知识;有效地解决了结构性知识的表示问题;实现了对事实知识的穷举;便于知识的共享和获取。
[0246] 本发明将特征作为推理的条件并建立关于特征标识(ID)的推理规则,解决了因知识库规则数量太多而导致的一致性问题。同时,本发明很好地与《一种推演格及基于推演格的推理方法》发明进行了结合,将特征集标识作为推演格结构中的推理节点,大大提升了其推理和检索效率,同时也解决了关于重复、冲突的规则问题,具备很强的问题求解能力。
[0247] 见图3,本发明设置了关于类型库Type Base、特征库Feature Base、规则库Rule Base、结论库Conclusion Base以及算法库Algorithm Base。算法库、类型库、特征库、规则库以及结论库共同组成系统的知识库(Knowledge Base),对推理机起到支撑作用。
[0248] 应当理解的是,本说明书未详细阐述的部分均属于现有技术
[0249] 应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈