请输入您要查询的百科知识:

 

词条 KIF
释义

数学家用来描述问题的通用工具是逻辑学。早在维特根斯坦时代,许多数学家、哲学家和计算机科学家都试图使用数理逻辑来清晰而无歧义地定义和描述感兴趣的事情,结果简单逻辑学(如一阶逻辑FOL - First Order Logic)在描述事情方面表现出极大的威力。有些数学家和计算机科学家发现相对简单的逻辑足以用来向人和其它的智能代理描述表示感兴趣的事情和应用,比如简单的具体事实、定义、摘要、推理规则、限制和元知识(关于知识的知识) 等。

1.一阶逻辑

一阶逻辑是用来表示知识的重要方法。一阶逻辑是一种形式语言系统,研究的是假设与结论之间的蕴含关系,即用逻辑的方法研究推理的规律。它可以看成自然语言的一种简化形式。由于它精确、无二义性,所以容易为计算机理解和操作,同时又与自然语言相似,故一阶谓词逻辑系统可以用来表示人类的某些知识。

一阶逻辑作为形式语言存在局限性,其远远不能表示人类自然语言所能表达的全部知识,而人类所认识的知识类比自然语言所能表达的知识类还多。因此一阶逻辑所能表示的知识范围十分有限。从思维推理的角度看,一阶谓词逻辑所体现的逻辑推理规律,只能用来模拟人类的部分逻辑思维现象,也远远不能代表人类逻辑思维的全部。因此各种非规范逻辑的研究很有必要。

2.KIF的作用

KIF(Knowledge Interchange Format)是一种基于一阶逻辑的形式语言,用于各种不同计算机程序之间进行知识交换,由斯坦福大学建立,已经成为建议标准。目前KIF被普遍用在专家系统、数据库和智能代理等领域,其构思不是用来实现人与机器的交互,不同的程序以自身适当的方式将信息展现给用户,如框架、图表和自然语言等。KIF的目的也不在于实现机器内或联系紧密的计算机集群中的知识的内部表示,即使KIF也能够用于上述目的。尤其KIF起到了两种其它语言间的连结纽带和中间语言的作用,例如可以开发翻译程序实现STEP/PDES表示到KIF相应表示的映射,或者相反,当STEP/PDES读取KIF表示的知识库KB时,需要将数据转换成自身内部结构(如特殊的指针结构、数组等),所有计算工作就是以该种结构完成的。如果STEP/PDES程序与其它程序通信,必须将内部数据结构转变成KIF。假设使用语言MSEC开发电子商务应用能为广大用户认识使用,那么就必须同时开发一种翻译程序实现与KIF的互通,这样就可以使用KIF来实现STEP/PDES和MSEC间的通信。为增强知识库中知识的共享与交换,降低通用工具的开发难度,各种知识表示标准和交换协议被先后提出,KIF的作用显得更加重要。

3.KIF中的定义

KIF的定义是极其详细,其中有些细节内容是必须的,而有些是任意的。KIF定义的主要特点:

①KIF语言具有宣布语义 KIF表达式的语义是可以理解的,不需要求助解释程序。在这点上。KIF不同于基于特定以解释程序的语言,如Emycin和Prolog。

②KIF语言是逻辑可理解的 KIF以谓词演算的形式提供任意句子的表达式,其与关系数据库语言和类Prolog语言存在不同。很多关系数据库语言只提供基本元句子,类Prolog语言却必须作用于Horn子句。

③KIF语言提供关于元知识的支持 这样就可以清楚地进行知识表示。并且在不修改语言的情况下引进新的知识表示结构。

4.KIF语义及OKBC

KIF语言基于一阶逻辑,增加了对非单调推理和定义的支持,其语言描述包括语法规范和语义规范。特别需要指出的是,,KIF提供简单数据表示。

KIF核心语义(即没有规则和定义的KIF)与一阶逻辑语义相似,增加了处理非标准运算符的功能,但是通过其格式对基本词汇赋予语义要求模型应适应多种公理模式。尽管KIF核心对一阶逻辑进行了扩展和限制,但是依然保留了一阶逻辑的基本特点,包括简洁和半决定性。KIF(Knowledge Interchange Format)是一种用于在不同计算机系统之间交换知识的面向计算机的一阶语言。当一个计算机系统需要和其它的系统通信时,可通过将其内部的数据结构转换成KIF来实现。作为纯粹的表示语言,KIF并没有包含知识库存取和操作的命令。由斯坦福大学知识系统实验室提出的OKBC(Open Knowledge Base Connectivity)是为存取知识库而设计的协议,它为知识库的操作提供了通用接口。这一接口使应用程序独立于特定的知识表示形式,使开发知识表示系统通用工具成为可能(如图形浏览器和编辑器等)。这是通过定义一套“知识模型”(OKBC Knowledge Model)作为知识表示的中间语言(Interlingua)及其存取操作而实现的。OKBC是对KIF的补充,它侧重于能被大多数知识库支持并具有普遍性的操作,如对框架、槽的操作等。

5.KIF语法简介

和许多计算机为主的语言一样,KIF可比描述为三层结构。第一:基本的语言符号;其次,这些符号可以组成词语;最后,词语可以组成合法的表述。虽然KIF不要求必须以这种方式定义,这种方式却简化了句法描述并在词语的层次上完成了对空格的处理。

nonterminal*表示符号出现零或更多次。nonterminal+表示符号出现一或更多次。space, tab, return, linefeed和page转换为相应的ASCII编码32, 9, 13, 10和12。所有符号使用ASCII字符集的128个字符。

KIF字符使用7位来存储。包括大写字母,小写字母,数字,符号,空格和其他字符。

upper ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

lower ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z

digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

special ::= ! | $ | % | & | * | + | - | . | / | < | = | > | ? | @ | _ | ~ |

white ::= space | tab | return | linefeed | page

initialchar ::= upper | lower

wordchar ::= upper | lower | digit | - | _ | special

character ::= upper | lower | digit | special | white

KIF语言基本内容包括对象、关系和函数等,对象可以是常量和变量,这里常量用小写英文字母a,b,c等表示。KIF中的单个变量通常表示为?x,?y等,x,y是变量名,而序列变量表示@y,y变量名。其关系和函数对应着一阶逻辑中的谓词。KIF中关系函数表达式的格式是(< 关系或函数名> < 参数> *),其中“*”意指可以有多个或没有参数。

关系定义 (Profession ?x a)指x(某人)的身份为a,a是常量,可以是教师、学生等;(Age ?x b)指x(某人)的年龄为b,b为某个整数;(Sex ?x c)指x(某人)的性别c,c取值男或女;(Yearonduty ?x d)指x(某人)的工龄为d,d为某个整数;(Education ?x e)指x(某人)的文化程度为e,e分为大学、中学和小学三档;(Retire ?x)指x已退休。

函数定义 (Great Even ?x ?y)指x >= y。(Add ?x ?y)下面用到此函数,不需要用户定义,KIF语言库已经进行了定义。

6.KIF应用展望

目前为了使计算机程序更好地为人类提供信息等方面的服务,已经开发出了许多关于知识库的应用,就是在网络界也提出了语义Web的概念,实现网络内容的计算机可理解性,所有这些应用的实施都离不开本体的创建,它们可能是使用各自工具通过不同本体语言实现的。正如前所论,这些应用间的通信是借助知识交换格式KIF 来达到的,并且基本上所有的本体语言,如RDF/S和DAML+OIL都提供程度不同的逻辑推理机制以及与一阶逻辑的映射,都提供了对KIF的支持。有理由相信,KIF将在今后的网络应用方面发挥更加巨大的作用。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 15:25:05