基于多源知识的专家系统的实现方法

文档序号:32699294发布日期:2022-12-27 22:06阅读:113来源:国知局
基于多源知识的专家系统的实现方法

1.本发明涉及的是一种专家系统领域领域的技术,具体是一种基于多源知识的专家系统的实现方法。


背景技术:

2.专家系统是一种智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,它能够应用人工智能技术和计算机技术,根据系统中的知识与经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
3.专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成,其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。
4.自从1965年第一个专家系统dendral在美国斯坦福大学问世以来,经过50年的开发,各种专家系统已遍布各个专业领域,涉及到工业、农业、军事以及国民经济的各个部门乃至社会生活的许多方面。
5.早期的专家系统诸如dendral系统(1968年,斯坦福大学费根鲍姆等人)用于推断化学分子结构的专家系统,mycsyma系统(1971年,麻省理工学院)用于数学运算的数学专家系统。其特点是高度的专业化、专门问题求解能力强,但结构和功能不完整、移植性差,且缺乏解释功能。
6.后来专家系统进入了成熟期,出现了诸如mycin系统(斯坦福大学)用于血液感染病诊断,prospector系统(斯坦福研究所)用于探矿,casnet系统(拉特格尔大学)用于青光眼诊断与治疗,am系统(1981年,斯坦福大学)用于模拟人类进行概括、抽象和归纳推理、发现某些数论的概念和定理,hearsay系统(卡内基-梅隆大学)用于语音识别专家系统。这些系统的特点是单学科专业型专家系统;系统结构完整,功能较全面,移植性好;具有推理解释功能,透明性好;采用启发式推理、不精确推理;用产生式规则、框架、语义网络表达知识;用限定性英语进行人-机交互。
7.从80年代至今,专家系统进入了进一步的发展期,出现了xcon(dec公司、卡内基-梅隆大学)用于为vax计算机系统制订硬件配置方案,以及专家系统开发工具,诸如骨架系统(emycin、kas、expert等)、通用型知识表达语言(ops5等)、专家系统开发环境(age等)。
8.目前,我国也研制开发出施肥专家系统(中国科学院合肥智能机械研究所)、新构造找水专家系统(南京大学)、勘探专家系统及油气资源评价专家系统(吉林大学)、服装剪裁专家系统及花布图案设计专家系统(浙江大学)、关幼波肝病诊断专家系统(北京中医学院)等专家系统。
9.尽管专家系统已经在各个领域得到了广泛地应用,并收到良好的效果,但它们解决问题的范围常常受到限制,主要是因为:

知识不足;

解决问题的方法不妥。而且,大部分的专家系统均为针对某一特定领域建立的,一旦越出这一特定领域,系统就有可能无法
再有效地运行。


技术实现要素:

10.本发明针对现有技术存在的上述不足,提出一种基于多源知识的专家系统的实现方法,使得知识库的通用性大大增强;使得知识来源大大拓宽;使得知识推理能力大大增强。
11.本发明是通过以下技术方案实现的:
12.本发明涉及一种基于多源知识的专家系统的实现方法,通过构建知识库并对不同来源的知识分别进行解析并转换为知识库所能识别的格式,然后采集问题输入并对输入问题进行领域判定,并使用领域方法解决问题;再对输入的问题进行推理观察,并根据相似匹配,查询匹配的规则或函数,根据相似匹配得到的规则和函数,进一步地进行完整匹配、生成推理结果、并将推理结果加入知识库中,通过推理收缩删除冗余的、大概率无用的候选推理结果并输出推理机推理的最终结果。
13.本发明涉及一种实现上述方法的系统,包括:知识解析器、知识库、推理引擎、用户界面、输出生成器,其中:知识解析器根据输入的不同种类的知识,分别进行相应的解析处理,并将解析结果转化进入知识库中;知识库利用一种具有通用型知识表达能力的知识模型以存储知识;推理引擎根据用户输入的问题,进行推理,得到推理结果(有可能是推理未能成功的失败结果);用户界面负责与用户交互,交互方式是命令行;输出生成器根据用户输入的指令,将用户指定的对象输出成用户指定的格式。技术效果
14.本发明使用知识图谱+规则+函数作为基本元素实现通用型知识库,利用多种已有的知识提取和知识解析技术解析多种来源的知识,并将解析结果融合进通用型知识库中;将推理机的推理分为简单推理和复杂推理,简单推理使用知识图谱匹配技术查找问题的解,复杂推理使用推理观察-推理扩张-推理收缩的循环过程尝试查找问题的解。
15.与现有技术相比,本发明支持多种知识来源,解决了以往专家系统只能解析单一知识来源的问题,增强了专家系统的易用性和可扩展性;使用复杂推理一定程度上打破了以往专家系统的推理机受领域限制的局限性,使得一部分未被专家系统预先设计的算法覆盖到的问题也能得以被推理机自动解决。
附图说明
16.图1为多来源知识解析流程图;
17.图2为推理机核心流程图;
18.图3为专家系统架构图;
19.图4为逻辑项结构图;
20.图5为专家系统使用流程图。
具体实施方式
21.如图1所示,为本实施例涉及一种基于多源知识的专家系统的实现方法,包括以下步骤:
22.步骤1)构建知识库
23.所述的知识库包括:主知识图谱、规则库、函数库,其中:主知识图谱是一个由节点和关系构成的图,用于描述大量的三元组关系(a,relation,b);规则库由大量规则构成,每条规则均为一个命题,可以有参数,也可以没有。无参数的规则形如ifathen b,有参数的规则形如foreach(x,y,z):ifathen b,其中,a和b各是一个逻辑与项(见图4)。每个逻辑与项由至少一个小知识图谱和零或若干个逻辑或项组成,每个逻辑或项由至少一个逻辑与项组成;函数库由大量函数构成。每个函数由输入参数、局部变量和一串指令构成。每个指令为控制指令(比如return、条件执行),为基本指令(比如加减乘除),为对其他函数的一个调用。函数的默认执行方式是无限循环执行函数体,由return指令跳出函数体的执行。此外,每个函数、每条指令都允许设置起始性质和终止性质,均为一个逻辑与项,用以说明对应函数或指令的起始状态和终止状态。
24.步骤2)对来自知识图谱、图数据库、关系型数据库的知识进行解析并转换为知识库所能识别的格式,便于专家系统进行分析处理,具体包括:
25.2.1)对知识图谱和图数据库的数据,直接进行数据解析,读取出其中所有的三元组关系(a,relation,b),再将这些三元组关系加入知识库的知识图谱中。
26.2.2)对关系型数据库的数据,先进行数据解析,读取出其中所有的关系记录ri(e1,e2,

,en)。对于形如r(a)的记录,将其转换为形如(a,r,null)的三元组关系。对于形如r(a,b)的记录,将其转换为形如(a,r,b)的三元组关系。对于更长的记录r(e1,e2,

,en),将其转换为一组形如(e1,r,e2)、(e1,r,e3)、
……
、(e1,r,en)的三元组关系。再将所有以上转换成的三元组关系加入知识库的知识图谱中。
27.步骤3)对来自xml、json的知识进行解析并转换为知识库所能识别的格式,便于专家系统进行分析处理,具体包括:
28.3.1)对xml格式,首先使用dom(document object model)技术将xml文件解析为dom树,然后识别dom树的节点:将dom树中的知识图谱节点(《kg》)按步骤2.1中知识图谱的解析方法解析成三元组关系并加入知识库的知识图谱中,将dom树中的规则节点(《rule》)按其子节点的标记解析成知识库中的规则,将dom树中的函数节点(《func》)按其子节点的标记解析成知识库中的函数。
29.3.2)对json格式,首先使用有限状态机对json文件进行词法解析,然后对词法解析得到的结果进行自顶向下的语法分析得到json对象树。之后识别对象树的节点:将对象树中的知识图谱对象({kg:

})按步骤2.1中知识图谱的解析方法解析成三元组关系并加入知识库的知识图谱中,将对象树中的规则对象({rule:

})按其子对象的键值对解析成知识库中的规则,将对象树中的函数对象({func:

})按其子对象的键值对解析成知识库中的函数。
30.步骤4)对来自lisp、prolog的知识进行解析并转换为知识库所能识别的格式,便于专家系统进行分析处理,具体包括:
31.4.1)对lisp格式,首先使用有限状态机对lisp文件进行词法解析,然后对词法解析得到的结果进行自顶向下的语法分析得到lisp抽象语法树。然后对lisp抽象语法树进行解析,将lisp函数转换成本发明的知识库的函数库中的函数。
32.4.2)对prolog格式,首先使用有限状态机对prolog文件进行词法解析,然后对词
法解析得到的结果进行自顶向下的语法分析得到prolog抽象语法树。然后对prolog抽象语法树进行解析,将prolog规则转换成本发明的知识库的规则库中的规则。
33.步骤5)采集问题输入:一个问题为证明一个命题(其形式和本发明的知识库的规则库中的规则一致),即是一个证明问题;为给定一组输入参数和一个逻辑与项,要求找到知识库中已有的若干实体(entity)与参数一一匹配,且满足输入的逻辑与项进行参数替换后能被当前知识库所推理得到,即是一个查询问题。举例说明一个证明问题,问题为foreach(x)if x是整数then x是有理数,当知识库中有足够的知识(知识图谱、规则、函数),则应当能得出结论——该命题成立。举例说明一个查询问题,问题为select(a,b):(a,capital_is,b),当知识库中有适当的知识,则应当能找出若干解。
34.比如:(a,b)=(china,beijing),即(china,capital_is,beijing)。具体如何解出输入的问题,则需要以来下面的步骤。
35.步骤6)对输入问题进行领域判定:根据用户输入的问题,遍历知识库中的规则库和函数库,判定该问题是否是领域特定方法可解的。判定方法是根据规则的条件从句(if-clause,是一个逻辑与项)或函数的起始性质(也是一个逻辑与项),对输入的问题进行完全匹配(即用已有实体替换逻辑与项中的参数实体,然后计算参数逻辑与项是否包含于已有逻辑与项中)。当匹配成功,说明知识库中已有某规则或某函数是问题的解法,即直接使用对应规则进行推导,或直接运行对应函数即可得出问题的解,这种情况称为简单推理。当找不出任何匹配,则进入推理机的循环推理流程,这种情况称为复杂推理。
36.步骤7)使用领域方法解决问题:根据步骤6判定的结果,将用户输入的问题交由相应匹配的领域特定方法来解决,即使用对应规则进行推导或运行对应函数。
37.比如:当用户要求求解一道一元二次方程quadeq(3,4,5),则遍历匹配知识库的规则库和函数库,当发现存在解一元二次方程的函数solvequadeq(a,b,c)时,则调用该函数求解输入的一元二次方程,即调用solvequadeq(3,4,5)。
38.步骤8)对输入的问题进行推理观察,并根据相似匹配,查询匹配的规则或函数。由于步骤2判定知识库中没有规则或方法可完全匹配输入的问题,那么推理机还可以不断尝试推理以期获得进展。
39.比如:当知识库中没有求解一元二次方程的规则或函数,那么还可以通过移项、配方的方法求解;当观察到二次项系数为0,那么还可以消去二次项,进而查找一元一次方程的解法。
40.步骤9)根据步骤4相似匹配得到的规则和函数,进一步地进行完整匹配、生成推理结果、并将推理结果加入知识库中。
41.比如:对于求解一元二次方程可以配方时,本步骤则对配方的对应规则或函数进行完全匹配,然后对方程实施相应的配方转换,并将配方后的新方程加入知识库中。由于每个参数均为独立的,所以完全匹配的规模可能非常巨大(为n1*n2*

nm,ni为第i个参数的备选实体数量),匹配时间、匹配结果数量均为组合级增长的,故需要人为设置阈值。本发明设置的阈值为单个规则/函数最大参数数量(6)、单个参数最大备选实体数量(100)、单次匹配成功匹配结果最大数量(100)。
42.步骤10)通过推理收缩删除冗余的、大概率无用的推理结果,避免推理机快速耗尽系统资源而推理进度止步不前。本步骤对生成的实体和关系进行相似匹配,当若干实体(本
发明设置的阈值为10)所拥有的关系及其关系对象是相似的,那么这些实体很可能是冗余的,可以只保留其中一个。对于生成的规则,则两两对其if从句和then从句进行完全匹配,当某一规则完全是另一规则的子集,则删除较弱的规则。对于生成的函数,则两两对其起始性质和终止性质进行完全匹配,当某一函数的性质完全被另一函数覆盖,则删除较弱的函数。
43.步骤11)输出推理机推理的最终结果,即输出步骤3使用规则或调用函数运算出的结果、步骤4观察发现问题已被解决从而输出的结果或步骤4观察发现系统时间资源或空间资源已被耗尽且无法再通过推理收缩腾出系统资源,从而输出的错误信息。最终结果的输出方式可以是任意一种知识来源的输入格式,比如知识图谱、xml、lisp语言等等。
44.本实施例涉及上述方法的专家系统,包括:知识解析器、知识库、推理引擎、用户界面和输出生成器,其中:知识解析器根据输入的不同种类的知识,分别进行相应的解析处理,并将解析结果转化进入知识库中;知识库利用一种具有通用型知识表达能力的知识模型以存储知识;推理引擎根据用户输入的问题,进行推理,得到推理结果;用户界面负责与用户交互,交互方式是命令行;输出生成器根据用户输入的指令,将用户指定的对象输出成用户指定的格式。
45.经过具体实际实验,在windows平台下,运行上述专家系统,能够将知识图谱、关系型数据库、图数据库、xml、json、lisp、prolog等格式的知识成功读取解析并加入知识库,知识库输出的结果显示知识库的内容符合预期;用户的问题以json的格式输入,能发现简单的查询问题运行结果符合预期(查询成功或失败),而复杂的查询问题中的一部分也能运行成功。由于阈值设置得较小,所以问题规模变大后,复杂的查询问题运行失败的比率就非常高。
46.与现有技术相比,本方法使得知识库的通用性大大增强;使得知识来源大大拓宽;使得知识推理能力大大增强。
47.上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1